CN109977404A - 基于深度学习的答案抽取方法、装置和存储介质 - Google Patents
基于深度学习的答案抽取方法、装置和存储介质 Download PDFInfo
- Publication number
- CN109977404A CN109977404A CN201910225135.0A CN201910225135A CN109977404A CN 109977404 A CN109977404 A CN 109977404A CN 201910225135 A CN201910225135 A CN 201910225135A CN 109977404 A CN109977404 A CN 109977404A
- Authority
- CN
- China
- Prior art keywords
- matrix
- document
- determined
- term
- attention
- 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
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
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0281—Customer communication at a business location, e.g. providing product or service information, consulting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Accounting & Taxation (AREA)
- Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于深度学习的答案抽取方法、装置和存储介质,该方法包括:获取用户问题,以及,根据所述用户问题,获取与所述用户问题相关的文档内容;基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。本申请不需要人工提取特征来制定各种匹配规则来提取答案,直接将获取到的用户问题以及与用户问题相关的文档内容输入到深度学习模型便可以从文档内容中得到与用户问题相匹配的最合适的答案,简化了答案提取过程,且提高了答案准确性,从而大大提高了自动客服的效率和质量。
Description
技术领域
本申请涉及自然语言理解技术领域,尤其涉及一种基于深度学习的答案抽取方法、装置和存储介质。
背景技术
目前,许多商家为了减小客服人员的工作量提高办公效率,都会使用“智能客服”来自动回答客户的一些问题,这种“智能客服”大多是一种基于文档的自动问答***。基于文档的自动问答***一般包含三个模块,即问题处理、篇章检索和答案处理这三个模块。其工作流程为,用户以自然语言提出问题,问题处理模块对问题进行处理;然后***中的篇章检索模块根据处理后的问题从海量文档集中检索到包含答案的相关文档;最后,答案处理模块通过一些答案抽取技术从相关文档中提取出包含答案的文档块,并返回给用户。
相关技术中,这种自动问答***在答案处理模块中,针对不同类型的问题,往往有不同的答案抽取方法。比如,对于简单事实型问题,可以基于词袋模型简单匹配答案,即在文档句段中抽取和预期答案类型相一致的命名实体作为候选答案;也可以基于表层模式匹配答案,其基本思想是问题的答案和问句关键词之间总有某些特定的表层关系,因此,算法不使用太多深层的语言处理,而是从文档句段中抽取出满足表层规则模式的候选答案。这种答案提取方法需要人工提取特征来制定各种匹配规则来提取答案,使得答案提取过程繁琐,且提取到的答案准确性降低,影响自动客服的效率和质量。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种基于深度学习的答案抽取方法、装置和存储介质。
根据本申请实施例的第一方面,提供一种基于深度学习的答案抽取方法,包括:
获取用户问题,以及,根据所述用户问题获取与所述用户问题相关的文档内容;
基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;
将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。
可选的,所述基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置,包括:
根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,分别对所述待处理的用户问题和所述待处理的文档内容进行分词,并对各个词进行词向量转换,得到第一问题矩阵和第一文档矩阵;
对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,以及,对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵;
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵;
基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵;
基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置。
可选的,所述根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,包括:
对所有所述文档内容进行拼接,得到待处理的文档内容;和/或,
对所述用户问题重复多次,并对重复的用户问题进行拼接,得到待处理的用户问题,其中,所述用户问题重复的次数为所述文档内容的总个数。
可选的,所述对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,包括:
确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,得到处理后的第一文档矩阵。
可选的,所述词共现特征包括:第一词共现特征和/或第二词共现特征,所述确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,包括:
对应所述待处理的文档内容中的每个词,如果所述词与待处理的用户问题中的至少一个词相同,则确定所述待处理的文档内容中所述词对应的第一词共现特征为第一值,否则,确定第一词共现特征为第二值,其中,所述第一值和所述第二值均为固定值,分别用于表示文档内容中的词在所述用户问题中出现或不出现,以及,将所述第一词共现特征拼接到所述第一文档矩阵中所述词所对应的词向量的尾部;和/或,
分别计算所述第一文档矩阵中的各个词向量与所述第一问题矩阵中的各个词向量之间的相似度数值,以及,对应所述第一文档矩阵中的每个词向量,对所述相似度数值进行归一化,将归一化后的相似度数值作为第二词共现特征,拼接到所述第一文档矩阵中的相应词向量的尾部。
可选的,所述对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵,包括:
以所述处理后的第一文档矩阵作为预设的第一GRU网络的输入,采用所述第一GRU网络对所述处理后的第一文档矩阵进行处理,将所述第一GRU网络的输出层输出确定为第二文档矩阵;以及,
根据所述第一问题矩阵确定输入问题矩阵,将所述输入问题矩阵作为预设的第二GRU网络的输入,采用所述第二GRU网络对所述输入问题矩阵进行处理,将所述第二GRU网络的输出层输出确定为第二问题矩阵。
可选的,所述根据所述第一问题矩阵确定输入问题矩阵,包括:
如果所述第一GRU网络与所述第二GRU网络不同,则将所述第一问题矩阵确定为输入问题矩阵;或者,
如果所述第一GRU网络与所述第二GRU网络相同,则对应所述第一问题矩阵中的每个词向量,在每个词向量的尾部拼接预设特征,得到拼接后的问题矩阵,并对所述拼接后的问题矩阵确定为输入问题矩阵,其中,所述预设特征的个数与所述词共现特征的个数相同。
可选的,所述基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵,包括:
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息;
以所述交互矩阵作为预设的第三GRU网络的输入,采用所述第三GRU网络对所述交互矩阵进行处理,将所述第三GRU网络的输出层输出确定为第三文档矩阵。
可选的,所述基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息,包括:
根据所述第二文档矩阵和所述第二问题矩阵,计算得到文档与问题的词对相似度矩阵,并根据所述词对相似度矩阵确定第一归一化矩阵和第二归一化矩阵;
基于注意力机制,分别采用所述第一归一化矩阵和所述第二问题矩阵进行加权运算,以及,采用所述第一归一化矩阵、所述第二归一化矩阵和所述第二文档矩阵进行加权运算,分别计算得到第一交互注意力矩阵和第二交互注意力矩阵;
对所述第二文档矩阵、所述第一交互注意力矩阵、所述第二文档矩阵与所述第一交互注意力矩阵的点乘矩阵、所述第二文档矩阵与所述第二交互注意力矩阵的点乘矩阵进行依次拼接,将拼接后的矩阵确定为交互矩阵。
可选的,所述基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵,包括:
基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵;
以所述自匹配矩阵作为预设的双向循环神经网络的输入,采用所述双向循环神经网络对所述自匹配矩阵进行处理,将所述双向循环神经网络的隐藏层输出确定为第四文档矩阵。
可选的,所述基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵,包括:
根据所述第三文档矩阵,计算得到文档与文档的自匹配相似度矩阵,并根据所述自匹配相似度矩阵确定自匹配加权矩阵;
基于注意力机制,采用所述自匹配加权矩阵对所述第三文档矩阵进行加权运算,计算得到自匹配注意力矩阵;
对所述第三文档矩阵和所述自匹配注意力矩阵进行拼接,得到拼接后的矩阵,并根据拼接后的矩阵确定自匹配矩阵。
可选的,所述根据拼接后的矩阵确定自匹配矩阵,包括:
将所述拼接后的矩阵确定为自匹配矩阵;或者,
基于门控制机制,对所述拼接后的矩阵进行加权处理,将加权处理后的矩阵确定为自匹配矩阵。
可选的,所述基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置,包括:
对所述第二问题矩阵进行还原处理,得到还原后的问题矩阵;
对应每个文档内容,根据所述第四文档矩阵和所述还原后的问题矩阵,计算得到注意力矩阵,所述注意力矩阵用于表征问题词向量对文档词向量的语义表示,所述注意力矩阵包括第一时刻的注意力矩阵和第二时刻的注意力矩阵;
对应每个文档内容,根据所述注意力矩阵计算各个文档词对应的概率值,并将第一时刻的最大概率值所对应的文档词确定为相应文档内容的抽取起始位置,以及,将第二时刻的最大概率值所对应的文档词确定为相应文档内容的抽取结束位置;
根据不同的文档内容所对应的抽取起始位置和抽取结束位置所对应的概率值之积,确定出待选择的文档内容,并将所述待选择的文档内容所对应的抽取起始位置和抽取结束位置,确定为最终采用的抽取起始位置和抽取结束位置。
根据本申请实施例的第二方面,提供一种基于深度学习的答案抽取装置,包括:
获取模块,用于获取用户问题,以及,根据所述用户问题获取与所述用户问题相关的文档内容;
处理模块,用于基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;
显示模块,用于将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。
可选的,所述处理模块包括:
第一处理单元,用于根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,分别对所述待处理的用户问题和所述待处理的文档内容进行分词,并对各个词进行词向量转换,得到第一问题矩阵和第一文档矩阵;
第二处理单元,用于对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,以及,对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵;
第三处理单元,用于基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵;
第四处理单元,用于基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵;
第五处理单元,用于基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置。
可选的,所述第一处理单元具体用于:
对所有所述文档内容进行拼接,得到待处理的文档内容;和/或,
对所述用户问题重复多次,并对重复的用户问题进行拼接,得到待处理的用户问题,其中,所述用户问题重复的次数为所述文档内容的总个数。
可选的,所述第二处理单元具体用于:
确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,得到处理后的第一文档矩阵。
可选的,所述词共现特征包括:第一词共现特征和/或第二词共现特征,所述第二处理单元具体用于:
对应所述待处理的文档内容中的每个词,如果所述词与待处理的用户问题中的至少一个词相同,则确定所述待处理的文档内容中所述词对应的第一词共现特征为第一值,否则,确定第一词共现特征为第二值,其中,所述第一值和所述第二值均为固定值,分别用于表示文档内容中的词在所述用户问题中出现或不出现,以及,将所述第一词共现特征拼接到所述第一文档矩阵中所述词所对应的词向量的尾部;和/或,
分别计算所述第一文档矩阵中的各个词向量与所述第一问题矩阵中的各个词向量之间的相似度数值,以及,对应所述第一文档矩阵中的每个词向量,对所述相似度数值进行归一化,将归一化后的相似度数值作为第二词共现特征,拼接到所述第一文档矩阵中的相应词向量的尾部。
可选的,所述第二处理单元具体用于:
以所述处理后的第一文档矩阵作为预设的第一GRU网络的输入,采用所述第一GRU网络对所述处理后的第一文档矩阵进行处理,将所述第一GRU网络的输出层输出确定为第二文档矩阵;以及,
根据所述第一问题矩阵确定输入问题矩阵,将所述输入问题矩阵作为预设的第二GRU网络的输入,采用所述第二GRU网络对所述输入问题矩阵进行处理,将所述第二GRU网络的输出层输出确定为第二问题矩阵。
可选的,所述第二处理单元具体用于:
如果所述第一GRU网络与所述第二GRU网络不同,则将所述第一问题矩阵确定为输入问题矩阵;或者,
如果所述第一GRU网络与所述第二GRU网络相同,则对应所述第一问题矩阵中的每个词向量,在每个词向量的尾部拼接预设特征,得到拼接后的问题矩阵,并对所述拼接后的问题矩阵确定为输入问题矩阵,其中,所述预设特征的个数与所述词共现特征的个数相同。
可选的,所述第三处理单元具体用于:
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息;
以所述交互矩阵作为预设的第三GRU网络的输入,采用所述第三GRU网络对所述交互矩阵进行处理,将所述第三GRU网络的输出层输出确定为第三文档矩阵。
可选的,所述第三处理单元具体用于:
根据所述第二文档矩阵和所述第二问题矩阵,计算得到文档与问题的词对相似度矩阵,并根据所述词对相似度矩阵确定第一归一化矩阵和第二归一化矩阵;
基于注意力机制,分别采用所述第一归一化矩阵和所述第二问题矩阵进行加权运算,以及,采用所述第一归一化矩阵、所述第二归一化矩阵和所述第二文档矩阵进行加权运算,分别计算得到第一交互注意力矩阵和第二交互注意力矩阵;
对所述第二文档矩阵、所述第一交互注意力矩阵、所述第二文档矩阵与所述第一交互注意力矩阵的点乘矩阵、所述第二文档矩阵与所述第二交互注意力矩阵的点乘矩阵进行依次拼接,将拼接后的矩阵确定为交互矩阵。
可选的,所述第四处理单元具体用于:
基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵;
以所述自匹配矩阵作为预设的双向循环神经网络的输入,采用所述双向循环神经网络对所述自匹配矩阵进行处理,将所述双向循环神经网络的隐藏层输出确定为第四文档矩阵。
可选的,所述第四处理单元具体用于:
根据所述第三文档矩阵,计算得到文档与文档的自匹配相似度矩阵,并根据所述自匹配相似度矩阵确定自匹配加权矩阵;
基于注意力机制,采用所述自匹配加权矩阵对所述第三文档矩阵进行加权运算,计算得到自匹配注意力矩阵;
对所述第三文档矩阵和所述自匹配注意力矩阵进行拼接,得到拼接后的矩阵,并根据拼接后的矩阵确定自匹配矩阵。
可选的,所述第四处理单元具体用于:
将所述拼接后的矩阵确定为自匹配矩阵;或者,
基于门控制机制,对所述拼接后的矩阵进行加权处理,将加权处理后的矩阵确定为自匹配矩阵。
可选的,所述第五处理单元具体用于:
对所述第二问题矩阵进行还原处理,得到还原后的问题矩阵;
对应每个文档内容,根据所述第四文档矩阵和所述还原后的问题矩阵,计算得到注意力矩阵,所述注意力矩阵用于表征问题词向量对文档词向量的语义表示,所述注意力矩阵包括第一时刻的注意力矩阵和第二时刻的注意力矩阵;
对应每个文档内容,根据所述注意力矩阵计算各个文档词对应的概率值,并将第一时刻的最大概率值所对应的文档词确定为相应文档内容的抽取起始位置,以及,将第二时刻的最大概率值所对应的文档词确定为相应文档内容的抽取结束位置;
根据不同的文档内容所对应的抽取起始位置和抽取结束位置所对应的概率值之积,确定出待选择的文档内容,并将所述待选择的文档内容所对应的抽取起始位置和抽取结束位置,确定为最终采用的抽取起始位置和抽取结束位置。
根据本申请实施例的第三方面,提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现基于深度学习的答案抽取方法中各个步骤。所述方法包括:
获取用户问题,以及,根据所述用户问题获取与所述用户问题相关的文档内容;
基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;
将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。
可选的,所述基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置,包括:
根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,分别对所述待处理的用户问题和所述待处理的文档内容进行分词,并对各个词进行词向量转换,得到第一问题矩阵和第一文档矩阵;
对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,以及,对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵;
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵;
基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵;
基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置。
可选的,所述根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,包括:
对所有所述文档内容进行拼接,得到待处理的文档内容;和/或,
对所述用户问题重复多次,并对重复的用户问题进行拼接,得到待处理的用户问题,其中,所述用户问题重复的次数为所述文档内容的总个数。
可选的,所述对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,包括:
确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,得到处理后的第一文档矩阵。
可选的,所述词共现特征包括:第一词共现特征和/或第二词共现特征,所述确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,包括:
对应所述待处理的文档内容中的每个词,如果所述词与待处理的用户问题中的至少一个词相同,则确定所述待处理的文档内容中所述词对应的第一词共现特征为第一值,否则,确定第一词共现特征为第二值,其中,所述第一值和所述第二值均为固定值,分别用于表示文档内容中的词在所述用户问题中出现或不出现,以及,将所述第一词共现特征拼接到所述第一文档矩阵中所述词所对应的词向量的尾部;和/或,
分别计算所述第一文档矩阵中的各个词向量与所述第一问题矩阵中的各个词向量之间的相似度数值,以及,对应所述第一文档矩阵中的每个词向量,对所述相似度数值进行归一化,将归一化后的相似度数值作为第二词共现特征,拼接到所述第一文档矩阵中的相应词向量的尾部。
可选的,所述对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵,包括:
以所述处理后的第一文档矩阵作为预设的第一GRU网络的输入,采用所述第一GRU网络对所述处理后的第一文档矩阵进行处理,将所述第一GRU网络的输出层输出确定为第二文档矩阵;以及,
根据所述第一问题矩阵确定输入问题矩阵,将所述输入问题矩阵作为预设的第二GRU网络的输入,采用所述第二GRU网络对所述输入问题矩阵进行处理,将所述第二GRU网络的输出层输出确定为第二问题矩阵。
可选的,所述根据所述第一问题矩阵确定输入问题矩阵,包括:
如果所述第一GRU网络与所述第二GRU网络不同,则将所述第一问题矩阵确定为输入问题矩阵;或者,
如果所述第一GRU网络与所述第二GRU网络相同,则对应所述第一问题矩阵中的每个词向量,在每个词向量的尾部拼接预设特征,得到拼接后的问题矩阵,并对所述拼接后的问题矩阵确定为输入问题矩阵,其中,所述预设特征的个数与所述词共现特征的个数相同。
可选的,所述基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵,包括:
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息;
以所述交互矩阵作为预设的第三GRU网络的输入,采用所述第三GRU网络对所述交互矩阵进行处理,将所述第三GRU网络的输出层输出确定为第三文档矩阵。
可选的,所述基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息,包括:
根据所述第二文档矩阵和所述第二问题矩阵,计算得到文档与问题的词对相似度矩阵,并根据所述词对相似度矩阵确定第一归一化矩阵和第二归一化矩阵;
基于注意力机制,分别采用所述第一归一化矩阵和所述第二问题矩阵进行加权运算,以及,采用所述第一归一化矩阵、所述第二归一化矩阵和所述第二文档矩阵进行加权运算,分别计算得到第一交互注意力矩阵和第二交互注意力矩阵;
对所述第二文档矩阵、所述第一交互注意力矩阵、所述第二文档矩阵与所述第一交互注意力矩阵的点乘矩阵、所述第二文档矩阵与所述第二交互注意力矩阵的点乘矩阵进行依次拼接,将拼接后的矩阵确定为交互矩阵。
可选的,所述基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵,包括:
基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵;
以所述自匹配矩阵作为预设的双向循环神经网络的输入,采用所述双向循环神经网络对所述自匹配矩阵进行处理,将所述双向循环神经网络的隐藏层输出确定为第四文档矩阵。
可选的,所述基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵,包括:
根据所述第三文档矩阵,计算得到文档与文档的自匹配相似度矩阵,并根据所述自匹配相似度矩阵确定自匹配加权矩阵;
基于注意力机制,采用所述自匹配加权矩阵对所述第三文档矩阵进行加权运算,计算得到自匹配注意力矩阵;
对所述第三文档矩阵和所述自匹配注意力矩阵进行拼接,得到拼接后的矩阵,并根据拼接后的矩阵确定自匹配矩阵。
可选的,所述根据拼接后的矩阵确定自匹配矩阵,包括:
将所述拼接后的矩阵确定为自匹配矩阵;或者,
基于门控制机制,对所述拼接后的矩阵进行加权处理,将加权处理后的矩阵确定为自匹配矩阵。
可选的,所述基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置,包括:
对所述第二问题矩阵进行还原处理,得到还原后的问题矩阵;
对应每个文档内容,根据所述第四文档矩阵和所述还原后的问题矩阵,计算得到注意力矩阵,所述注意力矩阵用于表征问题词向量对文档词向量的语义表示,所述注意力矩阵包括第一时刻的注意力矩阵和第二时刻的注意力矩阵;
对应每个文档内容,根据所述注意力矩阵计算各个文档词对应的概率值,并将第一时刻的最大概率值所对应的文档词确定为相应文档内容的抽取起始位置,以及,将第二时刻的最大概率值所对应的文档词确定为相应文档内容的抽取结束位置;
根据不同的文档内容所对应的抽取起始位置和抽取结束位置所对应的概率值之积,确定出待选择的文档内容,并将所述待选择的文档内容所对应的抽取起始位置和抽取结束位置,确定为最终采用的抽取起始位置和抽取结束位置。
本申请的实施例提供的技术方案可以包括以下有益效果:
首先获取用户问题,以及,根据所述用户问题,获取与所述用户问题相关的文档内容;然后基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。采用这种答案抽取方法不需要人工提取特征来制定各种匹配规则来提取答案,直接将获取到的用户问题以及与用户问题相关的文档内容输入到深度学习模型便可以从文档内容中得到与用户问题相匹配的最合适的答案,简化了答案提取过程,且提高了答案准确性,从而大大提高了自动客服的效率和质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种基于深度学习的答案抽取方法的流程示意图。
图2是根据一示例性实施例示出的一种基于深度学习模型在文档内容中确定抽取起始位置和抽取结束位置的方法的流程示意图。
图3是根据另一示例性实施例示出的一种深度学习网络模型的结构示意图。
图4是根据另一示例性实施例示出的一种基于深度学习的答案抽取装置的结构示意图。
图5是根据另一示例性实施例示出的一种基于深度学习的答案抽取装置中处理模块的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和装置的例子。
图1是根据一示例性实施例示出的一种基于深度学习的答案抽取方法。
如图1所示,本实施例提供的方法包括以下步骤:
步骤S11,获取用户问题,以及,根据所述用户问题获取与所述用户问题相关的文档内容;
例如,客服机器人可以接收用户输入的用户问题,用户可以以自然语言输入,输入形式可以是文本,语音等。比如,用户问题是“股票可以当天买卖吗?”。
在获取到用户问题后,客服机器人可以采用相关技术获取到相关的文档内容,比如,相关的文档内容是包含该用户问题的文档内容。具体的获取与用户问题相关的文档内容可以采用已知技术实现,在此不再详述。基于上述的用户问题,一个相关的文档内容比如是“T+0交易是深交所1993年底推出的一种交易办法,意思是,投资者买(卖)股票(或期货)当天确认成交后,当天买入股票可以当天卖出,当天卖出股票又可当天买入的一种交易。1995年1月1日起,为了保证股票市场的稳定,防止过度危机,中国实行“T+1”交易制度,即当日买进的股票,必须要到下一个交易日才能卖出。同时,对资金仍然实行“T+0”,即当日回笼的资金马上可以使用。B股股票使用T+1,资金适用T+3。”。
步骤S12,基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;
该步骤的进一步内容可以参见后续相关描述。
步骤S13,将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。
比如,基于深度学习模型,确定抽取起始位置和抽取结束位置分别是“1995”和“卖出”,则将“1995年1月1日起,为了保证股票市场的稳定,防止过度危机,中国实行“T+1”交易制度,即当日买进的股票,必须要到下一个交易日才能卖出。”确定为用户问题“股票可以当天买卖吗?”所对应的答案。之后可以展示该答案。展示方式可以是文本或语音等形式。
本实施例中,首先获取用户问题,以及,根据所述用户问题,获取与所述用户问题相关的文档内容;然后基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。采用这种答案抽取方法不需要人工提取特征来制定各种匹配规则来提取答案,直接将获取到的用户问题以及与用户问题相关的文档内容输入到深度学习模型便可以从文档内容中得到与用户问题相匹配的最合适的答案,简化了答案提取过程,且提高了答案准确性,从而大大提高了自动客服的效率和质量。
进一步的,参见图2,所述基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置,包括以下步骤:
步骤S21,根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,分别对所述待处理的用户问题和所述待处理的文档内容进行分词,并对各个词进行词向量转换,得到第一问题矩阵和第一文档矩阵;
结合图3所示的深度学习网络模型的结构示意图,在S31中可以对应文档内容和用户问题得到第一问题矩阵和第一文档矩阵,图3中用词向量表示。
步骤S22,对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,以及,对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵;
如图3所示,在S32中对第一问题矩阵和第一文档矩阵分别进行自编码后可以得到第二文档矩阵和第二问题矩阵。
步骤S23,基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵;
如图3所示,在S33中进行基于注意力的混合交互处理后,得到第三文档矩阵。
步骤S24,基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵;
如图3所示,在S34中进行自注意力处理,以得到第四文档矩阵。
步骤S25,基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置。
如图3所示,在S35中进行预测,以得到最终展示的答案。
在步骤S21中,根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,包括:
对所有所述文档内容进行拼接,得到待处理的文档内容;和/或,
对所述用户问题重复多次,并对重复的用户问题进行拼接,得到待处理的用户问题,其中,所述用户问题重复的次数为所述文档内容的总个数。
具体的,待处理的文档内容是若干个与用户提问的问题相关的文档的内容拼接而成的,比如,根据用户提问的问题中的关键词,在网络上的海量文档中检索出与提问的问题最相近的k篇文档,将k篇文档的的所有内容拼接在一起,形成要传入深度学习模型的文档内容;相应的,待处理的用户问题也是由k个用户提问的单个问题拼接而成的。
得到待处理的文档内容和待处理的用户问题后,分别对用户问题和文档内容进行分词,并对各个分词进行词向量转换,词向量转换是由预先训练的词向量模型完成的,将待处理的用户问题(记为q)和待处理的文档内容(记为c)传入预先训练的词向量模型,词向量模型将用户问题和文档内容中的每个词映射为一个300维的全实数向量,即词向量(或称为参数矩阵),从而得到第一问题矩阵(记为q_emb)和第一文档矩阵(记为c_emb);其中词向量模型用于表示词到词向量的映射。
在步骤S22中,对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,包括:
确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,得到处理后的第一文档矩阵。
进一步的,所述词共现特征包括:第一词共现特征和/或第二词共现特征,所述确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,包括:
对应所述待处理的文档内容中的每个词,如果所述词与待处理的用户问题中的至少一个词相同,则确定所述待处理的文档内容中所述词对应的第一词共现特征为第一值,否则,确定第一词共现特征为第二值,其中,所述第一值和所述第二值均为固定值,分别用于表示文档内容中的词在所述用户问题中出现或不出现,以及,将所述第一词共现特征拼接到所述第一文档矩阵中所述词所对应的词向量的尾部;和/或,
分别计算所述第一文档矩阵中的各个词向量与所述第一问题矩阵中的各个词向量之间的相似度数值,以及,对应所述第一文档矩阵中的每个词向量,对所述相似度数值进行归一化,将归一化后的相似度数值作为第二词共现特征,拼接到所述第一文档矩阵中的相应词向量的尾部。
具体的,为了让待处理的文档内容中能包含一些用户问题的信息,需要在第一文档矩阵中的每一个词向量中加入两种词共现特征,对应于人们正常阅读时的思维,如果用户问题中的词在文档内容中的某个位置出现了,那么该位置附近的内容很有可能就是答案。以添加两个词共现特征为例,在第一文档矩阵中的每个词向量中加入第一词共现特征和第二词共现特征,第一词共现特征用来表示文档内容中的词是否在用户问题中出现过,第二词共现特征用来表示文档内容中的词与用户问题中的词的相似度。
可以理解的是,上述第一值可以是1,第二值可以是0。
在具体实施时,对应第一文档矩阵中的每一个词向量,如果每一个词向量对应于待处理的文档内容中的词与第一问题矩阵中的至少一个词向量对应的词相同,则确定第一词共现特征(记为wiqb)为第一值,即为1;否则,确定第一词共现特征为第二值,即为0。即,判断待处理的文档内容中的单词是否在待处理的用户问题中出现过,如果出现过,第一词共现特征为1,否则为0,将确定的第一词共现特征拼接到第一文档矩阵中相应的词向量尾部。
需要说明的是,计算第一词共现特征的公式为:该公式的含义为:如果待处理的文档内容中的第j个单词与待处理的用户问题中的第i个单词相同,则文档中的第j个单词对应的第一词共现特征就为1,否则为0。
然后,分别计算第一文档矩阵中的各个词向量与第一问题矩阵中的各个词向量之间的相似度数值,将计算得到的相似度数值进行归一化,将归一化后的值确定为第二词共现特征。
需要说明的是,第二词共现特征的取值范围是[0,1];第二词共现特征的计算公式如下:
simi,j=vwiq(xj⊙qi),vwiq∈Rn
其中,vwiq是预先训练得到的参数矩阵,xj表示文档词向量中的第j个词向量,qi表示问题词向量中的第i个词向量,simi,j表示文档内容中的第j个单词与用户问题中第i个单词的相似度分数,表示对simi,j进行softmax归一化,表示文档中的第j个单词的第二词共现特征。
在确定了第一文档矩阵中的每个词向量对应的第一词共现特征和第二词共现特征后,将第一词共现特征和第二词共现特征拼接到第一文档矩阵中相应词向量的尾部,得到处理后的第一文档矩阵;比如,每个词向量维度是300,拼接前文档词向量的维度是[batch_size,seq_len,300],那么将文档词向量中的每个词向量后边拼接两种词共现特征后文档词向量的维度就变成了[batch_size,seq_len,302]。
通过上述过程得到的处理后的第一文档矩阵便包含了问题信息。
需要说明的是,将文档内容和用户问题映射成文档词向量和问题词向量后,还需要对文档词向量和问题词向量进行批量处理。上述batch_size表示把得到的文档词向量按批处理后每一批的个数;seq_len表示文档词向量长度。
需要说明的是,上述第一词共现特征和第二词共现特征均表示段落长度,如果第一文档矩阵中的某个词向量与第一文档矩阵中至少一个词向量相同,那么,第一文档矩阵中相应词向量尾部增加的第一词共现特征(值为1),即相应词向量对应增加的维度上的数值为1,否则,该词向量对应增加的维度上的数值为0;同样的,如果第一文档矩阵中的某个词向量与第一问题矩阵中的某个词向量的相似度值为0.6,那么第一文档矩阵中的相应词向量尾部增加的第二词共现特征为0.6,即,该词向量尾部对应增加的维度上的数值为0.6。
进一步的,所述对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵,包括:
以所述处理后的第一文档矩阵作为预设的第一GRU网络的输入,采用所述第一GRU网络对所述处理后的第一文档矩阵进行处理,将所述第一GRU网络的输出层输出确定为第二文档矩阵;以及,
根据所述第一问题矩阵确定输入问题矩阵,将所述输入问题矩阵作为预设的第二GRU网络的输入,采用所述第二GRU网络对所述输入问题矩阵进行处理,将所述第二GRU网络的输出层输出确定为第二问题矩阵。
进一步的,所述根据所述第一问题矩阵确定输入问题矩阵,包括:
如果所述第一GRU网络与所述第二GRU网络不同,则将所述第一问题矩阵确定为输入问题矩阵;或者,
如果所述第一GRU网络与所述第二GRU网络相同,则对应所述第一问题矩阵中的每个词向量,在每个词向量的尾部拼接预设特征,得到拼接后的问题矩阵,并对所述拼接后的问题矩阵确定为输入问题矩阵,其中,所述预设特征的个数与所述词共现特征的个数相同。
具体的,由于处理后的第一文档矩阵是加入词共现特征之后的,其与第一问题矩阵的维度不同,要想对维度不同的矩阵进行编码处理,需要不同的编码器,要想对处理后的第一文档矩阵和第一问题矩阵使用同一个编码器进行编码,则需要将第一问题矩阵中的每一个词向量的尾部拼接两个预设特征,得到处理后的第一问题矩阵。如此,得到的处理后的第一问题矩阵的维度和处理后的第一文档矩阵的维度相同。两个预设特征均可以但不限于为1,即,在第一问题矩阵中的每个词向量尾部增加的两个维度上的数值均为1。
其中,一个实施例中,编码器为门控循环单元(Gated Recurrent Unit,GRU),将处理后的第一文档矩阵和处理后的第一问题矩阵经过预设数量层GUR网络进行编码,得到第二文档矩阵(记为C)和第二问题矩阵(记为Q)。此时得到的第二文档矩阵中便包含了用户问题的信息了。
需要说明的是,上述预设数目可以但不限于是2,或者,3,或者4。
步骤S22相当于“带着问题第一次阅读”,通过GRU编码来理解问题和文档。
在步骤S23中,基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵;包括:
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息;
以所述交互矩阵作为预设的第三GRU网络的输入,采用所述第三GRU网络对所述交互矩阵进行处理,将所述第三GRU网络的输出层输出确定为第三文档矩阵。
进一步的,所述基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息,包括:
根据所述第二文档矩阵和所述第二问题矩阵,计算得到文档与问题的词对相似度矩阵,并根据所述词对相似度矩阵确定第一归一化矩阵和第二归一化矩阵;
基于注意力机制,分别采用所述第一归一化矩阵和所述第二问题矩阵进行加权运算,以及,采用所述第一归一化矩阵、所述第二归一化矩阵和所述第二文档矩阵进行加权运算,分别计算得到第一交互注意力矩阵和第二交互注意力矩阵;
对所述第二文档矩阵、所述第一交互注意力矩阵、所述第二文档矩阵与所述第一交互注意力矩阵的点乘矩阵、所述第二文档矩阵与所述第二交互注意力矩阵的点乘矩阵进行依次拼接,将拼接后的矩阵确定为交互矩阵。
具体的,采用三线性函数,根据第二文档矩阵和第二问题矩阵计算得到文档-问题单词对的相似度矩阵。其公式为f(q,c)=W0[q,c,q⊙c];其中,W0是权重矩阵,q是步骤S22中得到的第二问题矩阵中对应每个词的词向量表示,c是步骤S22中得到的第二文档矩阵中对应每个词的词向量表示,f(q,c)表示文档-问题单词对的相似度矩阵。
一个实施例中,权重矩阵W0是随机初始化得到的。
然后对文档-问题单词对的相似度矩阵的行和列分别做归一化得到行归一化矩阵(用表示)和列归一化矩阵(用表示)。
其中,行归一化矩阵为第一归一化矩阵,列归一化矩阵为第二归一化矩阵。
根据所述行归一化矩阵和第二问题矩阵的转置矩阵,计算得到文档-问题的注意力矩阵;其计算公式为:其中,QT表示第二问题矩阵的转置矩阵,A表示文档-问题的注意力矩阵;
根据行归一化矩阵、列归一化矩阵和第二文档矩阵的转置矩阵,计算得到问题-文档的注意力矩阵;其计算公式为其中,CT表示第二文档矩阵的转置矩阵,表示列归一化矩阵的转置矩阵,B表示文档-问题的注意力矩阵;
然后,将第二文档矩阵C、文档-问题的注意力矩阵A、第二文档矩阵C与文档-问题的注意力矩阵A进行点乘后得到的矩阵,以及,第二文档矩阵C与问题-文档的注意力矩阵B进行点乘后得到的矩阵,依次拼接,得到拼接后的矩阵,即将拼接后的矩阵经过一层GRU网络编码,便得到了第三文档矩阵,该第三文档矩阵融合了问题和文档的比对信息。
需要说明的是,文档矩阵C的维度是[batch_size,段落长度,hidden],问题矩阵的维度是[batch_size,问题长度,hidden],矩阵拼接时依次在前一个矩阵的最后一个维度上拼接,拼接后的矩阵的维度为[batch_size,段落长度,hidden*4]。其中,hidden表示编码后隐层神经元个数。
步骤S23相当于“带着问题读文档”和“带着文档读问题”。将上一步骤得到的第二文档矩阵C和第二问题矩阵Q进行“比对”,即,通过注意力机制,对文档内容中的每个词计算其关于用户问题中每个词的注意力分布,也就是用问题词向量来衡量文档词向量;对用户问题中的每个词计算其关于文档内容中每个词的注意力分布,也就是用文档词向量来衡量问题词向量。如此,建立用户问题和文档相关内容部分的连接,以在文档内容中定位对回答用户问题真正有用的部分。
在步骤S24中,基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵;包括:
基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵;
以所述自匹配矩阵作为预设的双向循环神经网络的输入,采用所述双向循环神经网络对所述自匹配矩阵进行处理,将所述双向循环神经网络的隐藏层输出确定为第四文档矩阵。
进一步的,所述基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵,包括:
根据所述第三文档矩阵,计算得到文档与文档的自匹配相似度矩阵,并根据所述自匹配相似度矩阵确定自匹配加权矩阵;
基于注意力机制,采用所述自匹配加权矩阵对所述第三文档矩阵进行加权运算,计算得到自匹配注意力矩阵;
对所述第三文档矩阵和所述自匹配注意力矩阵进行拼接,得到拼接后的矩阵,并根据拼接后的矩阵确定自匹配矩阵。
具体的,根据第三文档矩阵和预先训练得到的参数矩阵,计算得到文档与文档本身的自匹配相似度矩阵;其公式为:
其中,vT、和均为随机初始化得到的参数矩阵,vP表示步骤S23中得到的融合了问题和文档的比对信息的第三文档矩阵的向量表示,j表示单词索引。
对所述文档与文档本身的自匹配相似度矩阵进行归一化,得到归一化后的矩阵;其公式为:其中,表示归一化后的矩阵。
根据第三文档矩阵的向量表示和归一化后的矩阵,计算得到文档中每个单词对应整篇文档的自匹配注意力矩阵;其公式为:其含义为:对权重和与权重相对应的第三文档矩阵中的词向量求加权和,得到自匹配注意力矩阵ct,其表示文档中每个单词对应整篇文档的语义向量。将第三文档矩阵和自匹配注意力矩阵进行拼接,得到拼接后的矩阵
进一步的,所述根据拼接后的矩阵确定自匹配矩阵,包括:
将所述拼接后的矩阵确定为自匹配矩阵;或者,
基于门控制机制,对所述拼接后的矩阵进行加权处理,将加权处理后的矩阵确定为自匹配矩阵。
具体的,可以将得到的拼接后的矩阵直接确定为自匹配矩阵;或者,为了控制文档内容中不同部分的重要性,可以额外引入门(gate)控制机制,以自适应的控制不同部分的重要性。即,首先根据sigmoid函数和文档中每个单词对应自匹配注意力矩阵ct以及第三文档矩阵计算得到权重矩阵(记为gt),来控制文档不同部分的重要性,然后,将gt与得到的拼接后的矩阵进行点积计算得到新的矩阵,将得到的新的矩阵确定为自匹配矩阵;其公式为:
其中,Wg表示随机初始化得到的参数矩阵,表示得到的拼接后的矩阵,表示经过门控制机制处理后的自匹配矩阵。
得到自匹配矩阵后,以自匹配矩阵作为输入量输入带双向循环神经网络(Bi-directional Recurrent Neural Network,BiRNN)中,得到BiRNN的隐层节点的输出值,将所述输出值确定为第四文档矩阵。其表示为:
其中,是t时刻BiRNN隐层节点的输出。
步骤S24中,相当于针对问题对文档的理解和文档对问题的理解,再看一遍文档,做“第三次阅读”。使用文档内容本身的语境来调节文档内容本身的词表示,以得到更多文档内容的上下文信息,相当于对同一文档内容中相距较远的词也做了比较,能够将当前词与文档中其余部分中具有相似含义的其它词区分开。
在步骤S25中,基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置,包括:
对所述第二问题矩阵进行还原处理,得到还原后的问题矩阵;
对应每个文档内容,根据所述第四文档矩阵和所述还原后的问题矩阵,计算得到注意力矩阵,所述注意力矩阵用于表征问题词向量对文档词向量的语义表示,所述注意力矩阵包括第一时刻的注意力矩阵和第二时刻的注意力矩阵;
对应每个文档内容,根据所述注意力矩阵计算各个文档词对应的概率值,并将第一时刻的最大概率值所对应的文档词确定为相应文档内容的抽取起始位置,以及,将第二时刻的最大概率值所对应的文档词确定为相应文档内容的抽取结束位置;
根据不同的文档内容所对应的抽取起始位置和抽取结束位置所对应的概率值之积,确定出待选择的文档内容,并将所述待选择的文档内容所对应的抽取起始位置和抽取结束位置,确定为最终采用的抽取起始位置和抽取结束位置。
具体的,由于用户问题是由最初用户提问的若干个单个问题拼接而成的,这里,首先将用户问题还原成单个问题,即,将步骤S22中得到的编码后的第二问题矩阵还原成单个问题矩阵,然后对步骤S24中得到的第四文档矩阵,计算关于单个问题矩阵的注意力矩阵,再分别计算第四文档矩阵对应的注意力矩阵中最大概率值对应的起始/结束位置,作为答案抽取的起始/结束位置,由于文档内容是由若干个相关文档的内容拼接而成的,因此,会对应得到若对起始位置和结束位置,计算每一对起始位置和结束位置分别对应的概率值之积,选取概率之积最大的一组作为最终的答案抽取起始/结束位置。比如,文档内容是由5个相关文档的内容拼接得到的,则最终会相应得到5个起始位置和结束位置,将5对其实位置和结束位置分别对应的概率值相乘得到5个概率之积,从中选择概率最大的值对应的起始位置和结束位置最为最终的答案抽取起始/结束位置。
详细的公式计算过程如下:
根据第四文档矩阵计算得到文档中的每个词向量关于文档本身的语义向量,并将所述语义向量作为RNN的输入量,得到RNN隐层节点的输出值;其公式为:
其中,表示步骤S24中得到的第四文档矩阵对应的向量表示,ct是t时刻的文档中的每个词向量关于文档本身的语义向量,的初始状态是利用文档注意力生成的问题向量其中rQ的计算过程如下:
其中,vT、和均是随机初始化得到的参数,uQ表示步骤S22中编码后得到的,且,已经还原成单个问题长度的问题矩阵的向量表示,sj表示单个问题与单个问题本身的相似度矩阵,ai表示对相似度矩阵进行归一化后得到的归一化矩阵,rQ表示单个问题矩阵加权求和后得到的问题矩阵。
将步骤S22中编码后得到的,且,已经还原成单个问题长度的问题矩阵uQ,经过上述相似度计算、归一化,加权得到的问题向量rQ作为的初始状态,与文档中的每个词向量关于文档本身的语义向量ct一起传入RNN。
根据所述第四文档矩阵和所述RNN隐层节点的输出值,计算得到文档与问题的相似度矩阵;其公式为:
其中,hP表示第四文档矩阵,表示更新后的文档向量与还原后的单个问题词向量的相似度矩阵,和均为随机初始化得到的参数矩阵。
对文档与问题的相似度矩阵进行归一化,得到归一化后的文档与问题的相似度矩阵;其公式为:其中,表示归一化后的文档与问题的相似度矩阵。
计算归一化后的文档与问题的相似度矩阵的最大值,将最大值所对应的位置确定为抽取起始位置和抽取结束位置。其公式为:
其中,pt是中的最大值,对应答案在文档内容中的起始/结束位置,a1对应的最大值位置就是答案抽取开始位置,a2对应的最大值位置就是答案抽取的结束位置,n表示文档长度。
比如,得到5组概率值分别为和和和和以及和分别计算5组概率值之积,得到以及选择以及中最大值对应的一组概率值分别对应的文档词作为答案抽取起始位置和结束位置。
需要说明的是,上述公式中的t表示时间索引;且,在步骤S25中涉及到的公式中的t的取值为两个,分别为第一时刻和第二时刻,将第一时刻的最大概率值所对应的文档词确定为相应文档内容的抽取起始位置,以及,将第二时刻的最大概率值所对应的文档词确定为相应文档内容的抽取结束位置对应答案抽取起始位置。
需要说明的是,上述公式中,下角标i和j均表示对应向量或矩阵中的单词的索引。
图4是根据另一示例性实施例示出的一种基于深度学习的答案抽取装置的结构示意图。
如图4所示,本实施例提供的基于深度学习的答案抽取装置包括:
获取模块41,用于获取用户问题,以及,根据所述用户问题获取与所述用户问题相关的文档内容;
处理模块42,用于基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;
展示模块43,用于将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。
进一步的,参见图5,所述处理模块42包括:
第一处理单元421,用于根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,分别对所述待处理的用户问题和所述待处理的文档内容进行分词,并对各个词进行词向量转换,得到第一问题矩阵和第一文档矩阵;
第二处理单元422,用于对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,以及,对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵;
第三处理单元423,用于基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵;
第四处理单元424,用于基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵;
第五处理单元425,用于基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置。
进一步的,所述第一处理单元421具体用于:
对所有所述文档内容进行拼接,得到待处理的文档内容;和/或,
对所述用户问题重复多次,并对重复的用户问题进行拼接,得到待处理的用户问题,其中,所述用户问题重复的次数为所述文档内容的总个数。
进一步的,所述第二处理单元422具体用于:
确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,得到处理后的第一文档矩阵。
进一步的,所述词共现特征包括:第一词共现特征和/或第二词共现特征,所述第二处理单元422具体用于:
对应所述待处理的文档内容中的每个词,如果所述词与待处理的用户问题中的至少一个词相同,则确定所述待处理的文档内容中所述词对应的第一词共现特征为第一值,否则,确定第一词共现特征为第二值,其中,所述第一值和所述第二值均为固定值,分别用于表示文档内容中的词在所述用户问题中出现或不出现,以及,将所述第一词共现特征拼接到所述第一文档矩阵中所述词所对应的词向量的尾部;和/或,
分别计算所述第一文档矩阵中的各个词向量与所述第一问题矩阵中的各个词向量之间的相似度数值,以及,对应所述第一文档矩阵中的每个词向量,对所述相似度数值进行归一化,将归一化后的相似度数值作为第二词共现特征,拼接到所述第一文档矩阵中的相应词向量的尾部。
进一步的,所述第二处理单元422具体用于:
以所述处理后的第一文档矩阵作为预设的第一GRU网络的输入,采用所述第一GRU网络对所述处理后的第一文档矩阵进行处理,将所述第一GRU网络的输出层输出确定为第二文档矩阵;以及,
根据所述第一问题矩阵确定输入问题矩阵,将所述输入问题矩阵作为预设的第二GRU网络的输入,采用所述第二GRU网络对所述输入问题矩阵进行处理,将所述第二GRU网络的输出层输出确定为第二问题矩阵。
进一步的,所述第二处理单元422具体用于:
如果所述第一GRU网络与所述第二GRU网络不同,则将所述第一问题矩阵确定为输入问题矩阵;或者,
如果所述第一GRU网络与所述第二GRU网络相同,则对应所述第一问题矩阵中的每个词向量,在每个词向量的尾部拼接预设特征,得到拼接后的问题矩阵,并对所述拼接后的问题矩阵确定为输入问题矩阵,其中,所述预设特征的个数与所述词共现特征的个数相同。
进一步的,所述第三处理单元423具体用于:
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息;
以所述交互矩阵作为预设的第三GRU网络的输入,采用所述第三GRU网络对所述交互矩阵进行处理,将所述第三GRU网络的输出层输出确定为第三文档矩阵。
进一步的,所述第三处理单元423具体用于:
根据所述第二文档矩阵和所述第二问题矩阵,计算得到文档与问题的词对相似度矩阵,并根据所述词对相似度矩阵确定第一归一化矩阵和第二归一化矩阵;
基于注意力机制,分别采用所述第一归一化矩阵和所述第二问题矩阵进行加权运算,以及,采用所述第一归一化矩阵、所述第二归一化矩阵和所述第二文档矩阵进行加权运算,分别计算得到第一交互注意力矩阵和第二交互注意力矩阵;
对所述第二文档矩阵、所述第一交互注意力矩阵、所述第二文档矩阵与所述第一交互注意力矩阵的点乘矩阵、所述第二文档矩阵与所述第二交互注意力矩阵的点乘矩阵进行依次拼接,将拼接后的矩阵确定为交互矩阵。
进一步的,所述第四处理单元424具体用于:
基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵;
以所述自匹配矩阵作为预设的双向循环神经网络的输入,采用所述双向循环神经网络对所述自匹配矩阵进行处理,将所述双向循环神经网络的隐藏层输出确定为第四文档矩阵。
进一步的,所述第四处理单元424具体用于:
根据所述第三文档矩阵,计算得到文档与文档的自匹配相似度矩阵,并根据所述自匹配相似度矩阵确定自匹配加权矩阵;
基于注意力机制,采用所述自匹配加权矩阵对所述第三文档矩阵进行加权运算,计算得到自匹配注意力矩阵;
对所述第三文档矩阵和所述自匹配注意力矩阵进行拼接,得到拼接后的矩阵,并根据拼接后的矩阵确定自匹配矩阵。
进一步的,所述第四处理单元424具体用于:
将所述拼接后的矩阵确定为自匹配矩阵;或者,
基于门控制机制,对所述拼接后的矩阵进行加权处理,将加权处理后的矩阵确定为自匹配矩阵。
进一步的,所述第五处理单元425具体用于:
对所述第二问题矩阵进行还原处理,得到还原后的问题矩阵;
对应每个文档内容,根据所述第四文档矩阵和所述还原后的问题矩阵,计算得到注意力矩阵,所述注意力矩阵用于表征问题词向量对文档词向量的语义表示,所述注意力矩阵包括第一时刻的注意力矩阵和第二时刻的注意力矩阵;
对应每个文档内容,根据所述注意力矩阵计算各个文档词对应的概率值,并将第一时刻的最大概率值所对应的文档词确定为相应文档内容的抽取起始位置,以及,将第二时刻的最大概率值所对应的文档词确定为相应文档内容的抽取结束位置;
根据不同的文档内容所对应的抽取起始位置和抽取结束位置所对应的概率值之积,确定出待选择的文档内容,并将所述待选择的文档内容所对应的抽取起始位置和抽取结束位置,确定为最终采用的抽取起始位置和抽取结束位置。
本实施例中,首先通过获取模块获取用户问题,以及,根据所述用户问题,获取与所述用户问题相关的文档内容;然后通过处理模块基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;通过展示模块将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。采用这种答案抽取装置不需要人工提取特征来制定各种匹配规则来提取答案,直接将获取到的用户问题以及与用户问题相关的文档内容输入到深度学习模型便可以从文档内容中得到与用户问题相匹配的最合适的答案,简化了答案提取过程,且提高了答案准确性,从而大大提高了自动客服的效率和质量。
需要说明的是,本实施例中未做详细说明的部分可参考有关该方法的实施例中的描述,此处不再赘述。
本申请另一实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现基于深度学习的答案抽取方法中各个步骤。所述方法包括:
获取用户问题,以及,根据所述用户问题获取与所述用户问题相关的文档内容;
基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;
将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。
进一步的,所述基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置,包括:
根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,分别对所述待处理的用户问题和所述待处理的文档内容进行分词,并对各个词进行词向量转换,得到第一问题矩阵和第一文档矩阵;
对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,以及,对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵;
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵;
基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵;
基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置。
进一步的,所述根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,包括:
对所有所述文档内容进行拼接,得到待处理的文档内容;和/或,
对所述用户问题重复多次,并对重复的用户问题进行拼接,得到待处理的用户问题,其中,所述用户问题重复的次数为所述文档内容的总个数。
进一步的,所述对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,包括:
确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,得到处理后的第一文档矩阵。
进一步的,所述词共现特征包括:第一词共现特征和/或第二词共现特征,所述确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,包括:
对应所述待处理的文档内容中的每个词,如果所述词与待处理的用户问题中的至少一个词相同,则确定所述待处理的文档内容中所述词对应的第一词共现特征为第一值,否则,确定第一词共现特征为第二值,其中,所述第一值和所述第二值均为固定值,分别用于表示文档内容中的词在所述用户问题中出现或不出现,以及,将所述第一词共现特征拼接到所述第一文档矩阵中所述词所对应的词向量的尾部;和/或,
分别计算所述第一文档矩阵中的各个词向量与所述第一问题矩阵中的各个词向量之间的相似度数值,以及,对应所述第一文档矩阵中的每个词向量,对所述相似度数值进行归一化,将归一化后的相似度数值作为第二词共现特征,拼接到所述第一文档矩阵中的相应词向量的尾部。
进一步的,所述对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵,包括:
以所述处理后的第一文档矩阵作为预设的第一GRU网络的输入,采用所述第一GRU网络对所述处理后的第一文档矩阵进行处理,将所述第一GRU网络的输出层输出确定为第二文档矩阵;以及,
根据所述第一问题矩阵确定输入问题矩阵,将所述输入问题矩阵作为预设的第二GRU网络的输入,采用所述第二GRU网络对所述输入问题矩阵进行处理,将所述第二GRU网络的输出层输出确定为第二问题矩阵。
进一步的,所述根据所述第一问题矩阵确定输入问题矩阵,包括:
如果所述第一GRU网络与所述第二GRU网络不同,则将所述第一问题矩阵确定为输入问题矩阵;或者,
如果所述第一GRU网络与所述第二GRU网络相同,则对应所述第一问题矩阵中的每个词向量,在每个词向量的尾部拼接预设特征,得到拼接后的问题矩阵,并对所述拼接后的问题矩阵确定为输入问题矩阵,其中,所述预设特征的个数与所述词共现特征的个数相同。
进一步的,所述基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵,包括:
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息;
以所述交互矩阵作为预设的第三GRU网络的输入,采用所述第三GRU网络对所述交互矩阵进行处理,将所述第三GRU网络的输出层输出确定为第三文档矩阵。
进一步的,所述基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息,包括:
根据所述第二文档矩阵和所述第二问题矩阵,计算得到文档与问题的词对相似度矩阵,并根据所述词对相似度矩阵确定第一归一化矩阵和第二归一化矩阵;
基于注意力机制,分别采用所述第一归一化矩阵和所述第二问题矩阵进行加权运算,以及,采用所述第一归一化矩阵、所述第二归一化矩阵和所述第二文档矩阵进行加权运算,分别计算得到第一交互注意力矩阵和第二交互注意力矩阵;
对所述第二文档矩阵、所述第一交互注意力矩阵、所述第二文档矩阵与所述第一交互注意力矩阵的点乘矩阵、所述第二文档矩阵与所述第二交互注意力矩阵的点乘矩阵进行依次拼接,将拼接后的矩阵确定为交互矩阵。
进一步的,所述基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵,包括:
基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵;
以所述自匹配矩阵作为预设的双向循环神经网络的输入,采用所述双向循环神经网络对所述自匹配矩阵进行处理,将所述双向循环神经网络的隐藏层输出确定为第四文档矩阵。
进一步的,所述基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵,包括:
根据所述第三文档矩阵,计算得到文档与文档的自匹配相似度矩阵,并根据所述自匹配相似度矩阵确定自匹配加权矩阵;
基于注意力机制,采用所述自匹配加权矩阵对所述第三文档矩阵进行加权运算,计算得到自匹配注意力矩阵;
对所述第三文档矩阵和所述自匹配注意力矩阵进行拼接,得到拼接后的矩阵,并根据拼接后的矩阵确定自匹配矩阵。
进一步的,所述根据拼接后的矩阵确定自匹配矩阵,包括:
将所述拼接后的矩阵确定为自匹配矩阵;或者,
基于门控制机制,对所述拼接后的矩阵进行加权处理,将加权处理后的矩阵确定为自匹配矩阵。
进一步的,所述基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置,包括:
对所述第二问题矩阵进行还原处理,得到还原后的问题矩阵;
对应每个文档内容,根据所述第四文档矩阵和所述还原后的问题矩阵,计算得到注意力矩阵,所述注意力矩阵用于表征问题词向量对文档词向量的语义表示,所述注意力矩阵包括第一时刻的注意力矩阵和第二时刻的注意力矩阵;
对应每个文档内容,根据所述注意力矩阵计算各个文档词对应的概率值,并将第一时刻的最大概率值所对应的文档词确定为相应文档内容的抽取起始位置,以及,将第二时刻的最大概率值所对应的文档词确定为相应文档内容的抽取结束位置;
根据不同的文档内容所对应的抽取起始位置和抽取结束位置所对应的概率值之积,确定出待选择的文档内容,并将所述待选择的文档内容所对应的抽取起始位置和抽取结束位置,确定为最终采用的抽取起始位置和抽取结束位置。
本实施例中,首先获取用户问题,以及,根据所述用户问题,获取与所述用户问题相关的文档内容;然后基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。采用这种答案抽取方法不需要人工提取特征来制定各种匹配规则来提取答案,直接将获取到的用户问题以及与用户问题相关的文档内容输入到深度学习模型便可以从文档内容中得到与用户问题相匹配的最合适的答案,简化了答案提取过程,且提高了答案准确性,从而大大提高了自动客服的效率和质量。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对资源信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (15)
1.一种基于深度学习的答案抽取方法,其特征在于,包括:
获取用户问题,以及,根据所述用户问题获取与所述用户问题相关的文档内容;
基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;
将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。
2.根据权利要求1所述的方法,其特征在于,所述基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置,包括:
根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,分别对所述待处理的用户问题和所述待处理的文档内容进行分词,并对各个词进行词向量转换,得到第一问题矩阵和第一文档矩阵;
对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,以及,对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵;
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵;
基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵;
基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置。
3.根据权利要求2所述的方法,其特征在于,所述根据所述用户问题和所述文档内容分别得到待处理的用户问题和待处理的文档内容,包括:
对所有所述文档内容进行拼接,得到待处理的文档内容;和/或,
对所述用户问题重复多次,并对重复的用户问题进行拼接,得到待处理的用户问题,其中,所述用户问题重复的次数为所述文档内容的总个数。
4.根据权利要求2所述的方法,其特征在于,所述对所述第一文档矩阵进行处理,使得处理后的第一文档矩阵包含问题信息,包括:
确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,得到处理后的第一文档矩阵。
5.根据权利要求4所述的方法,其特征在于,所述词共现特征包括:第一词共现特征和/或第二词共现特征,所述确定词共现特征,并将所述词共现特征拼接到所述第一文档矩阵中的相应文档词向量的尾部,包括:
对应所述待处理的文档内容中的每个词,如果所述词与待处理的用户问题中的至少一个词相同,则确定所述待处理的文档内容中所述词对应的第一词共现特征为第一值,否则,确定第一词共现特征为第二值,其中,所述第一值和所述第二值均为固定值,分别用于表示文档内容中的词在所述用户问题中出现或不出现,以及,将所述第一词共现特征拼接到所述第一文档矩阵中所述词所对应的词向量的尾部;和/或,
分别计算所述第一文档矩阵中的各个词向量与所述第一问题矩阵中的各个词向量之间的相似度数值,以及,对应所述第一文档矩阵中的每个词向量,对所述相似度数值进行归一化,将归一化后的相似度数值作为第二词共现特征,拼接到所述第一文档矩阵中的相应词向量的尾部。
6.根据权利要求2所述的方法,其特征在于,所述对所述处理后的第一文档矩阵和所述第一问题矩阵分别进行编码,分别得到第二文档矩阵和第二问题矩阵,包括:
以所述处理后的第一文档矩阵作为预设的第一GRU网络的输入,采用所述第一GRU网络对所述处理后的第一文档矩阵进行处理,将所述第一GRU网络的输出层输出确定为第二文档矩阵;以及,
根据所述第一问题矩阵确定输入问题矩阵,将所述输入问题矩阵作为预设的第二GRU网络的输入,采用所述第二GRU网络对所述输入问题矩阵进行处理,将所述第二GRU网络的输出层输出确定为第二问题矩阵。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一问题矩阵确定输入问题矩阵,包括:
如果所述第一GRU网络与所述第二GRU网络不同,则将所述第一问题矩阵确定为输入问题矩阵;或者,
如果所述第一GRU网络与所述第二GRU网络相同,则对应所述第一问题矩阵中的每个词向量,在每个词向量的尾部拼接预设特征,得到拼接后的问题矩阵,并对所述拼接后的问题矩阵确定为输入问题矩阵,其中,所述预设特征的个数与所述词共现特征的个数相同。
8.根据权利要求2所述的方法,其特征在于,所述基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行交互处理,得到第三文档矩阵,包括:
基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息;
以所述交互矩阵作为预设的第三GRU网络的输入,采用所述第三GRU网络对所述交互矩阵进行处理,将所述第三GRU网络的输出层输出确定为第三文档矩阵。
9.根据权利要求8所述的方法,其特征在于,所述基于注意力机制,对所述第二文档矩阵和所述第二问题矩阵进行处理,得到交互矩阵,使得所述交互矩阵中包含文档与问题的比对信息,包括:
根据所述第二文档矩阵和所述第二问题矩阵,计算得到文档与问题的词对相似度矩阵,并根据所述词对相似度矩阵确定第一归一化矩阵和第二归一化矩阵;
基于注意力机制,分别采用所述第一归一化矩阵和所述第二问题矩阵进行加权运算,以及,采用所述第一归一化矩阵、所述第二归一化矩阵和所述第二文档矩阵进行加权运算,分别计算得到第一交互注意力矩阵和第二交互注意力矩阵;
对所述第二文档矩阵、所述第一交互注意力矩阵、所述第二文档矩阵与所述第一交互注意力矩阵的点乘矩阵、所述第二文档矩阵与所述第二交互注意力矩阵的点乘矩阵进行依次拼接,将拼接后的矩阵确定为交互矩阵。
10.根据权利要求2所述的方法,其特征在于,所述基于注意力机制,对所述第三文档矩阵进行自匹配处理,得到第四文档矩阵,包括:
基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵;
以所述自匹配矩阵作为预设的双向循环神经网络的输入,采用所述双向循环神经网络对所述自匹配矩阵进行处理,将所述双向循环神经网络的隐藏层输出确定为第四文档矩阵。
11.根据权利要求10所述的方法,其特征在于,所述基于注意力机制,对所述第三文档矩阵进行处理,得到自匹配矩阵,包括:
根据所述第三文档矩阵,计算得到文档与文档的自匹配相似度矩阵,并根据所述自匹配相似度矩阵确定自匹配加权矩阵;
基于注意力机制,采用所述自匹配加权矩阵对所述第三文档矩阵进行加权运算,计算得到自匹配注意力矩阵;
对所述第三文档矩阵和所述自匹配注意力矩阵进行拼接,得到拼接后的矩阵,并根据拼接后的矩阵确定自匹配矩阵。
12.根据权利要求11所述的方法,其特征在于,所述根据拼接后的矩阵确定自匹配矩阵,包括:
将所述拼接后的矩阵确定为自匹配矩阵;或者,
基于门控制机制,对所述拼接后的矩阵进行加权处理,将加权处理后的矩阵确定为自匹配矩阵。
13.根据权利要求2所述的方法,其特征在于,所述基于指针网络,根据所述第四文档矩阵和所述第二问题矩阵,在所述文档内容中确定抽取起始位置和抽取结束位置,包括:
对所述第二问题矩阵进行还原处理,得到还原后的问题矩阵;
对应每个文档内容,根据所述第四文档矩阵和所述还原后的问题矩阵,计算得到注意力矩阵,所述注意力矩阵用于表征问题词向量对文档词向量的语义表示,所述注意力矩阵包括第一时刻的注意力矩阵和第二时刻的注意力矩阵;
对应每个文档内容,根据所述注意力矩阵计算各个文档词对应的概率值,并将第一时刻的最大概率值所对应的文档词确定为相应文档内容的抽取起始位置,以及,将第二时刻的最大概率值所对应的文档词确定为相应文档内容的抽取结束位置;
根据不同的文档内容所对应的抽取起始位置和抽取结束位置所对应的概率值之积,确定出待选择的文档内容,并将所述待选择的文档内容所对应的抽取起始位置和抽取结束位置,确定为最终采用的抽取起始位置和抽取结束位置。
14.一种基于深度学习的答案抽取装置,其特征在于,包括:
获取模块,用于获取用户问题,以及,根据所述用户问题获取与所述用户问题相关的文档内容;
处理模块,用于基于深度学习模型,在所述文档内容中确定抽取起始位置和抽取结束位置;
显示模块,用于将所述抽取起始位置和所述抽取结束位置之间的文档内容,确定为所述用户问题所对应的答案,并展示所述答案。
15.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-13任一项所述的基于深度学习的答案抽取方法中各个步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910225135.0A CN109977404A (zh) | 2019-03-22 | 2019-03-22 | 基于深度学习的答案抽取方法、装置和存储介质 |
PCT/CN2020/075553 WO2020192307A1 (zh) | 2019-03-22 | 2020-02-17 | 基于深度学习的答案抽取方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910225135.0A CN109977404A (zh) | 2019-03-22 | 2019-03-22 | 基于深度学习的答案抽取方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109977404A true CN109977404A (zh) | 2019-07-05 |
Family
ID=67080278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910225135.0A Pending CN109977404A (zh) | 2019-03-22 | 2019-03-22 | 基于深度学习的答案抽取方法、装置和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109977404A (zh) |
WO (1) | WO2020192307A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825870A (zh) * | 2019-10-31 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 文档摘要的获取方法和装置、存储介质及电子装置 |
CN111078854A (zh) * | 2019-12-13 | 2020-04-28 | 北京金山数字娱乐科技有限公司 | 问答预测模型的训练方法及装置、问答预测方法及装置 |
WO2020192307A1 (zh) * | 2019-03-22 | 2020-10-01 | 深圳追一科技有限公司 | 基于深度学习的答案抽取方法、装置、计算机设备和存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417094B (zh) * | 2020-11-17 | 2024-04-05 | 华东理工大学 | 基于网络文本的答案选择方法、装置、服务器及存储介质 |
CN112541350B (zh) * | 2020-12-04 | 2024-06-14 | 支付宝(杭州)信息技术有限公司 | 一种变种文本还原方法、装置以及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415977A (zh) * | 2018-02-09 | 2018-08-17 | 华南理工大学 | 一个基于深度神经网络及强化学习的生成式机器阅读理解方法 |
US20180300312A1 (en) * | 2017-04-13 | 2018-10-18 | Baidu Usa Llc | Global normalized reader systems and methods |
CN108959246A (zh) * | 2018-06-12 | 2018-12-07 | 北京慧闻科技发展有限公司 | 基于改进的注意力机制的答案选择方法、装置和电子设备 |
CN109376222A (zh) * | 2018-09-27 | 2019-02-22 | 国信优易数据有限公司 | 问答匹配度计算方法、问答自动匹配方法及装置 |
CN109478204A (zh) * | 2016-05-17 | 2019-03-15 | 马鲁巴公司 | 非结构化文本的机器理解 |
CN109492227A (zh) * | 2018-11-16 | 2019-03-19 | 大连理工大学 | 一种基于多头注意力机制和动态迭代的机器阅读理解方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977404A (zh) * | 2019-03-22 | 2019-07-05 | 深圳追一科技有限公司 | 基于深度学习的答案抽取方法、装置和存储介质 |
-
2019
- 2019-03-22 CN CN201910225135.0A patent/CN109977404A/zh active Pending
-
2020
- 2020-02-17 WO PCT/CN2020/075553 patent/WO2020192307A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109478204A (zh) * | 2016-05-17 | 2019-03-15 | 马鲁巴公司 | 非结构化文本的机器理解 |
US20180300312A1 (en) * | 2017-04-13 | 2018-10-18 | Baidu Usa Llc | Global normalized reader systems and methods |
CN108415977A (zh) * | 2018-02-09 | 2018-08-17 | 华南理工大学 | 一个基于深度神经网络及强化学习的生成式机器阅读理解方法 |
CN108959246A (zh) * | 2018-06-12 | 2018-12-07 | 北京慧闻科技发展有限公司 | 基于改进的注意力机制的答案选择方法、装置和电子设备 |
CN109376222A (zh) * | 2018-09-27 | 2019-02-22 | 国信优易数据有限公司 | 问答匹配度计算方法、问答自动匹配方法及装置 |
CN109492227A (zh) * | 2018-11-16 | 2019-03-19 | 大连理工大学 | 一种基于多头注意力机制和动态迭代的机器阅读理解方法 |
Non-Patent Citations (2)
Title |
---|
WENHUI WANG 等: "Gated Self-Matching Networks for Reading Comprehension and Question Answering", 《PROCEEDINGS OF THE 55TH ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS》 * |
朱国轩: "基于深度学习的任务导向型机器阅读理解", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020192307A1 (zh) * | 2019-03-22 | 2020-10-01 | 深圳追一科技有限公司 | 基于深度学习的答案抽取方法、装置、计算机设备和存储介质 |
CN110825870A (zh) * | 2019-10-31 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 文档摘要的获取方法和装置、存储介质及电子装置 |
CN110825870B (zh) * | 2019-10-31 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 文档摘要的获取方法和装置、存储介质及电子装置 |
CN111078854A (zh) * | 2019-12-13 | 2020-04-28 | 北京金山数字娱乐科技有限公司 | 问答预测模型的训练方法及装置、问答预测方法及装置 |
CN111078854B (zh) * | 2019-12-13 | 2023-10-27 | 北京金山数字娱乐科技有限公司 | 问答预测模型的训练方法及装置、问答预测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2020192307A1 (zh) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977404A (zh) | 基于深度学习的答案抽取方法、装置和存储介质 | |
CN109657246B (zh) | 一种基于深度学习的抽取式机器阅读理解模型的建立方法 | |
KR102213478B1 (ko) | 인공 지능 학습 기반의 사용자 지식 추적 시스템 및 그것의 동작 방법 | |
CN108509411A (zh) | 语义分析方法和装置 | |
CN108733837A (zh) | 一种病历文本的自然语言结构化方法及装置 | |
KR102352251B1 (ko) | 자질 선별을 통한 고성능 기계독해 방법 | |
CN110598222B (zh) | 语言处理方法及装置、语言处理***的训练方法及装置 | |
CN108491515B (zh) | 一种用于校园心理咨询的句对匹配度预测方法 | |
US20220075955A1 (en) | Neural network training method and apparatus, semantic classification method and apparatus and medium | |
CN112559706B (zh) | 对话生成模型的训练方法、对话方法、设备以及存储介质 | |
CN117236410B (zh) | 一种可信的电子文件大语言模型训练、推理方法和装置 | |
CN111309887A (zh) | 一种训练文本关键内容提取模型的方法和*** | |
CN111914553B (zh) | 一种基于机器学习的金融信息负面主体判定的方法 | |
CN114648032B (zh) | 语义理解模型的训练方法、装置和计算机设备 | |
CN114490961A (zh) | 一种基于多轮对话的客服方法、***、装置及存储介质 | |
CN116757652A (zh) | 一种基于大语言模型的在线招聘推荐***及方法 | |
CN114492669B (zh) | 关键词推荐模型训练方法、推荐方法和装置、设备、介质 | |
CN115374259A (zh) | 一种问答数据挖掘方法、装置及电子设备 | |
CN114492451A (zh) | 文本匹配方法、装置、电子设备及计算机可读存储介质 | |
CN114861627B (zh) | 一种基于深度学习的选择题干扰项自动化生成方法及装置 | |
Roy et al. | Augmenting bert with cnn for multiple choice question answering | |
Prasomphan | Using chatbot in trading system for small and medium enterprise (smes) by Convolution Neural Network Technique | |
CN115456176A (zh) | 一种基于知识增强的文本匹配方法及*** | |
CN111680151B (zh) | 一种基于层次化transformer的个性化商品评论摘要生成方法 | |
CN113553855A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190705 |