CN112328777A - 一种答案检测方法及装置 - Google Patents

一种答案检测方法及装置 Download PDF

Info

Publication number
CN112328777A
CN112328777A CN202110005335.2A CN202110005335A CN112328777A CN 112328777 A CN112328777 A CN 112328777A CN 202110005335 A CN202110005335 A CN 202110005335A CN 112328777 A CN112328777 A CN 112328777A
Authority
CN
China
Prior art keywords
answer
result
classification
vector
question
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
Application number
CN202110005335.2A
Other languages
English (en)
Other versions
CN112328777B (zh
Inventor
肖路
李长亮
李小龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Software Co Ltd
Beijing Kingsoft Digital Entertainment Co Ltd
Original Assignee
Beijing Kingsoft Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Software Co Ltd filed Critical Beijing Kingsoft Software Co Ltd
Priority to CN202110005335.2A priority Critical patent/CN112328777B/zh
Publication of CN112328777A publication Critical patent/CN112328777A/zh
Application granted granted Critical
Publication of CN112328777B publication Critical patent/CN112328777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种答案检测方法及装置,其中所述答案检测方法包括:将待检测文本和待查询问题作为输入集输入向量编码模型,获得所述输入集的编码向量,将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,根据所述划分结果确定与所述答案类别对应的答案检测结果并输出。

Description

一种答案检测方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种答案检测方法及装置、计算设备和计算机可读存储介质。
背景技术
自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。
对于自然语言处理任务,通常选用预训练模型进行处理。当前机器阅读理解的常规方式是将问题和文本输入预训练模型,通过模型对问题和文本进行相应处理,以得到文本中问题对应答案的起始和终止位置,可见,现有的预训练模型在进行阅读理解任务时,仅仅通过对答案起点位置和答案终点位置来确定待检测文本中是否存在答案以及答案具体是什么,通过这种方式输出的答案的准确性有待提高。
发明内容
有鉴于此,本申请实施例提供了一种答案检测方法及装置、计算设备和计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种答案检测方法,包括:
将待检测文本和待查询问题作为输入集输入向量编码模型,获得所述输入集的编码向量;
将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果;
根据所述划分结果确定与所述答案类别对应的答案检测结果并输出。
可选地,所述将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,包括:
将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元对应的概率预测结果;
将所述每个词单元分别与对应的概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的运算结果向量;
将所述运算结果向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第一划分结果。
可选地,所述将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元对应的概率预测结果,包括:
将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的起始位置和/或结束位置的概率预测结果;
相应的,所述将所述每个词单元分别与对应的概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的运算结果向量,包括:
将所述每个词单元分别与所述起始位置和/或结束位置的第一和/或第二概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的第一运算结果向量和/或第二运算结果向量。
可选地,所述将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元对应的概率预测结果,包括:
将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的第三概率预测结果;
相应的,所述将所述每个词单元分别与对应的概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的运算结果向量,包括:
将所述每个词单元分别与所述第三概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的第三运算结果向量。
可选地,所述将所述运算结果向量输入所述分类模块的分类子模块进行答案类别划分,包括:
将所述第三运算结果向量、所述第一运算结果向量和/或所述第二运算结果向量以及进行拼接,并将拼接结果输入所述分类子模块进行答案类别划分。
可选地,所述将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,包括:
将所述编码向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第二划分结果。
可选地,所述根据所述划分结果确定与所述答案类别对应的答案检测结果并输出,包括:
计算所述第一划分结果与所述第二划分结果的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
可选地,所述将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,包括:
提取所述编码向量中所述待查询问题对应的子编码向量;
将所述子编码向量以及所述编码向量输入所述分类模块的注意力计算子模块进行注意力计算,获得注意力计算结果;
将所述注意力计算结果输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第三划分结果。
可选地,根据所述划分结果确定与所述答案类别对应的答案检测结果并输出,包括:
计算所述第一划分结果与所述第三划分结果的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
可选地,所述将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,包括:
将所述编码向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第四划分结果。
可选地,所述将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,包括:
提取所述编码向量中所述待查询问题对应的子编码向量;
将所述子编码向量以及所述编码向量输入所述分类模块的注意力计算子模块进行注意力计算,获得注意力计算结果;
将所述注意力计算结果输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第五划分结果。
可选地,根据所述划分结果确定与所述答案类别对应的答案检测结果并输出,包括:
计算所述第一划分结果、所述第四划分结果以及所述第五划分结果三者的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
可选地,所述根据所述划分结果确定与所述答案类别对应的答案检测结果并输出,包括:
若确定所述答案类别为所述待检测文本中存在所述待查询问题对应的预测答案,则根据所述输入集中每个词单元作为所述待查询问题对应的预测答案的起始位置和/或结束位置的概率预测结果,确定所述待查询问题对应的答案预测结果并输出。
根据本申请实施例的第二方面,提供了一种答案检测装置,包括:
编码模块,被配置为将待检测文本和待查询问题作为输入集输入向量编码模型,获得所述输入集的编码向量;
划分模块,被配置为将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果;
确定模块,被配置为根据所述划分结果确定与所述答案类别对应的答案检测结果并输出。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述答案检测方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述答案检测方法的步骤。
本申请实施例中,通过将待检测文本和待查询问题作为输入集输入向量编码模型,获得所述输入集的编码向量,将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,根据所述划分结果确定与所述答案类别对应的答案检测结果并输出。
本申请实施例通过对待查询问题以及待检测文本进行编码,并将编码向量输入分类模块进行答案类别划分,以根据分类结果确定所述待检测文本中是否存在所述待查询问题的答案,或者是否可以根据待检测文本确定所述待查询问题的答案,并根据划分结果输出对应的答案检测结果,通过这种方式有利于提高输出的答案检测结果的准确度。
附图说明
图1是本申请实施例提供的计算设备的结构框图;
图2是本申请实施例提供的答案检测方法的流程图;
图3是本申请实施例提供的BERT模型架构示意图;
图4是本申请实施例提供的输入集的文本向量生成过程的示意图;
图5是本申请实施例提供的将所述答案检测方法应用于实际场景的输入集文本向量的生成示意图;
图6是本申请实施例提供的概率预测子模块的网络结构示意图;
图7是本申请实施例提供的答案检测方法的示意图;
图8是本申请实施例提供的答案检测装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
Electra:Efficiently Learning an Encoder that Classifies TokenReplacements Accurately的简写,Electra预训练模型是BERT预训练模型的变体,是采用对抗方式训练的自然语言处理(NLP)编码模型。
LSTM(Long Short-Term Memory):长短期记忆网络,是一种时间递归神经网络(RNN),主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。
MRC(Machine reading comprehension):机器阅读理解的英文简称,机器阅读理解这一任务的目标,是通过一个给定的问题,从文章中提取出答案的范围。
词单元(token):对输入文本做任何实际处理前,都需要将其分割成诸如词、标点符号、数字或字母等语言单元,这些单元被称为词单元。对于英文文本,词单元可以是一个单词、一个标点符号、一个数字等,对于中文文本,最小的词单元可以是一个词语、一个字、一个标点符号、一个数字等。
在本申请中,提供了一种答案检测方法及装置、计算设备和计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示答案检测方法中的步骤。图2示出了根据本申请一实施例的答案检测方法的流程图,包括步骤202至步骤206。
步骤202,将待检测文本和待查询问题作为输入集输入向量编码模型,获得所述输入集的编码向量。
具体的,将待查询问题和待检测文本作为输入集输入向量编码模型,获得输入集的编码向量,通过三种方式对所述编码向量进行处理,以获得待查询问题在待检测文本中对应答案的三种四分类结果,并将获得的三种四分类结果进行均值处理,获得最终的预测结果(分类结果)。
其中,所述向量编码模型可以是Electra预训练模型或其他可实现文本编码的模型,例如BERT预训练模型。
由于本申请实施例可将待查询问题在待检测文本中对应的答案类型分为四类,第一类为观点型(答案为是),第二类为观点型(答案为否),第三类为可回答型(有答案),第四类为不可回答型(无答案),因此,所述四分类结果可以是待查询问题在待检测文本中对应的四种答案类型的概率。
另外,本申请实施例通过三种方式对所述编码向量进行处理,这三种方式可以是:1)直接对所述编码向量进行四分类;2)根据编码向量确定每个词单元作为答案起始位置的概率,和/或作为答案结束位置的概率,将得到的每个词单元的概率值与分别与其编码向量进行相乘相加运算,并对运算结果进行四分类;3)提取编码向量中待查询问题的子编码向量,将所述子编码向量和所述编码向量进行注意力计算,并对注意力计算结果进行四分类;
通过上述三种方式对编码向量进行处理,即可获得三种四分类结果,每种四分类结果即为待查询问题在待检测文本中对应的四种答案类型的概率值。获得这三种四分类结果后,将获得的三种四分类结果进行均值处理,即对三种四分类结果中每种答案类型的概率值加和并求均值。获得的最终的预测结果(分类结果)即为所述待查询问题在待检测文本中对应的四种答案类型的概率值。
实际应用中,获取的待检测文本为包含有一定信息内容的书面文本,其可以是一句话、一段文字、多段文字、一篇文章或多篇文章等各种篇幅的文本;可以是简体中文、繁体中文、英文、藏文等不同语言类型的文本;可以是不同格式(如txt,doc/docx,xls/xlsx,ppt/pptx,pdf格式文档)的文档文件。
在应用阶段,以所述向量编码模型为BERT模型为例,其中,BERT模型的架构示意图如图3所示,包括嵌入层和编码器,编码器中包含n个编码层,这n个编码层依次连接。实际应用中,编码层的个数根据实际需求确定,在此不做限制。
具体的,将待查询问题以及待检测文本作为输入集输入预训练的BERT模型,由BERT模型的嵌入层对所述输入集进行分词处理,获得所述输入集的词单元,并对所述词单元进行预嵌入处理,得到所述词单元对应的词向量、句向量和位置向量,再对所述词向量、句向量以及位置向量进行加和,即将所述词向量、句向量以及位置向量这三个向量的对应位置相加,生成输入集的词单元对应的文本向量,将所述文本向量输入至编码器中的第1个编码层,将第1个编码层的输出向量输入至第2个编码层……依次类推,最终得到最后一个编码层的输出向量,并将最后一个编码层的输出向量作为所述编码向量。
参见图4,图4为输入集的文本向量生成过程的示意图。其中,输入集包括“谁养了猫
Figure DEST_PATH_IMAGE001
”和“小明养了猫”两个句子。其中,“小明养了猫”作为待检测文本,“谁养了猫
Figure 484260DEST_PATH_IMAGE001
”作为待查询问题。
其中,嵌入层生成的输入向量,由下面3种向量求和而成:
词向量——每个词单元对应的数值向量表示;
句向量——每个词单元所属的句子向量;
位置向量——每个词单元对应的位置所生成向量。
具体的,输入集可以采用以下格式:[[CLS],待查询问题,[SEP],待检测文本,[SEP]]。
若确定待查询问题为“谁养了猫
Figure 566092DEST_PATH_IMAGE002
”,待检测文本为“小明养了猫”,则输入集可以为“谁养了猫
Figure 970528DEST_PATH_IMAGE004
”和“小明养了猫”两个句子。其中,“小明养了猫”作为待检测文本,“谁养了猫
Figure 757219DEST_PATH_IMAGE005
”作为待查询问题,输入格式为:[[CLS]、谁、养、了、猫、
Figure DEST_PATH_IMAGE006
、[SEP]、小、明、养、了、猫、[SEP]];具体的示意图如图2所示。
或者,输入集可以为“小明的妈妈是谁
Figure 475776DEST_PATH_IMAGE002
”和“小明养了猫”两个句子。其中,“小明养了猫”作为待检测文本,“小明的妈妈是谁
Figure 726629DEST_PATH_IMAGE002
”作为待查询问题,输入格式为:[[CLS]、小、明、的、妈、妈、是、谁、
Figure 239650DEST_PATH_IMAGE002
、[SEP]、小、明、养、了、猫、[SEP]];
若待查询问题为“谁养了猫
Figure 28483DEST_PATH_IMAGE001
”,待检测文本为“小明养了猫”,对上述待检测文本和待查询问题进行分词处理,得到词单元集合[[CLS]、谁、养、了、猫、
Figure 347469DEST_PATH_IMAGE001
、[SEP]、小、明、养、了、猫、[SEP]],其中,CLS为句首标志符号,SEP为分句标志符号,将上述词单元集合进行预嵌入处理后得到的文本向量输入至编码器进行处理,并将编码器中最后一个编码层输出的向量作为每个词单元的编码向量,最后将最后一个编码层输出的向量[A1、A2、……A12、A13]作为所述编码向量,其中,A1至A13为输入集中13个词单元各自对应的子编码向量。
实际应用中,BERT模型中具体包含三个嵌入层,分别为词嵌入层(TokenEmbeddings)、分段嵌入层(Segment Embeddings)以及位置嵌入层(PositionEmbeddings),词嵌入层的作用是将词单元转换为固定维度的向量;分段嵌入层的作用是用于区分输入模型的文本对中的两个句子,分段嵌入层只有两个向量表示,第一个向量表示(索引0)分配给文本对中第一个句子的所有词单元,而第二个向量表示(索引1)分配给文本对中第二个句子的所有词单元;位置嵌入层的作用是学习每个词单元的位置向量来表示输入集中各词单元的顺序性。
将输入集的词单元进行预嵌入处理后,即得到如图5所示的将所述答案检测方法应用于实际场景的输入集文本向量的生成示意图。其中,图4或图5中的第一个单词是CLS(通用语言规范)标志,可以用于之后的分类任务;特殊符号SEP用来将两个句子隔开,目的是用来区别两个句子;图4中的词向量用E目标字符表示,其中目标字符即为输入集中的每个词单元或符号,E目标字符即为每个目标字符对应的词向量,具体实施时,所述目标字符对应的词向量可通过查询词向量字典获得;句向量用EA和EB表示,用来区别两种句子,具体使用过程中,EA和EB可分别用0和1表示;位置向量用E1、E2、E3等表示,阿拉伯数字下标表示该词单元在整个输入集中的位置。
如图5所示,输入集的词单元集合[[CLS]、谁、养、了、猫、
Figure 390511DEST_PATH_IMAGE001
、[SEP]、小、明、养、了、猫、[SEP]],对应的词向量为[0 2 3 4 5 6 1 7 8 9 10 11 1],对应的句向量为[0 0 0 00 0 0 1 1 1 1 1 1],对应的位置向量为[0 1 2 3 4 5 6 7 8 9 10 11 12],将所述输入集对应的词向量、句向量以及位置向量作求和运算,即得到所述输入集的文本向量为[0 35 7 9 11 7 15 17 19 21 23 14]。
另外,本申请实施例将待查询问题在待检测文本中对应的答案类型分为四类,第一类为观点型(答案为是),第二类为观点型(答案为否),第三类为可回答型(有答案),第四类为不可回答型(无答案)。
例如,若待检测文本为“小明养了猫”,待查询问题为“谁养了猫
Figure 340013DEST_PATH_IMAGE001
”,这种情况下,待查询问题在待检测文本中对应的答案类型即为可回答型,即有答案;若待检测文本为“小明养了猫”,待查询问题为“小明的妈妈是谁
Figure 898033DEST_PATH_IMAGE001
”,这种情况下,待查询问题在待检测文本中对应的答案类型即为不可回答型,即无答案;若待检测文本为“小明养了猫”,待查询问题为“小明是否养猫
Figure 958393DEST_PATH_IMAGE001
”,这种情况下,待查询问题在待检测文本中对应的答案类型即为观点型(答案为是);同样,若待检测文本为“小明养了猫”,待查询问题为“小明是否养狗
Figure 918259DEST_PATH_IMAGE001
”,那这种情况下,待查询问题在待检测文本中对应的答案类型即为观点型(答案为否)。
当前机器阅读理解(MRC)的常规方式是将问题和文本输入预训练模型,通过预训练模型对问题和文本进行相应处理,以得到文本中问题对应答案的起始和终止位置,显然,通过这种方式输出的答案的准确性不够高。
本申请实施例提供的答案检测方法,通过对待查询问题以及待检测文本进行编码,并根据编码生成的编码向量对所述待查询问题进行答案类别划分,以根据分类结果确定所述待检测文本中是否存在所述待查询问题的答案,或者是否可以根据待检测文本确定所述待查询问题的答案(例如,观点型答案),并根据划分结果输出对应的答案检测结果,通过先进行答案类别划分,并根据划分结果确定待查询问题的答案的方式,有利于提高输出的答案检测结果的准确度。具体的答案类别划分过程如下:
步骤204,将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果。
具体的,如前所述,在将待检测文本和待查询问题作为输入集输入向量编码模型,并获得输入集的编码向量后,可对所述编码向量进行答案类别划分,以生成所述待查询问题的答案类别划分结果。
实际应用中,可将编码向量输入分类模块进行答案类别划分,其中,所述分类模块可以包括概率预测子模块和分类子模块,所述概率预测子模块可用于预测输入集中各词单元作为预测答案的起始位置的概率、输入集中各词单元作为预测答案的结束位置的概率或输入集中各词单元作为预测答案的概率;所述分类子模块可用于对编码向量、对概率预测结果与词单元的编码向量进行求和运算获得的运算结果向量或对将待查询问题的子编码向量与所述编码向量进行注意力计算获得的注意力计算结果进行答案类别划分,生成待查询问题的答案类别的划分结果。
其中,所述分类模块的示意图如图3所示,具体实施时,所述分类模块具体可通过全连接网络+softmax实现,即可将全连接网络+softmax作为概率预测子模块进行概率预测,因此,所述概率预测子模块的网络结构示意图如图6所示,在单层神经网络的基础上引入了隐藏层(hidden layer),但图6仅示意性的示出1个隐藏层,实际应用中,全连接网络中隐藏层的层数以及隐藏层中隐藏单元的个数均可根据实际需求确定,在此不做任何限制。
对于只有一个隐藏层且隐藏单元个数为h的全连接网络,将其输入记为X,隐藏层的输出即为Z,全连接网络的输出记为Y,并可将隐藏层的权重参数和偏差参数分别设为Wh和bh,输出层的权重参数和偏差参数分别设为Wo和bo,并由此得到单隐藏层神经网络输入、隐藏层输出和单隐藏层神经网络输出之间的关系:
Figure 523815DEST_PATH_IMAGE007
Figure DEST_PATH_IMAGE008
将上面两个式子联立起来,可以得到输入与输出之间的关系:
Figure 37973DEST_PATH_IMAGE009
进一步的,若在全连接网络的输出层添加softmax函数,则输出层可输出各分类结果的概率,具体的计算公式为:Y=softmax(Z)。
以所述概率预测子模块用于预测输入集中各词单元作为预测答案的起始位置的概率为例,先将编码向量输入全连接网络的输入层,再由全连接网络的隐藏层对编码向量进行处理,并在全连接网络的输出层利用softmax函数计算处理后的每个词单元作为预测答案的起始位置的概率,并输出概率计算结果。
同样的,还可将全连接网络+softmax作为分类子模块进行答案类别划分,因此,所述分类子模块的网络结构示意图与图6所示的概率预测子模块的网络结构示意图类似,以所述分类子模块用于对编码向量进行答案类别划分为例,先将编码向量输入全连接网络的输入层,再由全连接网络的隐藏层对编码向量进行处理,输出待查询问题的四种答案类别划分结果,并在全连接网络的输出层利用softmax函数计算每种答案类别划分结果的概率,并输出概率计算结果。
具体实施时,所述分类模块中包含概率预测子模块和分类子模块,因此,将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,具体可通过以下方式实现:
将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元对应的概率预测结果;
将所述每个词单元分别与对应的概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的运算结果向量;
将所述运算结果向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第一划分结果。
具体的,通过输入集的编码向量预测输入集中每个词单元作为答案起始、结束或真实答案的概率,并将对概率预测结果以及编码向量进行处理获得的三个运算结果向量进行拼接,并通过分类子模块对拼接结果进行处理,以生成第一划分结果。
实际应用中,拼接即进行向量合并,可选择将向量顺次连接的方式对所述三个运算结果进行向量拼接以实现向量合并。
另外,第一划分结果的生成过程具体通过以下两个部分实现:
a.预测输入集中每个词单元作为答案起始位置/结束位置的概率。
具体实施时,将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元对应的概率预测结果,具体为:将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的起始位置和/或结束位置的概率预测结果;
相应的,将所述每个词单元分别与对应的概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的运算结果向量,包括:将所述每个词单元分别与所述起始位置和/或结束位置的第一和/或第二概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的第一运算结果向量和/或第二运算结果向量。
具体的,将输入集中每个词单元的编码向量输入分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的起始位置的概率预测结果。
实际应用中,可由LSTM模型的全连接层对所述编码向量进行处理,并对处理结果进行归一化,以生成输入集中每个词单元作为答案起始位置的概率。
获得输入集中每个词单元作为答案起始位置的概率预测结果后,将每个词单元对应的向量与所述每个词单元作为答案起始位置的概率预测结果进行乘积运算,再将各乘积运算结果进行求和处理,生成第一运算结果。
仍以所述待查询问题为“谁养了猫
Figure 902024DEST_PATH_IMAGE001
”,待检测文本为“小明养了猫”为例,输入集为[[CLS]、谁、养、了、猫、
Figure 716396DEST_PATH_IMAGE001
、[SEP]、小、明、养、了、猫、[SEP]],输入集对应的编码向量为[A1、A2、……A12、A13],若每个词单元作为答案起始位置的概率预测结果分别为:0、0、0、0、0、0、0.1、0.9、0、0、0,则将每个词单元对应的向量与所述每个词单元作为答案起始位置的概率预测结果进行乘积运算,获得的乘积运算结果分别为0.1A7和0.9A8,对乘积运算结果进行求和处理,生成的第一运算结果即为向量Aa=0.1A7+0.9A8
此外,可将输入集中每个词单元的编码向量输入分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的结束位置的概率预测结果。
实际应用中,可由LSTM模型的全连接层对所述编码向量进行处理,并对处理结果进行归一化处理,以生成输入集中每个词单元作为答案结束位置的概率。
获得输入集中每个词单元作为答案结束位置的概率预测结果后,将每个词单元对应的向量与所述每个词单元作为答案结束位置的概率预测结果进行乘积运算,再将各乘积运算结果进行求和处理,生成第二运算结果。
仍以所述待查询问题为“谁养了猫
Figure 7700DEST_PATH_IMAGE001
”,待检测文本为“小明养了猫”为例,输入集为[[CLS]、谁、养、了、猫、
Figure 540312DEST_PATH_IMAGE001
、[SEP]、小、明、养、了、猫、[SEP]],输入集对应的编码向量为[A1、A2、……A12、A13],若每个词单元作为答案结束位置的概率预测结果分别为:0、0、0、0、0、0、0、0、1、0、0,则将每个词单元作为答案结束位置的概率预测结果与其编码向量进行乘积运算,获得的运算结果即为向量A9,即第二运算结果为向量Ab=A9
b.预测输入集中每个词单元作为预测答案的概率。
具体实施时,将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元对应的概率预测结果,包括:将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的第三概率预测结果;
相应的,将所述每个词单元分别与对应的概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的运算结果向量,包括:将所述每个词单元分别与所述第三概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的第三运算结果向量。
具体的,将输入集中每个词单元的编码向量输入分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的概率预测结果;
实际应用中,可由LSTM模型的全连接层对所述编码向量进行处理,并对处理结果进行归一化处理,以生成输入集中每个词单元作为预测答案的概率。
获得输入集中每个词单元作为预测答案的概率预测结果后,将每个词单元对应的向量与所述每个词单元作为预测答案的概率预测结果进行乘积运算,再将各乘积运算结果进行求和处理,生成第三运算结果。
仍以所述待查询问题为“谁养了猫
Figure 191742DEST_PATH_IMAGE001
”,待检测文本为“小明养了猫”为例,输入集为[[CLS]、谁、养、了、猫、
Figure 860621DEST_PATH_IMAGE001
、[SEP]、小、明、养、了、猫、[SEP]],输入集对应的编码向量为[A1、A2、……A12、A13],若每个词单元作为真实答案的概率预测结果分别为:0、0、0、0、0、0、0、0.5、0.5、0、0,则将每个词单元作为预测答案的概率预测结果与其编码向量进行乘积运算,获得的乘积运算结果分别为0.5A8和0.5A9,对乘积运算结果进行求和处理,生成的第三运算结果即为向量Ac=0.5A8+0.5A9
具体实施时,计算生成第一、第二以及第三运算结果后,将所述第三运算结果向量、所述第一运算结果向量和/或所述第二运算结果向量以及进行拼接,并将拼接结果输入所述分类子模块进行答案类别划分。
具体的,通过上述a、b两个部分计算获得输入集中每个词单元作为答案起始、结束或预测答案的概率,并将每个词单元对应的向量与每个词单元的概率预测结果进行乘积运算,对乘积运算结果进行求和处理生成三个运算结果,以及对所述三个运算结果Aa、Ab、Ac进行向量拼接后,可将拼接结果输入LSTM模型的全连接层对拼接后的向量进行处理,并对处理结果进行归一化处理,以生成第一个四分类结果;
其中,所述LSTM模型的全连接层执行针对拼接结果的分类任务,以确定拼接结果中待查询问题在所述待检测文本中对应的答案类型的分类结果。
实际应用中,可选择前后拼接的方式对所述三个运算结果Aa、Ab、Ac进行向量拼接,但具体的前后顺序并无具体限定。
将输入集中每个词单元作为答案起始位置的概率预测结果对应的第一运算结果、每个词单元作为答案结束位置的概率预测结果对应的第二运算结果以及每个词单元作为预测答案的概率预测结果对应的第三运算结果中的任意一个、两个或三个进行拼接,并确定拼接结果对应的四分类结果,有利于保证生成的四分类结果的准确性。
另外,将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,还可以通过将所述编码向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第二划分结果。
具体的,在获取输入集的编码向量后,可直接将所述编码向量作为整体输入分类模块,以通过所述分类模块中的分类子模块进行答案类别划分,实际应用中,可将LSTM模型作为所述分类子模块,由LSTM模型对所述编码向量进行处理,并由LSTM模型的全连接层对处理结果进行归一化处理,以生成第二个四分类结果。
其中,所述LSTM模型输出的四分类结果为所述待查询问题在所述待检测文本中对应的四种答案类型的概率。
仍以所述待查询问题为“谁养了猫
Figure 322827DEST_PATH_IMAGE001
”,待检测文本为“小明养了猫”为例,输入集为[[CLS]、谁、养、了、猫、
Figure 342735DEST_PATH_IMAGE001
、[SEP]、小、明、养、了、猫、[SEP]],输入集对应的编码向量为[A1、A2、……A12、A13],将所述编码向量输入LSTM模型,由LSTM模型对所述编码向量进行处理,以对待查询问题在所述待检测文本中的答案类型进行预测,并由LSTM模型的全连接层对预测结果进行归一化处理,生成所述待查询问题在所述待检测文本中答案类型的概率预测结果,若概率预测结果为[0.3,0,0.7,0],则表示答案类型为观点性(答案为是)的概率为0.3,答案类型为可回答型(有答案)的概率为0.7。
此外,将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,还可通过以下方式实现:
提取所述编码向量中所述待查询问题对应的子编码向量;
将所述子编码向量以及所述编码向量输入所述分类模块的注意力计算子模块进行注意力计算,获得注意力计算结果;
将所述注意力计算结果输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第三划分结果。
具体的,获得所述输入集的编码向量后,可提取所述编码向量中所述待查询问题对应的子编码向量,并将所述子编码向量和所述编码向量输入分类模块的注意力计算子模块进行注意力计算,获得注意力计算结果,将所述注意力计算结果输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第三划分结果。
仍以所述待查询问题为“谁养了猫
Figure 283009DEST_PATH_IMAGE001
”,待检测文本为“小明养了猫”为例,输入集为[[CLS]、谁、养、了、猫、
Figure 71974DEST_PATH_IMAGE001
、[SEP]、小、明、养、了、猫、[SEP]],输入集对应的编码向量为[A1、A2、……A12、A13],输入集中待查询问题对应的编码向量为[A1、A2、……A6、A7],对编码向量[A1、A2、……A6、A7]与编码向量[A1、A2、……A12、A13]进行注意力计算,并将计算结果输入所述分类模块的分类子模块进行答案类别划分。
实际应用中,可将LSTM模型作为所述分类子模块,由LSTM模型对所述注意力计算结果进行处理,并由LSTM模型的全连接层对处理结果进行归一化处理,以生成第三个四分类结果。
通过提取编码向量中待查询问题对应的子编码向量,并将对所述子编码向量和所述编码向量进行注意力计算获得的注意力计算结果进行答案类别划分,并利用得到的第三划分结果预测待查询问题的答案,有利于保证答案预测结果的准确性。
步骤206,根据所述划分结果确定与所述答案类别对应的答案检测结果并输出。
具体的,通过前述处理过程生成第一个、第二个以及第三个四分类结果后,可基于这三个四分类结果中的至少一个确定待查询问题对应的答案检测结果并输出。
其中,若基于第一个和第二个四分类结果确定所述待查询问题对应的答案检测结果,则需计算所述第一划分结果与所述第二划分结果的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
若基于第一个和第三个四分类结果确定所述待查询问题对应的答案检测结果,则需计算所述第一划分结果与所述第三划分结果的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
若基于第一个、第二个以及第三个四分类结果确定所述待查询问题对应的答案检测结果,则需计算所述第一划分结果、所述第二划分结果以及所述第三划分结果三者的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
具体实施时,可将所述编码向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第四划分结果;
提取所述编码向量中所述待查询问题对应的子编码向量,将所述子编码向量以及所述编码向量输入所述分类模块的注意力计算子模块进行注意力计算,获得注意力计算结果,将所述注意力计算结果输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第五划分结果;
计算所述第一划分结果、所述第四划分结果以及所述第五划分结果三者的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
实际应用中,所述第四划分结果的生成过程与所述第二划分结果的生成过程类似,所述第五划分结果的生成过程与所述第三划分结果的生成过程类似,在此不再赘述。
如前所述,所述四分类结果即为所述待查询问题在所述待检测文本中对应的四种答案类型的概率,通过前述处理过程分别获得第一个、第二个以及第三个四分类结果,即获得待查询问题在所述待检测文本中的四种答案类型对应的三个概率分布。
获得所述三个概率分布后,可将三个概率分布结果取均值,并根据均值最大的答案类型作为所述待查询问题的答案类别的划分结果;
若第一划分结果对应的概率预测结果(四分类结果)为[0.3,0,0.7,0],第二划分结果(第四划分结果)的概率预测结果为[0.2,0,0.8,0],第三划分结果(第五划分结果)对应的概率预测结果为[0.1,0,0.9,0],将上述三个概率预测结果取均值,生成的均值计算结果为[0.2,0,0.8,0],其中,均值最大的答案类型为可回答型(有答案),因此,可根据输入集中每个词单元作为所述待查询问题对应的预测答案的起始位置或结束位置的概率预测结果,确定待查询问题对应的答案预测结果,即将起始位置概率最大的词单元作为答案的起始位置,将结束位置概率最大的词单元作为答案的结束位置,并将起始位置以及结束位置之间的词单元作为所述待查询问题的答案并输出。
另外,若根据均值计算结果确定答案类型为不可回答型(无答案),则输出答案不存在,用于表示所述待检测文本中不存在所述待查询问题的答案;若根据均值计算结果确定答案类型为观点型(答案为是),则输出的答案检测结果即为是;若根据均值计算结果确定答案类型为观点型(答案为否),则输出的答案检测结果即为否。
将待查询问题和待检测文本作为输入集输入编码模型,获得输入集的编码向量,通过三种方式对所述编码向量进行处理,以获得待查询问题在待检测文本中对应答案的三种四分类结果,并将获得的三种四分类结果进行均值处理,获得最终的预测结果(分类结果)。
本申请实施例提供的答案检测方法,通过对待查询问题以及待检测文本进行编码,并将编码向量输入分类模块进行答案类别划分,以根据分类结果确定所述待检测文本中是否存在所述待查询问题的答案,或者是否可以根据待检测文本确定所述待查询问题的答案(例如,观点型答案),并根据划分结果输出对应的答案检测结果,通过这种方式有利于提高输出的答案检测结果的准确度。
图7示出了本申请一实施例的答案检测方法,该答案检测方法以对阅读理解场景的应用为例进行描述,包括步骤702至步骤724。
步骤702,将问题和文章输入向量编码模型进行编码。
具体的,将问题和文章作为输入集输入向量编码模型进行编码,获得所述输入集的编码向量。
实际应用中,所述向量编码模型可以是Electra预训练模型。
步骤704,对编码向量进行四分类。
具体的,在步骤702的编码工作结束后,取出编码向量中‘[CLS]’位置处的编码向量进行四分类,即对所述向量编码模型输出的编码向量整体进行四分类,生成第一个四分类结果。
步骤706,获得输入集中每个词单元作为问题对应的预测答案的起始位置的概率。
具体的,在步骤702的编码工作结束后,可将获得的编码向量输入全连接网络,得到输入集中每个词单元为答案起始位置的概率,并可将起始位置的概率最大的词单元确定为所述待查询问题的答案检测结果的起始位置。
进一步地,全连接网络的输出结果用于表征输入集中每个词单元作为答案起始位置的概率,得到输出结果后,可将起始位置的概率最大的词单元确定为所述问题的预测答案的起始位置。
步骤708,将所述每个词单元分别与作为起始位置的概率进行乘积运算,并将运算获得的向量进行求和运算。
具体的,在通过步骤706确定各词单元作为问题对应的预测答案的起始位置的概率后,可将每个词单元被预测为起始位置的概率值与该词单元的编码向量进行乘积运算,并将得到的各词单元的运算结果按照向量的对应位置相加,得到第一运算结果。
步骤710,获得输入集中每个词单元作为问题对应的预测答案的概率。
具体的,在步骤702的编码工作结束后,除确定输入集中每个词单元为答案起始位置的概率外,还可确定输入集中每个词单元作为预测答案的概率,具体可先将向量编码模型输出的编码向量输入全连接网络进行向量维度的压缩,以将所述编码向量的向量维度压缩至到一维,然后对压缩后的编码向量进行归一化处理,输出所述每个词单元作为问题对应的预测答案的概率。
步骤712,将每个词单元分别与作为预测答案的概率进行乘积运算,并将运算获得的向量进行求和运算。
具体的,在通过步骤710确定各词单元作为问题对应的预测答案的概率后,可将每个词单元作为预测答案的概率值与该词单元的编码向量进行乘积运算,并将得到的各词单元的运算结果按照向量的对应位置相加,得到第二运算结果。
步骤714,获得输入集中每个词单元作为问题对应的预测答案的结束位置的概率。
具体的,在步骤702的编码工作结束后,可将获得的编码向量输入全连接网络,得到输入集中每个词单元为答案结束位置的概率,并可将结束位置的概率最大的词单元确定为所述待查询问题的答案检测结果的结束位置。
具体仍可通过如图6所示的全连接网络对向量编码模型输出的编码向量进行处理,并输出每个词单元作为问题对应的预测答案的结束位置的概率,具体的实现过程与前述确定每个词单元作为问题对应的预测答案的起始位置的概率的实现过程类似,在此不再赘述。
步骤716,将所述每个词单元分别与作为结束位置的概率进行乘积运算,并将运算获得的向量进行求和运算。
同样的,在通过步骤714确定各词单元作为问题对应的预测答案的结束位置的概率后,可将每个词单元被预测为结束位置的概率值与该词单元的编码向量进行乘积运算,并将得到的各词单元的运算结果按照向量的对应位置相加,得到第三运算结果。
步骤718,将三者的运算结果进行拼接,并对拼接结果进行四分类。
具体的,将步骤708获得的第一运算结果、步骤712获得的第二运算结果以及步骤716获得的第三运算结果进行合并,具体即将上述三个步骤生成的三个向量收尾顺次连接,以实现向量拼接,并对拼接结果进行四分类,得到第二个四分类结果。
步骤720,提取编码向量中问题对应的子编码向量,对所述子编码向量和所述编码向量进行注意力计算。
具体的,在步骤702的编码工作结束后,可在向量编码模型中提取问题对应的子编码向量,并将所述子编码向量与所述编码向量进行注意力计算,即从向量编码模型输出的编码向量中拿出任意一个词单元的编码向量,与问题中每个词单元的编码向量进行乘积运算,并对运算结果进行归一化处理,以输出每个词单元作为问题的预测答案的概率。
然后将每个词单元作为问题预测答案的概率分别与问题中每个词单元的编码向量进行乘积运算,并将得到的运算结果按照向量的对应位置相加,得到第三运算结果,接着将所述第三运算结果与该词单元的编码向量按照向量的对应位置相加,得到第四运算结果(注意力计算结果)。
步骤722,对注意力计算结果进行四分类。
具体的,通过步骤720的注意力计算过程得到对应的注意力计算结果后,可通过双向长短期记忆网络对所述注意力计算结果进行处理,并由双向长短期记忆网络的全连接层对处理结果进行四分类,以达到第三个四分类结果。
步骤724,计算三个四分类结果的均值,并根据均值计算结果确定答案检测结果。
具体的,通过前述步骤704获得第一个四分类结果、通过前述步骤718获得第二个四分类结果以及通过前述步骤722获得第三个四分类结果后,由于每个四分类结果均为问题在文章中对应的四种答案类型的概率,因此,获得三个四分类结果后,可计算三个四分类结果中各答案类型的概率均值,并根据均值确定答案检测结果。
本申请实施例提供的答案检测方法,通过对问题以及文章进行编码,并将编码向量输入分类模块进行答案类别划分,以根据分类结果确定所述文章中是否存在所述问题的答案,或者是否可以根据文章确定所述问题的答案(例如,观点型答案),并根据划分结果输出对应的答案检测结果,通过这种方式有利于提高输出的答案检测结果的准确度。
本申请实施例能够解决当答案没有在文本中出现时,模型只能找一个尽可能相近的答案,而不能给出准确度较高的反馈(即答案不存在),以及对于观点型问题(即可以用“是”或“否”回答的问题),一般答案在文章中是不存在的,无法采用抽取的方式给出答案这两个技术问题,从而提高观点性和不可回答性问题预测的准确性。
进一步的,本申请实施例解决上述两个技术问题所采用的技术手段即可以将问题的类型进行四分类(有答案,yes,no,无答案),具体可采用以下三种方式进行四分类:
方式一:将预训练模型输出的编码向量中‘[CLS]’位置的编码向量接入全连接网络进行四分类;
方式二:将预训练模型输出的问题部分的编码向量提取出来,再和整体的编码向量进行注意力计算,这里的注意力计算方式是:从整体的编码向量中拿出一个token(词单元)的编码和问题中每个token的编码向量进行相乘,然后进行softmax(归一化),接着将对应的概率值乘问题中每个token的编码向量,然后相加,再和拿出的这个token的编码向量对应维度相加。对整体的编码向量中的每个token做同样的操作。得到了融合问题信息的全局token输出,然后再将输出送入双向的lstm中,接着将lstm的输出部分接入全连接层,进行四分类;
方式三:将答案预测的起始位置概率向量分别乘对应位置的编码向量,将答案预测的结束位置概率向量分别乘对应位置的编码向量,将整体的编码向量进行全连接压缩到标量,然后进行softmax得到概率值,对应的概率值乘对应位置的编码向量,然后在将乘积计算结果的对应维度相加,接着进行四分类。
最后,将通过上述三种方式得到的三个四分类概率值进行平均,作为问题的四分类的最终概率预测。得到最终概率预测后,即可根据所述最终概率预测确定问题的答案类型,并根据答案类型确定问题的答案检测结果,有利于保证输出的答案检测结果的准确性。
与上述方法实施例相对应,本申请还提供了答案检测装置实施例,图8示出了本申请一个实施例的答案检测装置的结构示意图。如图8所示,该装置800包括:
编码模块802,被配置为将待检测文本和待查询问题作为输入集输入向量编码模型,获得所述输入集的编码向量;
划分模块804,被配置为将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果;
确定模块806,被配置为根据所述划分结果确定与所述答案类别对应的答案检测结果并输出。
可选地,所述划分模块804,包括:
预测子模块,被配置为将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元对应的概率预测结果;
求和子模块,被配置为将所述每个词单元分别与对应的概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的运算结果向量;
第一划分子模块,被配置为将所述运算结果向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第一划分结果。
可选地,所述预测子模块,包括:
预测单元,被配置为将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的起始位置和/或结束位置的概率预测结果;
相应的,所述求和子模块,包括:
求和运算单元,被配置为将所述每个词单元分别与所述起始位置和/或结束位置的第一和/或第二概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的第一运算结果向量和/或第二运算结果向量。
可选地,所述预测单元,包括:
预测子单元,被配置为将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的第三概率预测结果;
相应的,所述求和子模块,包括:
求和单元,被配置为将所述每个词单元分别与所述第三概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的第三运算结果向量。
可选地,所述划分子模块,包括:
划分单元,被配置为将所述第三运算结果向量、所述第一运算结果向量和/或所述第二运算结果向量以及进行拼接,并将拼接结果输入所述分类子模块进行答案类别划分。
可选地,所述划分模块804,包括:
第二划分子模块,被配置为将所述编码向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第二划分结果。
可选地,所述确定模块806,包括:
第一确定子模块,被配置为计算所述第一划分结果与所述第二划分结果的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
可选地,所述划分模块804,包括:
第一提取子模块,被配置为提取所述编码向量中所述待查询问题对应的子编码向量;
第一向量处理子模块,被配置为将所述子编码向量以及所述编码向量输入所述分类模块的注意力计算子模块进行注意力计算,获得注意力计算结果;
第三划分子模块,被配置为将所述注意力计算结果输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第三划分结果。
可选地,所述确定模块806,还包括:
第二确定子模块,被配置为计算所述第一划分结果与所述第三划分结果的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
可选地,所述划分模块804,还包括:
第四划分子模块,被配置为将所述编码向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第四划分结果。
可选地,所述划分模块806,还包括:
第二提取子模块,被配置为提取所述编码向量中所述待查询问题对应的子编码向量;
第二向量处理子模块,被配置为将所述子编码向量以及所述编码向量输入所述分类模块的注意力计算子模块进行注意力计算,获得注意力计算结果;
第五划分子模块,被配置为将所述注意力计算结果输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第五划分结果。
可选地,所述确定模块806,还包括:
第三确定子模块,被配置为计算所述第一划分结果、所述第四划分结果以及所述第五划分结果三者的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
可选地,所述确定模块806,包括:
第四确定子模块,被配置为若确定所述答案类别为所述待检测文本中存在所述待查询问题对应的预测答案,则根据所述输入集中每个词单元作为所述待查询问题对应的预测答案的起始位置和/或结束位置的概率预测结果,确定所述待查询问题对应的答案预测结果并输出。
需要说明的是,装置权利要求中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
本申请一实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述的答案检测方法的步骤。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述答案检测方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的答案检测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述答案检测方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (16)

