CN112395396A - 问答匹配和搜索方法、设备、***及存储介质 - Google Patents

问答匹配和搜索方法、设备、***及存储介质 Download PDF

Info

Publication number
CN112395396A
CN112395396A CN201910739811.6A CN201910739811A CN112395396A CN 112395396 A CN112395396 A CN 112395396A CN 201910739811 A CN201910739811 A CN 201910739811A CN 112395396 A CN112395396 A CN 112395396A
Authority
CN
China
Prior art keywords
answer
vector
question
matched
candidate
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.)
Pending
Application number
CN201910739811.6A
Other languages
English (en)
Inventor
谢韬
秦昌博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ecovacs Robotics Suzhou Co Ltd
Ecovacs Commercial Robotics Co Ltd
Original Assignee
Ecovacs Robotics Suzhou Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ecovacs Robotics Suzhou Co Ltd filed Critical Ecovacs Robotics Suzhou Co Ltd
Priority to CN201910739811.6A priority Critical patent/CN112395396A/zh
Publication of CN112395396A publication Critical patent/CN112395396A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种问答匹配和搜索方法、设备、***及存储介质。在本申请实施例中,首先对待匹配问题进行向量化处理,得到对应的问题向量;之后将问题向量在已知答案向量中检索,得到至少一个候选答案向量;并从至少一个候选答案向量对应的答案中,获取待匹配问题的答案。这种问答匹配方式,直接将问题向量与答案向量进行匹配,无需查询已有问题,可节约问答匹配时间,进而有助于提高问答匹配效率。

Description

