基于语言模型的问答匹配方法、系统、设备及存储介质与流程

文档序号:18194055发布日期:2019-07-17 05:44阅读:174来源:国知局
基于语言模型的问答匹配方法、系统、设备及存储介质与流程

本发明涉及计算机技术领域,特别涉及一种基于语言模型的问答匹配方法、系统、设备及存储介质。



背景技术:

在当今信息时代,计算机作为信息传递工具已经逐渐在全球范围内普及。随着人工智能的发展,可以让计算机理解语言,并能对用户的对话做出有价值的排序。现有技术中,问答系统一般采用以下两种方法来实现问题与答案的匹配:

(1)问题和答案基于规则的匹配

该方法主要包括字符串匹配查找,正则表达式等,通过编写复杂的正则表达式规则模板,模拟出每一个语境对应的关键词进行匹配关联,若提问句不存在对应的匹配规则,就会得到不靠谱的排序;

(2)基于检索的语料系统,计算词向量

这种方法通过对句子分词后形成词向量,然后根据相似度排序答案,由于算法并没有真正学习利用语言的内在逻辑关系,有可能有的答案者把问题在答案中复制了一遍,但是基于相似度计算会得到很高的相似度,显然不能保证用户体验。



技术实现要素:

本发明要解决的技术问题是为了克服现有技术中基于规则的问答方法需要复杂的正则表达式且答案可能不靠谱,而基于检索的语料系统通过计算问答句之间的词向量相似度,并没有利用语言的内在逻辑关系,答案可能不靠谱的缺陷,提供一种基于语言模型的问答匹配方法、系统、设备及存储介质。

本发明是通过下述技术方案来解决上述技术问题:

本发明提供一种基于语言模型的问答匹配方法,其特点是,包括:

s1、在接收到提问问题后,从提问数据库中获取与所述提问问题匹配的目标问题,然后获取答案数据库中与所述目标问题对应的每个答案数据;

s2、采用语言模型对所述答案数据进行处理,生成相应的文本特征及行为特征,所述行为特征用于表征所述答案数据的状态和属性,其中所述行为特征可以为回答状态、回答问题的用户的客户端类型、问题是否被匿名答案、回答的类型、创建问题的答案到现在的时间、回答修改到现在的时间、回答的点赞数、用户收到问题的次数、用户收到问题消息次数、用户点击提问消息次数、用户回答次数、用户被点赞次数和用户最佳回答次数等特征之中的至少一个。

s3、采用决策树模型计算所述文本特征和所述行为特征,并根据计算结果预测所述答案数据的排序结果。

较佳地,所述决策树模型包括gbdt(gradientboostingdecisiontree,梯度提升决策树)模型。

较佳地,所述语言模型包括n-gram模型(n元统计模型)、神经网络语言模型和循环神经网络,所述步骤s2具体包括:

采用所述n-gram模型将所述答案数据生成相应的答案词向量;

采用所述神经网络语言模型训练所述答案词向量;

采用所述循环神经网络训练所述神经网络语言模型输出的结果以获得所述文本特征及所述行为特征。

较佳地,所述n-gram模型包括skip-gram模型(给定输入词项来预测上下文的一种语言处理模型)。

较佳地,在步骤s3后,所述问答匹配方法还包括:评估所述排序结果的auc(areaundercurve,是roc(receiveroperatingcharacteristic,接收者操作特征)曲线下的面积)指标和/或评估所述排序结果的曝光点击率。

较佳地,在步骤s3后,所述问答匹配方法还包括:将所述排序结果中排序靠前的若干个答案数据推送至用户。

较佳地,在将所述排序结果中排序靠前的若干个答案数据推送至用户的步骤前,所述问答匹配方法还包括:将所述排序结果进行abtest测试(a/b测试)。

较佳地,在将所述排序结果中排序靠前的若干个答案数据推送至用户的步骤后,所述问答匹配方法还包括:

接收用户选取指令;

