掌桥专利:专业的专利平台
掌桥专利
首页

基于文本的问答方法、装置、计算机设备及存储介质

文献发布时间:2023-06-19 16:09:34



技术领域

本申请涉及人工智能领域,尤其涉及一种基于文本的问答方法、装置、计算机设备及存储介质。

背景技术

随着计算机技术的发展,计算机在自然语言处理中的应用也越来越多。基于文本的智能问答是自然语言处理中的重要课题,它的应用场景可以是先获取问题文本,然后在较长的答案文本中确定问题文本所对应的答案信息。基于文本的智能问答通常是将长文本输入基于神经网络搭建的模型,由模型输出答案信息。预训练语言模型具有自注意力机制,可以学习到语言内部蕴含的语义关联关系,在基于文本的智能问答中具有较好的效果。

预训练语言模型的训练需要消耗大量的计算资源,预训练语言模型对输入的文本长度也有限制。在实际应用中,需要处理的文本通常篇幅较长,为此,通常会直接将文本分割为多个小于模型最大输入长度的子文本,然后输入模型进行问答处理。然而,这样会丢失很多重要的语义信息,导致问答准确性较低。

发明内容

本申请实施例的目的在于提出一种基于文本的问答方法、装置、计算机设备及存储介质,以解决问答准确性较低的问题。

为了解决上述技术问题,本申请实施例提供一种基于文本的问答方法,采用了如下所述的技术方案:

获取问题文本及其对应的答案文本;

根据预设的语义分割算法分割所述答案文本,得到多个语义块;

将所述问题文本与各语义块分别进行组合,得到多个问答价值评估文本;

将各问答价值评估文本分别输入问答价值评估模型,得到所述各问答价值评估文本中语义块的问答价值分数;

根据所述问答价值分数对所述各语义块进行筛选,得到包含至少一个语义块的语义块队列;

将所述问题文本和所述语义块队列输入答案信息提取模型,得到所述答案文本中与所述问题文本所对应的答案信息。

为了解决上述技术问题,本申请实施例还提供一种基于文本的问答装置,采用了如下所述的技术方案:

文本获取模块,用于获取问题文本及其对应的答案文本;

文本分割模块,用于根据预设的语义分割算法分割所述答案文本,得到多个语义块;

组合模块,用于将所述问题文本与各语义块分别进行组合,得到多个问答价值评估文本;

文本输入模块,用于将各问答价值评估文本分别输入问答价值评估模型,得到所述各问答价值评估文本中语义块的问答价值分数;

筛选模块,用于根据所述问答价值分数对所述各语义块进行筛选,得到包含至少一个语义块的语义块队列;

答案提取模块,用于将所述问题文本和所述语义块队列输入答案信息提取模型,得到所述答案文本中与所述问题文本所对应的答案信息。

为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:

获取问题文本及其对应的答案文本;

根据预设的语义分割算法分割所述答案文本,得到多个语义块;

将所述问题文本与各语义块分别进行组合,得到多个问答价值评估文本;

将各问答价值评估文本分别输入问答价值评估模型,得到所述各问答价值评估文本中语义块的问答价值分数;

根据所述问答价值分数对所述各语义块进行筛选,得到包含至少一个语义块的语义块队列;

将所述问题文本和所述语义块队列输入答案信息提取模型,得到所述答案文本中与所述问题文本所对应的答案信息。

为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:

获取问题文本及其对应的答案文本;

根据预设的语义分割算法分割所述答案文本,得到多个语义块;

将所述问题文本与各语义块分别进行组合,得到多个问答价值评估文本;

将各问答价值评估文本分别输入问答价值评估模型,得到所述各问答价值评估文本中语义块的问答价值分数;

根据所述问答价值分数对所述各语义块进行筛选,得到包含至少一个语义块的语义块队列;

将所述问题文本和所述语义块队列输入答案信息提取模型,得到所述答案文本中与所述问题文本所对应的答案信息。

