我正在使用 Gensim 短语来识别文本中的重要 n 元语法,如下所示。
bigram = Phrases(documents, min_count=5)
trigram = Phrases(bigram[documents], min_count=5)
for sent in documents:
bigrams_ = bigram[sent]
trigrams_ = trigram[bigram[sent]]
但是,这会检测到无趣的 n-gram,例如特殊问题
、重要事项
、高风险
等。我对以下内容特别感兴趣检测文本中的概念,例如机器学习、人机交互等。
有没有办法阻止短语检测无趣的 n-gram,正如我在上面的示例中提到的那样?
最佳答案
Phrases
有一个可配置的threshold
参数,用于调整将单词对提升为短语的统计截止值。 (阈值越大意味着成为短语的对越少。)
您可以对其进行调整,以尝试使其更大比例的推广短语符合您自己对“有趣”短语的临时直觉 - 但本类(class)仍然使用相当粗糙的方法,没有任何语法或领域知识之外的意识语料库中有什么。因此,任何获得您想要的所有/大部分短语的值都可能包含许多无趣的短语,反之亦然。
如果您先验地知道某些词组很重要,您可以在基于搭配统计的短语
之前(或代替)自行预处理语料库,将它们组合成单个标记> 过程。
关于python - Gensim 短语用于过滤 n 元语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47735393/