我想通过计算大字来分析一篇文章。不幸的是,我的文本中有很多重复的单词(比如:hello-hello),我不想被算作bigrams
我的代码如下:
b = nltk.collocations.BigramCollocationFinder.from_words('this this is is a a test test'.split())
b.ngram_fd.keys()
这将返回:
>> dict_keys([('this', 'this'), ('this', 'is'), ('is', 'is'), ('is', 'a'), ('a', 'a'), ('a', 'test'), ('test', 'test')])
但我希望输出为:
>> [('a', 'test'), ('is', 'a'), ('this', 'is')]
你有什么建议,也可以使用不同的图书馆吗? 提前感谢您的帮助。 弗朗西丝卡
您可以在传递到函数
nltk.collocations.BigramCollocationFinder.from_words
之前删除重复的单词然后做:
尝试:
编辑:如果文本存储在数据框中,则可以执行以下操作:
这首先将包含bigram的列添加到数据帧,然后打印列值。如果只希望输出而不操纵
df
,请将最后两行替换为:相关问题 更多 >
编程相关推荐