与现有技术相比,本申请实施例主要有以下有益效果:获取问题文本及其对应的答案文本,根据预设的语义分割算法分割答案文本,确保得到的语义块具有足够丰富的语义信息;将问题文本与各语义块分别进行组合得到多个问答价值评估文本;将问答价值评估文本输入问答价值评估模型得到问答价值分数,问答价值分数衡量了问答价值评估文本中的语义块在问答中的贡献度与价值,从而选取具有较高问答价值的语义块构成语义块队列;然后将问题文本与语义块队列输入答案信息提取模型,使得模型可以根据具有较高问答价值的语义块准确输出答案信息;本申请在文本分割时保证了语义块的语义信息,选取具有较高问答价值的语义块进行答案信息的提取,提高了问答的准确性。

附图说明

为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的基于文本的问答方法的一个实施例的流程图;

图3是根据本申请的基于文本的问答装置的一个实施例的结构示意图;

图4是根据本申请的计算机设备的一个实施例的结构示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。

需要说明的是,本申请实施例所提供的基于文本的问答方法一般由服务器执行,相应地,基于文本的问答装置一般设置于服务器中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

继续参考图2,示出了根据本申请的基于文本的问答方法的一个实施例的流程图。所述的基于文本的问答方法,包括以下步骤:

步骤S201,获取问题文本及其对应的答案文本。

在本实施例中,基于文本的问答方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式与终端进行通信。需要指出的是,上述无线连接方式可以包括但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。

具体地,获取问题文本以及问题文本所对应的答案文本。其中,问题文本用于提出问题;答案文本中包含问题文本所对应的答案。本申请要在答案文本中定位出具体的、直接的答案片段。

步骤S202,根据预设的语义分割算法分割答案文本,得到多个语义块。

具体地,对答案文本进行分割,得到多个语义块。本申请可以根据预设的语义分割算法识别答案文本中具有实际语义的文本元素(例如文本中特定类别的词语),并基于识别到的文本元素对问答文本进行分割,以确保得到的每个语义块具有足够丰富的语义信息。

步骤S203,将问题文本与各语义块分别进行组合,得到多个问答价值评估文本。

具体地,将问题文本与各语义块逐一组合,得到多个问答价值评估文本。在一个实施例中,对于分割得到的第i个语义块,问答价值评估文本的形式为[[CLS]Query[SEP]Si],其中,CLS和SEP表示分隔符,Query表示问题文本,Si表示第i个语义块。

步骤S204,将各问答价值评估文本分别输入问答价值评估模型,得到各问答价值评估文本中语义块的问答价值分数。

其中,问答价值评估模型用于评估语义块在问答中的价值或者贡献度。

具体地,将得到的各语义块分别输入问答价值评估模型,得到各语义块的问答价值分数。通常,语义块在问答中越有用,语义块的问答价值分数越高。

在一个实施例中,问答价值评估模型基于预训练语言模型构建,其中,预训练语言模型可以是Bert、Roberta等模型。问答价值评估模型需要经过预先训练。

步骤S205,根据问答价值分数对各语义块进行筛选,得到包含至少一个语义块的语义块队列。

具体地,问答价值分数为数字,其数值越高,语义块在问答中发挥的作用也越大。可以根据问答价值分数对各语义块进行筛选,得到语义块队列,其中,语义块队列中包含至少一个语义块。

在一个实施例中,获取预设的价值分数阈值,将问答价值分数与价值分数阈值相比较,选取问答价值分数大于价值分数阈值的语义块,以构建语义块队列。

在一个实施例中,根据问答价值分数的大小对各语义块进行降序排列,然后选取至少一个语义块得到语义块队列。

步骤S206,将问题文本和语义块队列输入答案信息提取模型,得到答案文本中与问题文本所对应的答案信息。

其中,答案信息提取模型可以是用于从语义块队列中提取答案信息的模型。这里的答案信息,是指与问题文本直接相关的文本片段,虽然答案文本包含问题文本所对应的答案,但是答案文本可能较长,包含较多信息。因此,通过答案信息提取模型从语义块队列中提取出与问题文本直接相关的文本片段。例如,问题文本为“中国的首都在哪里?”,答案文本为一段较长的介绍性的文字,并包含如下句子:“中国首都在北京”。本申请的答案信息提取模型旨在从答案文本中提取出“北京”作为答案信息。

具体地,将问题文本和语义块队列输入答案信息提取模型,答案信息提取模型可以在语义块队列中的各语义块中确定与问题文本关联最紧密的文本片段,并将其作为答案信息进行输出。

