【问题标题】:Detecting duplicate/very similar passages of text检测重复/非常相似的文本段落
【发布时间】:2023-03-20 22:25:02
【问题描述】:

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

例如

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

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

【问题讨论】:

    标签: java lucene text-classification document-classification


    【解决方案1】:

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

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

    可能的方法:

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

    我发现了这个:

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

    【讨论】:

    • 是的,我打算通过 StandardAnalyzer 运行报价,然后进行比较...
    • 我想知道使用 TF-IDF 是否会提供更好的相似性结果(在我展示的示例中)与字符串距离度量...
    猜你喜欢
    • 2015-07-28
    • 1970-01-01
    • 2011-04-16
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多