C#的局部保留哈希函数

时间:2013-10-20 04:29:52

标签: c# hash bioinformatics locality-sensitive-hash

我需要为C#保留一个局部性保留哈希函数实现(或者可能是替代解决方案)。我想找出一种方法,使用相似性阈值将字符串(即,有时稍微不同长度的相似基因序列标记)映射到相同的桶中。例如,如果两个基因序列标记具有的Levenshtein编辑距离<1。指定的阈值5,10,25等...我想将它们分配到同一个桶/类别。但是,我不能使用编辑距离,因为事先不知道令牌类别,并且计算是相当大的开销。我需要一个非常有效的局部性保留哈希函数(或替代解决方案),这将允许我根据阈值确定最接近哈希值的桶,或者当一个足够接近的桶不存在时创建一个新桶。到目前为止,我甚至没有能够在C#中保留一个局部性保留散列函数实现,只有出版物。我想在尝试自己编写之前我会问。

1 个答案:

答案 0 :(得分:0)

一些语音算法(例如http://en.wikipedia.org/wiki/Soundex)可以提供帮助。

它基本上将单词转换为描述其发音的字符数组。它可以用于搜索类似的单词。同样重要的是,这些算法是特定的语言(人类语言,而不是编程语言)。