根据所述选取指令从所述排序结果中选取最佳回答;

对所述最佳回答标记标签。

较佳地,步骤s1具体包括:

在接收到所述提问问题后,采用语言模型对所述提问问题进行处理,生成所述提问问题的问句词向量;

计算所述问句词向量与提问数据库中每一问题对应的词向量的相似度;

将提问数据库中与所述问句词向量的相似度最大的词向量对应的问题作为目标问题;

将答案数据库中与所述目标问题对应的每个答案数据返回。

本发明还提供一种基于语言模型的问答匹配系统,其特点是,包括:获取模块、语言模块和决策树模块;

所述获取模块用于在接收到提问问题后,从提问数据库中获取与所述提问问题匹配的目标问题,还用于获取答案数据库中与所述目标问题对应的每个答案数据;

所述语言模块用于采用语言模型对所述答案数据进行处理,生成相应的文本特征及行为特征,所述行为特征用于表征所述答案数据的状态和属性;

所述决策树模块用于采用决策树模型计算所述文本特征和所述行为特征,并根据计算结果预测所述答案数据的排序结果。

较佳地,所述决策树模型包括gbdt模型。

较佳地,所述语言模型包括n-gram模型、神经网络语言模型和循环神经网络;

所述n-gram模型用于将所述答案数据生成相应的答案词向量;

所述神经网络语言模型用于训练所述答案词向量;

所述循环神经网络用于训练所述神经网络语言模型输出的结果以获得所述文本特征及所述行为特征。

较佳地,所述n-gram模型包括skip-gram模型。

较佳地,所述基于语言模型的问答匹配系统还包括评估模块,所述评估模块用于在所述决策树模型预测出所述排序结果后,评估所述排序结果的auc指标和/或评估所述排序结果的曝光点击率。

较佳地,所述基于语言模型的问答匹配系统还包括推送模块,所述推送模块用于在所述决策树模型预测出所述排序结果后,将所述排序结果中排序靠前的若干个答案数据推送至用户。

较佳地,所述基于语言模型的问答匹配系统还包括abtest模块,所述abtest模块用于将所述排序结果进行abtest测试,然后调用所述推送模块。

较佳地,所述基于语言模型的问答匹配系统还包括标签模块,在调用所述推送模块后,所述标签模块用于接收用户选取指令,根据所述选取指令从所述排序结果中选取最佳回答,对所述最佳回答标记标签。

较佳地,所述获取模块具体包括:词向量生成单元、相似度计算单元和数据返回单元;

所述词向量生成单元用于在接收到所述提问问题后,采用语言模型对所述提问问题进行处理,生成所述提问问题的问句词向量;

所述相似度计算单元用于计算所述问句词向量与提问数据库中每一问题对应的词向量的相似度;

所述数据返回单元用于将提问数据库中与所述问句词向量的相似度最大的词向量对应的问题作为目标问题,还用于将答案数据库中与所述目标问题对应的每个答案数据返回。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特点是,所述处理器执行所述程序时实现上述的基于语言模型的问答匹配方法。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特点是,所述程序被处理器执行时实现上述的基于语言模型的问答匹配方法的步骤。

本发明的积极进步效果在于:本发明提出一种基于语言模型的问答匹配方法、系统、设备及存储介质,通过语言模型提取特征,并采用决策树模型根据特征进行预测排序,可以快速、准确地定位出用户需求,对答案数据进行智能排序,为用户筛选出最想看的答案,提升用户体验。

附图说明

图1为本发明的实施例1的基于语言模型的问答匹配方法的流程图。

图2为本发明的实施例1的基于语言模型的问答匹配方法的步骤s101的流程图。

图3为本发明的实施例1的基于语言模型的问答匹配方法的步骤s102的流程图。

图4为本发明的实施例1的基于语言模型的问答匹配方法的语言模型的流程框图。

图5为本发明的实施例2的基于语言模型的问答匹配方法的流程图。

