【发布时间】:2013-04-27 15:06:18
【问题描述】:
我需要计算一个文本块 (A) 在另一个文本块 (B) 中有多少。像 soundex 这样的简单算法并没有为我提供很好的结果,因为文本 B 在其中包含不/不应该出现在文本 A 中的其他文本,这让我的数字大吃一惊。我需要确保一定比例的A 在B 内,并忽略对B 的添加。
我首先想到的一个简单算法可能适用于我的情况,将A 拆分为句子,记下句子的总数,然后搜索B 以获取每个句子的实例以提供百分比。虽然这应该可行,但感觉很hacky,而且我敢肯定,比我更聪明的人设计了一种算法,可以根据类似的原理提供更好的计算。
【问题讨论】:
-
有一个完整的分支在做这个,它被称为Plagiarism detection
-
Locality Sensitive Hashing 可能有点矫枉过正,但您可以从中获得灵感。 en.wikipedia.org/wiki/Locality-sensitive_hashing
标签: algorithm text language-agnostic text-comparison