回答
正如你可以在網上看到的那樣,studying和waiting也是名詞(以及動詞的動名詞),所以他們可以像他們自己一樣詞性化並不奇怪。
如果這樣做不能令人滿意,您需要找到更積極的lemmatizer(一個故意忽略完全正確但「不太可能」的單詞解釋),或者如果您可以首先執行基於整個句子,使用一個lemmatizer,可以告訴是否例如studying
的給定實例是動詞而不是名詞。
嗯,是更明智的使用更積極的一個,就像你提到的那樣,就像搬運工幹部,或者首先做一個pos標記。我很擔心這個表現,因爲我需要處理很多文本塊。 – goh 2010-06-09 01:29:28
@goh,POS標記速度不是很快,但它會更準確 - 我猜想你可能不想看到「awn」乾的「awn」。但是,您是否總是會在形式完整的句子中使用這些詞語,或者您是否有時需要孤立地處理它們?如果是後者,那麼積極的詞幹是剩下的...... :-(。 – 2010-06-09 03:28:01
實際上是在做博客分類,我需要從他們的博客內容推斷他們是否來自我的學校,我有幾個博客,我可以開始爬行,其餘的將被分類,我正在做html剝離,然後是詞彙標記,然後是pos標記,過濾除名詞之外的所有詞彙,並對它們進行lemmatify。分類器的功能將是我猜測的名詞。這是一個很好的方法嗎? – goh 2010-06-09 06:40:04
默認情況下,NLTK中的WordNetLemmatizer
假定單詞是NOUN
。看到http://nltk.org/_modules/nltk/stem/wordnet.html
要正確lemmatize動詞,你已經指定pos
(詞性)
>>> from nltk.stem.wordnet import WordNetLemmatizer
>>> wnl = WordNetLemmatizer()
>>> wnl.lemmatize('studying','v')
'study'
>>> wnl.lemmatize('studying','n')
'studying'
>>> wnl.lemmatize('studying')
'studying'
>>> wnl.lemmatize('waiting','n')
'waiting'
>>> wnl.lemmatize('waiting','v')
'wait'
- 1. WORDNET Lemmatizer對於R
- 2. 可以加快Wordnet Lemmatizer的速度嗎?
- 3. 問題與RASP lemmatizer在GATE(使用的是Mac)
- 4. 英文lemmatizer數據庫?
- 5. Fedora 17 Wordnet 3.0安裝問題
- 6. 在asp.net中使用wordnet的問題
- 7. OpenSource Java lemmatizer
- 8. 在紅寶石中使用lemmatizer
- 9. 將wordnet與solr集成
- 10. 使用php的WordNet訪問
- 11. WORDNET數據庫訪問
- 12. NLTK WordNet Lemmatizer:難道它不應該將一個詞的所有變化詞彙化?
- 13. Nltk的詞網lemmatizer不會引起所有單詞
- 14. 無法激活wordnet - 要求'wordnet'失敗
- 15. WordNet 3.1和WordNet 3.0有什麼區別?
- 16. 使用Wordnet Gem - Wordnet :: Lexicon.new給出NameError
- 17. NLTK分類和WordNet與文字Blob
- 18. 使用WordNet與斯坦福德nlp
- 19. 如何訪問nltk/wordnet的Synset對象?
- 20. 如何訪問「頻率計數」 WordNet中的任何Java接口的WordNet
- 21. 問題與PHP foreach問題
- 22. wordnet lemmatization和pos標籤在python
- 23. Python - WordNet NLTK KeyError
- 24. WordNet:遍歷synsets
- 25. Wordnet SQL設置
- 26. NetworkX和Wordnet
- 27. wordnet關係
- 28. Wordnet返回零
- 29. WordNet和HTTP GET
- 30. 用於POS標記和Lemmatizer的多語言NLTK
見http://stackoverflow.com/questions/771918/how-do-i-do-詞幹或詞性化 – stacker 2010-06-08 17:09:56