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

一种基于机器阅读的问答匹配方法及装置

文献发布时间:2023-06-19 11:11:32


一种基于机器阅读的问答匹配方法及装置

技术领域

本申请涉及机器阅读技术领域,尤其涉及一种基于机器阅读的问答匹配方法及装置。

背景技术

随着人工智能技术的发展,机器阅读理解技术也得到了大量的应用。在网页搜索、问答机器人和智能语音助手等应用场景中,都会应用到机器阅读理解技术。智能设备,如智能电视、智能音箱等大都具有问答功能。

目前的智能设备中,以检索和知识图谱为基础的问答框架的应用尤为广泛。

但是以检索和知识图谱为基础的问答框架,均依赖采集结构化格式文本的数据,因此也依赖于运营人员对数据的及时扩充。这种方式不仅费时费力,而且如果数据扩充不及时,会导致问答系统,在回答实时热点问题上回复不及时,甚至无法回复的情况发生,造成用户体验较差。

发明内容

为了解决以检索和知识图谱为基础的问答框架,依赖于运营人员对数据的及时扩充,不仅费时费力,而且如果数据扩充不及时,会导致问答系统,在回答实时热点问题上回复不及时,甚至无法回复的情况发生,造成用户体验较差的问题,本申请提供了一种基于机器阅读的问答匹配方法及装置。

第一方面,本申请实施例提供一种基于机器阅读的问答匹配方法,包括:

获取用户的问题文本;

从实时数据库中查找与所述问题文本相关的关联文档文本,其中,所述实时数据库中保存的文档文本均为从大数据平台实时获取的非结构化文本数据;

将所述问题文本和所述关联文档文本输入训练好的阅读理解模型,确定在所述关联文档文本中与所述问题文本对应答案的开始位置和结束位置,以及将所述开始位置和结束位置之间的文本确定为与所述问题文本匹配的问题答案。

第二方面,本申请实施例提供一种基于机器阅读的问答匹配装置,该装置包括:

获取模块,被配置为获取用户的问题文本;

查找模块,被配置为:从实时数据库中查找与所述问题文本相关的关联文档文本,其中,所述实时数据库中保存的文档文本均为从大数据平台实时获取的非结构化文本数据;

位置确定模块,被配置为:将所述问题文本和所述关联文档文本输入训练好的阅读理解模型,确定在所述关联文档文本中与所述问题文本对应答案的开始位置和结束位置,以及将所述开始位置和结束位置之间的文本确定为与所述问题文本匹配的问题答案。

本申请提供的技术方案包括以下有益效果:获取用户的问题文本后,从实时数据库中查找与问题文本相关的关联文档文本。将问题文本和关联文档文本输入训练好的阅读理解模型之后,确定出答案的开始位置和结束位置,从而得到与问题文本匹配的问题答案。实时数据库中的文档文本是从大数据平台实时获取的非结构化文本数据,因而能够及时扩充问答候选文本。当用户的问题文本与实时热点相关,甚至为突发性新闻时间时,利用本申请的问答匹配方法能够及时的回复用户,从而提升用户使用体验。

附图说明

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

图1示出了本申请实施例提供的一种基于机器阅读的问答匹配方法的流程示意图;

图2示出了本申请实施例提供的一种基于机器阅读的问答匹配系统框架示意图;

图3示出了本申请实施例提供的一种实时数据收集流程示意图;

图4示出了本申请实施例提供的一种基于机器阅读的问答匹配装置框架图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本说明书通篇提及的″多个实施例″、″一些实施例″、″一个实施例″或″实施例″等,意味着结合该实施例描述的具体特征、结构或特性包括在至少一个实施例中。因此,本说明书通篇出现的短语″在多个实施例中″、″在一些实施例中″、″在至少另一个实施例中″或″在实施例中″等并不一定都指相同的实施例。此外,在一个或多个实施例中,具体特征、结构或特性可以任何合适的方式进行组合。因此,在无限制的情形下,结合一个实施例示出或描述的具体特征、结构或特性可全部或部分地与一个或多个其他实施例的特征、结构或特性进行组合。这种修改和变型旨在包括在本申请的范围之内。

为清楚说明本申请的实施例,下面给出一些相关名词的解释。

机器阅读理解技术:是让计算机像人一样通过阅读自然语言文本,然后经过理解,从而可以准确地回答和文本内容相关的问题。

