从常见的二元组/三元组创建标记

时间:2015-02-16 18:57:54

标签: python machine-learning nlp nltk

假设我有字符串:

"HMG-CoA reductase is a rate-limiting enzyme. HMG-CoA reductase is the primary enzyme in cholesterol synthesis."

我想计算字符串中令牌的频率。但是,我希望'HMG-CoA reductase'成为一个令牌(即,我不想要单个词'HMG-Coa''reductase'的频率。

我认为一个好的方法是创建一个双字母组列表:

[HMG-CoA reductase, reductase is, ..., cholesterol synthesis]

和三卦

[HMG-CoA reductase is, ..., in cholesterol synthesis]

然后计算每个n-gram列表的元素的频率。如果bigram或trigram列表的一个元素接近(高于某个阈值)unigram列表中元素的频率,那么我会知道bigram或trigram,而不是unigram,是我的标记' 。

我想在大量非结构化文本数据上执行此操作。它是相当标准的文字。我的方法的一个问题是我需要任意设置阈值。 NLTK中是否已有用于解决此问题的库,或者是否有人知道常用方法?

0 个答案:

没有答案