首页 / 专利库 / 人工智能 / 人工智能 / 机器学习 / 人工神经网络 / 前馈神经网络 / 深度神经网络 / 卷积神经网络 / 应答确定方法、装置、设备、介质和系统

应答确定方法、装置、设备、介质和系统

阅读:0发布:2021-06-07

专利汇可以提供应答确定方法、装置、设备、介质和系统专利检索,专利查询,专利分析的服务。并且本 申请 实施例 公开了一种应答确定方法、装置、设备、介质和系统,用以提高对用户输入的语句的响应速度。所述应答确定方法,包括:接收用户输入的语句;计算所述用户输入的语句与 知识库 中至少一个问题语句的相似度,并计算所述用户输入的语句与所述知识库中至少一个应答语句的匹配度;其中,所述知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句;基于所述用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在所述知识库中确定针对所述用户输入语句的应答语句。,下面是应答确定方法、装置、设备、介质和系统专利的具体信息内容。

1.一种应答确定方法,其特征在于,所述方法包括:
接收用户输入的语句;
计算所述用户输入的语句与知识库中至少一个问题语句的相似度,并计算所述用户输入的语句与所述知识库中至少一个应答语句的匹配度;其中,所述知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句;
基于所述用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在所述知识库中确定针对所述用户输入语句的应答语句。
2.根据权利要求1所述的方法,其特征在于,所述在所述知识库中确定针对所述用户输入语句的应答语句,包括:
基于所述用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,利用逻辑回归算法计算所述用户输入的语句与所述知识库中每个问答对的相似值,得到每个问答对对应的相似值;
确定所述相似值中最大相似值对应的问答对,并将所述最大相似值对应的问答对中包括的应答语句确定为针对所述用户输入语句的应答语句。
3.根据权利要求1所述的方法,其特征在于,所述在所述知识库中确定针对所述用户输入语句的应答语句,包括:
基于所述用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,利用逻辑回归算法计算所述用户输入的语句与所述知识库中每个问答对的相似值,得到每个问答对对应的相似值;
针对所述知识库中的每一应答语句,对包含所述每一应答语句的所有问答对对应的相似值进行求和,得到所述每一应答语句对应的评分值;
将所述评分值中最大评分值对应的应答语句确定为针对所述用户输入语句的应答语句。
4.根据权利要求1所述的方法,其特征在于,所述计算所述用户输入的语句与知识库中至少一个问题语句的相似度,包括:
对所述用户输入的语句进行分词处理,得到所述用户输入的语句对应的词语集合;
对所述词语集合中的每个词语进行词向量编码;
基于所述用户输入的语句的词向量编码和所述知识库中至少一个问题语句的词向量编码,利用基于词向量的文档相似度WMD算法计算所述用户输入的语句与所述知识库中至少一个问题语句的WMD相似度;
将所述WMD相似度作为所述相似度。
5.根据权利要求1所述的方法,其特征在于,所述计算所述用户输入的语句与所述知识库中至少一个应答语句的匹配度,包括:
对所述用户输入的语句进行分词处理,得到所述用户输入的语句对应的词语集合;
对所述词语集合中的每个词语进行词向量编码;
基于所述用户输入的语句的词向量编码和所述知识库中至少一个应答语句的词向量编码,采用卷积神经网络CNN分别对所述用户输入的语句和所述知识库中至少一个应答语句进行编码,得到所述用户输入的语句的编码和所述知识库中至少一个应答语句的编码;
根据所述用户输入的语句的编码和所述知识库中至少一个应答语句的编码,计算所述用户输入的语句与所述知识库中至少一个应答语句的匹配度。
6.根据权利要求4或5所述方法,其特征在于,所述对所述词语集合中的每个词语进行词向量编码,包括:
删除所述词语集合中的停用词和介词;
对删除停用词和介词之后的词语集合中的每个词语进行词向量编码。
7.根据权利要求1所述的方法,其特征在于,所述接收用户输入的语句,包括:
接收用户以文本形式和/或语音形式输入的语句。
8.一种应答确定方法,其特征在于,所述方法包括:
将用于表达用户所提问题的语句输入至服务器
接收所述服务器返回的应答语句,其中,所述应答语句是所述服务器基于所述输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度在知识库中确定的,所述知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句。
9.一种应答确定装置,其特征在于,所述装置包括:
接收模,用于接收用户输入的语句;
计算模块,用于计算所述用户输入的语句与知识库中至少一个问题语句的相似度,并计算所述用户输入的语句与所述知识库中至少一个应答语句的匹配度;其中,所述知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句;
处理模块,用于基于所述用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在所述知识库中确定针对所述用户输入语句的应答语句。
10.一种应答确定装置,其特征在于,包括:
发送模块,用于将用于表达所提问题的语句输入至服务器;
接收模块,用于接收所述服务器返回的应答语句,其中,所述应答语句是所述服务器基于所述输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度在知识库中确定的,所述知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句。
11.一种应答确定设备,其特征在于,包括存储器和处理器;所述存储器用于储存有可执行程序代码;所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求
1-7中任意一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求1-7中任一项所述的方法。
13.一种应答确定设备,其特征在于,包括存储器和处理器;所述存储器用于储存有可执行程序代码;所述处理器用于读取所述存储器中存储的可执行程序代码以执行权利要求
8所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,当所述计算机程序指令被处理器执行时实现如权利要求8所述的方法。
15.一种应答确定系统,其特征在于,所述应答确定系统包括至少一个用户客户端和至少一个应答服务器;其中,
所述用户客户端用于将表达用户所提问题的语句输入至所述应答服务器;
所述应答服务器,用于接收用户客户端输入的语句,计算所述用户客户端输入的语句与知识库中至少一个问题语句的相似度,计算所述用户客户端输入的语句与所述知识库中至少一个应答语句的匹配度,并基于所述用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在所述知识库中确定针对所述用户输入语句的应答语句,将确定出的应答语句发送至所述用户客户端,其中,所述知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句;
所述用户客户端还用于接收所述应答服务器返回的应答语句。