问答匹配和搜索方法、设备、***及存储介质
技术领域
本申请涉及人工智能技术领域,尤其涉及一种问答匹配和搜索方法、设备、***及存储介质。
背景技术
目前,在许多应用场景中,存在问答匹配需求。例如,用户可通过智能终端向问答平台发起问题咨询,问答平台需要为用户咨询的问题匹配合适的答案并返回给用户。又例如,人机交互***中,用户可以与机器人进行语音问答交互。
现有问答匹配方式通常是,将用户问题和已有问题进行匹配,找到与用户问题匹配的已有问题,并将该已有问题对应的答案返回给用户。但是,这种问答匹配方式的效率较低。
发明内容
本申请的多个方面提供一种问答匹配和搜索方法、设备、***及存储介质,用以节约问答匹配时间,进而有助于提高问答匹配的效率。
本申请实施例提供一种问答匹配方法,包括:
获取待匹配问题;
将所述待匹配问题进行向量化处理,得到问题向量;
将所述问题向量在已知答案向量中进行检索,以得到至少一个候选答案向量;
从所述至少一个候选答案向量对应的答案中,获取所述待匹配问题的答案。
本申请实施例提供一种计算机设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序、已知答案向量以及所述已知答案向量对应的答案;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
获取待匹配问题;将所述待匹配问题进行向量化处理,得到问题向量;将所述问题向量在已知答案向量中进行检索,以得到至少一个候选答案向量;以及从所述至少一个候选答案向量对应的答案中,获取所述待匹配问题的答案。
本申请实施例还提供一种终端设备,包括:存储器、处理器和通信组件;
其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
向服务端设备发送待匹配问题,以供所述服务端设备基于所述待匹配问题的问题向量在已知答案向量中进行检索而获取所述待匹配问题的答案并返回;
接收所述待匹配问题的答案。
本申请实施例还提供一种问答匹配***,包括:终端设备和服务端设备;
其中,所述终端设备,用于向所述服务端设备发送待匹配问题;
所述服务端设备,用于:将所述待匹配问题进行向量化处理,得到问题向量;将所述问题向量在已知答案向量中进行检索,以得到至少一个候选答案向量;以及从所述至少一个候选答案向量对应的答案中,获取所述待匹配问题的答案;并将所述待匹配问题的答案返回给所述终端设备。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器上述问答匹配方法中的步骤。
本申请实施例还提供一种搜索方法,包括:
获取待搜索关键词;
将所述待搜索关键词进行向量化处理,得到关键词向量;
将所述关键词向量在已知信息向量中进行搜索,以得到至少一个候选信息向量;
从所述至少一个候选信息向量对应的信息中,获取所述待搜索关键词对应的搜索结果。
本申请实施例还提供一种计算机设备,包括:存储器和处理器;
其中,所述存储器,用于存储计算机程序、已知信息向量以及所述已知信息向量对应的信息;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:获取待搜索关键词;将所述待搜索关键词进行向量化处理,得到关键词向量;将所述关键词向量在已知信息向量中进行搜索,以得到至少一个候选信息向量;从所述至少一个候选信息向量对应的信息中,获取所述待搜索关键词对应的搜索结果。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述搜索方法中的步骤。
在本申请实施例中,首先对待匹配问题进行向量化处理,得到对应的问题向量;之后将问题向量在已知答案向量中检索,得到至少一个候选答案向量;并从至少一个候选答案向量对应的答案中,获取待匹配问题的答案。这种问答匹配方式,直接将问题向量与答案向量进行匹配,无需查询已有问题,可节约问答匹配时间,进而有助于提高问答匹配效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种问答匹配方法的流程示意图;
图2a和图2b为本申请实施例提供的答案空间划分示意图;
图3为本申请实施例提供的一种计算机设备的结构示意图;
图4a为本申请实施例提供的一种终端设备的结构示意图;
图4b为本申请实施例提供的一种问答匹配***的结构示意图;
图5为本申请实施例提供的一种搜索方法的流程示意图;
图6为本申请实施例提供的另一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有问答匹配效率较低的技术问题,本申请实施例提供一种解决方案,基本思路是:首先对待匹配问题进行向量化处理,得到对应的问题向量;之后将问题向量在已知答案向量中检索,得到至少一个候选答案向量;并从至少一个候选答案向量对应的答案中,获取待匹配问题的答案。这种问答匹配方式,直接将问题向量与答案向量进行匹配,无需查询已有问题,可节约问答匹配时间,进而有助于提高问答匹配效率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的一种问答匹配方法的流程示意图。如图1所示,该方法包括:
101、获取待匹配问题。
102、将待匹配问题进行向量化处理,得到问题向量。
103、将问题向量在已知答案向量中进行检索,以得到至少一个候选答案向量。
104、从至少一个候选答案向量对应的答案中,获取待匹配问题的答案。
在本实施例中,待匹配问题为用户提问的问题。其中,计算机设备的实现形式不同,其获取待匹配问题的方式有所不同。例如,在一些实施例中,计算机设备具有语音识别功能,则用户可向计算机设备发送语音信号,该语音信号包含待匹配问题。相应地,计算机设备可接收该语音信号,并从中解析出待匹配问题。在另一些实施例中,计算机设备提供一人机交互界面,用户可通过该人机交互界面,输入待匹配问题。相应地,计算机设备响应于用户在人机交互界面输入问题的操作,将用户输入的问题作为待匹配问题。在这些实施例中,计算机设备可为智能手机、可穿戴设备、智能镜子、智能音响、平板电脑、机器人等智能设备。在又一些实施例中,计算机设备为服务端设备,例如在线客服等等,则计算机设备可接收用户通过其终端设备发送的问题,并将接收到的问题作为待匹配问题。其中,用户可通过其终端设备以语音方式或文本方式等多种方式向服务端设备发送待匹配问题。
进一步,在步骤102中,计算机设备将待匹配问题进行向量化处理,得到待匹配问题对应的问题向量,以便进行向量化检索,向量化检索是指采用问题向量在已知答案向量中进行检索的方式。关于对待匹配问题进行向量化处理的具体实施方式将在下文进行描述,在此暂不赘述。进一步,在步骤103中,可将待匹配问题的问题向量在已知答案向量库中进行检索,得到至少一个候选答案向量。接着,在步骤104中,从这些候选答案向量对应的答案中,获取待匹配问题的答案。
在本实施例中,计算机设备存储有已知答案向量。已知答案向量的数量为多个,多个是指2个或2个以上。每个答案向量对应一个答案。其中,答案向量的数量越多,其答案库越丰富,后续为待匹配问题匹配出的答***率越高。
可选地,在一些实施例中,在获取待匹配问题对应的答案之后,还可以将待匹配问题对应的答案输出给用户。本实施例中,并不限定计算机设备输出待匹配问题对应的答案的方式。例如,在一些实施例中,计算机设备可通过其上的音频组件播放待匹配问题的答案。在另一些实施例中,计算机设备在其人机交互界面上展示待匹配问题的答案。在又一些实施例中,计算机设备为服务端设备,例如在线客服等等,则计算机设备将待匹配问题的答案发送给用户的终端设备,以供用户获取待匹配问题的答案。其中,计算机设备可通过以语音方式或文本方式等多种方式向用户的终端设备发送待匹配问题的答案。
在本实施例中,首先对待匹配问题进行向量化处理,得到对应的问题向量;之后将问题向量在已知答案向量中检索,得到至少一个候选答案向量;并从至少一个候选答案向量对应的答案中,获取待匹配问题的答案。这种问答匹配方式,直接将问题向量与答案向量进行匹配,无需查询已有问题,可节约问答匹配时间,进而有助于提高问答匹配效率。
另一方面,对于计算机设备来说,无需再存储已知答案对应的问题,可节约存储空间,有助于提高存储空间的利用率。
进一步,对于将待匹配问题与已有问题进行匹配来获取待匹配问题答案的方式来说,需要有大量的已知问答对进行匹配。若已知问题中没有罗列待匹配问题,则这种问答匹配方式可能无法获取待匹配问题的答案。而本实施例提供的问答匹配方式,将问题向量与答案向量进行匹配,则可降低匹配失败的概率,而且在增加语料时,只需增加答案即可,可减小工作量。
值得说明的是,在本申请各实施例中,待匹配问题不局限于以疑问方式提问的问题,也可以为普通对话中的上一句。相应地,待匹配问题的答案可为该对话中的下一句。例如,上句为“今天天气真不错”;其回答为“是的,心情也好多了”等等。
在一些实施例中,在对待匹配问题进行向量化处理时,可对待匹配问题进行分词处理,得到待匹配问题对应的词语向量。其中,分词处理中的词语可以为一个词语,也可以为一个单词。其中,单词应理解为:对于中文来说,一个单词可为一个字;对于英文来说,一个单词可为一个英文单词,等等。接着,对待匹配问题对应的词语向量进行编码转换处理,得到待匹配问题对应的问题向量。可选地,可采用word2vec模型、嵌入式语言模型(Embedding from language model,ELMo模型)、生成前向训练(Generative pre-trainmodel,GPT)模型或基于变形器的双向编码表征(Bidirectional EncoderRepresentations from Transformers,BERT)模型等词向量模型对待匹配问题进行向量化处理。
进一步,在利用word2vec模型、ELMo模型、GPT模型或BERT模型对待匹配问题进行向量化处理之前,还需对这些词向量模型进行训练。优选地,可基于特征的方法或基于微调(fine-tuning)的方法对词向量模型进行训练。例如,对于BERT模型,可利用样本问题对BERT模型进行微调训练。其中,BERT模型使用了词块嵌入(WordPiece embedding)作为词向量,并加入了位置向量和句子切分向量。
相应地,将待匹配问题输入训练好的词向量模型,在词向量模型中对待处理问题进行向量化处理,得到待匹配问题的问题向量。
进一步,可将问题向量在已知答案向量中进行检索,得到至少一个候选答案向量。在一些实施例中,可计算已知答案向量分别与问题向量的相似度;并根据已知答案向量分别与问题向量的相似度,从已知答案向量中选择至少一个候选答案向量。优选地,可从已知答案向量中,选择与问题向量的相似度大于或等于预设的相似度阈值的答案向量,作为至少一个候选答案向量。或者,可根据指定的候选答案数量M,按照已知答案向量与问题向量的相似度从高到低的顺序,依次选取M个答案向量,作为至少一个候选答案向量。其中,M为正整数。优选地,M≥2。
可选地,在计算已知答案向量分别与问题向量的相似度时,可计算已知答案向量分别与问题向量之间的距离,并将已知答案向量分别与问题向量之间的距离,作为这些答案向量分别与问题向量的相似度。可选地,可计算已知答案向量分别与问题向量之间的余弦距离、欧式距离、马氏距离、马哈顿距离或汉明距离等,但不限于此。
在又一些实施例中,考虑到若将问题向量在已知答案向量中进行逐一匹配得到至少一个候选答案向量的方式,复杂度较高、检索效率较低。为了提升检索效率,在本实施例中,可利用近似最近邻算法,对已知答案向量进行空间划分,得到多层答案向量。其中,近似最近邻(Approximate nearest neighbor,ANN)算法可以为Annoy算法、局部敏感哈希算法、矢量量化算法或K最近邻(KNN)算法等,但不限于此。
相应地,基于上述多层答案向量,在将问题向量在已知答案向量中进行检索时,可根据指定的候选答案数量,从多层答案空间中确定问题向量所属的目标答案子空间;进一步,从目标答案子空间包含的答案向量中选择至少一个候选答案向量。这种检索方式,可迅速找到问题答案所属的目标答案子空间,有助于提高检索效率,进而提高后续问答匹配的效率。
进一步,可计算目标答案子空间包含的各答案向量分别与问题向量的相似度,并根据目标答案子空间包含的答案向量分别与问题特征向量的相似度,从目标答案子空间中的答案特征向量中选择至少一个候选答案特征向量。这样,问题向量只需目标答案子空间中的答案向量进行相似度计算,可降低计算复杂度,有助于进一步提高检索效率,进而可进一步提高后续问答匹配的效率。其中,关于计算目标答案子空间包含的各答案向量分别与问题向量的相似度以及从目标答案子空间中的答案特征向量中选择至少一个候选答案特征向量的具体实施方式可参见上述实施例的相关内容,在此不再赘述。
下面以利用Annoy算法为例,对已知答案向量进行空间划分以及将问题向量在已知答案向量中进行检索的具体实施方式进行示例性说明。
Annoy算法可将已知答案向量建立成一棵二叉树,即多层答案向量空间呈二叉树结构,进而在问题向量在已知答案向量中检索时,其检索的时间复杂度降低为O(logN)。其中,N为已知答案向量的数量。下面结合图2a和图2b,对利用Annoy算法为例,对对已知答案向量进行空间划分的过程进行示例性说明。在图2a和图2b中,为了便于图示,用圆点标识已知答案向量。
步骤1:在已知答案向量中随机选取两个答案向量,并以这两个答案向量为初始中心节点,执行聚类数为2的K均值(K-means)聚类过程,最终产生收敛后的两个聚类中心向量,如图2a中五角星所示。
步骤2:两个聚类中心向量组成一个超平面(图2a中虚线所示),建立该超平面的等距垂直超平面,如图2a中实线所示,该等距垂直超平面将已知答案向量组成的全空间分成A和B两部分,即分成A和B两个答案子空间。即等距垂直超平面即为答案子空间A和B对应的超平面1。
步骤3:在划分出的答案子空间内采用步骤2中的方法进行不停的递归迭代继续划分,直至每个答案子空间剩下的答案向量的数量小于或等于K个。其中,K为预设的每个答案子空间中最多包含的答案向量数。
至此,已知答案向量被划分成多层答案空间,且多层答案空间形成一棵二叉树。其中,二叉树的根节点表示已知答案向量构成的全空间,二叉树上每一层中对应同一父结点的左右子树分别表示该父结点对应的答案空间划分为的两个答案子空间。例如,如图2b所示,超平面2将答案子空间A进一步划分为答案子空间A1和A2,超平面3将答案子空间B进一步划分为答案子空间B1和B2。则,父结点A对应的左右子树分别表示答案子空间A1和A2;父结点B对应的左右子树分别表示答案子空间B1和B2。
在本申请实施例中,将父节点对应的答案空间划分为两个答案子空间的超平面,定义为两个答案子空间对应的超平面。即答案子空间A1和A2对应的超平面为超平面2,答案子空间B1和B2对应的超平面为超平面3。
基于上述二叉树,在从多层答案空间中确定问题向量所属的目标答案子空间时,可根据待匹配问题对应的问题向量与二叉树上各层左右子树对应的超平面之间的几何关系,确定对二叉树的遍历方向,并沿着遍历方向对所述二叉树进行遍历,直到找到所表示的答案子空间包含的答案向量的数量小于指定的候选答案数量M的目标子树为止;并将目标子树的父结点代表的答案子空间作为问题向量所属的目标答案子空间。其中,所表示的答案子空间包含的答案向量的数量小于指定的候选答案数量M的目标子树是指:在遍历过程中,首次出现的所表示的答案子空间包含的答案向量的数量小于指定的候选答案数量M的子树。
例如,如图2a和图2b所示,答案子空间A和B分别表示根节点的左右子树;答案子空间A1和A2分别表示父结点A的左右子树;答案子空间B1和B2分别表示父结点B的左右子树;则在确定问题向量对二叉树的遍历方向时,可先确定问题向量与答案子空间A和B对应的超平面1之间的几何关系;进一步根据问题向量与答案子空间A和B对应的超平面1之间的几何关系,确定问题向量是属于答案子空间A,还是属于答案子空间B。进一步,假设问题向量属于答案子空间A,则进一步确定问题向量与答案子空间A1和A2对应的超平面2之间的几何关系,并根据该几何关系,确定问题向量是属于答案子空间A1,还是属于答案子空间A2。进一步,假设问题向量属于答案子空间A2,则对二叉树的遍历方向为:已知答案向量构成的全空间->答案子空间A->答案子空间A2,按照上述方式依次遍历,直至找到包含答案向量的数量小于指定的候选答案数量M的答案子空间,并将包含答案向量的数量小于指定的候选答案数量M的答案子空间的上层子空间作为问题答案所属的目标答案子空间。进一步,从目标答案子空间包含的各答案向量中,选择至少一个候选答案向量。
在本申请实施例中,可从至少一个候选答案向量对应的答案中,获取待匹配问题的答案。可选地,可计算至少一个候选答案向量对应的答案分别与问题答案匹配的相关性得分;并从至少一个候选答案向量对应的答案中,选择最高相关性得分对应的答案,作为待匹配问题的答案。
进一步,在计算至少一个候选答案向量对应的答案分别与问题答案匹配的相关性得分时,可将至少一个候选答案向量对应的答案和待匹配问题输入排序模型,并利用排序模型,计算至少一个候选答案向量对应的答案分别与问题答案匹配的相关性得分。其中,排序模型可以为:词义集中架构(Representation-Focused Architecture)模型或交互集中架构(Interaction-Focused Architecture)模型。其中,词义集中架构模型的基本假设是,相关性取决于输入文本的组合意义。交互集中架构模型的基本假设是,相关性本质上是输入文本之间的关系,因此直接从交互中学习而不是从单个表示中学习会更有效。进一步,词义集中架构模型可以为深层结构语义模型(Deep Structured Semantic Model,DSSM)、Architecture-I(Arc-I)模型、卷积神经张量网络(Converlutional neural tensornetwork,CNTN)或卷积潜在语义模型(Convolutional latent semantic model,CLSM)等,但不限于此。交互集中架构模型可以为深度相关匹配模型(Deep relevance matchingmodel,DRMN)、深度文本匹配模型(Kernel based neural model for document ranking,K-NRM)、Architecture-I I(Arc-II)或Match-SRNN等,但不限于此。
在本实施例中,在将至少一个候选答案向量对应的答案和待匹配问题输入排序模型之前,还可以对排序模型进行模型训练。可利用样本问答对,对初始排序模型进行训练,得到排序模型。其中,初始排序模型的输出为样本答案问答对中各问题与其答案的相关性得分。其中,初始排序模型为排序模型的初始训练模型,即二者超参数相同,对初始排序模型训练的过程,即对初始训练模型中的可学习参数进行训练,得到排序模型。
进一步,在对排序模型进行训练时,可将损失函数最小化为训练目标,利用样本问答对输入进行模型训练,得到排序模型。其中,损失函数根据模型训练得到的样本问答对中各问题与其答案的相关性得分以及样本问答对中各问题与其答案的实际相关性得分确定的。在样本问答对中,每个样本问题都有唯一的样本答案,即每个样本问答对的样本问题和样本答案的实际相关性得到为1。相应地,损失函数可表示为初始排序模型输出的相关性得分与1差值的绝对值。
可选地,在对排序模型进行训练时,可基于微调(fine-tuning)的方法对初始排序模型进行训练,可训练排序模型中的部分网络,参与训练的网络模型较小,有助于提高模型训练的速率,进而有助于减小计算机设备的***压力。
可选地,排序模型可包括:M层子网络。其中,M≥2,且为整数。进一步,在对排序模型进行训练时,还可先利用样本语料对排序模型中的前N层子网络进行预训练。其中,N<M,且为正整数。优选地,N=M-1。进一步,可采用多种方式对前N层子网络进行预训练。例如,可以遮蔽语言预测和下一句语言预测的准确性最高为训练目标,利用样本语料对前N层子网络进行预训练。其中,遮蔽语言预测可采用遮蔽语言模型(Masked language model,MLM)的算法逻辑。又例如,可以单词上下文预测该单词的准确率最高为训练目标,利用样本语料对前N层子网络进行预训练。又例如,可以单词的上文预测该单词的准确率最高为训练目标,利用样本语料对前N层子网络进行预训练;等等,但不限于此。
进一步,样本语料可以为任意语料,例如可以为任意句子、任意文章、任意问答对等等。优选地,样本语料为与问答匹配所应用的应用场景相关的问答对,这样可提高后续对初始排序模型进行训练的准确率。
进一步,在对排序模型进行训练时,可以上述损失函数最小化为训练目标,利用样本问答对上述经过预训练后的前N层子网络以及排序模型中未经预训练的后(M-N)层子网络进行微调训练,得到排序模型。其中,样本问答对可为与问答匹配所应用的应用场景相关的问答对,这样可提高后续问答匹配的正确率。例如,对于在线客服的应用场景,样本问答对可以为购物场景经常涉及的问答对。又例如,对于天气预告的应用场景,样本问答对可以为与用户获取天气情况相关的问答对;等等。
可选地,上述排序模型可为BERT模型、GPT模型或ELMo模型等等,但不限于此。
可选地,上述对待匹配问题进行向量处理,可将待匹配问题输入上述排序模型,并将排序模型的中间计算结果作为问题向量。例如,可选用排序模型中的预训练模型的输出结果作为问题向量。当然,对于上述已知答案向量对应的答案进行向量处理,也可采用该方法。
下面以一个具体实施例为例,对本申请实施例提供的问答匹配方法,进行实施例说明。
假设待匹配问题Q为:你喜欢我吗?则在本实施例中,先将待匹配问题Q进行向量化处理,得到问题向量Vq。进一步,将问题向量Vq在已知答案向量中进行检索。可选地,在问题向量Vq所属的目标答案子空间包含的答案向量中,与问题向量Vq的余弦距离最近的8个候选答案向量为Va1,Va2,…,Va8,对应的答案分别为A1,A2,…,A8。其结果如下表1所示:
表1候选答案向量列表
Figure BDA0002163560310000131
进一步,将上述待匹配问题Q和8个候选向量对应的答案分别输入排序模型,计算8个候选向量对应的答案分别与待匹配问题Q的相关性得分,得到结果如下表2所示:
表2相关性得分列表
待匹配问题 答案 相关性得分
你喜欢我吗 可是我不喜欢你 0.9926
你喜欢我吗 有啊,我喜欢喜欢我的人 0.9928
你喜欢我吗 不管你喜不喜欢我,我都喜欢你 0.9914
你喜欢我吗 你喜欢我也没用,我有喜欢的人了 0.9924
你喜欢我吗 我喜欢你就好啦,单恋也是恋啊 0.9912
你喜欢我吗 既然喜欢我,怎么连个么么哒都没有 0.9960
你喜欢我吗 除了你,我还喜欢我自己 0.9752
你喜欢我吗 喜欢你,没道理 0.9873
进一步,根据候选答案向量对应的答案与问题答案的相关性得分,选择得分最高的答案作为待匹配问题Q的答案。即上述表2中,最高相关性得分(0.9960)对应的答案为“既然喜欢我,怎么连个么么哒都没有”,即将该答案作为待匹配问题Q的答案。进一步,可输出待匹配问题的答案。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器上述问答匹配方法中的步骤。
图3为本申请实施例提供的一种计算机设备的结构示意图。如图3所示,该计算机设备包括:存储器30a和处理器30b。
其中,存储器30a,用于存储计算机程序、已知答案向量以及已知答案向量对应的答案。
处理器30b耦合至存储器30a,用于执行计算机程序以用于:获取待匹配问题;将待匹配问题进行向量化处理,得到问题向量;将问题向量在已知答案向量中进行检索,以得到至少一个候选答案向量;以及从至少一个候选答案向量对应的答案中,获取待匹配问题的答案。
在一些实施例中,处理器30b在将问题向量在已知答案向量中进行检索时,具体用于:根据指定的候选答案数量,从多层答案空间中确定问题向量所属的目标答案子空间,其中,已知答案向量被划分至多层答案空间中;从目标答案子空间包含的各答案向量中,选择至少一个候选答案向量。
可选地,多层答案空间形成一棵二叉树,二叉树的根节点表示已知答案向量构成的全空间,二叉树上每一层中对应同一父结点的左右子树分别表示父结点对应的答案空间划分为的两个答案子空间。
相应地,处理器30b在根据指定的候选答案数量,从多层答案空间中确定问题向量所属的目标答案子空间时,具体用于:根据问题向量与二叉树上各层左右子树对应的超平面之间的几何关系,确定对二叉树的遍历方向,并沿着遍历方向对二叉树进行遍历,直到找到所表示的答案子空间包含的答案向量的数量小于指定的候选答案数量的目标子树为止;将目标子树的父结点代表的答案子空间作为问题向量所属的目标答案子空间。
进一步,处理器30b在从目标答案子空间包含的各答案向量中选择至少一个候选答案向量时,具体用于:计算目标答案子空间包含的各答案向量分别与问题向量的相似度;根据目标答案子空间包含的答案向量分别与问题特征向量的相似度,从目标答案子空间中的答案特征向量中选择至少一个候选答案特征向量。
可选地,处理器30b在从多层答案空间中确定问题向量所属的目标答案子空间之前,还用于:利用近似最近邻算法,对已知答案向量进行空间划分,以得到多层答案空间。
在另一些实施例中,处理器30b在从至少一个候选答案向量对应的答案中获取待匹配问题的答案时,具体用于:计算至少一个候选答案向量对应的答案分别与待匹配问题的相关性得分;从至少一个候选答案向量对应的答案中,选择最高相关性得分对应的答案,作为待匹配问题的答案。
进一步,处理器30b在计算至少一个候选答案向量对应的答案分别与待匹配问题的相关性得分时,具体用于:将至少一个候选答案向量对应的答案和待匹配问题输入排序模型;利用排序模型,计算至少一个候选答案向量对应的答案分别与待匹配问题的相关性得分。
相应地,处理器30b在将至少一个候选答案向量对应的答案和待匹配问题输入排序模型之前,还用于:以损失函数最小化为训练目标,利用样本问答对进行模型训练,得到排序模型;损失函数是根据模型训练得到的样本问答对中各问题与其答案的相关性得分以及样本问答对中各问题与其答案的实际相关性得分确定的。
进一步,处理器30b在将样本问答对输入初始排序模型进行训练时,具体用于:以遮蔽语言预测和下一句预测的准确性最高为训练目标,利用样本语料对排序模型中的前N层子网络进行预训练;并以损失函数最小化为训练目标,利用样本问答对对经过预训练后的前N层子网络以及排序模型中未经预训练的后(M-N)层子网络进行微调训练,得到排序模型;其中,所述排序模型包含M层子网络,M≥2,且为整数;N<M,且为正整数。可选地,初始排序模型为BERT模型、GPT模型或ELMo模型。
在一些实施例中,计算机设备还包括:音频组件30c。相应地,处理器30b在获取待匹配问题时,具体用于:通过音频组件30c接收用户发出的语音信号,该语音信号包括待匹配问题;从语音信号中解析出待匹配问题。相应地,处理器30b在从至少一个候选答案向量对应的答案中获取待匹配问题的答案之后,还用于:通过音频组件30c播放待匹配问题的答案。
在另一些实施例中,计算机设备还包括:显示屏30d。其中,显示屏30d上展示有人机交互界面。处理器30b在获取待匹配问题时,具体用于:响应于用户在人机交互界面上输入问题的操作,获取用户输入的问题作为待匹配问题。相应地,处理器30b在从至少一个候选答案向量对应的答案中获取待匹配问题的答案之后,还用于:在人机交互界面上展示待匹配问题的答案。
在又一些实施例中,该计算机设备还包括:通信组件30e。若计算机设备还可实现为服务端设备,处理器30b在获取待匹配问题时,具体用于:通过通信组件30e接收用户发送的问题,作为待匹配问题。相应地,处理器30b在从至少一个候选答案向量对应的答案中获取待匹配问题的答案之后,还用于:将待匹配问题的答案发送给用户的终端设备,以供用户获取待匹配问题的答案。
在一些可选实施方式中,如图3所示,该计算机设备还可以包括:电源组件30f。图3中仅示意性给出部分组件,并不意味着计算机设备必须包含图3所示全部组件,也不意味着计算机设备只能包括图3所示组件。
另外,除图3所示组件之外,计算机设备还可以根据应用需求设置其它组件。例如,若计算机设备为智能机器人、智能手机、可穿戴设备等,还可包括摄像头、传感器等组件;又例如,若计算机设备为智能镜子,还可包括:镜面、支架等组件;等等。
在本实施例中,存储器30a,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算机设备上的操作。其中,处理器30b可执行存储器30a中存储的计算机程序,以实现相应控制逻辑。存储器30a可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本实施例中,音频组件30c可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件30e发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。例如,对于具有语言交互功能的计算机设备,可通过音频组件30c实现与用户的语音交互等。
在本实施例中,显示屏30d可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
在本实施例中,通信组件30e被配置为便于计算机设备和其他设备之间有线或无线方式的通信。计算机设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在本实施例中,电源组件30f被配置为计算机设备的各种组件提供电力。电源组件30f可以包括电源管理***,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本实施例提供的计算机设备,可对待匹配问题进行向量化处理,得到对应的问题向量;之后将问题向量在已知答案向量中检索,得到至少一个候选答案向量;并从至少一个候选答案向量对应的答案中,获取待匹配问题的答案。这种问答匹配方式,直接将问题向量与答案向量进行匹配,无需查询已有问题,可节约问答匹配时间,进而有助于提高问答匹配效率。
另一方面,对于计算机设备来说,无需再存储已知答案对应的问题,可节约存储空间,有助于提高存储空间的利用率。
图4a为本申请实施例提供的一种终端设备的结构示意图。如图4a所示,该终端设备包括:存储器41、处理器42和通信组件43。
在本实施例中,存储器41用于存储计算机程序。处理器42耦合至所述存储器,用于执行所述计算机程序以用于:通过通信组件43向服务端设备发送待匹配问题,以供服务端设备基于待匹配问题的问题向量在已知答案向量中进行检索而获取待匹配问题的答案并返回;以及通过通信组件43接收待匹配问题的答案。其中,服务端设备获取待匹配问题的答案的具体实施方式可参见上述实施例的相关内容,在此不再赘述。
在一些实施例中,终端设备还包括:显示屏44。可选地,处理器42还可将待匹配问题的答案展示在显示屏44上。
进一步,终端设备还包括:音频组件45。可选地,处理器42还可通过音频组件45播放待匹配问题的答案。
在一些可选实施例中,该终端设备还可以包括:电源组件46。图4a中仅示意性给出部分组件,并不意味着终端设备必须包含图4a所示全部组件,也不意味着终端设备只能包括图4a所示组件。其中,关于存储器、处理器、通信组件、音频组件、电源组件以及显示屏的具体实现形式,均可参见上述实施例的相关内容,在此不再赘述。
本实施例提供的终端设备,与服务端设备相互配合将待匹配问题的问题向量在已知答案向量中检索,获取待匹配问题的答案。这种问答匹配方式,直接将问题向量与答案向量进行匹配,无需查询已有问题,可节约问答匹配时间,进而有助于提高问答匹配效率。
除了上述计算机设备和终端设备之外,本申请实施例还提供一种问答匹配***。如图4b所示,该***包括:终端设备40a和服务端设备40b。
其中,服务端设备40b和终端设备40a之间可以是无线或有线连接。可选地,服务端设备40b可以通过移动网络和终端设备40a通信连接,相应地,移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、5G、WiMax等中的任意一种。可选地,服务端设备40b也可以通过蓝牙、WiFi、红外线等方式和终端设备40a通信连接。
在本实施例中,服务端设备40b是指可以进行答案向量和答案管理,可响应终端设备40a的请求,为用户提供与用户的问题匹配的答案的计算机设备,一般具备承担服务并保障服务的能力。服务端设备40b可以为单一服务器设备,也可以云化的服务器阵列,或者为云化的服务器阵列中运行的虚拟机(Virtual Machine,VM)。另外,服务端设备也可以指具备相应服务能力的其他计算设备,例如电脑等终端设备(运行服务程序)等。
在本实施例中,终端设备40a是指用户使用的,具有用户所需上网、通信等功能的计算机设备,例如可以是智能手机、平板电脑、个人电脑、穿戴设备等。终端设备40a通常包括至少一个处理单元和至少一个存储器。处理单元和存储器的数量取决于终端设备40a的配置和类型。存储器可以包括易失性的,例如RAM,也可以包括非易失性的,例如只读存储器(Read-Only Memory,ROM)、闪存等,或者也可以同时包括两种类型的。存储器内通常存储有操作***(Operating System,OS)、一个或多个应用软件,例如与服务器10a对应的即时通信类软件,也可以存储有程序数据等。除了处理单元和存储器之外,终端设备40a也会包括网卡芯片、IO总线、音视频组件等基本配置。可选地,根据终端设备40a的实现形式,终端设备40a也可以包括一些***设备,例如键盘、鼠标、输入笔、打印机等。这些***设备在本领域中是众所周知的,在此不做赘述。
在本实施例中,终端设备40a用于向服务端设备40b发送待匹配问题。相应地,服务端设备40b接收待匹配问题,并将待匹配问题进行向量化处理,得到问题向量;将问题向量在已知答案向量中进行检索,以得到至少一个候选答案向量;以及从至少一个候选答案向量对应的答案中,获取待匹配问题的答案。
其中,服务端设备40b对待匹配问题进行向量化处理、将问题向量在已知答案向量中进行检索以及从至少一个候选答案向量对应的答案中,获取待匹配问题的答案的具体实施方式,均可参见上述实施例的相关内容,在此不再赘述。
可选地,服务端设备40b可将待匹配问题的答案发送给终端设备40a。相应地,终端设备40a接收待匹配问题的答案,并输出该答案,以供用户获取待匹配问题的答案。
在本实施例提供的问答匹配***中,服务端设备可对待匹配问题进行向量化处理,得到对应的问题向量;之后将问题向量在已知答案向量中检索,得到至少一个候选答案向量;并从至少一个候选答案向量对应的答案中,获取待匹配问题的答案。这种问答匹配方式,直接将问题向量与答案向量进行匹配,无需查询已有问题,可节约问答匹配时间,进而有助于提高问答匹配效率。
另一方面,对于服务端设备来说,无需再存储已知答案对应的问题,可节约存储空间,有助于提高存储空间的利用率。
本申请实施例还提供一种搜索方法,下面对本申请实施例提供的搜索方法进行示例性说明。
图5为本申请实施例提供的一种搜索方法的流程示意图。如图5所示,该方法包括:
501、获取待搜索关键词。
502、将待搜索关键词进行向量化处理,得到关键词向量。
503、将关键词向量在已知信息向量中进行搜索,以得到至少一个候选信息向量。
504、从至少一个候选信息向量对应的信息中,获取所述待搜索关键词对应的搜索结果。
在本实施例中,待搜索关键词可以为词语、单词或句子等,但不限于此。其中,待搜索关键词的数量可以为1个或多个。例如,待搜索关联词可以为多个词语,或者也可为上述待匹配问题。在本申请实施例中,多个是指2个或2个以上。其中,计算机设备的实现形式不同,其获取待搜索关键词的方式有所不同。计算机设备的实现形式以及获取待搜索关键词的具体实施方式可参见上述问答匹配方法中的相关内容,在此不再赘述。
进一步,在步骤502中,计算机设备将待搜索关键词进行向量化处理,得到待搜索关键词对应的关键词向量,以便进行向量化搜索。向量化搜索是指采用关键词向量在已知信息向量中进行搜索的方式。基于此,在步骤503中,可将待搜索关键词的关键词向量在已知信息向量中进行检索,得到至少一个候选信息向量。接着,在步骤504中,从这些候选信息向量对应的答案中,获取待搜索关键词对应的搜索结果。
其中,已知信息向量的数量为多个。其中,信息向量的数量越多,其信息库越丰富,后续为待搜索关键词匹配出结果信息的准确率越高。每个信息向量对应一条信息,是对一条信息进行向量化得到的结果。其中,将待搜索关键词进行向量化处理的具体实施方式,可参见上述将待匹配问题进行向量化处理的相关内容,在此不再赘述。
其中,在获取待搜索关键词对应的搜索结果之后,还可以将搜索结果输出给用户。在本实施例中,并不限定计算机设备输出搜索结果的方式。例如,在一些实施例中,计算机设备可通过其上的音频组件播放待搜索关键词对应的搜索结果。在另一些实施例中,计算机设备可在其人机交互界面上展示待搜索关键词对应的搜索结果。在又一些实施例中,计算机设备为服务端设备,例如在线客服等等,则计算机设备将待搜索关键词对应的信息发送给用户的终端设备,以供用户获取待搜索关键词对应的搜索结果。其中,计算机设备可通过以邮件、短消息、应用内消息等方式向用户的终端设备发送待搜索关键词对应的搜索结果。
在本实施例中,首先对待搜索关键词进行向量化处理,得到对应的关键词向量;之后将关键词向量在已知信息向量中检索,得到至少一个候选信息向量;并从至少一个候选信息向量对应的信息中,获取待搜索关键词对应的搜索结果。这种搜索方式,直接将关键词向量与信息向量进行匹配,无需查询已有关键词,可节约搜索时间,进而有助于提高搜索效率。
另一方面,对于计算机设备来说,无需再存储已知信息对应的关键词,可节约存储空间,有助于提高存储空间的利用率。
在一些应用场景中,预先存储有关键词与结果词的映射关系。在这些应用场景中,现有搜索方式一般是:根据待搜索关键词在已知关键词与结果词映射关系中进行匹配,获取被匹配中的关键词对应的结果词作为待搜索关键词的搜索结果。但是,在本实施例中,预先对关键词与结果词映射关系中的结果词进行向量化处理,得到结果词的向量(可简称为结果词向量),并将结果词的向量作为已知信息向量。基于此,在搜索过程中,可以根据待搜索关键词对应的关键词向量,在关键词与结果词映射关系中结果词的向量中进行搜索,得到至少一个候选结果词向量,进而根据至少一个候选结果词向量对应的结果词中,得到待搜索关键词对应的搜索结果。在该应用场景中,前述“已知信息向量”主要是指关键词与结果词映射关系中结果词的向量。其中,结果词是与关键词匹配的信息,结果词可以是词语、单词、句子或段落等文本类信息,或者,结果词也可是图片、音频或视频等流媒体信息,但不限于此。
在另一些实施例中,步骤503的一种可选实施方式为:根据指定的候选信息数量,从多层信息空间中确定关键词向量所属的目标信息子空间,其中,已知信息向量被划分至多层信息空间中;并从目标信息子空间包含的各信息向量中,选择至少一个候选信息向量。这种检索方式,可迅速找到关键词向量对应的信息所属的目标信息子空间,有助于提高检索效率。
可选地,利用近似最近邻算法,对已知信息向量进行空间划分,以得到多层信息空间。其中,对已知信息向量进行空间划分的具体实施方式,可参见上述对已知答案向量进行空间划分的相关内容,在此不再赘述。
进一步,可计算目标信息子空间包含的各信息向量分别与关键词向量的相似度,并根据目标信息子空间包含的信息向量分别与关键词特征向量的相似度,从目标信息子空间中的信息特征向量中选择至少一个候选信息特征向量。这样,关键词向量只需目标信息子空间中的信息向量进行相似度计算,可降低计算复杂度,有助于进一步提高检索效率。其中,关于计算目标信息子空间包含的各信息向量分别与关键词向量的相似度以及从目标信息子空间中的信息特征向量中选择至少一个候选信息特征向量的具体实施方式可参见上述实施例的相关内容,在此不再赘述。
在一些实施例中,多层信息空间形成一棵二叉树,所述二叉树的根节点表示已知信息向量构成的全空间,二叉树上每一层中对应同一父结点的左右子树分别表示父结点对应的信息空间划分为的两个信息子空间。
基于上述二叉树,根据指定的候选信息数量,从多层信息空间中确定关键词向量所属的目标信息子空间的一种实施方式为:根据关键词向量与二叉树上各层左右子树对应的超平面之间的几何关系,确定对二叉树的遍历方向,并沿着遍历方向对二叉树进行遍历,直到找到所表示的信息子空间包含的信息向量的数量小于指定的候选信息数量的目标子树为止;并将目标子树的父结点代表的信息子空间作为关键词向量所属的目标信息子空间。
在另一些实施例中,从目标信息子空间包含的各信息向量中,选择至少一个候选信息向量的一种可选实施方式为:计算目标信息子空间包含的各信息向量分别与关键词向量的相似度;根据目标信息子空间包含的信息向量分别与关键词特征向量的相似度,从目标信息子空间中的信息特征向量中选择至少一个候选信息特征向量。
在又一些实施例中,步骤504的一种可选实施方式为:计算至少一个候选信息向量对应的信息分别与待搜索关键词的相关性得分;从至少一个候选信息向量对应的信息中,选择最高相关性得分对应的信息,作为待搜索关键词的搜索结果。
进一步,计算至少一个候选信息向量对应的信息分别与待搜索关键词的相关性得分的一种可选实施方式为:将至少一个候选信息向量对应的信息和待搜索关键词输入排序模型;利用排序模型,计算至少一个候选信息向量对应的信息分别与待搜索关键词的相关性得分。
可选地,在将至少一个候选信息向量对应的信息和待匹配关键词输入排序模型之前,还可以损失函数最小化为训练目标,利用样本问答对进行模型训练,得到排序模型;其中,损失函数是根据模型训练得到的样本关键词-结果词对中各关键词与其结果词的相关性得分以及样本关键词-结果词对中各关键词与其结果词的实际相关性得分确定的。
可选地,利用样本关键词-结果词对进行模型训练,得到排序模型的一种实施方式为:以遮蔽语言预测和下一句预测的准确性最高为训练目标,利用样本语料对排序模型中的前N层子网络进行预训练;以损失函数最小化为训练目标,利用样本关键词-结果词对对排序模型中经过预训练的前N层子网络和排序模型中未经预训练的后(M-N)层子网络进行微调训练,得到排序模型;其中,排序模型包括M层子网络,M≥2,且为整数;N<M,且N为正整数。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器上述搜索方法中的步骤。
图6为本申请实施例提供的一种计算机设备的结构示意图。如图3所示,该计算机设备包括:存储器60a和处理器60b。
其中,存储器60a,用于存储计算机程序、已知信息向量以及所述已知信息向量对应的信息。
处理器60b耦合至存储器60a,用于执行计算机程序以用于:获取待搜索关键词;将、待搜索关键词进行向量化处理,得到关键词向量;将、关键词向量在已知信息向量中进行搜索,以得到至少一个候选信息向量;从、至少一个候选信息向量对应的信息中,获取待搜索关键词对应的搜索结果。
在一些实施例中,已知信息向量可以是关键词与结果词映射关系中结果词的向量。
相应地,处理器60b在将关键词向量在已知信息向量中进行搜索之前,还用于:将关键词与结果词映射关系中的结果词进行向量化处理,得到结果词的向量,并将结果词的向量作为已知信息向量。
在另一些实施例中,处理器60b在将关键词向量在已知信息向量中进行搜索时,具体用于:根据指定的候选信息数量,从多层信息空间中确定关键词向量所属的目标信息子空间,其中,已知信息向量被划分至多层信息空间中;并从目标信息子空间包含的各信息向量中,选择至少一个候选信息向量。
可选地,处理器60b在从多层信息空间中确定关键词向量所属的目标信息子空间之前,还用于:利用近似最近邻算法,对已知信息向量进行空间划分,以得到多层信息空间。
进一步,处理器60b在从目标信息子空间包含的各信息向量中选择至少一个候选信息向量时,具体用于:计算目标信息子空间包含的各信息向量分别与关键词向量的相似度,并根据目标信息子空间包含的信息向量分别与关键词特征向量的相似度,从目标信息子空间中的信息特征向量中选择至少一个候选信息特征向量。
在一些实施例中,多层信息空间形成一棵二叉树,所述二叉树的根节点表示已知信息向量构成的全空间,二叉树上每一层中对应同一父结点的左右子树分别表示父结点对应的信息空间划分为的两个信息子空间。
基于上述二叉树,处理器60b在从多层信息空间中确定关键词向量所属的目标信息子空间时,具体用于:根据关键词向量与二叉树上各层左右子树对应的超平面之间的几何关系,确定对二叉树的遍历方向,并沿着遍历方向对二叉树进行遍历,直到找到所表示的信息子空间包含的信息向量的数量小于指定的候选信息数量的目标子树为止;并将目标子树的父结点代表的信息子空间作为关键词向量所属的目标信息子空间。
在另一些实施例中,处理器60b在从目标信息子空间包含的各信息向量中选择至少一个候选信息向量时,具体用于:计算目标信息子空间包含的各信息向量分别与关键词向量的相似度;根据目标信息子空间包含的信息向量分别与关键词特征向量的相似度,从目标信息子空间中的信息特征向量中选择至少一个候选信息特征向量。
在又一些实施例中,处理器60b在获取所述待搜索关键词对应的搜索结果时,具体用于:计算至少一个候选信息向量对应的信息分别与待搜索关键词的相关性得分;从至少一个候选信息向量对应的信息中,选择最高相关性得分对应的信息,作为待搜索关键词的搜索结果。
进一步,处理器60b在计算至少一个候选信息向量对应的信息分别与待搜索关键词的相关性得分时,具体用于:将至少一个候选信息向量对应的信息和待搜索关键词输入排序模型;利用排序模型,计算至少一个候选信息向量对应的信息分别与待搜索关键词的相关性得分。
可选地,处理器60b在将至少一个候选信息向量对应的信息和待匹配关键词输入排序模型之前,还用于:以损失函数最小化为训练目标,利用样本问答对进行模型训练,得到排序模型;其中,损失函数是根据模型训练得到的样本关键词-结果词对中各关键词与其结果词的相关性得分以及样本关键词-结果词对中各关键词与其结果词的实际相关性得分确定的。
可选地,处理器60b在利用样本关键词-结果词对进行模型训练时,具体用于:以遮蔽语言预测和下一句预测的准确性最高为训练目标,利用样本语料对排序模型中的前N层子网络进行预训练;以损失函数最小化为训练目标,利用样本关键词-结果词对对排序模型中经过预训练的前N层子网络和排序模型中未经预训练的后(M-N)层子网络进行微调训练,得到排序模型;其中,排序模型包括M层子网络,M≥2,且为整数;N<M,且N为正整数。
在一些实施例中,计算机设备还包括:音频组件60c。相应地,处理器60b在获取待搜索关键词时,具体用于:通过音频组件60c接收用户发出的语音信号,该语音信号包括待搜索关键词;从语音信号中解析出待搜索关键词。相应地,处理器60b在从至少一个候选信息向量对应的信息中获取待搜索关键词的信息之后,还用于:通过音频组件60c播放待搜索关键词对应的搜索结果。
在另一些实施例中,计算机设备还包括:显示屏60d。其中,显示屏60d上展示有人机交互界面。处理器60b在获取待搜索关键词时,具体用于:响应于用户在人机交互界面上输入关键词的操作,获取用户输入的关键词作为待搜索关键词。相应地,处理器60b在从至少一个候选信息向量对应的信息中获取待搜索关键词的搜索结果之后,还用于:在人机交互界面上展示待搜索关键词对应的搜索结果。
在又一些实施例中,该计算机设备还包括:通信组件60e。若计算机设备还可实现为服务端设备,处理器60b在获取待搜索关键词时,具体用于:通过通信组件60e接收用户发送的关键词,作为待搜索关键词。相应地,处理器60b在从至少一个候选信息向量对应的信息中获取待搜索关键词对应的搜索结果之后,还用于:将待搜索关键词对应的搜索结果发送给用户的终端设备,以供用户获取待搜索关键词对应的搜索结果。
在一些可选实施方式中,如图6所示,该计算机设备还可以包括:电源组件60f。图6中仅示意性给出部分组件,并不意味着计算机设备必须包含图6所示全部组件,也不意味着计算机设备只能包括图6所示组件。
其中,存储器、通信组件、电源组件、显示屏以及音频组件的实现形态均可参见上述实施例的相关内容,在此不再赘述。
另外,除图6所示组件之外,计算机设备还可以根据应用需求设置其它组件。例如,若计算机设备为智能机器人、智能手机、可穿戴设备等,还可包括摄像头、传感器等组件;又例如,若计算机设备为智能镜子,还可包括:镜面、支架等组件;等等。
本实施例提供的计算机设备,可对待搜索关键词进行向量化处理,得到对应的关键词向量;之后将关键词向量在已知信息向量中检索,得到至少一个候选信息向量;并从至少一个候选信息向量对应的信息中,获取待搜索关键词对应的搜索结果。这种搜索方式,直接将关键词向量与信息向量进行匹配,无需查询已有关键词,可节约搜索时间,进而有助于提高搜索效率。
另一方面,对于计算机设备来说,无需再存储已知信息对应的关键词,可节约存储空间,有助于提高存储空间的利用率。
本申请实施例提供的搜索方法还可实施在客户端-服务器(C/S)的网络***中,其中,搜索方法实施在C/S的具体实施方式可参见上述图4b所示的***架构中的相关内容,在此不再赘述。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤101和102的执行主体可以为设备A;又比如,步骤101的执行主体可以为设备A,步骤102的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (21)

