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.youkuaiyun.com/fkyyly/article/details/83988036
2 句子与句子之间的匹配
2.1 HashMap(索引)
离线的时候将海量的sentence分词,然后按照词建立索引,key是词,value是sentence list
实时查询的时候将句子分词,然后拿到这个词对应的sentence list,然后将获得的所有sentence list和用户输入的句子计算相似度。
2.2 simhash