一种相识文本自动扩展的系统及其方法与流程

文档序号:19787038发布日期:2020-01-24 13:43阅读:256来源:国知局
一种相识文本自动扩展的系统及其方法与流程
本发明涉及计算机
技术领域
,特别是一种相识文本自动扩展的系统及其方法。
背景技术
:在智能领域高速发展的当今,自然语言理解是一个很重要的发展方向。拥有好的语意理解将赋予产品(如机器人)更加智能的形象。以目前最常见的客服机器人为例,机器人回答的所有答案都是通过预先设置好的内容(闲聊机器人除外),与此同时机器人能够理解的文本内容也是通过人为配置的。为了让机器人能够识别不同的问法,配置人员需要赋予机器人足够多的语料集合,测试人员也需要编写足够多的语料来测试机器人回复的正确性。举例,原始需求语料有一句:“如何办理图书馆准入证”,那么机器人除了识别“如何办理图书馆准入证”这句话并给出答案之外,“图书馆准入证怎么办理”、“你知道图书馆准入证的办理流程吗”、“图书馆准入证如何办理”等问法也需要能够被识别。而这些语料扩展目前主要是通过人为的去思考扩展,甚至有时候为了覆盖更多的语料,配置和测试人员也需要通过查询语句中关键词的同义词来做替换扩展。现有的扩展语料的方式存在如下缺点:缺点一,目前为了让机器人能够识别足够多的问法,语料都会通过人工的方式进行问句扩展,再将其赋予给机器人。但是如果都是通过人为来扩展的话,扩展的人员可能由于文采水平的限制,没有思绪,扩展并不充分,而导致机器人识别能力并不是很高。缺点二,除了缺点一中案例的句式扩展,同义词的扩展也是必要的。但是操作人员长期通过同义词查询进行同义词替换的操作,随着时间久了,很容易给执行该工作的人员带来厌烦的情绪(同义词替换的举例:图书馆的地址在哪?地址的同义词:位置、地点,替换同义词询问:图书馆的位置在哪,程序也应该能够识别)。缺点三,目前汉语文本虽然可以通过同义词推荐的来进行替换扩展,同缺点二中所述,同义词替换来扩展推荐的同义句是必要的,但是同义词也存在不可完全替换的情况。需要针对场景来进行替换,有些场景下同义词替换之后,语意可能就变了。所以主要的判断最终还是落到了人工来处理,就导致语料扩展的成本非常高。缺点四,配置或测试人员拿到对话需求之后,都要针对对话需求中的内容进行扩展,配置人员是为了让机器人支持不同的问句方式,而测试人员则是为了验证程序是否支持花样的问法。而这两方的实施基础都是基于丰富的语料集合。但是如果针对所有的语料进行独立扩展,两方都会占用大量的语料扩展时间,但是又不得不进行扩展。缺点五,客服系统的智能另一方面体现在正确性、及时性,所以每个产品都会不断的去完善补充新的语料或更新最新答案,这种情况下很容易出现新旧问句答案不一样的情况。这种情况下,大部分是通过测试人员测试过程中去发现。但是测试才发现,会导致需要重新调整配置的情况,会增加测试往返的轮次,除此之外也可能出现回答的随机性,从而导致测试人员的漏测。技术实现要素:为克服上述问题,本发明的目的是提供一种相识文本自动扩展的系统,实现一些常见模板问法的自动化扩展,无需人工投入,有效提高执行效率。本发明采用以下方案实现:一种相识文本自动扩展的系统,所述系统包括:技能配置模块、产品管理模块、技能同步模块、以及生成语料模块;所述技能配置模块,负责扩展类型的创建和对应的扩展模板配置;所述产品管理模块,通过产品配置技能的方式来为产品提供扩展能力,产品同时配置多个技能来完善扩展能力,所述技能同步模块,负责将当前产品所配置的所有技能下的所有扩展模板进行整合,作为产品扩展能力的知识库;所述生成语料模块,将导入产品的语料集合通过当前产品的技能能力与知识库进行一个自动化扩展,所述语料包含问题和回答两个字段。进一步的,所述技能配置模块进一步具体为:提供一个技能平台化界面,用户能通过技能平台化界面创建自定义技能,在对应技能下,能创建各类扩展类型及说明,在每个扩展类型下,能进行扩展模板的配置;所述技能配置模块还提供一个词性查询功能,用于用户查询原有语句文本中的词性组合情况;所述词性组合的结构为:分词+词性名称+词性代码;用户能根据原有语句词性组合的情况扩展下配置对应的扩展模板,所述扩展模板的结构为:扩展类型名称+扩展说明+原有语句+扩展句式。进一步的,所述产品管理模块进一步具体为:提供一个产品平台化界面,该产品平台化界面创建专属产品,并添加个人定制的技能,与此同时也能添加其他人员创建的技能;所述产品管理模块还提供一个同义词导入的功能、一个产品配置功能、一个同义词扩展开关、一个restful的访问接口,所述同义词导入的功能,用于将同义词导入到系统中,且导入格式不限制;所述产品配置功能,用于支持配置是否启用同义词扩展能力;所述同义词扩展开关,用于加载当前产品下技能的所有扩展模板,加入到内存中,为对外提供扩展能力提供知识库;所述restful的访问接口,供其他需求的业务调用,只要输入文档主题属性body中包含question=“这是一个字段”的请求内容,访问接口会以列表属性字段来显示返回当前产品下能够扩展的所有句子。进一步的,所述技能同步模块进一步具体为:根据产品所配置的技能列表,读取所有所配置的技能;再则读取每个技能下的扩展类型及扩展模板并进行整合;最后将整合的所有扩展模板配置作为扩展的知识库。进一步的,所述生成语料模块进一步包括语料查重单元和句式扩展单元,所述语料查重单元,对语料进行过滤处理,给出存在的冲突语料列表;所述句式扩展单元用于读取待扩展的语料集合,每条语料以问题和回答两个字段的形式存储到列表中;对每条待扩展的语料进行分词和词性标注,然后再把该分词和标注的结果和知识库里面的扩展模板进行比对,如果发现存在一样的模板,则找到该模板的扩展类型,并将该扩展类型下的模板进行词汇替换,给出替换完后的扩展词汇;把扩展的问句以对象的方式加入到扩展语料集合,并继续进行扩展直到完成所有扩展。进一步的,所述语料查重单元进一步具体为:对每个语料对象与其他语料对象进行对比,判断是否存在分词之后一模一样的问句,如果存在一模一样的问句,再比对二者的答案是否一样,如果答案也一样,则删除其中一个问句,如果答案不一样,则把这两个问句对象加到一设置的冲突列表中;所有语料都完成对比操作后,最终输出冲突列表,供用户进行调整。另外,本发明还提供了一种相识文本自动扩展的方法,所述扩展的方法采用如权利要求1所述的扩展的系统进行扩展,所述扩展方法包括如下步骤:步骤s1、系统中的技能配置模块利用技能来创建扩展类型,并配置每个扩展类型下的扩展模板,所述配置内容包括:扩展类型名称、扩展类型描述、以及扩展句式模板列表;步骤s2、产品管理模块再通过产品配置技能的方式来为产品提供扩展能力,产品能同时配置多个技能来完善扩展能力;步骤s3、所述技能同步模块将当前产品所配置的所有技能下的所有扩展模板进行整合,作为产品扩展能力的知识库;步骤s4、当有语料需要进行扩展的时候,生成语料模块进行操作,即上传语料或配置语料对应存储的数据库链接;根据需求打开或关闭技能同步模块中的同义词扩展开关;进行开始转换;生成语料模块通过当前产品的技能能力与知识库进行扩展操作。进一步的,所述生成语料模块进一步包括语料查重单元和句式扩展单元,所述语料查重单元,对语料进行过滤处理,给出存在的冲突语料列表;所述生成语料模块通过当前产品的技能能力与知识库进行扩展操作进一步具体为:通过所述句式扩展单元读取待扩展的语料集合,每条语料以问题和回答两个字段的形式存储到列表中;对每条待扩展的语料进行分词和词性标注,然后再把该分词和标注的结果和知识库里面的扩展模板进行比对,如果发现存在一样的模板,则找到该模板的扩展类型,并将该扩展类型下的模板进行词汇替换,给出替换完后的扩展词汇;把扩展的问句以对象的方式加入到扩展语料集合,并继续进行扩展直到完成所有扩展。进一步的,所述语料查重单元进一步具体为:对每个语料对象与其他语料对象进行对比,判断是否存在分词之后一模一样的问句,如果存在一模一样的问句,再比对二者的答案是否一样,如果答案也一样,则删除其中一个问句,如果答案不一样,则把这两个问句对象加到一设置的冲突列表中;所有语料都完成对比操作后,最终输出冲突列表,供用户进行调整。本发明的有益效果在于:1、通过本文提供的方式进行文本语料扩展,配置语料的人员可以快速获取需要配置的可扩展同义词,只需要过滤不需要的词汇,不需要重复性的进行同义词的查询。2、通过本文提供的方式进行文本语料扩展,可以实现一些常见模板问法的自动化扩展,无需人工投入。3、通过本文提供的查重模块,产品相关的人员可以快速定位到临时语料及扩展语料中存在冲突的问句,有效减低在过滤方面的时间投入。4、通过本文提供的句式模板配置及同义词扩展的方案结合,测试人员无需手动进行对应同义词替换的重复扩展,可以实现自动化扩展替换,有效提高执行效率。5、通过本文提供的restful接口请求,可以实现能力的可接入性提供,支持使用者自定义调用,更具实用性。附图说明图1是本发明系统的原理框图。图2是本发明技能配置模块工作原理图。图3是本发明产品管理模块工作原理图。图4是本发明技能同步模块工作原理图。图5是本发明生成语料模块工作原理图。图6是本发明句式扩展单元工作原理图。图7是本发明语料查重单元工作原理图。图8是本发明的方法流程示意图。具体实施方式下面结合附图对本发明做进一步说明。请参阅图1至图7所示,本发明的一种相识文本自动扩展的系统,所述系统包括:技能配置模块、产品管理模块、技能同步模块、以及生成语料模块;所述技能配置模块,负责扩展类型的创建和对应的扩展模板配置;之所以引入技能的概念是为了方便每个产品定制属于自己专属的扩展能力。所述产品管理模块,通过产品配置技能的方式来为产品提供扩展能力,产品同时配置多个技能来完善扩展能力,除了应用技能之外,产品可以导入和修改产品专属的同义词库,与此同时用户可以根据自己的需求,选择开启或关闭同义词扩展能力。所述技能同步模块,负责将当前产品所配置的所有技能下的所有扩展模板进行整合,作为产品扩展能力的知识库;所述生成语料模块,将导入产品的语料集合通过当前产品的技能能力与知识库进行一个自动化扩展,所述语料包含问题和回答两个字段。该语料即只需要用户上传带有包含问题和回答两个字段的指定格式文件,例如最常见的excel;其中,如图2所示,所述技能配置模块进一步具体为:提供一个技能平台化界面,用户能通过技能平台化界面创建自定义技能,在对应技能下,能创建各类扩展类型及说明,在每个扩展类型下,能进行扩展模板的配置;所述技能配置模块还提供一个词性查询功能,用于用户查询原有语句文本中的词性组合情况;(词性查询功能举例:输入文本:如何调整心态,会返回如下表1内容所示),用于用户查询文本中的词性组合情况;表1分词如何调整心态词性名称副词普通动词普通名词词性代码advvnn所述词性组合的结构为:分词+词性名称+词性代码;用户能根据原有语句词性组合的情况扩展下配置对应的扩展模板,所述扩展模板的结构为:扩展类型名称+扩展说明+原有语句+扩展句式。(扩展模板的最小单元具体实例如下表2内容所示);表2即表格2中用{}来分割句式的一种方式,当然也可以是其他分隔符,只是一种程序实现扩展能力的判断手段。如图3所示,所述产品管理模块进一步具体为:提供一个产品平台化界面,该产品平台化界面创建专属产品,并添加个人定制的技能,与此同时也能添加其他人员创建的技能;所述产品管理模块还提供一个同义词导入的功能、一个产品配置功能、一个同义词扩展开关、一个restful的访问接口,所述同义词导入的功能,用于将同义词导入到系统中,且导入格式不限制(例如:可以简单的为txt文件,每行为一类词汇,以空格隔开);所述产品配置功能,用于支持配置是否启用同义词扩展能力;所述同义词扩展开关,用于加载当前产品下技能的所有扩展模板,加入到内存中,为对外提供扩展能力提供知识库;即该系统支持打开和关闭同义词扩展这一配置功能;用户点击开启时候,可实现扩展中携带同义词替换的功能;用户选择点击关闭,则只是做句式扩展,而不额外增加同义词扩展。所述restful的访问接口,供其他需求的业务调用,只要输入文档主题属性body中包含question=“这是一个字段”的请求内容,访问接口会以列表属性字段来显示返回当前产品下能够扩展的所有句子。如图4所示,所述技能同步模块进一步具体为:根据产品所配置的技能列表,读取所有所配置的技能;再则读取每个技能下的扩展类型及扩展模板并进行整合;最后将整合的所有扩展模板配置作为扩展的知识库。如图5所示,其中,语料生成模块具体如下内容:1、根据系统的要求导入对话语料(举例:上传excel语料(或配置语料对应存储的数据库链接)并配置是否需要同义词扩展的开关;2、系统根据导入的语料,进行句式扩展单元的句式扩展,并输出扩展结果;3、当未开启同义词扩展开关的时候,程序直接走到语料查重单元进行查重处理;4、当开启同义词扩展开关的时候,程序会为语料进行同义词的替换,并生成进行同义词替换之后的问句。待整合了所有语料之后,程序会走到语料查重单元进行查重处理。所述生成语料模块进一步包括语料查重单元和句式扩展单元,所述语料查重单元,对语料进行过滤处理,给出存在的冲突语料列表;如图6所示,所述句式扩展单元用于读取待扩展的语料集合,每条语料以问题和回答两个字段的形式存储到列表中(即每条语料以对象{“question”:”question_value”,”answer”:”answer_value”}的形式存储到列表中);对每条待扩展的语料进行分词和词性标注,然后再把该分词和标注的结果和知识库里面的扩展模板进行比对,如果发现存在一样的模板,则找到该模板的扩展类型,并将该扩展类型下的模板进行词汇替换,给出替换完后的扩展词汇(例如:输入”如何办理手续”,其分词和词性标注的结果为“如何{vv}{nn}”,系统就会查询到该扩展句子符合表2中所示的ad-vv-nn扩展类型,然后套用该类型下的模板,给出以下扩展文本:①、怎么办理手续、②、怎样办理手续;③、手续怎么办理;④、手续如何办理;⑤、手续怎样办理、等等。);把扩展的问句以对象的方式加入到扩展语料集合,并继续进行扩展直到完成所有扩展。如图7所示,所述语料查重单元进一步具体为:对每个语料对象与其他语料对象进行对比,判断是否存在分词之后一模一样的问句,如果存在一模一样的问句,再比对二者的答案是否一样,如果答案也一样,则删除其中一个问句,如果答案不一样,则把这两个问句对象加到一设置的冲突列表中;所有语料都完成对比操作后,最终输出冲突列表,供用户进行调整。另外,如图8所示,本发明还提供了一种相识文本自动扩展的方法,所述扩展的方法采用如权利要求1所述的扩展的系统进行扩展,所述扩展方法包括如下步骤:步骤s1、系统中的技能配置模块利用技能来创建扩展类型,并配置每个扩展类型下的扩展模板,所述配置内容包括:扩展类型名称、扩展类型描述、以及扩展句式模板列表;步骤s2、产品管理模块再通过产品配置技能的方式来为产品提供扩展能力,产品能同时配置多个技能来完善扩展能力;步骤s3、所述技能同步模块将当前产品所配置的所有技能下的所有扩展模板进行整合,作为产品扩展能力的知识库;步骤s4、当有语料需要进行扩展的时候,生成语料模块进行操作,即上传语料或配置语料对应存储的数据库链接;根据需求打开或关闭技能同步模块中的同义词扩展开关;进行开始转换;生成语料模块通过当前产品的技能能力与知识库进行扩展操作。最后,当完成扩展任务的时候,系统会提供冲突的语料信息供使用者进行删除或修改操作。当完成修改之后,可以导出全部语料。与此同时,该系统仍提供一个对外的restful接口,使用者可以通过接口调用来获得推荐的相识文本列表。进一步的,所述生成语料模块进一步包括语料查重单元和句式扩展单元,所述语料查重单元,对语料进行过滤处理,给出存在的冲突语料列表;所述生成语料模块通过当前产品的技能能力与知识库进行扩展操作进一步具体为:通过所述句式扩展单元读取待扩展的语料集合,每条语料以问题和回答两个字段的形式存储到列表中;对每条待扩展的语料进行分词和词性标注,然后再把该分词和标注的结果和知识库里面的扩展模板进行比对,如果发现存在一样的模板,则找到该模板的扩展类型,并将该扩展类型下的模板进行词汇替换,给出替换完后的扩展词汇;把扩展的问句以对象的方式加入到扩展语料集合,并继续进行扩展直到完成所有扩展。进一步的,所述语料查重单元进一步具体为:对每个语料对象与其他语料对象进行对比,判断是否存在分词之后一模一样的问句,如果存在一模一样的问句,再比对二者的答案是否一样,如果答案也一样,则删除其中一个问句,如果答案不一样,则把这两个问句对象加到一设置的冲突列表中;所有语料都完成对比操作后,最终输出冲突列表,供用户进行调整。下面结合具体的实施例对本发明作进一步说明:场景一:同学小a负责一个客服系统的运营配置,其客服系统主要功能是文本对话为主。为了赋予机器人客服能够代替运营或客服同事回答问题的能力,小a整合了产品的问答faq,并把faq配置到机器人客服中。但是机器人上线运营一段时间之后发现,除了配置的问法能够被机器人识别之外,大部分人换一句问法,机器人就无法识别。在此基础上,小a不得不通过自己的思考去扩展其他问法补充其他问法的配置。与此同时,扩展的过程中,小a发现有很多的问法都是一样的句式变化。(举例关于地点询问的问话,原问句有“(**)的地址是?”,可以扩展为“(**)的位置是?”、“(**)的地址是?”、“(**)在哪呢”等等,而原始语料中涉及到地名(**)的数量好几千。)不过为了让机器人能够识别足够多的询问方式,小a只能重复的进行的机械性的文本扩展。通过本专利的方案,同学小a创建属于自己的技能,可以通过在技能配置模块中配置某一类共性的询问句式。并在该类型下配置不同的问法句式模版(例如创建一个技能为“a的个人技能”,在产品管理模块中创建一个名为“地点询问”的扩展类型,并在“地点询问”类型下配置①、{nn}的地址是、②、{nn}的位置是、③、{nn}的地址是、④、{nn}在哪呢、⑤、等等,nn是指普通名词的代码code)。在配置完这一系列模板之后,技能同步模块直接把原始语料模版导入到该系统上,系统的生成语料模块就会自动把匹配到上述模版的语料存在的其他问法全部返回出来。小a只需要针对一些不常见的问句进行补充扩展,大大的提高的扩展语料的效率。场景二:同学小b负责一个智能客服系统的运营配置。为了让每个意图支持更多的询问方式,小b不仅尝试各种句式改变来扩展,还通过网上查询同义词的方式去扩展替换句子中的一些关键词。不过他发现网上查询来的同义词套用到句子后,语义就不一样了,需要人为过滤。而且查询到可用的同义词,替换到每个句式中需要占用不少时间。通过本专利的方案,同学小b可用维护自己的同义词库,将其导入到系统之中。点击同义词扩展的选项,程序会自动给出所有问句中可替换的同义词。与此同时,如果存在不符合场景的部分同义词推荐,用户亦可通过平台界面删除的方式进行移除。再确认语料的可扩展同义词之后,点击继续,即可将同义词全部替换到所扩展的句式中。小b就不需要每个操作都自己人为的去配置了。场景三:同学小c和小d是负责一个对话系统的配置和测试,在长期的运营配置下,所负责的产品集成了上万的语料集合。其中不乏出现一些过期的语料和最新的语料冲突了(语料冲突即:系统中重复配置了相同的问句,但答案不一样的情况,这类问题常见于语料过期、人工误操作等。举例:问-“某某人是谁”,去年配置回答-“某某人是**的高级工程师”,但是今年配置的答案是“某某人是**的副董事长”)。每次小c和小d在接收到语料的时候,就开始了各自的工作,一个负责配置,一个负责扩展语料用例。结果每次版本测试后都会发现一些因为语料冲突导致的答非所问。于是小c根据小d的结果进行配置盘查,找到冲突的内容,并提交给产品人员进行确认,然后再修改冲突问题,并提交小d重新测试。由于发现问题晚,导致小d重复性的进行了多次测试,增加了测试成本,与此同时小c在盘查冲突内容的时候,也花费不少时间。通过本专利的方案,小c可以把最新的语料导入到该系统中,系统会自动将新语料与旧语料之间的冲突内容逐一列举出来。小c可以直接把该结果交付于产品人员确认,并调整配置。此时配置的内容交付小d测试就不会出现类似的冲突问题,相对也就降低了冲突所导致的时间成本。以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1