·小PAI导读·
全国知识图谱与语义计算大会(CCKS),是由中国中文信息学会语言与知识计算专委会定期举办的国内知识图谱、语义技术等领域的核心会议。8月24-27日,CCKS在杭州举行。今年,平安寿险首次参与CCKS,凭借在知识图谱领域出色的技术实力,成功入选一篇论文。
该论文聚焦寿险问答系统,基于寿险领域的问答特点,寿险AI构建了包含自有产品、疾病、职业等的异构知识图谱,在该知识图谱基础上实现了保险领域的问答系统。该系统充分利用知识图谱的上下位关系、实体的并列相似性和推理等特性进行更好的召回和更精准的排序。
以下为论文全文。
摘要在目前智能化浪潮当中,传统金融企业正在进行智能化的转型。智能问答系统在金融领域具有迫切的需求,是智能化转型最直接的落地应用点之一。平安寿险每天数以百万的代理人和数以亿计客户进行各种专业业务知识的咨询,而保险问题的专业性极强,如何构建好保险领域的智能问答系统面临较大挑战。目前业界主流问答系统主要采用以下方法:基于问答库检索,阅读理解和知识图谱问答。保险领域问答具有专业性高,涉及面广,产品更新快等特点,知识图谱由于表达能力强,可大规模构建,扩展性好等,在保险领域问答可以发挥很大的价值。我们基于寿险领域的问答特点,构建了平安寿险自有产品、疾病、工种和服务等的异构知识图谱,在该知识图谱基础上实现了保险领域的问答系统。平安寿险问答系统充分利用知识图谱的上下位关系、实体的并列相似性和图结构的推理等特性进行更好的召回和更精准的排序。相比基于问答库检索式的方法,平安寿险智能问答系统在线结果显示,结合知识图谱的方法召回率和准确率上都有显著提升。关键词:问答系统,知识图谱,寿险.
一、介绍在目前智能化浪潮当中,金融+科技成为传统金融行业智能化转型升级的重要战略方向,其中基于智能问答系统是传统行业优化服务流程和提升服务效率转型中最迫切的需求之一。平安人寿保险作为中国第二大保费收入的寿险公司,有着数以百万计的代理人和数以亿计的客户,每天产生大量的各种保险专业业务问题的咨询,智能问答系统代替人工服务能节省大量的人力和财力,并大大提高效率。目前业界主流的智能问答系统搭建方法主要包括以下四种:检索式问答、生成式问答、阅读理解和知识图谱问答。检索式问答
做法是利用信息检索的方法,从问答知识库中检索出最相关的问题对应的答案作为回复,其核心是进行了问题-问题间匹配。基于文本表示的孪生网络(Neculoiuetal.,;huangetal.,)和基于交互式匹配(chenetal.,;chenetal.,)的方法是文本匹配领域的两大主流技术。
生成式问答主流方式是通过Seq2Seq(Sutskeveretal.,,Wangetal.,)模型对用户问题进行编码(encoder),然后解码(decoder)生成回复内容。阅读理解
通过注意力机制使用户问题和文档进行相互理解,然后从文档中抽取合理的片段作为回复内容(Seoetal.,,Yuetal.,)。知识图谱
问答可以通过Sql查询(Berantetal.,),分类(Ferhanetal.,),相似度匹配(Yuetal.,)等方式从知识图谱中直接获取回复;或者通过注意力机制(Heetal.,)或记忆网络(Madottoetal.,)等方式把知识图谱作为先验知识融入到问题表征中来帮助获取更好的回复。
寿险领域问题有如下特点:
专业性强。保险知识和专业术语众多,有些词的字面或语义匹配程度很高,但是在寿险领域却表示了不同的术语,所以基于字面匹配和语义匹配等文本匹配方法很难满足需求;需要知识推理。由于寿险用户问题中经常会涉及到医学和工业等领域名词,单纯的保险知识无法对用户问题进行理解,需要借助大量的医学和工业知识来进行问题推理和答案选取;准确率要求较高。寿险有着严格的投保、核保和理赔规则,如果回复不精准,将会给用户带来巨大的损失并产生大量的用户投诉。基于以上原因,我们构建了百万级别专业的问答库作为基础数据,采用问答库检索式方法实现了寿险问答系统。
但由于问答中涉及到大量的保险产品,疾病,工种和保险术语等专业知识,问答库很难全面的覆盖到所有知识;而知识图谱具有表达能力强,可扩展性好,操作灵活等特点,因此,我们通过构建知识图谱并融入其到问答系统中来共同提升问答系统的效果。
我们的问答系统具有如下特点:
构建了包含平安寿险自有产品、疾病、工种和服务等的包含节点上百万、关系上亿计的异构知识图谱。利用知识图谱的上下位关系、实体的并列相似性等特性,对原始用户问题进行扩展和改写,从而实现更丰富的召回;在排序阶段,融入知识图谱中对应的实体和三元组信息,实现了更精准的排序。排序模块使用WideDeep(Chengetal.,)框架并结合交互式文本匹配模型共同提升系统效果。相比于单纯使用问答库的检索式方法,融合了知识图谱和问答库检索式的方法在召回率和准确率方面都有显著提升。
本文剩下的篇章结构如下:第二部分介绍智能问答系统的相关工作,第三部分介绍平安寿险智能问答系统的流程,第四部分是对应的实验分析,最后一个部分是总结我们的工作和后续规划。
二、相关工作问答系统的发展经历了长期的探索和改进,目前业界比较主流的问答技术包括以下四种:1.基于问答知识库检索式(Wangetal.,;Yanetal.,b;Wuetal.,)其核心是通过相似度计算技术来检索出与问答知识库中与用户问题最相似的问题作为答案。传统的相似度计算方法主要解决字面相似度问题,如BM25,编辑距离,向量空间模型VSM等。由于中文含义的丰富性,深度模型语义匹配模型成了主流方法,其实现大体可以为两类:第一种,基于文本表示(Huangetal.,;shenetal.,;Qiuetal.,),DSSM(Huangetal.,)提出了基于MLP对问题和文档做深度语义表示的模型,然而该模型的输入是文本的bag-of-word,CDSSM(Shenetal.),ARC-I(Huetal.,)模型通过卷积的方式加入上下文信息,Loweetal.,提出了dual-encoder的方式进行语义表示。
第二种,基于文本交互两种方式,ARC-II(Huetal.,)在第一层卷积后就把文本对进行了融合,改进了ARC-I等基于文本表示的模型中监督信号在最后输出层才体现的问题;ABCNN(Yinetal.),ESIM(Chenetal.)模型融入了注意力机制来加强文本对的局部匹配;MVFNN(Shaetal.,),ESIM(Chenetal.)引入语法、句法等多种视图角度建模使进行更精准的匹配。BiMPM(wangetal.,)考虑局部、全局、双向等多个层面进行匹配;腾讯的MIX(chenetal.,)模型在深度学习角度添加了词性和重要性的规则特征。整体来说,基于问答知识库检索式方法回复的答案比较精准、通顺,但是非常依赖大量高质的问答对。2.生成式问答系统
是指基于用户问题在线生成答案。seq2seq是该方向的主流模型(Sutskeveretal.,;Choetal.,),(Mou,Lili,etal.;Yao,Lili,etal.;Xing,Chen,etal.;Wangetal.,)融入问题中关键词、主题信息优化生成式效果。Pointer机制(Seeetal.,;Vinyalsetal.)用概率选择从原文本复制单词或生成新单词,解决OOV问题并保留生成新单词的能力;引入coverage机制(Seeetal.,)来监控生成的词在原文中的覆盖情况,避免重复生成某一部分文本。生成方式问答系统能比较灵活的生成答案,但目前普遍存在答案不通顺或语义不相关的问题。3.阅读理解
是指从文档中检索答案,答案生成方式分为抽取式和生成式两种。Match-Lstm(Wangetal.,)在模型中加入注意力机制对问题和文档建模,并提出使用Pointer模型忽略连续性的抽取词或边界模型抽取一个连续片段作为答案,BiDAF(Seoetal.,)加入了双向注意力机制使问题和文档互相理解,R-net(MSRAetal.,)采用自注意力机制来学习问题的意图和关键部分来提升抽取答案的效果;FastQA(Weissenbornetal.,)和QA-net(Yuetal.,)从性能角度对模型进行了优化。S-net(Tanetal.,)是在R-net基础上使用了多任务训练,先使用抽取式抽取答案再生成答案,R3-net(Wangetal.,)集文档检索和答案生成于一身的方式生成答案。阅读理解的方式能直接从非结构化的文档中抽取答案,但是存在生成的答案不完整和语气生硬的问题。4.知识图谱基于知识图谱的问答系统分为两种:第一种,直接把知识图谱中检索知识作为答案。Berantetal.,将问题转化为机器可以理解的逻辑形式,通过知识图谱查询得出答案;Yaoetal.,通过分类找到对应的候选关系类型进而得出答案;Bordesetal.,通过向量建模的方法将知识图谱中实体和问题中实体映射到同一个向量空间中,通过比较相似度找到答案;深度学习方法(Dongetal.,;Bordesetal.,;Zhangetal.,;Ferhanetal.,)分别把卷积向量建模、记忆网络和注意力机制等技术应用到知识图谱问答方法中。第二种,把知识图谱融入到问题表示中辅助更好的语义理解和回复。Madottoetal.,使用记忆网络存储知识图谱内容,然后利用pointernetwork方式从中选择生成词来提升生成式网络效果;Yangetal.把知识用gate引入LSTM用于补充额外的语义信息;Heetal.,和Annervazetal.,从知识图谱中检索出相关的知识作为先验知识,利用注意力机制融入到问题表示中来辅助问题理解。本文把知识图谱融入到问答知识库检索式的召回和排序模块中用于更精准的给出答案,把知识利用注意力机制融入到百度提出的Simnet框架中来更好地理解问题语义。三、方法介绍
3.1知识图谱构建我们通过寿险保险条款和网站爬取等方式收集数百万条保险知识语料,利用实体抽取工具和关系分类模型自动地从半结构化和无结构化数据中进行实体和关系等结构化信息的抽取,其中实体信息包括保险产品、疾病、职业等实体,关系信息包括上下位、别称等关系,通过知识融合和知识加工后,最后构建出包含数百万个实体和数以亿计关系的高质量知识图谱。知识图谱的部分节点和关系内容如下图1所示。
图1知识图谱结构示例
3.2问答系统介绍
寿险问答系统在检索式问答系统框架的基础上,融入了知识图谱中实体和关系的三元组信息来实现更精准的回复。寿险问答系统的整体框架如下图2所示,首先,预处理模块对问题进行解析和扩展,然后根据扩展问题进行候选匹配问题的多队列召回,最后再结合知识图谱对候选匹配问题进行排序,筛选出和用户问题最相似的匹配问题,最终输出对应的答案作为回复结果。下面针对各个模块进行详细的介绍,为了书写和理解的方便,表1先给出了下文涉及到的符号标签的解释。1.问题解析作为后续召回和排序部分基础,首先对用户问题Qu进行解析:
实体识别:我们使用BILSTM+CRF训练了一个寿险领域的命名实体识别模型,用来对用户问题进行识别,得到实体es;
关系抽取:对于识别出来的实体es,再使用分类和相似度计算方式抽取用户问题中关系类型r。由于用户问题多样性,根据阈值确定是否保留关系类型r。
2.问题扩充由于用户的问题通常呈现出表达口语化和信息不够丰富的问题,为保证系统能够更精准和全面的召回正确答案,我们提出了基于知识图谱的方式对用户问题进行扩充,通过问题中解析出的实体es和关系类型r,使用多种方式扩充和改写用户问题来丰富问题信息。每种扩充类型示例如表2所示:专业知识定义:对于用户问句中抽取出来的关系r,获取与r对应的属性为“定义”的实体eri,通过其相关的专业知识解释进行问句改写,作为问题Qui;上下位关系:获取知识图谱中与实体es关系为“属于”的实体eof,利用上下位关系进行实体替换构造问题Quf;别称:获取知识图谱中与实体es关系为“别名”的实体eoa,基于别称替换可以构成问题Qua。
实体并列相似性:在知识图谱中,实体es存在多种并列关系的实体ess,由于并列(拥有关系类型完全一样,并且上位完全一样)实体存在一定的相似性,因此可形成问题Qus。
3.召回召回模块从问答库中筛选出和用户问题较为相似的匹配问题作为候选问题集。目前召回模块主要采用两种方法:语义召回(semanticretrieval,SR)和倒排召回(termretrieval,TR)。
语义召回:采用语义模型将句子表征成向量形式,通过向量间的距离来衡量句子间的相似度;
倒排召回:针对用户问题中的每个term(词或字粒度)及其重要性,通过两个句子的term匹配的程度来衡量句子间的相似度。
图2问答系统架构图在本问答系统中,我们基于问题扩充的结果,采用了语义召回SR和倒排召回TR召回候选问题集,其中SR索引是根据已训练好的孪生网络模型离线计算问题库的语义表征向量进行构建。对每一种索引,都使用问句扩充模板和用户原问题(4+1)共5种类型的问题进行候选问题召回,根据实验结果对每一类型的问句召回方式赋予不同的权重,以此确定每一类召回方式最终得到的候选问句条数。最终,我们召回了10条队列(5*2),每条队列根据权重有不同的候选条数,对前述10条召回队列进行融合,作为后续排序模块的输入。表1符号解释
表2问题扩充示例
4.排序
为了对上一步召回的结果进一步的筛选和排序,我们在widedeep(Chengetal.,)的框架基础上融入知识图谱信息,并从语义和规则两种维度进行特征融合,达到两种相似度信息互相补充的目的,架构参见图2。
Deepmodel-语义相似度模型我们的语义相似度计算基于百度的simnet框架,在问题表征部分融入知识图谱信息来丰富语义信息(Heetal.,),增强问题的表达能力。
查找三元组知识
从知识图谱中分别查询与用户问题中实体eus有关的所有三元组知识集合Tu={(eus,ri,eoi)
eus∈Qu,ri∈G,eoi∈G,i∈{1,……,N}}和候选问题中实体ecs相关的所有三元组集合Tc={(ecs,rj,eoj)
ecs∈Qc,rj∈G,eoj∈G,j∈{1,……,M}}。
语义表征对问题和对应三元组知识分别使用Bi-Lstm进行语义表征得到用户问题表示s_embu,候选问题表示s_embc,用户问题对应三元组T_embu={t_embuit_embui=Bi-lstm(eus,ri,eoi),i∈{1,……,N}},候选问题对应三元组T_embc={t_embci
t_embci=Bi-lstm(ecs,rj,eoj),j∈{1,……,M}}。三元组知识融合由于每个三元组知识与问题的相关程度不同,使用Attention机制来差异化每个三元组的重要程度。我们使用如下公式来计算每个三元组的权重,加权求和得到三元组知识融合表征C(??_????????,??_????????):
图2排序模块架构图
相似度计算结合问题表征和三元组知识融合表征得到新的问题表示??????_??_????????=[??_????????,C(??_????????,??_????????)]和候选问题表示??????_??_????????,然后计算两部分的语义相似性??(??????_??_????????,??????_??_????????)。LinearModel-规则相似度
这一部分使用多种规则特征补充深度学习语义相似度计算的不足,分别从term重要性、实体匹配、词匹配顺序等多个维度计算相似度得分。
下面列举几种我们构建的规则特征:关键词加权匹配
结合统计和语法信息对用户问题和候选问题中词进行多层次的重要性打分,然后分别从用户问题角度和候选问题角度计算相似度得分,计算如公式(4),其中α和β为可调参数:实体匹配在寿险领域的问题中实体词(保险、疾病、工种等)是问题中非常重要的成分,对能否匹配到正确的候选问起到重要的作用。我们利用知识图谱中实体的各种信息用transE(Bordesetal.,)学习出实体词embedding,采用embedding相似度的方式计算用户问题和候选问题中实体词的匹配程度。Chi-Tf-idf加权匹配由于垂类领域很多重要词出现次数会比较多,导致计算出idf值很低,我们使用chi-square和关键词词典等优化tf-idf的值,然后使用公式(4)计算相似度得分。多query融合用户问题与多个语义相似的候选问题计算相似度。编辑距离/Emd距离/多query融合四、实验
在实验部分,我们主要评估在基于检索式的基础上,在不同模块结合知识图谱后对寿险智能问答系统的召回效果。
评估实验主要分为2个部分,第一部分是评估知识图谱分别应用到召回模块和排序模块后对基线模块的影响效果;第二部分是采用A/Btest的方式评估结合知识图谱后的问答系统与基线系统在端到端的对比效果。
4.1数据本系统是针对寿险领域搭建的智能问答系统,基于平安寿险专业的业务人员和庞大的结构和非机构数据,我们构建了包含数百万个实体和数以亿计关系的高质量知识图谱,知识图谱部分示例如图1所示。并且基于结构化和非结构化数据构建了问答知识库。模型训练和测试分别用了以下3种不同特点的数据集:
问答知识库(A):
问答知识库来源于寿险专业业务人员根据专业知识对标准问题进行人为扩展相似说法或标注相似的问题对,总共收集w问答对。其中90w对相似问题对作为问答系统中预召回和重排序模块中模型的训练集,剩余的10w对相似问题对作为测试集A。
该问答知识库的形式如表3所示,“一级分类”和“二级分类”为了方便问答知识库的维护,“标准问”和“相似问”为专业人员整理的问题,为了方便展示每条只给出一个相似问。表3问答知识库问题示例
user-logtestset(B):该数据集来源于寿险智能问答系统在线用户的真实问题,根据用户问题类型的频次进行分层抽样,最后根据人工标注剔除无效问题,总共收集1w对相似问题对作为测试集B。
knowledge-basetestset(C):
该数据集同样来源于寿险智能问答系统在线用户的真实问题,筛选其中包含知识图谱实体的用户问题,最后人工标注可以用知识图谱中知识来辅助计算相似度的问题对,共收集2k对相似问题对作为测试集C。
4.2召回模块效果评估该部分主要评估语义索引和关键词倒排索引两种方式对使用知识图谱方法进行扩充后问题的召回效果。我们分别对比了知识图谱(KB)对语义索引(SR)部分、知识图谱(KB)对关键词索引(TR)部分的top10和top的召回效果,结果如表4所示。从表中可以看出加入知识图谱召回效果有显著提升,在每个测试集上都有4%左右的提升;特别在测试集C上,融入知识图谱召回后top和top10的召回率都有超过7%的效果提升。结果显示知识图谱能够极大的丰富召回效果,使后续排序能够得到更好的结果。因为关键词索引(TR)召回是基于字面匹配,更依赖知识图谱丰富用户问题信息,实验表明在每种测试集上都会比语义召回提升效果明显。表4召回模块效果评估实验4.3排序模块效果评估该部分主要评估不同的排序模型对召回模块候选集排序后top1/top3的准确率。我们将百度simnet框架计算文本语义相似度作为基线1(D-SIM),使用GBDT融合规则的方式作为基线2(W-RULE),通过widedeep方式融合simnet网络结构加上规则特征的排序算法作为第一个优化模型(W-RULED-SIM),结合知识图谱的排序算法作为第二个优化模型(W-RULED-SIM+KB)。实验对比了这三种方法,结果如表5所示,实验表明结合知识图谱的方式效果提升明显,特别是在测试集C上,都有超过5%个点的提升。表明知识图谱确实能发挥比较大的作用。4.4A/Btest实验该部分主要是通过A/Btest的方式评估在线部署了单纯检索式问答系统以及结合知识图谱的检索式问答系统后,问答系统对在线用户咨询问题的回复效果。我们从用户日志中随机采样5K个有效问题,通过人工标注的方式评估问答系统返回top1准确率来进行对比,对比实验结果如表6所示。实验表明在召回和排序模块加入知识图谱都会有明显的效果提升,但是召回模块效果提升会更明显,因为召回结果的丰富程度能很大的影响最终的效果;在召回和排序两个模块都加入知识图谱效果提升将近7%。表5排序模块效果对比评估实验
表6A/Btest实验效果4.5匹配效果为了更直观的说明融入知识图谱对效果的影响,表7通过一些真实的示例来展示效果。“用户问”表示真实的用户请求;“匹配问”表示寿险问答系统匹配到的问题知识库中的标准问。
表7匹配效果展示五、结论在本篇论文中我们在基于问答库检索式的问答系统的基础上,通过使用知识图谱丰富召回和使用注意力机制方式把知识图谱融入排序模块的方式,大大提升了问答系统的效果。
接下来我们将继续扩大寿险知识图谱的构建范围,使其能覆盖到更多的用户问题;把知识图谱应用到召回的语义模型中,继续通过丰富召回模块的结果提升整体问答系统效果;探索直接使用知识图谱问答直接使用知识图谱三元组知识作为回复的技术。Reference:
[1]YelongShen,XiaodongHeetal.ALatentSemanticModelwithConvolutionalPoolingStructureforInformationRetrieval.CIKM().
[2]WenpengYin,HinrichSchütze,BingXiang,BowenZhou.ABCNN:AttentionBasedConvolutionalNeuralNetworkforModelingSentencePairs.TACL().
[3]LSha,XZhang,FQian,BChang,ZSui.AMulti-ViewFusionNeuralNetworkforAnswerSelection[C].AAAI().
[4]PaulNeculoiu,MaartenVersteeghandMihaiRotaru.LearningTextSimilaritywithSiameseRecurrentNetworks.ACL().
[5]Po-SenHuang,XiaodongHe,JianfengGao,LiDeng,AlexAcero,LarryHeck.LearningDeepStructuredSemanticModelsforWebSearchusingClickthroughData.ACM().
[6]ZhiguoWang,WaelHamza,RaduFlorian.BilateralMulti-PerspectiveMatchingforNaturalLanguageSentences.IJCAI().
[7]QianChen,XiaodanZhu,ZhenhuaLing,SiWei,HuiJiang,DianaInkpen.EnhancedLSTMforNaturalLanguageInference.ACL().
[8]HaolanChen,FredX.Han,DiNiu.MIX:Multi-ChannelInformationCrossingforTextMatching.KDD()
[9]ShizhuHe,CaoLiu,KangLiuandJunZhao.GeneratingNaturalAnswersbyIncorporatingCopyingandRetrievingMechanismsinSequence-to-SequenceLearning.ACL().
[10]AntoineBordes,NicolasUsunier,AlbertoGarcia-Duran.TranslatingEmbeddingsforModelingMulti-relationalData.NIPS().
[11]Heng-TzeCheng,LeventKoc,JeremiahHarmsen.WideDeepLearningforRe