智能问答初识

1. 智能问答的一般实现步骤包括:1)文本库分词,训练模型,由模型将文本库转换为词向量;2)将词向量与索引进行存储;3)输入检索文本,将检索文本分词转换为词向量,计算检索文本词向量与词向量库的相似度,并进行排序,返回top n。

2.Milvus 与BERT 

Milvus 是一款开源向量相似度搜索引擎,建立在 Faiss、NMSLIB、Annoy  等向量索引库基础之上,Milvus 集成了这些向量索引库,对外提供了一套简单而一致的 API 。除了提供针对向量的近实时搜索能力外,Milvus 可以对标量数据进行过滤。

BERT 模型是 Google 发布的一个新的语言表达模型(Language Representation Model),全称是 Bidirectional Encoder Representations from Transformers,即双向编码表征模型。1)简单全连接网络取代了复杂的 CNN 和 RNN 网络;2)不但大大减少了训练时间,同时有效地提升了网络性能。是第一个真正捕获上下文语义信息的预训练语言表示模型。

3. 参考博客[1]实现了一种智能问答,步骤如下

1)使用开源的 bert-as-service ,使用 BERT 做为句子编码器,将新闻标题数据转化为固定长度为 728 维的特征向量,并导入 Milvus 库。2)对存入 Milvus 库中的特征向量进行存储并建立索引,同时 Milvus 会给这些特征向量分配一个 ID,将 ID 和对应的新闻标题和文本存储在 PostgreSQL 中。3)最后,用户输入一个新闻标题,BERT 将其转成特征向量。Milvus 对特征向量进行相似度检索,得到相似的新闻标题的 ID ,在 PostgreSQL  中找出 ID 对应的新闻标题和文本返回。在后续界面展示中可以看到新闻文本搜索的一个例子。

参考:Milvus 实战 | Milvus 与 BERT 搭建文本搜索

你可能感兴趣的:(智能问答初识)