智能问答系统:问句预处理、检索和深度语义匹配技术 您所在的位置:网站首页 语义错误举例解析 智能问答系统:问句预处理、检索和深度语义匹配技术

智能问答系统:问句预处理、检索和深度语义匹配技术

#智能问答系统:问句预处理、检索和深度语义匹配技术| 来源: 网络整理| 查看: 265

更多干货内容敬请关注「平安寿险PAI」(公众号ID:PAL-AI),文末有本期分享内容资料获取方式。

智能问答系统是人机交互的核心技术之一,常见的应用场景主要是智慧客服。通过构建该系统,机器人可以快速找到与用户问题相匹配的答案并自动回答,从而大大减少企业的人力成本;除了提供专业领域的问答功能外,还可实现闲聊、私人助手等问答服务。

尽管业界在智能问答领域已经取得了令人瞩目的成就,但是智能问答系统还远未完美,在知识获取和对用户问句理解等核心技术上仍有较大的提升空间。

3月14日,由平安寿险AI团队在Paper Weekly直播间进行的主题为「智能问答系统」的技术分享,由资深算法工程师谢舒翼主讲,其内容分5个部分:

寿险的智能问答系统整体框架介绍 问句预处理核心技术 检索和深度语义匹配技术 基于深度学习的问答排序算法介绍 算法效果评估方案

分享老师:谢舒翼

平安人寿智能平台团队资深算法工程师。北航计算机系本硕,ACMer,Topcoder,多次获得各类编程赛冠军、数学竞赛一等奖。曾在百度、MSRA实习,任职于阿里巴巴,现为平安寿险人工智能研发团队资深算法工程师,主要研究方向为智能问答系统、知识图谱、NLP 相关算法。

以下是根据本期技术分享内容整理的文字稿。

一、框架介绍

首先介绍平安人寿智能问答引擎算法架构,如下图: 在这里插入图片描述 从问题输入开始,这里包括用户的问题以及语境中心提供上下文,其中包含用户的历史对话信息以及一些关于用户意图的结构化数据。

用户的问题输入后,首先进入预处理模块。在预处理模块里,分词、词性标注、实体识别都是比较成熟的技术,配合业务专用名词词典,我们采用Hanlp工具来做;多意图识别则用分类来做,主要处理用户一句话里有多个问题的意图,并给予不同的回答;问句改写主要是对保险名词的缩写和全称做改写;情感分析主要是通过句法分析去判断用户的话语是肯定意图或是否定意图。

预处理结束后,会进入检索模块。如果预处理经过纠错和问句改写,就会是多个query并行进入检索,触发ES字面检索和深度语义匹配。经过这两个检索模块得到的答案后,我们会从知识库以及Redis本地存储,把答案拿到后做多路结果归并。然后简单计算字面得分、语义得分、关键词得分,编辑距离作为LR的feature。

还有保险实体对齐,主要是重要名词、疾病、地区等的对齐。在排序模块里,比如用户问的问题是关于A保险,匹配的答案是B保险,处理的方式是在实体对齐的时候把答案去除,剩余的答案会做深度语义精排。

排序后,就进入输出模块。在输出模块里,有直接问输出、推荐问输出等,如果阈值比较低,还会做问句澄清。在输出模块,关联问可能会用到用户画像。

二、问句预处理核心技术

1. 长难句

为什么需要做长难句?因为用户在进行语音输入时,可能会提交一段很长的话(如下图示例),而一般在知识库里检索的标准问其实是比较精短的。用比较长的用户问题去匹配一个比较短的问题,算法上存在一定困难,因此我们会进行长难句的句子压缩。 在这里插入图片描述 做长难句的句子压缩比较直观的一种方法是语法树分析+关键词典。

第一步,通过标点或空格分割长句成若干个短句,然后对短句分类,去掉口水语句。 第二步,基于概率和句法分析的句子压缩方案,只保留主谓宾等核心句子成分。配合保险关键词典,确保关键词被保留。

关于句子压缩通用的方法分为两种:一种是抽取式(extractive),另一种是生成式(abstractive)。

从传统的TextRank抽取式,到深度学习中采用RNN、CNN单元处理,再引入Attention、Self-Attention、机器生成摘要的方式,这些方式跟人类思维越来越像,都建立在对整段句子的理解之上。与此同时,生成摘要的效果,也常常令人惊艳。

抽取式:即压缩之后的句子,所有的成分都来自原来用户提问的句子。 生成式:主要基于带有Attention模型的seq2seq实现的。简单描述的话,它可以被看作一个概率模型。概率模型可以确定哪些词保留、删除或被改写。这里用到copynet和pointer-generate这两个思路,去解决OOV和低频词的问题,效果比较显著。

去年ByteCup赛题是对文章生成摘要,其中冠军方案是基于transformer去做的。该方案在原先的transformer的Encoder端加了NER和POS特征,得到了较好的效果。 在这里插入图片描述

2. 纠错

纠错模块主要是为了处理用户输入出现错别字的情况,因为错别字可能会对后面的模型识别造成影响,所以需要先进行纠错动作。

比较直观的做法是基于字典和规则的纠错。在寿险的业务场景里,保险名词是非常重要的,所以基于字典主要指的是是基于保险关键词的字典。

如下图例子,“在背景哪里可以买一生保”,其中“一”(应为“e”)是一个错别字。根据字典可以将这个错别字纠出来,但“背景”(应为“北京”)在此之中是无法被纠错的。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有