说明书全文

应答确定方法、装置、设备、介质和系统

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种应答确定方法、装置、设备、介质和系统。

背景技术

[0002] 大部分网站或者应用程序中,均提供有咨询问答服务。现有的咨询问答服务大致可分为两类,一类是通用领域或者某一领域的用户咨询服务,例如,知乎、百度知道等;另一类是提供辅助咨询服务以帮助用户更好的了解和使用服务,例如,电子商务网站中的售卖商品咨询等。
[0003] 目前,在提供咨询问答服务时,多采用人工问答服务的方式进行。具体来说,由用户自主选择目标领域,并输入提问的问题。咨询答复系统根据用户选定的领域,将用户输入的问题发送给相应领域的专家或者客服人员,由专家或者客服人员对用户输入的问题进行作答。在专家或者客服人员作答之后,咨询服务系统将专家或者客服人员的回答反馈给用户。
[0004] 上述方案中,所有用户提出的问题均需要发送给相应领域的专家或者客服人员予以作答,当提问的用户数量较多时,难以对所有用户均给予快速的反馈。
[0005] 申请内容
[0006] 本申请实施例提供了一种应答确定方法、装置、设备、介质和系统,用以提高对用户输入的语句的响应速度。
[0007] 根据本申请实施例的第一方面,提供一种应答确定方法,包括:
[0008] 接收用户输入的语句;
[0009] 计算用户输入的语句与知识库中至少一个问题语句的相似度,并计算用户输入的语句与知识库中至少一个应答语句的匹配度;其中,知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句;
[0010] 基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在知识库中确定针对用户输入语句的应答语句。
[0011] 根据本申请实施例的第二方面,提供一种应答确定方法,包括:
[0012] 将用于表达用户所提问题的语句输入至服务器
[0013] 接收服务器返回的应答语句,其中,应答语句是服务器基于输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度在知识库中确定的,知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句。
[0014] 根据本申请实施例的第三方面,提供一种应答确定装置,包括:
[0015] 接收模,用于接收用户输入的语句;
[0016] 计算模块,用于计算用户输入的语句与知识库中至少一个问题语句的相似度,并计算用户输入的语句与知识库中至少一个应答语句的匹配度;其中,知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句;
[0017] 处理模块,用于基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在知识库中确定针对用户输入语句的应答语句。
[0018] 根据本申请实施例的第四方面,提供一种应答确定装置,包括:
[0019] 发送模块,用于将用于表达所提问题的语句输入至服务器;
[0020] 接收模块,用于接收服务器返回的应答语句,其中,应答语句是服务器基于输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度在知识库中确定的,知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句。
[0021] 根据本申请实施例的第五方面,提供一种应答确定设备,包括:存储器和处理器;该存储器用于储存有可执行程序代码;该处理器用于读取存储器中存储的可执行程序代码以执行上述第一方面的应答确定方法。
[0022] 根据本申请实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现上述第一方面的应答确定方法。
[0023] 根据本申请实施例的第七方面,提供一种应答确定设备,包括:存储器和处理器;该存储器用于储存有可执行程序代码;该处理器用于读取存储器中存储的可执行程序代码以执行上述第二方面的应答确定方法。
[0024] 根据本申请实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现上述第二方面的应答确定方法。
[0025] 根据本申请实施例的第九方面,提供一种应答确定系统,包括:至少一个用户客户端和至少一个应答服务器;其中,
[0026] 用户客户端用于将表达用户所提问题的语句输入至应答服务器;
[0027] 应答服务器,用于接收用户客户端输入的语句,计算用户客户端输入的语句与知识库中至少一个问题语句的相似度,计算用户客户端输入的语句与知识库中至少一个应答语句的匹配度,并基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在知识库中确定针对用户输入语句的应答语句,将确定出的应答语句发送至用户客户端,其中,知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句;
[0028] 用户客户端还用于接收应答服务器返回的应答语句。
[0029] 根据本申请实施例中的应答确定方法、装置、设备、介质和系统,在接收用户输入的语句之后,通过计算用户输入的语句与知识库中至少一个问题语句的相似度,计算用户输入的语句与知识库中至少一个应答语句的匹配度,从而能够基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在知识库中确定针对用户输入语句的应答语句,进而使用确定出的应答语句作为对用户输入的语句的应答,无需将用户输入的语句发送给相应领域的专家或者客服人员进行作答,从而能够提高对用户输入的语句的响应速度。附图说明
[0030] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031] 图1示出了根据本申请实施例的应答确定方法的应用场景的示意图;
[0032] 图2示出了根据本申请实施例的一种应答确定方法的流程示意图;
[0033] 图3示出了根据本申请实施例的另一种应答确定方法的流程示意图;
[0034] 图4示出了根据本申请实施例的一种应答确定装置的结构示意图;
[0035] 图5示出了根据本申请实施例的另一种应答确定装置的结构示意图;
[0036] 图6示出了能够实现根据本申请实施例的应答确定方法和装置的计算设备的示例性硬件架构的结构图。