基于ElasticSearch的倒排索引相关技术:主要使用目前成熟的倒排索引技术和语义检索技术。ElasticSearch是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎Apache Lucene(TM)(项目开发开源搜索软件)基础上的搜索引擎。ElasticSearch可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。实时分析的分布式搜索引擎。可以扩展到上百台服务器,处理容量为PB级别的结构化或非结构化数据。

倒排索引也称反向索引,其与正向索引相对。正向索引是通过key(关键词)找value(目标文本),反向索引则是通过value找key。倒排索引的数据结构中,每个词后面有一个拉链,拉链中存放包含该词的文档编号。利用这个数据结构能够快速的找到包含某一个词的所有文档。最后把句子中所有词的所有文档进行求交集操作,就得到了与该句子具有关联关系的文档集合。

基于ELMO和SIF的核心词提取技术:ELMO(Embeddings from Language Models,语言模型中的嵌入)的基本思想是利用双向的LSTM(Long Short-Term Memory,长短期记忆网络)结构,对于某个语言模型的目标,在大量文本上进行预训练,从LSTM层中得到词向量。其中,较低层的LSTM代表了比较简单的语法信息,而上层LSTM捕捉的是依赖于上下文的语义信息。对于下游任务,将这些不同层的向量线性组合,再做监督学习。

ELMO的主要目标是为获取词汇的不同特征(语法和语义)和解决多义词的现象。例如,词和向量是一一对应的,并不会因为词性或语义的不同而发生改变。而在ELMO中输入两个不同位置的相同词时,输出的两个向量是经过2层LSTM后和其本身的线性叠加的结果,另个向量是不同的。这是ELMO根据输入句子的语境得到的结果。

ELMO的网路结构由一层输入层和两层双向LSTM组合而成,其中输入层可看做为嵌入层。ELMO是通过字符卷积得到的嵌入层,而不是通过矩阵相乘。由于每层的LSTM的输出可能分布不同,因此在每个双向LSTM的输出后都增加一个Layer Normalization(层标准化),并且在两层双向LSTM之间添加残差连接。

加权词袋模型SIF(Smooth Inverse Frequency,平滑倒词频):词袋模型不考虑文本中词与词之间的上下文关系,仅仅只考虑词的权重(与词在文本中出现的频率有关)。类似于将所有词装进一个袋子里,每个词都是独立的。而加权词袋模型则是在词袋模型的基础上提出了一种名为平滑倒词频的方法,用于计算每个词的加权系数。

SIF的计算分为两步:第一步,利用平滑倒词频方法计算每个词的加权系数。频率越低的词在句子中的重要性越大,则加权系数更大。第二步,根据词的加权系数,移出所有句子的共有信息(即重要性较小的部分词),保留下来的句子向量更能够表示句子本身,并与其他句子向量产生差距。

分词技术:词是最小的能够独立活动的有意义的语言成分。分析是自然语言处理的第一步,也是核心的技术。区别于英文的每个词通过空格或者标点符号分割开,中文句子中,很难对词的边界进行界定。目前主流的分词技术分为基于规则、基于统计以及基于理解三大类。例如,基于规则的分词技术具体为:以词库为依据,使用正向最大匹配算法,进行分词。

目前,大多数的智能设备都具有问答功能。而这些智能设备的问答功能又通常是基于知识图谱类和基于检索。知识图谱问答和检索式问答依赖于采集结构化格式文本的数据。因此,知识图谱问答和检索式问答也依赖于运营人员对数据的及时扩充。这种方式不仅费时费力,而且如果数据扩充不及时,会导致问答系统,在回答实时热点问题上回复不及时,甚至无法回复的情况,造成用户体验较差。

为了解决上述问题,本申请提供一种基于机器阅读的问答匹配方法,该方法通过大数据平台实时采集热门新闻事件、热门网站数据,及时扩充问答候选文档文本,分析实时扩充的候选文档文本,从中获得答案,从而避免回答实时热点问题不及时的情况发生。

如图1的基于机器阅读的问答匹配方法的流程示意图和如图2的基于机器阅读的问答匹配系统框架示意图,该方法包括以下步骤:

步骤S101,获取用户输入的问题文本。

示例性的,用户输入问题文本″马拉多纳去世了吗″,可以是直接输入的问题文本,也可以是识别用户输入的语音数据得到的问题文本。

步骤S102,从实时数据库中查找与所述问题文本相关的关联文档文本。

如图3所示的实时数据收集流程图,实时数据库中保存的文档文本均为从大数据平台实时获取的非结构化文本数据。具体的,大数据平台可以为各大网站,例如微博、百度、腾讯等热门信息网站。本申请实施例可以基于微博热搜榜和百度热搜榜,利用爬虫程序获取热搜词。

