Q
阻塞的逆過程
6
A
回答
4
理論上不可能從詞幹中恢復特定單詞,因爲一個詞幹可能對許多詞。根據您的應用程序,一種可能性是構建一個莖的數據庫,每個莖映射到一個由數個單詞組成的數組。但是,你需要預測哪一個詞適合重新轉換。
作爲一個非常天真地解決了這個問題,如果你知道這個詞的標籤,你可以嘗試儲存的話,在你的數據庫中的標籤:
run:
NN: runner
VBG: running
VBZ: runs
然後,給定幹「運行」標籤「神經網絡」,你可以確定「跑步者」是在這種情況下最可能的詞。當然,這個解決方案並不完美。值得注意的是,你需要處理這樣的事實:相同的單詞形式可能在不同的上下文中以不同的方式標記。但請記住,解決此問題的任何嘗試都至多是一種近似。
編輯:從下面的評論,它看起來像你可能想使用詞形而不是詞幹。下面是如何使用Stanford Core NLP tools將文字的引理:
import java.util.*;
import edu.stanford.nlp.pipeline.*;
import edu.stanford.nlp.ling.*;
import edu.stanford.nlp.ling.CoreAnnotations.*;
Properties props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, lemma");
pipeline = new StanfordCoreNLP(props, false);
String text = "Hello, world!";
Annotation document = pipeline.process(text);
for(CoreMap sentence: document.get(SentencesAnnotation.class)) {
for(CoreLabel token: sentence.get(TokensAnnotation.class)) {
String word = token.get(TextAnnotation.class);
String lemma = token.get(LemmaAnnotation.class);
}
}
1
您可能會看到NCI Metathesaurus--雖然主要是生物醫學,但它們提供了自然語言處理的示例以及一些Java的開源工具集,您可能會通過瀏覽其代碼來發現它們。
2
您提到的問題包含一個經常被忽略的重要信息。你所需要的就是所謂的「lemmatisation」 - 將折彎的單詞縮減爲規範形式。它與詞幹相關但不同,仍然是一個開放的研究問題。對於具有更復雜形態的語言而言尤其困難(英語不那麼難)。 Wikipedia有一個你可以嘗試的軟件列表。我使用的另一個工具是TreeTagger - 它的速度非常快,合理準確,但它的主要目的是詞性標註,並且lemmatisation只是一種獎勵。嘗試谷歌搜索「統計lemmatisation」(是的,我對統計vs規則爲基礎的NLP有強烈的感受)
相關問題
- 1. 阻止阻塞的線程阻塞
- 2. Python:非阻塞+未解除阻塞的過程
- 3. 阻塞隊列不阻塞線程?
- 4. 風暴水嘴中的阻塞過程
- 5. 將線程阻塞轉換爲f中的非線程阻塞#
- 6. MessageBeep線程阻塞
- 7. 阻塞線程 - Java
- 8. 非阻塞線程
- 9. Java線程阻塞
- 10. 從powershell啓動非阻塞過程
- 11. mpi:阻塞與非阻塞
- 12. 阻塞或不阻塞(Express.js)
- 13. 阻止Tomcat中的線程阻塞
- 14. 被阻塞超過120秒
- 15. CSS過渡相互阻塞
- 16. 如何取消阻塞ServerSocket.accept()上阻塞的線程?
- 17. 帶延遲的阻塞/非阻塞
- 18. php socket_write通過阻塞和非阻塞套接字
- 19. UIImagePickerController阻塞塞格
- 20. 阻塞,直到過程在微小過程庫中結束
- 21. 阻塞的WebRequest
- 22. 逆過程
- 23. posix線程阻塞信號並解除阻塞
- 24. 網絡阻塞到非阻塞,只有線程作爲選項?
- 25. 如何在Linux中顯示進程狀態(阻塞,非阻塞)
- 26. Kotlin:使用非阻塞I/O阻塞協程
- 27. 設備驅動程序DLL阻塞與非阻塞?
- 28. 阻塞和不阻塞子進程調用
- 29. UI線程被阻塞
- 30. Netty線程被阻塞
等詞語運行做工精細用詞幹。我正在談論像efficieny這樣的詞。有效的詞幹變得沒有意義。我打算實現的目標是將效率轉換爲效率,無論生產效率如何(高效/其他一些詞) – CTsiddharth 2012-02-29 04:28:28
然後,您可能正在尋找詞法化(找到詞的「基本」形式 - 詞典中將列出的詞) ,而不是阻止(找到這個詞的「根」)。一個詞幹可以有很多基本詞 - 「效率」 - >「效率」 - >「效率」是沒有意義的。一個引理恰好對應一個基本單詞:「高效」 - >「高效」,「效率」 - >「效率」,「效率」 - >「效率」。在詞幹中,你失去了變調和基本詞彙。在詞義化中,你只會失去活力。我剛剛在帖子中添加的代碼應該讓你開始使用斯坦福大學的推理工具。 – user2398029 2012-02-29 20:53:26
嗨..請看看這[問題](http://stackoverflow.com/questions/9528080/error-in-stanford-nlp-core#comment12070615_9528080)我的幫助我! – CTsiddharth 2012-03-02 05:49:03