【发布时间】:2019-07-12 09:28:17
【问题描述】:
我尝试分析文本并计算文本中的单词数量。但我需要不同形式的每个单词都算作一个单词。 例如:
document = "I your hand. I see your hands."
见 = 2 脸 = 2 我知道如何将单词带入字典形式。
document = "I saw your face I see your faces"
sentences = nltk.word_tokenize(document)
lemmatizer = WordNetLemmatizer()
for key, val in freq.items():
print(lemmatizer.lemmatize(key.lower(), pos="v"))
我有这个 我看到了你的脸 我看到了你的脸 我看见 您的 脸 看 脸
看起来不错。除了锯 一个词可以是不同的词性。 like saw 是动词的过去式和名词,单数。 所以我需要添加词性标签。
document = "I saw your face I see your faces"
sentences = nltk.sent_tokenize(document)
taggeDocument = nltk.pos_tag(nltk.word_tokenize(document))
for sent in sentences:
print(nltk.pos_tag(nltk.word_tokenize(sent)))
现在我已经标记了文本。但我不知道如何将单词转换为字典形式。
我想要的: 最后我想要这样的东西 ('我','PRP',2), ('见', 'VBP',2), '脸', 'NN', 2), 等等。 提前致谢。
【问题讨论】:
-
您想要的是将同一动词的不同语法形式简化为单个规范表示。这就是所谓的词干。在您的 NLTK 文档中查找 stemming。
-
感谢您的提示。是的,我想标记词性,而不是将每个单词简化为规范形式,然后计算它在文本中出现的次数。事实上,我想分析一段文字并找到我不知道的单词。