gpt4 book ai didi

python - 为什么不是所有的二元组都是在 gensim 的 `Phrases` 工具中创建的?

转载 作者:行者123 更新时间:2023-12-01 06:26:41 25 4
gpt4 key购买 nike

我使用 gensim 创建了一个二元模型,并尝试获取二元句子,但它没有选择所有二元句子,为什么?

from gensim.models.phrases import Phrases, Phraser
phrases = Phrases(sentences, min_count=1, threshold=1)
bigram_model = Phraser(phrases)
sent = [u'the', u'mayor', u'of', u'new', u'york', u'was', u'there']
print(bigram_model[sent])
[u'the', u'mayor', u'of', u'new_york', u'was', u'there']

谁能解释一下如何获得所有二元组。

为什么只有“new_york”而不是“the_mayor”等?

最佳答案

短语算法通过统计分析来决定将哪些单词对提升为二元组,该统计分析将每个单词的基本频率单独与它们一起的频率进行比较。

因此,某些单词对将通过此测试并被组合,而其他单词对则不会。如果您没有获得预期的配对,那么您可以使用 Phrases 类选项稍微调整算法,包括 thresholdmin_count、以及至少一种替代评分机制。

但是,即使进行了最大程度的调整,它通常也不会创建我们作为自然语言使用者所感知的所有短语,因为它对语法一无所知,也不了解世界上实际逻辑相关的实体。它只知道训练文本中的频率统计。

因此,它会错过一些我们认为自然且理想的配对,而它创建的配对我们会认为不合逻辑。尽管如此,即使存在这些不美观的配对(创建对人们来说看起来不正确的文本),转换后的文本通常可以在某些下游分类或信息检索任务中更好地工作。

如果您真的只想要所有可能的二元组,那么这将是一个更简单的文本转换,不需要 gensim 的短语的多次传递和内部统计数据收集。

而且,如果您确实想使用 gensim 的 Phrases 技术,它只有在拥有大量训练数据时才会表现良好。只有几十个字甚至数万字的玩具大小的文本不会产生好的结果。您希望数百万到数千万个训练单词有机会真正检测到统计上有效的单词配对。

关于python - 为什么不是所有的二元组都是在 gensim 的 `Phrases` 工具中创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60108919/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com