1.一种答案检测方法,其特征在于,包括:
将待检测文本和待查询问题作为输入集输入向量编码模型,获得所述输入集的编码向量;
将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果;
根据所述划分结果确定与所述答案类别对应的答案检测结果并输出。
2.根据权利要求1所述的答案检测方法,其特征在于,所述将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,包括:
将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元对应的概率预测结果;
将所述每个词单元分别与对应的概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的运算结果向量;
将所述运算结果向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第一划分结果。
3.根据权利要求2所述的答案检测方法,其特征在于,所述将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元对应的概率预测结果,包括:
将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的起始位置和/或结束位置的概率预测结果;
相应的,所述将所述每个词单元分别与对应的概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的运算结果向量,包括:
将所述每个词单元分别与所述起始位置和/或结束位置的第一和/或第二概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的第一运算结果向量和/或第二运算结果向量。
4.根据权利要求3所述的答案检测方法,其特征在于,所述将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元对应的概率预测结果,包括:
将所述编码向量输入所述分类模块的概率预测子模块,获得所述输入集中每个词单元作为所述待查询问题对应的预测答案的第三概率预测结果;
相应的,所述将所述每个词单元分别与对应的概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的运算结果向量,包括:
将所述每个词单元分别与所述第三概率预测结果进行乘积运算,并将运算获得的向量进行求和运算,生成所述输入集对应的第三运算结果向量。
5.根据权利要求4所述的答案检测方法,其特征在于,所述将所述运算结果向量输入所述分类模块的分类子模块进行答案类别划分,包括:
将所述第三运算结果向量、所述第一运算结果向量和/或所述第二运算结果向量以及进行拼接,并将拼接结果输入所述分类子模块进行答案类别划分。
6.根据权利要求2所述的答案检测方法,其特征在于,所述将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,包括:
将所述编码向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第二划分结果。
7.根据权利要求6所述的答案检测方法,其特征在于,所述根据所述划分结果确定与所述答案类别对应的答案检测结果并输出,包括:
计算所述第一划分结果与所述第二划分结果的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
8.根据权利要求2所述的答案检测方法,其特征在于,所述将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,包括:
提取所述编码向量中所述待查询问题对应的子编码向量;
将所述子编码向量以及所述编码向量输入所述分类模块的注意力计算子模块进行注意力计算,获得注意力计算结果;
将所述注意力计算结果输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第三划分结果。
9.根据权利要求8所述的答案检测方法,其特征在于,根据所述划分结果确定与所述答案类别对应的答案检测结果并输出,包括:
计算所述第一划分结果与所述第三划分结果的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
10.根据权利要求2所述的答案检测方法,其特征在于,所述将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,包括:
将所述编码向量输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第四划分结果。
11.根据权利要求10所述的答案检测方法,其特征在于,所述将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果,包括:
提取所述编码向量中所述待查询问题对应的子编码向量;
将所述子编码向量以及所述编码向量输入所述分类模块的注意力计算子模块进行注意力计算,获得注意力计算结果;
将所述注意力计算结果输入所述分类模块的分类子模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的第五划分结果。
12.根据权利要求11所述的答案检测方法,其特征在于,根据所述划分结果确定与所述答案类别对应的答案检测结果并输出,包括:
计算所述第一划分结果、所述第四划分结果以及所述第五划分结果三者的均值,并根据均值计算结果确定与所述答案类别对应的答案检测结果并输出。
13.根据权利要求3所述的答案检测方法,其特征在于,所述根据所述划分结果确定与所述答案类别对应的答案检测结果并输出,包括:
若确定所述答案类别为所述待检测文本中存在所述待查询问题对应的预测答案,则根据所述输入集中每个词单元作为所述待查询问题对应的预测答案的起始位置和/或结束位置的概率预测结果,确定所述待查询问题对应的答案预测结果并输出。
14.一种答案检测装置,其特征在于,包括:
编码模块,被配置为将待检测文本和待查询问题作为输入集输入向量编码模型,获得所述输入集的编码向量;
划分模块,被配置为将所述编码向量输入分类模块进行答案类别划分,以基于所述待检测文本生成所述待查询问题的答案类别的划分结果;
确定模块,被配置为根据所述划分结果确定与所述答案类别对应的答案检测结果并输出。
15.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-13任意一项所述方法的步骤。
16.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-13任意一项所述方法的步骤。
CN202110005335.2A 2021-01-05 2021-01-05 一种答案检测方法及装置 Active CN112328777B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110005335.2A CN112328777B (zh) 2021-01-05 2021-01-05 一种答案检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110005335.2A CN112328777B (zh) 2021-01-05 2021-01-05 一种答案检测方法及装置

