**

同样的问题:你的任务是快速找到词级编辑距离最多为1的句子对的数量。两个句子S1和S2编辑距离为1,如果S1可以通过以下方式转换为S2:添加、删除或替换一个字。考虑以下每个字母代表一个单词的句子:

  • S1: ABCD

  • S2: ABXD

  • S3: ABC

  • S4: ABXC

然后对以下句子对的单词编辑距离为1或更小:

  • (S1, S2)

  • (S1, S3)

  • (S2, S4)

  • (S3, S4)

输入数据有9,397,023个句子,每个句子由一个新行分隔,句子ID位于行首。输入数据中的所有句子的长度至少为10个单词。可以使用一种直接的LSH方法(如课堂上教授的Jaccard相似性方法)来解决这个问题,但它不一定是更快的方法。对于编辑距离的详细解释,你可以参考这篇文章Python文本相似性计算之编辑距离详解以获得更多信息。至于如何通过Java来实现句子相似性计算,可以查看句子相似度计算java了解相关代码和方法。

解决方案:尝试使用Java但无济于事。如果你对文本相似性感兴趣,建议参考文本相似性计算的数据分析了解更多相关技术。