1.一种问答匹配方法,其特征在于,包括:
获取待匹配问题;
将所述待匹配问题进行向量化处理,得到问题向量;
将所述问题向量在已知答案向量中进行检索,以得到至少一个候选答案向量;
从所述至少一个候选答案向量对应的答案中,获取所述待匹配问题的答案。
2.根据权利要求1所述的方法,其特征在于,所述将所述问题向量在已知答案向量中进行检索,以得到至少一个候选答案向量,包括:
根据指定的候选答案数量,从多层答案空间中确定所述问题向量所属的目标答案子空间,其中,所述已知答案向量被划分至多层答案空间中;
从所述目标答案子空间包含的各答案向量中,选择所述至少一个候选答案向量。
3.根据权利要求2所述的方法,其特征在于,所述多层答案空间形成一棵二叉树,所述二叉树的根节点表示已知答案向量构成的全空间,二叉树上每一层中对应同一父结点的左右子树分别表示所述父结点对应的答案空间划分为的两个答案子空间。
4.根据权利要求3所述的方法,其特征在于,所述根据指定的候选答案数量,从多层答案空间中确定所述问题向量所属的目标答案子空间,包括:
根据所述问题向量与所述二叉树上各层左右子树对应的超平面之间的几何关系,确定对所述二叉树的遍历方向,并沿着所述遍历方向对所述二叉树进行遍历,直到找到所表示的答案子空间包含的答案向量的数量小于所述指定的候选答案数量的目标子树为止;
将所述目标子树的父结点代表的答案子空间作为所述问题向量所属的目标答案子空间。
5.根据权利要求2所述的方法,其特征在于,在根据指定的候选答案数量,从多层答案空间中确定所述问题向量所属的目标答案子空间之前,所述方法还包括:
利用近似最近邻算法,对所述已知答案向量进行空间划分,以得到所述多层答案空间。
6.根据权利要求2所述的方法,其特征在于,所述从所述目标答案子空间包含的各答案向量中,选择所述至少一个候选答案向量,包括:
计算所述目标答案子空间包含的各答案向量分别与所述问题向量的相似度;
根据所述目标答案子空间包含的答案向量分别与所述问题特征向量的相似度,从所述目标答案子空间中的答案特征向量中选择所述至少一个候选答案特征向量。
7.根据权利要求1所述的方法,其特征在于,所述从所述至少一个候选答案向量对应的答案中,获取所述待匹配问题的答案,包括:
计算所述至少一个候选答案向量对应的答案分别与所述待匹配问题的相关性得分;
从所述至少一个候选答案向量对应的答案中,选择最高相关性得分对应的答案,作为所述待匹配问题的答案。
8.根据权利要求7所述的方法,其特征在于,所述计算所述至少一个候选答案向量对应的答案分别与所述待匹配问题的相关性得分,包括:
将所述至少一个候选答案向量对应的答案和所述待匹配问题输入排序模型;
利用所述排序模型,计算所述至少一个候选答案向量对应的答案分别与所述待匹配问题的相关性得分。
9.根据权利要求8所述的方法,其特征在于,在将所述至少一个候选答案向量对应的答案和所述待匹配问题输入排序模型之前,所述方法还包括:
以损失函数最小化为训练目标,利用样本问答对进行模型训练,得到所述排序模型;
所述损失函数是根据模型训练得到的所述样本问答对中各问题与其答案的相关性得分以及所述样本问答对中各问题与其答案的实际相关性得分确定的。
10.根据权利要求9所述的方法,其特征在于,所述以损失函数最小化为训练目标,利用样本问答对进行模型训练,得到所述排序模型,包括:
以遮蔽语言预测和下一句预测的准确性最高为训练目标,利用样本语料对排序模型中的前N层子网络进行预训练;
以所述损失函数最小化为训练目标,利用所述样本问答对对排序模型中经过预训练的前N层子网络和排序模型中未经预训练的后(M-N)层子网络进行微调训练,得到所述排序模型;
其中,所述排序模型包括M层子网络,M≥2,且为整数;N<M,且N为正整数。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述获取待匹配问题,包括:
接收用户发出的语音信号,所述语音信号包括所述待匹配问题;从所述语音信号中解析出所述待匹配问题;
或者,
响应于用户在人机交互界面上输入问题的操作,获取所述用户输入的问题作为所述待匹配问题。
12.根据权利要求11所述的方法,其特征在于,在从所述至少一个候选答案向量对应的答案中获取所述待匹配问题的答案之后,还包括:
通过音频组件播放所述待匹配问题的答案;或者,
在所述人机交互界面上展示所述待匹配问题的答案;或者,
将所述待匹配问题的答案发送给所述用户的终端设备。
13.一种计算机设备,其特征在于,包括:存储器和处理器;
其中,所述存储器,用于存储计算机程序、已知答案向量以及所述已知答案向量对应的答案;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:获取待匹配问题;将所述待匹配问题进行向量化处理,得到问题向量;将所述问题向量在已知答案向量中进行检索,以得到至少一个候选答案向量;以及从所述至少一个候选答案向量对应的答案中,获取所述待匹配问题的答案。
14.一种终端设备,其特征在于,包括:存储器、处理器和通信组件;
其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:
通过所述通信组件向服务端设备发送待匹配问题,以供所述服务端设备基于所述待匹配问题的问题向量在已知答案向量中进行检索而获取所述待匹配问题的答案并返回;
通过所述通信组件接收所述待匹配问题的答案。
15.一种问答匹配***,其特征在于,包括:终端设备和服务端设备;
其中,所述终端设备,用于向所述服务端设备发送待匹配问题;
所述服务端设备,用于:将所述待匹配问题进行向量化处理,得到问题向量;将所述问题向量在已知答案向量中进行检索,以得到至少一个候选答案向量;以及从所述至少一个候选答案向量对应的答案中,获取所述待匹配问题的答案;并将所述待匹配问题的答案返回给所述终端设备。
16.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-12任一项所述方法中的步骤。
17.一种搜索方法,其特征在于,包括:
获取待搜索关键词;
将所述待搜索关键词进行向量化处理,得到关键词向量;
将所述关键词向量在已知信息向量中进行搜索,以得到至少一个候选信息向量;
从所述至少一个候选信息向量对应的信息中,获取所述待搜索关键词对应的搜索结果。
18.根据权利要求17所述的方法,其特征在于,所述已知信息向量是关键词与结果词映射关系中结果词的向量。
19.根据权利要求18所述的方法,其特征在于,在将所述关键词向量在已知信息向量中进行搜索之前,还包括:
将关键词与结果词映射关系中的结果词进行向量化处理,得到结果词的向量,将所述结果词的向量作为所述已知信息向量。
20.一种计算机设备,其特征在于,包括:存储器和处理器;
其中,所述存储器,用于存储计算机程序、已知信息向量以及所述已知信息向量对应的信息;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于:获取待搜索关键词;将所述待搜索关键词进行向量化处理,得到关键词向量;将所述关键词向量在已知信息向量中进行搜索,以得到至少一个候选信息向量;从所述至少一个候选信息向量对应的信息中,获取所述待搜索关键词对应的搜索结果。
21.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求17-19任一项所述方法中的步骤。
CN201910739811.6A 2019-08-12 2019-08-12 问答匹配和搜索方法、设备、***及存储介质 Pending CN112395396A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910739811.6A CN112395396A (zh) 2019-08-12 2019-08-12 问答匹配和搜索方法、设备、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910739811.6A CN112395396A (zh) 2019-08-12 2019-08-12 问答匹配和搜索方法、设备、***及存储介质

