2017-01-23 45 views
1

如何區分function/structure words and content/lexical words功能對比內容詞

我已經在使用StanfordCoreNLP,所以我想利用它,如果可能的話。

更具體地說,我應該使用哪個annotator以及它會如何標記內容/詞彙?

我試過pos但它沒有區分功能和內容的話。

PS。我使用lemma註釋器來獲取我想要忽略的單詞。

PPS。我使用pyconlp

+0

如果您使用來自GitHub的Stanford CoreNLP版本,我們會使用它發佈停用詞列表。它在這個路徑:https://github.com/stanfordnlp/CoreNLP/blob/master/data/edu/stanford/nlp/patterns/surface/stopwords.txt – StanfordNLPHelp

+0

這個鏈接顯示了一個在Java中使用API​​的例子:http ://stanfordnlp.github.io/CoreNLP/api.html – StanfordNLPHelp

+0

所以你可以做的一件事是遍歷令牌,看看它們是否在停用詞表中。 – StanfordNLPHelp

回答

0

功能詞(停用詞)通常是手動策劃的,因爲它們因域而異。您可以在NLTK中找到一個通用列表。 CoreNLP也有一個here

from nltk.corpus import stopwords 
stops = stopwords.words('english') 

但是,你還是應該看看他們,看看是否適合你使用的情況下,他們是有意義的。我最近一直在使用技術語言,因此我從列表中刪除了「它」,因爲「IT」是該域中的首字母縮略詞,因此也是一個內容詞。

對於您的註釋器,您可以使用通用的TokenizerAnnotator將您的文本分割爲「單詞」。然後,您可以檢查每個單詞以查看它是否存在於您的停用詞列表中。如果您正在使用字符串,只需嘗試將它們分割爲空白字符,並將停用詞標記爲腸道檢查。