图6为本发明的实施例3的基于语言模型的问答匹配方法的流程图。

图7为本发明的实施例4的基于语言模型的问答匹配系统的组成示意图。

图8为本发明的实施例5的基于语言模型的问答匹配系统的组成示意图。

图9为本发明的实施例6的基于语言模型的问答匹配系统的组成示意图。

图10为本发明的实施例7的电子设备的硬件结构示意图。

具体实施方式

下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。

实施例1

如图1所示,本实施例涉及的基于语言模型的问答匹配方法,包括:

步骤s101、在接收到提问问题后,从提问数据库中获取与所述提问问题匹配的目标问题,然后获取答案数据库中与所述目标问题对应的每个答案数据。

鉴于信息技术及人工智能的发展,可以通过数据库来满足用户需求,比如一个用户想在电商平台购买某个商品,想了解这个商品一些情况,这时用户可以就这个商品进行发问,然后曾经买过该商品的用户就会收到提问,并可以进行回答,最后答案会返回给提问的用户,这时候用户就可以根据回答者的描述,对自己的购物做出决策。随着提问数据和答案数据的增加,这时就可以将这些提问数据、答案数据相应地建立出提问数据库和答案数据库,这样就将提问问题形成提问数据库内容列表、将答案数据形成答案数据库内容列表,并在提问数据库内容列表中包括该商品相关的一些字段内容,比如用户账号、商品编号、问题最新回复时间、问题答案数、问题是否匿名回答等,以及在答案数据库内容列表中包括针对该商品所作回答的一些字段内容,比如用户答案商品编号、用户答案状态、用户是否匿名回答、用户回答类型、用户回答是否被设置为最佳、用户回答的点赞数等。随着数据库不断积累,可以将用户提问相关的答案返回给提问者。

具体实施时,如图2所示,步骤s101具体可包括:

步骤s101-1、在接收到所述提问问题后,采用语言模型对所述提问问题进行处理,生成所述提问问题的问句词向量。

这里,可以优选如skip-gram模型这样的n-gram模型作为语言模型生成词向量,因为n-gram模型是基于隐马尔科夫的假设,从而可以将语言的内在逻辑关系保留下来,即假设在一段文本中,第n个单词出现的概率只与前面有限的n-1个词语有关,基于这样的假设,就可以将提问问题生成一个表征该提问问题内容的向量,从而将用户使用的自然语言提出的问题以及回答的答案等文本内容转换为可计算的词向量。

步骤s101-2、计算所述问句词向量与提问数据库中每一问题对应的词向量的相似度;

步骤s101-3、将提问数据库中与所述问句词向量的相似度最大的词向量对应的问题作为目标问题;

步骤s101-4、将答案数据库中与所述目标问题对应的每个答案数据返回。

步骤s102、采用语言模型对所述答案数据进行处理,生成相应的文本特征及行为特征,所述行为特征用于表征所述答案数据的状态和属性,其中所述行为特征可以包括回答状态、回答问题的用户的客户端类型、问题是否被匿名答案、回答的类型、创建问题的答案到现在的时间、回答修改到现在的时间、回答的点赞数、用户收到问题的次数、用户收到问题消息次数、用户点击提问消息次数、用户回答次数、用户被点赞次数和用户最佳回答次数等特征之中的至少一个。在具体应用场景的实施时,所述行为特征可以根据应用场景来进行选择设定,各个行为特征的权重值也可以根据实际应用中的重要程度来确定。

具体实施时,为得到这些答案数据与目标问题之间的关联紧密程度,需要采用语言模块对这些答案数据进行特征抽取比如生成文本特征、抽取出答案数据中包含的行为特征,然后还对这些特征加以训练,以获得能更好地表征这些答案数据的特征。这时,如图3所示,步骤s102具体可包括:

步骤s102-1、采用所述n-gram模型将所述答案数据生成相应的答案词向量,这里的n-gram模型可优选skip-gram模型;

