【发布时间】:2020-12-22 09:24:19
【问题描述】:
建议/参考链接/代码表示赞赏。
我有一个超过 1500 行的数据。每一行都有一个句子。我正在尝试找出在所有句子中找到最相似句子的最佳方法。
我的尝试
-
我尝试过 K-mean 算法,它将相似的句子分组到一个集群中。但是我发现了一个缺点,我必须通过 K 来创建集群。很难猜出K。我尝试了 elbo 方法来猜测集群,但将所有集群组合在一起是不够的。在这种方法中,我将所有数据分组。我正在寻找与 0.90% 以上相似的数据,应返回 ID。
-
我尝试了余弦相似度,其中我使用
TfidfVectorizer创建矩阵,然后传入余弦相似度。即使这种方法也不能正常工作。
我在寻找什么
我想要一种方法,我可以通过 阈值 示例 0.90 的所有行中彼此相似的 0.90% 以上的数据应作为结果返回。
Data Sample
ID | DESCRIPTION
-----------------------------
10 | Cancel ASN WMS Cancel ASN
11 | MAXPREDO Validation is corect
12 | Move to QC
13 | Cancel ASN WMS Cancel ASN
14 | MAXPREDO Validation is right
15 | Verify files are sent every hours for this interface from Optima
16 | MAXPREDO Validation are correct
17 | Move to QC
18 | Verify files are not sent
预期结果
应使用 ID
获得相似度高达 0.90% 的数据ID | DESCRIPTION
-----------------------------
10 | Cancel ASN WMS Cancel ASN
13 | Cancel ASN WMS Cancel ASN
11 | MAXPREDO Validation is corect # even spelling is not correct
14 | MAXPREDO Validation is right
16 | MAXPREDO Validation are correct
12 | Move to QC
17 | Move to QC
【问题讨论】:
标签: python tensorflow scikit-learn sentence-similarity