在一个实施例中,答案信息提取模型基于预训练语言模型构建,其中,预训练语言模型可以是Bert、Roberta等模型。

本实施例中,获取问题文本及其对应的答案文本,根据预设的语义分割算法分割答案文本,确保得到的语义块具有足够丰富的语义信息;将问题文本与各语义块分别进行组合得到多个问答价值评估文本;将问答价值评估文本输入问答价值评估模型得到问答价值分数,问答价值分数衡量了问答价值评估文本中的语义块在问答中的贡献度与价值,从而选取具有较高问答价值的语义块构成语义块队列;然后将问题文本与语义块队列输入答案信息提取模型,使得模型可以根据具有较高问答价值的语义块准确输出答案信息;本申请在文本分割时保证了语义块的语义信息,选取具有较高问答价值的语义块进行答案信息的提取,提高了问答的准确性。

进一步的,上述步骤S202可以包括:识别答案文本中的目标词;根据目标词和预设的文本长度条件分割答案文本,得到多个语义块;其中,语义块中目标词的数量等于预设数量阈值且语义块的文本长度处于预设长度区间内;或者,语义块的文本长度等于预设长度区间右端点的数值;数量阈值和预设长度区间为预设的语义分割算法中的参数。

具体地,对答案文本进行自然语言处理,以识别答案文本中的目标词。其中,目标词可以是答案文本中特定类别的词语。在一个实施例中,目标词可以是答案文本中的命名实体以及动词。识别到的目标词在文本分割时将作为一种参考要素。

