lucene 按照匹配度排序_FAQ检索式问答系统及文本匹配计算

2c03929f35381454041fbc5519e0d482.png

导读: 本文主要介绍NLP中文本匹配计算相关内容,以及其在FAQ技术上的应用,期望通过本文简要介绍能够对该领域相关技术有基本的了解。

一、基本概念

文本匹配:计算文本之间的相似度,主要分为两大类:

1)基于句子向量表示的相似度模型(适合初始召回);

2)基于词级别匹配的相似度模型(适合对召回结果重排)

问答系统:信息检索的一种高级形式,能够更加准确地理解用户用自然语言提出的问题,并通过检索语料库、知识图谱或问答知识库返回简洁、准确的匹配答案。相较于搜索引擎,问答系统能更好地理解用户提问的真实意图, 进一步能更有效地满足用户的信息需求。问答系统处理的对象主要是用户的问题和答案,根据问题所属的知识领域,问答系统可分为面向限定域、面向开放域和面向常用问题集的问答系统。根据答案的来源可分为基于结构化数据的问答系统(如kbqa),基于文本的问答系统(如阅读理解),基于问答对的问答系统(如FAQ)。按照答案的反馈机制划分,可分为基于检索式的问答系统和基于生成式的问答系统。

FAQ:(Frequently asked Questions),是检索式问答系统。通常情况是给定标准问题库,系统需要将用户输入的query匹配用户最想问的问题上。用户输入的query通常是短文本,标准问题库是一个封闭的集合。每个标准问题都有固定答案和标题,同时会有多个扩展问法和关键词。模型所需要解决的是给定query,找到标准问题里用户最接受的答案。

在该场景中,文本匹配是计算query和扩展问法之间的相似度来代表query和标准问题的相似程度,排序后输出topk作为匹配的结果。具体如下图所示:

35b5c7857728cb61b5f547e06b46ced1.png

其中,Qi是知识库中的标准问题,Ai是其对应的标准答案。

二、文本匹配模型

FAQ问答系统通常有两种思路:1)相似问题匹配,即计算用户问题与现有知识库中的问题的相似度,返回用户问题对应的最精准的答案;2)问题答案匹配,即计算用户问题与知识库中答案的匹配度,返回用户问题对应的最精准的答案,该思路是选择答案,及QA匹配。在这两种思路中都需要用到文本匹配计算。

2.1模型介绍

基于表示的相似度模型

基本思路是:先将句子向量化,再做相似度。不同地方在于1)所有句子的向量化网络;2)输入token表征;3)给定句子向量计算相似度(matching score)

框架图:

db6dc26673da4c71c877095a8cb15a8d.png

其中, emb可以是简单的word embedding,也可以是word embedding+char-cnn,sent2vec可以是简单的word average, 也可以是cnn,lstm等。matching 可以是cosine,dot,或者输出scalar score的mlp。

d00bff60ee9fcc0407b5ed85d6773620.png

在训练过程中,多种loss 供选择,当只有正样本时,margin loss(high loss),二分类时,cross entropy loss。不同类别数据集:point wise正负例数据。pair wise数据(同召回同点击数据,query-doc点击数据)

基于matching的相似度模型

大多数模型框架也是类似的:基本都会使用attention做匹配。通常包括context modeling,matching,matching 聚合。不同的地方在于:1.context modeling 不一样;2.matching 聚合所用网络结构不一样本。其中context modeling通常是LSTM或者CNN等。word level matching通常采用word by word attention机制,matching聚合网络可选类别较多。常用模型:ESIM,具体如下图:

42f9dccfcdfde4e3c811f15bcc72fea4.png

其网络结果如下图所示:

09d13247376c05b9602e660044b0c4d6.png

其中,下方为两个bi-lstm

基于matching的相似度模型-bert

bert大规模无监督训练+transformer,下游fine-tune预训练模型。输入query+扩展问法(ext title)拼接成一个sequence送入bert进行交互式match。context+matching同时进行。

训练过程:输入为两句子,二分类模型判断同义概率及相似程度。训练需要质量较高的业务正负例数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值