检测重复/非常相似的文本段落

Posted

技术标签:

【中文标题】检测重复/非常相似的文本段落【英文标题】:Detecting duplicate/very similar passages of text 【发布时间】:2018-06-19 12:38:26 【问题描述】:

我正在编写一个应用程序,允许用户将引号添加到数据库中,可以通过 Lucene 进行搜索。是使用 TF-IDF 和余弦相似度来确定引用是否与另一个引用非常相似,还是使用 Damerau-Levenshtein 距离更好?

例如

两条路在树林中分道扬镳,我选择了少有人走的那条,这一切都不同了。

树林中有两条路分叉,我选择了少有人走的那条,结果完全不同。

【问题讨论】:

【参考方案1】:

#我觉得你真的不能回答这个问题...

...但您可以尝试类似地构造它们:

可能的方法:

使两个输入都小写! 检查其中一个是否包含另一个,反之亦然 删除不是真正需要的字符。 (“-”或“;”) 您也可以尝试找到一种方法来切换单词直到匹配,但我不会这样做

我发现了这个:

https://en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Levenshtein_distance

【讨论】:

是的,我打算通过 StandardAnalyzer 运行报价,然后进行比较... 我想知道使用 TF-IDF 是否会提供更好的相似性结果(在我展示的示例中)与字符串距离度量...

以上是关于检测重复/非常相似的文本段落的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript获取鼠标悬停的文本[重复]

JavaScript获取鼠标悬停的文本[重复]

使用CSS的圆形文本段落[重复]

在移动视图中段落文本无法正确换行 - (CSS)[重复]

近重复图像检测

相似数据检测算法汇总