CN110147532B - 编码方法、装置、设备及存储介质 - Google Patents
编码方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110147532B CN110147532B CN201910069751.1A CN201910069751A CN110147532B CN 110147532 B CN110147532 B CN 110147532B CN 201910069751 A CN201910069751 A CN 201910069751A CN 110147532 B CN110147532 B CN 110147532B
- Authority
- CN
- China
- Prior art keywords
- target
- matrix
- memory
- vector set
- paragraph
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
Abstract
本发明实施例公开了一种编码方法、装置、设备及存储介质,属于自然语言处理领域。方法包括:获取目标段落和预设数据库,将目标段落和预设数据库输入至记忆编码模型;在输入层中获取目标段落的原始向量集合和预设数据库的知识向量集合;在第一记忆层中根据原始向量集合和知识向量集合,获取第一目标语句矩阵;在输出层中根据第一目标语句矩阵,获取目标段落的段落向量,基于段落向量进行处理。以目标段落为单位,应用记忆编码模型对目标段落进行编码,因此提高了编码速度。并且编码过程中不仅考虑目标段落本身,还考虑到预设数据库中的知识数据,提高了编码准确率。
Description
技术领域
本发明涉及自然语言处理领域,特别涉及一种编码方法、装置、设备及存储介质。
背景技术
编码是将文字转换成编码值,从而得到能够准确描述该文本含义的向量的过程。通过进行编码,可以将文字转换为便于运算处理的向量形式,现已广泛应用于语句选取、语句生成等多种领域。
目前提出了一种分级编码的方案,当要对包括多个语句的目标段落进行编码时,获取目标段落中每个语句中每个词语的词向量。对于目标段落中的每个语句,应用基于词语层面的第一编码模型,将该语句中每个词语的词向量编码成一个向量,得到该语句的语句向量,进而得到目标段落中多个语句的语句向量。再应用基于语句层面的第二编码模型,将该多个语句的语句向量编码成一个向量,得到目标段落的段落向量。
上述方案仅能够采用串行的方式,依次对目标段落中每个语句的词向量分别进行编码,再采用串行的方式,对多个语句向量进行编码,编码速度较慢,且编码过程中未考虑除目标段落以外的其他数据,准确率较低。
发明内容
本发明实施例提供了一种编码方法、装置、设备及存储介质,解决了相关技术存在的编码速度较慢以及准确率较低的问题。所述技术方案如下:
一方面,提供了一种编码方法,所述方法包括:
获取目标段落和预设数据库,将所述目标段落和所述预设数据库输入至记忆编码模型,所述目标段落包括至少一个语句,所述记忆编码模型至少包括输入层、第一记忆层和输出层;
在所述输入层中,获取所述目标段落的原始向量集合和所述预设数据库的知识向量集合,所述原始向量集合包括所述目标段落中每个语句的语句向量;所述知识向量集合包括所述预设数据库中多条知识数据的知识向量;
在所述第一记忆层中,根据所述原始向量集合和所述知识向量集合,获取所述原始向量集合的第一目标语句矩阵,所述第一目标语句矩阵用于根据所述原始向量集合与所述知识向量集合之间的关联关系,对所述目标段落进行描述;
在所述输出层中,根据所述第一目标语句矩阵,获取所述目标段落的段落向量;
基于所述段落向量进行处理。
另一方面,提供了一种编码装置,所述装置包括:
获取模块,用于获取目标段落和预设数据库,将所述目标段落和所述预设数据库输入至记忆编码模型,所述目标段落包括至少一个语句;
输入层模块,用于获取所述目标段落的原始向量集合和所述预设数据库的知识向量集合,所述原始向量集合包括所述目标段落中每个语句的语句向量;所述知识向量集合包括所述预设数据库中多条知识数据的知识向量;
第一记忆层模块,用于根据所述原始向量集合和所述知识向量集合,获取所述原始向量集合的第一目标语句矩阵,所述第一目标语句矩阵用于根据所述原始向量集合与所述知识向量集合之间的关联关系,对所述目标段落进行描述;
输出层模块,用于根据所述第一目标语句矩阵,获取所述目标段落的段落向量;
处理模块,用于基于所述段落向量进行处理。
再一方面,提供了一种编码设备,所述编码设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述一个或多个处理器加载并执行以实现如所述的编码方法中所执行的操作。
再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由一个或多个处理器加载并执行以实现如所述的编码方法中所执行的操作。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施提供的编码方法、装置、设备及存储介质,提供了一种记忆编码模型,记忆编码模型包括输入层、第一记忆层和输出层,获取目标段落和预设数据库,将目标段落和预设数据库输入至记忆编码模型,输入层获取目标段落的原始向量集合和预设数据库的知识向量集合;第一记忆层根据原始向量集合和知识向量集合,获取原始向量集合的第一目标语句矩阵;输出层根据第一目标语句矩阵,获取目标段落的段落向量,基于段落向量进行处理。本发明实施例无需采用串行的方式对每个语句分别进行编码,而是以目标段落为单位,应用记忆编码模型对目标段落进行编码,因此提高了编码速度。并且,编码过程中不仅考虑目标段落本身,还考虑到预设数据库中的知识数据,从而使获取到的段落向量不仅能够表达目标段落的含义,还能够从外部知识数据中抽取相关的知识数据,提高了编码准确率。
本发明实施例提供的记忆编码模型具有自注意力性,将自注意力机制应用于段落的语句层面上,根据目标段落、上下文语句和预设数据库中的知识数据进行综合处理,可以保证目标段落的段落向量表达更为丰富,更能准确地描述目标段落的含义。且本发明实施例可以应用于多种场景下,应用范围广泛。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种记忆编码模型的结构示意图;
图2是本发明实施例提供的另一种记忆编码模型的结构示意图;
图3是本发明实施例提供的另一种记忆编码模型的结构示意图;
图4是本发明实施例提供的另一种记忆编码模型的结构示意图;
图5是本发明实施例提供的另一种记忆编码模型的结构示意图;
图6是本发明实施例提供的另一种记忆编码模型的结构示意图;
图7是本发明实施例提供的一种编码方法的流程图;
图8是本发明实施例提供的一种语句编码模型的结构示意图;
图9是本发明实施例提供的一种语句编码模型的流程示意图;
图10是本发明实施例提供的一种记忆编码模型的结构示意图;
图11是本发明实施例提供的一种获取知识向量的流程示意图;
图12是本发明实施例提供的一种记忆层的结构示意图;
图13是本发明实施例提供的一种门控层的结构示意图;
图14是本发明实施例提供的一种记忆编码模型的结构示意图;
图15是本发明实施例提供的一种记忆编码模型的结构示意图;
图16是本发明实施例提供的一种记忆编码模型的结构示意图;
图17是本发明实施例提供的一种编码装置的结构示意图;
图18是本发明实施例提供的一种终端的结构框图;
图19是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种记忆编码模型,获取目标段落和预设数据库,输入至记忆编码模型,应用该记忆编码模型可以对该目标段落进行编码,得到该目标段落的段落向量,从而能够基于段落向量进行处理。编码过程中,可以目标段落为单位,一次性地应用该记忆编码模型对目标段落进行编码,无需采用串行的方式分别对目标段落中每个语句进行编码。而且,不仅考虑到目标段落中每个语句的含义,还考虑到预设数据库中的知识数据,从而使获取到的段落向量不仅能够表达目标段落的含义,还能够从外部知识数据中抽取相关的知识数据,使得获取到的段落向量更能准确表达目标段落的含义,基于段落向量进行处理时能够提高精确度。
参见图1,该记忆编码模型包括输入层101、第一记忆层102和输出层103,输入层101与第一记忆层102连接,第一记忆层102与输出层103连接。
其中,输入层101根据目标段落中的每个语句,提取代表语句含义的语句向量,得到该目标段落的原始向量集合,将原始向量集合输入至记忆层102中。且,输入层101还会根据预设数据库中每条知识数据,获取每条知识数据的知识向量,并将获取的多个知识向量组成知识向量集合,输入至第一记忆层102中。第一记忆层102根据输入的原始向量集合与知识向量集合,获取第一目标语句矩阵,并将第一目标语句矩阵输入至输出层103;输出层103根据第一目标语句矩阵,获取该目标段落的段落向量。
由于第一记忆层102采用了注意力学习机制,能够在知识向量集合中抽取与原始向量集合相关的知识数据,因此能够获取到更为准确的段落向量。
在一种可能实现方式中,该记忆编码模型会重复运行第一记忆层102,将第一记忆层102输出的第一目标语句矩阵作为第一记忆层102的原始向量集合,保持知识向量集合不变,或者也可以对知识向量集合进行更新,得到更新后的知识向量集合,重新输入至第一记忆层102中,重复运行第一记忆层102,直至重复次数达到预设次数时,将当前的目标语句矩阵输入至输出层103,得到目标段落的段落向量。其中,预设次数可以是2次或3次,或者可以为其他数值。
在一种可能实现方式中,在图1所示的记忆编码模型的基础上,参见图2,该记忆编码模型还包括第一门控层104,输入层101与第一记忆层102和第一门控层104连接,第一记忆层102与第一门控层104连接,第一门控层104与输出层103连接。即本发明实施例提供了一种GSMN(Gated Self-attentive Memory Network,门控自注意力型记忆网络)模型。
第一记忆层102得到第一目标语句矩阵后,输入至第一门控层104,第一门控层104对原始向量集合和第一目标语句矩阵进行加权求和,得到第二目标语句矩阵,将第二目标语句矩阵输入至输出层103,输出层103根据第二目标语句矩阵,获取该目标段落的段落向量。
在一种可能实现方式中,该记忆编码模型会重复运行第一记忆层102和第一门控层104,将第一门控层104输出的第二目标语句矩阵作为第一记忆层102的原始向量集合和知识向量集合,重新输入至第一记忆层102中,重复运行第一记忆层102和第一门控层104,直至重复次数达到预设次数时,将当前的目标语句矩阵输入至输出层103,得到目标段落的段落向量。
在一种可能实现方式中,参见图3,该记忆编码模型还包括第二记忆层105,第二记忆层105位于第一记忆层102之前,输入层101与第一记忆层102和第二记忆层105连接,第二记忆层105与第一记忆层102连接,第一记忆层102与输出层103连接。
输入层101根据目标段落的上下文语句中的每个词语,获取每个词语的词向量,并将获取的多个词向量组成记忆向量集合,将原始向量集合和记忆向量集合输入至第二记忆层105中。第二记忆层105根据输入的原始向量集合和记忆向量集合,获取第三目标语句矩阵,并将第三目标语句矩阵输入至第一记忆层102中。第一记忆层102根据输入的第三目标语句矩阵和知识向量集合,获取第一目标语句矩阵,将第一目标语句矩阵输入至输出层103,输出层103根据第一目标语句矩阵,获取该目标段落的段落向量。
在一种可能实现方式中,该记忆编码模型会重复运行第二记忆层105和第一记忆层102,将第一记忆层102输出的第一目标语句矩阵作为第二记忆层105的原始向量集合和记忆向量集合,重新输入至第二记忆层105中,重复运行第二记忆层105和第一记忆层102,直至重复次数达到预设次数时,将当前的目标语句矩阵输入至输出层103,得到目标段落的段落向量。
在一种可能实现方式中,参见图4,该记忆编码模型还包括第二门控层106,第二门控层106位于第一记忆层102之前、第二记忆层105之后。输入层101与第二记忆层105、第二门控层106和第一记忆层102连接,第二记忆层105与第二门控层106连接,第二门控层106与第一记忆层102连接,第一记忆层102与输出层103连接。
第二记忆层105得到第三目标语句矩阵后,输入至第二门控层106中。第二门控层106对原始向量集合和第三目标语句矩阵进行加权求和,得到第四目标语句矩阵,将第四目标语句矩阵输入至第一记忆层102中。第一记忆层102根据第四目标语句矩阵和知识向量集合,获取第一目标语句矩阵,将第一目标语句矩阵输入至输出层103,输出层103根据第一目标语句矩阵,获取该目标段落的段落向量。
在一种可能实现方式中,该记忆编码模型会重复运行第二记忆层105、第二门控层106和第一记忆层102。将第一记忆层102输出的第一目标语句矩阵作为第二记忆层105的原始向量集合和记忆向量集合,重新输入至第二记忆层105中,重复运行第二记忆层105、第二门控层106和第一记忆层102,直至重复次数达到预设次数时,将当前的目标语句矩阵输入至输出层103,得到目标段落的段落向量。
需要说明的是,上述图3或图4所示的记忆编码模型可以与上述图2所示的记忆编码模型进行结合,则得到的记忆编码模型包括输入层、第二记忆层、第一记忆层、第一门控层和输出层,或者记忆编码模型包括输入层、第二记忆层、第二门控层、第一记忆层、第一门控层和输出层。
此种情况下的处理方式与上述记忆编码模型的处理方式类似,在此不再赘述。
在另一种可能实现方式中,在图1所示的记忆编码模型的基础上,参见图5,该记忆编码模型还包括第三记忆层107,第三记忆层107位于第一记忆层102之后,输入层101与第一记忆层102和第三记忆层107连接,第一记忆层102与第三记忆层107连接。第一记忆层102得到第一目标语句矩阵后,输入至第三记忆层107,第三记忆层107根据记忆向量集合和第一目标语句矩阵,获取第五目标语句矩阵,将第五目标语句矩阵输入至输出层103,输出层103根据第五目标语句矩阵,获取该目标段落的段落向量。
在一种可能实现方式中,该记忆编码模型会重复运行第三记忆层107。第三记忆层107获取到第五目标语句矩阵后,将第五目标语句矩阵作为更新后的第一目标语句矩阵和记忆向量集合,第三记忆层107重复执行根据更新后的第五目标语句矩阵和记忆向量集合获取目标语句矩阵的步骤,直至重复次数达到预设次数时,将当前的目标语句矩阵输入至输出层103中。输出层103根据当前目标语句矩阵,获取目标段落的段落向量。
在一种可能实现方式中,参见图6,该记忆编码模型还包括第三门控层108,第三门控层108位于第三记忆层107之后,输入层101与第一记忆层102和第三记忆层107连接,第一记忆层102与第三记忆层107和第三门控层108连接,第三记忆层107与第三门控层108连接。
第三记忆层107得到第五目标语句矩阵后,将第五目标语句矩阵输入至第三门控层108中,第三门控层108对第五目标语句矩阵和第一目标语句矩阵进行加权求和,得到第六目标语句矩阵,将第六目标语句矩阵输入至输出层103,输出层103根据第六目标语句矩阵,获取该目标段落的段落向量。
在一种可能实现方式中,该记忆编码模型会重复运行第三记忆层107和第三门控层108。第三门控层108获取到第六目标语句矩阵后,将第六目标语句矩阵作为更新后的第一目标语句矩阵和记忆向量集合,第三记忆层107和第三门控层108重复执行根据更新后的第一目标语句矩阵和记忆向量集合获取目标语句矩阵的步骤,直至重复次数达到预设次数时,将当前的目标语句矩阵输入至输出层103中。输出层103根据当前目标语句矩阵,获取目标段落的段落向量。
需要说明的是,上述图5或图6所示的记忆编码模型可以与上述图2所示的记忆编码模型进行结合,则得到的记忆编码模型包括输入层、第一记忆层、第一门控层、第三记忆层和输出层,或者记忆编码模型包括输入层、第一记忆层、第一门控层、第三记忆层、第三门控层和输出层。
此种情况下的处理方式与上述记忆编码模型的处理方式类似,在此不再赘述。
需要说明的是,对于上述几种不同的模型架构,均可采用多种重复运行的方式,即该记忆编码模型中的任一个或多个记忆层,或者任一个或多个门控层均可以重复运行,且针对多层来说,可以在每一层重复运行完毕之后重复运行下一层,或者也可以将多层看做一个整体,一起重复运行多次。
本发明实施例可以应用于对任一段落进行编码的场景下。
例如,在智能对话的场景下,用户与聊天机器人进行对话,聊天机器人可以获取用户输入的文本消息,作为目标段落,采用本发明实施例提供的方法,对目标段落进行编码得到段落向量,将该段落向量与语料数据库中多个答复消息的向量进行匹配,得到其向量与该段落向量匹配的答复消息,展示给用户,实现了用户与聊天机器人进行对话的效果。
由于编码过程中会考虑用户输入的文本消息以及预设数据库中的知识数据,因此生成的段落向量较为准确,能够使聊天机器人更好地理解用户想要表达的含义,根据该段落向量可以获取到更为匹配的答复消息,能够针对用户输入的文本消息给出更符合用户需求的答复,提升对话效果。
或者,在文本分类的场景下,获取待分类的目标段落,采用本发明实施例提供的方法,对目标段落进行编码得到段落向量,根据该段落向量进行分类,可以确定该目标段落所属的类别。
由于编码过程中会考虑预设数据库中的知识数据,因此生成的段落向量较为准确,能够更好地理解目标段落的含义,根据该段落向量进行分类,可以提高分类准确度。
或者,在段落选取的场景下,获取待选取的多个目标段落,采用本发明实施例提供的方法,对每个目标段落进行编码得到段落向量,根据多个目标段落的段落向量,从多个目标段落中选取满足要求的目标段落。
由于编码过程中会预设数据库中的知识数据,因此生成的段落向量较为准确,能够更好地理解目标段落的含义,根据段落向量进行选取,可以选取到满足要求的目标段落,避免选取错误的问题。
除上述场景之外,本发明实施例提供的方法还可以应用于阅读理解等其他场景下,本发明实施例对此不做限定。
图7是本发明实施例提供的一种编码方法的流程图,本发明实施例对应用记忆编码模型对目标段落进行编码的过程进行说明,该记忆编码模型包括输入层、第二记忆层、第二门控层、第一记忆层、第一门控层和输出层。本发明实施例的执行主体为编码设备,该编码设备可以为服务器或者还可以为手机、计算机等终端。参见图7,该方法包括:
700、获取目标段落、目标段落的上下文语句和预设数据库,将目标段落、目标段落的上下文语句和预设数据库输入至记忆编码模型。
其中,该目标段落包括至少一个语句,每个语句包括至少一个词语。目标段落的上下文语句可以包括目标段落之前的一个或多个段落中的语句、目标段落之后的一个或多个段落中的语句,或者还可以包括目标段落中的一个或多个语句。例如,目标段落的上下文语句可以为目标段落的原文。
在一种可能实现方式中,该目标段落为某一文章中的一个段落,则上下文语句可以包括该文章中在该段落之前或之后的语句,或者还可以包括该段落中的语句。或者,该目标段落为智能对话场景中用户输入的某一段文本,则上下文语句可以包括在该目标段落之前用户输入的文本,或者该目标段落中的文本,或者还可以包括在该目标段落之前聊天机器人回复用户的文本等。
另外,预设数据库中包括至少一条知识数据,该至少一条知识数据可以包括多种类型,如新闻类、娱乐类、专业知识类等。且预设数据库中的知识数据可以由维护人员上传,或者由编码设备收集多个网络用户上传的数据,或者采用其他方式设置。且使用过程中,预设数据库中的知识数据可以固定不变,也可以根据需求进行更新。
在一种可能实现方式中,每条知识数据可以包括至少一个语句,每个语句包括至少一个词语,或者,每条知识数据包括至少一组键值对,每组键值对包括键(Key)和值(Value)。
例如,预设数据库中的一条知识数据可以如下表1所示。
表1
Key | Value |
姓名 | 张三 |
职业 | 医院院长 |
国籍 | 中国 |
当要对目标段落进行编码时,获取该目标段落、目标段落的上下文语句和预设数据库,将目标段落、目标段落的上下文语句和预设数据库输入至记忆编码模型中。
701、在输入层中,获取目标段落的原始向量集合、记忆向量集合和知识向量集合。
输入层为记忆编码模型中的第一层,当要对目标段落进行编码时,将目标段落、目标段落的上下文语句和预设数据库输入至输入层中,在输入层中对目标段落、目标段落的上下文语句和预设数据库分别进行处理,获取目标段落的原始向量集合、记忆向量集合和知识向量集合。
该原始向量集合包括目标段落中每个语句的语句向量,记忆向量集合包括目标段落的上下文语句中每个词语的词向量,知识向量集合包括预设数据库中多条知识数据的知识向量。
本发明实施例中,在对目标段落进行编码时,不仅要考虑目标段落本身,还要考虑目标段落的上下文语句以及预设数据库中的知识数据,因此不仅要获取原始向量集合,还要获取记忆向量集合和知识向量集合,后续会根据原始向量集合、记忆向量集合和知识向量集合进行处理。
在一种可能实现方式中,步骤701可以包括以下步骤7011-7013:
7011、根据目标段落中每个语句中每个词语的词向量,应用语句编码模型,获取每个语句的语句向量,得到原始向量集合。
首先对该目标段落进行预处理,该预处理过程包括:对目标段落进行语句划分,得到目标段落中的每个语句,对每个语句进行词语划分,得到每个语句中的每个词语,获取每个词语的词向量。
其中,针对语句划分过程:可以获取目标段落中能够代表对应的语句已经结束的标点符号,如句号、问号、感叹号等,根据获取的标点符号对目标段落进行划分,即可得到目标段落中的语句。
针对词语划分过程:可以采用分词算法对每个语句进行分词,该分词算法可以包括多种算法,如双向最大匹配法、最少切分法等。或者采用其他方式进行词语划分。
针对获取词向量的过程:对于每个词语,可以根据词向量字典查询该词语对应的词向量,该词向量字典可以包括词语与词向量之间的对应关系,或者该词向量字典可以为词向量获取模型,如循环神经网络模型、深度学习网络模型、卷积神经网络模型等,应用该词向量获取模型可以获取词语的词向量。
对目标段落进行预处理之后,对于每个语句,应用语句编码模型,对该语句中每个词语的词向量进行处理,获取该语句的语句向量,从而能够得到目标段落中每个语句的语句向量,根据每个语句的语句向量,组成原始向量集合。
其中,语句编码模型用于将任一语句中多个词语的词向量压缩成一个代表该语句含义的语句向量,可以为循环神经网络模型、深度学习网络模型、卷积神经网络模型、变换神经网络模型、基于词语层面的GSMN模型等多种类型的模型。
在一种可能实现的方式中,语句编码模型包括第一语句编码子模型和第二语句编码子模型,获取语句的语句向量的过程可以包括:对于目标段落中的每个语句,获取该语句中每个词语的词向量,得到多个词向量;应用第一语句编码子模型,对多个词向量进行正序编码,得到第一向量,应用第二语句编码子模型,对多个词向量进行倒序编码,得到第二向量;根据第一向量和第二向量,获取语句的语句向量。重复执行上述步骤,可以获取到目标段落中每个语句的语句向量。
其中,该第一语句编码子模型为正序编码模型,该第二语句编码子模型为倒序编码模型。该语句中的多个词语的词向量按照顺序排列,则应用第一语句编码子模型,会按照多个词向量的排列顺序对多个词向量进行正序编码,得到第一向量。而应用第二语句编码子模型,会对多个词向量进行倒序处理,再按照倒序处理后的排列顺序对多个词向量进行倒序编码,得到第二向量。
另外,获取到第一向量和第二向量之后,可以将第一向量和第二向量串联,得到语句向量,或者将第一向量和第二向量相加,得到语句向量,或者还可以采用其他方式得到语句向量。
以语句编码模型为双向循环神经网络模型为例进行说明,如图8和图9所示,双向循环神经网络模型包括一个前向循环神经网络模型和一个后向循环神经网络模型,通过前向循环神经网络模型对语句的多个词向量进行正序编码,获取第一向量,通过后向循环神经网络模型对语句的多个词向量进行倒序编码,获取第二向量,将第一向量和第二向量串联,得到该语句的语句向量。
7012、根据上下文语句中每个词语的词向量,获取记忆向量集合。
对上下文语句进行词语划分,得到上下文语句中的每个词语,之后获取每个词语的词向量,根据获取的词向量组成记忆向量集合。其中,进行词语划分以及获取词语的词向量的过程与上述步骤7011类似,在此不再赘述。
需要说明的是,如果目标段落与上下文语句相同,则只需对目标段落中的语句进行处理即可得到原始向量集合和记忆向量集合,而无需对其他的语句进行处理。如图10所示,根据目标段落进行预处理后得到的词向量获取记忆向量集合。
本发明实施例中,记忆编码模型以目标段落为单位进行编码,因此输入层将获取到的原始向量集合和记忆向量集合均输入到记忆层中进行处理。
7013、根据预设数据库中每条知识数据的知识向量,获取知识向量集合。
获取预设数据库中每条知识数据的知识向量,将至少一条知识数据的知识向量组成知识向量集合。
其中,每条知识数据的知识向量可以预先通过对预设数据库进行预处理得到,且获取知识向量的方式可以包括多种。在一种可能实现方式中,获取预设数据库中的每条知识数据,对于每条知识数据,对该知识数据进行词语划分,得到知识数据中的至少一个词语,获取至少一个词语的词向量,根据至少一个词语的词向量,获取该知识数据的知识向量,将该知识向量与该知识数据对应存储于预设数据库中。
针对词语划分过程,可以采用分词算法对每条知识数据进行分词,该分词算法可以包括多种算法,如双向最大匹配法、最少切分法等。或者采用其他方式进行词语划分。在一种可能实现方式中,每条知识数据包括至少一组键值对,可以采用分词算法对每条知识数据的键值对中的键和值分别进行分词。
针对获取词向量的过程,对于每个词语,可以根据词向量字典查询该词语对应的词向量,该词向量字典可以包括词语与词向量之间的对应关系,或者该词向量字典可以为词向量获取模型,如循环神经网络模型、深度学习网络模型、卷积神经网络模型等,应用该词向量获取模型可以获取词语的词向量。
针对获取知识向量的过程,将知识数据中的至少一个词语的词向量串联,得到知识数据的知识向量。在一种可能实现方式中,知识数据包括多组键值对时,对于每组键值对,将键值对中的至少一个词语的词向量组成一个向量,即为该键值对的向量,采用类似方式即可得到多组键值对的向量。之后,对多组键值对的向量进行压缩处理,得到该知识数据的知识向量,采用类似方式即可得到预设数据库中每条知识数据的知识向量。
其中,进行压缩处理时可以采用多种方式,例如可以将多组键值对的向量组成一个矩阵,对该矩阵进行列向量求和,即将该矩阵划分为多个列向量,计算每个列向量中的数值之和,得到每个列向量的总数值,将该多个列向量的总数值组成一个向量,得到知识向量。或者还可以应用编码模型对多组键值对的向量进行压缩处理。其中,该编码模型用于将多个向量压缩成一个向量,可以为循环神经网络模型、深度学习网络模型、卷积神经网络模型、变换神经网络模型、基于词语层面的GSMN模型等多种类型的模型。
基于上述表1所示的知识数据,获取该知识数据的知识向量的流程可以如图11所示,对每条知识数据的键值对中的键和值分别进行分词,对于每个词语,获取该词语的词向量,其中,Φ表示词向量,通过串联的方式将每组键值对中的词语的词向量组成一个向量,之后,对这三组键值对的向量进行压缩处理,得到该知识数据的知识向量。
702、在第二记忆层中,根据原始向量集合和记忆向量集合,获取原始向量集合的第三目标语句矩阵。
输入层将原始向量集合和记忆向量集合输入至第二记忆层中,在第二记忆层中获取第三目标语句矩阵,该第三目标语句矩阵用于根据原始向量集合与记忆向量集合之间的关联关系,对目标段落进行描述,可以将与上下文语句相似度较高的语句进行记忆强化,在后续处理过程中对该语句更加注意,相当于应用了注意力机制得到第三目标语句矩阵,使第三目标语句矩阵对该目标段落的描述更加准确。
在一种可能实现方式中,步骤702可以包括以下步骤7021-7024:
7021、在第二记忆层中,应用记忆模型,获取记忆向量集合对应的第一记忆矩阵和第二记忆矩阵。
第二记忆层包括记忆模型,应用该记忆模型可以获取该记忆向量集合对应的第一记忆矩阵和第二记忆矩阵,其中,第一记忆矩阵和第二记忆矩阵用于对该记忆向量集合进行描述,且第一记忆矩阵和第二记忆矩阵可以相同,也可以不同。
针对第一记忆矩阵的获取方式:可以根据记忆向量集合获取上下文语句中每个词语的词向量,应用语句编码模型,获取每个语句的语句向量,根据每个语句的语句向量获取第一记忆矩阵。
在一种可能实现方式中,该语句编码模型包括第三语句编码子模型和第四语句编码子模型,获取语句的语句向量过程可以包括:对于上下文语句中的每个语句,获取该语句中每个词语的词向量,得到多个词向量;应用第三语句编码子模型,对多个词向量进行正序编码,得到第三向量,应用第四语句编码子模型,对多个词向量进行倒序编码,得到第四向量;根据第三向量和第四向量,获取语句的语句向量。
其中,获取语句向量的具体过程与上述步骤7011类似,在此不再赘述。
获取到上下文语句中的每个语句的语句向量后,将这些语句的语句向量进行组合,得到第一记忆矩阵。
另外,第二记忆矩阵的获取方式与第一记忆矩阵的获取方式类似,区别仅在于采用的语句编码模型可以与获取第一记忆矩阵时采用的语句编码模型相同或者不同。
参见图12,获取第一记忆矩阵和第二记忆矩阵时采用的语句编码模型均为双向循环神经网络模型,应用这两个双向循环神经网络模型对记忆向量集合分别进行处理,可以得到第一记忆矩阵和第二记忆矩阵。这两个双向循环神经网络模型的参数可以相同,也可以不同,因此得到的第一记忆矩阵和第二记忆矩阵可以相同,也可以不同。
由于第一记忆矩阵和第二记忆矩阵能够对记忆向量集合进行描述,因此根据第一记忆矩阵和第二记忆矩阵以及原始向量集合进行处理,能够考虑上下文语句与目标段落之间的关联关系,以便得到能够更加准确地描述该目标段落的段落。
本发明实施例以目标段落与上下文语句相同为例,则原始向量集合与记忆向量集合相同。在此情况下,可以执行下述步骤7022-7024获取用于描述目标段落的第三目标语句矩阵。当然,在目标段落与上下文语句不同的情况下,还可以采用多种方式获取第三目标语句矩阵。
7022、获取原始向量集合与第一记忆矩阵的相似度矩阵。
其中,获取相似度矩阵的方式有多种,如矩阵相乘法、矩阵相减法等。在一种可能实现方式中,根据该原始向量集合中的语句向量进行组合,得到目标段落的原始语句矩阵,将该原始语句矩阵与第一记忆矩阵相乘,得到的矩阵作为相似度矩阵。或者,还可以将该原始语句矩阵与第一记忆矩阵的转置相乘,得到的矩阵作为相似度矩阵。
相似度矩阵中的每一个数值代表了原始向量集合中的语句与上下文语句中对应的语句之间的相似度,相似度越高,表示两个语句关联越紧密,在后续的处理过程中越应当注意该语句。
7023、对相似度矩阵进行概率分布计算,得到概率矩阵。
相似度矩阵中包括多个相似度,对相似度矩阵进行概率分布计算,可以得到概率矩阵,概率矩阵中包括每个相似度对应的概率,且所有相似度的概率之和为1。
其中,概率分布计算方式可以有多种,在一种可能实现方式中,采用Softmax(归一化指数)函数对相似度矩阵进行计算,得到与相似度矩阵对应的概率矩阵。或者,对于相似度矩阵中的每个位置,获取该位置上的相似度与相似度矩阵中所有相似度之和的比值,得到该位置上的相似度对应的概率,从而获取到每个位置上的相似度对应的概率,将获取到的概率组成概率矩阵。
7024、根据第二记忆矩阵和概率矩阵,获取第三目标语句矩阵。
根据第二记忆矩阵和概率矩阵,获取第三目标语句矩阵的方式有多种,在一种可能实现方式中,将概率矩阵与第二记忆矩阵相乘,得到与目标段落的语句矩阵尺寸相同的第三目标语句矩阵。
由于目标段落中的语句与上下文语句的相似度越高,概率越大,因此将概率矩阵与第二记忆矩阵相乘,可以将与上下文语句相似度较高的语句进行记忆强化。
举例来说,原始向量集合中包括目标段落的J个语句的语句向量,记忆向量集合中包括上下文语句的K个语句的词向量,J和K为正整数,则原始向量集合对应的矩阵X为J*D的矩阵,记忆向量集合对应的矩阵M为K*D的矩阵,D为语句向量的维度数量。将这两个矩阵输入至记忆层,通过执行上述步骤7021-7023,得到的第三目标语句矩阵为O=Softmax(XΦ1(M)T)Φ2(M),其中,Φ1(M)为第一记忆矩阵,Φ2(M)为第二记忆矩阵。
703、在第二门控层中,对原始向量集合与第三目标语句矩阵进行加权求和,得到第四目标语句矩阵,使第四目标语句矩阵中的每个数值属于预设数值范围。
输入层将原始向量集合输入至第二门控层,第二记忆层将第三目标语句矩阵输入至第二门控层,在第二门控层中根据原始向量集合和第三目标语句矩阵进行处理,对经过记忆强化的第三目标语句矩阵和原始的原始向量集合所占的比重进行调整,从而对目标段落中与上下文语句相似度较高的语句所占的比重进行调整。
在一种可能实现方式中,步骤703可以包括以下步骤7031-7033:
7031、应用线性网络模型,获取原始向量集合对应的线性数值,采用预设函数对线性数值进行处理,得到原始向量集合的第一权重,以使第一权重属于预设数值范围。
参见图13,线性网络模型可以是线性神经网络模型,或者还可以是其他线性网络模型,对原始向量集合进行线性处理后,得到的该线性数值能够对原始向量集合进行描述。
获取到线性数值之后,采用预设函数对线性数值进行处理,得到原始向量集合的第一权重。该预设函数用于将线性数值压缩到预设数值范围,以使得到的第一权重属于该预设数值范围。其中,该预设函数可以是sigmoid(神经元的非线性作用)函数或者其他函数,该预设数值范围可以为0至1的数值范围,则第一权重大于0小于1。
7032、计算1与第一权重的差值,得到第一目标语句矩阵的第二权重。
其中,第一权重是原始向量集合所占的权重,第二权重是第三目标语句矩阵所占的权重,第一权重与第二权重之和为1,在得到第一权重之后,通过计算1与第一权重的差值,得到第二权重。
7033、按照第一权重和第二权重,对原始向量集合与第三目标语句矩阵进行加权求和,得到第四目标语句矩阵。
参见图14,根据该原始向量集合中的语句向量进行组合,得到目标段落的原始语句矩阵,第一权重即为该原始语句矩阵的权重,第二权重即为第三目标语句矩阵的权重,按照第一权重与第二权重,对该原始语句矩阵和该第三目标语句矩阵进行加权求和,得到第四目标语句矩阵,使第四目标语句矩阵中的每个数值属于预设数值范围。
在一种可能实现方式中,采用以下公式进行加权求和:
O’=G*X+(1-G)*O;
其中,O’为第四目标语句矩阵,G为第一权重,X为目标段落的原始语句矩阵,O为第三目标语句矩阵。
通过第二门控层可以筛选经过记忆加强后学习到的信息,调整目标段落与上下文语句之间的比重,控制信息的流动,避免加入过多与目标段落不相关的信息。
704、在第一记忆层中,根据第四目标语句矩阵和知识向量集合,获取原始向量集合的第一目标语句矩阵。
输入层将知识向量集合输入至第一记忆层中,第二门控层将第四目标语句矩阵输入至第一记忆层中。在第一记忆层中,根据第四目标语句矩阵和知识向量集合,获取原始向量集合的第一目标语句矩阵。
其中,第一目标语句矩阵用于根据第四目标语句矩阵并结合知识向量集合,对目标段落进行描述,可以引入外部的知识数据,从外部的知识数据中抽取相关的知识数据,根据抽取的相关知识数据对目标段落进行强化,使第一目标语句矩阵对该目标段落的描述更加准确。
在一种可能实现方式中,步骤704可以包括以下步骤7041-7044:
7041、在第一记忆层中,应用记忆模型,获取知识向量集合对应的第一知识矩阵和第二知识矩阵。
第一记忆层包括记忆模型,应用该记忆模型可以获取该知识向量集合对应的第一知识矩阵和第二知识矩阵,其中,第一知识矩阵和第二知识矩阵用于对该知识向量集合进行描述,且第一知识矩阵和第二知识矩阵可以相同,也可以不同。
针对第一知识矩阵的获取方式:可以根据知识向量集合获取预设数据库中每条知识数据的知识向量,应用语句编码模型,获取每条知识数据的第一知识向量,根据每个知识数据的第一知识向量获取第一知识矩阵。
在一种可能实现方式中,该语句编码模型包括第三语句编码子模型和第四语句编码子模型,获取知识数据的知识向量过程可以包括:对于预设数据库中的每条知识数据,获取每条知识数据的知识向量,得到至少一个知识向量;应用第五语句编码子模型,对至少一个知识向量进行正序编码,得到每个知识向量的第五向量,应用第六语句编码子模型,对至少一个知识向量进行倒序编码,得到每个知识向量的第六向量;根据第五向量和第六向量,获取知识数据的第一知识向量。获取知识数据的第一知识向量后,将这些知识数据的第一知识向量进行组合,得到第一知识矩阵。
另外,第二知识矩阵的获取方式与第一知识矩阵的获取方式类似,区别仅在于采用的语句编码模型可以与获取第一知识矩阵时采用的语句编码模型相同或者不同。
在一种可能实现方式中,获取第一知识矩阵和第二知识矩阵时采用的语句编码模型均为双向循环神经网络模型,应用这两个双向循环神经网络模型对知识向量集合分别进行处理,可以得到第一知识矩阵和第二知识矩阵。这两个双向循环神经网络模型的参数可以相同,也可以不同,因此得到的第一知识矩阵和第二知识矩阵可以相同,也可以不同。
由于第一知识矩阵和第二知识矩阵能够对知识向量集合进行描述,因此根据第一知识矩阵和第二知识矩阵以及第四目标语句矩阵进行处理,能够引入外部的知识数据,从外部的知识数据中抽取相关的知识数据,根据抽取的相关知识数据对目标段落进行强化,以便得到能够更加准确地描述该目标段落的段落向量。
7042、获取第四目标语句矩阵与第一知识矩阵的相似度矩阵。
其中,获取相似度矩阵的方式有多种,如矩阵相乘法、矩阵相减法等。在一种可能实现方式中,将第四目标语句矩阵与第一知识矩阵相乘,得到的矩阵作为相似度矩阵。或者,还可以将该第四目标语句矩阵与第一知识矩阵的转置相乘,得到的矩阵作为相似度矩阵。
相似度矩阵中的每一个数值代表了原始向量集合中的语句与预设数据库中的知识数据之间的相似度,相似度越高,表示关联越紧密,在后续的处理过程中越应当将知识数据中的相关的知识数据引入进来,对目标段落中的语句进行强化。
7043、对相似度矩阵进行概率分布计算,得到概率矩阵。
相似度矩阵中包括多个相似度,对相似度矩阵进行概率分布计算,可以得到概率矩阵,概率矩阵中包括每个相似度对应的概率,且所有相似度的概率之和为1。
其中,概率分布计算方式可以有多种,在一种可能实现方式中,采用Softmax(归一化指数)函数对相似度矩阵进行计算,得到与相似度矩阵对应的概率矩阵。或者,对于相似度矩阵中的每个位置,获取该位置上的相似度与相似度矩阵中所有相似度之和的比值,得到该位置上的相似度对应的概率,从而获取到每个位置上的相似度对应的概率,将获取到的概率组成概率矩阵。
7044、根据第二知识矩阵和概率矩阵,获取第一目标语句矩阵。
根据第二知识矩阵和概率矩阵,获取第一目标语句矩阵的方式有多种,在一种可能实现方式中,将概率矩阵与第二知识矩阵相乘,得到与第四目标语句矩阵尺寸相同的第一目标语句矩阵。
其中,与第四目标语句矩阵相比,第一目标语句矩阵从知识向量集合中抽取与原始向量集合相关的知识数据,对目标段落的描述更加准确。由于第四目标语句矩阵中的向量与第一知识矩阵中的向量的相似度越高,概率越大,因此将概率矩阵与第二知识矩阵相乘,可以将知识数据中的相关的知识数据引入进来,对目标段落中的语句进行强化,使第一目标语句矩阵对该目标段落的描述更加准确。
705、在第一门控层中,对第四目标语句矩阵与第一目标语句矩阵进行加权求和,得到第二目标语句矩阵,使第二目标语句矩阵中的每个数值属于预设数值范围。
第二门控层将第四目标语句矩阵输入至第一门控层,第一记忆层将第一目标语句矩阵输入至第一门控层,在第一门控层中对第四目标语句矩阵和第一目标语句矩阵所占的比重进行调整,从而对经过记忆加强的目标段落与知识数据所占的比重进行调整。
在一种可能实现方式中,步骤705可以包括以下步骤7051-7053:
7051、在第一门控层中,应用线性网络模型,获取第四目标语句矩阵对应的线性数值,采用预设函数对线性数值进行处理,得到第四目标语句矩阵的第三权重,以使第三权重属于预设数值范围。
在第一门控层中,应用线性网络模型,获取第四目标语句矩阵对应的线性数值,其中,线性网络模型可以是线性神经网络模型,或者还可以是其他线性网络模型,对第四目标语句矩阵进行线性处理后,得到的该线性数值能够对第四目标语句矩阵进行描述。
获取到线性数值之后,采用预设函数对线性数值进行处理,得到第四目标语句矩阵的第三权重。该预设函数用于将线性数值压缩到预设数值范围,以使得到的第三权重属于该预设数值范围。其中,该预设函数可以是sigmoid(神经元的非线性作用)函数或者其他函数,该预设数值范围可以为0至1的数值范围,则第三权重大于0小于1。
7052、计算1与第三权重的差值,得到第一目标语句矩阵的第四权重。
其中,第三权重是第四目标语句矩阵所占的权重,第四权重是第一目标语句矩阵所占的权重,第三权重与第四权重之和为1,在得到第三权重之后,通过计算1与第三权重的差值,得到第四权重。
7053、按照第三权重和第四权重,对第四目标语句矩阵与第一目标语句矩阵进行加权求和,得到第二目标语句矩阵。
第三权重为该第四目标语句矩阵的权重,第四权重即为第一目标语句矩阵的权重,按照第三权重与第四权重,对该第四目标语句矩阵和该第一目标语句矩阵进行加权求和,得到第二目标语句矩阵,使第二目标语句矩阵中的每个数值属于预设数值范围。
在一种可能实现方式中,采用以下公式进行加权求和:
O’=G*X+(1-G)*O;
其中,O’为第二目标语句矩阵,G为第三权重,X为第四目标语句矩阵,O为第一目标语句矩阵。
通过第一门控层可以筛选引入相关知识数据后学习得到的信息,调整经过记忆加强的目标段落与引入相关知识数据的目标段落之间的比重,控制信息的流动,避免加入过多与目标段落不相关的信息。
706、在输出层中,根据第二目标语句矩阵,获取目标段落的段落向量。
在输出层中,将第二目标语句矩阵转换为一个向量,作为目标段落的段落向量。其中,获取段落向量的方式可以有多种,在一种可能实现方式中,对第二目标语句矩阵进行列向求和,即将第二目标语句矩阵划分为多个列向量,计算每个列向量中的数值之和,得到每个列向量的总数值,将该多个列向量的总数值组成一个向量,得到段落向量。
需要说明的一点是,本发明实施例仅是以运行一次第二记忆层、第二门控层、第一记忆层和第一门控层为例进行说明,而在另一实施例中,还可以重复运行第二记忆层、第二门控层、第一记忆层和第一门控层,如图15所示。即在第一门控层中获取到第二目标语句矩阵后,将第二目标语句矩阵作为更新后的原始向量集合和记忆向量集合,保持知识向量集合不变,或者也可以对知识向量集合进行更新,得到更新后的知识向量集合,第二记忆层、第二门控层、第一记忆层和第一门控层重复执行根据更新后的原始向量集合、记忆向量集合和知识向量集合获取目标语句矩阵的步骤,直至重复次数达到预设次数时,将当前的目标语句矩阵输入至输出层中,输出层中根据当前的目标语句矩阵,获取目标段落的段落向量。其中,该预设次数可以根据需求确定,或者为通过实验确定的优选值,该预设次数可以为2或3等。
在一种可能实现方式中,可以重复运行第二记忆层和第二门控层,即在第二门控层中获取到第四目标语句矩阵后,将第四目标语句矩阵作为更新后的原始向量集合和记忆向量集合,第二记忆层和第二门控层重复执行根据更新后的原始向量集合和记忆向量集合获取目标语句矩阵的步骤,直至重复次数达到预设次数时,将当前的目标语句矩阵输入至第一记忆层中。后续过程中在第一记忆层和第一门控层中继续进行处理。
在一种可能实现方式中,可以重复运行第一记忆层和第一门控层,在第一门控层获取到第二目标语句矩阵后,将第二目标语句矩阵作为更新后的第四目标语句矩阵,保持知识向量集合不变,或者也可以对知识向量集合进行更新,得到更新后的知识向量集合,第一记忆层和第一门控层重复执行根据更新后的第四目标语句矩阵和知识向量集合获取目标语句矩阵的步骤,直至重复次数达到预设次数时,将当前的目标语句矩阵输入至输出层中。输出层根据当前的目标语句矩阵,获取目标段落的段落向量。
707、基于段落向量进行处理。
在获取到目标段落的段落向量之后,会对段落向量进行处理。应用场景不同,对段落向量的处理方式也不同,具体采用何种处理方式可以根据需求确定。例如:在智能对话场景下,目标段落为用户输入的文本消息,在获取到目标段落的段落向量之后,会根据该段落向量获取到匹配的答复消息,能够针对用户输入的文本消息给出符合用户需求的答复。
本发明实施提供的编码方法,提供了一种记忆编码模型,记忆编码模型包括输入层、第一记忆层和输出层,获取目标段落和预设数据库,将目标段落和预设数据库输入至记忆编码模型,输入层获取目标段落的原始向量集合和预设数据库的知识向量集合;第一记忆层根据原始向量集合和知识向量集合,获取原始向量集合的第一目标语句矩阵;输出层根据第一目标语句矩阵,获取目标段落的段落向量,基于段落向量进行处理。本发明实施例无需采用串行的方式对每个语句分别进行编码,而是以目标段落为单位,应用记忆编码模型对目标段落进行编码,因此提高了编码速度。并且,编码过程中不仅考虑目标段落本身,还考虑到预设数据库中的知识数据,从而使获取到的段落向量不仅能够表达目标段落的含义,还能够从外部知识数据中抽取相关的知识数据,提高了编码准确率。
本发明实施例提供的记忆编码模型具有自注意力性,将自注意力机制应用于段落的语句层面上,根据目标段落、上下文语句和预设数据库中的知识数据进行综合处理,可以保证目标段落的段落向量表达更为丰富,更能准确地描述目标段落的含义。且本发明实施例可以应用于多种场景下,应用范围广泛。
需要说明的是,本发明实施例仅是以记忆编码模型包括第二记忆层、第二门控层、第一记忆层和第一门控层为例进行说明。在一种可能实现方式中,该记忆编码模型还可以采用其他的网络架构。
在第一种可能实现方式中,该记忆编码模型包括输入层、第一记忆层和输出层。
输入层将原始向量集合和知识向量集合输入至第一记忆层中,第一记忆层根据原始向量集合和知识向量集合,获取第一目标语句矩阵,并将第一目标语句矩阵输入至输出层中。输出层根据第一目标语句矩阵,获取目标段落的段落向量。
在第二种可能实现方式中,该记忆编码模型包括输入层、第一记忆层、第一门控层和输出层。
输入层将原始向量集合和知识向量集合输入至第一记忆层中,第一记忆层根据原始向量集合和知识向量集合,获取第一目标语句矩阵,并将第一目标语句矩阵输入至第一门控层中。第一门控层根据原始向量集合和第一目标语句矩阵,获取第二目标语句矩阵,并将第二目标语句矩阵输入至输出层中。输出层根据第二目标语句矩阵,获取目标段落的段落向量。
在第三种可能实现方式中,该记忆编码模型包括输入层、第二记忆层、第一记忆层和输出层。
输入层将原始向量集合和记忆向量集合输入至第二记忆层中。第二记忆层根据输入的原始向量集合和记忆向量集合,获取第三目标语句矩阵,并将第三目标语句矩阵输入至第一记忆层中,且输入层将知识向量集合输入至第一记忆层。第一记忆层根据输入的第三目标语句矩阵和知识向量集合,获取第一目标语句矩阵,并将第一目标语句矩阵输入至输出层,输出层根据第一目标语句矩阵,获取该目标段落的段落向量。
在第四种可能实现方式中,该记忆编码模型包括输入层、第二记忆层、第二门控层、第一记忆层和输出层。
输入层将原始向量集合和记忆向量集合输入至第二记忆层中,还将知识向量集合输入至第一记忆层中。第二记忆层根据输入的原始向量集合和记忆向量集合,获取第三目标语句矩阵,输入至第二门控层中。第二门控层对原始向量集合和第三目标语句矩阵进行加权求和,得到第四目标语句矩阵,将第四目标语句矩阵输入至第一记忆层中。第一记忆层根据第四目标语句矩阵和知识向量集合,获取第一目标语句矩阵,将第一目标语句矩阵输入至输出层,输出层根据第一目标语句矩阵,获取该目标段落的段落向量。
在第五种可能实现方式中,该记忆编码模型包括输入层、第一记忆层、第三记忆层和输出层。
输入层将原始向量集合和知识向量集合输入至第一记忆层中,将记忆向量集合输入至第三记忆层中。第一记忆层根据原始向量集合和知识向量集合,获取第一目标语句矩阵,输入至第三记忆层,第三记忆层根据记忆向量集合和第一目标语句矩阵,获取第五目标语句矩阵,将第五目标语句矩阵输入至输出层,输出层根据第五目标语句矩阵,获取该目标段落的段落向量。
在第六种可能实现方式中,该记忆编码模型包括输入层、第一记忆层、第三记忆层、第三门控层和输出层。
如图16所示,输入层将原始向量集合和知识向量集合输入至第一记忆层中,将记忆向量集合输入至第三记忆层中。第一记忆层根据原始向量集合和知识向量集合,获取第一目标语句矩阵,输入至第三记忆层,第三记忆层根据记忆向量集合和第一目标语句矩阵,获取第五目标语句矩阵,将第五目标语句矩阵输入至第三门控层中,第三门控层对第五目标语句矩阵和第一目标语句矩阵进行加权求和,得到第六目标语句矩阵,将第六目标语句矩阵输入至输出层,输出层根据第六目标语句矩阵,获取该目标段落的段落向量。
本发明实施例提供了一种记忆编码模型的网络架构,应用该记忆编码模型可以对目标段落进行编码。且上述实施例提供的编码方法既可以应用于编码过程,也可以应用于训练记忆编码模型的过程。
也即是,在一种可能实现方式中,在训练记忆编码模型的过程中,获取初始化的记忆编码模型,或者获取已经进行过一次或多次训练、但其准确率还未满足要求的记忆编码模型。并且,获取一个或多个样本段落,作为目标段落。应用当前的记忆编码模型对目标段落进行处理,处理过程中执行上述实施例提供的编码方法,即可得到目标段落的段落向量。
之后,将目标段落的段落向量进行解码,得到与该段落向量对应的测试段落,根据目标段落与测试段落之间的误差,对记忆编码模型中的模型参数进行修正。其中,解码方式可以有多种,如可以采用解码算法对段落向量进行解码,或者应用解码模型对段落向量进行解码,该解码模型可以为循环神经网络模型、深度学习网络模型、卷积神经网络模型等。
则采用上述方式进行一次或多次训练之后,即可确定记忆编码模型中的模型参数,得到准确率满足要求的记忆编码模型。
而在另一种可能实现方式中,记忆编码模型已经训练完成,其准确率满足要求。则获取该记忆编码模型,当要对某一目标段落进行编码时,应用该记忆编码模型对目标段落进行处理,处理过程中执行上述实施例提供的编码方法,即可得到目标段落的段落向量。其中,该记忆编码模型可以由编码设备训练,或者由训练设备训练后发送给编码设备,该训练设备也可以为终端或者服务器等。
图17是本发明实施例提供的一种编码装置的结构示意图。参见图17,该装置包括:获取模块1700、输入层模块1701、第一记忆层模块1702、输出层模块1703和处理模块1704;
获取模块1700,用于获取目标段落和预设数据库,将目标段落和预设数据库输入至记忆编码模型,目标段落包括至少一个语句;
输入层模块1701,用于获取目标段落的原始向量集合和预设数据库的知识向量集合,原始向量集合包括目标段落中每个语句的语句向量;知识向量集合包括预设数据库中多条知识数据的知识向量;
第一记忆层模块1702,用于根据原始向量集合和知识向量集合,获取原始向量集合的第一目标语句矩阵,第一目标语句矩阵用于根据原始向量集合与知识向量集合之间的关联关系,对目标段落进行描述;
输出层模块1703,用于根据第一目标语句矩阵,获取目标段落的段落向量;
处理模块1704,用于基于段落向量进行处理。
本发明实施提供的编码装置,获取模块获取目标段落和预设数据库,将目标段落和预设数据库输入至记忆编码模型,输入层模块获取目标段落的原始向量集合以及目标段落的上下文语句中的记忆向量集合,记忆层模块根据原始向量集合和记忆向量集合,获取原始向量集合的第一目标语句矩阵,输出层模块根据第一目标语句矩阵获取目标段落的段落向量,处理模块基于段落向量进行处理。本发明实施例无需采用串行的方式对每个语句分别进行编码,而是以目标段落为单位,应用记忆编码模型对目标段落进行编码,因此提高了编码速度。并且,编码过程中不仅考虑目标段落本身,还考虑到预设数据库中的知识数据和目标段落的上下文语句,从而使获取到的段落向量不仅能够表达目标段落的含义,还能够从外部知识数据中抽取相关的知识数据,提高了编码准确率。
本发明实施例提供的记忆编码模型具有自注意力性,将自注意力机制应用于段落的语句层面上,根据目标段落和上下文语句进行综合处理,可以保证目标段落的段落向量表达更为丰富,更能准确地描述目标段落的含义。且本发明实施例可以应用于多种场景下,应用范围广泛。
在一种可能实现方式中,输入层模块1701包括:
原始获取单元,用于根据目标段落中每个语句中每个词语的词向量,应用语句编码模型,获取每个语句的语句向量,得到原始向量集合;
知识获取单元,用于根据预设数据库中每条知识数据的知识向量,获取知识向量集合。
在一种可能实现方式中,该装置还包括:
知识数据获取模块,用于获取预设数据库中的每条知识数据;
知识向量获取模块,用于对于每条知识数据,对知识数据进行词语划分,得到至少一个词语,获取至少一个词语的词向量,根据至少一个词语的词向量,获取知识数据的知识向量;
存储模块,用于将知识向量与知识数据对应存储于预设数据库中。
在一种可能实现方式中,第一记忆层模块1702包括:
知识矩阵获取单元,用于应用第一记忆模型,获取知识向量集合对应的第一知识矩阵和第二知识矩阵;
第一目标获取单元,用于根据原始向量集合、第一知识矩阵和第二知识矩阵,获取原始向量集合的第一目标语句矩阵。
在一种可能实现方式中,装置还包括第一门控层模块;
第一门控层模块,用于对原始向量集合与第一目标语句矩阵进行加权求和,得到第二目标语句矩阵,使第二目标语句矩阵中的每个数值属于预设数值范围;
输出层模块1703,用于根据第二目标语句矩阵,获取目标段落的段落向量。
在一种可能实现方式中,第一门控层模块包括:
第一权重获取单元,用于应用线性网络模型,获取原始向量集合对应的线性数值,采用预设函数对线性数值进行处理,得到原始向量集合的第一权重,以使第一权重属于预设数值范围;
第二权重获取单元,用于计算1与第一权重的差值,得到第一目标语句矩阵的第二权重;
加权单元,用于按照第一权重和第二权重,对原始向量集合与第一目标语句矩阵进行加权求和,得到第二目标语句矩阵。
在一种可能实现方式中,输出层模块1703,包括:
列向求和单元,用于对第一目标语句矩阵进行列向求和,得到段落向量。
在一种可能实现方式中,第一记忆层模块1702还用于将第一目标语句矩阵作为更新后的原始向量集合和知识向量集合,重复执行根据更新后的原始向量集合和知识向量集合获取目标语句矩阵的步骤,直至重复次数达到预设次数时,触发输出层模块1703;
输出层模块1703,还用于根据当前的目标语句矩阵,获取所述目标段落的段落向量。
在一种可能实现方式中,装置还包括第二记忆层模块;
输入层模块1701,还用于获取目标段落的记忆向量集合,记忆向量集合包括目标段落的上下文语句中每个词语的词向量;
第二记忆层模块,用于根据原始向量集合和记忆向量集合,获取原始向量集合的第三目标语句矩阵,第三目标语句矩阵用于根据原始向量集合与记忆向量集合之间的关联关系,对目标段落进行描述;
第一记忆层模块1702,还用于根据第三目标语句矩阵和知识向量集合,获取原始向量集合的第一目标语句矩阵。
在一种可能实现方式中,装置还包括第二门控层模块;
第二门控层模块,用于对原始向量集合与第三目标语句矩阵进行加权求和,得到第四目标语句矩阵,使第四目标语句矩阵中的每个数值属于预设数值范围;
第一记忆层模块,还用于根据第四目标语句矩阵和知识向量集合,获取原始向量集合的第一目标语句矩阵。
在一种可能实现方式中,装置还包括第三记忆层模块;
输入层模块1701,还用于获取目标段落的记忆向量集合,记忆向量集合包括目标段落的上下文语句中每个词语的词向量;
第三记忆层模块,用于根据第一目标语句矩阵和记忆向量集合,获取原始向量集合的第五目标语句矩阵,第五目标语句矩阵用于根据原始向量集合、知识向量集合与记忆向量集合之间的关联关系,对目标段落进行描述;
输出层模块1703,还用于根据第五目标语句矩阵,获取目标段落的段落向量。
在一种可能实现方式中,装置还包括第三门控层模块;
第三门控层模块,用于对第一目标语句矩阵和第五目标语句矩阵进行加权求和,得到第六目标语句矩阵,使第六目标语句矩阵中的每个数值属于预设数值范围;
输出层模块1703,还用于根据第六目标语句矩阵,获取目标段落的段落向量。
需要说明的是:上述实施例提供的编码装置在对段落进行编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将编码设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的编码装置与编码方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图18是本发明实施例提供的一种终端的结构框图。该终端1800用于执行上述实施例中编码设备执行的步骤,可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1800还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1800包括有:处理器1801和存储器1802。
处理器1801可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1801可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1801也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1801可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1801还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1802可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1802还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1802中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1801所执行以实现本申请中方法实施例提供的编码方法。
在一些实施例中,终端1800还可选包括有:外围设备接口1803和至少一个外围设备。处理器1801、存储器1802和外围设备接口1803之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1803相连。具体地,外围设备包括:射频电路1804、触摸显示屏1805、摄像头1806、音频电路1807、定位组件1808和电源1809中的至少一种。
外围设备接口1803可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1801和存储器1802。在一些实施例中,处理器1801、存储器1802和外围设备接口1803被集成在同一芯片或电路板上;在一些其他实施例中,处理器1801、存储器1802和外围设备接口1803中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1804用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1804通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1804将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1804包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1804可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1804还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1805用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1805是触摸显示屏时,显示屏1805还具有采集在显示屏1805的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1801进行处理。此时,显示屏1805还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1805可以为一个,设置终端1800的前面板;在另一些实施例中,显示屏1805可以为至少两个,分别设置在终端1800的不同表面或呈折叠设计;在再一些实施例中,显示屏1805可以是柔性显示屏,设置在终端1800的弯曲表面上或折叠面上。甚至,显示屏1805还可以设置成非矩形的不规则图形,也即异形屏。显示屏1805可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1806用于采集图像或视频。可选地,摄像头组件1806包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1806还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1807可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1801进行处理,或者输入至射频电路1804以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1800的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1801或射频电路1804的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1807还可以包括耳机插孔。
定位组件1808用于定位终端1800的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1808可以是基于GPS(Global PositioningSystem,全球定位系统)、北斗系统或格雷纳斯系统或伽利略系统的定位组件。
电源1809用于为终端1800中的各个组件进行供电。电源1809可以是交流电、直流电、一次性电池或可充电电池。当电源1809包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1800还包括有一个或多个传感器1810。该一个或多个传感器1810包括但不限于:加速度传感器1811、陀螺仪传感器1812、压力传感器1813、指纹传感器1814、光学传感器1815以及接近传感器1816。
加速度传感器1811可以检测以终端1800建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1811可以用于检测重力加速度在三个坐标轴上的分量。处理器1801可以根据加速度传感器1811采集的重力加速度信号,控制触摸显示屏1805以横向视图或纵向视图进行用户界面的显示。加速度传感器1811还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1812可以检测终端1800的机体方向及转动角度,陀螺仪传感器1812可以与加速度传感器1811协同采集用户对终端1800的3D动作。处理器1801根据陀螺仪传感器1812采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1813可以设置在终端1800的侧边框和/或触摸显示屏1805的下层。当压力传感器1813设置在终端1800的侧边框时,可以检测用户对终端1800的握持信号,由处理器1801根据压力传感器1813采集的握持信号进行左右手识别或快捷操作。当压力传感器1813设置在触摸显示屏1805的下层时,由处理器1801根据用户对触摸显示屏1805的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1814用于采集用户的指纹,由处理器1801根据指纹传感器1814采集到的指纹识别用户的身份,或者,由指纹传感器1814根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1801授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1814可以被设置终端1800的正面、背面或侧面。当终端1800上设置有物理按键或厂商Logo时,指纹传感器1814可以与物理按键或厂商标志集成在一起。
光学传感器1815用于采集环境光强度。在一个实施例中,处理器1801可以根据光学传感器1815采集的环境光强度,控制触摸显示屏1805的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1805的显示亮度;当环境光强度较低时,调低触摸显示屏1805的显示亮度。在另一个实施例中,处理器1801还可以根据光学传感器1815采集的环境光强度,动态调整摄像头组件1806的拍摄参数。
接近传感器1816,也称距离传感器,通常设置在终端1800的前面板。接近传感器1816用于采集用户与终端1800的正面之间的距离。在一个实施例中,当接近传感器1816检测到用户与终端1800的正面之间的距离逐渐变小时,由处理器1801控制触摸显示屏1805从亮屏状态切换为息屏状态;当接近传感器1816检测到用户与终端1800的正面之间的距离逐渐变大时,由处理器1801控制触摸显示屏1805从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图18中示出的结构并不构成对终端1800的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图19是本发明实施例提供的一种服务器的结构示意图,该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)1901和一个或一个以上的存储器1902,其中,存储器1902中存储有至少一条指令,至少一条指令由处理器1901加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
服务器1900可以用于执行上述编码方法中编码设备所执行的步骤。
本发明实施例还提供了一种编码设备,该编码设备包括一个或多个处理器和一个或多个存储器,一个或多个存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该指令、该程序、该代码集或该指令集由该一个或多个处理器加载并执行以实现上述实施例的编码方法中所执行的操作。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该指令、该程序、该代码集或该指令集由一个或多个处理器加载并执行以实现上述实施例的编码方法中所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种编码方法,其特征在于,所述方法包括:
获取目标段落和预设数据库,将所述目标段落和所述预设数据库输入至记忆编码模型,所述目标段落包括至少一个语句,所述记忆编码模型至少包括输入层、第二记忆层、第二门控层、第一记忆层、第一门控层和输出层,所述第二记忆层位于所述第一记忆层之前,所述第二门控层位于所述第一记忆层之前和所述第二记忆层之后;
在所述输入层中,获取所述目标段落的原始向量集合和所述预设数据库的知识向量集合,获取所述目标段落的记忆向量集合,所述记忆向量集合包括所述目标段落的上下文语句中每个词语的词向量,所述原始向量集合包括所述目标段落中每个语句的语句向量;所述知识向量集合包括所述预设数据库中多条知识数据的知识向量;
在所述第二记忆层中,根据所述原始向量集合和所述记忆向量集合,获取所述原始向量集合的第三目标语句矩阵,所述第三目标语句矩阵用于根据所述原始向量集合与所述记忆向量集合之间的关联关系,对所述目标段落进行描述;
在所述第二门控层中,对所述原始向量集合与所述第三目标语句矩阵进行加权求和,得到第四目标语句矩阵,使所述第四目标语句矩阵中的每个数值属于预设数值范围;
在所述第一记忆层中,根据所述第四目标语句矩阵和所述知识向量集合,获取所述原始向量集合的第一目标语句矩阵,所述第一目标语句矩阵用于根据所述第四目标语句矩阵以及所述知识向量集合,对所述目标段落进行描述;
在所述第一门控层中,对所述原始向量集合与所述第一目标语句矩阵进行加权求和,得到第二目标语句矩阵,使所述第二目标语句矩阵中的每个数值属于预设数值范围;
在所述输出层中,根据所述第二目标语句矩阵,获取所述目标段落的段落向量;
基于所述段落向量进行处理。
2.根据权利要求1所述的方法,其特征在于,所述输入层包括语句编码模型,所述在所述输入层中,获取所述目标段落的原始向量集合和所述预设数据库的知识向量集合,包括:
根据所述目标段落中每个语句中每个词语的词向量,应用所述语句编码模型,获取所述每个语句的语句向量,得到所述原始向量集合;
根据所述预设数据库中每条知识数据的知识向量,获取所述知识向量集合。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述预设数据库中的每条知识数据;
对于每条知识数据,对所述知识数据进行词语划分,得到至少一个词语,获取所述至少一个词语的词向量,根据所述至少一个词语的词向量,获取所述知识数据的知识向量,将所述知识向量与所述知识数据对应存储于所述预设数据库中。
4.根据权利要求1所述的方法,其特征在于,所述第一记忆层包括第一记忆模型,所述在所述第一记忆层中,根据所述原始向量集合和所述知识向量集合,获取所述原始向量集合的第一目标语句矩阵,包括:
应用所述第一记忆模型,获取所述知识向量集合对应的第一知识矩阵和第二知识矩阵;
根据所述原始向量集合、所述第一知识矩阵和所述第二知识矩阵,获取所述原始向量集合的第一目标语句矩阵。
5.根据权利要求1所述的方法,其特征在于,所述第一门控层包括线性网络模型,所述在所述第一门控层中,对所述原始向量集合与所述第一目标语句矩阵进行加权求和,得到第二目标语句矩阵,包括:
应用所述线性网络模型,获取所述原始向量集合对应的线性数值,采用预设函数对所述线性数值进行处理,得到所述原始向量集合的第一权重,以使所述第一权重属于所述预设数值范围;
计算1与所述第一权重的差值,得到所述第一目标语句矩阵的第二权重;
按照所述第一权重和所述第二权重,对所述原始向量集合与所述第一目标语句矩阵进行加权求和,得到所述第二目标语句矩阵。
6.根据权利要求1所述的方法,其特征在于,所述在所述输出层中,根据所述第二目标语句矩阵,获取所述目标段落的段落向量,包括:
对所述第二目标语句矩阵进行列向求和,得到所述段落向量。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
将所述第二目标语句矩阵作为更新后的原始向量集合和知识向量集合,在所述第一记忆层和所述第一门控层中,重复执行根据更新后的原始向量集合和知识向量集合获取目标语句矩阵的步骤,直至重复次数达到预设次数时,在所述输出层中,根据当前的目标语句矩阵,获取所述目标段落的段落向量。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述记忆编码模型还包括位于所述第一记忆层之后的第三记忆层,所述方法还包括:
在所述输入层中,获取目标段落的记忆向量集合,所述记忆向量集合包括所述目标段落的上下文语句中每个词语的词向量;
所述在所述输出层中,根据所述第二目标语句矩阵,获取所述目标段落的段落向量,包括:
在所述第三记忆层中,根据所述第二目标语句矩阵和所述记忆向量集合,获取所述原始向量集合的第五目标语句矩阵,所述第五目标语句矩阵用于根据所述原始向量集合、所述知识向量集合与所述记忆向量集合之间的关联关系,对所述目标段落进行描述;
在所述输出层中,根据所述第五目标语句矩阵,获取所述目标段落的段落向量。
9.根据权利要求8所述的方法,其特征在于,所述记忆编码模型还包括位于所述第三记忆层之后的第三门控层,所述在所述输出层中,根据所述第五目标语句矩阵,获取所述目标段落的段落向量,包括:
在所述第三门控层中,对所述第一目标语句矩阵和所述第五目标语句矩阵进行加权求和,得到第六目标语句矩阵,使所述第六目标语句矩阵中的每个数值属于预设数值范围;
在所述输出层中,根据所述第六目标语句矩阵,获取所述目标段落的段落向量。
10.一种编码装置,其特征在于,所述装置包括:
获取模块,用于获取目标段落和预设数据库,将所述目标段落和所述预设数据库输入至记忆编码模型,所述目标段落包括至少一个语句,所述记忆编码模型至少包括输入层、第二记忆层、第二门控层、第一记忆层、第一门控层和输出层,所述第二记忆层位于所述第一记忆层之前,所述第二门控层位于所述第一记忆层之前和所述第二记忆层之后;
输入层模块,用于获取所述目标段落的原始向量集合和所述预设数据库的知识向量集合,获取所述目标段落的记忆向量集合,所述记忆向量集合包括所述目标段落的上下文语句中每个词语的词向量,所述原始向量集合包括所述目标段落中每个语句的语句向量;所述知识向量集合包括所述预设数据库中多条知识数据的知识向量;
第二记忆层模块,用于根据所述原始向量集合和所述记忆向量集合,获取所述原始向量集合的第三目标语句矩阵,所述第三目标语句矩阵用于根据所述原始向量集合与所述记忆向量集合之间的关联关系,对所述目标段落进行描述;
第二门控层模块,用于对所述原始向量集合与所述第三目标语句矩阵进行加权求和,得到第四目标语句矩阵,使所述第四目标语句矩阵中的每个数值属于预设数值范围;
第一记忆层模块,用于根据所述第四目标语句矩阵和所述知识向量集合,获取所述原始向量集合的第一目标语句矩阵,所述第一目标语句矩阵用于根据所述第四目标语句矩阵以及所述知识向量集合,对所述目标段落进行描述;
第一门控层模块,用于对所述原始向量集合与所述第一目标语句矩阵进行加权求和,得到第二目标语句矩阵,使所述第二目标语句矩阵中的每个数值属于预设数值范围;
输出层模块,用于根据所述第二目标语句矩阵,获取所述目标段落的段落向量;
处理模块,用于基于所述段落向量进行处理。
11.根据权利要求10所述的装置,其特征在于,所述输入层模块,包括:
原始获取单元,用于根据所述目标段落中每个语句中每个词语的词向量,应用语句编码模型,获取所述每个语句的语句向量,得到所述原始向量集合;
知识获取单元,用于根据所述预设数据库中每条知识数据的知识向量,获取所述知识向量集合。
12.根据权利要求10所述的装置,其特征在于,所述装置还包括:
知识数据获取模块,用于获取所述预设数据库中的每条知识数据;
知识向量获取模块,用于对于每条知识数据,对所述知识数据进行词语划分,得到至少一个词语,获取所述至少一个词语的词向量,根据所述至少一个词语的词向量,获取所述知识数据的知识向量;
存储模块,用于将所述知识向量与所述知识数据对应存储于所述预设数据库中。
13.根据权利要求10所述的装置,其特征在于,所述第一记忆层模块,包括:
知识矩阵获取单元,用于应用所述第一记忆模型,获取所述知识向量集合对应的第一知识矩阵和第二知识矩阵;
第一目标获取单元,用于根据所述原始向量集合、所述第一知识矩阵和所述第二知识矩阵,获取所述原始向量集合的第一目标语句矩阵。
14.根据权利要求10所述的装置,其特征在于,所述第一门控层模块,包括:
第一权重获取单元,用于应用线性网络模型,获取所述原始向量集合对应的线性数值,采用预设函数对所述线性数值进行处理,得到所述原始向量集合的第一权重,以使所述第一权重属于所述预设数值范围;
第二权重获取单元,用于计算1与所述第一权重的差值,得到所述第一目标语句矩阵的第二权重;
加权单元,用于按照所述第一权重和所述第二权重,对所述原始向量集合与所述第一目标语句矩阵进行加权求和,得到所述第二目标语句矩阵。
15.根据权利要求10所述的装置,其特征在于,所述输出层模块,包括:
列向求和单元,用于对所述第二目标语句矩阵进行列向求和,得到所述段落向量。
16.根据权利要求10-15任一项所述的装置,其特征在于,所述第一记忆层模块,还用于:
将所述第二目标语句矩阵作为更新后的原始向量集合和知识向量集合,在所述第一记忆层和所述第一门控层中,重复执行根据更新后的原始向量集合和知识向量集合获取目标语句矩阵的步骤,直至重复次数达到预设次数时,触发输出层模块;
所述输出层模块,还用于在所述输出层中,根据当前的目标语句矩阵,获取所述目标段落的段落向量。
17.根据权利要求10-15任一项所述的装置,其特征在于,所述装置还包括第三记忆层模块:
所述输入层模块,还用于获取目标段落的记忆向量集合,所述记忆向量集合包括所述目标段落的上下文语句中每个词语的词向量;
所述第三记忆层模块,用于根据所述第二目标语句矩阵和所述记忆向量集合,获取所述原始向量集合的第五目标语句矩阵,所述第五目标语句矩阵用于根据所述原始向量集合、所述知识向量集合与所述记忆向量集合之间的关联关系,对所述目标段落进行描述;
所述输出层模块,用于根据所述第五目标语句矩阵,获取所述目标段落的段落向量。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括第三门控层模块:
所述第三门控层模块,用于对所述第一目标语句矩阵和所述第五目标语句矩阵进行加权求和,得到第六目标语句矩阵,使所述第六目标语句矩阵中的每个数值属于预设数值范围;
所述输出层模块,用于根据所述第六目标语句矩阵,获取所述目标段落的段落向量。
19.一种编码设备,其特征在于,所述编码设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由所述一个或多个处理器加载并执行以实现如权利要求1至9任一权利要求所述的编码方法中所执行的操作。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由一个或多个处理器加载并执行以实现如权利要求1至9任一权利要求所述的编码方法中所执行的操作。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910069751.1A CN110147532B (zh) | 2019-01-24 | 2019-01-24 | 编码方法、装置、设备及存储介质 |
JP2021517331A JP7324838B2 (ja) | 2019-01-24 | 2020-01-21 | 符号化方法並びにその、装置、機器及びコンピュータプログラム |
PCT/CN2020/073360 WO2020151685A1 (zh) | 2019-01-24 | 2020-01-21 | 编码方法、装置、设备及存储介质 |
US17/356,482 US20210319167A1 (en) | 2019-01-24 | 2021-06-23 | Encoding method, apparatus, and device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910069751.1A CN110147532B (zh) | 2019-01-24 | 2019-01-24 | 编码方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110147532A CN110147532A (zh) | 2019-08-20 |
CN110147532B true CN110147532B (zh) | 2023-08-25 |
Family
ID=67588574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910069751.1A Active CN110147532B (zh) | 2019-01-24 | 2019-01-24 | 编码方法、装置、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210319167A1 (zh) |
JP (1) | JP7324838B2 (zh) |
CN (1) | CN110147532B (zh) |
WO (1) | WO2020151685A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7180132B2 (ja) * | 2018-06-12 | 2022-11-30 | 富士通株式会社 | 処理プログラム、処理方法および情報処理装置 |
CN110147532B (zh) * | 2019-01-24 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 编码方法、装置、设备及存储介质 |
CN110147533B (zh) * | 2019-01-24 | 2023-08-29 | 腾讯科技(深圳)有限公司 | 编码方法、装置、设备及存储介质 |
CN115410212B (zh) * | 2022-11-02 | 2023-02-07 | 平安科技(深圳)有限公司 | 多模态模型的训练方法、装置、计算机设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126596A (zh) * | 2016-06-20 | 2016-11-16 | 中国科学院自动化研究所 | 一种基于层次化记忆网络的问答方法 |
CN108304911A (zh) * | 2018-01-09 | 2018-07-20 | 中国科学院自动化研究所 | 基于记忆神经网络的知识抽取方法以及系统和设备 |
KR20180084580A (ko) * | 2017-01-17 | 2018-07-25 | 경북대학교 산학협력단 | 복수 문단 텍스트의 추상적 요약문 생성 장치 및 방법, 그 방법을 수행하기 위한 기록 매체 |
CN108491386A (zh) * | 2018-03-19 | 2018-09-04 | 上海携程国际旅行社有限公司 | 自然语言理解方法及系统 |
CN108536679A (zh) * | 2018-04-13 | 2018-09-14 | 腾讯科技(成都)有限公司 | 命名实体识别方法、装置、设备及计算机可读存储介质 |
WO2018165932A1 (en) * | 2017-03-16 | 2018-09-20 | Microsoft Technology Licensing, Llc | Generating responses in automated chatting |
CN108763567A (zh) * | 2018-06-05 | 2018-11-06 | 北京玄科技有限公司 | 应用于智能机器人交互的知识推理方法及装置 |
CN109086408A (zh) * | 2018-08-02 | 2018-12-25 | 腾讯科技(深圳)有限公司 | 文本生成方法、装置、电子设备及计算机可读介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002169834A (ja) * | 2000-11-20 | 2002-06-14 | Hewlett Packard Co <Hp> | 文書のベクトル解析を行うコンピュータおよび方法 |
US9336192B1 (en) * | 2012-11-28 | 2016-05-10 | Lexalytics, Inc. | Methods for analyzing text |
US10331782B2 (en) * | 2014-11-19 | 2019-06-25 | Lexisnexis, A Division Of Reed Elsevier Inc. | Systems and methods for automatic identification of potential material facts in documents |
US10318883B2 (en) * | 2015-03-26 | 2019-06-11 | International Business Machines Corporation | Identifying optimum times at which to retrain a logistic regression model |
US20160350653A1 (en) * | 2015-06-01 | 2016-12-01 | Salesforce.Com, Inc. | Dynamic Memory Network |
US10664744B2 (en) * | 2015-10-13 | 2020-05-26 | Facebook, Inc. | End-to-end memory networks |
US10332508B1 (en) * | 2016-03-31 | 2019-06-25 | Amazon Technologies, Inc. | Confidence checking for speech processing and query answering |
EP3516566A1 (en) * | 2016-09-22 | 2019-07-31 | nference, inc. | Systems, methods, and computer readable media for visualization of semantic information and inference of temporal signals indicating salient associations between life science entities |
US11294942B2 (en) * | 2016-09-29 | 2022-04-05 | Koninklijk Ephilips N.V. | Question generation |
US10963789B2 (en) * | 2016-11-28 | 2021-03-30 | Conduent Business Services, Llc | Long-term memory networks for knowledge extraction from text and publications |
KR20180077691A (ko) * | 2016-12-29 | 2018-07-09 | 주식회사 엔씨소프트 | 문장 추상화 장치 및 방법 |
US10817650B2 (en) * | 2017-05-19 | 2020-10-27 | Salesforce.Com, Inc. | Natural language processing using context specific word vectors |
US10380259B2 (en) * | 2017-05-22 | 2019-08-13 | International Business Machines Corporation | Deep embedding for natural language content based on semantic dependencies |
CN107273487A (zh) * | 2017-06-13 | 2017-10-20 | 北京百度网讯科技有限公司 | 基于人工智能的聊天数据的生成方法、装置及计算机设备 |
CN110147532B (zh) * | 2019-01-24 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 编码方法、装置、设备及存储介质 |
CN110032633B (zh) * | 2019-04-17 | 2021-03-23 | 腾讯科技(深圳)有限公司 | 多轮对话处理方法、装置和设备 |
CN110263324B (zh) * | 2019-05-16 | 2021-02-12 | 华为技术有限公司 | 文本处理方法、模型训练方法和装置 |
-
2019
- 2019-01-24 CN CN201910069751.1A patent/CN110147532B/zh active Active
-
2020
- 2020-01-21 JP JP2021517331A patent/JP7324838B2/ja active Active
- 2020-01-21 WO PCT/CN2020/073360 patent/WO2020151685A1/zh active Application Filing
-
2021
- 2021-06-23 US US17/356,482 patent/US20210319167A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126596A (zh) * | 2016-06-20 | 2016-11-16 | 中国科学院自动化研究所 | 一种基于层次化记忆网络的问答方法 |
KR20180084580A (ko) * | 2017-01-17 | 2018-07-25 | 경북대학교 산학협력단 | 복수 문단 텍스트의 추상적 요약문 생성 장치 및 방법, 그 방법을 수행하기 위한 기록 매체 |
WO2018165932A1 (en) * | 2017-03-16 | 2018-09-20 | Microsoft Technology Licensing, Llc | Generating responses in automated chatting |
CN108304911A (zh) * | 2018-01-09 | 2018-07-20 | 中国科学院自动化研究所 | 基于记忆神经网络的知识抽取方法以及系统和设备 |
CN108491386A (zh) * | 2018-03-19 | 2018-09-04 | 上海携程国际旅行社有限公司 | 自然语言理解方法及系统 |
CN108536679A (zh) * | 2018-04-13 | 2018-09-14 | 腾讯科技(成都)有限公司 | 命名实体识别方法、装置、设备及计算机可读存储介质 |
CN108763567A (zh) * | 2018-06-05 | 2018-11-06 | 北京玄科技有限公司 | 应用于智能机器人交互的知识推理方法及装置 |
CN109086408A (zh) * | 2018-08-02 | 2018-12-25 | 腾讯科技(深圳)有限公司 | 文本生成方法、装置、电子设备及计算机可读介质 |
Non-Patent Citations (1)
Title |
---|
基于注意力长短时记忆网络的中文词性标注模型;司念文;王衡军;李伟;单义栋;谢鹏程;;计算机科学(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
JP7324838B2 (ja) | 2023-08-10 |
JP2022517463A (ja) | 2022-03-09 |
WO2020151685A1 (zh) | 2020-07-30 |
US20210319167A1 (en) | 2021-10-14 |
CN110147532A (zh) | 2019-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110110145B (zh) | 描述文本生成方法及装置 | |
CN110097019B (zh) | 字符识别方法、装置、计算机设备以及存储介质 | |
CN110147533B (zh) | 编码方法、装置、设备及存储介质 | |
CN110147532B (zh) | 编码方法、装置、设备及存储介质 | |
CN110209784B (zh) | 消息交互方法、计算机设备及存储介质 | |
CN110750992B (zh) | 命名实体识别方法、装置、电子设备及介质 | |
CN110544272B (zh) | 脸部跟踪方法、装置、计算机设备及存储介质 | |
CN111860485B (zh) | 图像识别模型的训练方法、图像的识别方法、装置、设备 | |
CN110162604B (zh) | 语句生成方法、装置、设备及存储介质 | |
CN110263131B (zh) | 回复信息生成方法、装置及存储介质 | |
JP7431977B2 (ja) | 対話モデルの訓練方法、装置、コンピュータ機器及びプログラム | |
CN111324699A (zh) | 语义匹配的方法、装置、电子设备及存储介质 | |
CN111581958A (zh) | 对话状态确定方法、装置、计算机设备及存储介质 | |
CN111738365B (zh) | 图像分类模型训练方法、装置、计算机设备及存储介质 | |
CN113516143A (zh) | 文本图像匹配方法、装置、计算机设备及存储介质 | |
CN113763931B (zh) | 波形特征提取方法、装置、计算机设备及存储介质 | |
CN110990549B (zh) | 获取答案的方法、装置、电子设备及存储介质 | |
CN110232417B (zh) | 图像识别方法、装置、计算机设备及计算机可读存储介质 | |
CN113836946B (zh) | 训练评分模型的方法、装置、终端及存储介质 | |
CN111310701B (zh) | 手势识别方法、装置、设备及存储介质 | |
CN111597823B (zh) | 中心词提取方法、装置、设备及存储介质 | |
CN110096707B (zh) | 生成自然语言的方法、装置、设备及可读存储介质 | |
CN115221888A (zh) | 实体提及的识别方法、装置、设备及存储介质 | |
CN111652432A (zh) | 用户属性信息的确定方法、装置、电子设备及存储介质 | |
CN113052240B (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 |