【发布时间】:2018-03-01 20:34:20
【问题描述】:
我使用棕色语料库“brown.words()”,它为我提供了 1161192 个单词的列表。
现在我想找到任何出现的单词“have”,所以只要在语料库中有一个“has”、“had”、“haven't”等。我想做点什么(可以将它们推入一个数组,可以是一个计数器,也可以是别的东西。
编辑:请注意,这个问题是关于查找匹配的单词。如果我搜索“有”,我想要一种方法将其与“没有”或“有”相匹配,因此 .count() 无法解决此问题,因为它无助于匹配任何内容.
我将使用的示例代码,以防词干/词形还原起作用:
def findWordFamily(findWord):
wordFamily = []
lmtzr = WordNetLemmatizer()
findWord = lmtzr.lemmatize(findWord)
for word in brown.words():
lemma = lmtzr.lemmatize(word)
if lemma == findWord:
wordFamily.append(word)
return wordFamily
print(findWordFamily("have"))
# ["have", "have", "had", "having","haven't", "having"]
但问题是:
for word in brown.words():
lemma = lmtzr.lemmatize(word)
# if word is "having" lemma also is "having" instead of "have"
【问题讨论】:
-
你有没有费心阅读这个问题? .count() 没用,因为我不想数,我想要一种匹配方式
-
嗨@MichaelBaumgarn到目前为止你尝试了什么?
-
我更新了问题
标签: python nltk corpus stemming lemmatization