步骤s102-2、采用所述神经网络语言模型训练所述答案词向量;

步骤s102-3、采用所述循环神经网络训练所述神经网络语言模型输出的结果以获得所述文本特征及所述行为特征。

这里,语言模型的处理流程框图如图4所示,最下面一层词语为将文本拆分后的一个个词语,词语的上一层神经网络是通过共现矩阵计算的词向量,词向量的上一层用一个激活函数比如sigmoid函数(sigmoid函数常用作神经网络的阈值函数)来做非线性变换,最后通过softmax(softmax为一种函数,常用于作为回归模型)概率预测将输出值归一化成概率,这样模型就可以像一般神经网络一样使用梯度下降算法进行优化,并通过训练得到最优的参数解。

具体实施中,语言模型的主要参数包括:

(1)valid_size:表示测试集中如果计算一个词语的近义词,需要计算的个数是,取值为16;

(2)batch_size:神经网络分批梯度训练时,每一批中需要训练的样本个数,取值为128;

(3)embedding_size:词语转化后的词向量中向量的维度,取值为128;

(4)skip_window:每个词语周围的语境词语个数,取值为1;

(5)num_skips:预测语境词语被使用的次数,取值为2;

(6)神经网络的学习率设为0.05。

s103、采用决策树模型计算所述文本特征和所述行为特征,并根据计算结果预测所述答案数据的排序结果。

具体实施时,决策树模型优选gbdt模型,模型主要参数包括:

(1)算法排序逻辑是分类classification;

(2)优化器的学习速率是learningrate=0.05;

(3)树的迭代棵数是numiterations=50;

(4)树的最大深度是maxdepth=6;

(5)连续特征的分箱数是:maxbins=32。

这样,通过gbdt模型构造多棵树,共同对答案数据进行预测排序。

本实施例中,通过语言模型将文本特征和行为特征结合,然后通过gbdt模型预测出排序结果,使排序结果更符合用户提问,从而可以让用户能看到自己最想看的答案,提高用户体验。

实施例2

如图5所示,在实施例1的基础上,本实施例涉及的基于语言模型的问答匹配方法还包括:

步骤s104、评估所述排序结果的auc指标和/或评估所述排序结果的曝光点击率。

一方面,通过对所述排序结果进行算法评估,即进行auc指标评估,可以获知所述基于语言模型的问答匹配方法的效果,以便于对所述基于语言模型的问答匹配方法进行调参训练。经评估,auc可达到0.836,表明了所述基于语言模型的问答匹配方法取得了非常良好的效果。

另一方,还可通过对所述排序结果进行业务评估,可以获知用户对所述排序结果的曝光点击率,以便于改进所述基于语言模型的问答匹配方法输出的排序结果,提高用户体验。

实施例3

如图6所示,在实施例1的基础上,本实施例涉及的基于语言模型的问答匹配方法还包括:

步骤s105、将所述排序结果进行abtest测试;

步骤s106、将所述排序结果中排序靠前的若干个答案数据推送至用户;

步骤s107-1、接收用户选取指令;

步骤s107-2、根据所述选取指令从所述排序结果中选取最佳回答;

步骤s107-3、对所述最佳回答标记标签。

通过做abtest测试以及收集用户使用反馈,便于改进所述基于语言模型的问答匹配方法,可以为用户提供更具参考价值的排序结果,以提高答案数据的点击转化率,从而提高用户使用体验。

实施例4

如图7所述,本实施例涉及的基于语言模型的问答匹配系统包括获取模块1、语言模块2和决策树模块3,获取模块1用于在接收到提问问题后,从提问数据库中获取与所述提问问题匹配的目标问题,还用于获取答案数据库中与所述目标问题对应的每个答案数据,语言模块2用于采用语言模型对所述答案数据进行处理,生成相应的文本特征及行为特征,所述行为特征用于表征所述答案数据的状态和属性,决策树模块3用于采用决策树模型计算所述文本特征和所述行为特征,并根据计算结果预测所述答案数据的排序结果。