Publications (2)

Publication Number Publication Date
CN112328777A true CN112328777A (zh) 2021-02-05
CN112328777B CN112328777B (zh) 2021-04-23

Family

ID=74302190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110005335.2A Active CN112328777B (zh) 2021-01-05 2021-01-05 一种答案检测方法及装置

Country Status (1)

Country Link
CN (1) CN112328777B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113392638A (zh) * 2021-06-11 2021-09-14 北京世纪好未来教育科技有限公司 文本评估方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190019078A1 (en) * 2017-07-12 2019-01-17 Minds Lab., Inc. Apparatus and method for distributing a question
CN109977428A (zh) * 2019-03-29 2019-07-05 北京金山数字娱乐科技有限公司 一种答案获取的方法及装置
CN111046158A (zh) * 2019-12-13 2020-04-21 腾讯科技(深圳)有限公司 问答匹配方法及模型训练方法、装置、设备、存储介质
CN111309887A (zh) * 2020-02-24 2020-06-19 支付宝(杭州)信息技术有限公司 一种训练文本关键内容提取模型的方法和系统
CN112084299A (zh) * 2020-08-05 2020-12-15 山西大学 一种基于bert语义表示的阅读理解自动问答方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190019078A1 (en) * 2017-07-12 2019-01-17 Minds Lab., Inc. Apparatus and method for distributing a question
CN109977428A (zh) * 2019-03-29 2019-07-05 北京金山数字娱乐科技有限公司 一种答案获取的方法及装置
CN111046158A (zh) * 2019-12-13 2020-04-21 腾讯科技(深圳)有限公司 问答匹配方法及模型训练方法、装置、设备、存储介质
CN111309887A (zh) * 2020-02-24 2020-06-19 支付宝(杭州)信息技术有限公司 一种训练文本关键内容提取模型的方法和系统
CN112084299A (zh) * 2020-08-05 2020-12-15 山西大学 一种基于bert语义表示的阅读理解自动问答方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113392638A (zh) * 2021-06-11 2021-09-14 北京世纪好未来教育科技有限公司 文本评估方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112328777B (zh) 2021-04-23

