欢迎提供建议/参考链接/代码。
我有一个数据集,其中包含超过1500个句子。我正在尝试找到最佳方法来找出所有句子中最相似的句子。
我尝试过的方法
我尝试了K均值算法,它将相似的句子分组为簇。但是我发现有一个缺点,就是我必须传递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
期望结果
与0.90%相似的上述数据应该以ID为结果。
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