具体实施时,获取模块1包括词向量生成单元11、相似度计算单元12和数据返回单元13,其中词向量生成单元11用于在接收到所述提问问题后,采用语言模型对所述提问问题进行处理,生成所述提问问题的问句词向量,相似度计算单元12用于计算所述问句词向量与提问数据库中每一问题对应的词向量的相似度,数据返回单元13用于将提问数据库中与所述问句词向量的相似度最大的词向量对应的问题作为目标问题,还用于将答案数据库中与所述目标问题对应的每个答案数据返回。

具体实施时,决策树模块3中的决策树模型包括gbdt模型。

具体实施时,语言模块2中的语言模型包括n-gram模型、神经网络语言模型和循环神经网络,其中所述n-gram模型用于将所述答案数据生成相应的答案词向量,这里可优选skip-gram模型;所述神经网络语言模型用于训练所述答案词向量;所述循环神经网络用于训练所述神经网络语言模型输出的结果以获得所述文本特征及所述行为特征。

实施例5

如图8所示,在实施例4的基础上,本实施例涉及的所述基于语言模型的问答匹配系统还包括评估模块4,评估模块4用于在所述决策树模型预测出所述排序结果后,评估所述排序结果的auc指标和/或评估所述排序结果的曝光点击率。一方面,通过对所述排序结果进行算法评估,即进行auc指标评估,可以获知所述基于语言模型的问答匹配方法的效果,以便于对所述基于语言模型的问答匹配方法进行调参训练。另一方,还可通过对所述排序结果进行业务评估,可以获知用户对所述排序结果的曝光点击率,以便于改进所述基于语言模型的问答匹配方法输出的排序结果,提高用户体验。

实施例6

如图9所示,在实施例4的基础上,本实施例涉及的所述基于语言模型的问答匹配系统还包括abtest模块5、推送模块6和标签模块7,其中abtest模块5用于将所述排序结果进行abtest测试,推送模块6用于将所述排序结果中排序靠前的若干个答案数据推送至用户,标签模块7用于接收用户选取指令,根据所述选取指令从所述排序结果中选取最佳回答,对所述最佳回答标记标签。这样通过做abtest测试、向用户推荐答案数据以及收集用户对推荐答案数据的标记反馈情况,系统就可以将这些标记作为答案数据的重要行为特征加以利用,使得这样的答案数据更具有参考价值,从而便于改进所述基于语言模型的问答匹配系统,向用户提供更具参考价值的答案数据,以提高答案数据的点击转化率,提高用户使用体验。

实施例7

本实施例涉及的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例1、实施例2或实施例3所述的基于语言模型的问答匹配方法。

图10为本实施例涉及的电子设备的结构示意图。图10示出了适于用来实现本发明实施方式的示例性的电子设备50的框图。图10显示的电子设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图10所示,电子设备50可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备50的组件可以包括但不限于:上述至少一个处理器51、上述至少一个存储器52、连接不同系统组件(包括存储器52和处理器51)的总线53。

总线53包括数据总线、地址总线和控制总线。

存储器52可以包括易失性存储器,例如随机存取存储器(ram)521和/或高速缓存存储器522,还可以进一步包括只读存储器(rom)523。

存储器52还可以包括具有一组(至少一个)程序模块524的程序工具525,这样的程序模块524包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

处理器51通过运行存储在存储器52中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的基于语言模型的问答匹配方法。

电子设备50也可以与一个或多个外部设备54(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口55进行。并且,电子设备50还可以通过网络适配器56与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信,网络适配器56通过总线53与电子设备50的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

实施例8

本实施例涉及一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1、实施例2或实施例3所述的基于语言模型的问答匹配方法的步骤。

其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。

在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1、实施例2或实施例3所述的基于语言模型的问答匹配方法中的步骤。

其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1