Similar Documents

Publication Publication Date Title
CN113158665B (zh) 一种基于文本摘要生成与双向语料改善对话文本生成的方法
CN111444340A (zh) 文本分类和推荐方法、装置、设备及存储介质
CN113127624B (zh) 问答模型的训练方法及装置
CN109271493A (zh) 一种语言文本处理方法、装置和存储介质
CN114973062A (zh) 基于Transformer的多模态情感分析方法
CN110598222A (zh) 语言处理方法及装置、语言处理系统的训练方法及装置
US11727915B1 (en) Method and terminal for generating simulated voice of virtual teacher
CN114417097A (zh) 一种基于时间卷积与自注意力的情感预测方法及系统
CN114462385A (zh) 一种文本分段方法及装置
CN113505583A (zh) 基于语义决策图神经网络的情感原因子句对提取方法
CN115204143A (zh) 一种基于prompt的文本相似度计算方法及系统
CN112328777B (zh) 一种答案检测方法及装置
CN117501283A (zh) 文本到问答模型系统
CN114282555A (zh) 翻译模型训练方法及装置、翻译方法及装置
CN114077655A (zh) 一种答案抽取模型的训练方法及装置
CN114266245A (zh) 一种实体链接方法及装置
CN114943236A (zh) 关键词提取方法及装置
CN115221315A (zh) 文本处理方法以及装置、句向量模型训练方法以及装置
CN113961686A (zh) 问答模型的训练方法及装置、问答方法及装置
CN116186529A (zh) 语义理解模型的训练方法及装置
CN114647717A (zh) 一种智能问答方法及装置
CN115617959A (zh) 问题解答方法及装置
CN114138947A (zh) 文本处理方法及装置
CN114822495B (zh) 声学模型训练方法、装置及语音合成方法
CN116266266B (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