示例性的,根据微博热搜榜获得马拉多纳逝世、王一博新歌预告等关键词条,由这些关键词条在百度资讯网站、腾讯新闻网站检索对应的新闻数据。

可以编写对应的网页采集工具,在这些大数据平台上定时采集数据,例如每10min采集一次网络热点新闻数据,之后将采集的网络热点新闻数据传入线上数据服务引擎。问答匹配过程能够通过线上数据服务引擎,实时获取这些网络热点新闻数据。因而能够实现及时回复实时热点问题的效果。

在一些实施例中,还可以对获取的网络热点新闻数据进行分析整理。例如,以当前时间为节点过滤时间超过1个月的新闻数据,过滤与新闻内容不相关的字符(新闻记者、编辑信息等说明),过滤敏感词(根据事先收集整理好的敏感词词库对新闻数据中的敏感词进行过滤),数据切分处理,分词处理,核心词提取等操作。处理后的新闻数据有助于提高检索准确率和效率。

在一些实施例中,在从实时数据库中查找与问题文本相关的关联文档文本之前,所述方法还包括:对问题文本进行分词处理和核心词提取处理,得到问题核心词。则获得的关联文档文本位于所述问题核心词相关的文本。

示例性的,对于问题文本″马拉多纳去世了吗″,首先进行分词处理,得到分词信息″那拉多纳,去世,了,吗″。之后,利用ELMO和SIF算法对分词信息进行核心词提取处理,得到问题核心词″马拉多纳,去世″。本申请中还可以采用其他核心词提取算法,例如TF-IDF(Term Frequency-Inverse Document Frequency,词频逆文本频率指数)算法,ELMO和SIF算法的核心词提取准确率更高。

在一些实施例中,在从提取出问题核心词后,还可以判断问题核心词是否包含敏感词,如果不包含则进入后续的匹配检索阶段。如果包含敏感词,则进一步对问题核心词进行敏感词过滤处理。

提取出问题核心词后,在实时数据库中查找与问题核心词相关的关联文档文本,即关联的新闻数据。

示例性的,可以利用基于ElasticSearch倒排索引技术在实时数据库中查找与问题核心词″马拉多纳,去世″相关的非结构化文本数据。

在一些实施例中,从实时数据库中查找到的问题文本相关的关联文档文本可能为多个。可以对多个关联文档文本进行关联性打分,例如利用TF-IDF算法对关联文档文本进行关联性打分。得到多个关联文档文本的得分排序,可以将得分最高的关联文档文本作为查找答案的关联文档文本。从而进一步提高答案查找的准确率。

目前深度学习领域广泛采用对预训练模型进行微调的方式来解决各类问题。具体包括两个步骤:第一步,采用较大的数据集预训练出一个较好的模型;第二步,根据不同的任务,改造预训练模型,即用新任务的数据集对预训练模型进行微调。这样做的好处是,使用已经训练好的一个较好的模型,直接用于配合下游任务实现更快的收敛速度,训练代缴较小,并且能够有效地提高模型性能。

本申请实施例中的阅读理解模型可以是基于ALBERT模型进行微调后的阅读理解模型。ALBERT(A Lite Bidirectional Encoder Representation from Transformers)是一种轻量化的双向Transformer的Encoder。BERT的encoding部分采用mask方式将部分信息遮挡借用transformer的encoding部分,得到词语词之间不同位置的相互信息。在pre-train的时候引入了两项任务,mlm任务(预测mask的部分)和nsp任务(将encoding部分的两组句子拼接在一起)。在pre-train的时候预测后一个句子是否为衔接这前一个句子。然后在fine-tuning(微调)引入阅读理解模型,进行机器阅读理解。引入的阅读理解模型可以是BiDAF模型。

步骤S103,将问题核心词和关联文档文本输入微调后的阅读理解模型之后,可以确定出关联文档文本对应答案的开始位置和结束位置。开始位置和结束位置之间的文本即为最终的答案。

具体的,利用阅读理解模型确定关联文本对应答案的开始位置和结束位置的步骤为:

将问题核心词和关联文档文本进行顺序拼接,输入基于ALBERT模型进行微调的阅读理解模型中。获取拼接后的向量表示,通过一个全链接层,获得答案开始位置和答案结束位置的概率分布,表示公式为:logits=wx+b。其中,w为前一层神经网络的神经元数据向量,x为后一层神经网络的神经元向量,b为神经网络中权重矩阵。

通过该模型可以输出关联文档文本中每个字是答案开始位置的开始概率,公式为:

