【发布时间】:2011-09-07 01:50:09
【问题描述】:
我有数以万计的短文档,每个文档包含 10 到 20 个英文句子(以及其他一些非句子内容,例如可能是 HTML 格式或其他“垃圾”)。这些文档是从其他较长的文档中删除的——换句话说,较短的文档“A1”可能是原始文档“A”的第 10 到 20 句,而另一个较短的文档“A2”可能是同一文档原始文档的第 11 到 25 句“A”,并且一些原始源文件可能是其他原始源文件的摘要或副本,因此原始源文件“B”也可能有原始源文件“A”的第 10 到 20 句,尽管不一定在相同的位置。同一组句子可能已经从“B”中提取到另一个短文档“B3”中。
对于每个句子,或者至少每个句子超过一定长度(例如,> 3 个单词长),我想生成一个包含该句子的每个短文档的列表。我想扫描现有的更短的文档并生成该索引,并在我将更长的原始源文档分解为更短的文档时更新该索引。
我在想我需要一些代码来为一个句子生成一个有效的哈希码,它为两个不同的句子生成相同哈希码的可能性非常低。 Java String.hashCode() 中使用的哈希算法是一个不错的选择吗? MD5 或其他加密散列似乎对于此目的来说太昂贵且过度杀伤力。
【问题讨论】: