python - Gensim 短语用于过滤 n 元语法

标签 python nlp word2vec gensim

我正在使用 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/

相关文章:

python - 使用 sklearn 计算关键字频率仅产生零计数

android - 质量检查系统词库

python - 我应该如何解释 gensim 的 Doc2Vec 函数中的 "size"参数?

python - 如何使用 gensim 的 word2vec 模型与 python 计算句子相似度

python - 在没有 Snakefile 的情况下执行 snakemake 工作流

python - 用Python提取科学论文信息?

nlp - 斯坦福关系提取器自定义模型仅选择关系实体的一个标记

python - Gensim Word2vec : Semantic Similarity

python - 如何将在不同进程中完成的 SQLite 数据库更改通知进程?

jquery - 使用 PiL 对 HTML/CSS 进行截图