P

其中,softmax为归一化函数。

同时可以输出关联文档文本中每个字是答案结束位置的结束概率,公式为:

P

最后可以将开始概率和结束概率乘积最大的值时的所述开始概率对应的字确定为答案的开始位置,将开始概率和结束概率乘积最大的值时的所述结束概率对应的字确定为答案的结束位置。而开始位置和结束位置之间的文本即为最终的问题答案。

示例性的,从实时数据库中查找到与问题文本″马拉多纳去世了吗″相关的关联文档文本″国际足联哀悼阿根廷球星马拉多纳去世:最杰出的天才之一。当地时间25日上午,阿根廷球星马拉多纳在其位于阿根廷的家中突发心梗去世,享年60岁。″将该问题文本和关联文档文本输入上述实施例的阅读理解模型中,得到开始概率和结束概率乘积最大的值组合为{start:42pro:0.9,end:62pro:0.8}。得到确定该问题答案的开始位置为第42个字,结束位置为第62个字。两个字之间的文本即为最终的问题答案″马拉多纳在其位于阿根廷的家中突发心梗去世″。

在一些实施例中,如果开始概率和结束概率乘积的最大值大于等于预设乘积阈值,才将开始概率与结束概率的乘积为最大值时的开始概率,对应字的位置确定为对应答案的开始位置,以及将开始概率与结束概率的乘积为最大值时的结束概率,对应字的位置确定为对应答案的结束位置。如果开始概率和结束概率乘积的最大值小于预设乘积阈值,有可能用户输入的问题还未有相关新闻报导,可以提示用户重新进行问答匹配,从而提升问答匹配的准确度。

在一些实施例中,如果最终的问题答案的文本长度小于等于预设长度阈值,则在显示器上直接显示问题答案。如果最终的问题答案的文本长度大于预设长度阈值,不在显示器上显示所述问题答案。此时可以通过语音播报的方式告知用户最终答案。从而避免由于最终答案文本过长,影响在显示器上的展示,用户无法了解完整最终答案的情况发生。

本申请实施例提供一种日志重演装置,用于执行图1对应的实施例,如图4所示,本申请提供的基于机器阅读的问答匹配装置包括:

获取模块201,被配置为:获取用户的问题文本;

查找模块202,被配置为:从实时数据库中查找与所述问题文本相关的关联文档文本,其中,所述实时数据库中保存的文档文本均为从大数据平台实时获取的非结构化文本数据;

位置确定模块203,被配置为:将所述问题文本和所述关联文档文本输入训练好的阅读理解模型,确定在所述关联文档文本中与所述问题文本对应答案的开始位置和结束位置,以及将所述开始位置和结束位置之间的文本确定为与所述问题文本匹配的问题答案。

在一些实施例中,所述装置还包括:

问题文本预处理模块204,被配置为:在从实时数据库中查找与所述问题文本相关的关联文档文本之前,对所述问题文本进行分词处理和核心词提取处理,得到问题核心词;

所述查找模块202,被具体配置为:利用所述问题核心词,在所述实时数据库中匹配检索,得到与所述问题核心词相关的关联文档文本。

在一些实施例中,确定在所述关联文档文本中与所述问题文本对应答案的开始位置和结束位置,具体为:

计算所述关联文档文本中的每个字为答案开始位置的开始概率,以及计算所述关联文档文本中每个字为答案结束位置的结束概率;

将所述开始概率与所述结束概率的乘积为最大值时的所述开始概率,对应字的位置确定为对应答案的开始位置,以及将所述开始概率与所述结束概率的乘积为最大值时的结束概率,对应字的位置确定为对应答案的结束位置。

以上已经描述的包括本发明的实现的示例。为了描述要求保护主题的目的,当然不可能描述组件或方法的每一个可设想组合,但是要意识到,本创新的许多另外组合和置换是可能的。相应地,要求保护主题打算包含全部这类改变、修改和变化,其落入所附权利要求的精神和范围之内。此外,包括″摘要″中所述的事物的本申请的所示实现的以上描述并不是要详细列举或者将所公开实现局限于所公开的精确形式。虽然本申请中为了说明目的而描述具体实现和示例,但是如相关领域的技术人员能够认识的,被认为在这类实现和示例的范围之内的各种修改是可能的。