语义分割算法从目标词和文本长度两个维度对文本分割进行限制。基于语义分割算法,根据目标词和预设的文本长度条件分割答案文本,其中,文本长度条件是指截取到的语义块的文本长度应该处于预设长度区间[B

在分割时,都需要先截取B

如果B

如果B

在一个实施例中,语义块包含第一部分和第二部分,其中第一部分文本长度为B

本实施例中,根据目标词和文本长度条件分割答案文本,得到多个语义块,语义块在符合文本长度条件的情况下还具有足够数量的目标词,确保了语义块具有足够丰富的语义信息。

进一步的,上述步骤S204可以包括:对于每个问答价值评估文本,将问答价值评估文本分别输入问答价值评估模型中的各子模型,得到多个问答价值子分数;对各问答价值子分数进行线性运算,得到问答价值评估文本中语义块的问答价值分数。

具体地,问答价值评估模型可以包含多个并列的子模型,子模型可以由预训练语言模型、全连接层和激活函数构成。其中,预训练语言模型可以包括Bert、Roberta、LMO、GPT等模型。激活函数可以是relu、sigmoid等函数。在一个实施例中,问答价值评估模型可以由预训练语言模型组件、全连接层和激活函数构成,其中预训练语言模型组件可以多个预训练语言模型构成。问答价值评估模型输出的问答价值分数可以处于0到1之间。

对于每个语义块,将问答价值评估文本输入问答价值评估模型中的各子模型,各子模型分别输出问答价值评估文本中语义块的问答价值子分数,可以对各问答价值子分数进行线性运算,例如直接进行求和运算,得到语义块的问答价值分数。

在一个实施例中,计算各问答价值子分数的平均数,得到语义块的问答价值分数。

在一个实施例中,通过预设的权重算法确定各问答价值子分数的权重,例如,通过层次分析法确定各问答价值子分数的权重,然后根据权重计算各问答价值子分数的加权和,得到语义块的问答价值分数。通过给问答价值子分数赋予不同的权重,可以引入不同子模型以及子模型输出的问答价值子分数之间的区别,确保了问答价值分数计算的准确性。

本实施例中,问答价值评估模型中可以包含多个不同的子模型,每个子模型针对语义块均输出问答价值子分数,根据各子模型输出的问答价值子分数进行线性运算,得到综合多个子模型评估结果的问答价值分数,确保了问答价值分数的准确性。

进一步的,上述步骤S204之前,还可以包括:获取多个问答价值训练文本;各问答价值训练文本由训练问题文本和分割训练答案文本得到的各语义块分别进行组合得到;将各问答价值训练文本输入初始问答价值评估模型,得到各问答价值训练文本中语义块的问答价值预测分数;获取各问答价值训练文本中语义块的语义块标签;语义块标签标识语义块是否关联于答案信息;基于得到的问答价值预测分数和语义块标签计算价值评估损失;根据价值评估损失调整初始问答价值评估模型的模型参数,直至模型收敛,得到问答价值评估模型。

具体地,本申请需要预先训练得到问答价值评估模型。在训练中,获取训练问题文本和训练答案文本,根据语义分割算法对训练答案文本进行分割得到多个语义块。将训练问题文本与各语义块分别进行组合得到多个问答价值训练文本。

将问答价值训练文本输入初始问答价值评估模型,得到各问答价值训练文本中语义块的问答价值预测分数。问答价值预测分数是模型训练阶段的问答价值分数。各语义块具有语义块标签,语义块标签用于显示语义块是否关联于答案信息,例如,当语义块关联于答案信息时,语义块标签为1;当语义块不关联于答案信息时,语义块标签为0。

根据问答价值预测分数和语义块标签可以计算价值评估损失loss(Q),loss(Q)=CrossEntropy(dis(Q),label(Q))。其中,CrossEntropy代表交叉熵损失函数,dis(Q)表示各语义块问答价值预测分数,label(Q)表示各语义块的语义块标签。

在一个实施例中,在得到问答价值预测分数后,根据问答价值预测分数对各语义块进行筛选得到语义块队列,然后根据语义块队列中各语义块的问答价值预测分数和语义块标签计算价值评估损失loss(Q),loss(Q)=CrossEntropy(dis(Q),label(Q))。其中,CrossEntropy代表交叉熵损失函数,dis(Q)表示语义块队列中各语义块的问答价值预测分数,label(Q)表示语义块队列中各语义块的语义块标签。

本实施例中,获取多个问答价值训练文本并输入初始问答价值评估模型,得到各问答价值训练文本中语义块的问答价值预测分数;获取各语义块的语义块标签;根据问答价值预测分数和语义块标签计算价值评估损失,进而调整初始问答价值评估模型,使得训练完毕得到的问答价值评估模型可以准确输出问答价值文本中语义块的问答价值分数。

进一步的,上述步骤S205可以包括:根据问答价值分数对各语义块进行降序排列,得到候选队列;按照候选队列中语义块的排列顺序,将各语义块依次添加到初始语义块队列中,并统计初始语义块队列的当前队列长度;当当前队列长度等于预设的长度阈值时,将当前的初始语义块队列确定为语义块队列;当当前队列长度大于预设的长度阈值时,根据长度阈值对最后一次添加的语义块进行截断,得到语义块队列。

具体地,根据语义块的问答价值分数由大到小的顺序,对各语义块进行降序排序,得到候选队列。初始语义块队列初始状态可以为空,然后将候选队列中降序排列的语义块依次添加到初始语义块队列中,并在每次添加后统计初始语义块队列的当前队列长度。

如果当前队列长度不足预设的长度阈值,则继续添加语义块;如果当前队列长度刚好等于长度阈值,例如,长度阈值为512,添加了8个语义块,且每个语义块的长度均为64,此时,停止添加语义块,并将当前的初始语义块队列确定为语义块队列。如果在添加一个语义块后,当前队列长度大于长度阈值,则根据长度阈值对最后一次添加的语义块进行截断,确保留下的语义块队列的长度等于长度阈值,得到语义块队列。例如,添加6个语义块后,队列长度为384,第7个语义块长度为40,第8个语义块长度为42,第9个语义块长度为50,添加第9个语义块后,当前队列长度会超过长度阈值,则,将第9个语义块截断。其中,长度阈值可以是答案信息提取模型允许输入的最大文本长度。

本实施例中,根据问答价值分数对语义块进行降序排序,然后将降序排序的语义块逐一添加到初始语义块队列中,从而将对问答最有价值的语义块挑选出来;在当前队列长度超过长度阈值时,及时对最后一次添加的语义块进行截断,以确保语义块队列的长度不超过答案信息提取模型允许输入的最大文本长度。

进一步的,上述步骤S206可以包括:将问题文本和语义块队列中的各语义块分别进行组合,得到多个问答文本;将各问答文本分别输入答案信息提取模型,得到答案位置信息;基于答案位置信息,在答案文本中确定与问题文本所对应的答案信息。

具体地,将问题文本和语义块队列中的各语义块分别进行组合,得到多个问答文本。在一个实施例中,对于语义块队列中的第i个语义块,问答文本的形式为[[CLS]Query[SEP]Si],其中,CLS和SEP表示分隔符,Query表示问题文本,Si表示第i个语义块。

将各问答文本输入答案信息提取模型,答案信息提取模型对各问答文本进行信息处理,输出答案位置信息,答案位置信息可以是向量,能够表示答案信息在语义块中的起始位置和结束位置;答案位置信息还可以包括语义块的编号,用于表示答案信息存在于哪个语义块中。

根据答案位置信息,可以从答案文本中截取出与问题文本直接相关的文本片段,得到答案信息。

本实施例中,将问题文本和语义块队列中的各语义块分别进行组合得到问答文本,将问答文本输入答案信息提取模型;语义块队列中的语义块对问答具有最大的贡献价值,答案信息提取模型可以准确地输出答案位置信息,从而准确得到答案信息。

进一步的,上述步骤S206之前,还可以包括:获取问答训练文本;问答训练文本由训练问题文本和训练语义块队列中各语义块分别进行组合得到;将问答训练文本输入初始答案信息提取模型,得到问答训练文本中语义块的答案位置预测信息;获取问答训练文本中语义块的答案位置标签信息;基于得到的答案位置预测信息和答案位置标签信息计算位置评估损失;根据位置评估损失调整初始答案信息提取模型的模型参数,直至模型收敛,得到答案信息提取模型。

具体地,需要通过预先训练得到答案信息提取模型。在训练中,获取问答训练文本,问答训练文本由训练问题文本和训练语义块队列中各语义块分别进行组合得到;其中,训练语义块队列来自训练问题文本所对应的训练答案文本。答案信息提取模型的训练可以是在问答价值评估模型的基础上进行,即先进行问答价值评估模型的训练,通过训练完毕的问答价值评估模型生成训练语义块队列。

将问答训练文本输入初始答案信息提取模型,答案信息提取模型对问答训练文本中语义块内部的答案所在位置进行预测,输出答案位置预测信息。然后获取答案位置标签信息,答案位置标签信息以标签的形式记录问答训练文本中语义块内部的答案所在位置。

答案位置预测信息和答案位置标签信息可以是由0和1组成的向量,其中,1表示所在位置属于答案信息,0表示所在位置不属于答案信息。

根据答案位置预测信息和答案位置标签信息可以计算位置评估损失,损失函数可以为交叉熵损失函数。以最小化位置评估损失为目标,调整初始答案信息提取模型的模型参数,直至模型收敛,得到答案信息提取模型。

在优化初始问答价值评估模型和初始答案信息提取模型时,可以采用SGD、Adam等方法进行模型优化。

可以理解,初始答案信息提取模型基于训练语义块队列进行训练,训练语义块队列基于问答价值评估模型输出的问答价值分数生成,训练语义队列中的语义块在问答中具有较高的价值,初始答案信息提取模型可以在较高质量的训练样本上进行训练,因此可以缩短初始答案信息提取模型的训练时间,减少训练开销。

本实施例中,将问答训练文本输入初始答案信息提取模型得到答案位置预测信息,然后与答案位置标签信息计算位置评估损失,根据位置评估损失进行模型调整得到答案信息提取模型,确保了答案信息提取模型可以从问答文本中准确提取出答案信息。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种基于文本的问答装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图3所示,本实施例所述的基于文本的问答装置300包括:文本获取模块301、文本分割模块302、组合模块303、文本输入模块304、筛选模块305以及答案提取模块306,其中:

文本获取模块301,用于获取问题文本及其对应的答案文本。

文本分割模块302,用于根据预设的语义分割算法分割答案文本,得到多个语义块。

组合模块303,用于将问题文本与各语义块分别进行组合,得到多个问答价值评估文本。

文本输入模块304,用于将各问答价值评估文本分别输入问答价值评估模型,得到各问答价值评估文本中语义块的问答价值分数。

筛选模块305,用于根据问答价值分数对各语义块进行筛选,得到包含至少一个语义块的语义块队列。

答案提取模块306,用于将问题文本和语义块队列输入答案信息提取模型,得到答案文本中与问题文本所对应的答案信息。

本实施例中,获取问题文本及其对应的答案文本,根据预设的语义分割算法分割答案文本,确保得到的语义块具有足够丰富的语义信息;将问题文本与各语义块分别进行组合得到多个问答价值评估文本;将问答价值评估文本输入问答价值评估模型得到问答价值分数,问答价值分数衡量了问答价值评估文本中的语义块在问答中的贡献度与价值,从而选取具有较高问答价值的语义块构成语义块队列;然后将问题文本与语义块队列输入答案信息提取模型,使得模型可以根据具有较高问答价值的语义块准确输出答案信息;本申请在文本分割时保证了语义块的语义信息,选取具有较高问答价值的语义块进行答案信息的提取,提高了问答的准确性。

在本实施例的一些可选的实现方式中,文本分割模块302可以包括:目标词识别子模块以及文本分割子模块,其中:

目标词识别子模块,用于识别答案文本中的目标词。

文本分割子模块,用于根据目标词和预设的文本长度条件分割答案文本,得到多个语义块;其中,语义块中目标词的数量等于预设数量阈值且语义块的文本长度处于预设长度区间内;或者,语义块的文本长度等于预设长度区间右端点的数值;数量阈值和预设长度区间为预设的语义分割算法中的参数。

本实施例中,根据目标词和文本长度条件分割答案文本,得到多个语义块,语义块在符合文本长度条件的情况下还具有足够数量的目标词,确保了语义块具有足够丰富的语义信息。

在本实施例的一些可选的实现方式中,文本输入模块304可以包括:文本输入子模块以及分数运算子模块,其中:

文本输入子模块,用于对于每个问答价值评估文本,将问答价值评估文本分别输入问答价值评估模型中的各子模型,得到多个问答价值子分数。

分数运算子模块,用于对各问答价值子分数进行线性运算,得到问答价值评估文本中语义块的问答价值分数。

本实施例中,问答价值评估模型中可以包含多个不同的子模型,每个子模型针对语义块均输出问答价值子分数,根据各子模型输出的问答价值子分数进行线性运算,得到综合多个子模型评估结果的问答价值分数,确保了问答价值分数的准确性。

在本实施例的一些可选的实现方式中,基于文本的问答装置300还可以包括:问答训练获取模块、问答训练输入模块、标签获取模块、价值损失计算模块以及价值模型调整模块,其中:

问答训练获取模块,用于获取多个问答价值训练文本;各问答价值训练文本由训练问题文本和分割训练答案文本得到的各语义块分别进行组合得到;

问答训练输入模块,用于将各问答价值训练文本输入初始问答价值评估模型,得到各问答价值训练文本中语义块的问答价值预测分数;

标签获取模块,用于获取各问答价值训练文本中语义块的语义块标签;语义块标签标识语义块是否关联于答案信息;

价值损失计算模块,用于基于得到的问答价值预测分数和语义块标签计算价值评估损失;

价值模型调整模块,用于根据价值评估损失调整初始问答价值评估模型的模型参数,直至模型收敛,得到问答价值评估模型。

本实施例中,获取多个问答价值训练文本并输入初始问答价值评估模型,得到各问答价值训练文本中语义块的问答价值预测分数;获取各语义块的语义块标签;根据问答价值预测分数和语义块标签计算价值评估损失,进而调整初始问答价值评估模型,使得训练完毕得到的问答价值评估模型可以准确输出问答价值文本中语义块的问答价值分数。

在本实施例的一些可选的实现方式中,筛选模块305可以包括:降序排列子模块、语义块添加子模块、当前确定子模块以及语义块截断子模块,其中:

降序排列子模块,用于根据问答价值分数对各语义块进行降序排列,得到候选队列。

语义块添加子模块,用于按照候选队列中语义块的排列顺序,将各语义块依次添加到初始语义块队列中,并统计初始语义块队列的当前队列长度。

当前确定子模块,用于当当前队列长度等于预设的长度阈值时,将当前的初始语义块队列确定为语义块队列。

语义块截断子模块,用于当当前队列长度大于预设的长度阈值时,根据长度阈值对最后一次添加的语义块进行截断,得到语义块队列。

本实施例中,根据问答价值分数对语义块进行降序排序,然后将降序排序的语义块逐一添加到初始语义块队列中,从而将对问答最有价值的语义块挑选出来;在当前队列长度超过长度阈值时,及时对最后一次添加的语义块进行截断,以确保语义块队列的长度不超过答案信息提取模型允许输入的最大文本长度。

在本实施例的一些可选的实现方式中,答案提取模块306可以包括:组合子模块、问答输入子模块以及答案确定子模块,其中:

组合子模块,用于将问题文本和语义块队列中的各语义块分别进行组合,得到多个问答文本。

问答输入子模块,用于将各问答文本分别输入答案信息提取模型,得到答案位置信息。

答案确定子模块,用于基于答案位置信息,在答案文本中确定与问题文本所对应的答案信息。

本实施例中,将问题文本和语义块队列中的各语义块分别进行组合得到问答文本,将问答文本输入答案信息提取模型;语义块队列中的语义块对问答具有最大的贡献价值,答案信息提取模型可以准确地输出答案位置信息,从而准确得到答案信息。

在本实施例的一些可选的实现方式中,基于文本的问答装置300还可以包括:训练文本获取模块、训练文本输入模块、位置标签获取模块、位置损失计算模块以及提取模型调整模块,其中:

训练文本获取模块,用于获取问答训练文本;问答训练文本由训练问题文本和训练语义块队列中各语义块分别进行组合得到。

训练文本输入模块,用于将问答训练文本输入初始答案信息提取模型,得到问答训练文本中语义块的答案位置预测信息。

位置标签获取模块,用于获取问答训练文本中语义块的答案位置标签信息。

位置损失计算模块,用于基于得到的答案位置预测信息和答案位置标签信息计算位置评估损失。

提取模型调整模块,用于根据位置评估损失调整初始答案信息提取模型的模型参数,直至模型收敛,得到答案信息提取模型。

本实施例中,将问答训练文本输入初始答案信息提取模型得到答案位置预测信息,然后与答案位置标签信息计算位置评估损失,根据位置评估损失进行模型调整得到答案信息提取模型,确保了答案信息提取模型可以从问答文本中准确提取出答案信息。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。

所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如基于文本的问答方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述基于文本的问答方法的计算机可读指令。

所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。

本实施例中提供的计算机设备可以执行上述基于文本的问答方法。此处基于文本的问答方法可以是上述各个实施例的基于文本的问答方法。

本实施例中,获取问题文本及其对应的答案文本,根据预设的语义分割算法分割答案文本,确保得到的语义块具有足够丰富的语义信息;将问题文本与各语义块分别进行组合得到多个问答价值评估文本;将问答价值评估文本输入问答价值评估模型得到问答价值分数,问答价值分数衡量了问答价值评估文本中的语义块在问答中的贡献度与价值,从而选取具有较高问答价值的语义块构成语义块队列;然后将问题文本与语义块队列输入答案信息提取模型,使得模型可以根据具有较高问答价值的语义块准确输出答案信息;本申请在文本分割时保证了语义块的语义信息,选取具有较高问答价值的语义块进行答案信息的提取,提高了问答的准确性。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于文本的问答方法的步骤。

本实施例中,获取问题文本及其对应的答案文本,根据预设的语义分割算法分割答案文本,确保得到的语义块具有足够丰富的语义信息;将问题文本与各语义块分别进行组合得到多个问答价值评估文本;将问答价值评估文本输入问答价值评估模型得到问答价值分数,问答价值分数衡量了问答价值评估文本中的语义块在问答中的贡献度与价值,从而选取具有较高问答价值的语义块构成语义块队列;然后将问题文本与语义块队列输入答案信息提取模型,使得模型可以根据具有较高问答价值的语义块准确输出答案信息;本申请在文本分割时保证了语义块的语义信息,选取具有较高问答价值的语义块进行答案信息的提取,提高了问答的准确性。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

相关技术
  • 基于文本的问答方法、装置、计算机设备及存储介质
  • 一种基于文本注意力和细粒度信息的视频问答系统、方法、计算机及存储介质
技术分类

06120114724749