gpt4 book ai didi

text - 具有 TF-IDF 权重的余弦相似度的系统阈值

转载 作者:行者123 更新时间:2023-12-04 16:34:50 28 4
gpt4 key购买 nike

我正在对数千个(例如 10,000 个)文本文档进行分析。我已经计算了 TF-IDF 权重并有一个具有成对余弦相似性的矩阵。我想将文档视为图表来分析各种属性(例如,分隔文档组的路径长度)并将连接可视化为网络。

问题是有太多相似之处。大多数都太小而没有意义。我看到很多人通过将所有相似性降低到特定阈值以下来处理这个问题,例如,相似性低于 0.5。

但是,0.5(或 0.6,或 0.7 等)是一个任意阈值,我正在寻找更客观或更系统的技术来消除微小的相似性。

我对许多不同的策略持开放态度。例如,tf-idf 是否有不同的替代方案可以使大多数小的相似性为 0?其他方法只保留重要的相似之处?

最佳答案

简而言之,取初始聚类甚至所有初始句子的平均余弦值,并根据类似于以下内容的内容接受或拒绝聚类。

看待问题的一种方法是尝试根据与平均相似度的距离(1.5 个标准差(如果数据正常,则为 86%)倾向于标记异常值,其中 3(99.9%)是极端值离群值),以高端为好衡量标准。我不记得出处了,但这个想法在其他论坛中受到了关注,并构成了我相似的基础。

请记住,数据不太可能呈正态分布。

average(cosine_similarities)+alpha*standard_deviation(cosine_similarities)

为了获得 alpha,您可以使用 Wu Palmer scoreanother score如 NLTK 所述。与 Wu Palmer 的强烈相似性应该会导致更大的接受范围,而较低的 Wu Palmer 分数应该会导致更严格的接受。因此,建议取 1-Wu Palmer 分数。您甚至可以将此方法用于 LSA 或 LDA 组。为了更严格并采取接近 1.5 或更多标准差的方法,您甚至可以尝试 1+Wu Palmer(裁剪的精华),重新找到最终的 K,找到新的分数,聚类,然后重复。

不过要注意,这意味着要找到所有相关词的 Wu Palmer,这是一个相当大的计算问题。此外,与大多数算法相比,10000 份文档只是小菜一碟。我见过的最小推文是 15,000,而 20 个新闻组集是 20,000 个文档。我很确定 Alchemy API使用类似于 20 个新闻组集的内容。他们肯定使用senti-wordnet。

基本方程不是我的,所以随意挖掘它。

要记住的另一件事是计算是时间密集型的。使用学生 t 值来估计 SOV 配对的预期值/平均 wu-palmer 分数可能是一个好主意,如果您尝试获取整个句子,则特别好。 java/scala 的 Commons Math3 包括发行版,python 和 R 的 scipy 也应该已经有一些东西。
Xbar +/- tsub(alpha/2)*sample_std/sqrt(sample_size)

注意:此重量还有另一种选择。您可以使用一种算法来增加或减少此阈值,直到获得最佳结果。这可能不仅仅与余弦重要性有关,还可能与 Tibshirani's gap statistic 中的拐点或间隙有关。 .

关于text - 具有 TF-IDF 权重的余弦相似度的系统阈值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28882302/

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