1. 程式人生 > >海量文字相似度匹配

海量文字相似度匹配

1 詞與詞之間的匹配(主要用於分詞,單詞補全,模板匹配)

1.1 一對一

KMP

1.2一對多

字首樹

1.3多對多

給一個字典,再給一個m長的文字(m長的文本里麵包含很多的詞),問這個文本里出現了字典裡的哪些字。

1.3.1 方法一:使用HashMap複雜度是O(maxLengh(word)*length(str))這樣和字典的大小沒有關係

1.3.2 方法二:AC自動機

https://blog.csdn.net/fkyyly/article/details/83988036

2 句子與句子之間的匹配

2.1 HashMap(索引)

離線的時候將海量的sentence分詞,然後按照詞建立索引,key是詞,value是sentence list

實時查詢的時候將句子分詞,然後拿到這個詞對應的sentence list,然後將獲得的所有sentence list和使用者輸入的句子計算相似度。

2.2 simhash

https://blog.csdn.net/fkyyly/article/details/84503313