CN112131363B - 自动问答方法、装置、设备及存储介质 - Google Patents
自动问答方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112131363B CN112131363B CN202011005255.9A CN202011005255A CN112131363B CN 112131363 B CN112131363 B CN 112131363B CN 202011005255 A CN202011005255 A CN 202011005255A CN 112131363 B CN112131363 B CN 112131363B
- Authority
- CN
- China
- Prior art keywords
- natural language
- question
- vector
- language question
- answer
- 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
Images
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
- 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/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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
Abstract
本发明适用计算机技术领域,提供了一种自动问答方法、装置、设备及存储介质,该方法包括:获取自然语言问句;根据预先构建的领域词典,获得与自然语言问句相关的多个关键词;根据自然语言问句和多个关键词,通过预先训练好的自动问答模型,生成自然语言问句的答案,从而有效地提高了关键词的提取效果,解决了自动问答模型知识匮乏的问题,进而有效地提高了自动问答中答案的准确性。
Description
技术领域
本发明属于计算机技术领域,尤其是自然语言处理技术领域、机器学习领域、人工智能领域,尤其涉及一种自动问答方法、装置、设备及存储介质。
背景技术
自然语言问答技术涉及自然语言处理、机器学习、人工智能等领域,能够自动分析自然语言问句,并返回自然语言问句的答案。
基于生成式的自动问答模型,例如,基于序列到序列(Sequence to Sequencenetwork,简称seq2seq)的自动问答模型,通常通过使用由自然语言问句和自然语言问句对应的答案构成的问答对,来训练构建的自动问答模型,无论是在自动问答模型的训练过程还是测试过程中,都是通过对自然语音问句进行编码,再对编码后的自然语言问句进行解码,得到自然语言问句的答案。
然而,单单依靠一个问句,自动问答模型很难获得足够的信息,无法很好地理解问句,因此,基于生成式的自动问答模型仍存在着知识匮乏的问题,生成的答案准确性不高。
发明内容
本发明的目的在于提供一种自动问答方法、装置、设备及存储介质,旨在解决由于现有技术无法提供一种有效的自动问答方法,导致自动问答生成的答案的准确性不高的问题。
一方面,本发明提供了一种自动问答方法,所述方法包括下述步骤:
获取自然语言问句;
根据预先构建的领域词典,获得与所述自然语言问句相关的多个关键词;
根据所述自然语言问句和所述多个关键词,通过预先训练好的自动问答模型,生成所述自然语言问句的答案。
另一方面,本发明提供了一种自动问答装置,所述装置包括:
问句获取单元,用于获取自然语言问句;
关键词获取单元,用于根据预先构建的领域词典,获得与所述自然语言问句相关的多个关键词;
答案生成单元,用于根据所述自然语言问句和所述多个关键词,通过预先训练好的自动问答模型,生成所述自然语言问句的答案。
另一方面,本发明还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述自动问答方法所述的步骤。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述自动问答方法所述的步骤。
本发明获取自然语言问句,根据预先构建的领域词典,获得与自然语言问句相关的多个关键词,根据自然语言问句和多个关键词,通过预先训练好的自动问答模型,生成自然语言问句的答案。因此,通过在领域词典中获得与自然语言问句相关的多个关键词,对自然语言问句进行知识补充,以解决自动问答模型知识匮乏的问题,进而提高自动问答中答案生成的准确性。
附图说明
图1是本发明实施例一提供的自动问答方法的实现流程图;
图2是本发明实施例二提供的自动问答方法的实现流程图;
图3是本发明实施例二提供的自动问答方法中知识融合模块的示例图;
图4是本发明实施例三提供的自动问答装置的结构示意图;
图5是本发明实施例四提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
自然语言问答技术能够自动分析自然语言问句,并返回自然语言问句的答案,目前通常采用基于生成式的自动问答模型,例如,seq2seq模型。基于生成式的自动问答模型通常通过对自然语言问句进行编码,再对编码结果进行解码,得到自然语言问句的答案。单单依赖一个问句,自动问答模型难以获得足够的信息,无法很好地理解问句,因此自动问答模型生成的答案的准确性有待提高。
相关技术中,可构建数据集,在数据集中,通过词频-文本频率指数(TermFrequency-Inverse Document Frequency,简称TF-IDF)算法提取关键词,将提取的关键词作为自动问答模型的外部知识,来解决自动问答模型知识匮乏的问题。然而,发明人发现,上述提取的关键词中,有可能会包含一些高频的伪词比如“的”、“是”等,而且容易对领域内的关键词(比如医药领域中的药品名称)进行再度切分,导致部分关键词的丢失,反而影响到答案的生成准确性。
为解决上述问题,本发明提供了一种自动问答方法、装置、设备及存储介质,在获取自然语言问句之后,根据预先构建的领域词典,获得与自然语言问句相关的多个关键词,以提高关键词的提取效果,根据自然语言问句和多个关键词,通过预先训练好的自动问答模型,生成自然语言问句的答案,以通过关键词对自然语言问句进行知识补充,进而提高自动问答中答案的生成准确性。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的自动问答方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S101中,获取自然语言问句。
本发明实施例适用于计算机、服务器、平板电脑、手机等电子设备。
在本实施例中,可接收用户输入的一个或多个自然语言问句,以针对用户输入的一个或多个自然语言问句生成相应的答案,或者,可从预设的问句库或者预设的网页地址,获取预先采集的一个或多个自然语言问句,例如,在预设的医药网址中,获取一个或多个与医药领域有关的自然语言问句,以针对获取的一个或多个自然语言问句生成相应的答案。其中,自然语言是指中文、英文或者日文等语言,自然语言问句是指通过自然语言表述的问句。
在步骤S102中,根据预先构建的领域词典,获得与自然语言问句相关的多个关键词。
其中,领域词典包括预设领域的多个专业词语(或称为专业术语),预设领域比如可以为计算机领域、医药领域、法律领域,在此不做限制。以医药领域为例,医药领域的领域词典中包括多个专业的疾病名称、药品名称、症状名称、科室名称等。可获取已有的领域词典,或者,可预先采集预设领域的多个专业词语,由这些专业词语组合得到预设领域的领域词典,或者,可以在该预设领域的文库中对多篇文章进行词语提取,由提取得到的多个词语组合得到该预设领域的领域词典。
在本实施例中,领域词典的词汇量较大,换句话说,领域词典中的大部分词语与当前需要进行解答的自然语言问句无关,因此,可基于领域词典,对自然语言问句进行词语提取,使得提取得到的词语既能够体现相关的领域知识,又能够体现自然语言问句中的关键信息,同时还能够避免提取到一些高频的伪词、以及避免因单独对自然语言问句进行切分导致对自然语言问句中的专业词汇也进行了切分。其中,基于领域词典在自然语言问句中提取得到的多个词语为与自然语言问句相关的多个关键词。
在步骤S103中,根据自然语言问句和多个关键词,通过预先训练好的自动问答模型,生成自然语言问句的答案。
在本实施例中,在得到与自然语言问句相关的多个关键词后,可将该多个关键词作为自然语言问句的外部拓展知识,以对自然语言问句进行知识信息补充,解决自动问答过程中知识匮乏的问题。
在本实施例中,可将自然语言问句和多个关键词,输入预先训练好的自动问答模型中,通过自动问答模型,对自然语言问句和多个关键词进行融合,得到融合了知识信息的自然语言问句,再在自动问答模型中,以依次对融合了知识信息的自然语言问句进行编码和解码,得到自然语言问句的答案。
其中,自动问答模型为深度神经网络模型,既能够实现对自然语言问句和多个关键词的融合,还包括了编码器和解码器,用于对融合了知识信息的自然语言问句的编码和解码,最终得到自然语言问句的答案,相较于仅仅依赖于对单个自然语言问句的编码和解码,通过关键词对自然语言问句进行知识融合的方式为自动问答模型的答案生成提供了更多信息,提高了自动问答模型生成的答案的准确性。
本发明实施例中,获取自然语言问句,根据预先构建的领域词典,获得与自然语言问句相关的多个关键词,根据自然语言问句和多个关键词,通过训练得到的自动问答模型,生成自然语言问句的答案,有效地提高了关键词的提取效果,解决了自动问答模型的知识匮乏问题,进而提高了答案的准确性。
实施例二:
图2示出了本发明实施例二提供的自动问答方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
在步骤S201中,获取自然语言问句。
在本实施例中,S201的详细内容可参照S101的相关描述,不再赘述。
在步骤S202中,根据预先构建的领域词典,获得与自然语言问句相关的多个关键词。
在本实施例中,S202的详细内容可参照S102的相关描述,不再赘述。
在根据预先构建的领域词典,获得与自然语言问句相关的多个关键词的过程中,在一个可行的实施方式为:先对自然语言问句进行分词处理,得到自然语言问句中的多个词语,再根据领域词典,对自然语言问句中的多个词语进行筛选,得到与自然语言问句相关的多个关键词,以提高关键词的提取效果。
在对自然语言问句进行分词的过程中,可结合领域词典,采用预设的分词工具对自然语言问句进行分词,以提高自然语言问句的分词效果。其中,分词工具比如为jieba分词工具,jieba分词工具是基于编程语言Python设计的中文分词工具。在根据领域词典对自然语言问句中的多个词语进行筛选的过程中,可检测自然语言问句中分词得到的词语是否出现在领域词典中,若是则留下该词语,也即将该词语确定为与自动语言问句相关的关键词,否则筛选掉该词语。
在步骤S203中,在自动问答模型中,根据自然语言问句和多个关键词,对自然语言问句进行知识融合,得到融合了知识信息的自然语言问句。
在本实施例中,可对自然语言问句和多个关键词进行向量化,得到自然语言问句的问句向量和各个关键词的词向量,其中,自然语言问句的问句向量为词向量序列,包括自然语言问句中各个词语的词向量。通过将自然语言问句的问句向量和各个关键词的词向量进行融合,实现对自然语言问句的知识融合。
自然语言问句是句子级别,关键词是词级别,因此自然语言问句和关键词是不同的文本粒度,如果在对自然语言问句进行知识融合的过程中,仅简单地将自然语言问句的问句向量与关键词的词向量进行拼接,效果并不理想。因此,在根据自然语言问句和多个关键词,对自然语言问句进行知识融合的过程中,一种可能的实现方式为:对多个关键词进行向量化,分别得到第一向量和第二向量,其中,第一向量中包括了各个关键词的第一词向量,第二向量中包括了各个关键词的第二词向量;对自然语言问句进行向量化,得到问句向量;确定第一向量与问句向量之间的权重参数;根据第一向量和问句向量之间的权重参数、第二向量以及问句向量,进行知识融合,得到融合了知识信息的自然语言问句。第一向量、第二向量和问句向量是相同的文本粒度,因此,通过第一向量、第二向量和问句向量,实现对自然语言问句的知识融合,提供知识融合效果,同时,在对自然语言问句进行知识融合的过程中未采用任何的特征提取方式对自然语言问句进行处理,保留了自然语言问句的所有信息,提高了自动问答模型所生成答案的准确性。
在本实施例中,可通过不同的权重参数对多个关键词进行向量化,得到各个关键词的第一词向量和第二词向量,由各个关键词的第一词向量组合得到第一向量,由各个关键词的第二词向量组合得到第二向量。
作为示例地,多个关键词可构成关键词集合{ki},i=1,2,...,n,n表示关键词的数量,ki表示第i个关键词。可将每个关键词ki转换成连续空间中对应的第一词向量mi和第二词向量ci,由所有第一词向量mi构成第一向量M,由所有第二词向量ci构成第二向量C。
在本实施例中,在得到自然语言问句q的问句向量后,可采用预设的位置编码公式得到自然语言问句q的问句向量中各个词向量对应的位置向量,将自然语言问句q的问句向量中各个词向量的位置向量加入问句向量中,以对问句向量进行更新,并提高问句向量的信息量。
作为示例地,自然语言问句q的问句向量可表示为{xj},j=1,2,...,T,T表示自然语言问句q的长度,xi表示问句向量中第i个词向量。位置编码公式例如可采用seq2seq模型中Transformer模型的位置编码公式。将自然语言问句q的问句向量中各个词向量的位置向量加入问句向量的公式可以表示为:uj=xj+posj,uj为更新后的问句向量中的第j个词向量,posj为自然语言问句的问句向量中第j个词向量的位置向量。
本实施例中,得到第一向量、第二向量和问句向量后,可确定第一向量与问句向量之间的权重参数,将第一向量和问句向量之间的权重参数与第二向量进行加权求和,得到知识向量,通过将知识向量与自然语言问句的问句向量进行整合,得到融合了知识向量的问句向量,换句话说,得到了融合了知识信息的自然语言问句的问句向量。
在确定第一向量与问句向量之间的权值参数的过程中,为了在多个关键词中获取与自然语言问句相关的知识信息,可计算第一向量中各个第一词向量与问句向量中各个词向量之间的相关向量,由多个相关向量构成第一向量与问句向量之间的权重参数。
进一步地,相关向量的计算公式可以表示为:
其中,e(mi,uj)=ujmi是一个打分函数,用于衡量第一向量中各个第一词向量与问句向量中各个词向量之间的相关程度,softmax()为softmax函数,也即回归函数。所有的pi构成第一向量与问句向量之间的权重参数P,因此,权重参数P的计算公式为:
P=softmax(e(M,U)),其中,U为更新后的问句向量。
进一步地,在计算得到权重参数后,将权重参数与第二向量进行加权求和得到知识向量的公式可以表示为:
进一步地,将知识向量与自然语言问句的问句向量进行整合得到融合了知识向量的问句向量的公式可以表示为:
O=V+U,其中,O表示融合了知识向量的问句向量。
作为示例地,图3以虚拟模块和虚拟单元的方式示出了自动问答模型中的知识融合模块,该知识融合模块包括输入知识记忆单元和输出知识记忆单元,用于实现多个关键词和自然语言问句的融合。在图3中,多个关键词构成领域关键词集合,也即上述关键词集合{ki},嵌入矩阵A表示第一向量,嵌入矩阵C表示第二向量,嵌入矩阵B表示自然语言问句的问句向量(也即上述问句向量U),问题q表示自然语言问句。
如图3所示,在输入知识记忆单元中,嵌入矩阵B与嵌入矩阵A进行内积运算(即上述打分函数),并通过上述softmax函数,计算得到权重(即上述权重参数P),通过权重参数与嵌入矩阵C进行加权求和,计算得到知识向量V,通过知识向量V与嵌入矩阵B的求和,得到融合了知识向量的问句向量。因此,通过涉及两个知识记忆单元来存储知识(即关键词),并为每个知识提供两种词嵌入形式(即第一向量和第二向量),最大程度地保留了知识和自然语言问句中的信息,有效地解决了自然问答模型的知识匮乏问题。
在步骤S204中,在自动问答模型中,对融合了知识信息的自然语言问句进行编码,得到与融合了知识信息的自然语言问句对应的编码向量。
在本实施例中,自动问答模型中包括编码器,在得到融合了知识信息的自然语言问句后,可将融合了知识信息的自然语言问句的问句向量,输入自动问答模型中的编码器,通过编码器对融合了知识信息的自然语言问句的问句向量进行编码,得到与融合了知识信息的自然语言问句对应的编码向量。其中,编码器例如可以为Transformer编码器。
在一种可能的实现方式中,编码器包括多个第一网络层,各第一网络层包括多头注意力层和前馈网络层。在编码过程中,将融合了知识信息的自然语言问句的问句向量,也即上述融合了知识向量的问句向量,输入编码器中第一个第一网络层,再将第一个第一网络层的输出输入第二个第一网络层,如此继续,依次通过编码器中的多个第一网络层对融合了知识信息的自然语言问句的问句向量进行编码,以提高编码效果。其中,编码器中第一网络层的数量例如为6,则通过连续的6次编码操作,得到编码向量。
以第N个第一网络层为例,N大于等于1,将第N-1个第一网络层的输出,输入第N个第一网络层中的多头注意力层(multi-head attention layer),得到第N个第一网络层中多头注意力层的输出,对多头注意力层的输出进行进行残差学习(Residual Learning)和层标准化(Layer Normalization),得到中间向量,将该中间向量输入至第N个第一网络层中的前馈网络层,得到前馈网络层的输出,对前馈网络层的输出进行残差学习和层标准化,得到第N个第一网络层的输出。其中,第一个第一网络层的输入为融合了指示信息的自然语言文件的问句向量。因此,结合多头注意力层、前馈神经网络、残差学习和批标准化处理,提高自然语言问句的编码效果。
进一步地,在多头注意力层中,可根据多头注意力层的输入、多头注意力层的多个权值矩阵、预设的自注意力公式和预设的多头注意力公式,计算特征矩阵,对特征矩阵进行残差学习和层标准化处理,得到中间向量。
具体过程如下:
(1)将多头注意力层的输入与多头注意力层的多个权值矩阵相乘:
Qi=OWi Q,Vi=OVi V,其中,Wi Q、Vi v表示多头注意力层的多个权值矩阵,可以在自动问答模型的训练过程中训练得到,O表示多头注意力层的输入,i∈{1,2,...,h},h为预设参数,例如h=8。
(2)将h个Qi、Ki、Vi输入自注意力公式,得到h个加权的特征矩阵Hi,根据h个加权的特征矩阵Hi和多头注意力公式得到最终的特征矩阵H。
通过自注意力公式得到特征矩阵Hi的计算过程可表示为:
通过多头注意力公式得到最终的特征矩阵H的计算过程可表示为:
H=Concat(H1,H2,...,Hh)W0,其中,Concat()为用于合并多个向量或者多个数组的函数,在此用于将多个特征矩阵Hi进行合并,W0为预设的权重参数,W0可在自动问答模型训练时训练得到。
(3)对特征矩阵H进行残差学习和批标准化处理。
对特征矩阵H进行残差学习的公式可表示为:
H'=O+H,其中,H'为残差学习后的特征矩阵。
对残差学习后的特征矩阵H'进行批标准化处理的公式可表示为:
进一步地,前馈网络层的计算公式为:
FFN(L)=max(0,LW1+b1)W2+b2,其中,W1和b1分别表示前馈网络层中第一层隐藏层的权值参数和偏置项,W2和b2分别表示前馈网络层中第二层隐藏层的权值参数和偏置项。在得到前馈网络层的输出FFN(L)后,对前馈网络层的输出FFN(L)进行残差学习和批标准化处理,得到当前的第一网络层的输出。
在步骤S205中,在自动问答模型中,对编码向量进行解码,得到自然语言问句的答案。
在本实施例中,自动问答模型中包括解码器,在得到编码向量后,通过解码器对编码器进行节码,得到自然语言问句的答案,由于编码向量为对融合了知识信息的自然语言问句进行编码得到的,解码过程所依赖的编码向量的知识信息较为充足,进而得到的自然语言问句的答案的准确度较高。其中,解码器例如可以为Transformer解码器。
在一种可能的实现方式中,解码器包括多个第二网络层、线性层和归一化层,各个第二网络层包括多头注意力层和前馈神经网络层。整个解码过程包括多次解码,每次解码都会生成词汇分布并按照生成的词汇分布选取一个词语,直至选取得到的词语为预设的终止符,停止解码过程。由所有解码次数中解码得到的词语,按照解码的顺序拼接成答案。
其中,在一次解码过程中,依次通过多个第二网络层中的多头注意力层和前馈神经网络层进行解码操作,得到解码向量,将解码向量输入线性层和归一化层,得到词汇分布,按照得到的词汇分布在预设的词汇表中选取词语,该词语即当前解码得到的词语。
进一步地,在依次通过多个第二网络层中的多头注意力层和前馈神经网络层进行解码操作得到解码向量的过程中,将编码向量设置成第二网络层中多头注意力层中的权重参数K'和权重参数V',其中,可预先设置好第二网络层中多头注意力层的另一权重参数Q'的数值和解码器的初始输入矩阵,将初始输入矩阵输入解码器,进行第一次解码,得到相应的词语。第二网络层中多头注意力层的权重参数Q'、K'和V'可分别表示为:
Q'={Q'1,Q'2,...,Q'i,...,Q'h'},K'={K'1,K'2,...,K'i,...,K'h'},V'={V1',V'2,...,Vi',...,Vh'}。Q'i、K'i、Vi'类似于编码中第一网络层中多头注意力层的权值矩阵Qi、Ki、Vi,i∈{1,2,...,h'},在第二网络层中,对多头注意力层的输出和前馈神经网络层的输出也都要进行残差学习和批标准化处理,以提高解码效果。在此对多头注意力层、前馈升级网络层、残差学习和批标准化处理不进行赘述,可参照对编码器中多头注意力层、前馈升级网络层、残差学习和批标准化处理的描述。
进一步地,将解码向量输入线性层和归一化层得到词汇分布的公式为:
Pv=softmax(W3S+b3),其中,W3和b3为线性层的权重参数,可通过对自动问答模型进行训练得到,S为最后一个第二网络层输出的解码向量,词汇分布Pv包括词汇表中各个词语的概率。因此,词汇表中各个词语的概率可表示为:
P(w)=pv(w),其中,w表示词汇表中的词语,p(w)表示词语w的概率。
进一步地,在生成词汇分布后,可根据预设的拷贝分布,对词汇分布进行更新,按照更新后的词汇分布在词汇表中选取词语,以通过拷贝机制使得自动问答模型在选取词语时能够考虑到词语在自然语言问句中的分布情况,使得自动问答模型据具有再现事实细节的能力,提高自动问答的答案准确性。
其中,拷贝分布例如采用Transformer的多头注意力分布:
其中,在根据拷贝分布对词汇分布进行更新时,可引入选择概率pg∈[0,1],以pg的概率选择词汇表中的词语,以1-pg的概率选择融合了知识信息的自然语言问句中的词语,以对词汇分布进行更新,更新公式如下:
p'(x)为更新后的词汇分布,t为第t次解码,ui=w表示融合了知识信息的自然语言问句中第i个词语ui为词汇表中的词语w,表示融合了知识信息的自然语言问句中所有为x的词语的拷贝分布之和,pg=σ(W4S+b4),W4和b4为权重参数,可通过对自动问答模型进行训练得到。
在后续解码次数中,解码器的输入为上一次解码得到的词语的词向量。以第Z(Z大于等于2)次解码为例,解码过程包括:
(1)根据第Z-1次解码得到的词语和编码向量,通过解码器得到第Z次解码中词汇表的词汇分布。
(2)根据拷贝分布和词汇表中各词语在融合了知识信息的自然语言问句中的出现次数,更新词汇表的词汇分布。
(3)按照词汇表更新后的词汇分布,在词汇表中进行词语选取,选取的词语为第Z次解码得到的词语。
其中,与第一次解码过程的区别在于,第Z次解码过程解码器的输入为第Z-1次解码得到的词语的词向量,(1)(2)(3)中的剩余操作与上述描述的一次解码过程相同,不再赘述。
在一种可能的实现方式中,在对自动问答模型进行训练的过程中,可获取预先采集到的问答数据集,以问答数据集作为训练数据,对自动问答模型进行有监督训练,得到训练好的自动问答模型,以提高自动问答模型的模型效果。其中,问答数据集中包括多个问答对,每个问答对包括一个自然语言问句和与该自然语言问句对应的答案。
具体的,在训练过程中,可在自动问答模型中,根据领域词典,对问答数据集中各个自然语言问句进行分词处理,得到与自然语言问句相关的关键词,根据与自然语言问句相关的关键词对自然语言问句进行知识信息的融合,得到融合了知识信息的自然语言问句,通过编码器和解码器依次对融合了知识信息的自然语言问句进行编码和解码,得到自然语言问句的预测答案,根据该预测答案与自然语言问句在问答数据集中对应的答案之间的误差,对自动问答模型进行调整。通过问答数据集中的多个问答对,对自动问答模型进行多次调整,得到训练好的自动问答模型。其中,训练过程的详细操作,可以参照上述通过训练好的自动问答模型对自然语言问句进行答案生成的过程,不再赘述。
本发明实施例中,根据领域词典获得与自然语言问句相关的多个关键词,将多个关键词与自然语言问句进行融合,得到融合了知识信息的自然语言问句,通过自动问答模型中的编码器对融合了知识信息的自然语言问句进行编码,得到编码向量,通过自动问答模型中的解码器对编码向量进行解码,得到自然语言问句的答案,提高了知识融合效果,有效地解决了自动问答模型的知识匮乏,提高了自动问答的答案的准确性。
实施例三:
图4示出了本发明实施例三提供的自动问答装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
问句获取单元41,用于获取自然语言问句;
关键词获取单元42,用于根据预先构建的领域词典,获得与自然语言问句相关的多个关键词;
答案生成单元43,用于根据自然语言问句和多个关键词,通过预先训练好的自动问答模型,生成自然语言问句的答案。
在一种可能的实现方式中,关键词获取单元42具体用于:
对自然语言问句进行分词处理,得到自然语言问句中的多个词语;
根据领域词典,对自然语言问句中的多个词语进行筛选,得到与自然语言问句相关的多个关键词。
在一种可能的实现方式中,答案生成单元43具体用于:
根据自然语言问句和多个关键词,对自然语言问句进行知识融合,得到融合了知识信息的自然语言问句;
对融合了知识信息的自然语言问句进行编码,得到与融合了知识信息的自然语言问句对应的编码向量;
对编码向量进行解码,得到自然语言问句的答案。
在一种可能的实现方式中,答案生成单元43具体用于:
对多个关键词进行向量化,得到第一向量和第二向量;
对自然语言问句进行向量化,得到问句向量;
确定第一向量与问句向量之间的权重参数;
根据第一向量与问句向量之间的权重参数、第二向量以及问句向量,进行知识融合,得到融合了知识信息的自然语言问句。
在一种可能的实现方式中,自然语言问句模型包括编码器,编码器包括多个第一网络层,各第一网络层包括多头注意力层和前馈网络层;
答案生成单元43具体用于:
通过各第一网络层,依次对融合了知识信息的自然语言问句进行编码,得到编码向量。
在一种可能的实现方式中,自然语言问句模型包括解码器,解码器包括多个第二网络层、线性层和归一化层,各第二网络层包括多头注意力层和前馈神经网络层;
答案生成单元43具体用于:
根据编码向量、融合了知识信息的自然语言问句、预设的词汇表和预设的拷贝分布,通过解码器,生成答案。
在一种可能的实现方式中,答案生成单元43具体用于:
根据第Z-1次解码得到的词语和编码向量,通过解码器得到第Z次解码中词汇表的词汇分布,Z大于等于2;
根据预设的拷贝分布和词汇表中各词语在融合了知识信息的自然语言问句中的出现次数,更新词汇表的词汇分布;
按照词汇表更新后的词汇分布,在词汇表中进行词语选取,选取的词语为第Z次解码得到的词语。
在本发明实施例中,自动问答装置的具体实现和达到的技术效果可参照相应方法实施例一和实施例二的具体描述,不再赘述。
本发明实施例中,获取自然语言问句,根据预先构建的领域词典,获得与自然语言问句相关的多个关键词,根据自然语言问句和多个关键词,通过训练得到的自动问答模型,生成自然语言问句的答案,有效地提高了关键词的提取效果,解决了自动问答模型的知识匮乏问题,进而提高了答案的准确性。
在本发明实施例中,自动问答装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
实施例四:
图5示出了本发明实施例四提供的电子设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
本发明实施例的电子设备包括处理器50、存储器51以及存储在存储器51中并可在处理器50上运行的计算机程序52。该处理器50执行计算机程序52时实现上述各个方法实施例中的步骤,例如,图1所示的步骤S101至S103,或者,图2所示的步骤S201至S205。或者,处理器50执行计算机程序52时实现上述各装置实施例中各单元的功能,例如图4所示单元41至43的功能。
在本发明实施例中,获取自然语言问句,根据预先构建的领域词典,获得与自然语言问句相关的多个关键词,根据自然语言问句和多个关键词,通过训练得到的自动问答模型,生成自然语言问句的答案,有效地提高了关键词的提取效果,解决了自动问答模型的知识匮乏问题,进而提高了答案的准确性。
本发明实施例的电子设备可以为计算机、服务器,服务器可以为单个服务器也可以为服务器群,可为分布式服务器,也可为集中式服务器,还可以为云服务器。该电子设备中处理器50执行计算机程序52时实现自动问答方法时实现的步骤可参考前述方法实施例的描述,在此不再赘述。
实施例五:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例中的步骤,例如,图1所示的步骤S101至S103,或者,图2所示的步骤S201至S205。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图4所示单元41至43的功能。
在本发明实施例中,获取自然语言问句,根据预先构建的领域词典,获得与自然语言问句相关的多个关键词,根据自然语言问句和多个关键词,通过训练得到的自动问答模型,生成自然语言问句的答案,有效地提高了关键词的提取效果,解决了自动问答模型的知识匮乏问题,进而提高了答案的准确性。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种自动问答方法,其特征在于,所述方法包括下述步骤:
获取自然语言问句;
根据预先构建的领域词典,获得与所述自然语言问句相关的多个关键词;
根据所述自然语言问句和所述多个关键词,通过预先训练好的自动问答模型,生成所述自然语言问句的答案,所述自动问答模型包括解码器,所述解码器包括多个第二网络层、线性层和归一化层,各所述第二网络层包括多头注意力层和前馈神经网络层;
其中,所述根据所述自然语言问句和所述多个关键词,通过预先训练好的自动问答模型,生成所述自然语言问句的答案,包括:根据所述自然语言问句和所述多个关键词,对所述自然语言问句进行知识融合,得到融合了知识信息的自然语言问句;对所述融合了知识信息的自然语言问句进行编码,得到与所述融合了知识信息的自然语言问句对应的编码向量;对所述编码向量进行解码,得到所述自然语言问句的答案;
所述对所述编码向量进行解码,得到所述自然语言问句的答案,包括:根据所述编码向量、所述融合了知识信息的自然语言问句、预设的词汇表和预设的拷贝分布,通过所述解码器,生成所述答案;
所述根据所述编码向量、所述融合了知识信息的自然语言问句、预设的词汇表和预设的拷贝分布,通过所述解码器,生成所述答案,包括:根据第Z-1次解码得到的词语和所述编码向量,通过所述解码器得到第Z次解码中所述词汇表的词汇分布,所述Z大于等于2;根据预设的拷贝分布和所述词汇表中各词语在所述融合了知识信息的自然语言问句中的出现次数,更新所述词汇表的词汇分布;按照所述词汇表更新后的词汇分布,在所述词汇表中进行词语选取,选取的词语为第Z次解码得到的词语。
2.根据权利要求1所述的方法,其特征在于,所述根据预先构建的领域词典,获得与所述自然语言问句相关的多个关键词,包括:
对所述自然语言问句进行分词处理,得到所述自然语言问句中的多个词语;
根据所述领域词典,对所述自然语言问句中的多个词语进行筛选,得到与所述自然语言问句相关的多个关键词。
3.根据权利要求1所述的方法,其特征在于,所述根据所述自然语言问句和所述多个关键词,对所述自然语言问句进行知识融合,得到融合了知识信息的自然语言问句,包括:
对所述多个关键词进行向量化,得到第一向量和第二向量;
对所述自然语言问句进行向量化,得到问句向量;
确定所述第一向量与所述问句向量之间的权重参数;
根据所述第一向量与所述问句向量之间的权重参数、所述第二向量以及所述问句向量,进行知识融合,得到所述融合了知识信息的自然语言问句。
4.根据权利要求1所述的方法,其特征在于,所述自动问答模型包括编码器,所述编码器包括多个第一网络层,各所述第一网络层包括多头注意力层和前馈网络层;
所述对所述融合了知识信息的自然语言问句进行编码,得到与所述融合了知识信息的自然语言问句对应的编码向量,包括:
通过所述各第一网络层,依次对所述融合了知识信息的自然语言问句进行编码,得到所述编码向量。
5.一种自动问答装置,其特征在于,所述装置包括:
问句获取单元,用于获取自然语言问句;
关键词获取单元,用于根据预先构建的领域词典,获得与所述自然语言问句相关的多个关键词;
答案生成单元,用于根据所述自然语言问句和所述多个关键词,通过预先训练好的自动问答模型,生成所述自然语言问句的答案,所述自动问答模型包括解码器,所述解码器包括多个第二网络层、线性层和归一化层,各所述第二网络层包括多头注意力层和前馈神经网络层;
其中,所述答案生成单元在根据所述自然语言问句和所述多个关键词,通过预先训练好的自动问答模型,生成所述自然语言问句的答案时,包括:根据所述自然语言问句和所述多个关键词,对所述自然语言问句进行知识融合,得到融合了知识信息的自然语言问句;对所述融合了知识信息的自然语言问句进行编码,得到与所述融合了知识信息的自然语言问句对应的编码向量;对所述编码向量进行解码,得到所述自然语言问句的答案;
所述对所述编码向量进行解码,得到所述自然语言问句的答案,包括:根据所述编码向量、所述融合了知识信息的自然语言问句、预设的词汇表和预设的拷贝分布,通过所述解码器,生成所述答案;
所述根据所述编码向量、所述融合了知识信息的自然语言问句、预设的词汇表和预设的拷贝分布,通过所述解码器,生成所述答案,包括:根据第Z-1次解码得到的词语和所述编码向量,通过所述解码器得到第Z次解码中所述词汇表的词汇分布,所述Z大于等于2;根据预设的拷贝分布和所述词汇表中各词语在所述融合了知识信息的自然语言问句中的出现次数,更新所述词汇表的词汇分布;按照所述词汇表更新后的词汇分布,在所述词汇表中进行词语选取,选取的词语为第Z次解码得到的词语。
6.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011005255.9A CN112131363B (zh) | 2020-09-23 | 2020-09-23 | 自动问答方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011005255.9A CN112131363B (zh) | 2020-09-23 | 2020-09-23 | 自动问答方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131363A CN112131363A (zh) | 2020-12-25 |
CN112131363B true CN112131363B (zh) | 2023-05-05 |
Family
ID=73841610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011005255.9A Active CN112131363B (zh) | 2020-09-23 | 2020-09-23 | 自动问答方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131363B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113240046B (zh) * | 2021-06-02 | 2023-01-03 | 哈尔滨工程大学 | 一种基于知识的视觉问答任务下的多模态信息融合方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829719A (zh) * | 2018-05-07 | 2018-11-16 | 中国科学院合肥物质科学研究院 | 一种非事实类问答答案选择方法及系统 |
CN109697228A (zh) * | 2018-12-13 | 2019-04-30 | 平安科技(深圳)有限公司 | 智能问答方法、装置、计算机设备及存储介质 |
CN109992669A (zh) * | 2019-04-08 | 2019-07-09 | 浙江大学 | 一种基于语言模型和强化学习的关键词问答方法 |
CN110297893A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 自然语言问答方法、装置、计算机装置及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10268671B2 (en) * | 2015-12-31 | 2019-04-23 | Google Llc | Generating parse trees of text segments using neural networks |
US10726313B2 (en) * | 2018-04-19 | 2020-07-28 | Adobe Inc. | Active learning method for temporal action localization in untrimmed videos |
-
2020
- 2020-09-23 CN CN202011005255.9A patent/CN112131363B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829719A (zh) * | 2018-05-07 | 2018-11-16 | 中国科学院合肥物质科学研究院 | 一种非事实类问答答案选择方法及系统 |
CN109697228A (zh) * | 2018-12-13 | 2019-04-30 | 平安科技(深圳)有限公司 | 智能问答方法、装置、计算机设备及存储介质 |
CN109992669A (zh) * | 2019-04-08 | 2019-07-09 | 浙江大学 | 一种基于语言模型和强化学习的关键词问答方法 |
CN110297893A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 自然语言问答方法、装置、计算机装置及存储介质 |
Non-Patent Citations (4)
Title |
---|
Jongkwang Hong 等.Selective residual learning for Visual Question Answering.《Neurocomputing》.2020,第402卷366-374. * |
Yongrui Chen 等.DAM: Transformer-based relation detection for Question Answering over Knowledge Base.《Knowledge-Based Systems》.2020,第201–202卷1-8. * |
李童俊.基于深度学习的开放领域自动问答系统的研究和应用.《中国优秀硕士学位论文全文数据库 信息科技辑》.2019,(第08(2019)期),I138-1351. * |
杨静莹.融合知识表示的生成式自动问答模型研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2021,(第10(2021)期),I138-199. * |
Also Published As
Publication number | Publication date |
---|---|
CN112131363A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188358B (zh) | 自然语言处理模型的训练方法及装置 | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
US11397892B2 (en) | Method of and system for training machine learning algorithm to generate text summary | |
CN109214006B (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN111241807B (zh) | 一种基于知识引导注意力的机器阅读理解方法 | |
US11663406B2 (en) | Methods and systems for automated detection of personal information using neural networks | |
CN113065331A (zh) | 基于实体上下文判别的实体情感识别方法和系统 | |
CN110807335A (zh) | 基于机器学习的翻译方法、装置、设备及存储介质 | |
CN112463924B (zh) | 面向智能问答基于内部相关性编码的文本意图匹配方法 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN113779225A (zh) | 实体链接模型的训练方法、实体链接方法及装置 | |
CN112131363B (zh) | 自动问答方法、装置、设备及存储介质 | |
US11941360B2 (en) | Acronym definition network | |
CN112035627B (zh) | 自动问答方法、装置、设备及存储介质 | |
Li et al. | Neural-symbolic recursive machine for systematic generalization | |
Wakchaure et al. | A scheme of answer selection in community question answering using machine learning techniques | |
CN116501864A (zh) | 交叉嵌入式注意力BiLSTM多标签文本分类模型、方法及设备 | |
Chowdhury et al. | A continuous space neural language model for bengali language | |
CN116150334A (zh) | 基于UniLM模型和Copy机制的中文共情语句训练方法及系统 | |
CN116384371A (zh) | 一种基于bert和依存句法联合实体及关系抽取方法 | |
CN111680151B (zh) | 一种基于层次化transformer的个性化商品评论摘要生成方法 | |
CN111967253A (zh) | 一种实体消歧方法、装置、计算机设备及存储介质 | |
CN110502226B (zh) | 在编程环境中推荐代码的方法和装置 | |
US20230168989A1 (en) | BUSINESS LANGUAGE PROCESSING USING LoQoS AND rb-LSTM | |
CN113822018B (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 |