具体来说并且关于由上述组件、装置、电路、系统等所执行的各种功能,除非另加指示,否则用来描述这类组件的术语打算对应于执行所述组件的所指定功能(例如,功能等效)的任何组件,即使不是在结构上等效于所公开结构(其执行要求保护主题的本申请所示示范方面的功能)。在这方面,还将会认识到,创新包括系统以及计算机可读存储介质,其具有计算机可执行指令,以用于执行要求保护主题的各种方法的动作和/或事件。

已经针对若干组件/块之间的交互描述了上述系统/电路/模块。能够意识到,这类系统/电路和组件/块能够包括那些组件或者所指定子组件、所指定组件或者子组件的一些和/或附加组件,并且按照以上述各种置换和组合。子组件还能够实现为通信地耦合到其它组件而不是包括在父组件(分级)内的组件。另外,应当注意,一个或多个组件可组合为提供聚合功能性的单个组件或者分为若干单独子组件,以及可提供任何一个或多个中间层(例如管理层),以通信地耦合到这类子组件,以便提供综合功能性。本申请所述的任何组件还可与本申请中没有具体描述但是本领域的技术人员已知的一个或多个其它组件进行交互。

虽然阐明本发明的广义范围的数值范围和参数是近似值,但是具体示例中阐明的数值尽可能准确地报导。但是,任何数值固有地合有必然产生于其相应测试测量中找到的标准偏差的某些误差。此外,本申请所公开的全部范围要被理解为包含其中所包含的任何和全部子范围。例如,″小于或等于11″的范围能够包括零的最小值与11的最大值之间(并且包含该最小值与最大值)的任何和全部子范围,即,任何和全部子范围具有等于或大于零的最小值以及等于或小于11的最大值(例如1至5)。在某些情况下,如对参数所述的数值能够具有负值。

另外,虽然可能已经仅针对若干实现之一公开了本创新的特定特征,但是这种特征可如对任何给定或特定应用可预期和有利的与其它实现的一个或多个其它特征相组合。此外,在详细描述或者权利要求中使用术语″包括(include、including)″、″具有″、″合有″及其变体和其它类似词语的意义上,这些术语打算采用与作为开放过渡词语的术语″包含″相似的方式是包含的,而没有排除任何附加或其它元件。

遍及本说明书中提到″一个实现″或″一实现″表示结合该实现所述的特定特征、结构或特性包含在至少一个实现中。因此,短语″在一个实现中″或者″在一实现中″在遍及本说明书中的各个位置的出现不一定全部指相同实现。此外,具体特征、结构或特性可采用任何适当方式结合在一个或多个实现中。

此外,遍及本说明书中提到″项″或″文件″意味着结合实现所述的特定结构、特征或对象不一定指相同对象。此外,″文件″或″项″能够指各种格式的对象。

如本申请中使用的术语″节点″、″组件″、″模块″、″系统″等一般打算指作为硬件(例如电路)、硬件和软件的组合的计算机相关实体或者与具有一个或多个特定功能性的操作机器相关的实体。例如,组件可以是(但不限于)在处理器(例如数字信号处理器)上运行的进程、处理器、对象、可执行、执行线程、程序和/或计算机。作为说明,在控制器上运行的应用和控制器两者均能够是组件。一个或多个组件可驻留在进程和/或执行线程中,以及组件可定位在一个计算机上和/或分布在两个或更多计算机之间。虽然在各个实现中描绘单独组件,但是要意识到,组件可采用一个或多个公共组件来表示。此外,各个实现的设计能够包括不同组件放置、组件选择等,以实现最佳性能。此外,″装置″能够采取专门设计硬件;通过其上的软件(其使硬件能够执行特定功能)的执行被专门化的一般化硬件;计算机可读介质上存储的软件;或者其组合的形式。

此外,词语″示例″或″示范″在本申请中用来表示″用作示例、实例或说明″。本申请中描述为″示范″的任何方面或设计不一定被理解为相对其它方面或设计是优选或有利的。相反,词语″示例″或″示范″的使用打算以具体方式呈现概念。如本申请所使用的,术语″或者″打算表示包含″或″而不是互斥″或″。即,除非另加说明或者从上下文清楚地知道,否则″X采用A或B″打算表示自然包含置换的任一个。即,如果X采用A;X采用B;或者X采用A和B两者,则在上述实例的任何实例下均满足″X采用A或B″。另外,如本申请和所附权利要求中所使用的冠词″一(a和an)″应当一般地理解为表示″一个或多个″,除非另加说明或者从上下文清楚地知道针对单数形式。

相关技术
  • 一种基于机器阅读的问答匹配方法及装置
  • 一种基于机器阅读理解的问答方法及系统、存储介质、计算机设备
技术分类

06120112837061