电话实现大规模姓名匹配02
上一讲,我们讲到通过ner命名实体识别,实现信息提取。
当我们分析完用户说的话,提取出对应的名称,接下来就是问题的重中之重。
如果用户说的内容asr翻译的是李命薄,或者用户不记得对方名字,只有他的昵称。鸵鸟。我们如何去解决这类问题。
多种方案
1:使用es做相似查询搜索
es及elasticsearch,熟悉es的人清楚,es将文本内容解析成token之后,使用倒排索引方式存储。
如果我们使用es进行相似匹配,效果可能不好,因为姓名此类,如何使用分词呢?按字分词检索?
2:使用词向量来做相似匹配。
我个人采用词向量方式。
什么是词向量,embedding 最近大模型爆火,很多人使用chatgpt,或者其他开源大模型时候,经常接触embedding。就是将文本转化为可以计算的向量。
词向量-可以使用对汉字的词向量,方式很多。
可以调用chatgpt的embedding接口
可以使用bert-embedding方式,甚至可以使用Word2vec等等经典方式处理。
解析出对应的embedding向量之后,将向量存储起来,形成embedding库