Publications (1)

Publication Number Publication Date
CN112395396A true CN112395396A (zh) 2021-02-23

Family

ID=74602266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910739811.6A Pending CN112395396A (zh) 2019-08-12 2019-08-12 问答匹配和搜索方法、设备、***及存储介质

Country Status (1)

Country Link
CN (1) CN112395396A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113722452A (zh) * 2021-07-16 2021-11-30 上海通办信息服务有限公司 一种问答***中基于语义的快速知识命中方法及装置
CN113742471A (zh) * 2021-09-15 2021-12-03 重庆大学 一种普法问答***的向量检索式对话方法
WO2022228176A1 (zh) * 2021-04-25 2022-11-03 阿里巴巴(中国)有限公司 一种订单处理方法、设备及存储介质
CN116228440A (zh) * 2023-02-22 2023-06-06 自贡市第一人民医院 一种医保智能管理方法、***、装置和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160247068A1 (en) * 2013-11-01 2016-08-25 Tencent Technology (Shenzhen) Company Limited System and method for automatic question answering
CN108304437A (zh) * 2017-09-25 2018-07-20 腾讯科技(深圳)有限公司 一种自动问答方法、装置及存储介质
CN109271505A (zh) * 2018-11-12 2019-01-25 深圳智能思创科技有限公司 一种基于问题答案对的问答***实现方法
CN109710612A (zh) * 2018-12-25 2019-05-03 百度在线网络技术(北京)有限公司 向量索引的召回方法、装置、电子设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160247068A1 (en) * 2013-11-01 2016-08-25 Tencent Technology (Shenzhen) Company Limited System and method for automatic question answering
CN108304437A (zh) * 2017-09-25 2018-07-20 腾讯科技(深圳)有限公司 一种自动问答方法、装置及存储介质
CN109271505A (zh) * 2018-11-12 2019-01-25 深圳智能思创科技有限公司 一种基于问题答案对的问答***实现方法
CN109710612A (zh) * 2018-12-25 2019-05-03 百度在线网络技术(北京)有限公司 向量索引的召回方法、装置、电子设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SMALLCSER: "海量数据相似查找系列2 -- Annoy算法", Retrieved from the Internet <URL:https://blog.csdn.net/lsp1991/article/details/78127754> *
张俊林: "Bert时代的创新:Bert在NLP各领域的应用进展", Retrieved from the Internet <URL:https://cloud.tencent.com/developer/article/1446190> *
王东升;王卫民;王石;符建辉;诸峰;: "面向限定领域问答***的自然语言理解方法综述", 计算机科学, no. 08, 15 August 2017 (2017-08-15) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022228176A1 (zh) * 2021-04-25 2022-11-03 阿里巴巴(中国)有限公司 一种订单处理方法、设备及存储介质
CN113722452A (zh) * 2021-07-16 2021-11-30 上海通办信息服务有限公司 一种问答***中基于语义的快速知识命中方法及装置
CN113722452B (zh) * 2021-07-16 2024-01-19 上海通办信息服务有限公司 一种问答***中基于语义的快速知识命中方法及装置
CN113742471A (zh) * 2021-09-15 2021-12-03 重庆大学 一种普法问答***的向量检索式对话方法
CN113742471B (zh) * 2021-09-15 2023-09-12 重庆大学 一种普法问答***的向量检索式对话方法
CN116228440A (zh) * 2023-02-22 2023-06-06 自贡市第一人民医院 一种医保智能管理方法、***、装置和介质
CN116228440B (zh) * 2023-02-22 2024-04-12 自贡市第一人民医院 一种医保智能管理方法、***、装置和介质

