我有一个语料库,我在R中使用tm包(并且还在python中使用NLTK镜像相同的脚本)。我和unigram一起工作,但是想要一种解析器来组合通常位于同一个地方的单词 - 就像我想要停止看到" New&# 34;和"约克"当它们一起出现时,在我的数据集中单独分开,并看到这个特定的对表示为"纽约"好像那是一个单词,和其他unigrams一起。
这个过程叫做什么,将有意义的,常见的n-gram转化为与unigrams相同的基础?这不是一件事吗?最后,tm_map
对此会是什么样的?
mydata.corpus <- tm_map(mydata.corpus, fancyfunction)
和/或在python中?
答案 0 :(得分:0)
我最近有一个similar question并玩弄了搭配
这是我选择识别成对搭配单词的解决方案:
from nltk import word_tokenize
from nltk.collocations import *
text = <a long text read in as string string>
tokenized_text = word_tokenize(text)
bigram_measures = nltk.collocations.BigramAssocMeasures(tokenized_text)
finder = BigramCollocationFinder.from_words()
scored = finder.score_ngrams(bigram_measures.raw_freq)
sorted(scored, key=lambda s: s[1], reverse=True)