用于组合常见搭配的NLP过程

时间:2013-12-20 19:22:33

标签: python r nlp nltk tm

我有一个语料库,我在R中使用tm包(并且还在python中使用NLTK镜像相同的脚本)。我和unigram一起工作,但是想要一种解析器来组合通常位于同一个地方的单词 - 就像我想要停止看到" New&# 34;和"约克"当它们一起出现时,在我的数据集中单独分开,并看到这个特定的对表示为"纽约"好像那是一个单词,和其他unigrams一起。

这个过程叫做什么,将有意义的,常见的n-gram转化为与unigrams相同的基础?这不是一件事吗?最后,tm_map对此会是什么样的?

mydata.corpus <- tm_map(mydata.corpus, fancyfunction)

和/或在python中?

1 个答案:

答案 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)