问答样本的扩展方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及通过计算机进行问答样本的扩展方法和装置。
背景技术
随着人工智能的发展,智能问答系统的应用越来越普遍。例如,在智能客服领域,当用户提出问题时,通过智能问答系统,可以自动对用户问题进行语义分析,为用户提供答案。常规技术中,往往基于分类模型对用户问题进行分类。然而,由于用户个人认知水平及表达方式各不相同,使得分类模型的训练难度增加,在分类模型使用过程中,句法句式和表达习惯的不同,影响着为用户问题提供的答案的准确度。
发明内容
本说明书一个或多个实施例描述了一种方法和装置,可以在智能问答模型训练过程中,对样本中的问题进行一些模糊化处理,从而提高问答系统对问题各种提问方式的兼容性,进而提升问答模型的有效性。
根据第一方面,提供了一种问答样本的扩展方法,所述问答样本包括第一样本,所述第一样本包括第一问题和预先标注的第一答案,包括:对所述第一问题进行语法分析,以确定所述第一问题中各词汇的词性;针对所述第一样本生成预定范围内的随机数,检测所生成的随机数是否属于选定的样本扩展随机数,其中,所述样本扩展随机数范围是从所述预定数值范围内选定的数值,用于从问答样本中筛选出相应样本以进行扩展;在所生成的随机数属于样本扩展随机数的情况下,删除所述第一问题中的预定词性的词汇,以生成至少一个扩展问题;基于所述至少一个扩展问题和所述第一答案,生成扩展样本。
在一个实施例中,样本扩展随机数的数量与所述预定数值范围内的数值的数量具有预定比例。
在一个实施例中,所述删除所述第一问题中的预定词性的词汇包括:从所述第一问题中删除预定词性的词汇中的任一个词汇。
在一个实施例中,所述词汇词性包括以下至少一种:名词、动词、动词组、疑问词。
在一个实施例中,所述预定词性包括名词、疑问词中的一项。
在一个实施例中,所述基于所述至少一个扩展问题和所述第一答案,生成扩展样本包括:将各个扩展问题分别与所述第一答案组合,生成各个扩展样本。
在一个实施例中,对所述第一问题扩展得到的各个扩展问题包括第一扩展问题,所述基于所述至少一个扩展问题和所述第一答案,生成扩展样本包括:检测对各个问答样本的其他扩展问题中是否存在与所述第一扩展问题相同的扩展问题;在存在与所述第一扩展问题相同的扩展问题的情况下,按照预定模板为所述第一扩展问题标注第一扩展答案,生成第一扩展样本。
根据第二方面,提供一种问答样本的扩展装置,所述问答样本包括第一样本,所述第一样本包括第一问题和预先标注的第一答案,所述装置包括:
分析单元,配置为对所述第一问题进行语法分析,以确定所述第一问题中各词汇对应的词性;
检测单元,配置为针对所述第一样本生成预定范围内的随机数,检测所生成的随机数是否属于选定的样本扩展随机数,其中,所述扩展随机数范围包含于所述预定数值范围,用于从问答样本中筛选出相应样本以进行扩展;
扩展单元,配置为在所生成的随机数属于样本扩展随机数的情况下,删除所述第一问题中的预定词性的词汇,以生成至少一个扩展问题;
生成单元,配置为基于所述至少一个扩展问题和所述第一答案,生成各个扩展样本。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
根据第四方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,一方面,通过对各个已有的样本生成随机数,对所生成的随机数属于样本扩展随机数的样本进行问题的模糊化,生成扩展样本,有效控制整体的样本模糊化扩展率;另一方面,对于需要进行模糊化扩展的样本,通过删除相应问题中的预定词性的词汇的方式进行问题扩展,再基于扩展问题生成扩展样本,可以兼容更多的问题表达方式。如此,通过增加扩展样本的样本集训练问答模型,可以更有效地为用户提供答案。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的问答样本的扩展方法流程图;
图3示出一个具体例子的第一问题的语法分析示意图;
图4示出根据一个实施例的问答样本的扩展装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
为了便于说明,结合图1示出的本说明书实施例的一个具体适用场景进行说明。图1为本说明书披露的一个实施例的实施场景示意图。在该实施场景中,用户可以通过终端上的各种应用和相应的应用服务端交互,以使用应用所提供的功能。其中,这里的终端可以是诸如计算机、平板电脑、智能手机之类的硬件设备。终端上运行的应用例如是购物类应用、支付类应用、地图类应用等等,这些应用分别可以由相应服务端提供服务。值得说明的是,这里的终端和应用服务器的数量仅为示例,真实架构中可以设置任意数量,在此不作限定。
服务端还可以针对终端应用设置客服平台。客服平台可以设在服务器内,也可以设在和服务器相连接的其他设备上,在此不作限定。客服平台往往用于为用户解决应用使用过程中遇到的各种问题。例如,支付类应用支付不成功却显示扣款成功、借款应用如何还款,等等。客服平台可以获取用户提出的问题,并为用户提供答案。客服平台在针对用户问题提供答案的过程中,要先识别用户问题中包含的真实意图,才能给出更准确的符合用户需求的答案。
可以理解,用户在提出问题时,表达方式和表达习惯各不相同。例如,“花呗如何开通”的表达方式可能有:“花呗咋用”、“我想开通花呗,怎么弄”,等等。因此,在客服平台提供的服务中,如何对各种各样的表达样式下的真实问题进行识别,是给出准确答案的关键。
常规技术中,通常通过分类模型来对用户提出的问题进行分类,从而确定相关答案。为了提高模型分类的准确度,往往对模型的特征、模型本身的结构等进行各种改进。本说明书实施例提出一种新的思路,通过对已有样本进行扩展,得到更多包含模糊化问题的样本,来训练模型,从而提高分类模型的准确度。
下面首先介绍样本的扩展方法。
图2示出根据一个实施例的问答样本的模糊化扩展方法流程图。该方法的执行主体可以是任何具有计算、处理能力的系统、设备、装置、平台或服务器。问答样本通常包括问题和预先标注的答案。可选地,已知的问答样本中,相应问题可以是清晰无歧义地表达问题所在的标准问题,对应确定的一项答案(一项答案可以有多种表达形式,在此不作限定)。假设已知的问答样本中,任意样本为第一样本,则第一样本可以对应第一问题和第一答案。以第一样本为例,如图2所示,该问答样本的扩展方法可以包括以下步骤:步骤201,对第一问题进行语法分析,以确定第一问题中各词汇对应的词性;步骤202,针对第一样本生成预定范围内的随机数,检测所生成的随机数是否属于选定的样本扩展随机数,其中,样本扩展随机数是从预定数值范围内选定的数值,用于从问答样本中筛选出相应样本以进行扩展;步骤203,在所生成的随机数属于样本扩展随机数的情况下,删除第一问题中的预定词性的词汇,以生成至少一个扩展问题;步骤204,基于各个扩展问题和第一答案,生成各个扩展样本。
首先,在步骤201中,对第一问题进行语法分析,以确定第一问题中各词汇对应的词性。可以理解,第一问题通常是语义清晰的句子,对句子来说,通常具有一定的语法结构。例如,一个肯定句可以包括主语、谓语、宾语,还可以包括定语、状语、补语等句子成分。这些句子成分可以通过词汇或词组来实现。根据对应的句子成分,各个词汇也对应不同的词性。语法分析是运用自然语言的句法和其他知识来确定句子的各个成分的分析方式。在本步骤中,可以先对第一问题进行语法分析,以确定句子中的各个词汇以及其在句子中的成分、词汇之间的依附关系等。
对第一问题进行语法分析可以通过各种自然语言语法分析应用或算法实现,例如自顶向下的分析算法LL(1)、上下文无关语法(Context-Free Grammer)、语法树预测算法等等。对第一问题进行语法分析时,可以进行分词、标注词性、理解词汇关系等等。如图3所示,假设第一问题S是“花呗怎么还没有额度”,分词后可以得到词汇“花呗”、“怎么”、“还没有”、“额度”。标注词性及词汇关系如图3所示。词汇“花呗”为名词,是句子主语,“怎么还没有额度”作为谓语(动词)和宾语(名词),是一个动名词的词组,其中“怎么还没有”是动词组,“额度”是名词,动词组“怎么还没有”又可以分为疑问词“怎么还”和否定词“没有”。至此,完成对第一问题“花呗怎么还没有额度”的语法分析。
可以理解,图2所示的问答样本的扩展方法,是以“第一样本”为例的扩展过程进行的描述。该过程通过删除预定词性的词汇对样本中的问题进行模糊化。对于已有样本而言,批量扩展过程中,如果对所有问题都进行模糊化扩展,则可能会影响样本的标准性。例如,两个完全不同的问题,模糊化扩展之后会得到两个相同的问题,而对应的答案是不相同的,相当于同一个问题对应的样本标签多样化,这会影响通过样本训练的问答模型的准确度。为此,在问答样本的模糊化扩展过程中,可以随机挑选一定比例的问答样本进行扩展,以确保模糊化扩展的样本尽可能少地对问答模型产生负面影响。
据此,可以预先确定一定数量的随机数,这些随机数落入预定数值范围,对每个已有的标准问答样本,随机生成随机数。其中,预定数值范围内的数值远小于样本数量,可以降低运算复杂度。进一步地,还可以从预定数值范围中的各个数值中选定一部分数值,作为样本扩展随机数,并通过样本扩展随机数对所生成的随机数进行过滤,从而确定是否对相应样本进行扩展。在具体实施例中可以仅将对应生成的随机数属于样本扩展随机数的问答样本进行模糊化扩展。例如,预先确定256个随机数0-255,设定样本扩展随机数为0-99中的各个数值,则针对样本生成的随机数属于该100个数值中的任一个时,确定对对应的问答样本进行模糊化扩展。可选地,样本扩展随机数的数量可以与预定数值范围(即所生成的随机数范围)内的数值的数量具有预定比例(如20%),例如0-255分为内的随机数中,样本扩展随机数为0-50、50-100、105-155或205-255等共51个随机数。由于针对各个样本生成的随机数是预定数值范围内的每个数值的概率是一样的,因此,通过调整样本扩展随机数的数量,可以控制进行模糊化扩展的样本的比例。
具体到第一样本,在步骤202中,针对第一样本生成预定范围内的随机数,检测所生成的随机数是否属于选定的扩展随机数范围内。其中,随机数的生成方法在此不作限定。例如,随机数范围为0-256的情况下,可以通过8个二进制数分别随机取“0”或“1”,确定一个随机数,如“11010100”,对应随机数“212”。进一步地,可以检测该随机数是否属于选定的样本扩展随机数,如0-100中的任一数值。在该随机数属于样本扩展随机数的情况下,对第一问题进行模糊化,从而对第一样本进行扩展,否则,对第一样本不进行扩展。
在步骤203,在所生成的随机数在扩展随机数的范围内的情况下,删除第一问题中的预定词性的词汇,以生成至少一个扩展问题。如前所述,如果针对第一问题生成的随机数属于样本扩展随机数,则确定对第一问题进行模糊扩展。在本说明书实施例中,对第一问题的扩展方式为,删除第一问题中的预定词性的词汇。
这里,预定词性的词汇可以是句子中容易在口语表达中容易忽略,或替换词较多的词汇,例如名词(主语或宾语)、疑问词等等。
在预定词性为名词的情况下,该名词可以是和当前业务有关的词汇,在针对当前业务提出问题时,用户可能会在自然语言的问题描述中省略掉当前业务相关的业务词。因此,可以对业务词进行模糊处理。例如第一问题是“花呗怎么还没有额度”,“花呗”就是相关的业务词。在“花呗”业务中涉及的问题,用户可能在该业务场景中提出“怎么还没有额度”这样的问题。
疑问词通常表达样式比较多,例如“怎么”还可以表达成“咋”、“为啥”等等,因此可以进行模糊处理。疑问词通常位于句首、动词之前,或者句尾,例如“如何开通花呗”(疑问词在句首)、“花呗怎么还没有额度”(疑问词在动词前)、“花呗逾期怎么办”(疑问词在句尾)。可以看出,疑问词在问题中常常不是关键词汇,通常并不影响语义的表达。例如,前述例子中的问题删除疑问词分别为“开通花呗”、“花呗没有额度”、“花呗逾期”。
在更多业务场景中,预定词性还可以是其他词性,在此不再一一例举。预定词性的词汇可以是预先指定的、加入预定词汇集的具体词汇,例如“花呗”、“如何”等等,也可以仅仅是指定词性的所有词汇。
可以理解,在问答场景中,通常问题的长度较短,可以包含一句话,或者几个短语,如果删掉过多词汇可能导致问题无法表达。例如,“花呗怎么还没有额度”,如果删掉两个名词“花呗”和“额度”,就变成了“怎么还没有”。因此,在一个可选的实现方式中,可以限定删掉词汇的数量,例如1个。
通过删除预定词性的词,可以将第一问题模糊扩展成至少一个扩展问题。例如,“如何开通花呗”分别删掉名词和疑问词,扩展成两个扩展问题“如何开通”和“开通花呗”。
接着,在步骤204中,基于至少一个扩展问题和第一答案,生成扩展样本。可以理解,在问答系统中,用户提供的问题可以是不可预知的表达方式进行表达的,针对第一样本中第一问题的扩展是为了兼容更多的问题表达方式,而针对同一问题提供的答案却可以是固定的一份答案。因此,对第一问题进行模糊化后,可以基于模糊化的扩展问题和相应的第一答案生成扩展样本。
根据一个实施例,对于第一问题的扩展问题,其标签还是第一答案。因此,可以将第一问题的每个扩展问题分别和第一答案组合,生成针对第一样本的扩展样本。
在具体实践中,不同的标准样本对应的问题,在进行模糊扩展后,可能生成了相同的问题,例如“如何开通花呗”、“如何开通借呗”,分别在删除名词词汇后,都变成了“如何开通”。在这种情况下,根据另一个实施例,还可以在对各个标准样本分别扩展完成后,对所有扩展问题进行检测,以确定扩展问题中是否存在相同的扩展问题。对于相同的扩展问题,可以按照预定模板为该相同的扩展问题标注另外的扩展答案,或者说是对应的标签。例如,预定模板可以是供用户进一步确认问题的选项。举例而言,对于扩展问题“如何开通”,可以为其标注扩展答案(标签):
“请问您的问题是:
1、如何开通花呗
2、如何开通借呗
请点击以上问题进行确认,或者回复相应数字确认您的问题”。
这样,通过进一步确认问题的预定模板作为扩展后存在歧义的扩展问题的答案,可以有效避免模糊扩展后的某个问题答案不唯一的情况,确保通过加入扩展样本后的训练样本训练的问答模型的准确性。
如此,对于已知的各个标准样本,都可以按照图2示出的流程进行扩展。将扩展后的样本和标准样本一起加入样本集,训练问答模型,可以提高问答模型对用户问题表达方式的兼容性,从而提高问答模型的有效性。可以理解的是,由于对每个样本是否扩展都通过随机数和样本扩展随机数进行控制,因此,只有可控数量的少部分样本被模糊扩展,不影响问答模型的准确度。
回顾以上过程,针对训练问答模型的问答样本,进行问题模糊化的扩展,以对应第一问题和第一答案的第一样本为例,首先对第一问题进行语法分析,以确定第一问题中的词汇及词汇词性,然后针对第一问题在预定范围内生成随机数,并检测所生成的随机数是否属于选定的样本扩展随机数,在所生成的随机数属于样本扩展随机数的情况下,删除第一问题中的预定词性的词汇,以生成至少一个扩展问题,接着基于各个扩展问题和第一答案,生成各个扩展样本。由于在样本扩展过程中通过随机数确定样本是否需要被扩展,可以有效控制整体的样本模糊化扩展率,同时,通过删除预定词性的词汇的方式对第一问题进行扩展,可以兼容更多的问题表达方式,通过增加扩展样本的样本集训练问答模型,可以更有效地为用户提供答案。
根据另一方面的实施例,还提供一种问答样本的扩展装置。图4示出根据一个实施例的问答样本的扩展装置的示意性框图。下面以问答样本中的第一样本为例,介绍装置400的结构。其中第一样本包括第一问题和预先标注的第一答案,如图4所示,用于问答样本的扩展装置400包括:分析单元41,配置为对第一问题进行语法分析,以确定第一问题中各词汇对应的词性;检测单元42,配置为针对第一样本生成预定数值范围内的随机数,检测所生成的随机数是否属于选定的样本扩展随机数,其中,样本扩展随机数是从预定数值范围内选定的数值,用于从问答样本中筛选出相应样本以进行扩展;扩展单元43,配置为在所生成的随机数属于样本扩展随机数的情况下,删除第一问题中的预定词性的词汇,以生成至少一个扩展问题;生成单元44,配置为基于所述至少一个扩展问题和所述第一答案,生成各个扩展样本。
根据一个实施例,样本扩展随机数的数量与上述预定数值范围内的数值的数量具有预定比例。
根据一个实施例,扩展单元43进一步配置为:
从第一问题中删除预定词性的词汇中的任一个词汇。
根据一个实施例,语法分析过程中涉及的词汇词性包括但不限于以下至少一种:名词、动词、动词组、疑问词。
根据一个实施例,扩展单元删除词汇时的预定词性可以包括但不限于名词、疑问词中的一项。
在一个可能的设计中,生成单元44进一步可以配置为:
将各个扩展问题分别与第一答案组合,生成各个扩展样本。
在另一个可能的设计中,生成单元44进一步可以配置为:
检测对各个问答样本的其他扩展问题中是否存在与第一扩展问题相同的扩展问题;
在存在与第一扩展问题相同的扩展问题的情况下,按照预定模板为第一扩展问题标注第一扩展答案,生成第一扩展样本。
值得说明的是,图4所示的装置400是与图2示出的方法实施例相对应的装置实施例,图2示出的方法实施例中的相应描述同样适用于装置400,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。