具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“***”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
请参阅图1,图1是本申请问题回答方法一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S11:获取问题文本和篇章文本,并获取若干知识点的参考文本。
本公开实施例中,问题文本和篇章文本中包含若干词语,若干词语的具体数量在此不做限定。此外,问题文本与篇章文本可以字面相关,例如,篇章文本为“香蕉在冰箱,苹果在桌上”,问题文本为“香蕉在哪里”,即篇章文本和问题文本在字面上均与“香蕉”相关;此外,问题文本与篇章文本也可以字面上无关,例如,篇章文本为“香蕉在冰箱,苹果在桌上”,问题文本为“黄色的水果在哪里”,即篇章文本和问题文本在字面上无任何相关性。上述例子仅仅是实际应用过程中可能存在的几种情况,并不因此而限定实际应用过程中可能存在的其他情况,在此不再一一举例。
在一个实施场景中,为了提高后续预测回答文本的准确性,可以对问题文本和篇章文本进行预处理,从而得到问题文本和篇章文本所包含的若干词语。
在一个具体的实施场景中,可以对篇章文本和问题文本进行数据清洗。例如,可以移除篇章文本和问题文本中诸如html(Hyper-Text Markup Language,超文本标记语言)标记字符(如,</body>等)等非法字符,并移除篇章文本和问题文本中由于编码错误等而导致的乱码,通过数据清洗能够在后续应用过程中,降低异常出错的概率,从而能够有利于提高回答文本预测的鲁棒性。
在另一个具体的实施场景中,还可以对篇章文本和问题文本进行分词。例如,对于英文可以使用Word Piece等分词工具进行分词,或者直接根据单词之间的空格进行分词;而对于中文可以直接以字为粒度进行分词,通过分词能够有利于捕捉细粒度的语义信息。
在又一个具体的实施场景中,还可以将篇章文本和问题文本两者中多个空格替换为一个空格,并移除句首句尾的空格。
在又一个具体的实施场景中,在对篇章文本和问题文本进行上述预处理之后,还可以根据实际应用需要,将预处理之后的篇章文本和问题文本进行格式转换,例如,可以转换为:
[CLS]Q1…Qn[SEP]P1…Pm[SEP]……(1)
上述式子(1)中,[CLS]和[SEP]为分隔符,Q1…Qn表示预处理之后的问题文本中的各个词语,P1…Pm表示预处理之后的篇章文本中的各个词语。此外,根据实际应用需要,也可以将预处理之后的篇章文本中的各个词语置于前,而将预处理之后的问题文本中的各个词语置于后,即转换为[CLS]P1…Pm[SEP]Q1…Qn[SEP],在此不做限定。
此外,本公开实施例中,若干知识点与问题文本、篇章文本中的至少一者相关。例如,若干知识点可以与问题文本相关,仍以前述问题文本“黄色的水果在哪里”为例,若干知识点可以与“黄色的水果”相关,具体可以涉及“香蕉”、“橙子”、“柠檬”、“柚子”等等;或者,若干知识点可以与篇章文本相关,仍以前述篇章文本“香蕉在冰箱,苹果在桌上”为例,若干知识点具体可以涉及“香蕉”、“冰箱”、“苹果”;或者,若干知识点可以与篇章文本和问题文本均相关,仍以前述篇章文本“香蕉在冰箱,苹果在桌上”和问题文本“黄色的水果在哪里”为例,若干知识点可以与“黄色的水果”相关,具体可以涉及“香蕉”、“橙子”、“柠檬”、“柚子”等等,此外若干知识点具体还可以涉及“香蕉”、“冰箱”、“苹果”。其他情况可以以此类推,在此不再一一举例。
具体地,为了提高参考文本的针对性,可以对问题文本、篇章文本中的至少一者进行关键词识别,得到若干关键词,在此基础上,可以从预设知识词典中,获取与关键词相关的知识点的参考文本。预设知识词典具体可以包括但不限于:百度百科、***、汉语词语、牛津词典等等,在此不做限定。上述方式,通过对问题文本、篇章文本中的至少一者进行关键词识别,得到若干关键词,从而从预设知识词典中,获取与关键词相关的知识点的参考文本,故此可以提高参考文本与篇章文本、问题文本的相关性,进而有利于在问题回答过程中提高外部知识的参考价值,有利于提高问题回答的准确性。
在一个实施场景中,预设知识词典可以包括多个词典项,每个词典项可以包括:词条、基本信息、解释和例句。词条可以表示词典项的主题,基本信息可以包括该主题的词性、拼音(或音标)等信息,解释可以表示该主题的释义,例句可以为包含该主题的示例性句子。以词典项“香蕉”为例,其词条为“香蕉”,基本信息可以包括“香蕉”的词性(即,名词),以及香蕉的拼音(即,xiāngjiāo),解释可以包括“单子叶植物,芭蕉科,叶长椭圆形,浆果肉质,长柱形,成熟时果皮黄色,分布于热带和亚热带地区,果肉柔软香甜”,例句可以为“动物园的猴子爱吃香蕉”,其他情况可以以此类推,在此不再一一举例。
在一个实施场景中,为了提高后续提取的参考文本的原始语义表示的鲁棒性,可以对预设知识词典进行预处理。
在一个具体的实施场景中,可以对预设知识词典进行数据清洗。例如,可以移除预设知识词典中诸如html(Hyper-Text Markup Language,超文本标记语言)标记字符(如,</body>等)等非法字符,并移除预设知识词典中由于编码错误等而导致的乱码,通过数据清洗能够在后续应用过程中,降低异常出错的概率,从而能够有利于提高回答文本预测的鲁棒性。
在另一个具体的实施场景中,为了降低无关信息的干扰,还可以利用正则表达式,仅抽取出预设知识词典中词条对应的解释,而不保留基本信息(如,词性、拼音等)、例句等。
在又一个具体的实施场景中,还可以对预设知识词典进行分词。例如,对于英文可以使用Word Piece等分词工具进行分词,或者直接根据单词之间的空格进行分词;而对于中文可以直接以字为粒度进行分词,通过分词能够有利于捕捉细粒度的语义信息。
在又一个具体的实施场景中,还可以将预设知识词典中多个空格替换为一个空格,并移除句首句尾的空格。
在又一个具体的实施场景中,在对预设知识词典进行上述预处理之后,还可以根据实际应用需要,将预处理之后的预设知识词典的各个词典项进行格式转换,例如,对于第i个词典项Di可以转换为:
[CLS]D1…Dk[SEP]……(2)
上述式子(2)中,[CLS]和[SEP]为分隔符,D1…Dk表示预处理之后的词典项中的各个词语。具体地,如前所述,词典项仅保留词条及其解释,故可以以冒号‘:’连接词条及其解释。例如,以词条“苹果”为例,可以构建D1…Dk为“苹果:双子叶植物,蔷薇科。落叶乔木。大多自花***,需异花授粉。果肉清脆香甜,能帮助消化。”其中,空格表示分词。
在又一个具体的实施场景中,可以识别出篇章文本和问题文本的名词和名实体,作为关键词。具体可以采用诸如LTP、Stanza等NER(Named Entity Recognition,命名实体识别)工具识别出篇章文本和问题文本的名词和名实体,在此不做限定。
在又一个具体的实施场景中,可以直接从预设知识词典中分别提取与关键词匹配的词典项D,得到参考文本。例如,在关键词为“苹果”时,可以提取参考文本“[CLS]苹果:双子叶植物,蔷薇科。落叶乔木。大多自花***,需异花授粉。果肉清脆香甜,能帮助消化。[SEP]”。其他情况可以以此类推,在此不再一一举例。此外,还可以分别统计各个关键词在篇章文本和问题文本中的出现次数,并将与关键词匹配的词典项,按照对应关键词的出现次数由多到少的顺序进行排序,并选取排在前预设数值位(如,前10位)的词典项(如,D1,D2,…,D10),得到参考文本。需要说明的是,在与关键词匹配的词典项不足预设数值(如,10)的情况下,可以补入至少一个空的词典项,以补足预设数值个词典项,使得最终得到的参考文本为预设数值个。
步骤S12:提取若干词语的个体语义表示,并提取各个参考文本的原始语义表示。
在一个实施场景中,可以获取篇章文本和问题文本中若干词语的嵌入表示,并将若干词语的嵌入表示进行语义抽取,从而得到若干词语的个体语义表示。
在一个具体的实施场景中,可以先将词语进行离散化处理,以将词语映射为0-1向量,再基于词向量技术将词语的离散化表示转换为连续的向量表示,该连续的向量表示即为词语的嵌入表示。具体地,可以基于预设语料库的词表大小为V(如包含20000至30000个常用词语),对于某个词语wi的0-1向量表示是长度为|V|的向量,其中词语wi在预设语料库中对应的那一维度为1,其余所有元素均为0。例如,假设语料库的词表V={a,b,c,d},那么词语“c”的0-1向量表示为Xi={0,0,1,0},其他情况可以以此类推,在此不再一一举例。进一步地,每个词语对应一d维的实值向量,从而预设语料库对应形成一个|V|*d大小的词向量矩阵E,进而可以通过离散化0-1向量表示与词向量矩阵E的乘积,得到词语的嵌入表示,具体如下式:
ei=E·Xi……(3)
上述公式(3)中,ei表示词语wi的嵌入表示,Xi表示词语wi离散化0-1向量表示,E表示预设语料库对应词向量矩阵。
在另一个具体的实施场景中,可以将若干词语的嵌入表示输入语义抽取模型,从而得到词语的语义表示。语义抽取模型具体可以包括但不限于:多层语义抽取网络(如,多层transformer)。在语义抽取模型为L层transformer的情况下,经过L层transformer可以实现上下文动态编码,最终得到篇章和问题相互关联统一的语义表示,具体可以表示为:
Hi=transformer(Hi-1)……(4)
上述公式(4)中,i的取值范围为1至L,Hi表示经过第i层transformer提取得到的语义表示。此外,H0表示式子(1)经上述离散化、词嵌入处理之后所得到的嵌入表示。
在又一个具体的实施场景中,也可以直接将篇章文本和问题文本输入个体语义抽取网络,得到篇章文本和问题文本两者中若干词语的个体语义表示。此外,个体语义抽取网络可以包括多层语义抽取网络。个体语义抽取网络具体可以包括但不限于:ALBERT(ALITEBERT,轻量化BERT)模型。请结合参阅图2,图2是个体语义抽取网络一实施例的框架示意图,如图2所示,个体语义抽取网络具体可以包括:离散化层、词嵌入层、多层transformer表示层。离散化层、词嵌入层、多层transformer表示层具体的数据处理过程,可以参阅前述描述,在此不再赘述。
在另一个实施场景中,与前述个体语义表示类似地,可以获取参考文本中词语的嵌入表示,并将参考文本中词语的嵌入表示进行语义抽取,从而得到参考文本的原始语义表示。具体可以参阅前述个体语义表示的抽取过程,在此不再赘述。
此外,为了便于描述,本公开实施例以及下述实施例中,将问题文本和篇章文本中第t个词语w
t的个体语义表示记为H
L(t),并将第i个参考文本的原始语义表示记为
步骤S13:利用若干词语的个体语义表示和各个参考文本的原始语义表示,从篇章文本中预测得到问题文本的回答文本。
在一个实施场景中,可以分别利用每一词语的个体语义表示H
L(t)和各个参考文本的原始语义表示
得到词语分别与各个参考文本之间的语义关联度,在此基础上,针对每一词语,可以利用该词语与各个参考文本间的语义关联度,将各个原始语义表示进行融合,得到该词语的融合语义表示,从而可以基于若干词语的个体语义表示和融合语义表示,从篇章文本中预测得到回答文本。上述方式,通过词语分别与各个参考文本之间的语义关联度,将原始语义表示进行融合,得到融合语义表示,即词语的融合语义表示更依赖于语义关联度大的参考文本的原始语义表示,在此基础上,再利用词语本身的个体语义表示以及引入外部知识的融合语义表示来预测回答文本,能够有利于提高回答文本的准确性。
在一个具体的实施场景中,以参考文本共有N个为例,对于问题文本和篇章文本中第k个词语w
k而言,可以利用其个体语义表示H
L(k)分别与第1个参考文本的原始语义表示
至第N个参考文本的原始语义表示
得到词语w
k分别与第1个参考文本至第N个参考文本之间的语义关联度,以此类推,可以得到问题文本和篇章文本中每一词语分别与第1个参考文本至第N个参考文本之间的语义关联度,在此基础上,对于词语w
k而言,可以利用其分别与第1个参考文本至第N个参考文本之间的语义关联度分别对第1个参考文本至第N个参考文本的原始语义表示进行加权,得到词语w
k的融合语义表示,以此类推,可以得到问题文本和篇章文本中每一词语的融合语义表示。获取语义关联度以及融合原始语义表示的具体过程可以参阅后述相关实施例,在此暂不赘述。
在另一个具体的实施场景中,为了提高预测回答文本的效率,可以预先训练一个预测网络,该预测网络可以包括但不限于:全连接层、softmax层等等,在此不做限定,在此基础上,可以将词语的个体语义表示和融合语义表示进行拼接,并将拼接后的语义表示送入上述预测网络,从而可以预测得到篇章文本中各个词语为回答文本的起始位置的第一概率值,以及篇章文本中各个词语为回答文本的结束位置的第二概率值,最终可以基于各个词语的第一概率值和第二概率值,确定回答文本的起始位置词语和结束位置词语,并将起始位置词语、结束位置词语及其之间词语的组合,作为回答文本。
在另一个实施场景中,如前所述,可以分别利用每一词语的个体语义表示H
L(t)和各个参考文本的原始语义表示
得到词语分别与各个参考文本之间的语义关联度。在此基础上,可以获取问题文本中的关键词与各个参考文本之间的语义关联度,从而对于每一参考文本而言,可以利用其分别与各个关键词之间的语义关联度,得到其重要度,按照重要度由大到小的顺序,将各个参考文本进行排序,并选择位于前预设序位(如,首位)的参考文本,提取选择到的参考文本中的词条,并将问题文本中的关键词替换为该词条,得到新的问题文本。在此基础上,再获取新的问题文本和篇章文本中若干词语的个体语义表示,再利用若干词语的个体语义表示,从而篇章文本中预测得到问题文本的回答文本。
在一个具体的实施场景中,可以识别出问题文本的形容词、名词、名实体等中的至少一者,作为关键词,具体过程可以参阅前述相关描述,在此不再赘述。此外,关于参考文本中的词条可以参阅前述相关描述,在此不再赘述。
在另一个具体的实施场景中,如前所述,为了提高预测回答文本的效率,可以预先训练一个预测网络,该预测网络可以包括但不限于:全连接层、softmax层等等,在此不做限定,在此基础上,可以将新的问题文本和篇章文本中若干词语的个体语义表示送入该预测网络,从而可以预测得到篇章文本中各个词语为回答文本的起始位置的第一概率值,以及篇章文本中各个词语为回答文本的结束位置的第二概率值,最终可以基于各个词语的第一概率值和第二概率值,确定回答文本的起始位置词语和结束位置词语,并将起始位置词语、结束位置词语及其之间词语的组合,作为回答文本。
在另一个具体的实施场景中,请结合参阅图4,图4是基于篇章文本和参考文本回答问题文本一实施例的示意图。如图4所示,可以获取问题文本中关键词(如,黄色、甜、水果)与各个参考文本之间的语义相关度,为了便于描述,分别将词条为“香蕉”的参考文本记为参考文本1,词条为“苹果”的参考文本额记为参考文本2,词条为“柠檬”的参考文本记为参考文本3,例如,关键词“黄色”与参考文本1至参考文本3的语义关联度分别为:0.5、0、0.5,而关键词“甜”与参考文本1至参考文本3的语义关联度分别为:0.5、0.5、0,此外,关键词“水果”与参考文本1至参考文本3的语义关联度分别为:1/3、1/3、1/3,则针对上述每一参考文本,可以将其与各个关键词的语义关联度融合(如,加权求和、直接求和等等),作为该参考文本的重要度。以采用直接求和进行融合为例,可以得到参考文本1的重要度为4/3,参考文本1的重要度为5/6,参考文本2的重要度为5/6,即参考文本1的重要度最高。在此基础上,可以将问题文本中的关键词替换为参考文本1的词条,即可以将图4所示的问题文本更新为“香蕉放在了什么地方?”。故此,可以基于前述描述步骤,获取新的问题文本和篇章文本中若干词语的个体语义表示,并据此进行回答文本的预测。
在一个实施场景中,为了提高问题回答的效率,可以利用训练样本预先训练一个问题回答模型,且训练样本具体可以包括:样本问题文本、样本篇章文本和样本回答文本,具体训练过程可以参阅本申请下述公开实施例,在此暂不赘述。在训练得到问题回答模型之后,即可利用该问题回答模型预测得到问题文本的回答文本。此外,该问题回答模型具体可以包括:个体语义抽取网络、原始语义抽取网络、预测网络,具体可以参阅前述相关描述,在此不再赘述。
上述方案,获取问题文本和篇章文本,并获取若干知识点的参考文本,且问题文本和篇章文本包含若干词语,若干知识点与问题文本、篇章文本中的至少一者相关,在此基础上,再提取若干词语的个体语义表示,并提取各个参考文本的原始语义表示,从而利用若干词语的个体语义表示和各个参考文本的原始语义表示,从篇章文本中预测得到问题文本的回答文本。故此,通过获取若干知识点的参考文本,能够在问题回答过程中引入外部知识,有利于对篇章文本和问题文本的背景进行扩充,继而有利于提高问题回答的准确性。
请参阅图5,图5是图1中步骤S13一实施例的流程示意图。具体可以包括如下步骤:
步骤S51:分别利用每一词语的个体语义表示和各个参考文本的原始语义表示,得到词语分别与各个参考文本间的语义关联度。
具体地,可以分别将若干词语中的一个词语,作为当前词语,并将当前词语的个体语义表示分别与各个参考文本的原始语义表示进行点乘,得到当前词语与各个参考文本间的初始关联度,从而将当前词语与各个参考文本间的初始关联度进行归一化,得到当前词语分别与各个参考文本间的语义关联度。上述个体语义表示和原始语义表示具体可以视为具有一定维度的向量,故可以将个体语义表示和原始语义表示中对应元素相乘后整体求和,即可完成点乘运算,具体在此不再赘述。上述方式,通过分别将若干词语中的一个词语,作为当前词语,并直接将当前词语的个体语义表示分别与各个参考文本的原始语义表示进行点乘,得到当前词语与各个参考文本间的初始关联度,并据此归一化即可得到语义关联度,故能够有利于降低获取语义关联度的复杂度。
请结合参阅图6,图6是语义关联度获取过程一实施例的状态示意图,如前所述,可以将问题文本和篇章文本中第t个词语w
t的个体语义表示记为H
L(t),并将第i个参考文本的原始语义表示记为
以问题文本和篇章文本中共有M个词语,且参考文本共有N个为例,可以将词语w
t作为当前词语,从而可以将其个体语义表示记为H
L(t)分别与各个参考文本的原始语义表示
(其中,i∈[1,N])进行点乘,得到当前词语w
t分别与各个参考文本之间的初始关联度α
ti:
上述公式(5)中,·表示点乘运算。在此基础上,可以将N个初始关联度拼接形成向量
在此基础上,可以对上述向量
进行归一化处理,例如,可以采用softmax对上述向量
进行归一化,得到语义关联度β
t:
对于其他词语,可以以此类推,在此不再一一举例。
步骤S52:利用词语与各个参考文本间的语义关联度,将各个原始语义表示进行融合,得到词语的融合语义表示。
具体地,可以利用词语与各个参考文本间的语义关联度,对各个参考文本的原始语义表示进行加权。仍以上述词语w
t为例,可以词语w
t与各个参考文本D
i(其中,i∈[1,N])间的语义关联度,对各个参考文本的原始语义表示
(其中,i∈[1,N])进行加权,从而得到该词语的融合语义表示K(t):
对于其他词语,可以以此类推,最终可以得到第1个词语的融合语义表示K(1)、第2个词语的融合语义表示K(2)至第M个词语的融合语义表示K(M)。为了便于后续对融合语义表示进行处理,可以将M个词语的融合语义表示进行拼接,得到最终的融合语义表示K:
K=[K(1),K(2),…,K(M)]……(9)
步骤S53:基于若干词语的个体语义表示和融合语义表示,从篇章文本中预测得到回答文本。
在一个实施场景中,如前述公开实施例所述,为了提高预测回答文本的效率,可以预先训练一个预测网络,从而可以直接将若干词语的个体语义表示和融合语义表示送入该预测网络,最终预测得到回答文本。具体可以参阅前述公开实施例中的相关描述,在此不再赘述。
在另一个实施场景中,为了进一步提高预测回答文本的准确性,还可以利用若干词语的个体语义表示和融合语义表示,以及用于表示若干词语全体语义的全局语义表示,分别预测得到篇章文本中各个词语的第一概率值和第二概率值,从而基于第一概率值和第二概率值,在篇章文本中确定起始词语和结束词语,并利用起始词语和结束词语,得到回答文本,且全局语义表示是基于所有词语的个体语义表示得到,第一概率值表示词语为回答文本起始位置的可能性,第二概率值表示词语为回答文本结束位置的可能性。上述方式,通过进一步引入表示若干词语全体语义的全局语义表示,能够在预测回答文本的过程中,综合局部语义信息(即个体语义表示)、外部知识(即融合语义表示)以及全局语义信息(即全局语义表示),故能够有利于提高预测回答文本的准确性。
在一个具体的实施场景中,可以直接将问题文本和篇章文本中的预设位置处词语的个体语义表示,作为全局语义表示。例如,可以将式子(1)中字符[CLS]的个体语义表示作为全局语义表示,也可以将式子(1)中位于末尾的[SEP]的个体语义表示,作为全局语义表示。上述方式,直接将问题文本和篇章文本中的预设位置处词语的个体语义表示,作为全局语义表示,能够有利于降低获取全局语义表示的复杂度。
在另一个具体的实施场景中,也可以将若干词语的个体语义表示进行全局平均池化,得到全局语义表示。以个体语义表示为L维向量为例,具体可以计算M个个体语义表示中第1个元素的平均值,作为全局语义表示中第1个元素,以此类推,计算M个个体语义表示中第k个元素的平均值,作为全局语义表示中第k个元素,直至计算M个个体语义表示中第L个元素的平均值,作为全局语义表示中第L个元素。上述方式,通过将若干词语的个体语义表示进行全局平均池化,得到全局语义表示,能够有利于提高全局语义表示的准确性。
在又一个具体的实施场景中,还可以将若干词语的个体语义表示进行全局最大池化,得到全局语义表示。仍以个体语义表示为L维向量为例,具体可以统计M个个体语义表示中第1个元素的最大值,作为全局语义表示中第1个元素,以此类推,统计M个个体语义表示中第k个元素的最大值,作为全局语义表示中第k个元素,直至统计M个个体语义表示中第L个元素的最大值,作为全局语义表示中第L个元素。上述方式,通过将若干词语的个体语义表示进行全局最大池化,得到全局语义表示,能够有利于提高全局语义表示的准确性。
在又一个具体的实施场景中,为了便于描述,可以记上述全局语义表示为G,此外,如前所述可以将若干词语的融合语义表示进行拼接,得到最终的融合语义表示K,类似地,可以将若干词语的个体语义表示进行拼接,得到最终的个体语义表示HL,在此基础上,可以将最终的个体语义表示HL与全局语义表示G对应维度相乘,并将相乘结果与最终的个体语义表示HL、最终的融合语义表示K送入第一预测网络,得到各个词语的第一概率值ps,并将相乘结果与最终的个体语义表示HL、最终的融合语义表示K送入第二预测网络,得到各个词语的第二概率值pe:
ps=[HL;K;G⊙HL]·Ws……(10)
pe=[HL;K;G⊙HL]·We……(11)
上述公式(10)和公式(11)中,⊙表示对应维度相乘,Ws表示第一预测网络的网络参数,We表示第二预测网络的网络参数,[]表示拼接。
在又一个具体的实施场景中,为了提高预测准确性,还可以利用若干词语的个体语义表示和融合语义表示,以及用于表示若干词语全体语义的全局语义表示,预测得到篇章文本中各个词语的第一概率值,具体可以参阅前述描述以及公式(12),在此基础上,可以进一步利用若干词语的个体语义表示和融合语义表示,以及全局语义表示、最大的第一概率值所对应词语的个体语义表示,预测得到各个词语的第二概率值。上述方式,先预测得到各个词语的第一概率值,再依赖于最大的第一概率值所对应词语的个体语义表示以及若干词语的个体语义表示和融合语义表示、全局语义表示来预测第二概率值,故此能够使在结束位置的预测过程中,充分考虑开始位置的预测结果,从而能够有利于提高结束位置预测的准确性。
具体地,如前所述,个体语义表示具体为L维向量,故最终的个体语义表示HL为M*L大小的向量,为了便于后续数据处理,可以将最大的第一概率值所对应词语的个体语义复制M次,形成M*L大小的向量,为了便于描述可以记为Hs。在此基础上,可以通过下式,得到各个词语的第二概率值pe:
pe=[HL;K;G⊙HL;Hs]·We……(12)
在又一个具体的实施场景中,在得到各个词语的第一概率值ps和第二概率值pe之后,可以分别将篇章文本中其中一个词语作为当前词语,并统计当前词语的第一概率值与位于当前词语之后的各个词语的第二概率值的概率之积,最终可以将最大的概率之积所对应的两个词语及其之间词语的组合,作为回答文本。请继续结合参阅图4,可以先将篇章文本中第一个词语“水”作为当前词语,并统计“水”的第一概率值分别与“水”之后的各个词语(即:“果”、“店”、“里”、……、“最”、“右”、“边”)的第二概率值的概率之积,对于第二词语“果”、第三个词语“店”直至倒数第二个词语“右”可以执行如上类似的处理,最终可以统计得到图4篇章文本中加粗部分“最左边”内“最”的第一概率值和“边”第二概率值的概率之积最大,故可以将“最”和“边”以及之间的“左”的组合,即“最左边”作为问题文本“黄色的甜水果放在了什么地方?”的回答文本。其他情况可以以此类推,在此不再一一举例。
区别于前述实施例,通过词语分别与各个参考文本之间的语义关联度,将原始语义表示进行融合,得到融合语义表示,即词语的融合语义表示更依赖于语义关联度大的参考文本的原始语义表示,在此基础上,再利用词语本身的个体语义表示以及引入外部知识的融合语义表示来预测回答文本,能够有利于提高回答文本的准确性。
请参阅图7,图7是本申请问题回答方法另一实施例的流程示意图。具体包括如下步骤:
步骤S71:获取问题文本和篇章文本,并获取若干知识点的参考文本。
本公开实施例中,问题文本和篇章文本包含若干词语,若干知识点与问题文本、篇章文本中的至少一者相关。具体可以参阅前述公开实施例中的相关描述,在此不再赘述。
步骤S72:提取若干词语的个体语义表示,并提取各个参考文本的原始语义表示。
具体可以参阅前述公开实施例中的相关描述,在此不再赘述。
步骤S73:利用若干词语的个体语义表示和各个参考文本的原始语义表示,从篇章文本中预测得到问题文本的回答文本。
本公开实施例中,回答文本是基于篇章文本中各个词语的第一概率值和第二概率值得到的,第一概率值表示词语为回答文本起始位置的可能性,第二概率值表示词语为回答文本结束位置的可能性,第一概率值和第二概率值是利用若干词语的个体语义表示和融合语义表示,以及用于表示若干词语全体语义的全局语义表示预测得到的,具体可以参阅前述公开实施例中的相关描述,在此不再赘述,
步骤S74:在若干词语的个体语义表示中,选择回答文本起始位置词语的个体语义表示,并选择回答文本结束位置词语的个体语义表示。
如前述公开实施例,为了便于描述,可以将回答文本起始位置词语的个体语义表示记为Hs,并将回答文本结束位置词语的个体语义表示记为He。
步骤S75:利用起始位置词语的个体语义表示、结束位置词语的个体语义表示和全局语义表示,预测得到第三概率值。
本公开实施例中,第三概率值表示篇章文本中不存在问题文本的回答文本的可能性。尽管通过前述回答文本预测的相关步骤,能够在篇章文本中预测得到问题文本的回答文本,然而在现实场景中,有可能存在篇章文本中并不存在问题文本真正的回答文本的情况。请结合参阅图8,图8是基于篇章文本和参考文本回答问题文本另一实施例的示意图。如图8所示,对于问题文本“蓝色的水果放在什么地方?”,显然篇章文本中实际并未提及任何“蓝色的水果”,故篇章文本中实际上并不存在问题文本真正的回答文本,故在上述回答文本预测的基础上,进一步进行拒绝回答预测,即预测篇章文本中不存在问题文本的回答文本的可能性,能够有利于降低问题回答的误答率。
如前所述,为了提高预测效率,可以预先训练一个第三预测网络。第三预测网络具体可以包括但不限于:全连接层、归一化层,在此不做限定。在此基础上,可以将起始位置词语的个体语义表示Hs、结束位置词语的个体语义表示He以及全局语义表示G送入第三预测网络,从而得到第三概率值pNA:
pNA=sigmoid([Hs;He;G]·WNA)……(13)
上述公式(13)中,WNA表示第三预测网络的网络参数(如,全连接层的网络参数),[]表示拼接,sigmoid函数用于将输出范围归一化至0至1范围内。
步骤S76:基于起始位置词语的第一概率值、结束位置词语的第二概率值以及第三概率值,确定是否输出回答文本。
具体地,可以获取起始位置词语的第一概率值和结束位置词语的第二概率值的概率之积,为了便于描述,可以记为pA,并比较概率之积pA与第三概率值pNA的大小,在概率之积pA大于第三概率值pNA的情况下,可以确定输出回答文本,即可以认为问题文本存在回答文本,且问题文本的回答文本为在篇章文本中预测得到的回答文本;反之,在概率之积pA不大于第三概率值pNA的情况下,确定不输出回答文本,即可以认为问题文本不存在回答文本。
请继续结合参阅图8,由于篇章文本中并未涉及任何“蓝色的水果”,且引入的参考文本对篇章文本中各个知识点做了详细解释,但均与“蓝色的水果”不匹配,故最终获取到的第三概率值pNA大于概率之积pA,即相较于所预测到的回答文本,更倾向于拒绝回答问题文本,故可以认为该问题文本不存在对应的回答文本,从而可以确定不输出回答文本。其他情况可以以此类推,在此不再一一举例。
区别于前述实施例,通过在若干词语的个体语义表示中,选择回答文本起始位置词语的个体语义表示,并选择回答文本结束位置词语的个体语义表示,从而利用起始位置词语的个体语义表示、结束位置词语的个体语义表示和全局语义表示,预测得到第三概率值,且第三概率值表示篇章文本中不存在问题文本的回答文本的可能性,进而基于起始位置词语的第一概率值、结束位置词语的第二概率值以及第三概率值,确定是否输出回答文本,故此能够进一步提高问题回答的鲁棒性。此外,由于回答文本预测和拒绝回答预测均参考全局语义表示,故能够有利于在回答文本预测过程以及拒绝回答预测过程中引入交互机制,从而能够有利于在回答文本预测过程以较高置信度给出回答文本情况下,拒绝回答预测过程能够通过全局语义表示而将此信息考虑进来,进而使得拒绝回答预测过程能更倾向于输出“不拒答”的预测,反之在回答文本预测过程以较低置信度给出回答文本情况下,拒绝回答预测过程能够通过全局语义表示而将此信息考虑进来,进而使得拒绝回答预测过程能更倾向于输出“拒答”的预测,有利于提高拒绝回答预测的准确性。
请参阅图9,图9是问题回答模型的训练方法一实施例的流程示意图。具体可以包括如下步骤:
步骤S91:获取训练样本,并获取若干知识点的样本参考文本。
本公开实施例中,训练样本具体可以包括:样本问题文本、样本篇章文本和样本回答文本,样本问题文本和样本篇章文本可以包含若干样本词语,若干知识点与样本问题文本、样本篇章文本中的至少一者相关。具体可以参阅前述公开实施例中相关描述,在此不再赘述。
此外,为了便于后续处理,样本回答文本可以采用0-1向量表示,具体可以表示为起始位置向量和结束位置向量。以样本篇章文本“香蕉在冰箱,苹果在桌上”,样本问题文本“黄色的水果在哪里”为例,样本回答文本实际为“在冰箱”,为了便于后续处理,可以采用0-1向量表示样本回答文本的起始位置向量为[0 0 1 00 0 0 0 0 0],并采用0-1向量表示样本回答文本的结束位置向量为[0 0 0 0 1 0 0 0 0 0],即用“0”表示样本词语不可用于回答样本问题文本,用“1”表示样本词语可用于回答样本问题文本。其他情况可以以此类推,在此不再一一举例。
在一个实施场景中,上述截取自样本篇章文本的样本回答文本可以称为第一样本回答文本,而第一样本回答文本对应的样本问题文本可以称为第一样本问题文本,除此之外,为了提高问题回答模型的鲁棒性,还可以对第一样本问题文本进行关键词识别,并将识别得到的关键词替换为其他不同词语,得到第二问题文本,从而可以将样本篇章文本、第一样本问题文本和第一样本回答文本的组合,以及样本篇章文本、第二样本问题文本和预设文本的组合,作为训练样本,且预设文本用于表示样本篇章文本中不存在回答第二样本问题文本的回答文本。具体地,上述预设文本可以为“无答案”,也可以采用全零向量表示,在此不做限定。上述方式,通过对第一样本问题文本进行关键词识别,并将识别得到的关键词替换为其他不同词语,从而可以构建得到第二问题文本,且样本篇章文本中不存在回答第二问题文本的回答文本,并基于样本篇章文本、第一样本问题文本和第一样本回答文本,以及第二样本问题文本和预设文本,构建训练样本,使得训练样本既包含能够回答的样本问题文本,也包含不能回答的样本问题文本,进而能够有利于在利用训练样本进行训练的过程中,提高问题回答模型的鲁棒性。
在一个具体的实施场景中,可以将样本篇章文本、第一样本问题文本和第一样本回答文本的组合,作为一组训练样本,并将样本篇章文本、第二样本问题文本和预设文本的组合,作为一组训练样本。
在另一个具体的实施场景中,可以识别出第一样本问题文本中的名词、名实体、形容词、时间等词语,作为关键词。具体可以采用诸如LTP、Stanza等NER(Named EntityRecognition,命名实体识别)工具识别得到关键词。
在另一个具体的实施场景中,为了确保替换关键词后所得到的第二样本问题文本的语义连贯性,每次可以仅替换一个关键词。此外,也可以每次替换多个关键词,并在替换之后人工校验其语义连贯性,得到第二样本问题文本。
具体地,可以将第一样本问题文本中的名实体替换为样本篇章文本中的另一个名实体。请结合参阅图10,图10是训练样本获取过程一实施例的示意图。如图10所示,对于第一样本问题文本“图灵的出生地点是哪里?”,可以识别得到名实体“图灵”,从而可以将该名实体替换为样本篇章文本中的另一名实体“爱因斯坦”,得到第二样本问题文本“爱因斯坦的出生地点在哪里?”,其他情况可以以此类推,在此不再一一举例。
具体地,还可以将第一样本问题文本中的时间替换为样本篇章文本中的另一时间。请继续结合参阅图10,对于第一样本问题文本“1926年图灵考入哪所学校?”,可以识别得到时间“1926年”,从而可以将该时间替换为样本篇章文本中的另一时间“1927年末”,得到第二样本问题文本“1927年末图灵考入哪所学校?”,其他情况可以以此类推,在此不再一一举例。
具体地,还可以将第一样本问题文本中的名词替换为其反义词。请继续结合参阅图10,对于第一样本问题文本“图灵的哪一篇论文收到赞赏?”,可以识别得到名词“赞赏”,从而可以将该名词替换为其反义词“惩罚”,得到第二样本问题文本“图灵的哪一篇论文收到惩罚?”,其他情况可以以此类推,在此不再一一举例。
具体地,还可以将第一样本问题文本中的形容词替换为其反义词。请继续结合参阅图10,对于第一样本问题文本“图灵因成绩优异获得了什么?”,可以识别得到形容词“优异”,从而可以将该形容词替换为其反义词“差劲”,得到第二样本问题文本“图灵因成绩差劲获得了什么?”,其他情况可以以此类推,在此不再一一举例。
步骤S92:利用问题回答模型的个体语义抽取网络提取若干样本词语的样本个体语义表示,并利用问题回答模型的原始语义抽取网络提取各个样本参考文本的样本原始语义表示。
具体可以参阅前述公开实施例中的相关描述,在此不再赘述。
步骤S93:基于问题回答模型的预测网络,利用若干样本词语的样本个体语义表示和各个样本参考文本的样本原始语义表示,预测得到样本篇章文本中各个样本词语的第一预测概率值和第二预测概率值。
本公开实施例中,第一预测概率值表示样本词语为样本回答文本起始位置的可能性,第二预测概率值表示样本词语为样本回答文本结束位置的可能性。
具体地,可以分别利用每一样本词语的样本个体语义表示和各个样本参考文本的样本原始语义表示,得到样本词语分别与各个样本参考文本间的样本语义关联度,并利用样本词语与各个样本参考文本间的样本语义关联度,将各个样本原始语义表示进行融合,得到样本词语的样本融合语义表示,在此基础上,可以将若干样本词语的样本个体语义表示和样本融合语义表示送入预测网络,得到上述第一预测概率值和第二预测概率值。
在一个实施场景中,可以分别将若干样本词语中的一个样本词语,作为当前样本词语,并将当前样本词语的样本个体语义表示分别与各个样本参考文本的样本原始语义表示进行点乘,得到样本当前词语与各个样本参考文本间的样本初始关联度,最终将样本当前词语与各个样本参考文本间的样本初始关联度进行归一化,得到样本当前词语分别与各个样本参考文本间的样本语义关联度。具体可以参阅前述公开实施例中语义关联度的获取过程,在此不再赘述。
在另一个实施场景中,预测网络具体可以包括用于预测起始位置的第一预测网络和用于预测结束位置的第二预测网络,故可以将若干样本词语的样本个体语义表示和样本融合语义表示,以及用于表示若干样本词语全体语义的样本全局语义表示送入第一预测网络,得到样本篇章文本中各个样本词语的第一预测概率值,并将若干样本词语的样本个体语义表示和样本融合语义表示,以及用于表示若干样本词语全体语义的样本全局语义表示送入第二预测网络,得到样本篇章文本中各个样本词语的第二预测概率值。具体地,样本全局语义表示是基于所有样本词语的个体语义表示得到的,具体可以参阅前述公开实施例中全局语义表示的获取过程,在此不再赘述。
在又一个实施场景中,也可以将若干样本词语的样本个体语义表示和样本融合语义表示,以及用于表示若干样本词语全体语义的样本全局语义表示送入第一预测网络,得到样本篇章文本中各个样本词语的第一预测概率值,在此基础上,再将若干样本词语的样本个体语义表示和样本融合语义表示,以及样本全局语义表示、起始位置向量所对应的样本词语的样本个体语义表示送入第二预测网络,得到样本篇章文本中各个样本词语的第二预测概率值。
为了便于描述,与前所述公开实施例类似地,可以将若干样本词语的样本个体语义表示进行拼接,得到最终的样本个体语义表示HL,此外可以将起始位置向量记为Ys,则起始位置样本词语的样本个体语义表示Hs可以记为:
具体过程可以参阅前述公开实施例中相关描述,在此不再赘述。
步骤S94:基于样本回答文本以及第一预测概率值、第二预测概率值,得到问题回答模型的损失值。
具体地,对于起始位置,可以利用交叉熵损失函数处理上述起始位置向量以及样本篇章文本中各个样本词语的第一预测概率值,得到第一损失值;而对于结束位置,可以利用交叉熵损失函数处理上述结束位置向量以及样本篇章文本中各个样本词语的第二预测概率值,得到第二损失值。在此基础上,可以对第一损失值和第二损失值进行加权,得到问题回答模型的损失值。
至此训练阶段的回答文本预测已实施完毕。此外,与前所述公开实施例类似,为了降低问题回答的误答率,训练阶段还可以进行拒绝回答预测。具体地,可以在若干样本词语的样本个体语义表示中,选择样本回答文本起始位置样本词语的样本个体语义表示,并选择样本回答文本结束位置样本词语的样本个体语义表示。具体地,起始位置样本词语的样本个体语义表示可以参阅公式(16)相关描述。类似地,可以记结束位置向量为Ye,结束位置样本词语的样本个体语义表示He可以表示为:
进一步地,可以将起始位置样本词语的样本个体语义表示、结束位置样本词语的样本个体语义表示和样本全局语义表示送入第三预测网络,得到第三预测概率值,且第三预测概率值表示样本篇章文本中不存在样本问题文本的样本回答文本的可能性。在此基础上,可以基于样本问题文本是否标注有样本回答文本以及第三预测概率值,得到第三损失值,进而可以基于上述第一损失值、第二损失值、第三损失值,得到问题回答模型的损失值。故此,由于在训练回答文本预测环节和训练拒绝回答预测环节均参考样本全局语义表示,能够有利于在训练回答文本预测环节和训练拒绝回答预测环节中引入交互机制,使两者相互促进、相辅相成。
如前所述,在训练阶段可以一并实施回答文本预测和拒绝回答预测,故在样本问题文本标注有对应的样本回答文本的情况下,可以屏蔽第三损失值,仅对第一损失值和第二损失值进行加权,得到问题回答模型的损失值,并利用该损失值执行后续对问题回答模型的网络参数进行调整的步骤;在样本问题文本未标注有对应的样本回答文本的情况下,可以屏蔽第一损失值和第二损失值,并将第三损失值,作为问题回答模型的损失值,并利用该损失值执行后续对问题回答模型的网络参数进行调整的步骤。
需要说明的是,在训练过程中,由于拒绝回答预测不依赖于回答文本预测所得到的第一预测概率值和第二预测概率值,故拒绝回答预测和回答文本预测既可以先后执行,即可以先预测得到第一预测概率值和第二预测概率值,后预测得到第三预测概率值,或者可以先预测得到第三预测概率值,后预测得到第一预测概率值和第二预测概率值;也可以同时执行,即同时预测得到第一预测概率值和第二预测概率值,以及第三预测概率值,在此不做限定。
步骤S95:利用损失值,调整问题回答模型的网络参数。
具体地,可以采用随机梯度下降(Stochastic Gradient Descent,SGD)、批量梯度下降(Batch Gradient Descent,BGD)、小批量梯度下降(Mini-Batch Gradient Descent,MBGD)等方式,利用损失值对问题回答模型的网络参数进行调整,其中,批量梯度下降是指在每一次迭代时,使用所有样本来进行参数更新;随机梯度下降是指在每一次迭代时,使用一个样本来进行参数更新;小批量梯度下降是指在每一次迭代时,使用一批样本来进行参数更新,在此不再赘述。
区别于前述实施例,通过获取训练样本,并获取若干知识点的样本参考文本,从而利用问题回答模型的个体语义抽取网络提取若干样本词语的样本个体语义表示,并利用问题回答模型的原始语义抽取网络提取各个样本参考文本的样本原始语义表示,进而基于问题回答模型的预测网络,利用若干样本词语的样本个体语义表示和各个样本参考文本的样本原始语义表示,预测得到样本篇章文本中各个样本词语的第一预测概率值和第二预测概率值,在此基础上,基于样本回答文本以及第一预测概率值、第二预测概率值,得到问题回答模型的损失值,从而利用损失值,调整问题回答模型的网络参数,进而能够在训练过程中引入外部知识,有利于对样本篇章文本和样本问题文本的背景进行扩充,继而有利于提高问题回答模型的准确性。
请参阅图11,图11是本申请电子设备110一实施例的框架示意图。电子设备110包括相互耦接的存储器111和处理器112,存储器111中存储有程序指令,处理器112用于执行程序指令以实现上述任一问题回答方法实施例中的步骤,或实现上述问题回答模型的训练方法实施例中的步骤。具体地,电子设备110可以包括但不限于:台式计算机、笔记本电脑、平板电脑、服务器等等,在此不做限定。
具体而言,处理器112用于控制其自身以及存储器102以实现上述任一问题回答方法实施例中的步骤,或实现上述问题回答模型的训练方法实施例中的步骤。处理器112还可以称为CPU(Central Processing Unit,中央处理单元)。处理器112可能是一种集成电路芯片,具有信号的处理能力。处理器112还可以是通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器112可以由集成电路芯片共同实现。
本公开实施例中,处理器112用于获取问题文本和篇章文本,并获取若干知识点的参考文本;其中,问题文本和篇章文本包含若干词语,若干知识点与问题文本、篇章文本中的至少一者相关;处理器112用于提取若干词语的个体语义表示,并提取各个参考文本的原始语义表示;处理器112用于利用若干词语的个体语义表示和各个参考文本的原始语义表示,从篇章文本中预测得到问题文本的回答文本。
上述方案,获取问题文本和篇章文本,并获取若干知识点的参考文本,且问题文本和篇章文本包含若干词语,若干知识点与问题文本、篇章文本中的至少一者相关,在此基础上,再提取若干词语的个体语义表示,并提取各个参考文本的原始语义表示,从而利用若干词语的个体语义表示和各个参考文本的原始语义表示,从篇章文本中预测得到问题文本的回答文本。故此,通过获取若干知识点的参考文本,能够在问题回答过程中引入外部知识,有利于对篇章文本和问题文本的背景进行扩充,继而有利于提高问题回答的准确性。
在一些公开实施例中,处理器112用于分别利用每一词语的个体语义表示和各个参考文本的原始语义表示,得到词语分别与各个参考文本间的语义关联度;处理器112用于利用词语与各个参考文本间的语义关联度,将各个原始语义表示进行融合,得到词语的融合语义表示;处理器112用于基于若干词语的个体语义表示和融合语义表示,从篇章文本中预测得到回答文本。
区别于前述实施例,通过词语分别与各个参考文本之间的语义关联度,将原始语义表示进行融合,得到融合语义表示,即词语的融合语义表示更依赖于语义关联度大的参考文本的原始语义表示,在此基础上,再利用词语本身的个体语义表示以及引入外部知识的融合语义表示来预测回答文本,能够有利于提高回答文本的准确性。
在一些公开实施例中,处理器112用于分别将若干词语中的一个词语,作为当前词语;处理器112用于将当前词语的个体语义表示分别与各个参考文本的原始语义表示进行点乘,得到当前词语与各个参考文本间的初始关联度;处理器112用于将当前词语与各个参考文本间的初始关联度进行归一化,得到当前词语分别与各个参考文本间的语义关联度。
区别于前述实施例,通过分别将若干词语中的一个词语,作为当前词语,并直接将当前词语的个体语义表示分别与各个参考文本的原始语义表示进行点乘,得到当前词语与各个参考文本间的初始关联度,并据此归一化即可得到语义关联度,故能够有利于降低获取语义关联度的复杂度。
在一些公开实施例中,处理器112用于利用若干词语的个体语义表示和融合语义表示,以及用于表示若干词语全体语义的全局语义表示,分别预测得到篇章文本中各个词语的第一概率值和第二概率值;处理器112用于基于第一概率值和第二概率值,在篇章文本中确定起始词语和结束词语,并利用起始词语和结束词语,得到回答文本;其中,全局语义表示是基于所有词语的个体语义表示得到,第一概率值表示词语为回答文本起始位置的可能性,第二概率值表示词语为回答文本结束位置的可能性。
区别于前述实施例,通过进一步引入表示若干词语全体语义的全局语义表示,能够在预测回答文本的过程中,综合局部语义信息(即个体语义表示)、外部知识(即融合语义表示)以及全局语义信息(即全局语义表示),故能够有利于提高预测回答文本的准确性。
在一些公开实施例中,处理器112用于利用若干词语的个体语义表示和融合语义表示,以及用于表示若干词语全体语义的全局语义表示,预测得到篇章文本中各个词语的第一概率值;处理器112用于利用若干词语的个体语义表示和融合语义表示,以及全局语义表示、最大的第一概率值所对应词语的个体语义表示,预测得到各个词语的第二概率值
区别于前述实施例,先预测得到各个词语的第一概率值,再依赖于最大的第一概率值所对应词语的个体语义表示以及若干词语的个体语义表示和融合语义表示、全局语义表示来预测第二概率值,故此能够使在结束位置的预测过程中,充分考虑开始位置的预测结果,从而能够有利于提高结束位置预测的准确性。
在一些公开实施例中,全局语义表示和个体语义表示尺寸相同,处理器112用于执行以下任一者得到全局语义表示:将问题文本和篇章文本中的预设位置处词语的个体语义表示,作为全局语义表示;将若干词语的个体语义表示进行全局平均池化,得到全局语义表示;将若干词语的个体语义表示进行全局最大池化,得到全局语义表示。
区别于前述实施例,直接将问题文本和篇章文本中的预设位置处词语的个体语义表示,作为全局语义表示,能够有利于降低获取全局语义表示的复杂度;而通过将若干词语的个体语义表示进行全局平均池化,得到全局语义表示,能够有利于提高全局语义表示的准确性;此外,通过将若干词语的个体语义表示进行全局最大池化,得到全局语义表示,能够有利于提高全局语义表示的准确性。
在一些公开实施例中,回答文本是基于篇章文本中各个词语的第一概率值和第二概率值得到的,第一概率值表示词语为回答文本起始位置的可能性,第二概率值表示词语为回答文本结束位置的可能性,第一概率值和第二概率值是利用若干词语的个体语义表示和融合语义表示,以及用于表示若干词语全体语义的全局语义表示预测得到的,处理器112用于在若干词语的个体语义表示中,选择回答文本起始位置词语的个体语义表示,并选择回答文本结束位置词语的个体语义表示;处理器112用于利用起始位置词语的个体语义表示、结束位置词语的个体语义表示和全局语义表示,预测得到第三概率值;其中,第三概率值表示篇章文本中不存在问题文本的回答文本的可能性;处理器112用于基于起始位置词语的第一概率值、结束位置词语的第二概率值以及第三概率值,确定是否输出回答文本。
区别于前述实施例,通过在若干词语的个体语义表示中,选择回答文本起始位置词语的个体语义表示,并选择回答文本结束位置词语的个体语义表示,从而利用起始位置词语的个体语义表示、结束位置词语的个体语义表示和全局语义表示,预测得到第三概率值,且第三概率值表示篇章文本中不存在问题文本的回答文本的可能性,进而基于起始位置词语的第一概率值、结束位置词语的第二概率值以及第三概率值,确定是否输出回答文本,故此能够进一步提高问题回答的鲁棒性。此外,由于回答文本预测和拒绝回答预测均参考全局语义表示,故能够有利于在回答文本预测过程以及拒绝回答预测过程中引入交互机制,从而能够有利于在回答文本预测过程以较高置信度给出回答文本情况下,拒绝回答预测过程能够通过全局语义表示而将此信息考虑进来,进而使得拒绝回答预测过程能更倾向于输出“不拒答”的预测,反之在回答文本预测过程以较低置信度给出回答文本情况下,拒绝回答预测过程能够通过全局语义表示而将此信息考虑进来,进而使得拒绝回答预测过程能更倾向于输出“拒答”的预测,有利于提高拒绝回答预测的准确性。
在一些公开实施例中,处理器112用于获取起始位置词语的第一概率值和结束位置词语的第二概率值的概率之积;处理器112用于在概率之积大于第三概率值的情况下,确定输出回答文本;处理器112用于在概率之积不大于第三概率值的情况下,确定不输出回答文本。
区别于前述实施例,通过获取起始位置词语的第一概率值和结束位置词语的第二概率值的概率之积,并比较概率之积与第三概率值之间的大小关系来确定是否输出回答文本,能够有利于降低确定是否输出回答文本的复杂度。
在一些公开实施例中,处理器112用于对问题文本、篇章文本中的至少一者进行关键词识别,得到若干关键词;处理器112用于从预设知识词典中,获取与关键词相关的知识点的参考文本。
区别于前述实施例,通过对问题文本、篇章文本中的至少一者进行关键词识别,得到若干关键词,从而从预设知识词典中,获取与关键词相关的知识点的参考文本,故此可以提高参考文本与篇章文本、问题文本的相关性,进而有利于在问题回答过程中提高外部知识的参考价值,有利于提高问题回答的准确性。
在一些公开实施例中,回答文本是基于问题回答模型预测得到的,问题回答模型是利用训练样本训练得到的,且训练样本包括:样本问题文本、样本篇章文本和样本回答文本。
区别于前述实施例,通过问题回答模型预测得到回答文本,能够有利于提高问题回答的效率。
在一些公开实施例中,处理器112用于获取样本篇章文本、第一样本问题文本和第一样本问题文本的第一样本回答文本;其中,第一样本回答文本截取自样本篇章文本;处理器112用于对第一样本问题文本进行关键词识别,并将识别得到的关键词替换为其他不同词语,得到第二问题文本;处理器112用于将样本篇章文本、第一样本问题文本和第一样本回答文本的组合,以及样本篇章文本、第二样本问题文本和预设文本的组合,作为训练样本;其中,预设文本用于表示样本篇章文本中不存在回答第二样本问题文本的回答文本。
区别于前述实施例,通过对第一样本问题文本进行关键词识别,并将识别得到的关键词替换为其他不同词语,从而可以构建得到第二问题文本,且样本篇章文本中不存在回答第二问题文本的回答文本,并基于样本篇章文本、第一样本问题文本和第一样本回答文本,以及第二样本问题文本和预设文本,构建训练样本,使得训练样本既包含能够回答的样本问题文本,也包含不能回答的样本问题文本,进而能够有利于在利用训练样本进行训练的过程中,提高问题回答模型的鲁棒性。
请参阅图12,图12是本申请存储装置120一实施例的框架示意图。存储装置120存储有能够被处理器运行的程序指令121,程序指令121用于实现上述任一问题回答方法实施例中的步骤,或实现上述问题回答模型的训练方法实施例中的步骤。
上述方案,能够在问题回答过程中引入外部知识,有利于对篇章文本和问题文本的背景进行扩充,继而有利于提高问题回答的准确性。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。