algorithm - 匹配两个文档之间的差异

标签 algorithm matching string-matching locality-sensitive-hash textmatching

我有一组字符串及其坐标和矩形边界,位于两个相似的页面中。这些字符串在三种可能的方面有所不同。 (i) 字符串可以移动到页面上的新位置。 (ii) 字符串位于相同位置但已被修改。说( abc --> abd 或 ABC) (iii) (i) 和 (ii) 的组合。 (iv) 可能缺少字符串。

我尝试使用局部敏感哈希,但找不到合适的哈希函数。任何人都可以建议我一个好的哈希函数或其他算法来解决这个问题。提前致谢

最佳答案

因此,我们有一个源字符串列表 S 和一个大小最多为 |S| 的目标字符串 T 列表。我们希望找到一种方法将 T 中的每个字符串分配给 S 中的不同字符串,从而最大限度地减少不匹配字符的总数

(请注意,由于我们正在寻找一种将 TS 匹配的方法,因此 S 中缺少字符串的情况隐式处理)

如果这是对你的问题的准确解释@programer8,我相信这是一个 assignment problem可以通过 Hungarian algorithm 来解决以立方时间为单位:wiki 文章中提到的“workers”是您的目标字符串,“tasks”是源字符串,源字符串和目标字符串之间不匹配的字符数是工作人员执行任务的成本.

唯一的问题是您的工作人员/目标字符串少于任务/源字符串,但您可以通过添加虚拟工作人员来解决这个问题。

关于algorithm - 匹配两个文档之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20464277/

相关文章:

r - 匹配两个不同数据框中的数字

r - 如何在数据框其他列的一列中搜索字符串

c - 对链表进行基数排序

excel - 匹配 excel 中的 2 列以在第 3 列中显示值

c - 从一棵空树开始,用大 O 表示法插入红黑树的复杂度是多少?

r - 在 R 中从 1 个向量创建 2 个向量

algorithm - 使用字符串匹配算法或动态规划对齐音符

unix - 从一个文件中查找另一个文件中的行

algorithm - 我知道合并排序是如何工作的,但合并排序代码是如何工作的?

java - 基于文本搜索的算法未按预期运行