CN109582970A - 一种语义度量方法、装置、设备及可读存储介质 - Google Patents
一种语义度量方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN109582970A CN109582970A CN201811520126.6A CN201811520126A CN109582970A CN 109582970 A CN109582970 A CN 109582970A CN 201811520126 A CN201811520126 A CN 201811520126A CN 109582970 A CN109582970 A CN 109582970A
- Authority
- CN
- China
- Prior art keywords
- sentence
- user
- object statement
- vector
- theme
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种语义度量方法、装置、设备及可读存储介质,方法包括:从多个候选用户中确定与目标用户相似的用户作为目标候选用户,目标用户与目标候选用户在多个主题上的语义表达相似;从目标候选用户对应的用户语句集合中,确定与目标用户的目标语句匹配的语句;从用户语句集合中获取与目标语句匹配的语句的下文语句,作为目标语句的下文语句;通过目标语句的上文语句、目标语句以及目标语句的下文语句,确定目标语句对应的、包含上下文信息的句向量。本申请提供的语义度量方案能够提升语义度量效果且适用范围较广。
Description
技术领域
本申请涉及自然语言处理技术领域,更具体地说,涉及一种语义度量方法、装置、设备及可读存储介质。
背景技术
垂直客服系统是问答系统中一种比较典型的应用,在应用时其通常会在数据库中预先录入一些问答对,系统所要做的事情是将输入的用户语句与预先录入的问答对中的问题进行语义相似度计算,确定与输入的用户语句语义相似度最大的问题,然后将该问题的答案作为输入的用户语句的回答。
将用户语句与问答对中的问题进行语义相似度计算的一个重要环节就是对输入的用户语句进行语义度量,即确定用户语句的语义向量。目前的语义度量方案均是基于当前输入的用户语句进行语义度量,这种语义度量方案虽然实现简单,但适用范围有限,仅适用于单轮问答的场景。
发明内容
有鉴于此,本申请提供了一种语义度量方法、装置、设备及可读存储介质,用以提供一种能够提升语义度量效果且适用范围较广的语义度量方案,该方案如下:
一种语义度量方法,包括:
从多个候选用户中确定与目标用户相似的用户,作为目标候选用户,其中,所述目标用户与所述目标候选用户在多个主题上的语义表达相似;
从所述目标候选用户对应的用户语句集合中,确定与所述目标用户的目标语句匹配的语句;
从所述用户语句集合中获取与所述目标语句匹配的语句的下文语句,作为所述目标语句的下文语句;
通过所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句,确定所述目标语句对应的、包含上下文信息的句向量。
可选的,所述从多个候选用户中确定与目标用户相似的用户,包括:
获取所述目标用户对应的用户向量,一用户对应的用户向量为该用户的用户语句在所述多个主题上的语义向量;
基于所述目标用户对应的用户向量与所述多个候选用户分别对应的用户向量的相似度,从所述多个候选用户中确定与所述目标用户相似的用户。
可选的,所述获取目标用户对应的用户向量,包括:
若预先获取的、多个用户分别对应的用户向量中,存在所述目标用户对应的用户向量,则从所述多个用户分别对应的用户向量中获取所述目标用户对应的用户向量,其中,所述多个用户中至少包括所述多个候选用户。
可选的,所述获取目标用户对应的用户向量,包括:
通过预先建立的、所述多个主题分别对应的语义度量模型,确定所述目标语句在所述多个主题上分别对应的语义向量;
通过预先建立的主题模型确定所述目标语句所属的对话文本属于所述多个主题中各个主题的概率;
对于所述多个主题中的任一主题,将所述目标语句所属的对话文本属于该主题的概率作为权重,对所述目标语句在该主题上对应的语义向量进行加权,以得到所述目标语句在所述多个主题上分别对应的、加权后的语义向量;
将所述目标语句在所述多个主题上分别对应的、加权后的语义向量进行拼接,拼接后的向量作为所述目标用户对应的用户向量。
其中,获取所述多个用户分别对应的用户向量,包括:
获取所述多个主题分别对应的对话文本集合,其中,一个对话文本对应一通对话,所述对话文本中包括用户语句;
从所述多个主题分别对应的对话文本集合中,获取每个用户在每个主题上的用户语句集合;
通过预先建立的、多个主题分别对应的语义度量模型,确定每个用户在每个主题上的用户语句集合中每个语句的语义向量,获得每个用户在每个主题上的语义向量集合;
通过每个用户在每个主题上的语义向量集合,确定每个用户在每个主题上的用户向量;
将同一用户在所述多个主题上的用户向量拼接,以获得所述多个用户分别对应的用户向量。
可选的,所述获取多个主题分别对应的对话文本集合,包括:
获取多个对话文本;
通过预先建立的主题模型确定所述多个对话文本中每个对话文本属于所述多个主题中每个主题的概率;
针对任一主题,基于每个对话文本属于所述多个主题中每个主题的概率,将所述多个对话文本中不属于该主题的对话文本滤除,剩余的对话文本组成的集合作为该主题对应的对话文本集合,以得到所述多个主题分别对应的对话文本集合。
可选的,所述从所述目标候选用户对应的用户语句集合中,确定与所述目标用户的目标语句匹配的语句,包括:
确定所述目标语句对应的目标语义向量;
从所述目标候选用户在每个主题上的语义向量集合中,确定与所述目标语义向量最接近的语义向量,其中,所述目标候选用户在任一主题上的语义向量集合为所述目标候选用户在该主题上的各个用户语句对应的语义向量组成的集合;
将所述目标候选用户对应的用户语句集合中,与所述目标语义向量最接近的语义向量对应的语句,确定为与所述目标用户的目标语句匹配的语句。
可选的,所述确定所述目标语句对应的目标语义向量,包括:
获取所述目标语句在所述多个主题上分别对应的语义向量,以及,所述目标语句所属的对话文本属于所述多个主题中每个主题的概率;
对于所述多个主题中的任一主题,将所述目标语句所属的对话文本属于该主题的概率作为权重,对所述目标语句在该主题上对应的语义向量进行加权,以得到所述目标语句在所述多个主题上分别对应的、加权后的语义向量;
将所述目标语句在所述多个主题上分别对应的、加权后的语义向量相加,相加得到的向量作为所述目标语句对应的目标语义向量。
可选的,所述通过所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句,确定所述目标语句对应的、包含上下文信息的句向量,包括:
将所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句输入预先建立的语义向量确定模型,获得所述目标语句对应的、包含上下文信息的句向量;
其中,所述语义向量确定模型采用训练语句、训练语句的上文语句和训练语句的下文语句训练得到。
可选的,所述将所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句输入预先建立的语义向量确定模型,获得所述目标语句对应的、包含上下文信息的句向量,包括:
通过所述语义向量确定模型中的语句表征模块,确定所述目标语句、所述目标语句的上文语句和所述目标语句的下文语句分别对应的语句表征矩阵;
通过所述语义向量确定模型中的注意力模块,基于所述目标语句对应的语句表征矩阵和所述目标语句的上文语句对应的语句表征矩阵确定第一权重向量,用所述第一权重向量对所述目标语句对应的语句表征矩阵进行加权,获得所述目标语句对应的、包含上文信息的语句表征矩阵,以及,基于所述目标语句对应的语句表征矩阵和所述目标语句的下文语句对应的语句表征矩阵确定第二权重向量,用所述第二权重向量对所述目标语句对应的语句表征矩阵进行加权,获得所述目标语句对应的、包含下文信息的语句表征矩阵;
通过所述语义向量确定模型的句向量确定模块,将所述目标语句对应的、包含上文信息的语句表征矩阵与所述目标语句对应的、包含下文信息的语句表征矩阵进行拼接,基于拼接后的矩阵确定目标语句对应的、包含上下文信息的句向量。
一种语义度量装置,包括:相似用户确定模块、匹配语句确定模块、下文语句获取模块和句向量确定模块;
所述相似用户确定模块,用于从多个候选用户中确定与目标用户相似的用户,作为目标候选用户,其中,所述目标用户与所述目标候选用户在多个主题上的语义表达相似;
所述匹配语句确定模块,用于从所述目标候选用户对应的用户语句集合中,确定与所述目标用户的目标语句匹配的语句;
所述下文语句获取模块,用于从所述用户语句集合中获取与所述目标语句匹配的语句的下文语句,作为所述目标语句的下文语句;
所述句向量确定模块,用于通过所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句,确定所述目标语句对应的、包含上下文信息的句向量。
一种语义度量设备,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现所述语义度量方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述语义度量方法的各个步骤。
从上述的技术方案可以看出,本申请提供的语义度量方法、装置、设备及可读存储介质,首先从多个候选用户中确定与目标用户相似的用户作为目标候选用户,然后从目标候选用户对应的用户语句集合中,确定与目标用户的目标语句匹配的语句,将与目标语句匹配的语句的下文语句作为目标语句的下文语句,最后通过目标语句的上文语句、目标语句以及目标语句的下文语句,确定目标语句对应的、包含上下文信息的句向量。本申请提供的语义度量方案,在对目标语句进行语义度量时,不单只考虑单个目标语句,还考虑了目标语句的上文语句和下文语句,由于目标语句的下文语句难以获得,本申请基于相似用户在多个主题上皆有相似的语义表达,采用相似用户的语句中与目标语句匹配的语句的下文语句作为目标语句的下文语句,进而利用目标语句的上文语句、目标语句以及目标语句的下文语句,确定目标语句对应的、包含上下文信息的句向量。与现有技术中基于单个语句进行语义度量的方案相比,本申请大大提升了语句的语义度量效果,且本申请的语义度量方案适用范围较广,不但可适用于单轮问答场景,还可适用于多轮问答场景。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1a~1c为现有的语义度量模型的示意图;
图2为本申请实施例提供的语义度量方法的流程示意图;
图3为本申请实施例提供的语义度量方法中,从多个候选用户中确定与目标用户相似的用户作为目标候选用户的流程示意图;
图4为本申请实施例提供的语义度量方法中,预先获取多个用户分别对应的用户向量的实现过程的流程示意图;
图5为本申请实施例提供的语义度量方法中,获取目标用户对应的用户向量的流程示意图;
图6为本申请实施例提供的语义度量方法中,从目标候选用户对应的用户语句集合中,确定与目标语句匹配的用户语句的实现过程的流程示意图;
图7为本申请实施例提供的语义度量方法中,通过语义向量确定模型确定目标语句对应的、包含上下文信息的句向量的实现过程的流程示意图;
图8为本申请实施例提供的语义向量确定模型的一示例的示意图;
图9为本申请实施例提供的语义度量装置的结构示意图;
图10为本申请实施例提供的语义度量设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本案发明人在实现本发明创造的过程中发现:目前的语义度量方案多为基于深度神经网络模型的语义度量方案,即,利用深度神经网络模型对文本做语义表示,其中,基于循环神经网络的语义度量方案和基于卷积神经网络的语义度量方案是两种最主要的方案。在问答系统中,利用人人对话的数据训练语义度量模型是最为常见的做法。分析利用人人对话训练语义度量模型的方法,可得到若干种模型结构,请参阅图1a~1c,示出了三种模型的示例:
如图1a所示,Q和A分别经过一个参数不共享的隐层和卷积神经网络,经过max-pooling和tanh激活后进行相似性度量;如图1b所示,Q和A分别经过一个参数共享的隐层和卷积神经网络,经过max-pooling和tanh激活后进行相似性度量;如图1c所示,Q和A分别经过一个参数共享的隐层和卷积神经网络,经过max-pooling和tanh激活后再经过一个参数不共享的隐层,随后进行相似性度量。其中,Q和A对应着人人对话的用户发言和客服发言,P代表max-pooling,T代表tanh,HL代表隐层。
上述语义度量方案的共同点是在训练和预测阶段都只考虑了当前语句的信息。只根据当前语句进行语义度量相对较为简单,容易训练,但仅仅适用于单轮问答的场景。
为了能够获得有效提升对话系统中文本语义的建模效果,使语义度量方案能够适用于多种应用场景,本案发明人进行了深入研究,经研究发现:
现有的语义度量方案只考虑了单个语句,而忽略了对上下文信息的使用,对于当前语句而言,其只有上文语句,而没有下文语句,因此,当前语句的上文语句较容易获得,而下文语句无法获得,因此,如何获得当前语句的下文语句是需要解决的问题。
在人人对话的客服场景中,一名有经验的客服在回答用户提问时,会基于经验猜测用户真实的预期和意图,特别的,当用户的表达不完整时,机器客服往往不会处理,而人工客服仍可能基于历史先验判断出用户的真实意图,从而取得更高的沟通效率,节约用户的时间成本,基于此,本案发明人提出了获取当前语句的下文语句的解决方案,解决方案的基本思想是:基于相似用户在多个主题上具有相似的语义表达,从相似用户的语句集合中获取最可能的下文语句作为当前句的下文语句。在获得当前句的下文语句后,便可基于通过当前语句和当前语句的上下文语句对当前语句进行语义度量。
接下来通过下述实施例对本申请提供的语义度量方法进行详细介绍。
请参阅图2,示出了本实施例提供的语义度量方法的流程示意图,该方法可以包括:
步骤S201:从多个候选用户中确定与目标用户相似的用户作为目标候选用户。
其中,目标用户与目标候选用户在多个主题上的语义表达相似。
步骤S202:从目标候选用户对应的用户语句集合中,确定与目标用户的目标语句匹配的语句。
在本实施例中,每个候选用户对应一用户语句集合,一个候选用户对应的用户语句集合包括该候选用户对应的至少一对话文本中该候选用户的语句,一对话文本与一通对话对应,需要说明的是,一通对话指的是从用户发起对话到对话结束的完整对话,比如,下表中的内容即为一通对话:
表1一通对话的信息
步骤S203:从目标候选用户对应用户语句集合中获取与目标语句匹配的语句的下文语句,作为目标语句的下文语句。
步骤S204:通过目标语句的上文语句、目标语句以及目标语句的下文语句,确定目标语句对应的、包含上下文信息的句向量。
其中,目标语句的上文语句可以为一句,也可以为多句,同样的,目标语句的下文语句可以为一句,也可以为多句。
本申请实施例提供的语义度量方法,在对目标语句进行语义度量时,不单只考虑单个目标语句,还考虑了目标语句的上文语句和下文语句,由于目标语句的下文语句难以获得,本申请实施例基于相似用户在多个主题上皆有相似的语义表达,采用相似用户的语句中与目标语句匹配的语句的下文语句作为目标语句的下文语句,进而利用目标语句的上文语句、目标语句以及目标语句的下文语句,确定目标语句对应的、包含上下文信息的句向量。与现有技术中基于单个语句进行语义度量的方案相比,本申请大大提升了语句的语义度量效果,且本申请的语义度量方案适用范围较广,不但可适用于单轮问答场景,还可适用于多轮问答场景。
在本申请的另一实施例中,对上述实施例的步骤S202中的“从多个候选用户中确定与目标用户相似的用户作为目标候选用户”进行介绍。
请参阅图3,示出了从多个候选用户中确定与目标用户相似的用户的实现过程的流程示意图,可以包括:
步骤S301:获取目标用户对应的用户向量。
其中,一用户对应的用户向量用于表征该用户,一用户对应的用户向量为该用户的用户语句在多个主题上的语义向量。
步骤S302:基于目标用户对应的用户向量与多个候选用户分别对应的用户向量的相似度,从多个候选用户中确定与目标用户相似的用户作为目标候选用户。
具体地,基于目标用户对应的用户向量与多个候选用户分别对应的用户向量的相似度,从多个候选用户中确定与目标用户相似的用户的过程可以包括:对于每个候选用户,计算该候选用户对应的用户向量与目标用户对应的用户向量的相似度,计算得到的相似度作为该候选用户与目标用户的相似度,以得到多个候选用户分别与目标用户的相似度,基于多个候选用户分别与目标用户的相似度,从多个候选用户中确定目标候选用户。在本实施例中,可以但不限定为采用余弦相似度对目标用户对应的用户向量与候选用户对应的用户向量进行相似性度量,当数据规模较大时,为了提升确定目标候选用户的效率,可采用经典的高维数据检索算法,如位置敏感哈希算法等。
其中,基于多个候选用户分别与目标用户的相似度,从多个候选用户中确定目标候选用户的实现方式有多种,在一种可能的实现方式中,可预设一相似度阈值,将与目标用户的相似度大于预设的相似度阈值的候选用户确定为目标候选用户,在另一种可能的实现方式中,可设定一数量N,从基于相似度从多个候选用户中确定N个候选用户作为目标候选用户,其中,N个候选用户中各个候选用户与目标用户的相似度均大于除N个候选用户外的其它候选用户与目标用户的相似度。需要说明的是,与目标用户相似的用户即目标候选用户可以为一个,也可以为多个。
在本申请的另一实施例中,对上述实施例中的“步骤S201:获取目标用户对应的用户向量”进行介绍。
获取目标用户对应的用户向量的实现方式有多种,在一种可能的实现方式中,可确定预先获取的多个用户分别对应的用户向量中,是否存在目标用户对应的用户向量,若多个用户分别对应的用户向量中存在目标用户对应的用户向量,则直接从多个用户分别对应的用户向量中获取目标用户对应的用户向量。需要说明的是,预先获取的多个用户分别对应的用户向量中至少包括多个候选用户分别对应的用户向量。
具体的,每个用户对应一用户标识,预先获得的每个用户向量均对应一标识,标识与用户向量一一对应,在获取目标用户对应的用户标识时,在预先获取的多个用户向量分别对应的用户标识中查找目标用户对应的用户标识,若查找到目标用户对应的用户标识,则表明目标用户为老用户,将查找到的用户标识对应的用户向量确定为目标用户对应的用户向量。该实现方式可较快地获得目标用户对应的用户向量。
在介绍获取目标用户对应的用户向量的其它实现方式之前,本实施例先对预先获取多个用户分别对应的用户向量进行介绍。
请参阅图4,示出了预先获取多个用户分别对应的用户向量的实现过程的流程示意图,可以包括:
步骤S401:获取多个主题分别对应的对话文本集合。
其中,获取多个主题分别对应的对话文本集合的过程可以包括:获取多个对话文本;通过预先建立的主题模型确定多个对话文本中每个对话文本属于多个主题中每个主题的概率;针对任一主题,基于每个对话文本属于该主题的概率,将多个对话文本中不属于该主题的对话文本滤除,剩余的对话文本组成的集合作为该主题对应的对话文本集合,以得到多个主题分别对应的对话文本集合。
其中,主题模型用于建模对话文本中隐藏的语义表示,本实施例中的主题模型可以为LDA(Latent Dirichlet Allocation)模型,LDA模型主要基于这样一种前提假设:文档是由若干个隐含主题构成,而这些主题是由文本中若干个特定词汇构成。需要说明的是,本实施例并不限定主题模型为LDA模型,比如,还可以为NTM(NeuralTuring Machines)模型。主题模型的输入为一对话文本,一对话文本为一通对话的文本,假设有K个主题,主题模型的输出为K维主题向量,K维主题向量中的每一维代表输入的对话文本属于对应主题的概率,即主题模型的输出为输入的对话文本属于K个主题中每个主题的概率。主题模型在训练时可采用有监督的方式训练,也可采用无监督的方式训练。
在一种可能的实现方式中,针对任一主题,确定该主题对应的对话文本集合的过程可以包括:将多个对话文本中,各个对话文本属于该主题的概率按从大到小的顺序排序,取前r个概率分别对应的对话文本组成的集合作为该主题对应的对话文本集合。其中,r可基于实际应用情况设定。
步骤S402:从多个主题分别对应的对话文本集合中,获取每个用户在每个主题上的用户语句集合。
具体的,每个对话文本均对应有用户标识,通过用户标识,可从各个主题对应的文本集合中获取该用户在各个主题上的用户语句集合。
步骤S403:通过预先建立的、多个主题分别对应的语义度量模型,确定每个用户在每个主题上的用户语句集合中每个语句的语义向量,获得每个用户在每个主题上的语义向量集合。
示例性的,多个主题分别为主题A、B、C,对于某一用户X而言,其在主题A上的用户语句集合中每个语句的语义向量通过预先建立的、与主题A对应的语义向量模型确定,其在主题B上的用户语句集合中每个语句的语义向量通过预先建立的、与主题B对应的语义向量模型确定,其在主题C上的用户语句集合中每个语句的语义向量通过预先建立的、与主题C对应的语义向量模型确定,从而可获得用户X在主题A上的语义向量集合、在主题B上的语义向量集合和在主题C上的语义向量集合。
假设有K个主题,对于每个用户而言,其可获得K个语义向量集合。需要说明的是,对于任一用户而言,若其在某个主题上没有语句集合,则该用户在该主题上的语义向量用0填充。
另外,需要说明的是,多个主题分别对应的语义度量模型可通过多个主题分别对应的对话文本集合训练得到。示例性的,有K个主题,每个主题对应一对话文本集合,一对话文本集合中包括采用上述方式确定的r个对话文本,则可用K个主题分别对应的对话文本分别训练语义度量模型,得到K个语义度量模型,每个语义度量模型与K个主题中的一个主题对应。
步骤S404:通过每个用户在每个主题上的语义向量集合,确定每个用户在每个主题上的用户向量。
具体的,任一用户在任一主题上的用户向量可以为该用户在该主题上的语义向量集合中所有语义向量的均值。
步骤S405:将同一用户在所述多个主题上的用户向量拼接,以获得多个用户分别对应的用户向量。
假设有K个主题,对于用户i而言,可用(si1,si2,…,siK)作为用户i对应的用户向量。其中,si1为用户i在第1个主题上的用户向量,si2为用户i在第2个主题上的用户向量,…,siK为用户i在第K个主题上的用户向量。
以下接着对获取目标用户对应的用户向量的实现方式进行介绍。可以理解的是,上述实现方式有个前提,那就是目标用户为老用户时,然而,很多情况下,目标用户并非一定是老用户,有可能是新用户,此时,将无法通过上述方式获得目标用户对应的用户向量,基于此,本实施例提供了另一种获取目标用户对应的用户向量的实现方式,请参阅5,示出了该实现方式的流程示意图,可以包括:
步骤S501:通过预先建立的、多个主题分别对应的语义度量模型,确定目标语句在多个主题上分别对应的语义向量。
具体的,将目标语句分别输入各个主题对应的语义度量模型,获得各个主题对应的语义度量模型输出的语义向量。假设有K个主题,每个主题对应一语义度量模型,将目标语句分别输入K个语义度量模型,则可获得K个语义向量,K个语义向量即为目标语句在K个主题上分别对应的语义向量。
步骤S502:通过预先建立的主题模型确定目标语句所属的对话文本属于多个主题中每个主题的概率。
具体的,将目标语句所属的对话文本输入预先建立的主题模型,获得主题模型输出的主题向量,主题向量中的每一维代表输入的对话文本属于对应主题的概率。
步骤S503:对于多个主题中的任一主题,将目标语句所属的对话文本属于该主题的概率作为权重,对目标语句在该主题上对应的语义向量进行加权,以得到目标语句在各个主题上对应的、加权后的语义向量。
示例性的,多个主题分别为主题a、b、c,目标语句在主题a、b、c下的语义向量分别为sa、sb、sc,目标语句属于主题a、b、c的概率分别为Pa、Pb、Pc,将Pa作为sa的权重,为sa加权,即,将sa*Pa作为目标语句在主题a上对应的、加权后的语义向量,同样的,将Pb作为sb的权重,为sb加权,即,将sb*Pb作为目标语句在主题b上对应的、加权后的语义向量,将Pc作为sc的权重,为sc加权,即,将sc*Pc作为目标语句在主题c上对应的、加权后的语义向量。
步骤S504:将目标语句在各个主题上对应的、加权后的语义向量进行拼接,拼接后的向量作为目标用户对应的用户向量。
需要说明的是,为了提升目标用户的用户向量的获取效率,可首先采用上述第一种实现方式获取,在无法通过第一种实现方式获取时,再通过第二种实现获取。当然,也可直接使用第二种实现获取目标用户对应的用户向量。
在获取目标用户对应的用户向量后,便可基于目标用户对应的用户向量与多个候选用户分别对应的用户向量的相似度,从多个候选用户中确定与目标用户相似的用户即目标候选用户,进而从目标候选用户对应的用户语句集合中,确定与目标用户的目标语句匹配的语句。以下对上述实施例中的“步骤S203:从目标候选用户对应用户语句集合中获取与目标语句匹配的语句的下文语句,作为目标语句的下文语句”进行介绍。
请参阅图6,示出了从目标候选用户对应的用户语句集合中,确定与目标语句匹配的用户语句的实现过程的流程示意图,可以包括:
步骤S601:确定目标语句对应的目标语义向量。
在本实施例中,确定目标语句对应的目标语义向量的实现方式有多种,在一种可能的实现方式中,可通过上述多个主题分别对应的语义度量模型确定目标语句在多个主题上分别对应的语义向量,将目标语句在多个主题上分别对应的语义向量相加,相加后得到的向量作为目标语句对应的目标语义向量。
在另一可能的实现方式中,可获取目标语句在多个主题上分别对应的语义向量,以及,目标语句所属的对话文本属于多个主题中每个主题的概率;对于多个主题中的任一主题,将目标语句所属的对话文本属于该主题的概率作为权重,对目标语句在该主题上对应的语义向量进行加权,以得到目标语句在各个主题上对应的、加权后的语义向量;将目标语句在各个主题上对应的、加权后的语义向量相加,相加得到的向量作为目标语句对应的目标语义向量。
需要说明的是,对于第二种可能的实现方式,将目标语句所属的对话文本属于各个主题的概率作为权重,对目标语句在各个主题上对应的语义向量进行加权,使得后续在进行语义向量匹配时,更容易与对应主题的语义向量匹配上,因此,第二种实现方式为一种较优选的实现方式。
步骤S602:从目标候选用户在每个主题上的语义向量集合中,确定与目标语义向量最接近的语义向量。
在本实施例中,可采用最近邻度量方法,如近似最近邻算法(ApproximateNearest Neighbor,ANN)、K最近邻算法(K-Nearest Neighbor,KNN)等,从目标候选用户在每个主题上的语义向量集合中,确定与目标语义向量最接近的语义向量。
步骤S603:将目标候选用户对应的用户语句集合中,与确定出的语义向量对应的语句确定为与目标语句匹配的用户语句。
在获得与目标语句匹配的用户语句后,获取与目标语句匹配的用户语句的下文语句。在一种可能的实现方式中,在获得各个候选用户在各个主题上对应的语义向量集合后,可关联语义向量集合中各个语义向量对应的用户语句的位置,在确定出与目标语义向量最接近的语义向量后,便可基于该语义向量关联的位置获取到对应的用户语句,进而获取到该用户语句的下文用户语句作为目标语句的下文语句。
在获取到目标语句的下文语句后,便可通过目标语句的上文语句、目标语句以及目标语句的下文语句,确定目标语句对应的、包含上下文信息的句向量。需要说明的是,基于问答系统的一通对话中通常会包括用户语句(用户发言)和客服语句(客服发言),上述的目标语句的上文语句、目标语句以及目标语句的下文语句优选为用户语句,当然,本实施例并不限定于此,目标语句的上文语句和下文语句中除了包括用户语句外还可以包括客服语句。
以下对上述实施例中的“步骤S204:通过目标语句的上文语句、目标语句以及目标语句的下文语句,确定目标语句对应的、包含上下文信息的句向量”通过目标语句的上文语句、目标语句以及目标语句的下文语句,确定目标语句对应的、包含上下文信息的句向量进行介绍。
在一种可能的实现方式中,可将目标语句的上文语句、目标语句以及目标语句的下文语句输入预先建立的语义向量确定模型,获得语义向量确定模型输出的、目标语句对应的、包含上下文信息的句向量。其中,语义向量确定模型采用训练语句、训练语句的上文语句和训练语句的下文语句训练得到。
进一步的,请参阅图7,示出了将目标语句的上文语句、目标语句以及目标语句的下文语句输入预先建立的语义向量确定模型,获得所述目标语句对应的、包含上下文信息的句向量的实现过程的流程示意图,可以包括:
步骤S701:通过语义向量确定模型中的语句表征模块,确定目标语句、目标语句的上文语句和目标语句的下文语句分别对应的语句表征矩阵。
需要说明的是,语句表征模块可以为一个也可以为多个,即可通过一个语句表征模块分别确定目标语句对应的语句表征矩阵、目标语句的上文语句对应的语句表征矩阵和目标语句的下文语句对应的语句表征矩阵,为了提升效率,也可设置三个语句表征模块,三个语句表征模块同时确定目标语句对应的语句表征矩阵、目标语句的上文语句对应的语句表征矩阵和目标语句的下文语句对应的语句表征矩阵。
步骤S702:通过语义向量确定模型中的注意力模块,基于目标语句对应的语句表征矩阵和目标语句的上文语句对应的语句表征矩阵确定第一权重向量,用第一权重向量对目标语句对应的语句表征矩阵进行加权,获得目标语句对应的、包含上文信息的语句表征矩阵,以及,基于目标语句对应的语句表征矩阵和目标语句的下文语句对应的语句表征矩阵确定第二权重向量,用第二权重向量对目标语句对应的语句表征矩阵进行加权,获得目标语句对应的、包含下文信息的语句表征矩阵。
需要说明的是,注意力模块可以为一个也可以为两个,若注意力模块一个,可通过该注意力模块分别确定目标语句对应的、包含上文信息的语句表征矩阵和目标语句对应的、包含下文信息的语句表征矩阵,为了提升效率,可利用两个注意力模型,其中一个注意力模块确定目标语句对应的、包含上文信息的语句表征矩阵,另一个注意力模型确定目标语句对应的、包含下文信息的语句表征矩阵。
步骤S703:通过语义向量确定模型的句向量确定模块,将目标语句对应的、包含上文信息的语句表征矩阵与目标语句对应的、包含下文信息的语句表征矩阵进行拼接,基于拼接后的矩阵确定目标语句对应的、包含上下文信息的句向量。
下面结合图8通过一具体示例对上述通过语义向量确定模型确定目标语句对应的句向量进行说明。
将目标语句输入语义向量确定模型中的BiLSTM网络,BiLSTM网络隐层的输出作为目标语句对应的语句表征矩阵,BiLSTM网络隐层的输出可表示为A,A是一个p*n的矩阵。由于A只基于目标语句确定,因此,其并不包含上下文信息。
将目标语句的上文语句输入BiLSTM网络,BiLSTM网络隐层的输出作为目标语句的上文语句对应的语句表征矩阵,在一种可能的实现方式中,可获取目标语句的前t句,将目标语句的前t句进行拼接后输入BiLSTM网络,假设目标语句的前t句拼接后的词序列长度为y,隐层输出的向量为n维,BiLSTM隐层输出为D,则D为y*n的矩阵,D为多个词的隐层输出向量构成的矩阵。
接下来,基于D确定A的第一权重向量,具体地,首先确定D与A的相似度矩阵R,R的维度为y*p,Rij表示目标语句的上文语句中每个词i和目标语句的词j的相似度,然后,使用softmax对R的列作归一化:
αt=softmax(Rt:) (1)
经过归一化可获得第一权重向量。
获得第一权重向量后,用第一权重向量对A进行加权:
A′:t=∑jαtjA:j (2)
对A进行加权后的矩阵作为目标语句对应的、包含上文信息的语句表征矩阵A′。
同样的,目标语句的下文语句输入BiLSTM网络,BiLSTM网络隐层的输出作为目标语句的下文语句对应的语句表征矩阵,假设BiLSTM网络隐层的输出用W表示,接下来基于W确定A的第二权重向量,获得第二权重向量后,用第二权重向量对A进行加权,对A进行加权后的向量作为目标语句对应的、包含下文信息的语句表征矩阵A″。
在获得目标语句对应的、包含上文信息的语句表征矩阵A′,以及,目标语句对应的、包含下文信息的语句表征矩阵A″后,将A′和A″按词进行拼接再经过BiLSTM网络后,通过最大池化层得到目标语句对应的、包含上下文信息的句向量。
需要说明的是,本实施例中的语义向量确定模型可采用噪声对比估计的损失函数,对每个si随机构造了q个负样本,损失函数如下:
其中,si是目标语句i对应的、不包含上下文信息的句向量,是负样本j对应的、不包含上下文信息的句向量,为目标语句i对应的、包含上下文信息的句向量。
基于相似用户在多个主题上皆有相似的语义表达,本申请实施例提供的语义度量方法采用相似用户的语句中与目标语句匹配的语句的下文语句作为目标语句的下文语句,进而利用目标语句的上文语句、目标语句以及目标语句的下文语句,确定目标语句对应的、包含上下文信息的句向量。与现有技术中基于单个语句进行语义度量的方案相比,本申请大大提升了语句的语义度量效果,且本申请实施例提供的语义度量方案适用范围较广,不但可适用于单轮问答场景,还可适用于多轮问答场景。
本申请实施例还提供了一种语义度量装置,下面对本申请实施例提供的语义度量装置进行描述,下文描述的语义度量装置与上文描述的语义度量方法可相互对应参照。
请参阅图9,示出了本申请实施例提供的一种语义度量装置的结构示意图,如图9所示,该装置可以包括:相似用户确定模块901、匹配语句确定模块902、下文语句获取模块903和句向量确定模块904。
相似用户确定模块901,用于从多个候选用户中确定与目标用户相似的用户,作为目标候选用户。
其中,所述目标用户与所述目标候选用户在多个主题上的语义表达相似。
匹配语句确定模块902,用于从所述目标候选用户对应的用户语句集合中,确定与所述目标用户的目标语句匹配的语句。
下文语句获取模块903,用于从所述用户语句集合中获取与所述目标语句匹配的语句的下文语句,作为所述目标语句的下文语句。
句向量确定模块904,用于通过所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句,确定所述目标语句对应的、包含上下文信息的句向量。
本申请实施例提供的语义度量装置,在对目标语句进行语义度量时,不单只考虑单个目标语句,还考虑了目标语句的上文语句和下文语句,由于目标语句的下文语句难以获得,本申请实施例基于相似用户在多个主题上皆有相似的语义表达,采用相似用户的语句中与目标语句匹配的语句的下文语句作为目标语句的下文语句,进而利用目标语句的上文语句、目标语句以及目标语句的下文语句,确定目标语句对应的、包含上下文信息的句向量。与现有技术中基于单个语句进行语义度量的方案相比,本实施例提供的语义度量装置大大提升了语句的语义度量效果,且适用范围较广,不但可适用于单轮问答场景,还可适用于多轮问答场景。
在一种可能的实现方式中,上述实施例提供的语义度量装置中的相似用户确定模块901可以包括:用户向量获取子模块和相似用户确定子模块。
所述用户向量获取子模块,用于获取所述目标用户对应的用户向量,一用户对应的用户向量为该用户的用户语句在所述多个主题上的语义向量;
所述相似用户确定子模块,用于基于所述目标用户对应的用户向量与所述多个候选用户分别对应的用户向量的相似度,从所述多个候选用户中确定与所述目标用户相似的用户。
在一种可能的实现方式中,所述用户向量获取子模块,具体用于当预先获取的、多个用户分别对应的用户向量中,存在所述目标用户对应的用户向量时,从所述多个用户分别对应的用户向量中获取所述目标用户对应的用户向量,其中,所述多个用户中至少包括所述多个候选用户。
在另一种可能的实现方式中,所述用户向量获取子模块,具体用于通过预先建立的、所述多个主题分别对应的语义度量模型,确定所述目标语句在所述多个主题上分别对应的语义向量;通过预先建立的主题模型确定所述目标语句所属的对话文本属于所述多个主题中各个主题的概率;对于所述多个主题中的任一主题,将所述目标语句所属的对话文本属于该主题的概率作为权重,对所述目标语句在该主题上对应的语义向量进行加权,以得到所述目标语句在所述多个主题上分别对应的、加权后的语义向量;将所述目标语句在所述多个主题上分别对应的、加权后的语义向量进行拼接,拼接后的向量作为所述目标用户对应的用户向量。
上述实施例提供的语义度量装置还包括:用户向量获取模块。
用户向量获取模块,具体获取所述多个用户分别对应的用户向量。
在一种可能的实现方式中,用户向量获取模块包括:对话文本集合获取子模块、用户语句集合确定子模块、语义向量集合确定子模块和用户向量确定子模块。
所述对话文本集合获取子模块,用于获取所述多个主题分别对应的对话文本集合,其中,一个对话文本对应一通对话,所述对话文本中包括用户语句。
所述用户语句集合确定子模块,用于从所述多个主题分别对应的对话文本集合中,获取每个用户在每个主题上的用户语句集合。
所述语义向量集合确定子模块,用于通过预先建立的、多个主题分别对应的语义度量模型,确定每个用户在每个主题上的用户语句集合中每个语句的语义向量,获得每个用户在每个主题上的语义向量集合。
所述用户向量确定子模块,用于通过每个用户在每个主题上的语义向量集合,确定每个用户在每个主题上的用户向量,将同一用户在所述多个主题上的用户向量拼接,以获得所述多个用户分别对应的用户向量。
在一种可能的实现方式中,所述对话文本集合获取子模块,具体用于获取多个对话文本;通过预先建立的主题模型确定所述多个对话文本中每个对话文本属于所述多个主题中每个主题的概率;针对任一主题,基于每个对话文本属于所述多个主题中每个主题的概率,将所述多个对话文本中不属于该主题的对话文本滤除,剩余的对话文本组成的集合作为该主题对应的对话文本集合,以得到所述多个主题分别对应的对话文本集合。
在一种可能的实现方式中,上述实施例提供的语义度量装置中的匹配语句确定模块902,包括:目标语义向量确定子模块、语义向量匹配子模块和匹配语句确定子模块。
目标语义向量确定子模块,用于确定所述目标语句对应的目标语义向量。
语义向量匹配子模块,用于从所述目标候选用户在每个主题上的语义向量集合中,确定与所述目标语义向量最接近的语义向量,其中,所述目标候选用户在任一主题上的语义向量集合为所述目标候选用户在该主题上的各个用户语句对应的语义向量组成的集合。
匹配语句确定子模块,用于将所述目标候选用户对应的用户语句集合中,与所述目标语义向量最接近的语义向量对应的语句,确定为与所述目标用户的目标语句匹配的语句。
在一种可能的实现方式中,目标语义向量确定子模块,具体用于获取所述目标语句在所述多个主题上分别对应的语义向量,以及,所述目标语句所属的对话文本属于所述多个主题中每个主题的概率;对于所述多个主题中的任一主题,将所述目标语句所属的对话文本属于该主题的概率作为权重,对所述目标语句在该主题上对应的语义向量进行加权,以得到所述目标语句在所述多个主题上分别对应的、加权后的语义向量;将所述目标语句在所述多个主题上分别对应的、加权后的语义向量相加,相加得到的向量作为所述目标语句对应的目标语义向量。
在一种可能的实现方式中,上述实施例提供的语义度量装置中的句向量确定模块904,具体用于将所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句输入预先建立的语义向量确定模型,获得所述目标语句对应的、包含上下文信息的句向量;其中,所述语义向量确定模型采用训练语句、训练语句的上文语句和训练语句的下文语句训练得到。
在一种可能的实现方式中,句向量确定模块904,具体用于通过所述语义向量确定模型中的语句表征模块,确定所述目标语句、所述目标语句的上文语句和所述目标语句的下文语句分别对应的语句表征矩阵;通过所述语义向量确定模型中的注意力模块,基于所述目标语句对应的语句表征矩阵和所述目标语句的上文语句对应的语句表征矩阵确定第一权重向量,用所述第一权重向量对所述目标语句对应的语句表征矩阵进行加权,获得所述目标语句对应的、包含上文信息的语句表征矩阵,以及,基于所述目标语句对应的语句表征矩阵和所述目标语句的下文语句对应的语句表征矩阵确定第二权重向量,用所述第二权重向量对所述目标语句对应的语句表征矩阵进行加权,获得所述目标语句对应的、包含下文信息的语句表征矩阵;通过所述语义向量确定模型的句向量确定模块,将所述目标语句对应的、包含上文信息的语句表征矩阵与所述目标语句对应的、包含下文信息的语句表征矩阵进行拼接,基于拼接后的矩阵确定目标语句对应的、包含上下文信息的句向量。
本申请实施例还提供了一种语义度量设备,请参阅图10,示出了该语义度量设备的结构示意图,该设备可以包括:至少一个处理器1001,至少一个通信接口1002,至少一个存储器1003和至少一个通信总线1004;
在本申请实施例中,处理器1001、通信接口1002、存储器1003、通信总线1004的数量为至少一个,且处理器1001、通信接口1002、存储器1003通过通信总线1004完成相互间的通信;
处理器1001可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器1003可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
从多个候选用户中确定与目标用户相似的用户,作为目标候选用户,其中,所述目标用户与所述目标候选用户在多个主题上的语义表达相似;
从所述目标候选用户对应的用户语句集合中,确定与所述目标用户的目标语句匹配的语句;
从所述用户语句集合中获取与所述目标语句匹配的语句的下文语句,作为所述目标语句的下文语句;
通过所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句,确定所述目标语句对应的、包含上下文信息的句向量。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:
从多个候选用户中确定与目标用户相似的用户,作为目标候选用户,其中,所述目标用户与所述目标候选用户在多个主题上的语义表达相似;
从所述目标候选用户对应的用户语句集合中,确定与所述目标用户的目标语句匹配的语句;
从所述用户语句集合中获取与所述目标语句匹配的语句的下文语句,作为所述目标语句的下文语句;
通过所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句,确定所述目标语句对应的、包含上下文信息的句向量。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种语义度量方法,其特征在于,包括:
从多个候选用户中确定与目标用户相似的用户,作为目标候选用户,其中,所述目标用户与所述目标候选用户在多个主题上的语义表达相似;
从所述目标候选用户对应的用户语句集合中,确定与所述目标用户的目标语句匹配的语句;
从所述用户语句集合中获取与所述目标语句匹配的语句的下文语句,作为所述目标语句的下文语句;
通过所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句,确定所述目标语句对应的、包含上下文信息的句向量。
2.根据权利要求1所述的语义度量方法,其特征在于,所述从多个候选用户中确定与目标用户相似的用户,包括:
获取所述目标用户对应的用户向量,一用户对应的用户向量为该用户的用户语句在所述多个主题上的语义向量;
基于所述目标用户对应的用户向量与所述多个候选用户分别对应的用户向量的相似度,从所述多个候选用户中确定与所述目标用户相似的用户。
3.根据权利要求2所述的语义度量方法,其特征在于,所述获取目标用户对应的用户向量,包括:
若预先获取的、多个用户分别对应的用户向量中,存在所述目标用户对应的用户向量,则从所述多个用户分别对应的用户向量中获取所述目标用户对应的用户向量,其中,所述多个用户中至少包括所述多个候选用户。
4.根据权利要求2所述的语义度量方法,其特征在于,所述获取目标用户对应的用户向量,包括:
通过预先建立的、所述多个主题分别对应的语义度量模型,确定所述目标语句在所述多个主题上分别对应的语义向量;
通过预先建立的主题模型确定所述目标语句所属的对话文本属于所述多个主题中各个主题的概率;
对于所述多个主题中的任一主题,将所述目标语句所属的对话文本属于该主题的概率作为权重,对所述目标语句在该主题上对应的语义向量进行加权,以得到所述目标语句在所述多个主题上分别对应的、加权后的语义向量;
将所述目标语句在所述多个主题上分别对应的、加权后的语义向量进行拼接,拼接后的向量作为所述目标用户对应的用户向量。
5.根据权利要求3所述的语义度量方法,其特征在于,获取所述多个用户分别对应的用户向量,包括:
获取所述多个主题分别对应的对话文本集合,其中,一个对话文本对应一通对话,所述对话文本中包括用户语句;
从所述多个主题分别对应的对话文本集合中,获取每个用户在每个主题上的用户语句集合;
通过预先建立的、多个主题分别对应的语义度量模型,确定每个用户在每个主题上的用户语句集合中每个语句的语义向量,获得每个用户在每个主题上的语义向量集合;
通过每个用户在每个主题上的语义向量集合,确定每个用户在每个主题上的用户向量;
将同一用户在所述多个主题上的用户向量拼接,以获得所述多个用户分别对应的用户向量。
6.根据权利要求5所述的语义度量方法,其特征在于,所述获取多个主题分别对应的对话文本集合,包括:
获取多个对话文本;
通过预先建立的主题模型确定所述多个对话文本中每个对话文本属于所述多个主题中每个主题的概率;
针对任一主题,基于每个对话文本属于所述多个主题中每个主题的概率,将所述多个对话文本中不属于该主题的对话文本滤除,剩余的对话文本组成的集合作为该主题对应的对话文本集合,以得到所述多个主题分别对应的对话文本集合。
7.根据权利1所述的语义度量方法,其特征在于,所述从所述目标候选用户对应的用户语句集合中,确定与所述目标用户的目标语句匹配的语句,包括:
确定所述目标语句对应的目标语义向量;
从所述目标候选用户在每个主题上的语义向量集合中,确定与所述目标语义向量最接近的语义向量,其中,所述目标候选用户在任一主题上的语义向量集合为所述目标候选用户在该主题上的各个用户语句对应的语义向量组成的集合;
将所述目标候选用户对应的用户语句集合中,与所述目标语义向量最接近的语义向量对应的语句,确定为与所述目标用户的目标语句匹配的语句。
8.根据权利要求7所述的语义度量方法,其特征在于,所述确定所述目标语句对应的目标语义向量,包括:
获取所述目标语句在所述多个主题上分别对应的语义向量,以及,所述目标语句所属的对话文本属于所述多个主题中每个主题的概率;
对于所述多个主题中的任一主题,将所述目标语句所属的对话文本属于该主题的概率作为权重,对所述目标语句在该主题上对应的语义向量进行加权,以得到所述目标语句在所述多个主题上分别对应的、加权后的语义向量;
将所述目标语句在所述多个主题上分别对应的、加权后的语义向量相加,相加得到的向量作为所述目标语句对应的目标语义向量。
9.根据权利要求1~8中任意一项所述的语义度量方法,其特征在于,所述通过所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句,确定所述目标语句对应的、包含上下文信息的句向量,包括:
将所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句输入预先建立的语义向量确定模型,获得所述目标语句对应的、包含上下文信息的句向量;
其中,所述语义向量确定模型采用训练语句、训练语句的上文语句和训练语句的下文语句训练得到。
10.根据权利要求8所述的语义度量方法,其特征在于,所述将所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句输入预先建立的语义向量确定模型,获得所述目标语句对应的、包含上下文信息的句向量,包括:
通过所述语义向量确定模型中的语句表征模块,确定所述目标语句、所述目标语句的上文语句和所述目标语句的下文语句分别对应的语句表征矩阵;
通过所述语义向量确定模型中的注意力模块,基于所述目标语句对应的语句表征矩阵和所述目标语句的上文语句对应的语句表征矩阵确定第一权重向量,用所述第一权重向量对所述目标语句对应的语句表征矩阵进行加权,获得所述目标语句对应的、包含上文信息的语句表征矩阵,以及,基于所述目标语句对应的语句表征矩阵和所述目标语句的下文语句对应的语句表征矩阵确定第二权重向量,用所述第二权重向量对所述目标语句对应的语句表征矩阵进行加权,获得所述目标语句对应的、包含下文信息的语句表征矩阵;
通过所述语义向量确定模型的句向量确定模块,将所述目标语句对应的、包含上文信息的语句表征矩阵与所述目标语句对应的、包含下文信息的语句表征矩阵进行拼接,基于拼接后的矩阵确定目标语句对应的、包含上下文信息的句向量。
11.一种语义度量装置,其特征在于,包括:相似用户确定模块、匹配语句确定模块、下文语句获取模块和句向量确定模块;
所述相似用户确定模块,用于从多个候选用户中确定与目标用户相似的用户,作为目标候选用户,其中,所述目标用户与所述目标候选用户在多个主题上的语义表达相似;
所述匹配语句确定模块,用于从所述目标候选用户对应的用户语句集合中,确定与所述目标用户的目标语句匹配的语句;
所述下文语句获取模块,用于从所述用户语句集合中获取与所述目标语句匹配的语句的下文语句,作为所述目标语句的下文语句;
所述句向量确定模块,用于通过所述目标语句的上文语句、所述目标语句以及所述目标语句的下文语句,确定所述目标语句对应的、包含上下文信息的句向量。
12.一种语义度量设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~10中任一项所述的语义度量方法的各个步骤。
13.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~10中任一项所述的语义度量方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811520126.6A CN109582970B (zh) | 2018-12-12 | 2018-12-12 | 一种语义度量方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811520126.6A CN109582970B (zh) | 2018-12-12 | 2018-12-12 | 一种语义度量方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109582970A true CN109582970A (zh) | 2019-04-05 |
CN109582970B CN109582970B (zh) | 2023-05-30 |
Family
ID=65928284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811520126.6A Active CN109582970B (zh) | 2018-12-12 | 2018-12-12 | 一种语义度量方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582970B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096580A (zh) * | 2019-04-24 | 2019-08-06 | 北京百度网讯科技有限公司 | 一种faq对话方法、装置及电子设备 |
CN111178082A (zh) * | 2019-12-05 | 2020-05-19 | 北京葡萄智学科技有限公司 | 一种句向量生成方法、装置及电子设备 |
CN113330511A (zh) * | 2019-04-17 | 2021-08-31 | 深圳市欢太科技有限公司 | 语音识别方法、装置、存储介质及电子设备 |
CN113535926A (zh) * | 2021-07-26 | 2021-10-22 | 深圳市优必选科技股份有限公司 | 主动对话方法、装置及语音终端 |
WO2022166621A1 (zh) * | 2021-02-02 | 2022-08-11 | 北京有竹居网络技术有限公司 | 对话归属的识别方法、装置、可读介质和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599071A (zh) * | 2009-07-10 | 2009-12-09 | 华中科技大学 | 对话文本主题的自动提取方法 |
US20160019293A1 (en) * | 2014-07-17 | 2016-01-21 | International Business Machines Corporation | Interpreting and Distinguishing Lack of an Answer in a Question Answering System |
CN108170749A (zh) * | 2017-12-21 | 2018-06-15 | 北京百度网讯科技有限公司 | 基于人工智能的对话方法、装置及计算机可读介质 |
US20180225365A1 (en) * | 2017-02-08 | 2018-08-09 | International Business Machines Corporation | Dialog mechanism responsive to query context |
CN108509411A (zh) * | 2017-10-10 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 语义分析方法和装置 |
CN108920654A (zh) * | 2018-06-29 | 2018-11-30 | 泰康保险集团股份有限公司 | 一种问答文本语义匹配的方法和装置 |
-
2018
- 2018-12-12 CN CN201811520126.6A patent/CN109582970B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101599071A (zh) * | 2009-07-10 | 2009-12-09 | 华中科技大学 | 对话文本主题的自动提取方法 |
US20160019293A1 (en) * | 2014-07-17 | 2016-01-21 | International Business Machines Corporation | Interpreting and Distinguishing Lack of an Answer in a Question Answering System |
US20180225365A1 (en) * | 2017-02-08 | 2018-08-09 | International Business Machines Corporation | Dialog mechanism responsive to query context |
CN108509411A (zh) * | 2017-10-10 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 语义分析方法和装置 |
CN108170749A (zh) * | 2017-12-21 | 2018-06-15 | 北京百度网讯科技有限公司 | 基于人工智能的对话方法、装置及计算机可读介质 |
CN108920654A (zh) * | 2018-06-29 | 2018-11-30 | 泰康保险集团股份有限公司 | 一种问答文本语义匹配的方法和装置 |
Non-Patent Citations (1)
Title |
---|
刘一诚: "垂直领域问答系统的研究与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113330511A (zh) * | 2019-04-17 | 2021-08-31 | 深圳市欢太科技有限公司 | 语音识别方法、装置、存储介质及电子设备 |
CN113330511B (zh) * | 2019-04-17 | 2022-04-22 | 深圳市欢太科技有限公司 | 语音识别方法、装置、存储介质及电子设备 |
CN110096580A (zh) * | 2019-04-24 | 2019-08-06 | 北京百度网讯科技有限公司 | 一种faq对话方法、装置及电子设备 |
CN111178082A (zh) * | 2019-12-05 | 2020-05-19 | 北京葡萄智学科技有限公司 | 一种句向量生成方法、装置及电子设备 |
WO2022166621A1 (zh) * | 2021-02-02 | 2022-08-11 | 北京有竹居网络技术有限公司 | 对话归属的识别方法、装置、可读介质和电子设备 |
CN113535926A (zh) * | 2021-07-26 | 2021-10-22 | 深圳市优必选科技股份有限公司 | 主动对话方法、装置及语音终端 |
CN113535926B (zh) * | 2021-07-26 | 2023-11-10 | 深圳市优必选科技股份有限公司 | 主动对话方法、装置及语音终端 |
Also Published As
Publication number | Publication date |
---|---|
CN109582970B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582970A (zh) | 一种语义度量方法、装置、设备及可读存储介质 | |
CN109783817B (zh) | 一种基于深度强化学习的文本语义相似计算模型 | |
US11514247B2 (en) | Method, apparatus, computer device and readable medium for knowledge hierarchical extraction of a text | |
CN108416384B (zh) | 一种图像标签标注方法、系统、设备及可读存储介质 | |
CN106815252B (zh) | 一种搜索方法和设备 | |
CN111858859A (zh) | 自动问答处理方法、装置、计算机设备及存储介质 | |
CN108549658A (zh) | 一种基于语法分析树上注意力机制的深度学习视频问答方法及系统 | |
CN105808590B (zh) | 搜索引擎实现方法、搜索方法以及装置 | |
CN103995804B (zh) | 基于多模态信息融合与图聚类的跨媒体话题检测方法、装置 | |
CN108763535A (zh) | 信息获取方法及装置 | |
CN110659311B (zh) | 题目推送方法、装置、电子设备及存储介质 | |
CN111858854B (zh) | 一种基于历史对话信息的问答匹配方法及相关装置 | |
CN111694940A (zh) | 一种用户报告的生成方法及终端设备 | |
CN106445915A (zh) | 一种新词发现方法及装置 | |
CN107506389A (zh) | 一种提取职位技能需求的方法和装置 | |
CN109800309A (zh) | 课堂话语类型分类方法及装置 | |
CN112307048A (zh) | 语义匹配模型训练方法、匹配方法、装置、设备及存储介质 | |
CN114020871B (zh) | 基于特征融合的多模态社交媒体情感分析方法 | |
CN113486174B (zh) | 模型训练、阅读理解方法、装置、电子设备及存储介质 | |
CN110197213A (zh) | 基于神经网络的图像匹配方法、装置和设备 | |
CN113535960A (zh) | 一种文本分类方法、装置和设备 | |
CN117556057A (zh) | 知识问答方法、向量数据库构建方法及装置 | |
CN108932289B (zh) | 一种基于信息抽取和深度学习的问题回答处理方法及系统 | |
CN110287396A (zh) | 文本匹配方法及装置 | |
CN113656703B (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 |