具体实施方式

[0037] 下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本申请,并不被配置为限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
[0038] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0039] 参见图1,图1是本申请实施例提供的应答确定方法的应用场景,可以包括:用户客户端100和应答服务器200,用户客户端100与应答服务器200可通过蓝牙、短距离通信、蜂窝移动网、无线局域网或者其他通信方式进行通信。当然,实际中可以有一个或多个用户客户端100。
[0040] 在一个实施方式中,用户客户端100可以是可移动设备。例如,可以是手机、平板电脑等。用户客户端100还可以是桌面设备,例如:一体机等。
[0041] 用户咨询某一领域的问题,或者购买商品进行商品咨询时,可以通过用户客户端100选择相应的领域,并输入所要咨询的问题,也即用户在用户客户端100中通过输入语句的方式描述其所要咨询的问题,然后通过网络将输入的语句发送至应答服务器200。当然,用户在用户客户端100中输入语句时,可以使用文本形式输入,也可以采用语音形式进行输入,本申请对此不做限定。
[0042] 传统方案中,应答服务器200接收到用户输入的语句时,将用户输入的语句发送至相应领域的专家或者客服人员,由专家或者客服人员对用户输入的语句进行作答。专家或者客服人员对用户输入的语句作答之后,将应答语句发送至应答服务器200。应答服务器200将专家或者客服人员的应答语句转发至用户客户端100,对用户输入的语句进行应答。
[0043] 上述方案中,应答服务器200接收到用户输入的语句之后,均需要将用户输入的语句发送给相应领域的专家或者客服人员予以作答,当输入语句的用户数量较多时,难以对所有用户输入的语句均给予快速的响应。
[0044] 为了提高对用户输入的语句的响应速度,本申请实施例在应答服务器200中预先构建并存储包括多个问答对的知识库,每个问答对中包括一个问题语句和一个应答语句。应答服务器200接收用户输入的语句之后,基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在预先存储的知识库中确定针对用户输入语句的应答语句,并使用确定出的应答语句作为对用户输入的语句的应答,从而无需将用户输入的语句发送给相应领域的专家或者客服人员进行作答,提高对用户输入的语句的响应速度。
[0045] 在一个实施方式中,应答服务器200可以通过网页抓取的方式或者从用户提问日志中提取的方式,采集问题语句和应答语句组成问答对,然后基于采集的多个问答对构建知识库。当然,在基于采集的多个问答对构建知识库之前,还可以对采集到的多个问答对进行清洗,以删除错误或者无效的问答对。
[0046] 在一个示例中,预先采集的多个问答对可能涉及多个不同的领域,则在知识库中存储多个问答对时,可以按领域进行分类存储。另外,若同一应答语句与多个问题语句相对应,则在知识库中存储多个问答对时,也可将多个问题语句与一个应答语句存储为一个问答对。
[0047] 在一个实施方式中,应答服务器200接收用户输入的语句之后,计算用户输入的语句与知识库中至少一个问题语句的相似度。
[0048] 在一个示例中,应答服务器200计算用户输入的语句与知识库中每个问题语句的相似度,可以采用基于词向量的文档相似度(Word Mover’s Distance,WMD)算法,计算用户输入的语句与知识库中每个问题语句的WMD相似度,并将计算得到的WMD相似度作为用户输入的语句与知识库中每个问题语句的相似度。
[0049] 举例来说,假设用户输入的语句为Q,知识库中的一个问题语句为P,计算用户输入的语句Q与问题语句P的WMD相似度时,先对用户输入的语句Q和问题语句P进行分词处理,得到用户输入的语句Q对应的词语集合Q1和问题语句P对应的词语集合P1。然后删除词语集合Q1和词语集合P1中的停用词和介词,并对删除停用词和介词之后的词语集合Q1和删除停用词和介词之后的词语集合P1进行词向量编码,得到用户输入的语句Q的词向量编码Q={q1,q2,…qi…,qn},其中,qi为用户输入的语句Q中第i个词语的词向量编码,同时得到问题语句P的词向量编码P={p1,p2,…pj,…,pn},其中,pj为问题语句P中第j个词语的词向量编码。
[0050] 在计算得到用户输入的语句Q的词向量编码和问题语句P的词向量编码之后,基于用户输入的语句Q的词向量编码和问题语句P的词向量编码,采用词频-逆向文件频率(Term Frequency–Inverse Document Frequency,TF-IDF)算法计算每个词在对应语句中的权重。具体可采用如下公式(1)进行计算。
[0051]
[0052] 其中,wi为词语i在其所在语句中的权重,ni为词语i在其所在语句中出现的次数,nq为词语i所在语句的总词数,N为知识库中总的语句数量,Nw为知识库中包含词语i的语句数量。
[0053] 然后计算用户输入的语句Q和问题语句P中任意两个词之间的欧氏距离。具体可采用如下公式(2)进行计算。
[0054] dij=||qi-pj||2   (2)
[0055] 其中,dij为词语qi和pj之间的欧氏距离,qi为用户输入的语句Q中任一词向量编码,pj为问题语句P中任一词向量编码。
[0056] 最后,建立如公式(3)所示的优化模型。
[0057]
[0058] 其中,SIMscore为用户输入的语句Q与问题语句P之间的WMD相似度,dij为词语qi和pj之间的欧氏距离,Tij表示词语i与词语j之间的转换量。
[0059] 上述公式(3)在满足约束条件(4)和约束条件(5)的情况下,所得到的最优值(或者最小值)即为用户输入的语句Q与问题语句P之间的WMD相似度。其中,约束条件(4)和约束条件(5)如下所示。
[0060]
[0061]
[0062] 其中,Tij表示词语i与词语j之间的转换量,wi为用户输入的语句Q中词语i的权重,wj为问题语句P中词语j的权重。
[0063] 从上述示例中可以看出,针对每个用户输入的语句,应答服务器200计算用户输入的语句与知识库中每个问题语句的相似度时,均需要对知识库中的每个问题语句进行分词,并进行词向量编码。
[0064] 在一个实施方式中,为了减小计算量,进一步提高对用户输入的语句的响应速度,应答服务器200还可以预先存储知识库中每个问题语句的词向量编码。应答服务器200计算用户输入的语句与知识库中每个问题语句的相似度时,只需对用户输入的语句进行分词处理以及词向量编码,即可基于用户输入的语句的词向量编码和知识库中每个问题语句的词向量编码。利用WMD算法计算用户输入的语句与知识库中每个问题语句的WMD相似度,并将计算得到的WMD相似度作为用户输入的语句与知识库中每个问题语句的相似度。
[0065] 在一个实施方式中,应答服务器200接收用户输入的语句之后,计算用户输入的语句与知识库中至少一个应答语句的匹配度。
[0066] 在一个示例中,应答服务器200计算用户输入的语句与知识库中每个应答语句的匹配度,可以基于用户输入的语句的词向量编码和知识库中每个应答语句的词向量编码,采用卷积神经网络(Convolutional Neural Network,CNN)分别对用户输入的语句和知识库中每个应答语句进行编码,得到用户输入的语句的编码和知识库中每个应答语句的编码,然后根据用户输入的语句的编码和知识库中每个应答语句的编码,计算用户输入的语句与知识库中每个应答语句的匹配度。
[0067] 举例来说,假设用户输入的语句为Q,知识库中的一个应答语句为A,计算用户输入的语句Q与应答语句A的匹配度时,先对用户输入的语句Q和应答语句A进行分词处理,得到用户输入的语句Q对应的词语集合Q1和应答语句A对应的词语集合A1。然后删除词语集合Q1和词语集合A1中的停用词和介词,并对删除停用词和介词之后的词语集合Q1和词语集合A1进行词向量编码,得到用户输入的语句Q的词向量编码Q={q1,q2,…qi…qn},其中,qi为用户输入的语句Q中第i个词语的词向量编码,同时得到应答语句A的词向量编码A={a1,a2,…aj…an},其中,aj为应答语句A中第j个词语的词向量编码。
[0068] 在计算得到用户输入的语句Q的词向量编码和应答语句A的词向量编码之后,基于用户输入的语句Q的词向量编码和应答语句A的词向量编码,采用CNN网络分别对用户输入的语句Q和应答语句A进行编码,得到用户输入的语句Q的向量化编码Q2,同时得到应答语句A的向量化编码A2。
[0069] 然后,采用如下公式(6)计算用户输入的语句Q与应答语句A的匹配度。
[0070]
[0071] 其中,matchscore为用户输入的语句Q与应答语句A的匹配度,Q2为用户输入的语句Q的向量化编码, 为Q2的转置,A2为应答语句A的向量化编码,M为可训练参数,可根据经验值进行设定。
[0072] 从上述示例中可以看出,针对每个用户输入的语句,应答服务器200计算用户输入的语句与知识库中每个应答语句的匹配度时,均需要对知识库中的每个应答语句进行分词,并进行词向量编码。
[0073] 在一个实施方式中,为了减小计算量,进一步提高对用户输入的语句的响应速度,应答服务器200还可以预先存储知识库中每个应答语句的词向量编码。应答服务器200计算用户输入的语句与知识库中每个应答语句的相似度时,只需对用户输入的语句进行分词处理以及词向量编码,即可采用CNN网络分别对用户输入的语句和知识库中每个应答语句进行编码,得到用户输入的语句的编码和知识库中每个应答语句的编码,然后根据用户输入的语句的编码和知识库中每个应答语句的编码,计算用户输入的语句与知识库中每个应答语句的匹配度。
[0074] 在一个实施方式中,为了进一步减小计算量,提高对用户输入的语句的响应速度,应答服务器200还可以预先存储知识库中每个应答语句的编码。应答服务器200计算用户输入的语句与知识库中每个应答语句的匹配度时,只需对用户输入的语句进行分词处理以及词向量编码,并采用CNN网络对用户输入的语句进行编码,得到用户输入的语句的编码,然后根据用户输入的语句的编码和知识库中每个应答语句的编码,计算用户输入的语句与知识库中每个应答语句的匹配度。
[0075] 在一个实施方式中,应答服务器200计算得到用户输入的语句与知识库中至少一个问题语句的相似度,并计算得到用户输入的语句与知识库中至少一个应答语句的匹配度之后,即可基于用户输入的语句与知识库中每个问题语句的相似度和用户输入的语句与知识库中每个应答语句的匹配度,在知识库中确定针对所述用户输入语句的应答语句。
[0076] 在一个示例中,在知识库中确定针对所述用户输入语句的应答语句时,可以但不限于按照以下方式之一进行:
[0077] 方式一、基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,利用逻辑回归算法计算用户输入的语句与知识库中每个问答对的相似值,得到每个问答对对应的相似值,然后确定相似值中最大相似值对应的问答对,并将最大相似值对应的问答对中包括的应答语句确定为针对所述用户输入语句的应答语句。
[0078] 举例来说,知识库中有三个问答对,分别为问答对1、问答对2、问答对3,其中,问答对1中包括问题语句1和应答语句1,问答对2中包括问题语句2和应答语句2,问答对3中包括问题语句3和应答语句3。
[0079] 假设通过计算得到用户输入的语句与问答对1的相似值为90,用户输入的语句与问答对2的相似值为60,用户输入的语句与问答对3的相似值为95,则由于问答对3对应的相似值为最大相似值,因此,将问答对3中包括的应答语句3确定为针对所述用户输入语句的应答语句。
[0080] 方式二、基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,利用逻辑回归算法计算用户输入的语句与知识库中每个问答对的相似值,得到每个问答对对应的相似值;针对知识库中的每一应答语句,对包含每一应答语句的所有问答对对应的相似值进行求和,得到每一应答语句对应的评分值;将评分值中最大评分值对应的应答语句确定为针对所述用户输入语句的应答语句。
[0081] 举例来说,知识库中有三个问答对,分别为问答对1、问答对2、问答对3,其中,问答对1中包括问题语句1和应答语句1,问答对2中包括问题语句2和应答语句2,问答对3中包括问题语句3和应答语句1。
[0082] 假设通过计算得到用户输入的语句与问答对1的相似值为15,用户输入的语句与问答对2的相似值为85,用户输入的语句与问答对3的相似值为80。由于问答对1中包括的应答语句和问答对3中包括的应答语句均为应答语句1,因此,为了提高确定出的针对所述用户输入语句的应答语句的准确性,进一步计算应答语句1和应答语句2对应的评分值。
[0083] 具体来说,对包括应答语句1的所有问答对对应的相似值进行求和,得到应答语句1对应的评分值为95,对包括应答语句2的所有问答对对应的相似值进行求和,得到应答语句2对应的评分值为85。由于应答语句1对应的评分值大于应答语句2对应的评分值,因此,将应答语句1确定为针对所述用户输入语句的应答语句。
[0084] 在一个示例中,可以根据知识库中是否存在多个问答对包括同一应答语句的情况,灵活选择采用方式一或者方式二在知识库中确定针对所述用户输入语句的应答语句。举例来说,若知识库中不存在多个问答对包括同一应答语句的情况,则采用方式一在知识库中确定针对所述用户输入语句的应答语句;若知识库中存在多个问答对包括同一应答语句的情况,则采用方式二在知识库中确定针对所述用户输入语句的应答语句。
[0085] 在一个示例中,为了提高确定出的针对所述用户输入语句的应答语句的准确性,以及保证算法的统一,不论知识库中是否存在多个问答对包括同一应答语句,可以均采用方式二在知识库中确定针对所述用户输入语句的应答语句。
[0086] 在一个示例中,为了提高对用户输入的语句的响应速度,以及保证算法的统一,不论知识库中是否存在多个问答对包括同一应答语句,可以均采用方式一在知识库中确定针对所述用户输入语句的应答语句。
[0087] 在一个实施方式中,应答服务器200在知识库中确定针对所述用户输入语句的应答语句之后,还可以将确定出的应答语句作为对用户输入的语句的应答。
[0088] 下面结合具体的系统处理流程对上述应答确定方法的执行过程进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
[0089] 从整体流程而言,在服务器侧,如图2所示,应答确定方法200,可以包括以下步骤:
[0090] 步骤S201,接收用户输入的语句。
[0091] 步骤S202,计算用户输入的语句与知识库中至少一个问题语句的相似度,并计算用户输入的语句与知识库中至少一个应答语句的匹配度;其中,知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句。
[0092] 步骤S203,基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在知识库中确定针对用户输入语句的应答语句。
[0093] 从整体流程而言,在用户侧,如图3所示,应答确定方法300,可以包括以下步骤:
[0094] 步骤S301,将用于表达用户所提问题的语句输入至服务器。
[0095] 步骤S302,接收服务器返回的应答语句,其中,应答语句是服务器基于输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度在知识库中确定的,知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句。
[0096] 在本申请实施例中,在接收用户输入的语句之后,通过计算用户输入的语句与知识库中至少一个问题语句的相似度,计算用户输入的语句与知识库中至少一个应答语句的匹配度,从而能够基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在知识库中确定针对用户输入语句的应答语句,进而使用确定出的应答语句作为对用户输入的语句的应答,无需将用户输入的语句发送给相应领域的专家或者客服人员进行作答,从而能够提高对用户输入的语句的响应速度。
[0097] 在服务器侧,实现的时候,上述实施例中的应答确定方法可以通过应答确定装置来实现。如图4所示,应答确定装置400,可以包括:
[0098] 接收模块401,用于接收用户输入的语句;
[0099] 计算模块402,用于计算用户输入的语句与知识库中至少一个问题语句的相似度,并计算用户输入的语句与知识库中至少一个应答语句的匹配度;其中,知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句;
[0100] 处理模块403,用于基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在知识库中确定针对用户输入语句的应答语句。
[0101] 在一个实施方式中,处理模块403,具体用于:基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,利用逻辑回归算法计算用户输入的语句与预先存储的知识库中每个问答对的相似值,得到每个问答对对应的相似值;确定相似值中最大相似值对应的问答对,并将最大相似值对应的问答对中包括的应答语句确定为针对所述用户输入语句的应答语句。
[0102] 在一个实施方式中,处理模块403,具体用于:基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,利用逻辑回归算法计算用户输入的语句与预先存储的知识库中每个问答对的相似值,得到每个问答对对应的相似值;针对预先存储的知识库中的每一应答语句,对包含每一应答语句的所有问答对对应的相似值进行求和,得到每一应答语句对应的评分值;将评分值中最大评分值对应的应答语句确定为针对所述用户输入语句的应答语句。
[0103] 在一个实施方式中,计算模块402,具体用于:对用户输入的语句进行分词处理,得到用户输入的语句对应的词语集合;对词语集合中的每个词语进行词向量编码;基于用户输入的语句的词向量编码和知识库中至少一个问题语句的词向量编码,利用基于词向量的文档相似度WMD算法计算用户输入的语句与知识库中至少一个问题语句的WMD相似度;将WMD相似度作为相似度。
[0104] 在一个实施方式中,计算模块402,具体用于:对用户输入的语句进行分词处理,得到用户输入的语句对应的词语集合;对词语集合中的每个词语进行词向量编码;基于用户输入的语句的词向量编码和知识库中至少一个应答语句的词向量编码,采用卷积神经网络CNN分别对用户输入的语句和知识库中至少一个应答语句进行编码,得到用户输入的语句的编码和知识库中至少一个应答语句的编码;根据用户输入的语句的编码和知识库中至少一个应答语句的编码,计算用户输入的语句与知识库中至少一个应答语句的匹配度。
[0105] 在一个实施方式中,计算模块402,具体用于:删除词语集合中的停用词和介词;对删除停用词和介词之后的词语集合中的每个词语进行词向量编码。
[0106] 在一个实施方式中,接收模块401,具体用于:接收用户以文本形式和/或语音形式输入的语句。
[0107] 在用户侧,实现的时候,上述实施例中的应答确定方法可以通过应答确定装置来实现。如图5所示,应答确定装置500,可以包括:
[0108] 发送模块501,用于将用于表达所提问题的语句输入至服务器;
[0109] 接收模块502,用于接收服务器返回的应答语句,其中,应答语句是服务器基于输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度在知识库中确定的,知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句。
[0110] 图6示出了能够实现根据本申请实施例的应答确定方法和装置的计算设备的示例性硬件架构的结构图。如图6所示,计算设备600包括输入设备601、输入接口602、中央处理器603、存储器604、输出接口605、以及输出设备606。其中,输入接口602、中央处理器603、存储器604、以及输出接口605通过总线610相互连接,输入设备601和输出设备606分别通过输入接口602和输出接口605与总线610连接,进而与计算设备600的其他组件连接。
[0111] 具体地,输入设备601接收来自外部的输入信息,并通过输入接口602将输入信息传送到中央处理器603;中央处理器603基于存储器604中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器604中,然后通过输出接口605将输出信息传送到输出设备606;输出设备606将输出信息输出到计算设备600的外部供用户使用。
[0112] 也就是说,图6所示的计算设备也可以被实现为应答确定设备,该应答确定设备可以包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1-图5描述的应答确定方法和装置。
[0113] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品或计算机可读存储介质的形式实现。所述计算机程序产品或计算机可读存储介质包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘Solid State Disk(SSD))等。
[0114] 另外,结合上述实施例中的应答确定方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种应答确定方法。
[0115] 本申请实施例还提供了一种应答确定系统,应答确定系统包括至少一个用户客户端和至少一个应答服务器;其中,
[0116] 用户客户端用于将表达用户所提问题的语句输入至应答服务器;
[0117] 应答服务器,用于接收用户客户端输入的语句,计算用户客户端输入的语句与知识库中至少一个问题语句的相似度,计算用户客户端输入的语句与知识库中至少一个应答语句的匹配度,并基于用户输入的语句与每个问答对中问题语句的相似度和应答语句的匹配度,在知识库中确定针对用户输入语句的应答语句,将确定出的应答语句发送至用户客户端,其中,知识库中包括多个问答对,每个问答对中包括一个问题语句和一个应答语句;
[0118] 用户客户端还用于接收应答服务器返回的应答语句。
[0119] 需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
[0120] 还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0121] 以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