加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 严格文档相似性的文本相似性函数

发布时间:2020-12-15 08:32:26 所属栏目:Java 来源:网络整理
导读:我正在编写一个 java软件,必须对以UTF-8编码的两个文档的相似性做出最终判断. 这两个文档很可能是相同的,或者彼此略有不同,因为它们有许多共同的特征,如日期,位置,创建者等,但它们的文本决定它们是否真的如此. 我希望这两个文档的文本要么非常相似,要么根本
我正在编写一个 java软件,必须对以UTF-8编码的两个文档的相似性做出最终判断.

这两个文档很可能是相同的,或者彼此略有不同,因为它们有许多共同的特征,如日期,位置,创建者等,但它们的文本决定它们是否真的如此.

我希望这两个文档的文本要么非常相似,要么根本不相似,所以我可以对设置相似性的阈值进行相当严格的规定.例如,我可以说这两个文件只有在他们有90%的共同词时才相似,但我希望有一些更强大的东西,这对短文和长篇文章都有用.

总结一下,我有:

>两个文件,非常相似或完全不相似,但是:
>这两个文件更有可能相似而不是
>文件既可以长(有些段落),也可以短(几句)

我已经尝试了simmetrics,它具有大量的字符串匹配功能,但我最感兴趣的是建议使用可能的算法.

我可能的候选人是:

> Levenshtein:它的输出对于短文更重要
>重叠系数:也许,但它会不同地区分不同长度的文件?

同样考虑两个文本只有在它们完全相同的情况下才能正常工作,因为我希望只有几个单词的文档才能通过相似性测试.

解决方法

Levenshtein距离是一个标准尺度的原因:它易于计算并且易于掌握其含义.如果您对长文档中的字符数保持警惕,则可以在单词或句子甚至段落而不是字符上计算它.由于您希望类似的对非常相似,因此仍然可以正常工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读