我知道如何使用NLTK得到bigram和trigram的搭配,我将它们应用到我自己的语料库中。代码如下。
但我不确定(1)如何得到一个特定单词的搭配?(2) NLTK有基于对数似然比的配置度量吗?
import nltk
from nltk.collocations import *
from nltk.tokenize import word_tokenize
text = "this is a foo bar bar black sheep foo bar bar black sheep foo bar bar black sheep shep bar bar black sentence"
trigram_measures = nltk.collocations.TrigramAssocMeasures()
finder = TrigramCollocationFinder.from_words(word_tokenize(text))
for i in finder.score_ngrams(trigram_measures.pmi):
print i
至于问题2,是的!NLTK在其关联测度中具有似然比。第一个问题仍然没有答案!
http://nltk.org/api/nltk.metrics.html?highlight=likelihood_ratio#nltk.metrics.association.NgramAssocMeasures.likelihood_ratio
请尝试以下代码:
它使用似然度量,并过滤掉不包含“生物”一词的ngram
问题1-尝试:
我们的想法是过滤掉你不想要的东西。这种方法通常用于过滤ngram特定部分中的单词,您可以根据自己的心意对其进行调整。
相关问题 更多 >
编程相关推荐