CN111966812A - 一种基于动态词向量的自动问答方法和存储介质 - Google Patents
一种基于动态词向量的自动问答方法和存储介质 Download PDFInfo
- Publication number
- CN111966812A CN111966812A CN202011122351.1A CN202011122351A CN111966812A CN 111966812 A CN111966812 A CN 111966812A CN 202011122351 A CN202011122351 A CN 202011122351A CN 111966812 A CN111966812 A CN 111966812A
- Authority
- CN
- China
- Prior art keywords
- question
- sentence
- representation
- original text
- word
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
- 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
-
- 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/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了一种基于动态词向量的自动问答方法和存储介质,通过基于语义词掩码的动态词向量模型来构建动态词向量模型,以问题和相应的原文作为输入,来结合上下文语义生成更具语义信息的问题和原文的向量表示,从而可以有效应对“一词多义”问题,提高答案生成的精准度。
Description
技术领域
本发明属于自动问答技术领域,具体是涉及到一种基于动态词向量的自动问答方法和存储介质。
背景技术
在自动问答技术领域,基于语言模型的词向量方法是通过训练好神经网络语言模型来生成词向量,该类方法的基本思想是根据原文里上下句中的词进行预测,本质上是对共现词进行特征统计的学习。基于语言模型的词向量构建模型主要分为两大类,静态模型和动态模型。由于静态词向量建模方法无法有效应对“一词多义”问题,导致其生成的词向量所蕴含的语义信息不够精确,降低了自动问答模型的性能。因此研究者们提出的动态词向量模型在自动问答技术领域的应用被予以重视
动态词向量建模方法首先基于大规模无监督语料库进行语言模型的预训练,然后在下游目标任务中采用该模型进行输入原文的编码嵌入表示。现有的基于动态词向量建模方法一为基于ELMo(Embeddings from Language Model)的方法,ELMo采用Bi-LSTM模型,即由一个前向和后向的语言模型构成,首先通过多层的LSTM来学习单词用法的复杂特征,接着将前向LSTM模型得到的特征表示和后向LSTM模型得到的特征表示进行拼接,若有多层LSTM,则会将每层得到的特征表示进行加权求和,此外权重会根据下游任务一起训练得到。由于在方法一中,LSTM应对长序列原文的能力较弱基于,动态词向量建模方法二—基于GPT(Generative Pre-Training)模型的方法被提出。GPT采用Transformer语言模型,可以更好捕获长距离语言结构。但是GPT采用的Transformer结构是单向的,仅根据上文来预测某个词,而不能结合上下文来进行所述预测。因此,基于动态词向量建模方法三—基于BERT(Bidirectional Encoder Representation from Transformers)模型的方法应运而生,其采用基于双向Transformer的架构,并利用掩码语言模型(Masked Language Model, MLM)和句子预测(Next Sentence Prediction, NSP)两种训练任务来分别捕捉词语和句子级别的特征表示,不仅可以更高效地捕捉更长距离的依赖,而且可以捕捉双向的上下文信息。方法三由于在预训练阶段,使用了掩码操作,很容易导致预训练与精调之间不匹配的问题。研究者们在BERT的基础上提出了基于动态词向量建模方法四—RoBERTa(Robustlyoptimized BERT Pretraining approach)方法。RoBERTa相对于BERT而言,从四个方面优化了预训练方法:1)采用动态掩码代替静态掩码,即BERT在预训练时,一开始随机选择的需要掩码的Tokens将保持不变,而RoBERTa选定的需要掩码的Tokens将会随着训练的进行而改变;2)去掉了句子预测的训练任务;3)采用更大的batch进行训练;4)采用更多的训练数据和更长的训练时间。
然而,现有的方法四虽然通过优化预训练方法,提高了词向量模型的性能,但是其预训练任务是基于字掩码进行的,即随机遮掩句子中的某些字,然后通过预测被遮掩的字,来捕捉语义特征表示。这种预训练方式并不适用于构建中文的词向量模型,因为中文更注重词的语义表示,通过预测随机遮掩的字,并不能很好捕捉中文的词语层次的语义。
发明内容
有鉴于此,本发明提供了一种基于动态词向量的自动问答方法和存储介质,以解决现有技术在进行自动问答时不能很好的捕捉中文的词语层的语义而造成了答案预测的精准度不高的问题。
一种基于动态词向量的自动问答方法,包括:
步骤1:基于语义词掩码对动态词向量模型进行预训练,
步骤2:通过预训练好的所述动态词向量模型对问题和所述问题的答案所在的原文进行词向量转化,以分别将所述问题和原文转化成问题词向量和原文词向量,
步骤3:将所述问题词向量和原文词向量分别输入至编码层,通过所述编码层抽取所述问题词向量和所述原文词向量的语义特征,以输出第一问题表示和第一原文表示,
步骤4:建立所述第一问题表示和第一原文表示的匹配关系,再根据所述匹配关系将所述第一问题表示和第一原文表示进行语义融合,以获得带有问题信息的第二原文表示,
步骤5:通过带有记忆功能的答案指针网络记录所述问题的信息并从所述第二原文表示中获得所述问题的答案首尾位置索引的分布概率,
步骤6:计算答案首尾位置索引的联合分布概率,选择最大的所述联合分布概率对应的首尾位置索引确定的答案作为自动问答过程中的预测答案。
优选地,在所述步骤1中,采用中文数据库中的数据集作为所述动态词向量模型的预训练数据集,所述步骤1包括:
步骤11:采用中文分词器对所述预训练数据集中的预训练输入文本进行第一次分词,以将所述预训练输入文本分为多个所述语义词,并将所述语义词进行标记,多个所述语义词中的至少一个词包括两个字,
步骤12:采用WordPiece分词器对所述预训练输入文本进行第二次分词,以将所述预训练输入文本分为多个字,
步骤13:将第二次分词后的所述预训练输入文本中的部分字随机遮掩,
步骤14:根据所述标记的语义词确定与所述部分字中的各个字属于相同的语义词的各个其它字,
步骤15:遮掩所述预训练输入文本中的所述其它字,以对预训练输入文本中的语义词进行掩码,
步骤16:将进行语义词掩码操作后的所述预训练输入文本输入至所述动态词向量模型中,以预训练所述动态词向量模型预测被遮掩的所述语义词。
优选地,所述步骤2包括:
步骤21:对所述问题和原文进行分词处理,
步骤22:在分词后的问题和原文的首尾分别加上分类符和分隔符,以获得问题输入序列和原文输入序列,
步骤23:将问题输入序列和原文输入序列中的各个元素对应的表示特征输入到预训练好的所述动态词向量模型中,以使得所述动态词向量模型结合所述原文中的上下文语境将所述问题和所述原文分别转换成所述问题词向量和所述原文词向量,
其中,所述表示特征包括词的索引,句子标记和掩码标记,所述词的索引是指其在所述Wordpiece分词器中的索引位置,所述句子标记是指其所在句的句子索引,当所述问题中的问题句与原文中的原文句拼接在一起时,所述问题句的句子索引为0,所述原文句的句子索引为1,所述掩码标记用来提前标记无意义所述元素,使得无意义的所述元素不参与执行所述自动问答方法的自动问答模型的训练,无意义的所述元素的值为0。
优选地,所述动态词向量模型为RoBERTa模型,所述RoBERTa模型对所述问题和所述原文进行动态词向量转换,以获得所述问题词向量表示和原文词向量表示,
将所述问题和所述原文输入至预训练好的所述RoBERTa模型之前,先对所述问题和所述原文进行分词,并在所述问题和所述原文的首尾分别加上分类符和分隔符,以分别获得所述问题输入序列和原文输入序列,最后再将所述问题输入序列和所述原文序列分别输入至所述RoBERTa模型。
优选地,采用莱斯杯数据集对所述自动问答模型进行所述训练,在进行所述训练之前,所述自动问答方法还包括对所述莱斯杯数据集中的数据进行预处理,所述预处理包括:
将所述莱斯杯数据集中的问题和原文进行数据转化与筛选,以去除所述原文中的噪声和错误的信息,
在所述原文的长度大于预设长度时,从所述原文中抽取核心原文,
在所述原文中进行答案标记。
优选地,从所述原文中抽取核心文本的步骤包括:
对所述原文进行分句,以获得句子列表,按照预设规则从句子列表中抽取句子构成所述核心原文,直到所述核心原文达到设定的最大长度时,停止所述抽取,
所述预设抽取规则为按照先后顺序依次抽取所述原文的标题句、核心句、所述核心句的下一句、所述原文的尾句、所述原文的首句、第一蕴含句、第二蕴含句、第三蕴含句、所述核心句往下的第二句、所述核心句的上一句、所述核心句的往下的第三句、所述核心句往上的第二句,
其中,所述核心句尾与问题句匹配度最高的句,所述第一蕴含句包含所述问题句中的第一部分信息,所述第二蕴含句包含所述问题句中的第二部分信息,所述第三蕴含句包含所述问题句中的第三部分信息。
优选地,所述步骤4包括:
步骤41:根据所述问题和所述原文之间的匹配关系,以获得第一匹配矩阵,所述第一匹配矩阵中的第i行第j列的元素表示当前时刻所述第一问题表示的第i个元素和上一时刻所述第一原文表示的第j个元素之间的相似度,
步骤42:归一化所述第一匹配矩阵中第j列元素,以获得所述问题对所述原文中的第j个元素的第一注意力分布表示,
步骤43:将所述第一问题表示和所述第一注意力分布表示做内积,以获得基于原文注意力的第二问题表示,
步骤44:将上一时刻的第一原文表示中的第j个元素和当前时刻的所述第二问题表示进行语义融合,以获得融合表示中的第j个元素,
步骤45:根据不同时刻的所述融合表示之间的匹配关系,以获得第二匹配矩阵,所述第二匹配矩阵中的k行第n列的元素表示当前时刻所述融合表示里的第k个元素和上一时刻所述融合表示里的第n个元素之间的关联度,若k=n,则所述第二匹配矩阵中的k行第n列的元素为0,
步骤46:归一化所述第二匹配矩阵中第n列元素,以获得当前时刻的所述融合表示对上一时刻的所述融合表示中的n个元素的第二注意力分布表示,
步骤47:将所述第一原文表示和所述第二注意力分布表示做内积,以获得基于原文注意力的注意力原文表示,
步骤48:将上一时刻的所述融合表示中的第n个元素和当前时刻的所述注意力原文表示进行语义融合,以获得注意力融合表示中的第n个元素,从而确定所述注意力融合表示,
步骤49:将所述注意力融合表示中的各个元素通过循环神经网络进行拟合,以获得所述第二原文表示。
优选地,所述步骤5包括:
步骤51:设定记忆向量,通过所述记忆向量记录所述问题的信息,所述记忆向量的初始状态与所述问题表示的最终状态相同,
步骤52:设定所述答案指针网络进行迭代的次数,将所述记忆向量和所述第二原文表示进行非线性拟合,以确定所述答案在所述原文中的首尾位置索引对应的分布概率,
步骤53:根据所述分布概率和所述第二原文表示的内积获得证据向量,
步骤54:采用语义融合的方式利用所述证据向量对所述记忆向量进行更新,以获得更新记忆网络,
步骤55:将所述更新的记忆向量和所述第二原文表示进行非线性拟合,以更新所述答案在所述原文中的首尾位置索引对应的分布概率。
优选地,所述步骤1中所用的模型参数为固定参数,
所述步骤49中的循环神经网络为长短记忆神经循环网络。
一种存储介质,所述存储介质为可读存储介质,所述可读存储介质上存储的计算机程序被处理器执行时实现如上述任意一项所述的自动问答方法。
本发明的有益效果是:本发明提供的自动问答方法中,通过基于语义词掩码预训练的动态词向量模型以问题和原文作为输入,来结合上下文语境信息构建能够表达更加精确语义信息的问题和原文的动态词向量模型,从而可以有效应对“一词多义”问题,预测精准度较高的答案。一方面,由于动态词向量模型采用RoBERTa模型,而RoBERTa模型为双向Transformer架构模型,其不仅可以高效捕捉更长距离的语义依赖关系,而且可以获取双向的上下文信息来生成语义信息更丰富的向量表示,另一方面RoBERTa模型采用语义词掩码的预训练任务,能够在中文语境中更好地抽取词级别的语义特征。
附图说明
图1 依据本发明提供的基于动态词向量的自动问答方法流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所产生的所有其他实施例,都属于本发明保护的范围。此外需要说明的是,在具体实施方式这一项内容中“所述…”是仅指本发明的中的技术属于或特征。
图1为依据本发明实施例提供的一种基于动态词向量的自动问答方法,其主要包括步骤1至步骤6。
步骤1:基于语义词掩码对动态词向量模型进行预训练。
所述动态词向量模型为RoBERTa模型,所述RoBERTa模型对所述问题和所述原文进行动态词向量转换,以获得所述问题词向量表示和原文词向量表示,
将所述问题和所述原文输入至训练好的所述RoBERTa模型之前,先对所述问题和所述原文进行分词,并在所述问题和所述原文的首尾分别加上分类符和分隔符,以分别获得所问题序列和原文序列,最后再将所述问题序列和所述原文序列分别输入至所述RoBERTa模型。
述RoBERTa模型采用中文数据库,如中文维基、百科、新闻、问答等数据作为预训练使用的数据集。当所述RoBERTa模型在大规模中文语料数据上预训练得到词向量模型时,本发明选择Feature-based的方式,仅将预训练好的所述RoBERTa模型模型用于生成词向量生成模型,故在执行整个自动问答步骤流程的自动问答模型中,所述述RoBERTa模型的参数为固定值,即该参数不参与执行所述自动问答模型的梯度更新,从而可以减小所述自动问答模型的参数规模与训练难度。
具体,对所述RoBERTa模型进行所述预训练的步骤包括步骤11至步骤16:
步骤11:采用中文分词器(jieba中文分词器)对所述预训练数据集中的预训练输入文本进行第一次分词,以将所述预训练输入文本分为多个所述语义词,并将所述语义词进行标记,多个所述语义词中的至少一个词包括两个字。
步骤12:采用WordPiece分词器对预训练输入文本进行第二次分词,以将所述预训练输入文本分为多个字。
步骤13:将第二次分词(分成一个个中文字)后的所述预训练输入文本中的部分字随机遮掩。
步骤14:根据所述标记的语义词确定与所述部分字中的各个字属于相同的语义词的各个其它字。
步骤15:遮掩所述预训练输入文本中的所述其它字,以对预训练输入文本中的语义词进行掩码。
步骤16:将进行语义词掩码操作后的所述预训练输入文本输入至所述动态词向量模型中,以预训练所述动态词向量模型预测被遮掩的所述语义词。
例如原句为:祝2020届硕士毕业生顺利毕业。由于WordPiece的中文词汇表仅收录了中文的字,并没有收录中文的词,所以分词实际上是按字进行切分,那么在进行第一次分词后所述原句变为:祝 2020 届 硕士 毕业生 顺利 毕业,而在进行第二分词后的原句变为:祝 2020 届 硕 士 毕 业 生 顺 利 毕 业。当我们随机遮掩第二次分词后的原句中的部分字时,其变为:祝 2020 届 [MASK] 士 毕 业 生 顺 [MASK] 毕 业。然后我们再根据第一词分词中所进行的标记的语义词进行再次掩码操作,以将与所述部分词属于同一个语义词的其它字也被遮掩住,使得所述原句变为:祝 2020 届 [MASK] [MASK] 毕 业 生[MASK] [MASK] 毕 业。
步骤2:通过预训练好的所述动态词向量模型对所述问题和所述问题的答案所在的原文进行词向量转化,以分别将所述问题和原文转化成问题词向量和原文词向量。
具体的,所述步骤进一步包括:步骤21至步骤23:
步骤21:对所述问题和原文进行分词处理,所述分词处理可以为先对所述问题和原文进行中文分词,在用WordPiece分词器进行分词,也可以仅仅只用WordPiece分词器进行分词,这里所说的词实际上为一个个单独的中文字。
步骤22:在分词后的问题和原文的首尾分别加上分类符和分隔符,以获得问题输入序列和原文输入序列。
步骤23:将问题输入序列和原文输入序列中的各个元素对应的表示特征输入到预训练好的所述动态词向量模型中,以使得所述动态词向量模型结合所述原文中的上下文语境将所述问题和所述原文分别转换成所述问题词向量和所述原文词向量。在本实施例中,以Feature-based方式使用RoBERTa模型获得所述问题词向量和原文词向量。
其中,所述表示特征包括词的索引,句子标记和掩码标记,所述词的索引是指其在所述Wordpiece分词器中的索引位置,所述句子标记是指其所在句的句子索引,当所述问题中的问题句与原文中的原文句拼接在一起时,问题句的句子索引为0,原文句的句子索引为1,所述掩码标记用来提前标记无意义所述元素,使得无意义的所述元素不参与执行所述自动问答方法的自动问答模型的训练。本发明对所述自动问答模型进行训练所采用的数据集是在中电莱斯集团发布的中文军事阅读理解数据集(Les Military Machine ReadingComprehension, LesMMRC),即莱斯杯数据集。
因为后续步骤3中所用编码层通常为长短记忆网络神经网络模型,而采用长短记忆网络神经网络模型进行特征抽取时,需要保证输入数据的维度是一致的,所以当某些问题或原文的长度不够时,需要在其输入序列后补0,而补充的0是无意义的输入,需要提前标记,使得输入序列中这些补充的0不参与整个自动问答模型的梯度计算。
步骤3:将所述问题词向量和原文词向量分别输入至编码层,以通过所述编码层抽取所述问题词向量和所述原文词向量的语义特征,以输出第一问题表示和第一原文表示。
步骤4:建立所述第一问题表示和第一原文表示的匹配关系,再根据所述匹配关系将所述第一问题表示和第一原文表示进行语义融合,以获得带有问题信息的第二原文表示。
步骤5:通过带有记忆功能的答案指针网络记录所述问题的信息并从所述第二原文表示中获得所述问题的答案首尾位置索引对应的分布概率。
步骤6:计算答案首尾位置索引的联合分布概率,选择最大的所述联合分布概率对应的首尾位置索引确定的答案作为自动问答过程中的预测答案。
采用莱斯杯数据集对RoBERTa进行所述训练,在对所述RoBERTa中进行所述训练之前,所述自动问答方法还包括对所述训练数据集中的数据进行预处理,所述预处理包括:将所述问题和原文进行数据转化与筛选,以去除所述原文中的噪声和错误的信息,在所述原文的长度大于预设长度时,从所述原文中抽取核心文本,在所述原文中进行答案标记。
由于对所述RoBERTa模型进行训练和测试的数据集中存在大量噪声、冗余、不完整性数据等,因此,我们需要对所述数据集进行数据清理。具体来讲,所述数据清理处理包括上述核心原文抽取的操作外,还包括数据转化与筛选以及答案标记。
由于原始输入的问题和原文这些输入数据中含有大量噪声,所述噪声主要包括繁简体、全半角、答案句首尾标点等,因此,我们需要对输入的数据按照以下6点方式进行转换:
(1)将数据集中所有的繁体字全部转换为简体字;
(2)将数据集中所有的全角数字转换为半角数字;
(3)将数据集中所有的全角字母转换为半角字母;
(4)除去数据集中所有答案的首尾标点;
(5)将数据集中的间隔符转换为空格,如‘\u8000’,‘\t’;
(6)除去数据集里标题、文档、问题、答案的句首尾空格。
此外,由于原始的输入数据中有些数据是错误的,本发明对错误数据类型采用删除的方式进行处理处理,所述错误数据类型如下:
(1)原文的标题和问题重复;
(2)问题和答案重复;
(3)问题、所述标题、原文、答案为空。
所述自动问答方法通过对分词后的原文的首尾索引位置进行预测,以达到抽取答案的目的。然而,有较多的答案在原文中出现过不止一次,重复答案的比率在20%左右,因此我们需要对答案进行标记,进行所述答案标记的规则如下:
(1)对原文和问题的答案进行分词;
(2)检测所述答案分词列表在原文列表中出现的次数;
(3)当出现次数大于1时,将候选答案的前后扩展5个字,取与问题的ROUGE-L匹配;度最高的候选项作为标准答案,若存在多个最高项的情况,则按出现的先后顺序;
(4)当出现次数等于1时,直接返回答案索引;
(5)当出现次数小于1时,丢弃。
此外,由于存在篇幅较长的原文,所以不能直接对原文进行处理,需要对原文中核心内容进行抽取,再将其输入至所述RoBERTa模型。因此,在所述答案目标问题原文的长度大于预设长度时,在所述步骤11和步骤12之间还包括步骤10:对所述答案目标问题原文进行核心原文提取。所述核心原文提取的步骤为:对所述目标问题原文进行分句,以获得句子列表,按照预设规则从句子列表中抽取句子构成所述核心原文,直到所述核心原文达到设定的最大长度时,停止所述抽取。其中,所述预设抽取规则为按照先后顺序依次抽取所述原文的标题句、核心句、所述核心句的下一句、所述原文的尾句、所述原文的首句、第一蕴含句、第二蕴含句、第三蕴含句、所述核心句往下的第二句、所述核心句的上一句、所述核心句的往下的第三句、所述核心句往上的第二句。所述核心句尾与问题句匹配度最高的句,所述第一蕴含句包含所述问题句中的第一部分信息,所述第二蕴含句包含所述问题句中的第二部分信息,所述第三蕴含句包含所述问题句中的第三部分信息。
所述步骤1主要通过基于RoBERTa模型的表示层来实现问题和原文的动态词向量的表示,而在所述步骤3中通过基于神经网络的编码层来实现问题和原文的进一步特征的提取表示。所述步骤4主要是通过包含迭代对齐模块、自对齐模块和语义平滑模块的匹配层来实现的,具体实现步骤如步骤41至步骤49所示:
步骤41:根据所述问题和所述原文之间的匹配关系,以获得第一匹配矩阵,所述第一匹配矩阵中的第i行第j列的元素表示当前时刻所述第一问题表示里的第i个元素和上一时刻所述原文里的第j个元素之间的相似度。
步骤42:归一化所述第一匹配矩阵中第j列元素,以获得所述问题对所述原文中的第j个元素的第一注意力分布表示。
步骤43:将所述第一问题表示和所述第一注意力分布表示做内积,以获得基于原文注意力的第二问题表示。
步骤44:将上一时刻的第一原文表示中的第j个元素和当前时刻的所述第二问题表示进行语义融合,以获得融合表示中的第j个元素。
步骤45:根据不同时刻的所述融合表示之间的匹配关系,以获得第二匹配矩阵,所述第二匹配矩阵中的k行第n列的元素表示当前时刻所述融合表示里的第k个元素和上一时刻所述融合表示里的第n个元素之间的关联度,若k=n,则所述第二匹配矩阵中的k行第n列的元素为0。
步骤46:归一化所述第二匹配矩阵中第n列元素,以获得当前时刻的所述融合表示对上一时刻的所述融合表示中的n个元素的第二注意力分布表示。
步骤47:将所述第一原文表示和所述第二注意力分布表示做内积,以获得基于原文注意力的注意力原文表示,
步骤48:将上一时刻的所述融合表示中的第n个元素和当前时刻的所述注意力原文表示进行语义融合,以获得注意力融合表示中的第n个元素,从而确定所述注意力融合表示。
步骤49:将所述注意力融合表示中的各个元素通过循环神经网络进行拟合,以获得所述第二原文表示。
下面将结合具体的公式计算来进一步阐述所述步骤41至49:
所述步骤4主要采用采用迭代机制,即每一个迭代块是由所述迭代对齐模块、自对齐模块以及语义平滑模块这三部分组成的,以下具体介绍这三部分的工作。
首先是迭代对齐模块,其主要是用来建立起所述原文与所述问题之间的匹配关系,通过内积来衡量这一匹配关系,以获得所述第一匹配矩阵,进而得到新的问题表示向量,这一步获得的向量用于后续计算带有问题的原文表示向量,整个计算过程如公式(1)~(4)所示:
通过语义融合单元SFU可以将问题信息很好地融入原文表示中,最终得到带有问题信息的原文表示,SFU计算方式如公式(6)~(8):
对于自对齐模块,其主要用于利用对原文表示中的重要信息进行强化操作,从而增加对整个长序列的认识。自对齐跟迭代对齐相比,两者的差异主要是在如何计算匹配关系矩阵上,迭代对齐计算的是原文p与问题q的匹配关系,自对齐则是计算原文表示与原文表示之间的匹配关系,所述第二匹配矩阵的计算方式如下列公式(9)所示:
所述步骤5主要是通过具体记忆功能的指针网络来实现的,其具体实现步骤包括步骤51至步骤55:
步骤51:设定记忆向量,通过所述记忆向量记录所述问题的信息,所述记忆向量的初始状态与所述问题表示的最终状态相同。
步骤52:设定所述答案指针网络进行迭代的次数,将所述记忆向量和所述第二原文表示进行非线性拟合,以确定所述答案在所述原文中的起始位置的起始分布概率。
步骤53:根据所述起始分布概率和所述第二原文表示的内积获得证据向量。
步骤54:采用语义融合的方式利用所述证据向量对所述记忆向量进行更新,以获得更新记忆网络。
步骤55:将所述更新记忆向量和所述第二原文表示进行非线性拟合,以更新所述首尾位置索引的分布概率。
下面同样结合具体的公式算法来进一步阐述所述步骤51至步骤55:
在本实施例中答案指针网络为带有记忆功能的答案指针网络,该网络增加了记忆向量,主要是用来记录在预测答案片段时的关键信息,记忆向量的初始状态与问题编码的终态相同[58]。设定答案指针网络中会包含L次迭代,那么在迭代时,答案起始位置的分布概率如公式(10)、(11)所示:
其中,代表答案起始位置的分布概率,FN是用来对输入信息进行非线性拟合操作的前馈神经网络。明确答案起始位置的分布概率 之后,可以得到证据向量,然后利用这一向量对记忆向量进行更新,具体计算公式如公式(12)所示:
其中,SFU仍表示语义融合单元。
跟计算答案起始位置分布概率的方法相似,答案终止位置分布概率的计算方法如公式(13)、(14)所示:
因为所述指针网络是独立计算所述候选答案首位置索引和尾位置索引的分布概率,所以该方法得到的答案首位置索引和尾位置索引是独立,故答案首尾位置索引的联合分布概率的计算如公式(15)所示:
此外,本发明还提供一种存储介质,所述存储介质为可读存储介质,所述可读存储介质上存储的计算机程序被处理器执行时实现依据本发明提供的任意一项所述的自动问答方法。
由上可见,本发明提供的自动问答方法及系统中,通过基于语义词掩码预训练的RoBERTa模型以问题和原文的上下文语境信息作为输入,来构建能够表达更加精确语义信息的问题和答案的动态词向量模型,从而可以有效应对“一词多义”问题。一方面,由于RoBERTa模型为双向Transformer架构模型,不仅可以高效捕捉更长距离的语义依赖关系,而且可以获取双向的上下文信息来生成语义信息更丰富的向量表示,另一方面RoBERTa模型采用语义词掩码的预训练任务,能够在中文语境中更好地抽取词级别的语义特征。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种基于动态词向量的自动问答方法,其特征在于,包括:
步骤1:基于语义词掩码对动态词向量模型进行预训练,
步骤2:通过预训练好的所述动态词向量模型对问题和所述问题的答案所在的原文进行词向量转化,以分别将所述问题和原文转化成问题词向量和原文词向量,
步骤3:将所述问题词向量和原文词向量分别输入至编码层,通过所述编码层抽取所述问题词向量和所述原文词向量的语义特征,以输出第一问题表示和第一原文表示,
步骤4:建立所述第一问题表示和第一原文表示的匹配关系,再根据所述匹配关系将所述第一问题表示和第一原文表示进行语义融合,以获得带有问题信息的第二原文表示,
步骤5:通过带有记忆功能的答案指针网络记录所述问题的信息并从所述第二原文表示中获得所述问题的答案首尾位置索引的分布概率,
步骤6:计算答案首尾位置索引的联合分布概率,选择最大的所述联合分布概率对应的首尾位置索引确定的答案作为自动问答过程中的预测答案。
2.根据权利要求1所述的自动问答方法,其特征在于,在所述步骤1中,采用中文数据库中的数据集作为所述动态词向量模型的预训练数据集,所述步骤1包括:
步骤11:采用中文分词器对所述预训练数据集中的预训练输入文本进行第一次分词,以将所述预训练输入文本分为多个所述语义词,并将所述语义词进行标记,多个所述语义词中的至少一个词包括两个字,
步骤12:采用WordPiece分词器对所述预训练输入文本进行第二次分词,以将所述预训练输入文本分为多个字,
步骤13:将第二次分词后的所述预训练输入文本中的部分字随机遮掩,
步骤14:根据所述标记的语义词确定与所述部分字中的各个字属于相同的语义词的各个其它字,
步骤15:遮掩所述预训练输入文本中的所述其它字,以对预训练输入文本中的语义词进行掩码,
步骤16:将进行语义词掩码操作后的所述预训练输入文本输入至所述动态词向量模型中,以预训练所述动态词向量模型预测被遮掩的所述语义词。
3.根据权利要求1所述的自动问答方法,其特征在于,所述步骤2包括:
步骤21:对所述问题和原文进行分词处理,
步骤22:在分词后的问题和原文的首尾分别加上分类符和分隔符,以获得问题输入序列和原文输入序列,
步骤23:将问题输入序列和原文输入序列中的各个元素对应的表示特征输入到预训练好的所述动态词向量模型中,以使得所述动态词向量模型结合所述原文中的上下文语境将所述问题和所述原文分别转换成所述问题词向量和所述原文词向量,
其中,所述表示特征包括词的索引,句子标记和掩码标记,所述词的索引是指其在所述Wordpiece分词器中的索引位置,所述句子标记是指其所在句的句子索引,当所述问题中的问题句与原文中的原文句拼接在一起时,所述问题句的句子索引为0,所述原文句的句子索引为1,所述掩码标记用来提前标记无意义所述元素,使得无意义的所述元素不参与执行所述自动问答方法的自动问答模型的训练,无意义的所述元素的值为0。
4.根据权利要求3所述的自动问答方法,其特征在于,所述动态词向量模型为RoBERTa模型,所述RoBERTa模型对所述问题和所述原文进行动态词向量转换,以获得所述问题词向量表示和原文词向量表示,
将所述问题和所述原文输入至预训练好的所述RoBERTa模型之前,先对所述问题和所述原文进行分词,并在所述问题和所述原文的首尾分别加上分类符和分隔符,以分别获得所述问题输入序列和原文输入序列,最后再将所述问题输入序列和所述原文序列分别输入至所述RoBERTa模型。
5.根据权利要求3所述的自动问答方法,其特征在于,采用莱斯杯数据集对所述自动问答模型进行所述训练,在进行所述训练之前,所述自动问答方法还包括对所述莱斯杯数据集中的数据进行预处理,所述预处理包括:
将所述莱斯杯数据集中的问题和原文进行数据转化与筛选,以去除所述原文中的噪声和错误的信息,
在所述原文的长度大于预设长度时,从所述原文中抽取核心原文,
在所述原文中进行答案标记。
6.根据权利要求5所述的自动问答方法,其特征在于,从所述原文中抽取核心文本的步骤包括:
对所述原文进行分句,以获得句子列表,按照预设规则从句子列表中抽取句子构成所述核心原文,直到所述核心原文达到设定的最大长度时,停止所述抽取,
所述预设抽取规则为按照先后顺序依次抽取所述原文的标题句、核心句、所述核心句的下一句、所述原文的尾句、所述原文的首句、第一蕴含句、第二蕴含句、第三蕴含句、所述核心句往下的第二句、所述核心句的上一句、所述核心句的往下的第三句、所述核心句往上的第二句,
其中,所述核心句尾与问题句匹配度最高的句,所述第一蕴含句包含所述问题句中的第一部分信息,所述第二蕴含句包含所述问题句中的第二部分信息,所述第三蕴含句包含所述问题句中的第三部分信息。
7.根据权利要求3所述自动问答方法,其特征在于,所述步骤4包括:
步骤41:根据所述问题和所述原文之间的匹配关系,以获得第一匹配矩阵,所述第一匹配矩阵中的第i行第j列的元素表示当前时刻所述第一问题表示的第i个元素和上一时刻所述第一原文表示的第j个元素之间的相似度,
步骤42:归一化所述第一匹配矩阵中第j列元素,以获得所述问题对所述原文中的第j个元素的第一注意力分布表示,
步骤43:将所述第一问题表示和所述第一注意力分布表示做内积,以获得基于原文注意力的第二问题表示,
步骤44:将上一时刻的第一原文表示中的第j个元素和当前时刻的所述第二问题表示进行语义融合,以获得融合表示中的第j个元素,
步骤45:根据不同时刻的所述融合表示之间的匹配关系,以获得第二匹配矩阵,所述第二匹配矩阵中的k行第n列的元素表示当前时刻所述融合表示里的第k个元素和上一时刻所述融合表示里的第n个元素之间的关联度,若k=n,则所述第二匹配矩阵中的k行第n列的元素为0,
步骤46:归一化所述第二匹配矩阵中第n列元素,以获得当前时刻的所述融合表示对上一时刻的所述融合表示中的n个元素的第二注意力分布表示,
步骤47:将所述第一原文表示和所述第二注意力分布表示做内积,以获得基于原文注意力的注意力原文表示,
步骤48:将上一时刻的所述融合表示中的第n个元素和当前时刻的所述注意力原文表示进行语义融合,以获得注意力融合表示中的第n个元素,从而确定所述注意力融合表示,
步骤49:将所述注意力融合表示中的各个元素通过循环神经网络进行拟合,以获得所述第二原文表示。
8.根据权利要求6所述自动问答方法,其特征在于,所述步骤5包括:
步骤51:设定记忆向量,通过所述记忆向量记录所述问题的信息,所述记忆向量的初始状态与所述问题表示的最终状态相同,
步骤52:设定所述答案指针网络进行迭代的次数,将所述记忆向量和所述第二原文表示进行非线性拟合,以确定所述答案在所述原文中的首尾位置索引对应的分布概率,
步骤53:根据所述分布概率和所述第二原文表示的内积获得证据向量,
步骤54:采用语义融合的方式利用所述证据向量对所述记忆向量进行更新,以获得更新记忆网络,
步骤55:将所述更新的记忆向量和所述第二原文表示进行非线性拟合,以更新所述答案在所述原文中的首尾位置索引对应的分布概率。
9.根据权利要求7所述自动问答方法,其特征在于,所述步骤1中所用的模型参数为固定参数,
所述步骤49中的循环神经网络为长短记忆神经循环网络。
10.一种存储介质,其特征在于,所述存储介质为可读存储介质,所述可读存储介质上存储的计算机程序被处理器执行时实现如权利要求1至9中任意一项所述的自动问答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011122351.1A CN111966812B (zh) | 2020-10-20 | 2020-10-20 | 一种基于动态词向量的自动问答方法和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011122351.1A CN111966812B (zh) | 2020-10-20 | 2020-10-20 | 一种基于动态词向量的自动问答方法和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966812A true CN111966812A (zh) | 2020-11-20 |
CN111966812B CN111966812B (zh) | 2021-01-05 |
Family
ID=73386818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011122351.1A Active CN111966812B (zh) | 2020-10-20 | 2020-10-20 | 一种基于动态词向量的自动问答方法和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966812B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668338A (zh) * | 2021-03-22 | 2021-04-16 | 中国人民解放军国防科技大学 | 澄清问题生成方法、装置和电子设备 |
CN113051371A (zh) * | 2021-04-12 | 2021-06-29 | 平安国际智慧城市科技股份有限公司 | 中文机器阅读理解方法、装置、电子设备及存储介质 |
CN113268953A (zh) * | 2021-07-15 | 2021-08-17 | 中国平安人寿保险股份有限公司 | 文本重点词抽取方法、装置、计算机设备及存储介质 |
CN113468313A (zh) * | 2021-07-21 | 2021-10-01 | 阳光保险集团股份有限公司 | 一种生成式模型训练方法、信息交互方法及其装置 |
CN113934836A (zh) * | 2021-12-21 | 2022-01-14 | 北京云迹科技有限公司 | 一种问题回复方法、装置和电子设备 |
CN114416936A (zh) * | 2021-12-27 | 2022-04-29 | 北京百度网讯科技有限公司 | 答案选择方法、答案选择模型的训练方法以及相关设备 |
US20220383330A1 (en) * | 2021-05-27 | 2022-12-01 | EMC IP Holding Company LLC | System and method for identifying and remediating unanswered queries in application resolution reports |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959246A (zh) * | 2018-06-12 | 2018-12-07 | 北京慧闻科技发展有限公司 | 基于改进的注意力机制的答案选择方法、装置和电子设备 |
CN109033068A (zh) * | 2018-06-14 | 2018-12-18 | 北京慧闻科技发展有限公司 | 基于注意力机制的用于阅读理解的方法、装置和电子设备 |
CN111611361A (zh) * | 2020-04-01 | 2020-09-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 抽取式机器智能阅读理解问答系统 |
CN111626056A (zh) * | 2020-04-11 | 2020-09-04 | 中国人民解放军战略支援部队信息工程大学 | 基于RoBERTa-BiGRU-LAN模型的中文命名实体识别方法及装置 |
-
2020
- 2020-10-20 CN CN202011122351.1A patent/CN111966812B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959246A (zh) * | 2018-06-12 | 2018-12-07 | 北京慧闻科技发展有限公司 | 基于改进的注意力机制的答案选择方法、装置和电子设备 |
CN109033068A (zh) * | 2018-06-14 | 2018-12-18 | 北京慧闻科技发展有限公司 | 基于注意力机制的用于阅读理解的方法、装置和电子设备 |
CN111611361A (zh) * | 2020-04-01 | 2020-09-01 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 抽取式机器智能阅读理解问答系统 |
CN111626056A (zh) * | 2020-04-11 | 2020-09-04 | 中国人民解放军战略支援部队信息工程大学 | 基于RoBERTa-BiGRU-LAN模型的中文命名实体识别方法及装置 |
Non-Patent Citations (1)
Title |
---|
数据拾光者: "广告行业中那些趣事系列18:RoBERTa-wwm-ext模型为啥能带来线上效果提升?", 《HTTPS://MY.OSCHINA.NET/U/4486102/BLOG/4481364》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112668338A (zh) * | 2021-03-22 | 2021-04-16 | 中国人民解放军国防科技大学 | 澄清问题生成方法、装置和电子设备 |
US11475225B2 (en) | 2021-03-22 | 2022-10-18 | National University Of Defense Technology | Method, system, electronic device and storage medium for clarification question generation |
CN113051371A (zh) * | 2021-04-12 | 2021-06-29 | 平安国际智慧城市科技股份有限公司 | 中文机器阅读理解方法、装置、电子设备及存储介质 |
CN113051371B (zh) * | 2021-04-12 | 2023-02-07 | 平安国际智慧城市科技股份有限公司 | 中文机器阅读理解方法、装置、电子设备及存储介质 |
US20220383330A1 (en) * | 2021-05-27 | 2022-12-01 | EMC IP Holding Company LLC | System and method for identifying and remediating unanswered queries in application resolution reports |
CN113268953A (zh) * | 2021-07-15 | 2021-08-17 | 中国平安人寿保险股份有限公司 | 文本重点词抽取方法、装置、计算机设备及存储介质 |
CN113468313A (zh) * | 2021-07-21 | 2021-10-01 | 阳光保险集团股份有限公司 | 一种生成式模型训练方法、信息交互方法及其装置 |
CN113934836A (zh) * | 2021-12-21 | 2022-01-14 | 北京云迹科技有限公司 | 一种问题回复方法、装置和电子设备 |
CN114416936A (zh) * | 2021-12-27 | 2022-04-29 | 北京百度网讯科技有限公司 | 答案选择方法、答案选择模型的训练方法以及相关设备 |
CN114416936B (zh) * | 2021-12-27 | 2023-05-26 | 北京百度网讯科技有限公司 | 答案选择方法、答案选择模型的训练方法以及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111966812B (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966812B (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN109992782B (zh) | 法律文书命名实体识别方法、装置及计算机设备 | |
CN108804530B (zh) | 对图像的区域加字幕 | |
CN109726389B (zh) | 一种基于常识和推理的中文缺失代词补全方法 | |
CN110609891A (zh) | 一种基于上下文感知图神经网络的视觉对话生成方法 | |
CN110134946B (zh) | 一种针对复杂数据的机器阅读理解方法 | |
CN109214006B (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN110321563B (zh) | 基于混合监督模型的文本情感分析方法 | |
CN111414481A (zh) | 基于拼音和bert嵌入的中文语义匹配方法 | |
CN110134950B (zh) | 一种字词结合的文本自动校对方法 | |
CN114818717A (zh) | 融合词汇和句法信息的中文命名实体识别方法及系统 | |
CN114254645A (zh) | 一种人工智能辅助写作系统 | |
CN115081437A (zh) | 基于语言学特征对比学习的机器生成文本检测方法及系统 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
Puscasiu et al. | Automated image captioning | |
CN116304748A (zh) | 一种文本相似度计算方法、系统、设备及介质 | |
CN115687609A (zh) | 一种基于Prompt多模板融合的零样本关系抽取方法 | |
CN111723572B (zh) | 基于CNN卷积层和BiLSTM的中文短文本相关性度量方法 | |
CN116522165B (zh) | 一种基于孪生结构的舆情文本匹配系统及方法 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN116702760A (zh) | 一种基于预训练深度学习的地理命名实体纠错方法 | |
CN110852066B (zh) | 一种基于对抗训练机制的多语言实体关系抽取方法及系统 | |
CN115840815A (zh) | 基于指针关键信息的自动摘要生成方法 | |
CN115510230A (zh) | 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法 | |
CN115204143A (zh) | 一种基于prompt的文本相似度计算方法及系统 |
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 |