CN109359182B - 一种应答方法及装置 - Google Patents
一种应答方法及装置 Download PDFInfo
- Publication number
- CN109359182B CN109359182B CN201811168880.8A CN201811168880A CN109359182B CN 109359182 B CN109359182 B CN 109359182B CN 201811168880 A CN201811168880 A CN 201811168880A CN 109359182 B CN109359182 B CN 109359182B
- Authority
- CN
- China
- Prior art keywords
- vector
- answer
- question
- target
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0281—Customer communication at a business location, e.g. providing product or service information, consulting
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种应答方法及装置,所述方法包括:将预设问题及与所述预设问题对应的预设答案分别向量化生成问题向量及答案向量,根据所述问题向量与及所述答案向量生成第一特征向量;接收客户端发送的目标问题,将所述目标问题向量化生成目标向量,并将所述目标向量分别与每个所述答案向量组合,生成多个包括所述目标向量和所述答案向量的第三特征向量;计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。采用本发明可以提高问答准确度和问答服务质量。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种应答方法及装置。
背景技术
服务咨询商普遍提供有问答***,问答***的问答数据库中可以预先存储有用户可能咨询的预设问题以及每个预设问题对应的预设答案。问答***可以基于用户输入的问题(可称为目标问题),返回对应的预设答案给用户。
当接收到用户输入的目标问题时,问答***可以对目标问题中的关键字进行提取。之后,问答***可以在上述问答数据库中输入提取的上述关键字,搜索该关键字对应的预设问题。如果搜索到一个预设问题,问答***可以将该预设问题的预设答案确定为目标问题的答案,并将该预设答案返回给用户;如果搜索到多个预设问题,问答***可以将多个预设问题的预设答案同时返回给用户,或者将多个预设问题中搜索排名最高的预设问题的预设答案返回给用户。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
当问答***返回多个预设答案时,用户很难在多个预设答案中筛选出与目标问题对应的答案。同时,问答***返回的上述搜索排名最高的预设答案,往往也不是问答数据库中与目标问题最相关的答案。故而问答服务质量较差。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种应答方法及装置。所述技术方案如下:
第一方面,提供了一种应答方法,所述方法包括:
将预设问题及与所述预设问题对应的预设答案分别向量化生成问题向量及答案向量,根据所述问题向量及所述答案向量生成第一特征向量;
接收客户端发送的目标问题,将所述目标问题向量化生成目标向量,并将所述目标向量分别与所述答案向量组合,生成多个包括所述目标向量和所述答案向量的第三特征向量;
计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
进一步的,所述将预设问题及与所述预设问题对应的预设答案分别向量化生成问题向量及答案向量,根据所述问题向量及所述答案向量生成第一特征向量,包括:
将所述预设问题及与所述预设问题对应的所述预设答案分别拆成多个序列,并将所述序列向量化生成第一向量序列;
根据所述第一向量序列,生成所述预设问题对应的问题向量和所述预设答案对应的答案向量;
将所述问题向量和所述答案向量进行向量点乘,生成所述第一特征向量。
进一步的,所述根据所述问题向量与及所述答案向量生成第一特征向量之后,还包括:
将所述第一特征向量进行高维转换,生成第一高维向量;
所述计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端,包括:
将所述第三特征向量进行高维转换,生成第三高维向量;
计算所述第三高维向量和所述第一高维向量的接近度,获取所述接近度最高的所述第一高维向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
进一步的,所述将所述第一特征向量进行高维转换,生成第一高维向量之后,还包括:
在所述第一高维向量对应的高维空间中确定目标分类函数,并利用所述目标分类函数调整所述第一特征向量,生成所述第一特征向量对应的第二特征向量;
将所述第二特征向量进行高维转换,生成第二高维向量;
所述计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端,包括:
将所述第三特征向量进行高维转换,生成第三高维向量;
计算所述第三高维向量和所述第二高维向量的接近度,获取所述接近度最高的所述第二高维向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
进一步的,所述将所述目标问题向量化生成目标向量,包括:
将所述目标问题拆成多个序列,并将所述序列进行向量化生成第二向量序列;
根据所述第二向量序列,生成所述目标问题对应的目标向量。
进一步的,所述计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端,包括:
计算所述第三特征向量和其对应的所述第一特征向量的向量夹角,并在所述向量夹角中确定角度最小的目标向量夹角;
在所述第一特征向量中确定所述目标向量夹角对应的目标第一特征向量,并将所述目标第一特征向量中的所述答案向量对应的预设答案返回至所述客户端。。
第二方面,提供了一种应答装置,所述装置包括:
第一向量模块,用于将预设问题及与所述预设问题对应的预设答案分别向量化生成问题向量及答案向量,根据所述问题向量及所述答案向量生成第一特征向量;
第二向量模块,用于接收客户端发送的目标问题,将所述目标问题向量化生成目标向量,并将所述目标向量分别与所述答案向量组合,生成多个包括所述目标向量和所述答案向量的第三特征向量;
计算模块,用于计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
进一步的,所述第一向量模块,还用于:
将所述预设问题及与所述预设问题对应的所述预设答案分别拆成多个序列,并将所述序列向量化生成第一向量序列;
根据所述第一向量序列,生成所述预设问题对应的问题向量和所述预设答案对应的答案向量;
将所述问题向量和所述答案向量进行向量点乘,生成所述第一特征向量。
进一步的,所述装置还包括高维转换模块,用于:
将所述第一特征向量进行高维转换,生成第一高维向量;以及,将所述第三特征向量进行高维转换,生成第三高维向量;
所述计算模块,还用于:
计算所述第三高维向量和所述第一高维向量的接近度,获取所述接近度最高的所述第一高维向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
进一步的,所述高维转换模块,还用于在所述第一高维向量对应的高维空间中确定目标分类函数;
所述第一向量模块,还用于利用所述目标分类函数调整所述第一特征向量,生成所述第一特征向量对应的第二特征向量;
所述高维转换模块,还用于将所述第二特征向量进行高维转换,生成第二高维向量;以及,将所述第三特征向量进行高维转换,生成第三高维向量;
所述计算模块,还用于计算所述第三高维向量和所述第二高维向量的接近度,获取所述接近度最高的所述第二高维向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
进一步的,所述第二向量模块,还用于:
将所述目标问题拆成多个序列,并将所述序列进行向量化生成第二向量序列;
根据所述第二向量序列,生成所述目标问题对应的目标向量。
进一步的,所述计算模块,还用于:
计算所述第三特征向量和其对应的所述第一特征向量的向量夹角,并在所述向量夹角中确定角度最小的目标向量夹角;
在所述第一特征向量中确定所述目标向量夹角对应的目标第一特征向量,并将所述目标第一特征向量中的所述答案向量对应的预设答案返回至所述客户端。
第三方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的应答方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的应答方法。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例中,服务端预先将问答数据库中的每个预设问题及每个预设问题对应的预设答案进行向量化,生成多个包括一个预设问题对应的问题向量和一个预设答案对应的答案向量的第一特征向量;当接收到客户端发送的目标问题时,服务端对目标问题进行向量化,生成目标问题对应的目标向量,并将目标向量分别与每个答案向量进行组合,生成多个包括目标向量和一个答案向量的第三特征向量;服务端计算每个第三特征向量和其对应的第一特征向量的接近度,并将接近度最高的第一特征向量中的答案向量所对应的预设答案,返回至客户端。这样,服务端可以将用户输入的问题、问答数据库中的预设问题及对应的预设答案分别表示为目标向量、问题向量和答案向量,然后将目标向量和问题向量分别同答案向量进行向量组合,利用数学方法来计算不同向量组合之间的接近度,从而可以基于每一个问题和答案的全部内容进行接近度比对,而不仅仅是关键词比对,之后,服务端可以将接近度最高的向量组合中答案向量对应的预设答案,即问答数据库中与用户输入的问题最相关的预设答案,返回给用户,极大的提高了问答准确度,提升了问答服务质量。另外,对第一特征向量及第二特征向量的高维转换,还可以有效提高问答数据库中已有数据的利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应答方法流程图;
图2是本发明实施例提供的一种应答装置的结构示意图;
图3是本发明实施例提供的一种应答装置的结构示意图;
图4是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种应答方法,该方法的执行主体可以是服务端,该服务端可以是任意一台服务器,其可以部署在服务咨询商所管理的机房,服务端可以包括问答数据库。上述服务端可以接收用户通过任意客户端发送的目标问题,并可以将上述问答数据库中与目标问题对应的预设答案返回给客户端;上述客户端可以是任意终端,如智能手机、个人计算机等终端,客户端可以将用户输入的目标问题发送至服务端。上述服务端中可以包括处理器、存储器、收发器,处理器可以用于进行下述流程中的对于应答的处理,存储器可以用于存储下述处理过程中需要的数据以及产生的数据,收发器可以用于接收和发送下述处理过程中的相关数据。
下面将结合具体实施方式,对图1所示的一种应答方法的处理流程进行详细的说明,内容可以如下:
步骤101:将预设问题及与预设问题对应的预设答案分别向量化生成问题向量及答案向量,根据问题向量及答案向量生成第一特征向量。
在实施中,服务端需要预先对问答数据库中的数据进行处理,以解决现有技术中问答服务质量较差的问题。问答数据库中的数据,可以是技术人员对某一特定领域收集整理的大量用户可能咨询的预设问题,以及每个预设问题对应的预设答案。以CDN(ContentDelivery Network,内容分发网络)领域为例,预设问题可以是“CDN服务如何进行收费”,对应的预设答案可以是“CDN服务的收费方式包括按网络带宽收费和按网络流量收费,其中,按网络带宽收费是……”。具体的,服务端可以首先将上述问答数据库中的每个预设问题以及每个预设问题所对应的预设答案,分别进行向量化,得到每个预设问题对应的问题向量,以及该预设问题的预设答案所对应的答案向量。之后,服务端可以基于每个问题向量和其对应的答案向量,生成多个第一特征向量,每个第一特征向量可以包括一个问题向量和其对应的答案向量。
可选的,可以按照以序列为单位进行向量化,相应的,步骤101的具体处理可以如下:将预设问题及与预设问题对应的预设答案分别拆成多个序列,并将序列向量化生成第一向量序列;根据第一向量序列,生成预设问题对应的问题向量和预设答案对应的答案向量;将问题向量和答案向量进行向量点乘,生成第一特征向量。
在实施中,服务端可以将问答数据库中的每个预设问题,以及每个预设问题对应的预设答案分别拆成多个序列,之后,服务端可以对每个序列进行向量化,生成每个序列对应的第一向量序列。具体的,服务端可以通过word2vec(word embeddings,构建中文词向量)算法,对预设问题的词向量,即第一向量序列进行训练。以预设问题为“CDN服务如何进行收费”为例,首先,服务端可以将预设问题中的各个词进行拆分,得到多个序列,比如“CDN”为序列1,“服务”为序列2,“如何”为序列3,“进行”为序列4,“收费”为序列5;之后,可以对每个序列进行向量化,生成每个序列对应的第一向量序列,比如序列1可以表示为序列2可以表示为……,序列5可以表示为这样,训练出的各个序列的第一向量序列可以依次表示为
服务端在生成上述第一向量序列后,可以根据上述训练生成的每个第一向量序列,生成每个预设问题对应的问题向量,以及每个预设答案对应的答案向量。具体的,服务端可以利用长短期人工记忆神经网络算法,生成每个预设问题对应的问题向量,以及每个预设答案对应的答案向量,在此过程中,服务端可以按照各个第一向量序列在句子中出现的顺序,依次计算出各个第一向量序列的权重,并根据句子的语义特征选择性加强或者遗忘某些序列的权重,使得生成的问题向量和答案向量具备了对应的预设问题和预设答案的语义特征。以上述训练生成的第一向量序列为例,服务端可以按照各个序列在句子中出现的顺序,分别计算出第一向量序列对应的权重,同时,服务端可以根据语义选择性加强的权重,得到第一向量序列对应的权重,分别可以表示ω1、ω2、ω3、ω4、ω5。然后,服务端可以将第一向量序列的权重进行组合生成该预设问题的问题向量,该问题向量可以表示为(ω1、ω2、ω3、ω4、ω5)。
服务端在生成上述问题向量和答案向量后,可以将每个问题向量和每个问题向量对应的答案向量进行向量点乘,生成多个第一特征向量,每个第一特征向量包括一个预设问题对应的问题向量和一个预设答案对应的答案向量。具体的,比如生成的问题向量可以表示为Q1,其对应的答案向量可以表示为A1,则将Q1、A1进行向量点乘运算后可以得到Q1A1,即为第一特征向量。
步骤102:接收客户端发送的目标问题,将目标问题向量化生成目标向量,并将目标向量分别与答案向量组合,生成多个包括目标向量和答案向量的第三特征向量。
在实施中,当用户想对某一问题(可称为目标问题)进行咨询时,用户可以在客户端中打开服务咨询商提供的问答***的问答界面,例如网页咨询框、聊天对话框等,然后用户可以在问答界面中输入目标问题。这样,上述客户端可以将目标问题发送给问答***所对应的服务端。之后,服务端接收该目标问题,然后对目标问题进行向量化,生成目标问题对应的目标向量,之后,服务端可以将目标向量分别与每个答案向量进行组合,生成多个包括目标向量和一个答案向量的第三特征向量。
可选的,服务端同样可以按照以序列为单位对目标问题进行向量化,相应的,步骤102的部分处理可以如下:将目标问题拆成多个序列,并将序列进行向量化生成第二向量序列;根据第二向量序列,生成目标问题对应的目标向量。
在实施中,服务端可以将目标问题拆成多个序列,然后可以对每个序列进行向量化,生成每个序列对应的第二向量序列。具体的,服务端可以通过上述word2ve算法,对目标问题的词向量,即第二向量序列进行训练。以目标问题为“CDN服务的具体作用是什么”为例,首先,服务端可以将目标问题中的各个词进行拆分,得到多个序列,比如“CDN”为序列1,“服务”为序列2,“的”为序列3,“具体”为序列4,“作用”为序列5,“是”为序列6,“什么”为序列7。之后,服务端可以对每个序列进行向量化,生成每个序列对应的第二向量序列,例如序列1可以表示为序列2可以表示为……,序列7可以表示为这样,训练出的各个序列的第二向量序列可以依次表示为
服务端在生成上述第二向量序列后,可以根据上述训练生成的每个第二向量序列,生成目标问题对应的目标向量。具体的,服务端可以利用长短期人工记忆神经网络算法,生成目标问题对应的目标向量。在此过程中,服务端可以按照各个第二向量序列在句子中出现的顺序,依次计算出各个第二向量序列的权重,并根据句子的语义特征选择性加强或者遗忘某些序列的权重,使得生成的问题向量和答案向量具备了对应的预设问题和预设答案的语义特征。以上述训练生成的第二向量序列为例,服务端可以按照各个序列在句子中出现的顺序,分别计算出第二向量序列对应的权重,同时,服务端可以根据语义选择性加强的权重,得到第二向量序列对应的权重,分别可以表示为ω1、ω2、ω3、ω4、ω5、ω6、ω7。然后,服务端可以将第二向量序列的权重进行组合生成该目标问题的目标向量(ω1、ω2、ω3、ω4、ω5、ω6、ω7)。
服务端在生成上述目标向量后,还可以将上述生成的目标向量分别与每个预设答案对应的答案向量进行向量点乘,生成多个第三特征向量,每个第三特征向量包括目标向量和一个答案向量。具体的,比如生成的问题向量为100个,分别可以表示为Q1、Q2、Q3、……、Q100;其对应的答案向量为100个,分别可以表示为A1、A2、A3、……、A100;生成的第一特征向量分别可以表示为Q1A1、Q2A2、Q3A3、……Q100A100;生成的目标向量可以表示为Q′;将目标向量分别与每个答案向量进行向量点乘运算后可以得到100个第三特征向量,分别可以表示为Q′A1、Q′A2、Q′A3、……Q′A100。
可选的,服务端还可以对每个第一特征向量进行高维转换,相应的处理可以如下:将第一特征向量进行高维转换,生成第一高维向量。
在实施中,服务端在生成多个上述包括一个预设问题对应的问题向量和一个预设答案对应的答案向量的第一特征向量之后,可以将每个第一特征向量进行高维转换,生成每个第一特征向量对应的第一高维向量。具体的,服务端可以通过SVM(Support VectorMachine,支持向量机),将每个第一特征向量映射到更高维的空间中,生成每个第一特征向量对应的第一高维向量。其中,更高维的空间是相对于第一特征向量所处的空间而言的,并不指定维数,比如第一特征向量的维数为七维,大于七维的空间则为更高维的空间。
可选的,服务端还可以对第一特征向量进行调整,然后再进行高维转换,相应的处理可以如下:在第一高维向量对应的高维空间中确定目标分类函数,并利用目标分类函数调整第一特征向量,生成第一特征向量对应的第二特征向量;将第二特征向量进行高维转换,生成第二高维向量。
在实施中,在服务端对每个第一特征向量进行高维转换,生成对应的第一高维向量之后,服务端还可以在第一高维向量对应的高维空间中确定一个目标分类函数,并利用该目标分类函数调整每个第一特征向量,生成每个第一特征向量对应的第二特征向量。具体的,服务端可以在第一高维向量对应的高维空间中确定一个目标分类函数,该目标分类函数在高维空间中为线性函数,在低维空间中则可能是非线性函数;之后,服务端可以利用该目标分类函数对第一特征向进行调整,生成每个第一特征向量对应的第二特征向量。
服务端在生成上述第二特征向量后,可以将每个第二特征向量进行高维转换,生成每个第二特征向量对应的第二高维向量。具体的,服务端可以通过SVM将每个第二特征向量映射到更高维的空间中,生成每个第二特征向量对应的第二高维向量,其中,第二高维向量和第一高维向量处于同一个高维空间。这样,可以使得每个高维向量之间的距离较远,即提高了每个高维向量之间的区分度,从而使得问答数据库中的每个预设问题只对应一个预设答案,进而有效提高了问答数据库中已有数据的利用率。
步骤103:计算第三特征向量和第一特征向量的接近度,获取接近度最高的第一特征向量中的答案向量,并将与答案向量对应的预设答案返回至客户端。
在实施中,在生成多个第三特征向量之后,服务端可以计算每个第三特征向量和其对应的第一特征向量的接近度,接近度可以通过计算第三特征向量和其对应的第一特征向量的向量夹角或者向量分数得出。之后,服务端可以在多个第一特征向量中确定出接近度最高的目标第一特征向量,然后可以将该目标第一特征向量中的答案向量所对应的预设答案作为目标问题对应的答案,并将其返回给客户端。
可选的,服务端可以通过计算向量夹角来确定目标问题的答案,相应的,步骤103的具体处理可以如下:计算第三特征向量和其对应的第一特征向量的向量夹角,并在向量夹角中确定角度最小的目标向量夹角;在第一特征向量中确定目标向量夹角对应的目标第一特征向量,并将目标第一特征向量中的答案向量对应的预设答案返回至客户端。
在实施中,首先,服务端可以计算每个第三特征向量和第三特征向量所对应的第一特征向量的向量夹角,并在多个向量夹角中确定角度最小的目标向量夹角。具体的,比如服务端计算出的Q′A1和Q1A1的向量夹角可以表示为<Q′A1,Q1A1>,Q′A2和Q2A2的向量夹角可以表示为<Q′A2,Q2A2>,……,Q′A100和Q100A100的向量夹角可以表示为<Q′A100,Q100A100>。然后,服务端可以在上述100个向量夹角中确定出角度最小的向量夹角,即为目标向量夹角。然后,服务端可以确定目标向量夹角对应的第一特征向量,即目标第一特征向量,并将目标第一特征向量中的答案向量所对应的预设答案,返回至客户端。具体的,比如目标向量夹角为<Q′A10,Q10A10>,则<Q′A10,Q10A10>对应的Q10A10则为与Q′A10接近度最高的目标第一特征向量。然后,服务端可以确定该目标问题的答案为Q10A10中的答案向量A10所对应的预设答案。之后,服务端可以将该预设答案返回给客户端,客户端可以接收该预设答案并返回给用户。
需要说明的是,服务端还可以通过计算每个第三特征向量和其对应的第一特征向量的向量分数,确定每个第三特征向量和其对应的第一特征向量的接近度,其实现原理与通过计算向量夹角确定接近度的实现原理类似,在此不再赘述。
可选的,在第一特征向量经过高维转换生成第一高维向量的情况下,步骤103的具体处理可以如下:将第三特征向量进行高维转换,生成第三高维向量;计算第三高维向量和第一高维向量的接近度,获取接近度最高的第一高维向量中的答案向量,并将与答案向量对应的预设答案返回至客户端。
在实施中,首先,服务端可以将每个第三特征向量进行高维转换,生成每个第三特征向量对应的第三高维向量。具体的,服务端可以通过SVM将每个第三特征向量映射到更高维的空间中,生成每个第三特征向量对应的第三高维向量。其中,高维转换可以将第三特征向量映射到第一高维向量所在的高维空间,即第三高维向量和第一高维向量处于同一个高维空间。
然后,服务端可以计算每个第三高维向量和每个第三高维向量对应的第一高维向量的接近度,并将接近度最高的第一高维向量中的答案向量所对应的预设答案,返回至客户端。具体的,比如第一特征向量Q1A1、Q2A2、Q3A3、……、Q100A100对应的第一高维向量分别可以表示为F1、F2、F3、……、F100;第三特征向量Q′A1、Q′A2、Q′A3、……Q′A100对应的第三高维向量分别可以表示为F′1、F′2、F′3、……、F′100;服务端计算出的F′1和F1的向量夹角可以表示为<F′1,F1>,F′2和F2的向量夹角可以表示为<F′2,F2>,……,F′100和F100的向量夹角可以表示为<F′100,F100>;然后,服务端可以在上述100个向量夹角中确定出角度最小的向量夹角,即为目标向量夹角,假设目标向量夹角为<F′20,F20>,则<F′20,F20>对应的F20即为与F′20接近度最高的第一高维向量;之后,服务端可以确定该目标问题的答案为F20中的答案向量A20所对应的预设答案,并将该预设答案返回给客户端,客户端可以接收该预设答案并返回给用户。这样可以使得服务端返回给客户端的答案是一个与目标问题最相关的答案,有效提高问答的准确度。
可选的,在服务端将每个第二特征向量进行高维转换,生成对应的第二高维向量的情况下,步骤103的具体处理可以如下:将第三特征向量进行高维转换,生成第三高维向量;计算第三高维向量和第二高维向量的接近度,获取接近度最高的第二高维向量中的答案向量,并将与答案向量对应的预设答案返回至客户端。
在实施中,首先,服务端可以将每个第三特征向量进行高维转换,生成对应的第三高维向量。具体的,服务端可以通过SVM将每个第三特征向量映射到更高维的空间中,生成每个第三特征向量对应的第三高维向量。其中,高维转换可以将第三特征向量映射到第二高维向量所在的高维空间,即第三高维向量和第二高维向量处于同一个高维空间。
然后,服务端可以计算每个第三高维向量和每个第三高维向量对应的第二高维向量的接近度,将接近度最高的第二高维向量中的答案向量所对应的预设答案,返回至客户端。具体的,比如目标分类函数可以表示为f(x),每个第一特征向量经目标分类函数f(x)调整后生成的每个第一特征向量对应的第二特征向量分别可以表示为Q1A1′、Q2A2′、Q3A3′、……、Q100A100′,每个第二特征向量经高维转换分别得到对应的第二高维向量分别可以表示为F1′、F2′、F3′、……、F100′,服务端计算出的F′1和F1′的向量夹角可以表示为<F′1,F1′>,F′2和F2′的向量夹角可以表示为<F′2,F2′>,……,F′100和F100′的向量夹角可以表示为<F′100,F100′>;然后,服务端可以在上述100个向量夹角中确定出角度最小的向量夹角,即为目标向量夹角,假设目标向量夹角为<F′20,F20′>,则该目标向量夹角<F′20,F20′>对应的F20′即为与F′20接近度最高的第二高维向量;之后,服务端可以确定该目标问题的答案为F20′中的答案向量A20对应的预设答案,并将该预设答案返回给客户端,客户端可以接收该预设答案并返回给用户。这样可以使得服务端返回给客户端的答案是一个与目标问题最相关的答案,有效提高问答的准确度。
本发明实施例中,服务端预先将问答数据库中的每个预设问题及每个预设问题对应的预设答案进行向量化,生成多个包括一个预设问题对应的问题向量和一个预设答案对应的答案向量的第一特征向量;当接收到客户端发送的目标问题时,服务端对目标问题进行向量化,生成目标问题对应的目标向量,并将目标向量分别与每个答案向量进行组合,生成多个包括目标向量和一个答案向量的第三特征向量;服务端计算每个第三特征向量和其对应的第一特征向量的接近度,并将接近度最高的第一特征向量中的答案向量所对应的预设答案,返回至客户端。这样,服务端可以将用户输入的问题、问答数据库中的预设问题及对应的预设答案分别表示为目标向量、问题向量和答案向量,然后将目标向量和问题向量分别同答案向量进行向量组合,利用数学方法来计算不同向量组合之间的接近度,从而可以基于每一个问题和答案的全部内容进行接近度比对,而不仅仅是关键词比对,之后,服务端可以将接近度最高的向量组合中答案向量对应的预设答案,即问答数据库中与用户输入的问题最相关的预设答案,返回给用户,极大的提高了问答准确度,提升了问答服务质量。另外,对第一特征向量及第二特征向量的高维转换,还可以有效提高问答数据库中已有数据的利用率。
基于相同的技术构思,本发明实施例还提供了一种应答装置,如图2所示,所述装置包括:
第一向量模块201,用于将预设问题及与预设问题对应的预设答案分别向量化生成问题向量及答案向量,根据问题向量及答案向量生成第一特征向量;
第二向量模块202,用于接收客户端发送的目标问题,将目标问题向量化生成目标向量,并将目标向量分别与答案向量组合,生成多个包括目标向量和答案向量的第三特征向量;
计算模块203,用于计算第三特征向量和第一特征向量的接近度,获取接近度最高的第一特征向量中的答案向量,并将与答案向量对应的预设答案返回至客户端。
可选的,第一向量模块201,还用于:
将预设问题及与预设问题对应的预设答案分别拆成多个序列,并将序列向量化生成第一向量序列;
根据第一向量序列,生成预设问题对应的问题向量和预设答案对应的答案向量;
将问题向量和答案向量进行向量点乘,生成第一特征向量。
可选的,如图3所示,所述装置还包括高维转换模块204,用于:
将第一特征向量进行高维转换,生成第一高维向量;以及,将第三特征向量进行高维转换,生成第三高维向量;
计算模块203,还用于:
计算第三高维向量和第一高维向量的接近度,获取接近度最高的第一高维向量中的答案向量,并将与答案向量对应的预设答案返回至客户端。。
可选的,高维转换模块204,还用于在第一高维向量对应的高维空间中确定目标分类函数;
第一向量模块201,还用于利用目标分类函数调整第一特征向量,生成第一特征向量对应的第二特征向量;
高维转换模块204,还用于将第二特征向量进行高维转换,生成第二高维向量;以及,将第三特征向量进行高维转换,生成第三高维向量;
计算模块203,还用于计算第三高维向量和第二高维向量的接近度,获取接近度最高的第二高维向量中的答案向量,并将与答案向量对应的预设答案返回至所述客户端。
可选的,第二向量模块202,还用于:
将目标问题拆成多个序列,并将序列进行向量化生成第二向量序列;
根据第二向量序列,生成目标问题对应的目标向量。
可选的,计算模块203,还用于:
计算第三特征向量和其对应的第一特征向量的向量夹角,并在向量夹角中确定角度最小的目标向量夹角;
在第一特征向量中确定目标向量夹角对应的目标第一特征向量,并将目标第一特征向量中的答案向量对应的预设答案返回至客户端。
需要说明的是:上述实施例提供的问答装置在进行应答处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将问答装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的问答装置与问答方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4是本发明实施例提供的服务器的结构示意图。该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。
服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,一个或一个以上键盘456,和/或,一个或一个以上操作***441,例如Windows Server TM,Mac OS XTM,Unix TM,Linux TM,FreeBSD TM等等。
服务器400可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述应答的指令。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种应答方法,其特征在于,所述方法包括:
将预设问题及与所述预设问题对应的预设答案分别向量化生成问题向量及答案向量,根据所述问题向量及所述答案向量生成第一特征向量;
接收客户端发送的目标问题,将所述目标问题向量化生成目标向量,并将所述目标向量分别与每个答案向量组合,生成多个包括所述目标向量和所述答案向量的第三特征向量;
计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述将预设问题及与所述预设问题对应的预设答案分别向量化生成问题向量及答案向量,根据所述问题向量及所述答案向量生成第一特征向量,包括:
将所述预设问题及与所述预设问题对应的所述预设答案分别拆成多个序列,并将所述序列向量化生成第一向量序列;
根据所述第一向量序列,生成所述预设问题对应的问题向量和所述预设答案对应的答案向量;
将所述问题向量和所述答案向量进行向量点乘,生成所述第一特征向量。
3.根据权利要求1所述的方法,其特征在于,所述根据所述问题向量及所述答案向量生成第一特征向量之后,还包括:
将所述第一特征向量进行高维转换,生成第一高维向量;
所述计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端,包括:
将所述第三特征向量进行高维转换,生成第三高维向量;
计算所述第三高维向量和所述第一高维向量的接近度,获取所述接近度最高的所述第一高维向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
4.根据权利要求3所述的方法,其特征在于,所述将所述第一特征向量进行高维转换,生成第一高维向量之后,还包括:
在所述第一高维向量对应的高维空间中确定目标分类函数,并利用所述目标分类函数调整所述第一特征向量,生成所述第一特征向量对应的第二特征向量;
将所述第二特征向量进行高维转换,生成第二高维向量;
所述计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端,包括:
将所述第三特征向量进行高维转换,生成第三高维向量;
计算所述第三高维向量和所述第二高维向量的接近度,获取所述接近度最高的所述第二高维向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
5.根据权利要求1所述的方法,其特征在于,所述将所述目标问题向量化生成目标向量,包括:
将所述目标问题拆成多个序列,并将所述序列进行向量化生成第二向量序列;
根据所述第二向量序列,生成所述目标问题对应的目标向量。
6.根据权利要求1所述的方法,其特征在于,所述计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端,包括:
计算所述第三特征向量和其对应的所述第一特征向量的向量夹角,并在所述向量夹角中确定角度最小的目标向量夹角;
在所述第一特征向量中确定所述目标向量夹角对应的目标第一特征向量,并将所述目标第一特征向量中的所述答案向量对应的预设答案返回至所述客户端。
7.一种应答装置,其特征在于,所述装置包括:
第一向量模块,用于将预设问题及与所述预设问题对应的预设答案分别向量化生成问题向量及答案向量,根据所述问题向量及所述答案向量生成第一特征向量;
第二向量模块,用于接收客户端发送的目标问题,将所述目标问题向量化生成目标向量,并将所述目标向量分别与每个答案向量组合,生成多个包括所述目标向量和所述答案向量的第三特征向量;
计算模块,用于计算所述第三特征向量和所述第一特征向量的接近度,获取所述接近度最高的所述第一特征向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
8.根据权利要求7所述的装置,其特征在于,所述第一向量模块,还用于:
将所述预设问题及与所述预设问题对应的所述预设答案分别拆成多个序列,并将所述序列向量化生成第一向量序列;
根据所述第一向量序列,生成所述预设问题对应的问题向量和所述预设答案对应的答案向量;
将所述问题向量和所述答案向量进行向量点乘,生成所述第一特征向量。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括高维转换模块,用于:
将所述第一特征向量进行高维转换,生成第一高维向量;以及,将所述第三特征向量进行高维转换,生成第三高维向量;
所述计算模块,还用于:
计算所述第三高维向量和所述第一高维向量的接近度,获取所述接近度最高的所述第一高维向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
10.根据权利要求9所述的装置,其特征在于:
所述高维转换模块,还用于在所述第一高维向量对应的高维空间中确定目标分类函数;
所述第一向量模块,还用于利用所述目标分类函数调整所述第一特征向量,生成所述第一特征向量对应的第二特征向量;
所述高维转换模块,还用于将所述第二特征向量进行高维转换,生成第二高维向量;以及,将所述第三特征向量进行高维转换,生成第三高维向量;
所述计算模块,还用于计算所述第三高维向量和所述第二高维向量的接近度,获取所述接近度最高的所述第二高维向量中的所述答案向量,并将与所述答案向量对应的所述预设答案返回至所述客户端。
11.根据权利要求7所述的装置,其特征在于,所述第二向量模块,还用于:
将所述目标问题拆成多个序列,并将所述序列进行向量化生成第二向量序列;
根据所述第二向量序列,生成所述目标问题对应的目标向量。
12.根据权利要求7所述的装置,其特征在于,所述计算模块,还用于:
计算所述第三特征向量和其对应的所述第一特征向量的向量夹角,并在所述向量夹角中确定角度最小的目标向量夹角;
在所述第一特征向量中确定所述目标向量夹角对应的目标第一特征向量,并将所述目标第一特征向量中的所述答案向量对应的预设答案返回至所述客户端。
13.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一所述的应答方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的应答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811168880.8A CN109359182B (zh) | 2018-10-08 | 2018-10-08 | 一种应答方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811168880.8A CN109359182B (zh) | 2018-10-08 | 2018-10-08 | 一种应答方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109359182A CN109359182A (zh) | 2019-02-19 |
CN109359182B true CN109359182B (zh) | 2020-11-27 |
Family
ID=65348571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811168880.8A Expired - Fee Related CN109359182B (zh) | 2018-10-08 | 2018-10-08 | 一种应答方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109359182B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238598A (zh) * | 2021-12-07 | 2022-03-25 | 北京妙医佳健康科技集团有限公司 | 一种问答***及其标注、审核与模型训练的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304437A (zh) * | 2017-09-25 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 一种自动问答方法、装置及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105630917A (zh) * | 2015-12-22 | 2016-06-01 | 成都小多科技有限公司 | 智能应答方法及装置 |
US20180157747A1 (en) * | 2016-12-02 | 2018-06-07 | Microsoft Technology Licensing, Llc | Systems and methods for automated query answer generation |
CN108536708A (zh) * | 2017-03-03 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 一种自动问答处理方法及自动问答*** |
CN107562792B (zh) * | 2017-07-31 | 2020-01-31 | 同济大学 | 一种基于深度学习的问答匹配方法 |
CN107704563B (zh) * | 2017-09-29 | 2021-05-18 | 广州多益网络股份有限公司 | 一种问句推荐方法及*** |
CN108345585A (zh) * | 2018-01-11 | 2018-07-31 | 浙江大学 | 一种基于深度学习的自动问答方法 |
CN108491433B (zh) * | 2018-02-09 | 2022-05-03 | 平安科技(深圳)有限公司 | 聊天应答方法、电子装置及存储介质 |
-
2018
- 2018-10-08 CN CN201811168880.8A patent/CN109359182B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304437A (zh) * | 2017-09-25 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 一种自动问答方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109359182A (zh) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109086303B (zh) | 基于机器阅读理解的智能对话方法、装置、终端 | |
CN108804641B (zh) | 一种文本相似度的计算方法、装置、设备和存储介质 | |
US10133729B2 (en) | Semantically-relevant discovery of solutions | |
CN110147551B (zh) | 多类别实体识别模型训练、实体识别方法、服务器及终端 | |
CN107590255B (zh) | 信息推送方法和装置 | |
CN111382868A (zh) | 神经网络结构搜索方法和神经网络结构搜索装置 | |
CN106294505B (zh) | 一种反馈答案的方法和装置 | |
CN110765253A (zh) | 客服场景下用户问句的回复方法、装置及设备 | |
CN111046147A (zh) | 一种问答方法、装置及终端设备 | |
CN113392640B (zh) | 一种标题确定方法、装置、设备及存储介质 | |
CN114329029B (zh) | 对象检索方法、装置、设备及计算机存储介质 | |
CN111125328A (zh) | 文本处理方法及相关设备 | |
CN112084307A (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
CN113821527A (zh) | 哈希码的生成方法、装置、计算机设备及存储介质 | |
CN117668181A (zh) | 信息处理方法、装置、终端设备以及存储介质 | |
CN112380421A (zh) | 简历的搜索方法、装置、电子设备及计算机存储介质 | |
CN110502620B (zh) | 导诊相似问题对生成方法、***及计算机设备 | |
CN117114063A (zh) | 用于训练生成式大语言模型和用于处理图像任务的方法 | |
CN111882048A (zh) | 一种神经网络结构搜索方法及相关设备 | |
CN109359182B (zh) | 一种应答方法及装置 | |
CN112307738B (zh) | 用于处理文本的方法和装置 | |
CN110516153B (zh) | 视频的智能推送方法和装置、存储介质及电子装置 | |
CN113569018A (zh) | 问答对挖掘方法及装置 | |
CN110262906B (zh) | 接口标签推荐方法、装置、存储介质和电子设备 | |
CN116431912A (zh) | 用户画像推送方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201127 |
|
CF01 | Termination of patent right due to non-payment of annual fee |