Similar Documents

Publication Publication Date Title
CN108491433B (zh) 聊天应答方法、电子装置及存储介质
CN109635273B (zh) 文本关键词提取方法、装置、设备及存储介质
US10963499B2 (en) Generating command-specific language model discourses for digital assistant interpretation
US20200019609A1 (en) Suggesting a response to a message by selecting a template using a neural network
US20200301954A1 (en) Reply information obtaining method and apparatus
CN112164391B (zh) 语句处理方法、装置、电子设备及存储介质
CN105630856B (zh) 在线用户简档的自动聚合
CN112395396A (zh) 问答匹配和搜索方法、设备、***及存储介质
US10768954B2 (en) Personalized digital assistant device and related methods
US10963495B2 (en) Automated discourse phrase discovery for generating an improved language model of a digital assistant
CN111753060A (zh) 信息检索方法、装置、设备及计算机可读存储介质
US10929613B2 (en) Automated document cluster merging for topic-based digital assistant interpretation
US10762150B2 (en) Searching method and searching apparatus based on neural network and search engine
US11862171B2 (en) Multithreaded speech data preprocessing
US11881209B2 (en) Electronic device and control method
US11645585B2 (en) Method for approximate k-nearest-neighbor search on parallel hardware accelerators
US10936630B2 (en) Inferring topics with entity linking and ontological data
US20230350929A1 (en) Method and system for generating intent responses through virtual agents
CN111126084B (zh) 数据处理方法、装置、电子设备和存储介质
JP2020042131A (ja) 情報処理装置、情報処理方法、およびプログラム
CN108628911B (zh) 针对用户输入的表情预测
US20230351257A1 (en) Method and system for training virtual agents through fallback analysis
US11755671B2 (en) Projecting queries into a content item embedding space
CN115017914A (zh) 语言处理方法、装置、电子设备以及存储介质
US11263394B2 (en) Low-resource sentence compression system

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