CN110032633A - 多轮对话处理方法、装置和设备 - Google Patents
多轮对话处理方法、装置和设备 Download PDFInfo
- Publication number
- CN110032633A CN110032633A CN201910308669.XA CN201910308669A CN110032633A CN 110032633 A CN110032633 A CN 110032633A CN 201910308669 A CN201910308669 A CN 201910308669A CN 110032633 A CN110032633 A CN 110032633A
- Authority
- CN
- China
- Prior art keywords
- knowledge
- memory
- text
- vector
- analyzed
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种多轮对话处理方法、装置和设备,属于自然语言处理技术领域,用于提高多伦对话的准确性。在该方法中,在编码阶段将结构化的知识图谱和非机构化的文本结合。也即,在编码阶段将知识多元组和对话历史以及背景知识相结合,得到的编码结果能够涵盖对话历史、对话背景和对话中实体之间的关系,由此得到的编码结果信息更丰富,能够使得编码结果更加准确。这样,根据更加准确的编码结果在解码阶段能够得到更好的应答。
Description
技术领域
本发明涉及自然语言处理技术领域,特别涉及一种多伦对话处理方法、装置和设备。
背景技术
Seq2Seq(sequence-to-sequence,多轮对话生成系统)的模型是一类end-to-end(端到端)的算法框架。常应用在机器翻译、自动应答等场景。Seq2Seq一般通过Encoder-Decoder(编码-解码)框架实现。Encoder和Decoder部分可以对任意的文字,语音,图像,视频数据进行处理,Encoder-Decoder模型可以采用CNN(Convolutional Neural Networks,卷积神经网络)、RNN(Recurrent Neural Network,循环神经网络)、LSTM(Long Short-TermMemory,长短期记忆网络)、GRU(gated recurrent neural network,门控循环神经网络)、BLSTM(bidirectional long short-term memory,双向长短时记忆网络)等神经网络模型。所以基于Encoder-Decoder,可以设计出各种各样的应用算法。目前Seq2Seq常应用在机器翻译、自动应答等场景。但在自动应答场景中,传统的Seq2Seq生成容易生成太多重复、无意义的回复。
发明内容
本发明实施例提供一种多伦对话处理方法、装置和设备,用于减轻支付代码开发测试工作量重、同时也造成一定的资源浪费的问题。
一方面,提供一种多伦对话处理方法,所述方法包括:
生成待分析文本的向量表示;
根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重;
根据分别对应的权重,对所述第一知识多元组、背景知识和所述对话历史记忆进行加权求和;
将加权求和结果和所述向量表示进行求和后,输入给目标解码模块得到针对所述待分析文本的应答内容。
进一步的,生成待分析文本的向量表示,包括:
对所述待分析文本进行分词处理,得到所述待分析文本中的实体词和非实体词;
针对实体词,在知识图库中,查找各实体词对应的第二知识多元组,并对第二知识多元组采用图注意graph attention方式进行编码;
针对非实体词,将其转化为词向量;
按照实体词和非实体词在所述待分析文本中的位置,对编码得到的第二知识多元组和词向量进行拼接得到所述待分析文本的初始向量;
将初始向量通过双向循环神经网络进行编码得到所述待分析文本的向量表示。
进一步的,所述输入给目标解码模块得到针对所述待分析文本的应答内容之前,还包括:
将加权求和结果和所述向量表示进行求和得到的结果输入给分类器;
根据分类器的输出结果,从至少两种不同的解码模块中选择所述目标解码模块。
进一步的,所述解码模块包括以下中的至少两种:
使用LSTM生成模型在整个词典上生成预测分布的第一解码模块;
使用指针网络指向对话记忆、从对话记忆中拷贝copy单词作为记忆分布的第二解码模块;
使用指针网络指向对话记忆,从对话记忆中copy一段序列的第三解码模块。
进一步的,所述记忆网络包括:
将对话过程中涉及到的实体关系多元组,经过编码后以记忆memory矩阵的形式存储得到多元组知识记忆;
获取所述对话过程中的相关背景知识内容,将背景知识内容编码后以memory矩阵的形式存储得到背景知识记忆;
对多轮对话的每个轮次的对话经过编码后以memory矩阵的形式存储得到对话历史记忆;
所述根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,包括:
从多元组知识记忆中获取所述第一知识多元组,从背景知识记忆中获取所述背景知识,从对话历史记忆中获取所述对话历史记忆。
进一步的,将加权求和结果和所述向量表示进行求和后,所述方法还包括:
得到求和结果后对计数值累加指定值;
若计数值小于设定的循环次数,则将求和结果作为新的向量表示后返回执行根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重的步骤;
若计数值大于或等于设定的循环次数,则将求和结果输入给目标解码模块得到针对所述待分析文本的应答内容。
进一步的,获取与所述第一知识多元组、背景知识和所述对话历史记忆分别对应的权重,包括:
采用记忆注意力机制memory attention确定与所述第一知识多元组、背景知识和所述对话历史记忆分别对应的权重。
第二方面,本发明实施例还提供一种多伦对话处理装置,所述装置包括:
向量表示生成单元,用于生成待分析文本的向量表示;
交互单元,用于根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重;
加权求和单元,用于根据分别对应的权重,对所述第一知识多元组、背景知识和所述对话历史记忆进行加权求和;
应答单元,用于将加权求和结果和所述向量表示进行求和后,输入给目标解码模块得到针对所述待分析文本的应答内容。
进一步的,向量表示生成单元,包括:
分词子单元,用于对所述待分析文本进行分词处理,得到所述待分析文本中的实体词和非实体词;
编码子单元,用于针对实体词,在知识图库中,查找各实体词对应的第二知识多元组,并对第二知识多元组采用图注意graph attention方式进行编码;
词向量转化单元,用于针对非实体词,将其转化为词向量;
初始向量生成子单元,用于按照实体词和非实体词在所述待分析文本中的位置,对编码得到的第二知识多元组和词向量进行拼接得到所述待分析文本的初始向量;
向量表示生成子单元,用于将初始向量通过双向循环神经网络进行编码得到所述待分析文本的向量表示。
进一步的,所述输入给目标解码模块得到针对所述待分析文本的应答内容之前,还包括:
分类单元,用于将加权求和结果和所述向量表示进行求和得到的结果输入给分类器;
目标解码模块选择单元,用于根据分类器的输出结果,从至少两种不同的解码模块中选择所述目标解码模块。
进一步的,所述解码模块包括以下中的至少两种:
使用LSTM生成模型在整个词典上生成预测分布的第一解码模块;
使用指针网络指向对话记忆、从对话记忆中拷贝copy单词作为记忆分布的第二解码模块;
使用指针网络指向对话记忆,从对话记忆中copy一段序列的第三解码模块。
进一步的,所述记忆网络包括:
将对话过程中涉及到的实体关系多元组,经过编码后以记忆memory矩阵的形式存储得到多元组知识记忆;
获取所述对话过程中的相关背景知识内容,将背景知识内容编码后以memory矩阵的形式存储得到背景知识记忆;
对多轮对话的每个轮次的对话经过编码后以memory矩阵的形式存储得到对话历史记忆;
所述根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,包括:
从多元组知识记忆中获取所述第一知识多元组,从背景知识记忆中获取所述背景知识,从对话历史记忆中获取所述对话历史记忆。
进一步的,将加权求和结果和所述向量表示进行求和后,所述装置还包括:
累加值更新单元,用于得到求和结果后对计数值累加指定值;
向量更新单元,用于若计数值小于设定的循环次数,则将求和结果作为新的向量表示后返回执行根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重的步骤;
所述应答单元,用于若计数值大于或等于设定的循环次数,则将求和结果输入给目标解码模块得到针对所述待分析文本的应答内容。
进一步的,交互单元用于:
采用记忆注意力机制memory attention确定与所述第一知识多元组、背景知识和所述对话历史记忆分别对应的权重。
第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,
所述处理器执行所述计算机程序时实现上述方面所述的方法步骤。
第四方面,提供一种计算机可读存储介质,
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机能够执行上述方面所述的方法。
本发明实施例提供了一种多伦对话处理方法,在该方法中,在编码阶段将结构化的知识图谱和非机构化的文本结合。也即,在编码阶段将知识多元组和对话历史以及背景知识相结合,得到的编码结果能够涵盖对话历史、对话背景和对话中实体之间的关系,由此得到的编码结果信息更丰富,能够使得编码结果更加准确。这样,根据更加准确的编码结果在解码阶段能够得到更好的应答。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的多轮对话处理的流程图之一;
图2为本发明实施例提供的多轮对话处理的流程图之二;
图3为本发明实施例提供的多轮对话处理的流程图之三;
图4为本发明实施例提供的多轮对话处理的模型的示意图;
图5为本发明实施例提供的多伦对话处理装置的结构示意图;
图6为本发明实施例提供的计算机设备的一种结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为便于理解本发明实施例提供的技术方案,这里先对本发明实施例使用的一些关键名词进行解释:
结构化的知识图谱:是指在一定的应用场景中构建指定的实体之间的关系的图谱。例如,在适用于影视问答的场景中,可以通过爬取相关网站的信息挖掘电影(标记为e1)、演员(标记为e2)这类实体之间的关系(标记为r)。得到实体关系三元组(e1、r、e2)。当然具体实施时,结构化知识图谱不光可以是三元组,还可以是更多元组,可以根据实际需求确定,本申请对此不作限定。
非结构化的文本知识:指不能以结构化的知识图谱表达的背景知识,例如关于影视的对话过程中和背景有关的知识。例如电影的主题、情节、评论等。
知识三元组:如前所示,用于表示实体之间的关系的三元组。
对话历史记忆:指从对话的历史信息中挖掘出的用于表示对话上下文内容的信息。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
相关技术中在对话的应用场景,经常会产生重复、无意义的回复。有鉴于此,本发明实施例提供了一种多伦对话处理方法,在该方法中,在编码阶段将结构化的知识图谱和非机构化的文本结合。也即,在编码阶段将知识多元组和对话历史以及背景知识相结合,得到的编码结果能够涵盖对话历史、对话背景和对话中实体之间的关系,由此得到的编码结果信息更丰富,能够使得编码结果更加准确。这样,根据更加准确的编码结果在解码阶段能够得到更好的应答。
在介绍完本发明实施例的设计构思之后,下面对本发明实施例的实现方法做进一步说明,如图1所示,为该方法的流程示意图,可包括以下步骤:
步骤101:生成待分析文本的向量表示。
在一个实施例中,将待分析的文本进行分词,然后可以得到待分析文本各个分词的词向量,进而得到待分析文本的向量表示。
步骤102:根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重。
其中,在一个实施例中,可以根采用记忆网络对语料进行处理来挖掘第一知识多元组、背景知识和对话历史记忆。其中,记忆网络中包括以下内容:
1、将对话过程中涉及到的实体关系多元组,经过编码后以memory矩阵的形式存储得到多元组知识记忆。
其中,编码方式可采用TransE编码,当然具体实施时,也可以采用其他方式进行编码,本发明实施例对此不作限定。
2、获取所述对话过程中的相关背景知识内容,将背景知识内容编码后以memory矩阵的形式存储得到背景知识记忆。
3、对多轮对话的每个轮次的对话经过编码后以memory矩阵的形式存储得到对话历史记忆。
其中,需要说明的是,上述的多元组知识记忆、背景知识记忆和对话历史记忆是三个独立的memory。这样,交互式时,可以针对每个独立的memory进行交互。故此,可以实现从多元组知识记忆中获取所述第一知识多元组,从背景知识记忆中获取所述背景知识,从对话历史记忆中获取所述对话历史记忆。
步骤103:根据分别对应的权重,对所述第一知识多元组、背景知识和所述语义进行加权求和。
步骤104:将加权求和结果和所述向量表示进行求和后,输入给目标解码模块得到针对所述待分析文本的应答内容。
由上述步骤可知,本发明实施例中,在编码阶段使用了知识多元组、背景知识和对话历史信息,使得编码阶段的编码结果能够将结构化的知识图谱和非结构和的文本相结合,使得编码阶段的编码结果能够涵盖更多更丰富的信息。这样得到应答结果能够以结构化的知识图谱和非结构化的文本作为参考,得到的应答更为准确。
进一步的,在一个实施例中,为了能够综合考量对话的上下文,本发明实施例中,可以采用图2所述的方法生成待分析文本的向量表示,包括以下步骤:
步骤201:对所述待分析文本进行分词处理,得到所述待分析文本中的实体词和非实体词。
步骤202:针对实体词,在知识图库中,查找各实体词对应的第二知识多元组,并对第二知识多元组采用graph attention(图注意)方式进行编码。
步骤203:针对非实体词,将其转化为词向量。
具体实施时,步骤202和步骤203的执行顺序不受限,即可以先执行步骤202后执行步骤203,也可以先执行步骤203后执行步骤202,当然也可以同时执行。
步骤204:按照实体词和非实体词在所述待分析文本中的位置,对编码得到的第二知识多元组和词向量进行拼接得到所述待分析文本的初始向量。
步骤205:将初始向量通过双向循环神经网络进行编码得到所述待分析文本的向量表示。
由此,通过融合进知识库中的第二知识多元组,能够丰富待分析文本的向量表示,此外,通过使用双向循环神经网络能够使得得到的向量表示能够考虑待分析文本中每个词的上下文。其中第二知识多元组是和上下文无关的知识多元组,而记忆网络中的知识多元组则是和上下文相关的知识多元组。
在一个实施例中,关于权重的获取,为了能够挖掘出对当前任务更为关键的信息,弱化不关键的信息,本申请实施例中可以采用memory attention(记忆注意力机制)确定与所述第一知识多元组、背景知识和所述对话历史记忆分别对应的权重。由于,注意力机制其实现原理类似于人脸视觉总能关注到感兴趣(或者是重要)的信息中,所以注意力机制能够实现强化重要信息使得当前的任务能够更好的完成。
进一步的,在一个实施例中,有些应答需要简单的单词,有些应答也许需要复杂的句子甚至是段落。本申请实施例中,为了使得应答更加人性化和准确,可以提供采用不同方式进行应答的解码模块,然后由分类器选择相应的解码模块作为目标解码模块得到针对所述待分析文本的应答内容。可实施为,预先通过有标注的语料训练分类器。针对待分析文本,将所述第一知识多元组、背景知识和所述语义进行加权求和的加权求和结果和所述向量表示进行求和得到的结果输入给分类器;然后根据分类器的输出结果,从至少两种不同的解码模块中选择所述目标解码模块。其中,可提供的解码模块可包括以下中的至少两种:
1)、使用LSTM生成模型在整个词典上生成预测分布的第一解码模块。
2)、使用指针网络指向对话记忆、从对话记忆中copy(拷贝)单词作为记忆分布的第二解码模块。
3)、使用指针网络指向对话记忆,从对话记忆中copy一段序列的第三解码模块。
在一个实施例中,可以将对话记忆中可以作为应答的一段序列进行标记,标记对应有该序列的起始位置和结束位置。指针网络中每个指针对应一段序列的标记,然后可以根据该指针能够确定copy哪些内容。在第三解码模块中,实现了基于标注语料从上下文中复制出一段序列,在blue值((best linear unbiased prediction,简称BLUP),又音译为“布拉普)上有明显提升。
在一个实施例中,为了能够整合上下文内容,在将加权求和结果和所述向量表示进行求和后,并在输入给目标解码模块得到针对所述待分析文本的应答内容之前,还包括如图3所示的步骤:
步骤301:生成待分析文本的向量表示。
步骤302:根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重。
步骤303:根据分别对应的权重,对所述第一知识多元组、背景知识和所述语义进行加权求和。
步骤304:对计数值累加指定值。
其中,计数值的初始值为0,每次累加的指定值可以为1。
步骤305:若计数值小于设定的循环次数,则将求和结果作为新的向量表示后返回执行步骤302;
步骤306:若计数值大于或等于设定的循环次数,则将求和结果输入给目标解码模块得到针对所述待分析文本的应答内容。
这样,通过双向循环神经网络,能够更多的考量和获取记忆网络中的知识多元组、背景知识和对话上下文信息。
为便于进一步理解本申请实施例提供的方法,下面结合图4对编码阶段的处理做进一步说明。
参照图4,Knowledge Base中存储有知识三元组;Banckground Memory中存储有背景知识;Knowledge Memory中存储有根据多轮对话生成的知识三元组,History Memory中存储有历史多轮对话的对话历史信息。
首先对于每一轮的待分析文本,先进行分词得到相关实体词和非实体词,得到Input,在知识库中检索实体词对应的知识三元组,使用图注意力方式对得到的知识三元组编码,按照实体词和非实体词在所述待分析文本中的位置,对编码得到的知识三元组和词向量进行拼接得到所述待分析文本的初始向量,并将初始行了输入至Bi-GRU(双向循环神经网络),得到当前轮次的对话历史记忆input H,同时记忆网络存储有对话历史记忆History Memory,知识三元组记忆Knowledge Memory和背景知识记忆Background Memory。Input H与三个记忆交互并由memory attention计算产生对应的权重,使用该权重对所述知识多元组、背景知识和所述对话历史记忆进行加权求和,得到Output H1,Output H1与Input H使用gate sum(门加和机制)加和得到Output H2,并将Output H2重新作为新的Input H与记忆网络进行交互。其中,Knowledge Base、Knowledge Memory和HistoryMemory中存储的内容先通过Softmax归一化后再使用相应的权重进行加权求和。与memory的多轮交互的结果R作为当前轮次的对话状态表示。然后将R送入对话状态分类器,该分类器的结果决定当前时刻是使用哪种方式产生回复。
最终的Output H2将输入给分类器,由分类器选择相应的解码模块进行解码操作得当应答内容。参照图4,首先基于GRU更新解码器每个时刻的状态ht如公式(1):
其中ht-1分别是t-1时刻的预测值和状,C1表示更新状态时使用的GRU的参数。
根据更新的状态,产生相应的分布,包括generate distribution和Pointergeneration:其中,Pointer generation为基于记忆指针的分布,generate distribution产生在整个词典上的预测分布。
1、generate distribution产生方式如下,产生和词典大小等长的分布Pgen如公式(2):
Pgen=softmax(Ws[H2,ht]) (2)
H2是memory encoder产生的句子表示,ht是当前时刻的解码状态,Ws是对应的参数。
2、在解码阶段,Pointer generation产生方式如下,产生和上下文等长的分布Pptr如公式(3):
其中对应和memory交互产生的权重,pdoc对应和文本交互(包含对话历史和非结构化文本)产生的权重,二者相加得到Pointer generation。
请参见图5,基于同一发明构思,本发明实施例还提供了一种多伦对话处理装置,包括:
向量表示生成单元501,用于生成待分析文本的向量表示;
交互单元502,用于根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重;
加权求和单元503,用于根据分别对应的权重,对所述第一知识多元组、背景知识和所述对话历史记忆进行加权求和;
应答单元504,用于将加权求和结果和所述向量表示进行求和后,输入给目标解码模块得到针对所述待分析文本的应答内容。
进一步的,向量表示生成单元,包括:
分词子单元,用于对所述待分析文本进行分词处理,得到所述待分析文本中的实体词和非实体词;
编码子单元,用于针对实体词,在知识图库中,查找各实体词对应的第二知识多元组,并对第二知识多元组采用图注意graph attention方式进行编码;
词向量转化单元,用于针对非实体词,将其转化为词向量;
初始向量生成子单元,用于按照实体词和非实体词在所述待分析文本中的位置,对编码得到的第二知识多元组和词向量进行拼接得到所述待分析文本的初始向量;
向量表示生成子单元,用于将初始向量通过双向循环神经网络进行编码得到所述待分析文本的向量表示。
进一步的,所述输入给目标解码模块得到针对所述待分析文本的应答内容之前,还包括:
分类单元,用于将加权求和结果和所述向量表示进行求和得到的结果输入给分类器;
目标解码模块选择单元,用于根据分类器的输出结果,从至少两种不同的解码模块中选择所述目标解码模块。
进一步的,所述解码模块包括以下中的至少两种:
使用LSTM生成模型在整个词典上生成预测分布的第一解码模块;
使用指针网络指向对话记忆、从对话记忆中拷贝copy单词作为记忆分布的第二解码模块;
使用指针网络指向对话记忆,从对话记忆中copy一段序列的第三解码模块。
进一步的,所述记忆网络包括:
将对话过程中涉及到的实体关系多元组,经过编码后以记忆memory矩阵的形式存储得到多元组知识记忆;
获取所述对话过程中的相关背景知识内容,将背景知识内容编码后以memory矩阵的形式存储得到背景知识记忆;
对多轮对话的每个轮次的对话经过编码后以memory矩阵的形式存储得到对话历史记忆;
所述根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,包括:
从多元组知识记忆中获取所述第一知识多元组,从背景知识记忆中获取所述背景知识,从对话历史记忆中获取所述对话历史记忆。
进一步的,将加权求和结果和所述向量表示进行求和后,所述装置还包括:
累加值更新单元,用于得到求和结果后对计数值累加指定值;
向量更新单元,用于若计数值小于设定的循环次数,则将求和结果作为新的向量表示后返回执行根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重的步骤;
所述应答单元,用于若计数值大于或等于设定的循环次数,则将求和结果输入给目标解码模块得到针对所述待分析文本的应答内容。
进一步的,交互单元用于:
采用记忆注意力机制memory attention确定与所述第一知识多元组、背景知识和所述对话历史记忆分别对应的权重。
请参见图6,基于同一技术构思,本发明实施例还提供了一种计算机设备130,可以包括存储器1301和处理器1302。
所述存储器1301,用于存储处理器1302执行的计算机程序。存储器1301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器1302,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本发明实施例中不限定上述存储器1301和处理器1302之间的具体连接介质。本发明实施例在图5中以存储器1301和处理器1302之间通过总线1303连接,总线1303在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1303可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1301可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1301也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1301是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1301可以是上述存储器的组合。
处理器1302,用于调用所述存储器1301中存储的计算机程序时执行如图1-图3中所示的实施例中设备所执行的方法。
在一些可能的实施方式中,本发明提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图1-图3中所示的实施例中设备所执行的方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种多轮对话处理方法,其特征在于,所述方法包括:
生成待分析文本的向量表示;
根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重;
根据分别对应的权重,对所述第一知识多元组、背景知识和所述对话历史记忆进行加权求和;
将加权求和结果和所述向量表示进行求和后,输入给目标解码模块得到针对所述待分析文本的应答内容。
2.根据权利要求1所述的方法,其特征在于,生成待分析文本的向量表示,包括:
对所述待分析文本进行分词处理,得到所述待分析文本中的实体词和非实体词;
针对实体词,在知识图库中,查找各实体词对应的第二知识多元组,并对第二知识多元组采用图注意graph attention方式进行编码;
针对非实体词,将其转化为词向量;
按照实体词和非实体词在所述待分析文本中的位置,对编码得到的第二知识多元组和词向量进行拼接得到所述待分析文本的初始向量;
将初始向量通过双向循环神经网络进行编码得到所述待分析文本的向量表示。
3.根据权利要求1所述的方法,其特征在于,所述输入给目标解码模块得到针对所述待分析文本的应答内容之前,还包括:
将加权求和结果和所述向量表示进行求和得到的结果输入给分类器;
根据分类器的输出结果,从至少两种不同的解码模块中选择所述目标解码模块。
4.根据权利要求3所述的方法,其特征在于,所述解码模块包括以下中的至少两种:
使用LSTM生成模型在整个词典上生成预测分布的第一解码模块;
使用指针网络指向对话记忆、从对话记忆中拷贝copy单词作为记忆分布的第二解码模块;
使用指针网络指向对话记忆,从对话记忆中copy一段序列的第三解码模块。
5.根据权利要求1所述的方法,其特征在于,所述记忆网络包括:
将对话过程中涉及到的实体关系多元组,经过编码后以记忆memory矩阵的形式存储得到多元组知识记忆;
获取所述对话过程中的相关背景知识内容,将背景知识内容编码后以memory矩阵的形式存储得到背景知识记忆;
对多轮对话的每个轮次的对话经过编码后以memory矩阵的形式存储得到对话历史记忆;
所述根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,包括:
从多元组知识记忆中获取所述第一知识多元组,从背景知识记忆中获取所述背景知识,从对话历史记忆中获取所述对话历史记忆。
6.根据权利要求1所述的方法,其特征在于,将加权求和结果和所述向量表示进行求和后,所述方法还包括:
得到求和结果后对计数值累加指定值;
若计数值小于设定的循环次数,则将求和结果作为新的向量表示后返回执行根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重的步骤;
若计数值大于或等于设定的循环次数,则将求和结果输入给目标解码模块得到针对所述待分析文本的应答内容。
7.根据权利要求1-6中任一所述的方法,其特征在于,获取与所述第一知识多元组、背景知识和所述对话历史记忆分别对应的权重,包括:
采用记忆注意力机制memory attention确定与所述第一知识多元组、背景知识和所述对话历史记忆分别对应的权重。
8.一种多轮对话处理装置,其特征在于,所述装置包括:
向量表示生成单元,用于生成待分析文本的向量表示;
交互单元,用于根据所述向量表示与记忆网络进行交互,获取与所述待分析文本相关的第一知识多元组、背景知识和对话历史记忆,以及分别对应的权重;
加权求和单元,用于根据分别对应的权重,对所述第一知识多元组、背景知识和所述对话历史记忆进行加权求和;
应答单元,用于将加权求和结果和所述向量表示进行求和后,输入给目标解码模块得到针对所述待分析文本的应答内容。
9.根据权利要求8所述的装置,其特征在于,向量表示生成单元,包括:
分词子单元,用于对所述待分析文本进行分词处理,得到所述待分析文本中的实体词和非实体词;
编码子单元,用于针对实体词,在知识图库中,查找各实体词对应的第二知识多元组,并对第二知识多元组采用图注意graph attention方式进行编码;
词向量转化单元,用于针对非实体词,将其转化为词向量;
初始向量生成子单元,用于按照实体词和非实体词在所述待分析文本中的位置,对编码得到的第二知识多元组和词向量进行拼接得到所述待分析文本的初始向量;
向量表示生成子单元,用于将初始向量通过双向循环神经网络进行编码得到所述待分析文本的向量表示。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1-7任一权利要求所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910308669.XA CN110032633B (zh) | 2019-04-17 | 2019-04-17 | 多轮对话处理方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910308669.XA CN110032633B (zh) | 2019-04-17 | 2019-04-17 | 多轮对话处理方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110032633A true CN110032633A (zh) | 2019-07-19 |
CN110032633B CN110032633B (zh) | 2021-03-23 |
Family
ID=67238821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910308669.XA Active CN110032633B (zh) | 2019-04-17 | 2019-04-17 | 多轮对话处理方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110032633B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413752A (zh) * | 2019-07-22 | 2019-11-05 | 中国科学院自动化研究所 | 基于对话逻辑的多轮口语理解方法、系统、装置 |
CN110442733A (zh) * | 2019-08-08 | 2019-11-12 | 恒生电子股份有限公司 | 一种主题生成方法、装置和设备及介质 |
WO2020151685A1 (zh) * | 2019-01-24 | 2020-07-30 | 腾讯科技(深圳)有限公司 | 编码方法、装置、设备及存储介质 |
CN111475616A (zh) * | 2020-03-13 | 2020-07-31 | 平安科技(深圳)有限公司 | 基于对话状态预测的多轮对话方法、装置和计算机设备 |
CN111488726A (zh) * | 2020-03-31 | 2020-08-04 | 成都数之联科技有限公司 | 基于指针网络的非结构文本抽取多任务联合训练方法 |
CN111931507A (zh) * | 2020-08-21 | 2020-11-13 | 贝壳技术有限公司 | 获取用于实现会话的多元组集合方法、装置、介质及设备 |
CN112035609A (zh) * | 2020-08-20 | 2020-12-04 | 出门问问信息科技有限公司 | 一种智能对话方法、装置以及计算机可读存储介质 |
CN112231461A (zh) * | 2020-10-29 | 2021-01-15 | 中国科学院计算技术研究所厦门数据智能研究院 | 一种融合知识的对话生成方法 |
CN112632240A (zh) * | 2020-12-16 | 2021-04-09 | 平安国际智慧城市科技股份有限公司 | 基于知识库导向的网络文本生成方法、装置及存储介质 |
CN113239152A (zh) * | 2021-05-18 | 2021-08-10 | 平安科技(深圳)有限公司 | 适用于多轮对话的对话修复方法、装置、设备及存储介质 |
CN113392193A (zh) * | 2020-03-12 | 2021-09-14 | 广东博智林机器人有限公司 | 一种对话文本生成方法及装置 |
CN113656569A (zh) * | 2021-08-24 | 2021-11-16 | 电子科技大学 | 一种基于上下文信息推理的生成式对话方法 |
CN113742490A (zh) * | 2021-08-11 | 2021-12-03 | 山东师范大学 | 将上下文扩充到知识图谱中的对话生成方法及系统 |
CN113868395A (zh) * | 2021-10-11 | 2021-12-31 | 北京明略软件系统有限公司 | 多轮对话生成式模型建立方法、系统、电子设备及介质 |
WO2022121161A1 (zh) * | 2020-12-10 | 2022-06-16 | 平安科技(深圳)有限公司 | 多轮对话文本生成方法、装置、设备及存储介质 |
CN115169367A (zh) * | 2022-09-06 | 2022-10-11 | 杭州远传新业科技股份有限公司 | 对话生成方法及装置、存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138710A (zh) * | 2015-10-12 | 2015-12-09 | 金耀星 | 一种聊天代理系统及方法 |
CN107632979A (zh) * | 2017-10-13 | 2018-01-26 | 华中科技大学 | 一种用于交互式问答的问题解析方法及系统 |
US20180129937A1 (en) * | 2016-11-04 | 2018-05-10 | Salesforce.Com, Inc. | Quasi-recurrent neural network |
CN108228764A (zh) * | 2017-12-27 | 2018-06-29 | 神思电子技术股份有限公司 | 一种单轮对话和多轮对话的融合方法 |
US10044862B1 (en) * | 2017-04-28 | 2018-08-07 | International Business Machines Corporation | Dynamic topic guidance in the context of multi-round conversation |
CN108734276A (zh) * | 2018-04-28 | 2018-11-02 | 同济大学 | 一种基于对抗生成网络的模仿学习对话生成方法 |
CN108829667A (zh) * | 2018-05-28 | 2018-11-16 | 南京柯基数据科技有限公司 | 一种基于记忆网络的多轮对话下的意图识别方法 |
CN109101537A (zh) * | 2018-06-27 | 2018-12-28 | 北京慧闻科技发展有限公司 | 基于深度学习的多轮对话数据分类方法、装置和电子设备 |
CN109408624A (zh) * | 2018-11-06 | 2019-03-01 | 江西师范大学 | 一种视觉聊天机器人会话生成方法 |
CN109616108A (zh) * | 2018-11-29 | 2019-04-12 | 北京羽扇智信息科技有限公司 | 多轮对话交互处理方法、装置、电子设备及存储介质 |
CN109644256A (zh) * | 2016-09-22 | 2019-04-16 | 苹果公司 | 车载视频系统 |
-
2019
- 2019-04-17 CN CN201910308669.XA patent/CN110032633B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138710A (zh) * | 2015-10-12 | 2015-12-09 | 金耀星 | 一种聊天代理系统及方法 |
CN109644256A (zh) * | 2016-09-22 | 2019-04-16 | 苹果公司 | 车载视频系统 |
US20180129937A1 (en) * | 2016-11-04 | 2018-05-10 | Salesforce.Com, Inc. | Quasi-recurrent neural network |
US10044862B1 (en) * | 2017-04-28 | 2018-08-07 | International Business Machines Corporation | Dynamic topic guidance in the context of multi-round conversation |
US20180316791A1 (en) * | 2017-04-28 | 2018-11-01 | International Business Machines Corporation | Dynamic topic guidance in the context of multi-round conversation |
CN107632979A (zh) * | 2017-10-13 | 2018-01-26 | 华中科技大学 | 一种用于交互式问答的问题解析方法及系统 |
CN108228764A (zh) * | 2017-12-27 | 2018-06-29 | 神思电子技术股份有限公司 | 一种单轮对话和多轮对话的融合方法 |
CN108734276A (zh) * | 2018-04-28 | 2018-11-02 | 同济大学 | 一种基于对抗生成网络的模仿学习对话生成方法 |
CN108829667A (zh) * | 2018-05-28 | 2018-11-16 | 南京柯基数据科技有限公司 | 一种基于记忆网络的多轮对话下的意图识别方法 |
CN109101537A (zh) * | 2018-06-27 | 2018-12-28 | 北京慧闻科技发展有限公司 | 基于深度学习的多轮对话数据分类方法、装置和电子设备 |
CN109408624A (zh) * | 2018-11-06 | 2019-03-01 | 江西师范大学 | 一种视觉聊天机器人会话生成方法 |
CN109616108A (zh) * | 2018-11-29 | 2019-04-12 | 北京羽扇智信息科技有限公司 | 多轮对话交互处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
杨成彪 等: ""一种基于记忆网络的多轮对话下的意图识别方法"", 《电子技术与软件工程》 * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020151685A1 (zh) * | 2019-01-24 | 2020-07-30 | 腾讯科技(深圳)有限公司 | 编码方法、装置、设备及存储介质 |
US11995406B2 (en) | 2019-01-24 | 2024-05-28 | Tencent Technology (Shenzhen) Company Limited | Encoding method, apparatus, and device, and storage medium |
CN110413752A (zh) * | 2019-07-22 | 2019-11-05 | 中国科学院自动化研究所 | 基于对话逻辑的多轮口语理解方法、系统、装置 |
CN110413752B (zh) * | 2019-07-22 | 2021-11-16 | 中国科学院自动化研究所 | 基于对话逻辑的多轮口语理解方法、系统、装置 |
CN110442733A (zh) * | 2019-08-08 | 2019-11-12 | 恒生电子股份有限公司 | 一种主题生成方法、装置和设备及介质 |
CN113392193A (zh) * | 2020-03-12 | 2021-09-14 | 广东博智林机器人有限公司 | 一种对话文本生成方法及装置 |
CN111475616A (zh) * | 2020-03-13 | 2020-07-31 | 平安科技(深圳)有限公司 | 基于对话状态预测的多轮对话方法、装置和计算机设备 |
CN111475616B (zh) * | 2020-03-13 | 2023-08-22 | 平安科技(深圳)有限公司 | 基于对话状态预测的多轮对话方法、装置和计算机设备 |
WO2021179445A1 (zh) * | 2020-03-13 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于对话状态预测的多轮对话方法、装置和计算机设备 |
CN111488726A (zh) * | 2020-03-31 | 2020-08-04 | 成都数之联科技有限公司 | 基于指针网络的非结构文本抽取多任务联合训练方法 |
CN111488726B (zh) * | 2020-03-31 | 2023-05-23 | 成都数之联科技股份有限公司 | 基于指针网络的非结构文本抽取多任务联合训练方法 |
CN112035609B (zh) * | 2020-08-20 | 2024-04-05 | 出门问问创新科技有限公司 | 一种智能对话方法、装置以及计算机可读存储介质 |
CN112035609A (zh) * | 2020-08-20 | 2020-12-04 | 出门问问信息科技有限公司 | 一种智能对话方法、装置以及计算机可读存储介质 |
CN111931507A (zh) * | 2020-08-21 | 2020-11-13 | 贝壳技术有限公司 | 获取用于实现会话的多元组集合方法、装置、介质及设备 |
CN112231461A (zh) * | 2020-10-29 | 2021-01-15 | 中国科学院计算技术研究所厦门数据智能研究院 | 一种融合知识的对话生成方法 |
WO2022121161A1 (zh) * | 2020-12-10 | 2022-06-16 | 平安科技(深圳)有限公司 | 多轮对话文本生成方法、装置、设备及存储介质 |
CN112632240A (zh) * | 2020-12-16 | 2021-04-09 | 平安国际智慧城市科技股份有限公司 | 基于知识库导向的网络文本生成方法、装置及存储介质 |
CN112632240B (zh) * | 2020-12-16 | 2024-02-09 | 深圳平安智慧医健科技有限公司 | 基于知识库导向的网络文本生成方法、装置及存储介质 |
CN113239152A (zh) * | 2021-05-18 | 2021-08-10 | 平安科技(深圳)有限公司 | 适用于多轮对话的对话修复方法、装置、设备及存储介质 |
CN113239152B (zh) * | 2021-05-18 | 2023-07-25 | 平安科技(深圳)有限公司 | 适用于多轮对话的对话修复方法、装置、设备及存储介质 |
CN113742490A (zh) * | 2021-08-11 | 2021-12-03 | 山东师范大学 | 将上下文扩充到知识图谱中的对话生成方法及系统 |
CN113656569A (zh) * | 2021-08-24 | 2021-11-16 | 电子科技大学 | 一种基于上下文信息推理的生成式对话方法 |
CN113656569B (zh) * | 2021-08-24 | 2023-10-13 | 电子科技大学 | 一种基于上下文信息推理的生成式对话方法 |
CN113868395A (zh) * | 2021-10-11 | 2021-12-31 | 北京明略软件系统有限公司 | 多轮对话生成式模型建立方法、系统、电子设备及介质 |
CN113868395B (zh) * | 2021-10-11 | 2024-08-02 | 北京明略软件系统有限公司 | 多轮对话生成式模型建立方法、系统、电子设备及介质 |
CN115169367B (zh) * | 2022-09-06 | 2022-12-09 | 杭州远传新业科技股份有限公司 | 对话生成方法及装置、存储介质 |
CN115169367A (zh) * | 2022-09-06 | 2022-10-11 | 杭州远传新业科技股份有限公司 | 对话生成方法及装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110032633B (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032633A (zh) | 多轮对话处理方法、装置和设备 | |
CN111382584B (zh) | 文本翻译方法、装置、可读存储介质和计算机设备 | |
CN110534087B (zh) | 一种文本韵律层级结构预测方法、装置、设备及存储介质 | |
CN112487182A (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
CN109635197B (zh) | 搜索方法、装置、电子设备及存储介质 | |
Britz et al. | Efficient attention using a fixed-size memory representation | |
CN109062937A (zh) | 训练描述文本生成模型的方法、生成描述文本的方法及装置 | |
CN108595629B (zh) | 用于答案选择系统的数据处理方法及应用 | |
CN109902301B (zh) | 基于深度神经网络的关系推理方法、装置及设备 | |
CN110210032A (zh) | 文本处理方法及装置 | |
CN110457661B (zh) | 自然语言生成方法、装置、设备及存储介质 | |
CN117332090B (zh) | 一种敏感信息识别方法、装置、设备和存储介质 | |
CN110852066B (zh) | 一种基于对抗训练机制的多语言实体关系抽取方法及系统 | |
CN110705273A (zh) | 基于神经网络的信息处理方法及装置、介质和电子设备 | |
CN113076089B (zh) | 一种基于对象类型的api补全方法 | |
US11972218B1 (en) | Specific target-oriented social media tweet sentiment analysis method | |
CN109635282A (zh) | 用于多方对话的篇章解析方法、装置、介质及计算设备 | |
CN116644180A (zh) | 文本匹配模型的训练方法、训练系统和文本标签确定方法 | |
CN113408265B (zh) | 基于人机交互的语义解析方法、装置、设备及存储介质 | |
CN113157892B (zh) | 用户意图处理方法、装置、计算机设备及存储介质 | |
KR20230055021A (ko) | Nested 와 Overlapped Named Entity 인식을 위한 피라미드 Layered 어텐션 모델 | |
CN118211563B (zh) | 一种自注意力机制嵌入增强方法 | |
CN118035426B (zh) | 一种基于用户画像的机器人客服自动回复方法及系统 | |
CN112966520B (zh) | 自然语言生成方法及装置 | |
Wang et al. | Emotional analysis of film and television reviews based on self-attention mechanism and dual-channel neural network |
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 |