CN116956908A - 一种自然语言处理方法及装置 - Google Patents
一种自然语言处理方法及装置 Download PDFInfo
- Publication number
- CN116956908A CN116956908A CN202211361287.1A CN202211361287A CN116956908A CN 116956908 A CN116956908 A CN 116956908A CN 202211361287 A CN202211361287 A CN 202211361287A CN 116956908 A CN116956908 A CN 116956908A
- Authority
- CN
- China
- Prior art keywords
- query
- template
- word
- vector
- word vector
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 128
- 238000003058 natural language processing Methods 0.000 title claims abstract description 60
- 239000013598 vector Substances 0.000 claims abstract description 1227
- KLPWJLBORRMFGK-UHFFFAOYSA-N Molindone Chemical compound O=C1C=2C(CC)=C(C)NC=2CCC1CN1CCOCC1 KLPWJLBORRMFGK-UHFFFAOYSA-N 0.000 claims abstract description 86
- 229940028394 moban Drugs 0.000 claims abstract description 86
- 238000012545 processing Methods 0.000 claims description 83
- 238000009826 distribution Methods 0.000 claims description 73
- 238000012549 training Methods 0.000 claims description 70
- 238000011176 pooling Methods 0.000 claims description 47
- 230000015654 memory Effects 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 32
- 238000003860 storage Methods 0.000 claims description 27
- 230000009467 reduction Effects 0.000 claims description 15
- 238000010606 normalization Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 8
- 238000012804 iterative process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 31
- 238000005516 engineering process Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 27
- 238000013473 artificial intelligence Methods 0.000 description 17
- 238000010801 machine learning Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000012163 sequencing technique Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种自然语言处理方法及装置,该方法涉及计算机技术领域,包括:获得查询文本的查询词向量序列,以及多个请求模板各自的模板词向量序列;针对多个请求模板,分别执行步骤如,获得查询词向量序列中各查询词向量,分别与一个请求模板的模板词向量序列中各模板词向量之间的词相似度;进而补偿各查询词向量与各模板词向量之间的关联关系,获得上下文查询向量,以及在一个模板词向量序列中补偿关联关系,获得上下文模板向量;根据上下文查询向量和上下文模板向量,确定查询文本与一个请求模板的文本相似度;将符合文本相似度条件的请求模板对应的候选文本,作为查询文本的关联文本。该方法能够提高匹配查询文本的关联文本的准确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种自然语言处理方法及装置。
背景技术
实体关系识别是指在自然语言处理过程中抽取文本中实体间所隐含关系的任务,其可以用于各种具有搜索功能的客户端对应的搜索系统中。如,客户端接收查询文本或语音,根据查询文本或语音转换得到的查询文本生成查询请求,并将该查询请求发送至搜索系统。搜索系统接收查询请求后,解析得到查询请求中的查询文本,并抽取查询文本中的实体和实体的查询实体属性,进一步从知识图谱中匹配到查询文本中实体和查询实体属性的关联文本,根据关联文本生成查询文本的请求响应返回至客户端。
目前,主要是根据小样本学习算法,从知识图谱中匹配到查询文本中实体和查询实体属性的关联文本,但小样本学习算法仅能在句子级别获取查询文本和待匹配文本的相似度,将相似度最大的待匹配文本作为关联文本。这种方式得到的关联文本的准确性差。
因此,现在亟需一种自然语言处理方法及装置,能够在更细粒度上匹配文本,提高匹配查询文本的关联文本的准确性。
发明内容
本申请实施例提供一种自然语言处理方法及装置,能够在更细粒度上匹配文本,提高匹配查询文本的关联文本的准确性。
第一方面,本申请实施例提供一种自然语言处理方法,该方法包括:
响应于查询请求,获得所述查询请求携带的查询文本的查询词向量序列;
获取预设的各请求模板集合中的请求模板,得到多个请求模板,并获取所述多个请求模板各自的模板词向量序列;
针对所述多个请求模板,分别执行如下步骤:
获得所述查询词向量序列中各查询词向量,分别与一个请求模板的模板词向量序列中各模板词向量之间的词相似度;
基于获得的各词相似度,在所述查询词向量序列中,补偿所述各查询词向量与所述各模板词向量之间的关联关系,获得上下文查询向量,以及在所述一个模板词向量序列中补偿所述关联关系,获得上下文模板向量;
根据所述上下文查询向量和所述上下文模板向量,确定所述查询文本与所述一个请求模板的文本相似度;
基于获得的各文本相似度,将符合文本相似度条件的请求模板所属的请求模板集合关联的候选文本,作为所述查询文本的关联文本。
第二方面,本申请实施例提供一种自然语言处理装置,该装置包括:
获取单元,用于响应于查询请求,获得所述查询请求携带的查询文本的查询词向量序列;获取预设的各请求模板集合中的请求模板,得到多个请求模板,并获取所述多个请求模板各自的模板词向量序列;
第一处理单元,用于针对所述多个请求模板,分别执行如下步骤:
获得所述查询词向量序列中各查询词向量,分别与一个请求模板的模板词向量序列中各模板词向量之间的词相似度;
基于获得的各词相似度,在所述查询词向量序列中,补偿所述各查询词向量与所述各模板词向量之间的关联关系,获得上下文查询向量,以及在所述一个模板词向量序列中补偿所述关联关系,获得上下文模板向量;
根据所述上下文查询向量和所述上下文模板向量,确定所述查询文本与所述一个请求模板的文本相似度;
第二处理单元,用于基于获得的各文本相似度,将符合文本相似度条件的请求模板所属的请求模板集合关联的候选文本,作为所述查询文本的关联文本。
可选的,所述获取单元具体用于:对所述查询文本进行逐字拆分,获得相应的字序列,并将所述查询文本的字序列中每相邻两个字进行组合,获得相应的查询组合词;获取各查询组合词各自对应的查询词向量,并基于获得的各查询词向量,获得所述查询文本的查询词向量序列。
可选的,所述获取单元具体用于:分别将所述多个请求模板进行逐字拆分,获得所述多个请求模板各自的字序列;
针对所述多个请求模板,分别执行如下步骤:将一个请求模板的字序列中每相邻两个字进行组合,获得相应的模板组合词;获取各模板组合词各自对应的模板词向量,并基于获得的各模板词向量,获得所述一个请求模板的模板词向量序列。
可选的,第一处理单元具体用于:将每个查询词向量与所述各模板词向量的各词相似度,按照所述各模板词向量在所述一个模板词向量序列中的顺序排序,获得每个查询词向量的词相似度分布;
分别基于各查询词向量各自的词相似度分布,补偿对应查询词向量与所述各模板词向量之间的关联关系,获得所述各查询词向量各自的上下文查询词向量;
将所述各上下文查询词向量按照各自对应的查询词向量在所述查询向量序列中的顺序排序,得到所述上下文查询向量。
可选的,第一处理单元具体用于:将每个模板词向量与所述各查询词向量的各词相似度,按照所述各查询词向量在所述查询词向量序列中的顺序排序,获得每个模板词向量的词相似度分布;
分别基于各模板词向量各自的词相似度分布,补偿对应模板词向量与所述各查询词向量之间的关联关系,获得所述各模板词向量各自的上下文模板词向量;
将所述各上下文模板词向量按照各自对应的模板词向量在所述模板向量序列中的顺序排序,得到所述上下文模板向量。
可选的,第一处理单元具体用于:分别将所述各查询词向量各自的词相似度分布归一化处理,得到所述各查询词向量各自的查询概率分布;
分别基于各查询概率分布,对所述各模板词向量进行加权求和处理,得到所述各查询词向量各自的查询拼接向量;
分别将所述各查询词向量与各自的查询拼接向量进行拼接,获得所述各查询词向量各自的上下文查询词向量。
可选的,第一处理单元具体用于:分别将所述各模板词向量各自的词相似度分布归一化处理,得到所述各模板词向量各自的模板概率分布;
分别基于各模板概率分布,对所述各查询词向量进行加权求和处理,得到所述各模板词向量各自的模板拼接向量。
分别将所述各模板词向量与各自的模板拼接向量进行拼接,获得所述各模板词向量各自的上下文查询词向量。
可选的,第一处理单元具体用于:获取所述上下文查询向量和所述上下文模板向量的差值绝对值,并将所述上下文查询向量、所述上下文模板向量和所述差值绝对值拼接,得到上下文拼接向量;
将所述上下文拼接向量进行降维处理,获得所述文本相似度。
可选的,第一处理单元具体用于:对所述各查询词向量各自的上下文查询词向量进行平均池化处理,获得所述各查询词向量各自的平均池化后的上下文查询词向量;
将各平均池化后的上下文查询词向量按照各自对应的查询词向量在所述查询向量序列中的顺序排序,得到所述上下文查询向量。
可选的,第一处理单元具体用于:对所述各模板词向量各自的上下文模板词向量进行平均池化处理,获得所述各模板词向量各自的平均池化后的上下文模板词向量;
将各平均池化后的上下文模板词向量按照各自对应的模板词向量在所述一个模板向量序列中的顺序排序,得到所述上下文模板向量。
可选的,训练单元,具体用于:所述方法是通过目标关系识别模型执行的,所述目标关系识别模型的训练过程如下:
基于预设的训练样本集对待训练的关系识别模型进行多轮迭代训练,每个训练样本包括查询样本和多个模板样本,所述多个模板样本中有一个正样本;其中,在一轮迭代过程中,执行以下操作:
获得训练样本中查询样本的第一词向量序列,并获得训练样本中各模板样本各自的第二词向量序列;
针对所述各模板样本,分别执行如下步骤:
获得所述第一词向量序列中各第一词向量,分别与一个模板样本的第二词向量序列中各第二词向量之间的样本词相似度;基于获得的各样本词相似度,在所述第一词向量序列中,补偿所述各第一词向量与所述各第二词向量之间的样本关联关系,获得第一上下文向量,以及在所述一个第二词向量序列中补偿所述样本关联关系,获得第二上下文向量;
基于所述第一上下文向量和所述第二上下文向量,确定所述查询样本与所述一个模板样本的样本相似度;
基于获得的各样本相似度和所述正样本,调整所述关系识别模型的参数。
第三方面,本申请实施例提供的一种计算机设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述第一方面中任意一种自然语言处理方法。
第四方面,本申请实施例提供的一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在计算机设备上运行时,所述计算机程序用于使所述计算机设备执行上述第一方面中任意一种自然语言处理方法。
第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当计算机设备的处理器从计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述计算机设备执行上述第一方面中任意一种自然语言处理方法。
本申请有益效果如下:
本申请实施例提供的自然语言处理方法、装置、计算机设备和存储介质,响应于查询请求,获得查询请求携带的查询文本的查询词向量序列;获取预设的各请求模板集合中的请求模板,得到多个请求模板,并获取多个请求模板各自的模板词向量序列。如此,将查询文本和请求模板转换为便于计算机识别计算的格式。进一步,针对多个请求模板,中的每个请求模板:都将查询词向量序列中各查询词向量,分别与一个请求模板的模板词向量序列中各模板词向量之间的词相似度,如此,得到查询文本中的每个词与请求模板中每个词之间的关联关系,再进一步,基于获得的查询文本和这一个请求模板的各词相似度,在查询词向量序列中,补偿各查询词向量与各模板词向量之间的关联关系,获得上下文查询向量,以及在一个模板词向量序列中补偿关联关系,获得上下文模板向量。如此,使得上下文查询向量中已经包含查询文本与这一个请求模板的关联关系,使得上下文模板向量中也包含了查询文本与这一个请求模板的关联关系。因此,基于上下文查询向量和上下文模板向量得到的查询文本与这一个请求模板的文本相似度的准确度更高。相应的,根据查询文本与多个请求模板中的每个请求模板准确的文本相似度,可以得到更准确的查询结果。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种关系识别模型示意图;
图2为本申请实施例提供的一种应用场景的一个可选的示意图;
图3为本申请实施例提供的一种自然语言处理方法的流程示意图;
图4A为本申请实施例提供的一种编码方法示意图;
图4B为本申请实施例提供的一种编码方法示意图;
图4C为本申请实施例提供的一种编码方法示意图;
图5为本申请实施例提供的一种候选文本与请求模板的关联示意图;
图6为本申请实施例提供的又为本申请实施例提供的一种候选文本与请求模板的关联示意图;
图7为本申请实施例提供的一种编码方法示意图;
图8为本申请实施例提供的为一种查询词向量排序方法示意图;
图9A为本申请实施例提供的一种编码方法示意图;
图9B为本申请实施例提供的一种编码方法示意图;
图10A为本申请实施例提供的一种模板词向量排序方法示意图;
图10B为本申请实施例提供的一种模板词向量排序方法示意图;
图11A为本申请实施例提供的一种词相似度获取方法示意图;
图11B为本申请实施例提供的一种词相似度获取方法示意图;
图12为本申请实施例提供的一种自然语言处理方法的流程示意图;
图13为本申请实施例提供的一种自然语言处理方法的流程示意图;
图14为本申请实施例提供的一种关系识别模型示意图;
图15为本申请实施例提供的一种自然语言处理装置的装置示意图;
图16为应用本申请实施例的一种计算机设备的一个硬件组成结构示意图;
图17为应用本申请实施例的另一种计算机设备的一个硬件组成结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
可以理解的是,在本申请的下述具体实施方式中,涉及到查询文本等相关的数据,当本申请的各实施例运用到具体产品或技术中时,需要获得相关许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,在需要获得相关的数据时,可以通过招募相关志愿者并签署志愿者授权数据的相关协议,进而可以使用这些志愿者的数据进行实施;或者,通过在已授权允许的组织内部范围内进行实施,通过采用组织内部成员的数据实施下述的实施方式来向内部成员进行相关推荐;或者,具体实施时所采用的相关数据均为模拟数据,例如可以是虚拟场景中产生的模拟数据。
为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:
深度神经网络(Deep Neural Networks,DNN):是一种具有多层网络架构的神经网络。
全连接层:是每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的,可以减少特征位置对于分类结果的影响,提高了整个深度神经网络的鲁棒性。
BERT(基于Transformer的双向编码器表征):一种预训练模型,「双向」表示模型在处理某一个词时,它能同时利用前面的词和后面的词两部分信息。随机遮掩一些词,并利用所有没被遮掩的词进行预测。
独热编码即One-Hot编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。可用于将计算机无法识别的分类数据转换为计算机可识别的仅包含“0”和/或“1”的向量。
Softmax函数:可以分成soft和max两个部分,Max为最大值的意思,Softmax的核心在于soft,而soft有软的含义,与之相对的是hard硬。hardmax可以意为找出数组所有元素中值最大的元素,最大的特点就是只选出其中一个最大的值。但是在文本分类领域,一篇文章或多或少包含着各种主题信息,一般更期望得到文章对于每个可能的文本类别的概率值(置信度),可以简单理解成属于对应类别的可信度。则hardmax不适用文本分类,所以此时用到了soft的概念,Softmax的含义就在于不再唯一的确定某一个最大值,而是为每个输出分类的结果都赋予一个概率值,表示属于每个类别的可能性。下面给出Softmax函数的定义(以第i个节点输出为例):
其中,zi为第i个节点的输出值,C为输出节点的个数,即分类的类别个数。通过Softmax函数就可以将多分类的输出值转换为范围在[0,1]和为1的概率分布。
平均池化层:平均池化层运算符由一个固定形状的窗口组成,称为池化窗口,用于计算池化窗口中所有元素的平均值,该平均窗口根据其步幅大小在输入的所有区域上滑动,为固定形状池化窗口遍历的每个位置计算一个输出。另外,池化层不包含参数,运算符是确定性的。
知识图谱(Knowledge Graph),在图书情报界称为知识域可视化或知识领域映射地图,是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系。知识图谱由节点和边组成。节点可以是实体,如,一个人、一本书等,或是抽象的概念,如,人工智能、知识图谱等。节点之间的边可以是实体的属性,如,姓名、书名或是实体之间的关系,如朋友、配偶。
实体关系识别是指在自然语言处理过程中抽取文本中实体间所隐含关系的任务。抽取的实体间关系可以通过不同形式的语言或形式表达,比如关系数据库、XML等等,其中RDF用来表示实体关系最为合理。
本申请实施例的技术方案涉及人工智能、自然语言处理和机器学习技术,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
其中,自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的自然语言处理技术和机器学习技术。在本申请实施例提出的关系识别模型主要应用于查询请求和请求模板之间的匹配,以构建查询请求中的查询文本和请求模板的关联关系,进一步,基于与查询文本存在符合要求的关联关系的请求模板,确定对应的查询文本的关联文本,根据关联文本获得查询结果。关系识别模型的训练和使用方法可以分为两部分,包括训练部分和应用部分;其中,训练部分涉及到自然语言技术和机器学习这一技术领域,在训练部分中,关系识别模型通过自然语言技术对查询样本和模板样本进行文本处理、语义理解等,并通过机器学习这一技术训练关系识别模型,通过优化算法不断调整模型参数,直至模型收敛,包括训练样本通过关系识别模型后,获得相应的模型内相关参数;应用部分涉及到自然语言技术和机器学习这一技术领域,在应用部分中,关系识别模型通过自然语言技术对查询文本和请求模板进行文本处理、语义理解等,并通过机器学习这一技术,关系识别模型使用在训练部分训练得到的关系识别模型获得模型内相关参数,从而基于模型内相关参数获得查询文本输入关系识别模型后,得到的相应文本相似度等。另外,还需要说明的是,本申请实施例中人工神经网络模型可以是在线训练也可以是离线训练,在此不做具体限定,在本文中是以离线训练为例进行举例说明的。
下面对本申请实施例的设计思想进行简要介绍:
在客户端的问答业务、搜索业务中,查询对象可以通过在客户端输入问题或语音使得客户端生成查询请求,如,在软件的搜索框输入问题或通过语音功能提问等。后台服务端接收查询请求后,为该查询请求匹配对应的答案,将答案作为查询结果返回至客户端展示。
相关技术中,为了提高后台服务端返回的查询结果的准确性,后台服务端通过小样本学习算法获取查询文本与候选文本的文本相似度,来匹配与查询请求的文本相似度符合要求的候选文本,根据符合文本相似度要求的候选文本得到查询请求的答案,进一步,得到查询结果。其中,小样本学习算法通过采用双塔匹配模型架构匹配查询文本和候选文本之间的文本相似度,以此确定符合文本相似度条件的候选文本,将该候选文本确定为查询文本的关联文本,进一步,根据关联文本确定查询结果。但双塔匹配模型中,查询文本和候选文本是分别编码,分别获取编码后的查询文本和编码后的候选文本,并根据整体编码后的查询文本和整体编码后的候选文本的相似度确定文本相似度,其仅能在句子级别获取文本相似度,因此获取的文本相似度准确性差,相应的,查询对象获得的查询结果准确性差。
鉴于此,本申请实施例提供一种自然语言处理方法、装置、计算机设备和存储介质。其中,该方法在进行自然语言处理时,针对多个请求模板中的每个请求模板,分别将查询文本和多个请求模板中的一个请求模板输入关系识别模型中,对查询样本和这一个请求模板进行编码,得到查询词向量序列和模板词向量序列,进一步,根据查询词向量序列和模板词向量序列获得查询词向量序列中各查询词向量,分别与这一个请求模板的模板词向量序列中各模板词向量之间的词相似度,基于获得的各词相似度,在查询词向量序列中,补偿各查询词向量与这一个请求模板的模板词向量序列中各模板词向量之间的关联关系,获得上下文查询向量,以及在这一个模板词向量序列中补偿该关联关系,获得上下文模板向量。如此,分别在上下文查询向量和上下文模板向量中补偿词级别的查询文本与这一个请求模板之间的关联性。之后,根据获得的上下文查询向量和上下文模板向量,获得上下文查询向量和上下文模板向量的文本相似度。如此,基于已经补偿查询文本与这一个请求模板之间的词级别关联性的上下文查询向量和上下文模板向量,进一步确定上下文查询向量和上下文模板向量文本相似度,得到查询文本与这一个请求模板的文本相似度,使得文本相似度中即考虑文本间词级别关联关系,又考虑句子级别关联关系,极大提高了文本相似度的准确性。相应的,针对多个请求模板中的每个请求模板均执行上述步骤,得到各请求模板分别与查询文本的文本相似度,将各文本相似度中符合文本相似度条件的请求模板所属的请求模板集合关联的候选文本,作为查询文本的关联文本,根据关联文本生成查询请求的查询结果,使得查询对象获得的查询结果更准确。
在一种实施例中,上述自然语言处理方法中,对查询样本和这一个请求模板进行编码,得到查询词向量序列和模板词向量序列的方式可以使用one-hot编码、BERT(基于Transformer的双向编码器表征)等方式;这里对用于对查询样本和这一个请求模板进行编码的方式具体不做限制,可以根据需要选择。
在一种实施例中,上述自然语言处理方法中,根据查询词向量序列和模板词向量序列获得查询词向量序列中各查询词向量,分别与这一个请求模板的模板词向量序列中各模板词向量之间的词相似度的方式;可以为查询词向量与模板词向量之间的内积、欧氏距离和夹角余弦等方式,得到查询词向量与模板词向量之间词相似度,这里对用于获取查询词向量与模板词向量之间的词相似度的方式具体不做限制,可以根据需要选择。
在一种实施例中,上述自然语言处理方法中,基于获得的各词相似度,在查询词向量序列中,补偿各查询词向量与这一个请求模板的模板词向量序列中各模板词向量之间的关联关系,获得上下文查询向量,以及在这一个模板词向量序列中补偿该关联关系,获得上下文模板向量的方式;可以为针对查询词向量序列和一个模板词向量序列,对查询词向量序列中每个查询词向量,获取一个查询词向量对应的各词相似度做平均值,得到这一个查询词向量的平均词相似度,从而得到各查询词向量各自对应的平均词相似度,将各查询词向量分别与各自对应的平均词相似度拼接得到上下文查询向量;相应的,对模板词向量序列中每个模板词向量,获取一个模板词向量对应的各词相似度做平均值,从而得到各模板词向量各自对应的平均词相似度,将各模板词向量分别与各自对应的平均词相似度拼接得到上下文模板向量;还可以为针对查询词向量序列和一个模板词向量序列,对查询词向量序列中每个查询词向量,获取一个查询词向量对应的各词相似度做归一化处理,得到这一个查询词向量的查询概率分布,将该查询概率分布与一个模板词向量序列中各模板词向量加权求和,得到这一查询词向量的查询拼接向量,将这一查询词向量与这一查询词向量的查询拼接向量拼接得到上下文查询词向量,将各查询词向量对应的上下文查询词向量按照各查询词向量在查询词向量序列中的顺序排序并拼接,得到上下文查询向量;对模板词向量序列中每个模板词向量,获取一个模板词向量对应的各词相似度做归一化处理,得到这一个模板词向量的模板概率分布,将该模板概率分布与查询词向量序列中各查询词向量加权求和,得到这一模板词向量的模板拼接向量,将这一模板词向量与这一模板词向量的模板拼接向量拼接得到上下文模板词向量,将各模板词向量对应的上下文模板词向量按照各模板词向量在模板词向量序列中的顺序排序并拼接,得到上下文模板向量。这里对于获取上下文查询词向量和上下文模板词向量的方式具体不做限制,可以根据需要选择。
在一种实施例中,上述自然语言处理方法中,根据获得的上下文查询向量和上下文模板向量,获得上下文查询向量和上下文模板向量的文本相似度的方式;可以为将上下文查询向量和上下文模板向量的内积作为文本相似度的方式,还可以为获取上下文查询向量和上下文模板向量的差值绝对值、上下文查询向量、上下文模板向量拼接得到的上下文拼接向量,将上下文拼接向量进行降维处理,得到文本相似度的方式获取上下文查询向量和上下文模板向量的文本相似度。这里对于获取文本相似度的方式具体不做限制,可以根据需要选择。
基于上述自然语言处理方法,本申请实施例提供一种自然语言处理方法、装置、计算机设备和存储介质。其中,如图1所示,该自然语言处理方法中的关系识别模型中可以包括查询侧编码层、模板侧编码层、第一匹配层和第二匹配层;基于这种关系识别模型,该方法在进行自然语言处理时,针对多个请求模板中的每个请求模板,分别将查询文本和多个请求模板中的一个请求模板输入关系识别模型中的查询侧编码层和模板侧编码层,分别基于查询侧编码层和模板侧编码层对查询样本和这一个请求模板进行编码,得到查询词向量序列和模板词向量序列,进一步,将查询词向量序列和模板词向量序列输入关系识别模型中的第一匹配层,通过第一匹配层,获得查询词向量序列中各查询词向量,分别与这一个请求模板的模板词向量序列中各模板词向量之间的词相似度,基于获得的各词相似度,在查询词向量序列中,补偿各查询词向量与这一个请求模板的模板词向量序列中各模板词向量之间的关联关系,获得上下文查询向量,以及在这一个模板词向量序列中补偿该关联关系,获得上下文模板向量。如此,分别在上下文查询向量和上下文模板向量中补偿词级别的查询文本与这一个请求模板之间的关联性。之后,将获得的上下文查询向量和上下文模板向量输入关系识别模型中的第二匹配层,基于第二匹配层,获得上下文查询向量和上下文模板向量的文本相似度。如此,基于已经补偿查询文本与这一个请求模板之间的词级别关联性的上下文查询向量和上下文模板向量,进一步确定上下文查询向量和上下文模板向量文本相似度,得到查询文本与这一个请求模板的文本相似度,使得文本相似度中即考虑文本间词级别关联关系,又考虑句子级别关联关系,极大提高了文本相似度的准确性。相应的,针对多个请求模板中的每个请求模板均执行上述步骤,得到各请求模板分别与查询文本的文本相似度,将各文本相似度中符合文本相似度条件的请求模板所属的请求模板集合关联的候选文本,作为查询文本的关联文本,根据关联文本生成查询请求的查询结果,使得查询对象获得的查询结果更准确。
本申请实施例中,针对关系识别模型进行训练时,是通过目标关系识别模型执行的,目标关系识别模型的训练过程具体为:基于预设的训练样本集对待训练的关系识别模型进行多轮迭代训练,每个训练样本包括查询样本和多个模板样本,所述多个模板样本中有一个正样本(正样本为与查询样本关联的关联样本,可以为具有标签的模板样本);其中,在一轮迭代过程中,执行以下操作:获得训练样本中查询样本的第一词向量序列(查询样本词向量序列),并获得训练样本中各模板样本各自的第二词向量序列(模板样本词向量序列);
针对所述各模板样本,分别执行如下步骤:
获得所述第一词向量序列中各第一词向量(查询样本词向量),分别与一个模板样本的第二词向量序列中各第二词向量(模板样本词向量)之间的样本词相似度;如此,获得这一个训练样本中查询样本分别与各模板样本之间的词级别的关联性,进一步,基于获得的各样本词相似度,在所述第一词向量序列中,补偿所述各第一词向量与所述各第二词向量之间的样本关联关系,获得第一上下文向量(上下文查询样本向量),以及在所述一个第二词向量序列中补偿所述样本关联关系,获得第二上下文向量(上下文模板样本向量)。如此,在查询样本的第一词向量序列中补偿各第一词向量分别与第二词向量序列中每个第二词向量的样本词相似度,获得第一上下文向量,在模板样本的第二词向量序列中补偿各第二词向量分别与第一词向量序列中每个第一词向量的样本词相似度,获得第二上下文向量,使得第一上下文向量和第二上下文向量中分别包含查询样本和这一个模板样本之间的词级别的关联关系。之后,基于所述第一上下文向量和所述第二上下文向量,确定所述查询样本与所述一个模板样本的样本相似度。如此,根据第一上下文向量和第二上下文向量获取查询样本与一个模板样本的样本相似度,实现在已经包含词级别相似度的基础上,增加句子级别相似度,从而得到的文本相似度中包含查询样本与一个模板样本之间的词级别相似度和句子级别相似度,文本相似度的准确性更高。在得到训练样本中,查询样本分别和各模板样本的样本相似度后,基于获得的各样本相似度和所述正样本,调整所述关系识别模型的参数。如此,训练样本中正样本为查询样本的关联样本,则正样本与查询样本的样本相似度相较于训练样本中正样本外的各模板样本分别与查询样本的样本相似度都高,则可以对应调整关系识别模型的参数,得到更准确的关系识别模型的参数,从而使得训练后的关系识别模型可以更准确的获得关系识别模型应用时获得的文本相似度。
基于上述图1中的关系识别模型,本申请实施例中,针对关系识别模型进行训练时,是通过目标关系识别模型执行的,通过训练样本集合的每个训练样本中包含一个查询样本和多个模板样本,且这多个模板样本中包含一个具有标签的模板样本,具有标签的模板样本关联的候选样本为这个训练样本中查询样本的关联样本。其中,在一种示例中,候选样本可以是数据库中的预设文本,也可以是知识图谱中的实体和/或属性信息。则基于训练样本集合,对目标关联识别模型进行至少一轮迭代训练,具体的,每轮迭代训练中,通过目标关系识别模型中的查询侧编码层,获得一个训练样本中查询样本的查询样本词向量序列,并通过模板侧编码层分别获得这一个训练样本中各模板样本各自的模板样本词向量序列;通过目标关系识别模型的第一匹配层,获得查询样本词向量序列中各查询样本词向量,分别对于各模板样本中一个模板样本,获取各查询样本词向量与这一个模板样本的模板样本词向量序列中各模板样本词向量之间的样本词相似度。如此,获得这一个训练样本中查询样本分别与各模板样本之间的词级别的关联性。进一步,基于获得的各样本词相似度,分别对于各模板样本中一个模板样本,在查询样本词向量序列中,补偿各查询样本词向量与这一个模板样本各模板样本词向量之间的样本关联关系,获得上下文查询样本向量,以及在这一个模板样本的一个模板样本词向量序列中补偿该样本关联关系,获得上下文模板样本向量。如此,基于获得的这一个训练样本中查询样本分别与各模板样本之间的词级别的关联性,对查询样本分别和各模板样本之间的词级别的关联性进行补偿,得到分别对于每个模板样本的词级别关联性补偿后的查询样本的上下文查询样本向量,和词级别关联性补偿后的各模板样本各自的上下文模板样本向量。进一步,对于每个模板样本对应的查询样本的上下文查询样本向量,以及各模板样本各自的上下文模板样本向量,分别将对于各模板样本中一个模板样本对应的查询样本的上下文查询样本向量,和这一个模板样本的上下文模板样本向量进行句子级别的处理,即,通过第二匹配层,基于这一个模板样本对应的查询样本的上下文查询样本向量和这一个模板样本的上下文模板样本向量,确定查询样本与这一个模板样本的样本相似度。从而获得查询样本分别与各模板样本的样本相似度。之后,基于获得的各样本相似度和具有标签的模板样本,调整查询侧编码层和模板侧编码层、第一匹配层和第二匹配层中的任一层或多层的参数;基于最后一轮迭代训练,获得训练后的关系识别模型。
下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
本申请实施例提供的方案可以适用于大多数自然语言处理场景中,例如,购物软件中查询一类或多类商品场景、浏览器中查询视频或资料等场景、对话应用软件中查询历史对话场景、文献应用软件中查询文献场景以及应用软件中查询一类或多类歌曲场景等,在此不再一一进行例举。如图2所示,为本申请实施例提供的一种应用场景示意图,在该场景中,可以包括终端设备201和服务器202。
终端设备201例如可以为手机、平板电脑(PAD)、笔记本电脑、台式电脑、智能电视、智能车载设备以及智能可穿戴设备等。终端设备201可以安装具有问答和/搜索功能的应用,具有问答和/搜索功能的应用可以为即时通信应用、音乐播放应用、视频播放应用、新闻应用、购物平台应用、浏览器以及会话应用。本申请实施例涉及的应用可以是软件客户端,也可以是网页、小程序等客户端,服务器202则是与软件或是网页、小程序等相对应的后台服务器,不限制客户端的具体类型。例如可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、即内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
需要说明的是,本申请实施例中的自然语言处理方法可以由终端设备201或服务器202单独执行,也可以由服务器202和终端设备201共同执行。例如,由服务器202基于查询请求获取查询文本,并基于预设的各请求模板,分别获取查询文本与预设的各请求模板之间的词相似度,进一步,基于查询文本与预设的各请求模板之间的词相似度,分别获取查询文本与预设的各请求模板之间的文本相似度,之后,基于文本相似度条件确定符合文本相似度的请求模板,从而得到符合文本相似度的请求模板的候选文本,将该候选文本作为查询文本的关联文本。或者,由终端设备201执行上述步骤。再或者,由服务器202获取各词相似度,由终端设备201基于服务器202的各词相似度获取文本相似度,进一步确定查询文本的关联文本。
以服务器202执行上述步骤为例,服务器202可以包括一个或多个处理器2021、存储器2022以及与终端交互的I/O接口2023等。此外,服务器202还可以配置数据库2024,数据库2024可以用于存储预设的各请求模板及其分别对应的候选文本、知识图谱和知识图谱中各节点分别对应的各请求模板以及训练得到的模型参数等。其中,服务器202的存储器2022中还可以存储本申请实施例提供的自然语言处理方法的程序指令,这些程序指令被处理器2021执行时能够用以实现本申请实施例提供的自然语言处理方法的步骤,以实现自然语言处理过程。
在一种可能的实施方式中,本申请实施例的方法可以应用于应用中的搜一搜场景,那么为了实现向查询对象返回准确的查询结果,则可以将查询对象在客户端搜一搜功能的输入框输入的查询文本(如,秦始皇的名字是什么?)携带在查询请求中,将该查询请求发送至搜索系统中。搜索系统接收该查询请求,响应于该请求,将预设的各请求模板(如,秦朝皇帝都有哪些?秦朝皇帝的人生轨迹是什么?秦始皇的成就是什么?秦始皇叫什么名字?等等)以及该查询请求中的查询文本输入关系识别模型,获取各请求模板各自的模板词向量序列和该查询文本的查询词向量序列。关系识别模型根据该查询文本的查询词向量序列分别和各请求模板各自的模板词向量序列,确定各模板词向量序列中一个模板词向量序列对应的各模板词向量分别和查询词向量序列中每个模板词向量的词相似度,进一步,基于各词相似度,获取包含词级别关联的上下文查询向量和上下文模板向量,进而获取上下文查询向量和上下文模板向量在句子级别的文本相似度,之后,得到查询文本分别与各请求模板的文本相似度,将符合文本相似度要求的请求模板对应的候选文本作为查询文本的关联文本返回至客户端。
在一种可能的实施方式中,本申请实施例的方法可以应用于软件中语音购物场景,那么为了实现向查询对象返回准确的查询结果,则可以将查询对象在客户端语音功能录入的查询文本(如,黑色短上衣)携带在查询请求中,将该查询请求发送至搜索系统中。搜索系统接收该查询请求,响应于该请求,将预设的各请求模板(如,裤子、鞋子、袜子、连体裤、上衣、短上衣、黄色短上衣、黑色短上衣等等)以及该查询请求中的查询文本输入关系识别模型,获取各请求模板各自的模板词向量序列和该查询文本的查询词向量序列。关系识别模型根据该查询文本的查询词向量序列分别和各请求模板各自的模板词向量序列,确定各模板词向量序列中一个模板词向量序列对应的各模板词向量分别和查询词向量序列中每个模板词向量的词相似度,进一步,基于各词相似度,获取包含词级别关联的上下文查询向量和上下文模板向量,进而获取上下文查询向量和上下文模板向量在句子级别的文本相似度,之后,得到查询文本分别与各请求模板的文本相似度,将符合文本相似度要求的请求模板对应的候选文本(黑色短上衣的相关链接)作为查询文本的关联文本返回至客户端。
本申请实施例中,终端设备201和服务器202之间可以通过一个或者多个网络203进行直接或间接的通信连接。该网络203可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(Wireless-Fidelity,WIFI)网络,当然还可以是其他可能的网络,本发明实施例对此不做限制。
需要说明的是,图2所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本申请实施例中不做具体限定。
下面结合上述描述的应用场景,参考附图来描述本申请示例性实施方式提供的内容推荐方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。
参见图3所示,为本申请实施例提供的自然语言处理方法的流程示意图,这里是以服务器为执行主体为例进行举例说明的,该方法的具体实施流程如下:
步骤301、响应于查询请求,获得所述查询请求携带的查询文本的查询词向量序列;获取预设的各请求模板集合中的请求模板,得到多个请求模板,并获取所述多个请求模板各自的模板词向量序列;
本申请实施例提供的可能的编码方法,包括:独热编码、BERT(基于Transformer的双向编码器表征)等编码方式,将查询文本中的词进行编码得到查询词向量序列,将请求模板中的词进行编码得到模板词向量序列,如图4A、4B、4C所示,为本申请实施例提供的一种编码方法示意图,其中,图4A所示,将查询文本‘世界上最长的河流是哪一条?’拆分成词‘世界上、最长的、河流、是、哪、一条’进行编码。图4B所示,将请求模板1‘世界上最长的河流叫什么’拆分成词‘世界上、最长的、河流、叫、什么’进行编码。图4C所示,将请求模板2‘世界上、最长的、河流、名称、是’进行编码。需要说明的是,这只是一种编码的简单示意,还可以是按照文本中字的顺序,前后两个字为一组进行编码,如,将查询文本‘世界上最长的河流是哪一条?’拆分成词‘世界、上最、长的、河流、是哪、一条’进行编码。这里对编码方式具体不做限制,可以根据需要设置。需要说明的是,上述图4A、4B、4C中的每个查询词向量或模板词向量的维度可以是一个维度或多个维度,图中所示的查询词向量的维度和模板词向量的维度仅为了便于理解,并不对具体的查询词向量的维度和模板词向量的维度做限制。
步骤302、针对所述多个请求模板,分别执行如下步骤:
步骤3021、获得所述查询词向量序列中各查询词向量,分别与一个请求模板的模板词向量序列中各模板词向量之间的词相似度;
本申请实施例提供的计算相似度的可能的方法,包括:查询词向量与模板词向量之间的内积、欧氏距离和夹角余弦等。如,若查询词向量为【0 1】、模板词向量为【0 2】,查询词向量与模板词向量之间的内积为【0 1】*【0 2】=2。如,若查询词向量为【0 1】、模板词向量为【0 2】,查询词向量与模板词向量之间的欧氏距离为如,若查询词向量为【0 1】、模板词向量为【0 2】,查询词向量与模板词向量之间的夹角余弦为1。这里对用于获取查询词向量与模板词向量之间的词相似度的方式具体不做限制,可以根据需要选择。另外,需要说明的是,这里的示例中查询词向量、模板词向量仅是一种便于理解的示例,并不对具体查询词向量和模板词向量做限制。
步骤3022、基于获得的各词相似度,在所述查询词向量序列中,补偿所述各查询词向量与所述各模板词向量之间的关联关系,获得上下文查询向量,以及在所述一个模板词向量序列中补偿所述关联关系,获得上下文模板向量;
本申请实施例提供的获取上下文查询向量和上下文模板向量的可能的方法,包括:针对查询词向量序列和一个模板词向量序列,对查询词向量序列中每个查询词向量,获取一个查询词向量对应的各词相似度做平均值,得到这一个查询词向量的平均词相似度,从而得到各查询词向量各自对应的平均词相似度,将各查询词向量分别与各自对应的平均词相似度拼接得到上下文查询向量;相应的,对模板词向量序列中每个模板词向量,获取一个模板词向量对应的各词相似度做平均值,从而得到各模板词向量各自对应的平均词相似度,将各模板词向量分别与各自对应的平均词相似度拼接得到上下文模板向量。假设,查询词向量序列为【0 0 1 0 2 3 4 1】、模板词向量序列为【7 5 3 0 4 1 4 1】,查询词向量序列的各查询词向量为【0 0】、【1 0】、【2 3】、【4 1】,模板词向量序列的各模板词向量为【75】、【3 0】、【4 1】、【4 1】,则相应的,各查询词向量与分别与一个模板词向量序列中各模板词向量之间的词相似度(这里假设查询词向量与模板词向量的词相似度计算方式:查询词向量与模板词向量的内积作为词相似度,需要说明的是,这里的假设方式并不对词相似度获取方式做限制,还可以是查询词向量与模板词向量之间的欧氏距离、余弦相似度等)为:【0 0】*【7 5】=0、【0 0】*【3 0】=0、【0 0】*【4 1】=0、【0 0】*【4 1】=0、【1 0】*【7 5】=7、【10】*【3 0】=3、【1 0】*【4 1】=4、【1 0】*【4 1】=4、【2 3】*【7 5】=29、【2 3】*【3 0】=6、【23】*【4 1】=11、【2 3】*【4 1】=11、【4 1】*【7 5】=33、【4 1】*【3 0】=12、【4 1】*【4 1】=17、【4 1】*【4 1】=17;则查询词向量【0 0】对应的各词相似度做平均值为(0+0+0+0)/4=0、查询词向量【1 0】对应的各词相似度做平均值为(7+3+4+4)/4=18/4、查询词向量【2 3】对应的各词相似度做平均值为(29+6+11+11)/4=57/4、查询词向量【4 1】对应的各词相似度做平均值为(33+12+17+17)/4=79/4,则将各查询词向量分别与各自对应的平均词相似度拼接得到上下文查询向量为【0 0 0 1 0 18/4 2 3 57/4 4 1 79/4】。则模板词向量【7 5】对应的各词相似度做平均值为(0+7+29+33)/4=69/4、模板词向量【3 0】对应的各词相似度做平均值为(0+3+6+12)/4=21/4、模板词向量【4 1】对应的各词相似度做平均值为(0+4+11+17)/4=32/4、模板词向量【4 1】对应的各词相似度做平均值为(0+4+11+17)/4=32/4,则将各模板词向量分别与各自对应的平均词相似度拼接得到上下文模板向量为【7 5 69/4 3 021/4 4 1 32/4 4 132/4】。另外,在又一种实施方式中,可以将各查询词向量分别与各自对应的平均词相似度做乘积得到上下文查询向量,将各模板词向量分别与各自对应的模板词相似度做乘积得到上下文模板向量,基于上述示例中的查询词向量和模板词向量,得到的上下文查询向量为【0*0 0*0 1*18/4 0*18/4 2*57/4 3*57/4 4*79/4 1*79/4】、上下文模板词向量为【7*69/4 5*69/4 3*21/4 0*21/4 4*32/4 1*32/4 4*32/4 1*32/4】。这里对于获取上下文查询词向量和上下文模板词向量的方式具体不做限制,可以根据需要选择。另外,需要说明的是,这里的示例中涉及的查询词向量、模板词向量、查询词向量序列、模板词向量序列、查询词向量与模板词向量之间的词相似度、上下文查询向量和上下文模板向量仅是一种便于理解的示例,并不对具体查询词向量和模板词向量做限制。
步骤3023、根据所述上下文查询向量和所述上下文模板向量,确定所述查询文本与所述一个请求模板的文本相似度;
本申请实施例提供的获取文本相似度可能的方法,包括:将上下文查询向量和上下文模板向量的内积,作为上下文查询向量对应的查询文本与上下文模板向量对应的一个请求模板的文本相似度。在上述示例中,上下文查询向量与上下文模板词向量内积:【0*00*0 1*18/4 0*18/4 2*57/4 3*57/4 4*79/4 1*79/4】*【7*69/4 5*69/4 3*21/4 0*21/44*32/4 1*32/4 4*32/4 1*32/4】为文本相似度。还可以将上下文查询向量和上下文模板向量的差值绝对值【|0*0-7*69/4||0*0-5*69/4||1*18/4-3*21/4||0*18/4-0*21/4||2*57/4-4*32/4||3*57/4-1*32/4||4*79/4-4*32/4||1*79/4-1*32/4|】与上下文查询向量【0*0 0*01*18/4 0*18/4 2*57/4 3*57/4 4*79/4 1*79/4】、上下文模板词向量【7*69/4 5*69/4 3*21/4 0*21/4 4*32/4 1*32/4 4*32/4 1*32/4】拼接并进行降维处理以得到上下文查询向量和上下文模板向量的文本相似度。这里对于获取上下文查询词向量和上下文模板词向量的文本相似度方式具体不做限制,可以根据需要选择。
步骤303、基于获得的各文本相似度,将符合文本相似度条件的请求模板所属的请求模板集合关联的候选文本,作为所述查询文本的关联文本。
在本申请实施例中,候选文本可以是与请求模板是关联的,如图5所示,为本申请实施例提供的一种候选文本与请求模板的关联示意图,其中,请求模板n和候选文本n中的n为大于等于0的整数;候选文本还可以是与请求模板集合关联的,如图6所示,为本申请实施例提供的又一种候选文本与请求模板的关联示意图,其中,请求模板n1、请求模板n2、请求模板n3和请求模板集合m、候选文本m中的n1、n2、n3和m均为大于等于0的整数。这里对候选文本与请求模板集合的具体关联方式不做限制。候选文本可以是知识图谱中的相关信息,也可以是数据库中预设的相关信息,这里对候选文本的具体设置方式和内容不做限制。
在本申请实施例中,文本相似度条件可以是获得的各文本相似度条件中最大的文本相似度或获得的各文本相似度中符合文本相似度阈值的文本相似度,这里对文本相似度条件具体不做限制,可以根据需要设置。
上述方法中,响应于查询请求,获得查询请求携带的查询文本的查询词向量序列;获取预设的各请求模板集合中的请求模板,得到多个请求模板,并获取所述多个请求模板各自的模板词向量序列。如此,将查询文本和请求模板转换为便于计算机识别计算的格式。进一步,针对多个请求模板,中的每个请求模板:都将查询词向量序列中各查询词向量,分别与一个请求模板的模板词向量序列中各模板词向量之间的词相似度,如此,得到查询文本中的每个词与请求模板中每个词之间的关联关系,再进一步,基于获得的查询文本和这一个请求模板的各词相似度,在查询词向量序列中,补偿各查询词向量与各模板词向量之间的关联关系,获得上下文查询向量,以及在一个模板词向量序列中补偿关联关系,获得上下文模板向量。如此,使得上下文查询向量中已经包含查询文本与这一个请求模板的关联关系,使得上下文模板向量中也包含了查询文本与这一个请求模板的关联关系。因此,基于上下文查询向量和上下文模板向量得到的查询文本与这一个请求模板的文本相似度的准确度更高。相应的,根据查询文本与多个请求模板中的每个请求模板准确的文本相似度,可以得到更准确的查询结果。
本申请实施例提供了又一种自然语言处理方法,基于上述步骤301、所述获取所述查询文本的查询词向量序列,包括:对所述查询文本进行逐字拆分,获得相应的字序列,并将所述查询文本的字序列中每相邻两个字进行组合,获得相应的查询组合词;获取各查询组合词各自对应的查询词向量,并基于获得的各查询词向量,获得所述查询文本的查询词向量序列。在一种示例中,查询文本:世界上最长的河流是哪一条?如图7所示,为本申请实施例提供的一种编码方法示意图,将查询文本‘世界上最长的河流是哪一条’按照字序列中每相邻两个字进行组合,获得相应的查询组合词‘世界’、‘界上’、‘上最’、‘最长’、‘长的’、‘的河’、‘河流’、‘流是’、‘是哪’、‘哪一’、‘一条’,将各查询组合词编码得到对应的查询词向量,从而,如图8所示,为本申请实施例提供的一种查询词向量排序方法示意图,将编码后得到的各查询词向量依照各查询词向量对应的查询组合词在查询文本中的顺序排列,得到查询词向量序列。
上述方法中,对查询文本进行逐字拆分,获得相应的字序列,并将查询文本的字序列中每相邻两个字进行组合,获得相应的查询组合词;获取各查询组合词各自对应的查询词向量,并基于获得的各查询词向量,获得所述查询文本的查询词向量序列。如此,使得一个查询文本的查询词向量序列中可以最大程度的保存查询文本中各词语可能的词语本身和表达的词向,提高后续获取词相似度的准确性,以及基于准确的各词相似度和查询词向量序列中各查询词向量获取更准确的上下文查询向量。
本申请实施例提供了又一种自然语言处理方法,基于上述步骤301、所述获取所述多个请求模板各自的模板词向量序列,包括:分别将所述多个请求模板进行逐字拆分,获得所述多个请求模板各自的字序列;针对所述多个请求模板,分别执行如下步骤:将一个请求模板的字序列中每相邻两个字进行组合,获得相应的模板组合词;获取各模板组合词各自对应的模板词向量,并基于获得的各模板词向量,获得所述一个请求模板的模板词向量序列。
在一种示例中,请求模板1:世界上最长的河流叫什么?请求模板2:世界上最长的河流名称是?如图9A、9B所示,为本申请实施例提供的一种编码方法示意图,具体的,如图9A所示,将请求模板1‘世界上最长的河流叫什么’按照字序列中每相邻两个字进行组合,获得相应的模板组合词‘世界’、‘界上’、‘上最’、‘最长’、‘长的’、‘的河’、‘河流’、‘流叫’、‘叫什’、‘什么’,得到请求模板1中的各模板组合词,分别对各模板组合词进行编码,得到对应的各模板词向量。如图9B所示,将请求模板2‘世界上最长的河流名称是’按照字序列中每相邻两个字进行组合,获得相应的模板组合词‘世界’、‘界上’、‘上最’、‘最长’、‘长的’、‘的河’、‘河流’、‘流名’、‘名称’、‘称是’,得到请求模板2中的各模板组合词,分别对各模板组合词进行编码,得到对应的各模板词向量。相应的,如图10A所示,将图9A中编码后得到的各模板词向量,依照各模板词向量对应的模板组合词在请求模板1中的顺序排列,得到模板词向量序列。相应的,如图10B所示,将图9B中编码后得到的各模板词向量,依照各模板词向量对应的模板组合词在请求模板2中的顺序排列,得到模板词向量序列。
本申请实施例中,基于上述示例,提供了一种词相似度获取示意图,如,查询文本:世界上最长的河流是哪一条?请求模板1:世界上最长的河流叫什么?请求模板2:世界上最长的河流名称是?,则相应的,查询文本的查询词向量序列中各查询词向量分别与请求模板1的模板词向量序列中每个模板词向量的相似度获取方法示意图,如图11A;查询文本的查询词向量序列中各查询词向量分别与请求模板2的模板词向量序列中每个模板词向量的词相似度获取方法示意图,如图11B。
上述方法中,针对多个请求模板中的每个请求模板,将一个请求模板的字序列中每相邻两个字进行组合,获得相应的模板组合词;获取各模板组合词各自对应的模板词向量,并基于获得的各模板词向量,获得一个请求模板的模板词向量序列。如此,使得一个请求模板的模板词向量序列中可以最大程度的保存请求模板中各词语可能的词语本身和表达的词向,提高后续获取词相似度的准确性,以及基于准确的各词相似度和模板词向量序列中各模板词向量获取更准确的上下文模板向量。
本申请实施例提供了又一种自然语言处理方法,在上述自然语言处理方法步骤3022、所述在所述查询词向量序列中,补偿所述各查询词向量与所述各模板词向量之间的关联关系,获得上下文查询向量,如图12所示,包括:
步骤1201、将每个查询词向量与所述各模板词向量的各词相似度,按照所述各模板词向量在所述一个模板词向量序列中的顺序排序,获得每个查询词向量的词相似度分布;
本申请实施例中,假设查询词向量序列为【0 1 1 0 2 3 4 1】、模板词向量序列为【7 5 3 0 4 1 4 1】,查询词向量有【0 1】;查询词向量【0 1】分别与各模板词向量为【7 5】、【3 0】、【4 1】、【4 1】之间的词相似度为5、0、1、1,将查询词向量【0 1】分别与各模板词向量的词相似度为5、0、1、1按照各模板词向量在模板词向量序列为【7 5 3 0 4 1 4 1】中的顺序排序为5、0、1、1;(5、0、1、1)为查询词向量【0 1】的词相似度分布。
步骤1202、分别基于各查询词向量各自的词相似度分布,补偿对应查询词向量与所述各模板词向量之间的关联关系,获得所述各查询词向量各自的上下文查询词向量;
本申请实施例提供一种查询词向量与各模板词向量之间关联关系的补偿方法,在步骤1202中,假设查询词向量序列为【0 1 1 0 2 3 4 1】、模板词向量序列为【7 5 3 0 4 14 1】,查询词向量有【0 1】;查询词向量【0 1】分别与各模板词向量为【7 5】、【3 0】、【4 1】、【4 1】之间的词相似度为5、0、1、1,将查询词向量【0 1】分别与各模板词向量的词相似度为5、0、1、1按照各模板词向量在模板词向量序列为【7 5 3 0 4 1 4 1】中的顺序排序为5、0、1、1;(5、0、1、1)为查询词向量【0 1】的词相似度分布,可以将该(5、0、1、1)进行降维处理得到3,得到降维处理后的词相似度分布,将该降维处理后的词相似度分布拼接至查询词向量得到上下文查询词向量【0 1 3】,以补偿查询词向量【0 1】与各模板词向量之间的关联关系,相应的,分别将各查询词向量拼接各自对应的降维处理后的词相似度分布分别得到各上下文查询词向量【0 1 3】、【1 0 1】、【2 3 2】、【4 1 1】。
本申请实施例提供一种查询词向量与各模板词向量之间关联关系的补偿方法,在上述流程步骤1202中,所述分别基于各查询词向量各自的词相似度分布,补偿对应查询词向量与所述各模板词向量之间的关联关系,获得所述各查询词向量各自的上下文查询词向量,包括:
步骤1、分别将所述各查询词向量各自的词相似度分布归一化处理,得到所述各查询词向量各自的查询概率分布;
本申请实施例中,假设查询词向量序列为【0 1 1 0 2 3 4 1】、模板词向量序列为【7 5 3 0 4 1 4 1】,查询词向量有【0 1】;查询词向量【0 1】分别与各模板词向量为【7 5】、【3 0】、【4 1】、【4 1】之间的词相似度为5、0、1、1,将查询词向量【0 1】分别与各模板词向量的词相似度为5、0、1、1按照各模板词向量在模板词向量序列为【7 5 3 0 4 1 4 1】中的顺序排序为5、0、1、1;(5、0、1、1)为查询词向量【0 1】的词相似度分布,可以将该(5、0、1、1)进行归一化处理得到查询词向量【0 1】的查询概率分布(1、0、1/5、1/5)。
步骤2、分别基于各查询概率分布,对所述各模板词向量进行加权求和处理,得到所述各查询词向量各自的查询拼接向量;
在上述示例中,将归一化得到的查询词向量【0 1】的查询概率分布(1、0、1/5、1/5)与各模板词向量进行加权求和处理,得到查询词向量【0 1】的查询拼接向量。
其中,查询词向量与模板词向量之间的词相似度计算方式可以为词相似度Tij=Toc(Vqi,Vrel-samplej),Vqi表征查询词向量序列中的第i个查询词向量,Vrel-samplej表征模板词向量序列中的第j个模板词向量。
上述归一化方式可以通过tanh函数或Softmax函数等进行归一化,相应的本申请实施例中提供一种Softmax函数的表达公式:Probsqi=Softmax(Ti1、Ti2…Tik),其中,Ti1表征查询词向量序列中的第i个查询词向量与模板词向量序列中的第1个模板词向量对应的词相似度、Ti2表征查询词向量序列中的第i个查询词向量与模板词向量序列中的第2个模板词向量对应的词相似度,Tik表征查询词向量序列中的第i个查询词向量与模板词向量序列中的第k个模板词向量对应的词相似度,其中,k表征模板词向量序列中有k个模板词向量。
查询词向量【0 1】的查询概率分布(1、0、1/5、1/5)与各模板词向量进行加权求和处理的加权求和公式可以为:查询词向量i查询拼接向量n表征查询词向量序列中有n个查询词向量。
步骤3、分别将所述各查询词向量与各自的查询拼接向量进行拼接,获得所述各查询词向量各自的上下文查询词向量。
在上述示例中,将该查询拼接向量与查询词向量【0 1】拼接得到上下文查询词向量,从而得到各查询词向量各自的查询拼接向量,分别得到各查询词向量与各自的查询拼接向量拼接得到的各上下文查询词向量。
基于上述公式,第i个查询词向量的上下文查询词向量为Vnew-qi=concat(Vqi,contextqi)。
步骤1203、将所述各上下文查询词向量按照各自对应的查询词向量在所述查询向量序列中的顺序排序,得到所述上下文查询向量。
本申请实施例中,得到各查询词向量对应的各上下文查询词向量【0 1 3】、【1 01】、【2 3 2】、【4 1 1】。将各上下文查询词向量按照各自对应的查询词向量在查询向量序列中的顺序排序,得到上下文查询向量【0 1 3 1 0 1 2 3 2 4 1 1】。
在上述公式中,上下文查询向量Vq=concat(Vnew-q1、Vnew-q2…Vnew-qn)。
上述方法中,分别将各查询词向量各自的词相似度分布归一化处理,得到所述各查询词向量各自的查询概率分布,如此,可以得到模板词向量序列中各模板词向量与每个查询词向量的关联的概率分布,进一步,分别基于各查询词向量序列中的任一个查询词向量,这一个查询词向量对各模板词向量进行加权求和处理,得到这一个查询词向量的查询拼接向量,从而得到的查询拼接向量表征这一个查询词向量与模板词向量序列中各模板词向量的关联关系,即,查询拼接向量中包含这一个查询词向量与各模板词向量的词级别的关联关系,之后,将这一个查询词向量与其查询拼接向量进行拼接,使得获得的该查询词向量的上下文查询词向量中即包含查询词向量本身的词语和词性,还包含该查询词向量与各模板词向量的词级别的关联关系。
本申请实施例提供了又一种自然语言处理方法,在上述自然语言处理方法步骤3022、所述在所述一个模板词向量序列中补偿所述关联关系,获得上下文模板向量,如图13所示,包括:
步骤1301、将每个模板词向量与所述各查询词向量的各词相似度,按照所述各查询词向量在所述查询词向量序列中的顺序排序,获得每个模板词向量的词相似度分布;
本申请实施例中,假设查询词向量序列为【0 1 1 0 2 3 4 1】、模板词向量序列为【7 5 3 0 4 1 4 1】,模板词向量有【3 0】;模板词向量【3 0】分别与各查询词向量为【0 1】、【1 0】、【2 3】、【4 1】之间的词相似度为0、3、6、12,将模板词向量【3 0】分别与各查询词向量的词相似度为0、3、6、12按照各查询词向量在查询词向量序列为【0 1 1 0 2 3 4 1】中的顺序排序为0、3、6、12;(0、3、6、12)为模板词向量【3 0】的词相似度分布。
步骤1302、分别基于各模板词向量各自的词相似度分布,补偿对应模板词向量与所述各查询词向量之间的关联关系,获得所述各模板词向量各自的上下文模板词向量;
本申请实施例提供一种查询词向量与各模板词向量之间关联关系的补偿方法,在上述流程步骤1302中,假设查询词向量序列为【0 1 1 0 2 3 4 1】、模板词向量序列为【7 53 0 4 1 4 1】,模板词向量有【3 0】;模板词向量【3 0】分别与各查询词向量为【0 1】、【10】、【2 3】、【4 1】之间的词相似度为0、3、6、12,将模板词向量【3 0】分别与各查询词向量的词相似度为0、3、6、12按照各查询词向量在查询词向量序列为【0 1 1 0 2 3 4 1】中的顺序排序为0、3、6、12;(0、3、6、12)为模板词向量【3 0】的词相似度分布,可以将该(0、3、6、12)进行降维处理得到6,得到降维处理后的词相似度分布,将该降维处理后的词相似度分布拼接至模板词向量得到上下文模板词向量【3 0 6】,相应的,分别将各模板词向量拼接各自对应的降维处理后的词相似度分布分别得到各上下文模板词向量【7 5 1】、【3 0 6】、【4 1 1】、【4 1 1】。
本申请实施例提供一种查询词向量与各模板词向量之间关联关系的补偿方法,在上述流程步骤1302中,所述分别基于各模板词向量各自的词相似度分布,补偿对应模板词向量与所述各查询词向量之间的关联关系,获得所述各模板词向量各自的上下文模板词向量,包括:
步骤1、分别将所述各模板词向量各自的词相似度分布归一化处理,得到所述各模板词向量各自的模板概率分布;
本申请实施例中,假设查询词向量序列为【0 1 1 0 2 3 4 1】、模板词向量序列为【7 5 3 0 4 1 4 1】,模板词向量有【3 0】;模板词向量【3 0】分别与各查询词向量为【0 1】、【1 0】、【2 3】、【4 1】之间的词相似度为0、3、6、12,将模板词向量【3 0】分别与各查询词向量的词相似度为0、3、6、12按照各查询词向量在查询词向量序列为【0 1 1 0 2 3 4 1】中的顺序排序为0、3、6、12;(0、3、6、12)为模板词向量【3 0】的词相似度分布,可以将该(0、3、6、12)进行归一化处理得到模板词向量为【3 0】的模板概率分布(0、1/4、1/2、1)。
步骤2、分别基于各模板概率分布,对所述各查询词向量进行加权求和处理,得到所述各模板词向量各自的模板拼接向量。
在上述示例中,将归一化得到的模板词向量为【3 0】的模板概率分布(0、1/4、1/2、1)与各查询词向量进行加权求和处理,得到模板词向量为【3 0】的模板拼接向量,将该模板拼接向量与模板词向量为【3 0】拼接得到上下文模板词向量,从而得到各模板词向量各自的模板拼接向量。
其中,查询词向量与模板词向量之间的词相似度计算方式可以为词相似度Tij=Toc(Vqi,Vrel-samplej),Vqi表征查询词向量序列中的第i个查询词向量,Vrel-samplej表征模板词向量序列中的第j个模板词向量。
上述归一化方式可以通过tanh函数或Softmax函数等进行归一化,相应的本申请实施例中提供一种Softmax函数的表达公式:Probsrel-samplej=Softmax(T1j、T2j…Tnj),其中,T1j表征模板词向量序列中的第j个模板词向量与查询词向量序列中的第1个查询词向量对应的词相似度、T2j表征模板词向量序列中的第j个模板词向量与查询词向量序列中的第2个查询词向量对应的词相似度,Tnj表征模板词向量序列中的第j个模板词向量与查询词向量序列中的第n个查询词向量对应的词相似度,其中,n表征查询词向量序列中有n个查询词向量。
模板词向量【3 0】的模板概率分布(0、1/4、1/2、1)与各查询词向量进行加权求和处理的加权求和公式可以为:模板词向量j模板拼接向量
步骤3、分别将所述各模板词向量与各自的模板拼接向量进行拼接,获得所述各模板词向量各自的上下文查询词向量。
在上述示例中,将该模板拼接向量与查询词向量【3 0】拼接得到上下文拼接词向量,从而得到各模板词向量各自的模板拼接向量,分别得到各模板词向量与各自的模板拼接向量拼接得到的各上下文模板词向量。
基于上述公式,第j个模板词向量的上下文模板词向量为Vnew-rel-samplej=concat(Vrel-samplej,contextrel-samplej)。
步骤1303、将所述各上下文模板词向量按照各自对应的模板词向量在所述模板向量序列中的顺序排序,得到所述上下文模板向量。
在上述示例中,将各上下文模板词向量【7 5 1】、【3 0 6】、【4 1 1】、【4 1 1】按照各自对应的模板词向量在模板询向量序列中的顺序排序,得到上下文模板向量【7 5 1 3 06 4 1 1 4 1 1】。
在上述公式中,上下文模板向量Vrel=concat(Vnew-rel-sample1、Vnew-rel-sample2…Vnew-rel-samplek)。
上述方法中,分别将各模板词向量各自的词相似度分布归一化处理,得到所述各模板词向量各自的模板概率分布,如此,可以得到查询词向量序列中各查询词向量与每个模板词向量的关联的模板概率分布,进一步,分别基于各模板词向量中的任一个模板词向量,这一个模板词向量对各查询词向量进行加权求和处理,得到这一个模板词向量的模板拼接向量,从而得到的模板拼接向量表征这一个模板词向量与查询词向量序列中各查询词向量的关联关系,即,模板拼接向量中包含这一个模板词向量与各查询词向量的词级别的关联关系,之后,将这一个模板词向量与其模板拼接向量进行拼接,使得获得的该模板词向量的上下文模板词向量中即包含模板词向量本身的词语和词性,还包含该模板词向量与各查询词向量的词级别的关联关系。
本申请实施例提供了一种文本相似度获取方法,根据所述上下文查询向量和所述上下文模板向量,确定所述查询文本与所述一个请求模板的文本相似度,包括:获取所述上下文查询向量和所述上下文模板向量的差值绝对值,并将所述上下文查询向量、所述上下文模板向量和所述差值绝对值拼接,得到上下文拼接向量;将所述上下文拼接向量进行降维处理,获得所述文本相似度。
本申请实施例中,上下文拼接向量Vrepre=concat(Vq,Vrel,|Vq-Vrel|),通过WVrepre+b对上下文拼接向量进行降维处理,获得文本相似度,即,文本相似度=WVrepre+b,其中,W表征常数矩阵,b表征标量常数。这里的对上下文拼接向量进行降维处理的具体实现方式还可以为通过全连接层实现,本申请对上下文拼接向量进行降维处理的具体实现方式具体不做限制。
基于上述各方法流程,本申请实施例中提供的一种自然语言处理方法,具体的,在上述流程步骤1202中,还可以包含一种平均池化方法,将所述各上下文查询词向量按照各自对应的查询词向量在所述查询向量序列中的顺序排序,得到所述上下文查询向量,包括:
对所述各查询词向量各自的上下文查询词向量进行平均池化处理,获得所述各查询词向量各自的平均池化后的上下文查询词向量;
将各平均池化后的上下文查询词向量按照各自对应的查询词向量在所述查询向量序列中的顺序排序,得到所述上下文查询向量。
在本申请实施例中,通过平均池化层对各查询词向量各自的上下文查询词向量进行平均池化处理,可以表示为averge(Vnew-qi),则上下文查询向量Vq=concat(Vnew-q1、Vnew-q2…Vnew-qn)中的Vnew-q1、Vnew-q2…Vnew-qn均为平均池化的后的上下文查询词向量。
基于上述各方法流程,本申请实施例中提供的一种自然语言处理方法,具体的,在上述流程步骤1302中,还可以包含又一种平均池化方法,将所述各上下文模板词向量按照各自对应的模板词向量在所述模板向量序列中的顺序排序,得到所述上下文模板向量,包括:
对所述各模板词向量各自的上下文模板词向量进行平均池化处理,获得所述各模板词向量各自的平均池化后的上下文模板词向量;
将各平均池化后的上下文模板词向量按照各自对应的模板词向量在所述一个模板向量序列中的顺序排序,得到所述上下文模板向量。
在本申请实施例中,通过平均池化层,对一个请求模板的模板词向量序列中各模板词向量各自的上下文模板词向量进行平均池化处理,可以表示为averge(Vnew-rel-samplej),则上下文模板向量Vrel=concat(Vnew-rel-sample1、Vnew-rel-sample2…Vnew-rel-samplek)中的Vnew-rel-sample1、Vnew-rel-sample2…Vnew-rel-samplek均为平均池化的后的上下文模板词向量。
基于上述平均池化方法和上述图1中的关系识别模型,如图14所示,该自然语言处理方法中的关系识别模型中可以包括查询侧编码层、模板侧编码层、第一匹配层、查询平均池化层、模板平均池化层和第二匹配层;基于这种关系识别模型,该方法在进行自然语言处理时,针对多个请求模板中的每个请求模板,分别将查询文本和多个请求模板中的一个请求模板输入关系识别模型中的查询侧编码层和模板侧编码层,分别基于查询侧编码层和模板侧编码层对查询样本和这一个请求模板进行编码,得到查询词向量序列和模板词向量序列,进一步,将查询词向量序列和模板词向量序列输入关系识别模型中的第一匹配层,通过第一匹配层,获得查询词向量序列中各查询词向量,分别与这一个请求模板的模板词向量序列中各模板词向量之间的词相似度,基于获得的各词相似度,在查询词向量序列中,对于各查询词向量中的每个查询词向量,补偿这一个查询词向量与这一个请求模板的模板词向量序列中各模板词向量之间的关联关系,获得这一个查询词向量的上下文查询词向量,进一步的,得到各查询词向量各自的上下文查询词向量;将各上下文查询词向量输入查询平均池化层,得到平均池化后的各上下文查询词向量,将平均池化后的各上下文查询词向量依照其各自对应的查询词向量在查询词向量序列中的顺序排序,得到上下文查询向量;还基于获得的各词相似度,在一个请求模板的模板词向量序列中,对于各模板词向量中的每个模板词向量,补偿这一个模板词向量与查询文本的查询词向量序列中各查询词向量之间的关联关系,获得这一个模板词向量的上下文模板词向量,进一步的,得到各模板词向量各自的上下文模板词向量;将各上下文模板词向量输入模板平均池化层,得到平均池化后的各上下文模板词向量,将平均池化后的各上下文模板词向量依照其各自对应的模板词向量在模板词向量序列中的顺序排序,得到上下文模板向量。如此,分别在上下文查询向量和上下文模板向量中补偿词级别的查询文本与这一个请求模板之间的关联性,且防止关系识别模型过拟合,加快关系识别模型的处理速度。之后,将获得的上下文查询向量和上下文模板向量输入关系识别模型中的第二匹配层,基于第二匹配层,获得上下文查询向量和上下文模板向量的文本相似度。如此,基于已经补偿查询文本与这一个请求模板之间的词级别关联性的上下文查询向量和上下文模板向量,进一步确定上下文查询向量和上下文模板向量文本相似度,得到查询文本与这一个请求模板的文本相似度,使得文本相似度中即考虑文本间词级别关联关系,又考虑句子级别关联关系,极大提高了文本相似度的准确性。相应的,针对多个请求模板中的每个请求模板均执行上述步骤,得到各请求模板分别与查询文本的文本相似度,将各文本相似度中符合文本相似度条件的请求模板所属的请求模板集合关联的候选文本,作为查询文本的关联文本,根据关联文本生成查询请求的查询结果,使得查询对象获得的查询结果更准确。
本申请实施例中,对于上述图14中的关系识别模型,针对关系识别模型进行训练时,是通过目标关系识别模型执行的,通过训练样本集合的每个训练样本中包含一个查询样本和多个模板样本,且这多个模板样本中包含一个具有标签的模板样本,具有标签的模板样本关联的候选样本为这个训练样本中查询样本的关联样本。基于训练样本集合,对目标关联识别模型进行至少一轮迭代训练,具体的,每轮迭代训练中,通过目标关系识别模型中的查询侧编码层,获得一个训练样本中查询样本的查询样本词向量序列,并通过模板侧编码层分别获得这一个训练样本中各模板样本各自的模板样本词向量序列;通过目标关系识别模型的第一匹配层,获得查询样本词向量序列中各查询样本词向量,分别对于各模板样本中一个模板样本,获取各查询样本词向量与这一个模板样本的模板样本词向量序列中各模板样本词向量之间的样本词相似度。如此,获得这一个训练样本中查询样本分别与各模板样本之间的词级别的关联性。基于获得的各样本词相似度,在查询样本词向量序列中,对于各查询样本词向量中的每个查询样本词向量,补偿这一个查询样本词向量与这一个模板样本的模板样本词向量序列中各模板样本词向量之间的关联关系,获得这一个查询样本词向量的上下文查询样本词向量,进一步的,得到各查询样本词向量各自的上下文查询样本词向量;将各上下文查询样本词向量输入查询平均池化层,得到平均池化后的各上下文查询样本词向量,将平均池化后的各上下文查询样本词向量依照其各自对应的查询样本词向量在查询样本词向量序列中的顺序排序,得到上下文查询样本向量;还基于获得的各样本词相似度,在一个模板样本的模板样本词向量序列中,对于各模板样本词向量中的每个模板样本词向量,补偿这一个模板样本词向量与查询样本的查询样本词向量序列中各查询样本词向量之间的关联关系,获得这一个模板样本词向量的上下文模板样本词向量,进一步的,得到各模板样本词向量各自的上下文模板样本词向量;将各上下文模板样本词向量输入模板平均池化层,得到平均池化后的各上下文模板样本词向量,将平均池化后的各上下文模板样本词向量依照其各自对应的模板样本词向量在模板样本词向量序列中的顺序排序,得到上下文模板样本向量。如此,基于获得的这一个训练样本中查询样本分别与各模板样本之间的词级别的关联性,对查询样本分别和各模板样本之间的词级别的关联性进行补偿,得到分别对于每个模板样本的词级别关联性补偿后的查询样本的上下文查询样本向量,和词级别关联性补偿后的各模板样本各自的上下文模板样本向量。进一步,对于每个模板样本对应的查询样本的上下文查询样本向量,以及各模板样本各自的上下文模板样本向量,分别将对于各模板样本中一个模板样本对应的查询样本的上下文查询样本向量,和这一个模板样本的上下文模板样本向量进行句子级别的处理,即,通过第二匹配层,基于这一个模板样本对应的查询样本的上下文查询样本向量和这一个模板样本的上下文模板样本向量,确定查询样本与这一个模板样本的样本相似度。从而获得查询样本分别与各模板样本的样本相似度。之后,基于获得的各样本相似度和具有标签的模板样本,调整查询侧编码层和模板侧编码层、第一匹配层和第二匹配层中的任一层或多层的参数;基于最后一轮迭代训练,获得训练后的关系识别模型。
基于相同的构思,本申请实施例还提供了一种自然语言处理装置,如图15所示,包括:
获取单元1501,用于响应于查询请求,获得所述查询请求携带的查询文本的查询词向量序列;获取预设的各请求模板集合中的请求模板,得到多个请求模板,并获取所述多个请求模板各自的模板词向量序列;
第一处理单元1502,用于针对所述多个请求模板,分别执行如下步骤:
获得所述查询词向量序列中各查询词向量,分别与一个请求模板的模板词向量序列中各模板词向量之间的词相似度;
基于获得的各词相似度,在所述查询词向量序列中,补偿所述各查询词向量与所述各模板词向量之间的关联关系,获得上下文查询向量,以及
在所述一个模板词向量序列中补偿所述关联关系,获得上下文模板向量;
根据所述上下文查询向量和所述上下文模板向量,确定所述查询文本与所述一个请求模板的文本相似度;
第二处理单元1503,用于基于获得的各文本相似度,将符合文本相似度条件的请求模板所属的请求模板集合关联的候选文本,作为所述查询文本的关联文本。
可选的,所述获取单元1501具体用于:
对所述查询文本进行逐字拆分,获得相应的字序列,并将所述查询文本的字序列中每相邻两个字进行组合,获得相应的查询组合词;
获取各查询组合词各自对应的查询词向量,并基于获得的各查询词向量,获得所述查询文本的查询词向量序列。
可选的,所述获取单元1501具体用于:
分别将所述多个请求模板进行逐字拆分,获得所述多个请求模板各自的字序列;
针对所述多个请求模板,分别执行如下步骤:将一个请求模板的字序列中每相邻两个字进行组合,获得相应的模板组合词;获取各模板组合词各自对应的模板词向量,并基于获得的各模板词向量,获得所述一个请求模板的模板词向量序列。
可选的,所述第一处理单元1502具体用于:
将每个查询词向量与所述各模板词向量的各词相似度,按照所述各模板词向量在所述一个模板词向量序列中的顺序排序,获得每个查询词向量的词相似度分布;
分别基于各查询词向量各自的词相似度分布,补偿对应查询词向量与所述各模板词向量之间的关联关系,获得所述各查询词向量各自的上下文查询词向量;
将所述各上下文查询词向量按照各自对应的查询词向量在所述查询向量序列中的顺序排序,得到所述上下文查询向量。
可选的,所述第一处理单元1502具体用于:
将每个模板词向量与所述各查询词向量的各词相似度,按照所述各查询词向量在所述查询词向量序列中的顺序排序,获得每个模板词向量的词相似度分布;
分别基于各模板词向量各自的词相似度分布,补偿对应模板词向量与所述各查询词向量之间的关联关系,获得所述各模板词向量各自的上下文模板词向量;
将所述各上下文模板词向量按照各自对应的模板词向量在所述模板向量序列中的顺序排序,得到所述上下文模板向量。
可选的,所述第一处理单元1502具体用于:
分别将所述各查询词向量各自的词相似度分布归一化处理,得到所述各查询词向量各自的查询概率分布;
分别基于各查询概率分布,对所述各模板词向量进行加权求和处理,得到所述各查询词向量各自的查询拼接向量;
分别将所述各查询词向量与各自的查询拼接向量进行拼接,获得所述各查询词向量各自的上下文查询词向量。
可选的,所述第一处理单元1502具体用于:
分别将所述各模板词向量各自的词相似度分布归一化处理,得到所述各模板词向量各自的模板概率分布;
分别基于各模板概率分布,对所述各查询词向量进行加权求和处理,得到所述各模板词向量各自的模板拼接向量。
分别将所述各模板词向量与各自的模板拼接向量进行拼接,获得所述各模板词向量各自的上下文查询词向量。
可选的,所述第一处理单元1502具体用于:
获取所述上下文查询向量和所述上下文模板向量的差值绝对值,并将所述上下文查询向量、所述上下文模板向量和所述差值绝对值拼接,得到上下文拼接向量;
将所述上下文拼接向量进行降维处理,获得所述文本相似度。
可选的,所述第一处理单元1502具体用于:对所述各查询词向量各自的上下文查询词向量进行平均池化处理,获得所述各查询词向量各自的平均池化后的上下文查询词向量;
将各平均池化后的上下文查询词向量按照各自对应的查询词向量在所述查询向量序列中的顺序排序,得到所述上下文查询向量。
可选的,所述第一处理单元1502具体用于:对所述各模板词向量各自的上下文模板词向量进行平均池化处理,获得所述各模板词向量各自的平均池化后的上下文模板词向量;
将各平均池化后的上下文模板词向量按照各自对应的模板词向量在所述一个模板向量序列中的顺序排序,得到所述上下文模板向量。
可选的,训练单元1504具体用于:基于预设的训练样本集对待训练的关系识别模型进行多轮迭代训练,每个训练样本包括查询样本和多个模板样本,所述多个模板样本中有一个正样本;其中,在一轮迭代过程中,执行以下操作:
获得训练样本中查询样本的第一词向量序列,并获得训练样本中各模板样本各自的第二词向量序列;
针对所述各模板样本,分别执行如下步骤:
获得所述第一词向量序列中各第一词向量,分别与一个模板样本的第二词向量序列中各第二词向量之间的样本词相似度;基于获得的各样本词相似度,在所述第一词向量序列中,补偿所述各第一词向量与所述各第二词向量之间的样本关联关系,获得第一上下文向量,以及在所述一个第二词向量序列中补偿所述样本关联关系,获得第二上下文向量;
基于所述第一上下文向量和所述第二上下文向量,确定所述查询样本与所述一个模板样本的样本相似度;
基于获得的各样本相似度和所述正样本,调整所述关系识别模型的参数。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种计算机设备。在一种实施例中,该计算机设备可以是服务器,如图2所示的服务器201。在该实施例中,计算机设备的结构可以如图16所示,包括存储器1601,通讯模块1603以及一个或多个处理器1602。
存储器1601,用于存储处理器1602执行的计算机程序。存储器1601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1601也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1601是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1601可以是上述存储器的组合。
处理器1602,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1602,用于调用存储器1601中存储的计算机程序时实现上述自然语言处理方法。
通讯模块1603用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1601、通讯模块1603和处理器1602之间的具体连接介质。本申请实施例在图16中以存储器1601和处理器1602之间通过总线1604连接,总线1604在图16中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1604可以分为地址总线、数据总线、控制总线等。为便于描述,图16中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1601中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的自然语言处理方法。处理器1602用于执行上述的自然语言处理方法,如图3或图12或图13所示。
在另一种实施例中,计算机设备也可以是其他计算机设备,如图2所示的终端设备201。在该实施例中,计算机设备的结构可以如图17所示,包括:通信组件1710、存储器1720、显示单元1730、摄像头1740、传感器1750、音频电路1760、蓝牙模块1770、处理器1780等部件。
通信组件1710用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,计算机设备通过WiFi模块可以帮助用户收发信息。
存储器1720可用于存储软件程序及数据。处理器1780通过运行存储在存储器1720的软件程序或数据,从而执行终端设备201的各种功能以及数据处理。存储器1720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1720存储有使得终端设备201能运行的操作系统。本申请中存储器1720可以存储操作系统及各种应用程序,还可以存储执行本申请实施例中的自然语言处理方法的计算机程序。
显示单元1730还可用于显示由用户输入的信息或提供给用户的信息以及终端设备201的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1730可以包括设置在终端设备201正面的显示屏1732。其中,显示屏1732可以采用液晶显示器、发光二极管等形式来配置。显示单元1730可以用于显示本申请实施例中的用户搜索界面等。
显示单元1730还可用于接收输入的数字或字符信息,产生与终端设备201的用户设置以及功能控制有关的信号输入,具体地,显示单元1730可以包括设置在终端设备110正面的触摸屏2131,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触摸屏1731可以覆盖在显示屏1732之上,也可以将触摸屏1731与显示屏1732集成而实现终端设备201的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元1730可以显示应用程序以及对应的操作步骤。
摄像头1740可用于捕获静态图像,用户可以将摄像头1740拍摄的图像通过应用发布评论。摄像头1740可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1780转换成数字图像信号。
终端设备还可以包括至少一种传感器1750,比如加速度传感器1751、距离传感器1752、指纹传感器1753、温度传感器1754。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1760、扬声器1761、传声器1762可提供用户与终端设备201之间的音频接口。音频电路1760可将接收到的音频数据转换后的电信号,传输到扬声器1761,由扬声器1761转换为声音信号输出。终端设备201还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1762将收集的声音信号转换为电信号,由音频电路1760接收后转换为音频数据,再将音频数据输出至通信组件1710以发送给比如另一终端设备201,或者将音频数据输出至存储器1720以便进一步处理。
蓝牙模块1770用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1770与同样具备蓝牙模块的可穿戴计算机设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1780是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1720内的软件程序,以及调用存储在存储器1720内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器2180可包括一个或多个处理单元;处理器1780还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1780中。本申请中处理器1780可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的自然语言处理方法。另外,处理器1780与显示单元1730耦接。
在一些可能的实施方式中,本申请提供的多媒体信息推荐方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的网络加速方法中的步骤,例如,计算机设备可以执行如图3或图12或图13中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在计算机设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。计算机程序可以完全地在用户计算机设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算机设备上部分在远程计算机设备上执行、或者完全在远程计算机设备或服务器上执行。在涉及远程计算机设备的情形中,远程计算机设备可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机设备,或者,可以连接到外部计算机设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种自然语言处理方法,其特征在于,包括:
响应于查询请求,获得所述查询请求携带的查询文本的查询词向量序列;
获取预设的各请求模板集合中的请求模板,得到多个请求模板,并获取所述多个请求模板各自的模板词向量序列;
针对所述多个请求模板,分别执行如下步骤:
获得所述查询词向量序列中各查询词向量,分别与一个请求模板的模板词向量序列中各模板词向量之间的词相似度;
基于获得的各词相似度,在所述查询词向量序列中,补偿所述各查询词向量与所述各模板词向量之间的关联关系,获得上下文查询向量,以及在所述一个模板词向量序列中补偿所述关联关系,获得上下文模板向量;
根据所述上下文查询向量和所述上下文模板向量,确定所述查询文本与所述一个请求模板的文本相似度;
基于获得的各文本相似度,将符合文本相似度条件的请求模板所属的请求模板集合关联的候选文本,作为所述查询文本的关联文本。
2.如权利要求1所述的方法,其特征在于,所述获取所述查询文本的查询词向量序列,包括:
对所述查询文本进行逐字拆分,获得相应的字序列,并将所述查询文本的字序列中每相邻两个字进行组合,获得相应的查询组合词;
获取各查询组合词各自对应的查询词向量,并基于获得的各查询词向量,获得所述查询文本的查询词向量序列。
3.如权利要求1所述的方法,其特征在于,所述获取所述多个请求模板各自的模板词向量序列,包括:
分别将所述多个请求模板进行逐字拆分,获得所述多个请求模板各自的字序列;
针对所述多个请求模板,分别执行如下步骤:将一个请求模板的字序列中每相邻两个字进行组合,获得相应的模板组合词;获取各模板组合词各自对应的模板词向量,并基于获得的各模板词向量,获得所述一个请求模板的模板词向量序列。
4.如权利要求1所述的方法,其特征在于,所述在所述查询词向量序列中,补偿所述各查询词向量与所述各模板词向量之间的关联关系,获得上下文查询向量,包括:
将每个查询词向量与所述各模板词向量的各词相似度,按照所述各模板词向量在所述一个模板词向量序列中的顺序排序,获得每个查询词向量的词相似度分布;
分别基于各查询词向量各自的词相似度分布,补偿对应查询词向量与所述各模板词向量之间的关联关系,获得所述各查询词向量各自的上下文查询词向量;
将所述各上下文查询词向量按照各自对应的查询词向量在所述查询向量序列中的顺序排序,得到所述上下文查询向量。
5.如权利要求1所述的方法,其特征在于,所述在所述一个模板词向量序列中补偿所述关联关系,获得上下文模板向量,包括:
将每个模板词向量与所述各查询词向量的各词相似度,按照所述各查询词向量在所述查询词向量序列中的顺序排序,获得每个模板词向量的词相似度分布;
分别基于各模板词向量各自的词相似度分布,补偿对应模板词向量与所述各查询词向量之间的关联关系,获得所述各模板词向量各自的上下文模板词向量;
将所述各上下文模板词向量按照各自对应的模板词向量在所述模板向量序列中的顺序排序,得到所述上下文模板向量。
6.如权利要求4所述的方法,其特征在于,所述分别基于各查询词向量各自的词相似度分布,补偿对应查询词向量与所述各模板词向量之间的关联关系,获得所述各查询词向量各自的上下文查询词向量,包括:
分别将所述各查询词向量各自的词相似度分布归一化处理,得到所述各查询词向量各自的查询概率分布;
分别基于各查询概率分布,对所述各模板词向量进行加权求和处理,得到所述各查询词向量各自的查询拼接向量;
分别将所述各查询词向量与各自的查询拼接向量进行拼接,获得所述各查询词向量各自的上下文查询词向量。
7.如权利要求5所述的方法,其特征在于,所述分别基于各模板词向量各自的词相似度分布,补偿对应模板词向量与所述各查询词向量之间的关联关系,获得所述各模板词向量各自的上下文模板词向量,包括:
分别将所述各模板词向量各自的词相似度分布归一化处理,得到所述各模板词向量各自的模板概率分布;
分别基于各模板概率分布,对所述各查询词向量进行加权求和处理,得到所述各模板词向量各自的模板拼接向量;
分别将所述各模板词向量与各自的模板拼接向量进行拼接,获得所述各模板词向量各自的上下文查询词向量。
8.如权利要求1-7中任一所述的方法,其特征在于,根据所述上下文查询向量和所述上下文模板向量,确定所述查询文本与所述一个请求模板的文本相似度,包括:
获取所述上下文查询向量和所述上下文模板向量的差值绝对值,并将所述上下文查询向量、所述上下文模板向量和所述差值绝对值拼接,得到上下文拼接向量;
将所述上下文拼接向量进行降维处理,获得所述文本相似度。
9.如权利要求4或6中所述的方法,其特征在于,将所述各上下文查询词向量按照各自对应的查询词向量在所述查询向量序列中的顺序排序,得到所述上下文查询向量,包括:
对所述各查询词向量各自的上下文查询词向量进行平均池化处理,获得所述各查询词向量各自的平均池化后的上下文查询词向量;
将各平均池化后的上下文查询词向量按照各自对应的查询词向量在所述查询向量序列中的顺序排序,得到所述上下文查询向量。
10.如权利要求5或7中所述的方法,其特征在于,将所述各上下文模板词向量按照各自对应的模板词向量在所述模板向量序列中的顺序排序,得到所述上下文模板向量,包括:
对所述各模板词向量各自的上下文模板词向量进行平均池化处理,获得所述各模板词向量各自的平均池化后的上下文模板词向量;
将各平均池化后的上下文模板词向量按照各自对应的模板词向量在所述一个模板向量序列中的顺序排序,得到所述上下文模板向量。
11.如权利要求1-10中任一所述的方法,其特征在于,所述方法是通过目标关系识别模型执行的,所述目标关系识别模型的训练过程如下:
基于预设的训练样本集对待训练的关系识别模型进行多轮迭代训练,每个训练样本包括查询样本和多个模板样本,所述多个模板样本中有一个正样本;其中,在一轮迭代过程中,执行以下操作:
获得训练样本中查询样本的第一词向量序列,并获得训练样本中各模板样本各自的第二词向量序列;
针对所述各模板样本,分别执行如下步骤:
获得所述第一词向量序列中各第一词向量,分别与一个模板样本的第二词向量序列中各第二词向量之间的样本词相似度;基于获得的各样本词相似度,在所述第一词向量序列中,补偿所述各第一词向量与所述各第二词向量之间的样本关联关系,获得第一上下文向量,以及在所述一个第二词向量序列中补偿所述样本关联关系,获得第二上下文向量;
基于所述第一上下文向量和所述第二上下文向量,确定所述查询样本与所述一个模板样本的样本相似度;
基于获得的各样本相似度和所述正样本,调整所述关系识别模型的参数。
12.一种自然语言处理装置,其特征在于,包括:
获取单元,用于响应于查询请求,获得所述查询请求携带的查询文本的查询词向量序列;获取预设的各请求模板集合中的请求模板,得到多个请求模板,并获取所述多个请求模板各自的模板词向量序列;
第一处理单元,用于针对所述多个请求模板,分别执行如下步骤:
获得所述查询词向量序列中各查询词向量,分别与一个请求模板的模板词向量序列中各模板词向量之间的词相似度;
基于获得的各词相似度,在所述查询词向量序列中,补偿所述各查询词向量与所述各模板词向量之间的关联关系,获得上下文查询向量,以及在所述一个模板词向量序列中补偿所述关联关系,获得上下文模板向量;
根据所述上下文查询向量和所述上下文模板向量,确定所述查询文本与所述一个请求模板的文本相似度;
第二处理单元,用于基于获得的各文本相似度,将符合文本相似度条件的请求模板所属的请求模板集合关联的候选文本,作为所述查询文本的关联文本。
13.一种计算机可读非易失性存储介质,其特征在于,所述计算机可读非易失性存储介质存储有程序,当所述程序在计算机上运行时,使得计算机实现执行权利要求1至11中任一项所述的方法。
14.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行如权利要求1至11任一项权利要求所述的方法。
15.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述计算机设备执行如权利要求1至11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211361287.1A CN116956908A (zh) | 2022-11-02 | 2022-11-02 | 一种自然语言处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211361287.1A CN116956908A (zh) | 2022-11-02 | 2022-11-02 | 一种自然语言处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116956908A true CN116956908A (zh) | 2023-10-27 |
Family
ID=88451648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211361287.1A Pending CN116956908A (zh) | 2022-11-02 | 2022-11-02 | 一种自然语言处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116956908A (zh) |
-
2022
- 2022-11-02 CN CN202211361287.1A patent/CN116956908A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113762322A (zh) | 基于多模态表示的视频分类方法、装置和设备及存储介质 | |
CN116720004B (zh) | 推荐理由生成方法、装置、设备及存储介质 | |
CN115131638B (zh) | 视觉文本预训练模型的训练方法、装置、介质和设备 | |
CN113704388A (zh) | 多任务预训练模型的训练方法、装置、电子设备和介质 | |
CN111783903B (zh) | 文本处理方法、文本模型的处理方法及装置、计算机设备 | |
CN114238690A (zh) | 视频分类的方法、装置及存储介质 | |
CN111737432A (zh) | 一种基于联合训练模型的自动对话方法和系统 | |
CN114707513A (zh) | 一种文本语义识别方法、装置、电子设备和存储介质 | |
CN117079299B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113505206B (zh) | 基于自然语言推理的信息处理方法、装置和电子设备 | |
CN111930981A (zh) | 一种草图检索的数据处理方法 | |
CN116186197A (zh) | 话题推荐方法、装置、电子设备及存储介质 | |
CN116977701A (zh) | 视频分类模型训练的方法、视频分类的方法和装置 | |
CN117093687A (zh) | 问题应答方法和装置、电子设备、存储介质 | |
CN116956183A (zh) | 多媒体资源推荐方法、模型训练方法、装置及存储介质 | |
CN116958852A (zh) | 视频与文本的匹配方法、装置、电子设备和存储介质 | |
CN114419514B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN112861474B (zh) | 一种信息标注方法、装置、设备及计算机可读存储介质 | |
CN115130461A (zh) | 一种文本匹配方法、装置、电子设备及存储介质 | |
CN113919338B (zh) | 处理文本数据的方法及设备 | |
CN115129885A (zh) | 实体链指方法、装置、设备及存储介质 | |
CN116956908A (zh) | 一种自然语言处理方法及装置 | |
CN114970494A (zh) | 一种评论生成方法、装置、电子设备和存储介质 | |
CN114282094A (zh) | 一种资源排序方法、装置、电子设备和存储介质 | |
CN116737756B (zh) | 一种数据查询方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |