文本处理方法及相关设备与流程

文档序号:20684479发布日期:2020-05-08 18:42阅读:100来源:国知局
文本处理方法及相关设备与流程

本申请涉及自动问答技术领域,尤其涉及一种文本处理方法及相关设备。



背景技术:

在当今信息爆炸的社会,利用问答系统精确地向用户推送需要的信息已经成为一种比较普遍的方式。为了能够向用户推送更加丰富、准确的信息,通常会利用知识图谱的查询和推理来实现。如果知识图谱构建的涵盖范围越广,知识量越大,就越能给出更加丰富、准确的信息。现有技术在问答系统中对知识图谱的应用基本是作为知识库查询然后给出答案,这就很依赖于查询时用到的语言实体或者关系的准确性,需要完全一致的语言实体名称或者关系名称才可以查询到答案。所以最终能否向用户推送想要的答案很依赖于语言实体与关系抽取的精度,这样的方式并不灵活。



技术实现要素:

本申请实施例公开了一种文本处理方法及相关设备,能够获得较为灵活的答案查找方式。

第一方面,本申请实施例提供了一种文本处理方法,该方法包括:

基于第一词袋模型从待回答问句文本中,提取所述待回答问句文本对应的问句向量,并基于第一词嵌入矩阵,将所述待回答问句文本对应的问句向量转换为预设维度的向量,以得到所述待回答问句文本的特征数据;

基于第二词袋模型分别从多个备选答案文本中,提取所述多个备选答案文本各自对应的答案向量,并基于第二词嵌入矩阵,分别将所述多个备选答案文本各自对应的答案向量转换为所述预设维度的向量,以得到所述多个备选答案文本各自对应的特征数据;

根据所述待回答问句文本的特征数据与所述多个备选答案文本各自对应的特征数据的相似度,确定目标答案文本。

在上述方法中,通过相似度确定用户问句对应的正确答案,不需要提取用户问句中的语言实体或关系,故能够避免出现提取的语言实体或关系出错,而导致无法查询到正确答案的风险,这样使得答案的查找方式变得灵活。

结合第一方面,在一种可能的实施方式中,所述方法还包括:迭代执行答案推荐模型的训练流程,直至所述答案推荐模型的训练效果满足预设条件,训练效果满足所述预设条件时的所述答案推荐模型包括所述第一词袋模型、所述第二词袋模型、所述第一词嵌入矩阵和所述第二词嵌入矩阵;

其中,所述答案推荐模型的训练流程包括:

根据所述答案推荐模型对应的损失调整所述第一词嵌入矩阵和所述第二词嵌入矩阵;

通过所述第一词袋模型、所述第二词袋模型以及调整后的所述第一词嵌入矩阵和所述第二词嵌入矩阵从预先选取得到的多个训练文本对中,提取所述多个训练文本对各自对应的特征数据对,以得到多个特征数据对,其中,一个所述训练文本对包括一个问句文本和一个答案文本,所述答案文本为正确文本答案或错误文本答案,一个所述特征数据对包括从目标训练文本对中的问句文本提取的特征数据和所述目标训练文本对中的答案文本提取的特征数据,所述目标训练文本对为所述多个训练文本对中的任一训练文本对;

根据多个第一特征数据对的相似度和多个第二特征数据对的相似度,确定所述答案推荐模型对应的损失,其中,所述第一特征数据对为所述多个训练文本对中的第一训练文本对对应的特征数据对,所述第一训练文本对包括一个问句文本和一个正确文本答案,所述第二特征数据对为所述多个训练文本对中的第二训练文本对对应的特征数据对,所述第二训练文本对包括一个问句文本和一个错误文本答案。

在上述方法中,利用多个训练文本对来训练答案推荐模型,使得该答案推荐模型能够利用第一训练文本对的相似度和第二训练文本对的相似度来区分一个问句文本对应的正确答案文本和错误答案文本。

结合第一方面,在一种可能的实施方式中,所述预设条件为:所述答案推荐模型对应的损失小于预设损失,或者,所述答案推荐模型的迭代训练次数大于预设次数。

结合第一方面,在一种可能的实施方式中,所述多个训练文本对为根据多个问句文本和多个答案文本确定的;所述迭代执行答案推荐模型的训练流程之前,还包括:将知识图谱中的多个语言实体分别带入各自对应的问句文本模板中,以得到所述多个问句文本,其中,所述语言实体的类型和所述问句文本模板的问句类型具有对应关系;从所述知识图谱中确定所述多个问句文本各自对应的正确答案文本,以得到所述多个答案文本。

结合第一方面,在一种可能的实施方式中,所述多个第一训练文本对由多个初始第一训练文本对和多个同义第一训练文本对组成;所述从所述知识图谱中确定所述多个问句文本各自对应的正确答案文本,以得到所述多个答案文本之后,还包括:将所述多个问句文本分别与各自对应的正确答案文本组合,以得到所述多个初始第一训练文本对;对所述多个初始第一训练文本对进行同义词替换,以得到所述多个同义第一训练文本对。

在本申请实施例中,通过同义词替换的方式对训练文本集进行扩充,再使用扩充的训练文本集对答案推荐模型进行训练,这样在答案推荐模型实际使用过程中,即使出现用户问句中包含有知识图谱中未出现的语言实体,但知识图谱中包含该未出现的语言实体的同义词的情况,也能通过答案推荐模型确定用户问句对应的正确答案。

结合第一方面,在一种可能的实施方式中,所述答案推荐模型对应的损失loss函数为:

其中,d表示所述多个第一训练文本对的具体个数,qi表示所述多个第一训练文本对中第i个第一训练文本对的问句文本,ai表示第i个第一训练文本对的答案文本,similarity(qi,ai)表示从第i个第一训练文本对提取的特征数据对的相似度,a表示随机抽取的若干个与qi对应的错误答案文本集合,表示qi对应的第二特征数据对的相似度,h为预设差值。

在本申请实施例中,答案推荐模型对应的损失的计算方法相对较为简单,减小了答案推荐模型训练的计算开销。

结合第一方面,在一种可能的实施方式中,所述根据所述待回答问句文本的特征数据与所述多个备选答案文本各自对应的特征数据的相似度,确定目标答案文本,包括:确定最优答案文本的答案类型,其中,所述最优答案文本为所述多个备选答案文本中与所述待回答问句文本的相似度最高的一个备选答案文本;若所述最优答案文本的答案类型为目标类型,则确定所述多个备选答案文本中的答案类型为所述目标类型,且与所述待回答问句文本的相似度大于预设相似度的备选答案文本为目标答案文本;若所述最优答案文本的答案类型不为目标类型,则确定所述最优答案文本为所述目标答案文本。

在本申请实施例中,根据与待回答问句文本相似度最高的备选答案文本的答案类型,确定多个备选答案文本中待回答问句文本的正确答案文本的个数,进而将所有正确答案文本确定为目标答案文本,确保能够向用户推送更加丰富、准确的信息。

第二方面,本申请实施例提供一种文本处理装置,该文本处理装置包括至少一个处理器、通信接口和存储器,所述存储器、所述通信接口和所述至少一个处理器通过线路互联,所述至少一个存储器中存储有计算机程序;所述计算机程序被所述处理器执行时,实现第一方面,或者第一方面的任一项可能的实现方式所描述的方法。

第三方面,本申请实施例提供一种文本处理装置,该文本处理装置包括实现第一方面,或者第一方面的任一项可能的实现方式所描述的方法中的全部或者部分功能模块。

第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当计算机程序在处理器上运行时,实现第一方面,或者第一方面的任一项可能的实现方式所描述的方法。

通过实施本申请实施例,通过相似度确定用户问句对应的正确答案,不需要提取用户问句中的语言实体或关系,故能够避免出现提取的语言实体或关系出错,而导致无法查询到正确答案的风险,这样使得答案的查找方式变得灵活。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图作简单地介绍。

图1是本申请实施例提供的一种文本处理系统的架构示意图;

图2是本申请实施例提供的一个知识图谱;

图3a是本申请实施例提供的一种文本处理方法的流程示意图;

图3b是本申请实施例提供的又一种文本处理方法的流程示意图;

图3c是本申请实施例提供的又一种文本处理方法的流程示意图;

图4是本申请实施例提供的答案推荐模型训练的原理示意图;

图5是本申请实施例提供的答案推荐模型进行自动答复的原理示意图;

图6是本申请实施例提供的一种文本处理装置的结构示意图;

图7是本申请实施例提供的又一种文本处理装置的结构示意图。

具体实施方式

下面将结合附图对本申请实施例中的技术方案进行描述。

请参见图1,图1是本申请实施例提供的一种文本处理系统的架构示意图,该系统包括第一设备101和第二设备102,其中:

该第一设备101为具有计算能力的实体,例如,该第一设备101可以为单个服务器,或者由多个服务器组成的服务器集群,如图1所示,该第一设备101为服务器集群。本申请实施例中第一设备101需要执行本申请中所描述的文本处理方法,包括训练得到答案推荐模型,答案推荐模型训练好之后,可以由该第一设备101自己通过该答案推荐模型对问题进行自动答复,也可以将该答案推荐模型发送给第二设备102,由该第二设备102对问题进行自动答复。

其中,该第二设备102可以包括具有无线通信功能的手持设备(例如,手机、平板电脑、掌上电脑等)、车载设备(例如,汽车、自行车、电动车、飞机、船舶等)、可穿戴设备(例如智能手表(如iwatch等)、智能手环、计步器等)、智能家居设备(例如,冰箱、电视、空调、电表等)、智能机器人等等。

先对本申请技术方案中将涉及的一些概念进行说明。

1、语言实体:是客观存在并可相互区别的事物。语言实体可以是具体的人、事、物,也可以是抽象的概念。

2、三元组:是以(subject,predicate,object)的形式表示某语言实体(subject)和某语言实体(object)之间存在某种关系(predicate)。例如,(番茄,是主要食材,番茄炒蛋)为一个三元组,该三元组表示“番茄(subject)”和“番茄炒蛋(object)”有“是主要食材(predicate)”的关系。

3、知识图谱:是一种由结点和边构成的语义网络,结点代表语言实体或者概念,边代表语言实体/概念之间的关系,知识图谱也可以看作是一系列三元组的组合。请参见图2,图2中为一个关于菜谱领域的知识图谱,下文当中会结合该知识图谱对本申请的技术方案作出介绍。

4、词嵌入:是指将单词或者词组映射为一定长度的实数向量。

5、词袋模型:是一种将文本转化为可计算的实数向量的模型。例如,假设词袋中有四个词(番,茄,鸡,蛋),输入文本为“番茄”,那么可以转化为向量(1,1,0,0)。

请参见图3a,图3a是本申请实施例提供的一种文本处理方法,该方法可以基于图1所示的系统架构图来实现,该方法包括但不限于如下步骤:

步骤s304:设备基于第一词袋模型从待回答问句文本中,提取所述待回答问句文本对应的问句向量,并基于第一词嵌入矩阵,将所述待回答问句文本对应的问句向量转换为预设维度的向量,以得到所述待回答问句文本的特征数据。

步骤s305:所述设备基于第二词袋模型分别从多个备选答案文本中,提取所述多个备选答案文本各自对应的答案向量,并基于第二词嵌入矩阵,分别将所述多个备选答案文本各自对应的答案向量转换为所述预设维度的向量,以得到所述多个备选答案文本各自对应的特征数据。

步骤s306:所述设备根据所述待回答问句文本的特征数据与所述多个备选答案文本各自对应的特征数据的相似度,确定目标答案文本。

具体的说,问答系统中会使用答案推荐模型从文本中提取特征数据,答案推荐模型包括词袋模型和词嵌入矩阵,词袋模型用于从文本中提取向量,词嵌入矩阵用于将提取的向量转换为预设维度。在本申请实施例中,答案推荐模型包括第一词袋模型、第二词袋模型、第一词嵌入矩阵和第二词嵌入矩阵,第一词袋模型用于从问句文本中提取问句向量,第一词嵌入矩阵用于将问句向量转换为预设维度,以得到问句文本的特征数据,而第二词袋模型用于从答案文本中提取答案向量,第二词嵌入矩阵用于将答案向量转换为预设维度,以得到答案文本的特征数据。

设备使用答案推荐模型分别从待回答问题文本和多个备选答案文本中提取特征数据,以计算待回答问题文本分别与多个备选答案文本之间的相似度,进而根据相似度对问题进行自动答复。其中,用于对问题进行自动答复的答案推荐模型是通过迭代训练得到的,而对答案推荐模型进行模型训练可以是由外部装置来执行,然后再将训练好的答案推荐模型,例如,设备是终端,实际对答案推荐模型进行模型训练的执行主体是服务器,服务器在训练好答案推荐模型后,将训练好的答案推荐模型发送给终端,终端利用训练好的答案推荐模型对问题进行自动答复;对答案推荐模型进行模型训练可以是由设备来执行,可选的,请参见图3b,设备进行模型训练可以通过执行如下步骤s301-s303来实现。

步骤s301:所述设备获取训练集。

具体的说,设备在进行模型训练之前,设备需要预先获取训练集。训练集中包含有多个训练文本对,一个训练文本对包括一个问句文本和一个答案文本。在本申请实施例中,多个训练文本对是从知识图谱中提取的。从知识图谱中提取多个训练文本对可以是由外部装置来执行,然后将提取的多个训练文本对发送至设备;从知识图谱中提取多个训练文本对也可以是由设备来执行,可选的,设备从知识图谱中提取多个训练文本对可以通过执行步骤3011-3014来实现。

3011:所述设备获取多个问句文本模板。

具体的说,一个训练文本对包括一个问句文本和一个答案文本,设备可以将多个问句文本和多个答案文本组合,以得到多个训练文本。即设备可以先从知识图谱中提取多个问句文本和多个答案文本,再将多个问句文本和多个答案文组合,以得到多个训练文本。

在设备从知识图谱中提取多个问句文本之前,需先人工根据知识图谱中的语言实体、以及语言实体之间的关系总结出问句类型,再根据问句类型对应的实际生活中可能用到的问法编写问句文本模板。通常基于一个知识图谱能够总结出多个问句类型,而根据一个问句类型可编写一个或者多个问句文本模板。例如,基于图2中的知识图谱编写的问句文本模板可以如下表1所示。

表1

3012:所述设备将知识图谱中的多个语言实体分别带入各自对应的问句文本模板中,以得到所述多个问句文本。

具体的说,因为问句类型是根据知识图谱中的语言实体、以及语言实体之间的关系总结得到的,故问句文本模板的问句类型和语言实体的类型具有对应关系。一种语言实体的类型可以是与一种问句类型具有对应关系;一种语言实体的类型也可以是与多种问句类型具有对应关系,例如,语言实体的类型“菜谱”对应“询问菜谱的烹饪步骤”、“询问菜谱所需要的食材”两种问句类型。设备将一个语言实体根据该语言实体的类型带入对应的问句文本模板中,就能够得到包含该语言实体的问句文本。

可选的,设备可以遍历知识图谱中的每个语言实体结点,找和该语言实体结点有“类型”关系的结点,即为该语言实体的类型。

3013:所述设备从所述知识图谱中确定所述多个问句文本各自对应的正确答案文本,以得到所述多个答案文本。

具体的说,设备将语言实体带入问句文本模板,生成多个问句文本后,设备能够从知识图谱中查询到多个问句文本各自对应的正确答案文本,得到多个正确答案文本,该多个正确答案文本即为用于组合生成多个训练文本的多个答案文本。并且,根据问句文本的不同,会出现设备根据一个问句文本只能查询到一个对应的正确答案文本的情况;也会出现设备根据一个问句文本能查询到多个个对应的正确答案文本的情况,例如,问句文本为“番茄能做哪些菜”,设备在知识图谱中能查询到“番茄炒蛋”和“番茄炖牛腩”两个正确答案文本。

3014:所述设备将所述多个问句文本和所述多个答案文本进行组合,以得到所述多个训练文本对。

具体的说,一个训练文本对包括一个问句文本和一个答案文本,设备将多个问句文本和多个答案文本两两进行组合,能够得到多个训练文本对。因为针对一个问句文本,多个答案文本存在两种答案文本,一种答案文本为该问句文本对应的正确答案文本,另一种答案文本为该问句文本对应的错误答案文本。那么由该问句文本组成的训练文本对中会包括两种训练文本对,即由该问句文本和该问句文本对应的正确答案文本组成的训练文本、以及由该问句文本和该问句文本对应的错误答案文本组成的训练文本。由此可见,多个训练文本对是包括两种训练文本对的,即多个训练文本对包括多个第一训练文本对和多个第二训练文本对。其中,第一训练文本对包括问句文本和正确答案文本,第二训练文本对包括问句文本和错误答案文本。

设备要生成多个第一训练文本对可以是通过将多个问句文本分别与各自对应的正确答案文本组合,以得到多个第一训练文本对。可选的,在本申请实施例中,多个第一训练文本对由多个初始第一训练文本对和多个同义第一训练文本对组成,设备还可以通过如下步骤生成多个第一训练文本对。

首先,所述设备将所述多个问句文本分别与各自对应的正确答案文本组合,以得到所述多个初始第一训练文本对。

例如,将图2中的“番茄”带入表1中问句类型为“根据食材找可用的菜谱”的问句文本模板中,能得到“番茄可以做什么菜”和“番茄能做哪些菜”两个问句文本。然后,在知识图谱中查找与“番茄”有“是菜谱食材”关系的相邻结点,相邻结点即为答案文本,得到“番茄炒蛋”和“番茄炖牛腩”两个答案文本。将上述两个问句文本和两个答案文本两两组合,能得到(番茄可以做哪些菜,番茄炒蛋)、(番茄能做哪些菜,番茄炒蛋)、(番茄可以做哪些菜,番茄炖牛腩)和(番茄能做哪些菜,番茄炖牛腩)四个初始第一训练文本对。

然后,所述设备对所述多个初始第一训练文本对进行同义词替换,以得到所述多个同义第一训练文本对。

具体的说,设备在得到多个初始第一训练文本对之后,可以将多个初始第一训练文本对作为多个第一训练文本对。多个初始第一训练文本对是设备基于知识图谱生成的,但知识图谱不可能涵盖所有的语言实体,故设备可以另外定义同义词词典,通过将多个初始第一训练文本对进行同义词替换,以得到多个同义第一训练文本对。然后,设备将多个初始第一训练文本对和多个同义第一训练文本对组合,以得到多个第一训练文本对。例如,“西红柿”这个语言实体在知识图谱中是没有的,定义同义词词典“西红柿”=“番茄”,设备可以是将多个初始第一训练文本对中的语言实体“番茄”替换为“西红柿”,以得到多个同义第一训练文本对。其中,设备对初始第一训练文本对进行同义词替换,可以是只对初始第一训练文本对的问句文本进行同义词替换;也可以是只对初始第一训练文本对的答案文本进行同义词替换;还可以是同时对初始第一训练文本对的问句文本和答案文本进行同义词替换。这样通过同义词替换的方式对训练文本集进行扩充,再使用扩充的训练文本集对答案推荐模型进行训练,这样在答案推荐模型实际使用过程中,即使出现用户问句中包含有知识图谱中未出现的语言实体,但知识图谱中包含该未出现的语言实体的同义词的情况,也能通过答案推荐模型确定用户问句对应的正确答案。

可选的,设备将多个问句文本分别与各自对应的错误答案文本集组合,以得到多个第二训练文本对。设备基于知识图谱得到多个问句文本和多个答案文本后,针对任意一个问句文本,该多个答案文本中包括多个与任意一个问句文本对应的错误答案文本。设备从该多个对应的错误答案文本中选取预设个数的错误答案文本,以作为该任意一个问句文本对应的错误答案文本集。然后,设备将任意一个问句文本分别与对应的错误答案文本集每一个错误答案文本组合,以得到该任意一个问句文本对应的第二训练文本对。这样设备能够将多个问句文本分别与各自对应的错误答案文本集组合,以得到多个第二训练文本对。

可选的,在本申请实施例中,训练文本对包括问句文本、答案文本和答案类型,设备可以在知识图谱中查询多个答案文本各自对应的答案类型,以得到多个(问句文本,答案文本,答案类型)格式的训练文本对。例如,多个第一训练文本对可如下表2所示。

表2

步骤s302:所述设备迭代执行答案推荐模型的训练流程。

具体的说,设备能够迭代执行答案推荐模型的训练流程,以得到用于对问题进行自动答复的答案推荐模型。而答案推荐模型是由卷积神经网络模型训练而得到的,其中,卷积神经网络模型包括但不限于:resnet、vggnet、facenet等等。如上所介绍的,答案推荐模型包括第一词袋模型、第二词袋模型、第一词嵌入矩阵和第二词嵌入矩阵,设备对答案推荐模型进行训练的过程也是对第一词嵌入矩阵和第二词嵌入矩阵进行调整的过程。可选的,设备执行答案推荐模型的训练流程可以通过步骤3021-3023来实现。

3021:所述设备根据所述答案推荐模型对应的损失调整所述第一词嵌入矩阵和所述第二词嵌入矩阵。

具体的说,设备开始对答案推荐模型进行训练时,会设有初始答案推荐模型。初始答案推荐模型的第一词嵌入矩阵和第二词嵌入矩阵通常为设备随机生成的,当然也可以是人为预先配置的。在答案推荐模型的训练过程中,设备会多次调整第一词嵌入矩阵和第二词嵌入矩阵。在当前的训练周期内,设备会根据上一训练周期的答案推荐模型对应的损失调整第一词嵌入矩阵和第二词嵌入矩阵。其中,答案推荐模型对应的损失可以通过两个文本之间的相似度来衡量,而两个文本之间的相似度可以为余弦相似度、词对相似度等。

3022:所述设备通过所述第一词袋模型、所述第二词袋模型以及调整后的第一词嵌入矩阵和所述第二词嵌入矩阵从预先选取得到的多个训练文本对中,提取所述多个训练文本对各自对应的特征数据对,以得到多个特征数据对。

具体的说,在模型训练的过程中,设备会从训练集中预先选取得到多个训练文本对。其中,一个训练文本对包括一个问句文本和一个答案文本,针对同一个训练文本对中问句文本和答案文本而言,该答案文本为该问句文本的正确文本答案或错误文本答案。设备从训练集中选取训练文本对可以是将整个训练集作为一批,设备每次训练遍历整个训练集。设备从训练集中选取训练文本对也可以是设备每次训练从训练集中选取一张训练文本对进行训练。设备从训练集中选取训练文本对还可以是将训练集分为若干个批,每批都包括多张训练文本对,在模型训练的过程中,小批的梯度下降,按批来更新模型参数。

设备通过调整后的答案推荐模型从多个训练文本对中提取多个特征数据对,设备能够从一个训练文本对中提取一个特征数据对,一个特征数据对包括从目标训练文本对中的问句文本提取的特征数据和目标训练文本对中的答案文本提取的特征数据,目标训练文本对为多个训练文本对中的任一训练文本对。

3023:所述设备根据多个第一特征数据对的相似度和多个第二特征数据对的相似度,确定所述答案推荐模型对应的损失。

具体的说,设备能够从预先选取得到的多个训练文本对提取多个特征数据对,提取的多个特征数据对中是包括多个第一特征数据对和多个第二特征数据对,第一特征数据对为多个训练文本对中的第一训练文本对对应的特征数据对,第一训练文本对包括一个问句文本和一个正确文本答案,第二特征数据对为多个训练文本对中的第二训练文本对对应的特征数据对,第二训练文本对包括一个问句文本和一个错误文本答案。设备会根据多个第一特征数据对的相似度和多个第二特征数据对的相似度,确定答案推荐模型对应的损失,以确定训练效果。其中,多个特征数据对的相似度可以是由外部装置计算得到,然后再将计算结果发送给设备;多个特征数据对的相似度也可以是由设备计算得到的。可选的,假设一个训练文本对为(q,a),q表示问句文本,a表示答案文本,那么训练文本对(q,a)的相似度计算公式可以为:similarity(q,a)=f(q)t·g(a)。

其中,f(q)的作用是将问句文本q映射为预设维度m的向量,w是m×n维的第一词嵌入矩阵,所有的问句文本中的字组成的集合维度为n,是将文本q转换为n维问句向量的第一词袋模型。g(a)的作用是将答案文本a映射为预设维度m的向量,v是m×k维的第二词嵌入矩阵,知识图谱中所有语言实体以及关系的集合的维度为k,是将答案文本a转换为k维答案向量的第二词袋模型。其中,第一词袋模型w和第二词嵌入矩阵v是需要训练的一个参数。例如,请参见图4,训练文本对(q,a)中问句文本q经第一词袋模型能被提取出n维问句向量q1,问句向量q1和第一词嵌入矩阵w相乘得到m维的向量f1,f1即q的特征数据。同样的,训练文本对为(q,a)中答案文本a经第二词袋模型被提取出k维答案向量a1,答案向量a1和第二词嵌入矩阵v相乘得到m维的向量g1,g1即a的特征数据。将f1的转置矩阵与g1相乘,得到相似度s1。最后,设备会基于相似度s1调整w和v。

设备会根据多个第一特征数据对的相似度和多个第二特征数据对的相似度,来确定训练效果。若未达到预期的训练效果,则继续模型训练;若达到预期的训练效果,则结束模型训练。预期的训练效果是指通过训练好的答案推荐模型能够区分任意一个问句文本对应的正确答案文本和对应的错误答案文本,也即区分任意一个问句文本对应的第一特征数据对和对应的第二特征数据对,那么多个第一特征数据对的相似度和多个第二特征数据对的相似度势必是满足一定条件的,也即由多个第一特征数据对的相似度和多个第二特征数据对的相似度确定出的答案推荐模型对应的损失是满足一定条件的。可选的,设备通过f(q)和g(a)将问句文本q和答案文本a分别转换为向量,然后计算两者点积得到q和a的相似度,以获得一个特征数据对的相似度。然后,设备能够根据多个特征数据对的相似度确定答案推荐模型对应的损失,答案推荐模型对应的损失loss函数可以为:

其中,d表示多个第一训练文本对的具体个数,qi表示多个第一训练文本对中第i个第一训练文本对的问句文本,ai表示第i个第一训练文本对的答案文本,similarity(qi,ai)表示从第i个第一训练文本对提取的特征数据对的相似度,a表示随机抽取的若干个与qi对应的错误答案文本集合,表示qi对应的第二特征数据对的相似度,h为预设差值(h可以为自定义常量,比如设为0.3,h表示正确答案文本和错误答案文本之间的距离差值)。

若任意一个问句文本对应的第一特征数据对的相似度与对应的第二特征数据对的相似度之间的差距越大,则答案推荐模型对应的损失越小。可以理解的是,当答案推荐模型对应的损失趋近于0时,即为问句文本对应的第一特征数据对的相似度与对应的第二特征数据对的相似度之间的差值趋近于h。如此,在模型训练的过程中,设备通过然后利用梯度下降法调整第一词嵌入矩阵和第二词嵌入矩阵,让损失不断减小,从而使得通过训练好的答案推荐模型能够区分第一特征数据对和第二特征数据对。

设备根据答案推荐模型对应的损失确定答案推荐模型的训练效果是否满足预设条件,进而确定是否结束模型训练。预设条件的设置方式可以为答案推荐模型对应的损失小于预设损失。若答案推荐模型对应的损失小于预设损失,则结束模型训练。若答案推荐模型对应的损失大于预设损失,则继续模型训练。若答案推荐模型对应的损失等于预设损失,设备的判定结果可以根据实际需求进行设置,一种情况可以是在答案推荐模型对应的损失等于预设损失时,设备确定答案推荐模型对应的损失满足预设条件;另外一种情况可以是在答案推荐模型对应的损失等于预设损失时,设备确定答案推荐模型对应的损失不满足预设条件。预设条件的设置方式还可以为答案推荐模型的迭代训练次数大于预设次数。例如,预设次数为n-1,则答案推荐模型的循环训练次数为n,每批训练文本对的个数k,然后开始分批次训练,每个循环都随机获取k个训练文本对,然后计算该批次数据的loss,然后利用梯度下降法调整模型参数,直至循环计数到达n时,设备结束模型训练。

设备在迭代执行答案推荐模型的训练流程的过程中,会循环执行步骤3021-3023,每次循环设备都会根据上次的训练流程得到的答案推荐模型对应的损失调整答案推荐模型;然后,通过调整后答案推荐模型获取多个特征数据对;最后,再根据多个特征数据对的相似度确定答案推荐模型对应的损失,直至答案推荐模型的训练效果满足预设条件,设备才会结束模型训练,以得到用于对问题进行自动答复的答案推荐模型,该答案推荐模型包括用于从待回答问句文本中提取特征数据的第一词袋模型和第一词嵌入矩阵、以及用于从备选答案文本中提取特征数据的第二词袋模型和第二词嵌入矩阵。

设备获得训练好的答案推荐模型后,可通过第一词袋模型和第一词嵌入矩阵从待回答问句文本中提取特征数据。待回答问句文本可以是由外部装置生成,然后传送给设备。待回答问句文本也可以由设备生成,可选的,在本申请实施例中,设备在从待回答问句文本中提取特征数据之前,还可以执行步骤s303:设备获取用户输入的问句,以生成待回答问句文本。当用户在设备上输入问句时,设备基于用户输入的问句能够生成待回答问句文本。其中,用户输入的问句可以是文本数据,例如,设备可以通过触摸屏或键盘等获取用户输入文字的操作,以获取用户输入的问句;用户输入的问句也可以是语音数据,例如,设备可以通过麦克风采集声音信号,以获取用户输入的问句。并且,设备可以是在迭代执行答案推荐模型的训练流程之前获取用户输入的问句;设备也可以是在迭代执行答案推荐模型的训练流程之后获取用户输入的问句。

可选的,设备在从待回答问句文本中提取特征数据之前,还执行:若待回答问句文本中包含有知识图谱中未出现过的语言实体,设备对待回答问句文本进行同义词替换。

可选的,多个备选答案文本为根据上述多个训练文本对中的答案文本确定的。设备可以是将上述基于知识图谱提取的多个答案文本全部或者部分作为备选答案文本。而待回答问句文本的特征数据与多个备选答案文本的特征数据的相似度可以是由外部装置计算得到,然后再将计算结果发送给设备;待回答问句文本的特征数据与多个备选答案文本的特征数据的相似度也可以是由设备计算得到的,可选的,请参见图3c,设备根据相似度确定目标答案文本可以通过如下步骤s3061-s3063来实现。

步骤s3061:所述设备计算所述待回答问句文本的特征数据与多个备选答案文本的特征数据的相似度。

步骤s3062:所述设备根据相似度对多个备选答案文本进行排序,以确定目标答案文本。

步骤s3063:所述设备根据所述目标答案文本生成回复。

具体的说,目标答案文本即待回答问句文本对应的正确答案文本。设备根据多个备选答案文本与待回答问句文本之间的相似度确定目标答案文本,可以是将最优答案文本作为目标答案文本,最优答案文本为多个备选答案文本中与待回答问句文本的相似度最高的一个备选答案文本。例如,请参见图5,待回答问句文本q’,备选答案文本a有n个,n个备选答案文本a中第i个备选答案文本为ai,待回答问句文本q’经第一词袋模型能被提取出n维问句向量q1’,问句向量q1’和第一词嵌入矩阵w相乘得到m维的向量f1’。同样的,备选答案文本为ai经第二词袋模型被提取出k维答案向量ai1,答案向量ai1和第二词嵌入矩阵v相乘得到m维的向量gi1。将量f1’的转置矩阵与gi1相乘,得到相似度si1。最后,设备将n个备选答案文本a中相似度最高的作为目标答案文本。

可选的,设备根据相似度确定目标答案文本还可以通过如下步骤来实现。

首先,设备确定最优答案文本的答案类型。

可选的,设备能在知识图谱中查询多个备选答案文本各自对应的答案类型。

然后,若最优答案文本的答案类型为目标类型,则设备确定多个备选答案文本中的答案类型为目标类型,且与待回答问句文本的相似度大于预设相似度的备选答案文本为目标答案文本;若最优答案文本的答案类型不为目标类型,则设备确定最优答案文本为目标答案文本。

具体的说,根据待回答问句文本的不同,对应的正确答案文本可能只存在一个,对应的正确答案文本也可能存在多个。例如,当待回答问句文本为“番茄炒蛋需要哪些食材”时,对应的正确答案文本只有“番茄两只,鸡蛋两只,油盐适量……”一个;当待回答问句文本为“番茄可以做哪些菜”时,对应的正确答案文本有“番茄炒蛋”和“番茄炖牛腩”两个。设备能根据最优答案文本的答案类型确定正确答案文本个数。至于答案类型为哪些只存在有一个正确答案文本,答案类型又为哪些存在有多个正确答案文本,是可以根据经验来预先定义的。例如,当最优答案文本的答案类型为“菜谱”时,正确答案文本就可以有多个;当最优答案文本的答案类型为“菜谱步骤”时,正确答案文本就只有一个。若最优答案文本的答案类型为目标类型,即代表多个备选答案文本中与待回答问句文本对应的正确答案文本可能存在有多个,则设备确定多个备选答案文本中的答案类型为目标类型,且与待回答问句文本的相似度大于预设相似度的备选答案文本为目标答案文本,其中,预设相似度为预先设置的相似度比较值。若所述最优答案文本的答案类型不为目标类型,即代表多个备选答案文本中与待回答问句文本对应的正确答案文本只存在有一个,则设备确定所述最优答案文本为所述目标答案文本。这样根据最优答案文本的答案类型,确定多个备选答案文本中待回答问句文本的正确答案文本的个数,进而将所有正确答案文本确定为目标答案文本,确保能够向用户推送更加丰富、准确的信息。

例如,基于知识图谱可以提取(番茄能做啥菜,番茄炒蛋,菜谱)、(西红柿能做啥菜,番茄炒蛋,菜谱)、(牛腩能做啥菜,番茄炖牛腩,菜谱)三个训练文本对;所有的问句文本中的字的集合(即第一词袋模型):{番,茄,西,红,柿,牛,腩,能,做,啥,菜},维度为11;知识图谱中所有语言实体以及关系的集合(即第二词袋模型):{番茄炒蛋,番茄炖牛腩,番茄,牛腩,鸡蛋,是菜谱食材,含有食材},维度为7;转化后向量的预设维度为6。第一词嵌入矩阵w进和第二词嵌入矩阵v如下:

当待回答问句文本为“q=牛腩可以做啥菜呢”时,根据第一词袋模型得出维度为11维,其中数字为1的部分表示其对应的词在问句q中出现,0则相反。备选答案文本集合为“a={番茄炒蛋,番茄炖牛腩}”。同理,根据第二词袋模型得到根据上述相似度计算公式similarity(q,a)=f(q)t·g(a)计算问句与所有备选答案文本之间的相似度如下:

similarity(q=牛腩可以做啥菜呢,a=番茄炒蛋)=6

similarity(q=牛腩可以做啥菜呢,a=番茄炖牛腩)=19

因为similarity(q=牛腩可以做啥菜呢,a=番茄炖牛腩)最高,故“番茄炖牛腩”为最优答案文本,且最优答案文本的答案类型为菜谱,为目标类型。通过预设相似度为10,设备确定预设相似度以上的备选答案文本为目标答案文本,所以,设备确定“番茄炖牛腩”为目标答案文本。

在图3a至图3c所描述的方法中,通过相似度确定用户问句对应的正确答案,不需要提取用户问句中的语言实体或关系,故能够避免出现提取的语言实体或关系出错,而导致无法查询到正确答案的风险,这样使得答案的查找方式变得灵活。

请参见图6,图6是本申请实施例提供的一种文本处理装置60,文本处理装置60可以为上述设备或为上述设备的一部分。文本处理装置60包括问句文本提取模块601、答案文本提取模块602和确定模块603,文本处理装置60的各个模块和单元的详细描述如下。

问句文本提取模块601,用于基于第一词袋模型从待回答问句文本中,提取所述待回答问句文本对应的问句向量,并基于第一词嵌入矩阵,将所述待回答问句文本对应的问句向量转换为预设维度的向量,以得到所述待回答问句文本的特征数据;

答案文本提取模块602,用于基于第二词袋模型分别从多个备选答案文本中,提取所述多个备选答案文本各自对应的答案向量,并基于第二词嵌入矩阵,分别将所述多个备选答案文本各自对应的答案向量转换为所述预设维度的向量,以得到所述多个备选答案文本各自对应的特征数据;

确定模块603,用于根据所述待回答问句文本的特征数据与所述多个备选答案文本各自对应的特征数据的相似度,确定目标答案文本。

在一种可选的方案中,还包括训练模块,所述训练模块,用于迭代执行答案推荐模型的训练流程,直至所述答案推荐模型的训练效果满足预设条件,训练效果满足所述预设条件时的所述答案推荐模型包括所述第一词袋模型、所述第二词袋模型、所述第一词嵌入矩阵和所述第二词嵌入矩阵;

其中,所述训练模块包括:

调整单元,用于根据所述答案推荐模型对应的损失调整所述第一词嵌入矩阵和所述第二词嵌入矩阵;

提取单元,用于通过所述第一词袋模型、所述第二词袋模型以及调整后的第一词嵌入矩阵和所述第二词嵌入矩阵从预先选取得到的多个训练文本对中,提取所述多个训练文本对各自对应的特征数据对,以得到多个特征数据对,其中,一个所述训练文本对包括一个问句文本和一个答案文本,所述答案文本为正确文本答案或错误文本答案,一个所述特征数据对包括从目标训练文本对中的问句文本提取的特征数据和所述目标训练文本对中的答案文本提取的特征数据,所述目标训练文本对为所述多个训练文本对中的任一训练文本对;

确定单元,用于根据多个第一特征数据对的相似度和多个第二特征数据对的相似度,确定所述答案推荐模型对应的损失,其中,所述第一特征数据对为所述多个训练文本对中的第一训练文本对对应的特征数据对,所述第一训练文本对包括一个问句文本和一个正确文本答案,所述第二特征数据对为所述多个训练文本对中的第二训练文本对对应的特征数据对,所述第二训练文本对包括一个问句文本和一个错误文本答案。

在一种可选的方案中,所述答案推荐模型对应的损失小于预设损失,或者,所述答案推荐模型的迭代训练次数大于预设次数。

在一种可选的方案中,所述多个训练文本对为根据多个问句文本和多个答案文本确定的;所述训练模块还包括生成单元,所述生成单元,用于在所述迭代执行答案推荐模型的训练流程之前,将知识图谱中的多个语言实体分别带入各自对应的问句文本模板中,以得到所述多个问句文本,其中,所述语言实体的类型和所述问句文本模板的问句类型具有对应关系;从所述知识图谱中确定所述多个问句文本各自对应的正确答案文本,以得到所述多个答案文本。

在一种可选的方案中,所述多个第一训练文本对由多个初始第一训练文本对和多个同义第一训练文本对组成;所述训练模块还包括组合单元,所述组合单元,用于在所述从所述知识图谱中确定所述多个问句文本各自对应的正确答案文本,以得到所述多个答案文本之后,将所述多个问句文本分别与各自对应的正确答案文本组合,以得到所述多个初始第一训练文本对;对所述多个初始第一训练文本对进行同义词替换,以得到所述多个同义第一训练文本对。

在一种可选的方案中,所述答案推荐模型对应的损失loss函数为:

其中,d表示所述多个第一训练文本对的具体个数,qi表示所述多个第一训练文本对中第i个第一训练文本对的问句文本,ai表示第i个第一训练文本对的答案文本,similarity(qi,ai)表示从第i个第一训练文本对提取的特征数据对的相似度,a表示随机抽取的若干个与qi对应的错误答案文本集合,表示qi对应的第二特征数据对的相似度,h为预设差值。

在一种可选的方案中,所述确定单元,用于根据所述待回答问句文本的特征数据与所述多个备选答案文本各自对应的特征数据的相似度,确定目标答案文本,具体为:确定最优答案文本的答案类型,其中,所述最优答案文本为所述多个备选答案文本中与所述待回答问句文本的相似度最高的一个备选答案文本;若所述最优答案文本的答案类型为目标类型,则确定所述多个备选答案文本中的答案类型为所述目标类型,且与所述待回答问句文本的相似度大于预设相似度的备选答案文本为目标答案文本;若所述最优答案文本的答案类型不为目标类型,则确定所述最优答案文本为所述目标答案文本。

图6所示的文本处理装置中各个模块和单元的具体实现及有益效果还可以对应参照图3a至图3c所示的方法实施例的相应描述,此处不再赘述。

请参见图7,图7是本申请实施例提供的一文本处理装置70,文本处理装置70可以为上述设备或为上述设备的一部分。该文本处理装置70包括处理器701、存储器702和通信接口703,所述处理器701和存储器702通过总线704相互连接。

存储器702包括但不限于是随机存储记忆体(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、或便携式只读存储器(compactdiscread-onlymemory,cd-rom),该存储器702用于相关计算机程序及数据。通信接口703用于接收和发送数据。

处理器701可以是一个或多个中央处理器(centralprocessingunit,cpu),在处理器701是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。

该文本处理装置70中的处理器701用于读取所述存储器702中存储的计算机程序代码,执行以下操作:

基于第一词袋模型从待回答问句文本中,提取所述待回答问句文本对应的问句向量,并基于第一词嵌入矩阵,将所述待回答问句文本对应的问句向量转换为预设维度的向量,以得到所述待回答问句文本的特征数据;

基于第二词袋模型分别从多个备选答案文本中,提取所述多个备选答案文本各自对应的答案向量,并基于第二词嵌入矩阵,分别将所述多个备选答案文本各自对应的答案向量转换为所述预设维度的向量,以得到所述多个备选答案文本各自对应的特征数据;

根据所述待回答问句文本的特征数据与所述多个备选答案文本各自对应的特征数据的相似度,确定目标答案文本。

在上述方法中,通过相似度确定用户问句对应的正确答案,不需要提取用户问句中的语言实体或关系,故能够避免出现提取的语言实体或关系出错,而导致无法查询到正确答案的风险,这样使得答案的查找方式变得灵活。

在一种可能的实施方式中,还执行:迭代执行答案推荐模型的训练流程,直至所述答案推荐模型的训练效果满足预设条件,训练效果满足所述预设条件时的所述答案推荐模型包括所述第一词袋模型、所述第二词袋模型、所述第一词嵌入矩阵和所述第二词嵌入矩阵;

其中,所述答案推荐模型的训练流程具体为:

根据所述答案推荐模型对应的损失调整所述第一词嵌入矩阵和所述第二词嵌入矩阵;

通过所述第一词袋模型、所述第二词袋模型以及调整后的第一词嵌入矩阵和所述第二词嵌入矩阵从预先选取得到的多个训练文本对中,提取所述多个训练文本对各自对应的特征数据对,以得到多个特征数据对,其中,一个所述训练文本对包括一个问句文本和一个答案文本,所述答案文本为正确文本答案或错误文本答案,一个所述特征数据对包括从目标训练文本对中的问句文本提取的特征数据和所述目标训练文本对中的答案文本提取的特征数据,所述目标训练文本对为所述多个训练文本对中的任一训练文本对;

根据多个第一特征数据对的相似度和多个第二特征数据对的相似度,确定所述答案推荐模型对应的损失,其中,所述第一特征数据对为所述多个训练文本对中的第一训练文本对对应的特征数据对,所述第一训练文本对包括一个问句文本和一个正确文本答案,所述第二特征数据对为所述多个训练文本对中的第二训练文本对对应的特征数据对,所述第二训练文本对包括一个问句文本和一个错误文本答案。

在本申请实施例中,利用多个训练文本对来训练答案推荐模型,使得该答案推荐模型能够利用第一训练文本对的相似度和第二训练文本对的相似度来区分一个问句文本对应的正确答案文本和错误答案文本。

在一种可能的实施方式中,所述预设条件为:所述答案推荐模型对应的损失小于预设损失,或者,所述答案推荐模型的迭代训练次数大于预设次数。

在一种可能的实施方式中,所述多个训练文本对为根据多个问句文本和多个答案文本确定的;所述迭代执行答案推荐模型的训练流程之前,还执行:将知识图谱中的多个语言实体分别带入各自对应的问句文本模板中,以得到所述多个问句文本,其中,所述语言实体的类型和所述问句文本模板的问句类型具有对应关系;从所述知识图谱中确定所述多个问句文本各自对应的正确答案文本,以得到所述多个答案文本。

在一种可能的实施方式中,所述多个第一训练文本对由多个初始第一训练文本对和多个同义第一训练文本对组成;所述从所述知识图谱中确定所述多个问句文本各自对应的正确答案文本,以得到所述多个答案文本之后,还执行:将所述多个问句文本分别与各自对应的正确答案文本组合,以得到所述多个初始第一训练文本对;对所述多个初始第一训练文本对进行同义词替换,以得到所述多个同义第一训练文本对。

在本申请实施例中,通过同义词替换的方式对训练文本集进行扩充,再使用扩充的训练文本集对答案推荐模型进行训练,这样在答案推荐模型实际使用过程中,即使出现用户问句中包含有知识图谱中未出现的语言实体,但知识图谱中包含该未出现的语言实体的同义词的情况,也能通过答案推荐模型确定用户问句对应的正确答案。

在一种可能的实施方式中,所述答案推荐模型对应的损失loss函数为:

其中,d表示所述多个第一训练文本对的具体个数,qi表示所述多个第一训练文本对中第i个第一训练文本对的问句文本,ai表示第i个第一训练文本对的答案文本,similarity(qi,ai)表示从第i个第一训练文本对提取的特征数据对的相似度,a表示随机抽取的若干个与qi对应的错误答案文本集合,表示qi对应的第二特征数据对的相似度,h为预设差值。

在本申请实施例中,答案推荐模型对应的损失的计算方法相对较为简单,减小了答案推荐模型训练的计算开销。

在一种可能的实施方式中,所述根据所述待回答问句文本的特征数据与所述多个备选答案文本各自对应的特征数据的相似度,确定目标答案文本,具体为:确定最优答案文本的答案类型,其中,所述最优答案文本为所述多个备选答案文本中与所述待回答问句文本的相似度最高的一个备选答案文本;若所述最优答案文本的答案类型为目标类型,则确定所述多个备选答案文本中的答案类型为所述目标类型,且与所述待回答问句文本的相似度大于预设相似度的备选答案文本为目标答案文本;若所述最优答案文本的答案类型不为目标类型,则确定所述最优答案文本为所述目标答案文本。

在本申请实施例中,根据与待回答问句文本相似度最高的备选答案文本的答案类型,确定多个备选答案文本中待回答问句文本的正确答案文本的个数,进而将所有正确答案文本确定为目标答案文本,确保能够向用户推送更加丰富、准确的信息。

图7所示的文本处理装置中各个模块的具体实现及有益效果还可以对应参照图3a至图3c所示的方法实施例的相应描述,此处不再赘述。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当计算机程序在文本处理装置上运行时,实现图3a至图3c所示的方法。

综上所述,通过相似度确定用户问句对应的正确答案,不需要提取用户问句中的语言实体或关系,故能够避免出现提取的语言实体或关系出错,而导致无法查询到正确答案的风险,这样使得答案的查找方式变得灵活。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1