CN111753554A - 一种意图知识库的生成方法及装置 - Google Patents
一种意图知识库的生成方法及装置 Download PDFInfo
- Publication number
- CN111753554A CN111753554A CN202010595059.5A CN202010595059A CN111753554A CN 111753554 A CN111753554 A CN 111753554A CN 202010595059 A CN202010595059 A CN 202010595059A CN 111753554 A CN111753554 A CN 111753554A
- Authority
- CN
- China
- Prior art keywords
- intention
- test
- knowledge base
- rule
- sample
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及金融科技(Fintech)领域,并公开了一种意图知识库的生成方法及装置,方法包括:根据待加入的意图样本,生成待加入的意图规则集群;针对意图规则集群中的至少一个规则组,执行加入意图知识库的测试,在满足测试要求时,将规则组加入意图知识库;本发明通过生成待加入的意图规则集群,并将待加入的意图规则集群中满足测试要求的各组规则加入到意图知识库,从而解决意图知识库构建需要手动配置、工作量大的问题,人工不直接参与意图知识库的更新与优化,减少了人工干预程度,解放了人力维护成本。同时,也保证了新增的意图规则是最优的,从而提高了新增的意图规则的识别准确率。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种意图知识库的生成方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术(例如:分布式架构、云计算或大数据)应用在金融领域,传统金融业正在逐步向金融科技转变,大数据技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对大数据技术提出的更高的要求。
现有智能问答系统中,对于问答机器人与用户的每一轮交互,都需要根据用户的对话文本识别出相应的意图,再根据相应的意图搜索、选择不同的话术模板进行响应。根据用户说话的文本识别出意图的过程中,目前常用的方法有如下三种:
1、语义意图知识库的构建;
2、文本意图分类模型的实现;
3、文本语义相似模型的搭建。
针对语义意图知识库的构建,现有的意图规则生成需要人力手动配置,一方面,工作量大,人工干预程度较高。另一方面,随着识别的意图复杂度增加,人工手动批量配置意图规则,测试与维护语义意图知识库将变得十分困难,如果新增了与存量规则相同或近似的规则集合,将会使知识库变得更加冗余、更加繁杂,从而掉进更加无法维护的恶性循环中。
此外,现有在生成意图规则后,需要人工手动进行测试新规则识别是否准确,新规则的添加对存量规则的识别是否有影响等等。人工手动测试意图识别正误很难做到覆盖度全面,测试过程欠缺自动化、测试到最终功能上线流程较长。同时,也无法保证新增的意图规则是最优的,从而使得新增的意图规则的识别准确率低。
发明内容
本申请提供了一种意图知识库的生成方法及装置,用以解决如何无需人工、准确高效的生成意图知识库的问题。
第一方面,本申请实施例提供一种意图知识库的生成方法,所述方法包括:
根据待加入的意图样本,生成待加入的意图规则集群;所述意图规则集群中包括针对同一待加入意图的多个规则组,其中,每个规则组中包括至少一条意图规则;
针对所述意图规则集群中的至少一个规则组,执行加入意图知识库的测试,在满足测试要求时,将所述规则组加入所述意图知识库;其中,所述加入意图知识库的测试,包括:
在测试阶段,将所述规则组加入所述意图知识库,得到测试意图知识库;
通过所述测试意图知识库,分别确定第一测试样本集的第一测试结果和第二测试样本集的第二测试结果;所述第一测试样本集是针对所述意图知识库中的已有意图进行测试;所述第二测试样本集是针对所述测试意图知识库中的所述待加入意图进行测试;所述第一测试结果和所述第二测试结果用于确定是否满足所述测试要求。
上述方案,通过生成待加入的意图规则集群,并将意图规则集群中的每组规则加入意图知识库进行测试来确定最终加入意图知识库的规则可以解决意图知识库构建需要手动配置、工作量大的问题,人工不直接参与意图知识库的更新与优化,减少了人工干预程度,解放了人力维护成本。同时,也保证了新增的意图规则是最优的,从而提高了新增的意图规则的识别准确率。
可选的,在所述意图规则集群中的所有规则组均不满足所述测试要求时,对所述意图规则集群中的意图规则重新分组,得到新的规则组,返回针对所述意图规则集群中的至少一个规则组,执行加入意图知识库的测试步骤。
上述方案,通过在意图规则集群中的所有规则组均不满足要求时重新划分,在新增意图规则的同时,也保证新增的意图规则是最优的,也保证了最大覆盖度的测试意图识别正误。
可选的,根据待加入的意图样本,生成待加入的意图规则集群,包括:
对所述待加入的意图样本进行样本增强,得到增强样本;每个意图样本和每个增强样本分别对应一个规则组;
针对每个样本,将所述样本进行分词,并确定每个分词对应的意图规则;所述样本包括意图样本和增强样本。
上述方案,通过对意图样本进行样本增强增加了新增的意图规则的数量,从而保证了最终加入意图知识库的意图规则的准确率。
可选的,对所述待加入的意图样本进行样本增强,包括:
通过有监督的数据增强方式和无监督的数据增强方式对所述待加入的意图样本进行增强,其中,有监督的数据增强方式包括以下至少一项:句子改写、句子回译及同义词替换。
上述方案,通过句子改写、句子回译及同义词替换进行有监督的数据增强,使得测试的意图规则更加丰富,提高了最终加入意图知识库的意图规则的准确率。
可选的,所述满足测试要求,包括:
确定所述第二测试结果中的语义识别精度不小于所述第一测试结果中的语义识别精度,且所述第二测试结果中的语义识别召回率不小于所述第一测试结果中的语义识别召回率。
上述方案,通过预设测试要求可以高效的生成满足要求的意图规则,提高了意图知识库生成的效率。
可选的,通过所述测试意图知识库,分别确定第一测试样本集的第一测试结果和第二测试样本集的第二测试结果,包括:
针对所述第一测试样本集或所述第二测试样本集中的任一样本,通过所述测试意图知识库,确定所述测试样本的匹配意图;根据所述匹配意图和所述测试样本的标记意图,确定所述测试样本对应的匹配度;根据多个测试样本的匹配度确定测试样本集的测试结果。
上述方案,根据匹配意图和测试样本的标记意图,确定测试样本对应的匹配度,保证了意图规则匹配意图ID的精确度。
第二方面,本申请实施例提供一种对话意图识别的方法,所述方法包括:
获取对话中的待识别文本;
通过意图知识库确定所述待识别文本的意图;所述意图知识库是通过上述意图知识库的生成方法构建的;
根据所述待识别文本的意图,确定所述待识别文本的响应文本。
上述方案,引入了意图知识库这一中间件,采用逆向思维的方式,通过意图规则匹配用户的对话文本意图ID,然后根据意图ID再去检索最终的回答话术模板,在多轮对话流程中,便可以根据用户说的对话文本意图规则匹配识别得到意图ID,可以方便的从意图知识库中检索并调用对应的话术模板与对话流程,及时地正确地响应客户的问答。
第三方面,本申请实施例提供一种意图知识库的生成装置,所述装置包括:
生成模块,用于根据待加入的意图样本,生成待加入的意图规则集群;所述意图规则集群中包括针对同一待加入意图的多个规则组,其中,每个规则组中包括至少一条意图规则;
处理模块,用于针对所述意图规则集群中的至少一个规则组,执行加入意图知识库的测试,在满足测试要求时,将所述规则组加入所述意图知识库;其中,所述加入意图知识库的测试,包括:在测试阶段,将所述规则组加入所述意图知识库,得到测试意图知识库;通过所述测试意图知识库,分别确定第一测试样本集的第一测试结果和第二测试样本集的第二测试结果;所述第一测试样本集是针对所述意图知识库中的已有意图进行测试;所述第二测试样本集是针对所述测试意图知识库中的所述待加入意图进行测试;所述第一测试结果和所述第二测试结果用于确定是否满足所述测试要求。
可选的,所述处理模块还用于:在所述意图规则集群中的所有规则组均不满足所述测试要求时,对所述意图规则集群中的意图规则重新分组,得到新的规则组,返回针对所述意图规则集群中的至少一个规则组,执行加入意图知识库的测试步骤。
可选的,所述生成模块具体用于:
对所述待加入的意图样本进行样本增强,得到增强样本;每个意图样本和每个增强样本分别对应一个规则组;
针对每个样本,将所述样本进行分词,并确定每个分词对应的意图规则;所述样本包括意图样本和增强样本。
可选的,所述处理模块具体用于:
通过有监督的数据增强方式和无监督的数据增强方式对所述待加入的意图样本进行增强,其中,有监督的数据增强方式包括以下至少一项:句子改写、句子回译及同义词替换。
可选的,所述处理模块具体用于:
确定所述第二测试结果中的语义识别精度不小于所述第一测试结果中的语义识别精度,且所述第二测试结果中的语义识别召回率不小于所述第一测试结果中的语义识别召回率。
可选的,所述处理模块具体用于:
针对所述第一测试样本集或所述第二测试样本集中的任一样本,通过所述测试意图知识库,确定所述测试样本的匹配意图;根据所述匹配意图和所述测试样本的标记意图,确定所述测试样本对应的匹配度;根据多个测试样本的匹配度确定测试样本集的测试结果。
第四方面,本申请实施例提供一种对话意图识别的装置,所述装置包括:
获取模块,用于获取对话中的待识别文本;
处理模块,用于通过意图知识库确定所述待识别文本的意图;所述意图知识库是通过上述意图知识库的生成方法构建的;根据所述待识别文本的意图,确定所述待识别文本的响应文本。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述意图知识库的生成的方法。
相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述意图知识库的生成的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种意图知识库的生成方法的系统框架;
图2为本发明实施例提供的一种意图知识库的生成方法的流程示意图;
图3为本发明实施例提供的一种意图知识库的生成方法的流程示意图;
图4为本发明实施例提供的一种对话意图识别的方法的流程示意图;
图5为本发明实施例提供的一种意图知识库的生成装置的结构示意图;
图6为本发明实施例提供的一种对话意图识别的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
首先,对本申请中的部分用语进行解释说明,以便使本领域技术人员理解。
遗传算法(Genetic Algorithm,GA):是模拟进化论中自然选择与孟德尔遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。
AIML(Artificial Intelligence Markup Language):人工智能标记语言AIML常用于在智能问答机器人知识库的构建。AIML其本质是一种为了匹配模式和确定响应而进行规则定义的XML格式。在智能问答机器人的人机对话流程中,能够做到根据对话文本内容匹配识别用户的意图,从而用相应的话术流程进行响应,与用户展开多轮交互对话。
意图知识库:在智能问答系统中,一个意图下存在多种文本表达。意图知识库中便存储着大量的“意图-文本表达”之间对应的映射关系,表示成映射、结构化的数据方便查询。意图知识库要求相同意图下的不同文本表达必须具有相同的语义。
基于此,本发明实施例提供一种意图知识库的生成方法,本发明实施例提供的意图知识库的生成方法,可以适用于如图1所示的系统架构中,该系统架构包括意图规则生成器100,意图规则训练器200,意图知识库300。
其中,意图规则生成器100根据待加入的意图样本,生成待加入的意图规则集群;
意图规则训练器200针对意图规则集群中的至少一个规则组,执行加入意图知识库300的测试,在满足测试要求时,将规则组加入意图知识库300。
基于上述所示意的系统架构,图2为本发明实施例提供的一种意图知识库的生成方法所对应的流程示意图,如图2所示,该方法包括:
步骤201,根据待加入的意图样本,生成待加入的意图规则集群。
需要说明的是,意图规则集群中包括针对同一待加入意图的多个规则组,其中,每个规则组中包括至少一条意图规则。
步骤202,针对意图规则集群中的至少一个规则组,执行加入意图知识库的测试,在满足测试要求时,将规则组加入意图知识库;
本申请实施例中,加入意图知识库的测试,具体步骤如图3所示:
步骤301,在测试阶段,将规则组加入意图知识库,得到测试意图知识库;
步骤302,通过测试意图知识库,分别确定第一测试样本集的第一测试结果和第二测试样本集的第二测试结果;
需要说明的是,第一测试样本集是针对意图知识库中的已有意图进行测试;第二测试样本集是针对测试意图知识库中的待加入意图进行测试;第一测试结果和第二测试结果用于确定是否满足测试要求。
上述方案,通过生成待加入的意图规则集群,并将意图规则集群中的每组规则加入意图知识库进行测试来确定最终加入意图知识库的规则可以解决意图知识库构建需要手动配置、工作量大的问题,人工不直接参与意图知识库的更新与优化,减少了人工干预程度,解放了人力维护成本。同时,也保证了新增的意图规则是最优的,从而提高了新增的意图规则的识别准确率。
本发明提供的意图知识库的生成方法,可以根据输入的少量文本表达即可通过数据增强来生成大批量的文本表达。
具体的,在步骤201中,对待加入的意图样本进行样本增强,得到增强样本。
进一步的,对待加入的意图样本进行样本增强可以为:通过有监督的数据增强方式和无监督的数据增强方式对待加入的意图样本进行增强,其中,有监督的数据增强方式包括以下至少一项:句子改写、句子回译及同义词替换。
也就是说,对于手动输入的少量的意图样本,可以根据文本句法分析/句式改写、回译以及同义词替换等有监督的数据增强方式以及采用Google开源的UDA无监督数据增强框架来进行文本表达的数据增强。
下面具体介绍几种有监督的数据增强方法:
1、依据句法分析、根据句子成分对意图样本的文本句式进行改写与压缩,生成相同语义的文本。
举例来说,可以通过句子主干压缩,比如简化为主谓宾,也可以通过句式改写比如定语或状语的前置、后置或倒装。
举个例子,输入意图样本“我今天很开心”,依存句法分析为“我(主语)今天(时间状语)很(状语)开心(核心词组)”,结果如下所示:
第一种、句子主干压缩生成同义句文本数据结果为:“我开心”、“我很开心”;
第二种、句式改写生成同义句文本数据结果为:“今天我很开心”、“我很开心今天”、“我很今天开心”。
2、回译:用机器翻译把一段中文翻译成另一种语言比如英语、法语或德语,然后再翻译回中文,反向翻译常常能得到相同语义的文本表达,回译的方法往往能够增加文本数据的多样性,相比替换词来说,有时可以改变句法结构等,并保留语义信息。
举例来说,输入意图样本“我今天很开心”,具体如下:
第一种、机器翻译成英文为“I had a great day”,再将这句英文回译成中文为“我今天过得很愉快”。
第二种、机器翻译成法语为“Je suis heureux aujourd’hui”,再将这句法语回译成中文为“我度过了开心的一天”。
3、同义词替换,即将意图样本的文本表达中的某个或多个词组用其近义词替换,例如:用“可以”替换词组“好的”,用“似乎”替换词组“好像”等。
经过上述有监督的数据增强,数据增强前后的识别精度统计如表1所示:
表1
进一步的,每个意图样本和每个增强样本分别对应一个规则组;针对每个样本,将样本进行分词,并确定每个分词对应的意图规则。
需要说明的是,样本包括意图样本和增强样本。
上述内容将增强后的样本分词即单个词组前后加“*”生成意图规则集群,最后运用遗传算法GA择优选择的特性求解,在生成AIML规则的每一代里面,挑选出精英个体,即满足适应度函数的最优AIML规则集合作为最终结果输出。
需要说明的是,遗传算法中一条AIML规则也就是单个词组前后加*的“四件套”表示个体的一条基因;多个基因也就是一组AIML规则表示单个个体;多个个体也就是多组AIML规则表示种群。
下面通过举例具体介绍:
比如,增强样本分别为“我今天很开心”、“我今天过得很愉快”、“我度过了开心的一天”、“我今天过得很开心”,然后分别进行分词并生成AIML规则。
具体的,以“我今天很开心”为例,分词后为“我/今天/很/开心”,而后根据此意图样本生成一个意图规则组,包含5条规则,分别为:
(1)我;*我;我*;*我*;
(2)今天;*今天;今天*;*今天*;
(3)很;*很;很*;*很*;
(4)开心;*开心;开心*;*开心*;
(5)*我*今天*很*开心*;
进一步的,在步骤302中,针对第一测试样本集或第二测试样本集中的任一样本,通过测试意图知识库,确定测试样本的匹配意图;根据匹配意图和测试样本的标记意图,确定测试样本对应的匹配度;根据多个测试样本的匹配度确定测试样本集的测试结果。
举例来说,在待加入的意图样本加入之前,意图知识库包含3个意图,具体如下:
1、意图1:客户询问运费价格,其对应的意图ID为R1;在数据增强后得到增强样本“你们价格是多少”、“你们运费怎么算的”、“从A地到B地多少钱”;意图规则集群为:价格*多少;*价格*多少;价格*多少*;*价格*多少*;运费*算;*运费*算;运费*算*;*运费*算*;多少钱;*多少钱;多少钱*;*多少钱*;
2、意图2:客户询问物流时效,其对应的意图ID为R2;在数据增强后得到增强样本“你们从A地到B地多久”、“什么时候能到”、“一般都是几天到”;意图规则集群为:多久;*多久;多久*;*多久*;什么时候*到;*什么时候*到;什么时候*到*;*什么时候*到*;几天到;*几天到;几天到*;*几天到*;
3、意图3:客户询问何时收件,其对应的意图ID为R3;在数据增强后得到增强样本“你们什么时候取货”、“什么时候取件”、“几点上面取件”;意图规则集群为:什么时候取;*什么时候取;什么时候取*;*什么时候取*;几点*取;*几点*取;几点*取*;*几点*取*;
再此基础上加入以下2个意图分别为:
1、意图4:客户询问空运价格,其对应的意图ID为R4;在数据增强后得到增强样本“空运运费是多少”、“空运的价格是多少”;
2、意图5:客户想要取消发货,其对应的意图ID为R5;在数据增强后得到增强样本“我不发了”、“你们取消吧”;
其中,对于意图4,分词后分别为“你们/空运/运费/是/多少”、“空运/的/价格/是/多少”,由此生成的意图规则为:空运运费;*空运运费;空运运费*;*空运运费*;空运*运费;*空运*运费;空运*运费*;*空运*运费*;空运价格;*空运价格;空运价格*;*空运价格*;空运*价格;*空运*价格;空运*价格*;*空运*价格*;
从上述内容可以看出,在测试意图知识库即R1、R2、R3、R4、R5中,测试样本“空运运费是多少”的匹配意图为R1以及R4,测试样本“空运的价格是多少”的匹配意图为R1以及R4。
同样的,对于意图5,分词后分别为“我/不发/了”、“你们/取消/吧”,由此生成的意图规则为:不发;*不发;不发*;*不发*;取消;*取消;取消*;*取消*;
从上述内容可以看出,在测试意图知识库即R1、R2、R3、R4、R5中,测试样本“我不发了”的匹配意图为R5,测试样本“你们取消吧”的匹配意图为R5。
进一步的,本申请实施例在步骤202中,满足测试要求具体如下:
确定第二测试结果中的语义识别精度不小于第一测试结果中的语义识别精度,且第二测试结果中的语义识别召回率不小于第一测试结果中的语义识别召回率。
在一种可能的实施方式中,判断是否满足测试要求可以通过是否满足适应度函数体现,适应度函数(目标函数)F(m)的定义如下所示:
具体的,意图知识库识别精度与召回率的评估未加入新生成意图规则前的意图知识库和测试意图知识库(加入了新生成意图规则后)两部分。
需要说明的是,其中,意图知识库对应存量数据集D,假设用存量数据集D测试的意图知识库识别准确率为99%,召回率也是99%;则在每一轮迭代训练的中意图知识库在数据集D上测试的识别精度需要大于等于99%,召回率也需要大于等于99%。
本申请实施例中,测试意图知识库的测试数据有两部分:新生成的数据集即第二测试样本集E与存量数据集即第一测试样本集D;新生成的数据集E为数据增强后的增强样本集。
具体的,迭代训练过程中适应度函数具体计算步骤如下所示:
假设生成的意图规则集群是:10个AIML规则组也就是10个个体a1~a10,共100条意图规则也就是100条基因,平均一组10条意图规则也就是1个个体10条基因。
进一步的,将a1~a10这10个AIML规则组分别加入到意图知识库中,得到测试意图知识库;然后分别用第一测试样本集D和第二测试样本集E来测试测试意图识别库的识别精度A(E)和A(D)、召回率R(E)和R(D)。
最后计算如果A(x)和R(x)均大于设定的识别精度阈值v,则该组AIML规则an满足条件,后续可以将其加入到意图知识库中,否则就淘汰掉an;
基于上述举例,在测试意图知识库即R1、R2、R3、R4、R5中,一共有13句文本,语义识别精度以及语义识别召回率计算如下:
1、第一测试结果的语义识别精度为:9/9=100%。
需要说明的是,存量的9句文本会在R1~R5中都匹配一遍,如果识别到了新增的R4~R5统计为错误,例如假设第一句文本"你们价格是多少"同时识别到了R1和R4,则准确率为:8/9。
2、第一测试结果的语义识别召回率为:9/9=100%。
需要说明的是,存量的9句文本会在R1~R5中都匹配一遍,如果识别到了新增的R4~R5,只是会扣分,例如假设第一句文本"你们价格是多少"同时识别到了R1和R4,其中R1是对的,则召回率为:[(1/2)+8]/9。
3、新生成的意图规则识别精度即第二测试结果的语义识别精度为:2/4=50%。
从上述内容可以看出,若设定的新生成的意图规则识别精度阈值为90%,则由于50%低于90%,淘汰新生成的意图规则。
本申请实施例中,在意图规则集群中的所有规则组均不满足测试要求时,对意图规则集群中的意图规则重新分组,得到新的规则组,返回针对意图规则集群中的至少一个规则组,执行加入意图知识库的测试步骤。
从上述内容可以看出,如果一轮迭代淘汰了所有组a1~a10,则重新划分,打乱100条意图规则(100条基因),重组基因得到b1~b10。
上述方案,通过在意图规则集群中的所有规则组均不满足要求时重新划分,在新增意图规则的同时,也保证新增的意图规则是最优的,也保证了最大覆盖度的测试意图识别正误。
本申请实施例中,在上述每轮迭代的识别精度测试后,在最后将最优的意图规则序列化添加到意图知识库中时,也会批量回归测试三个性能指标,如下:
1、意图知识库(在加入新生成的意图规则之前)识别精度:假设存量数据集D有10条对话文本,测试10条对话文本都能匹配识别到正确的意图ID则识别精度为100%,如果为8条对话文本识别正确的意图ID,则识别精度为80%;召回率的计算通过统计识别到同一意图ID下正确的文本个数即可。
2、测试意图知识库的识别精度(在加入新生成的意图规则之后):分为两个部分,新生成的数据集E的识别精度与召回,存量数据集D的识别精度与召回,具体测试计算过程通上述计算,此处不再赘述。
3、对比前后两个版本的意图知识库的识别精度与召回率,满足条件即可添加到意图知识库中。
进一步的,通过批量回归测试后,将在意图知识库中新增,具体格式如表2所示,例如:新增“C”意图,先人工配置“C”意图的意图样本,而后进行数据增强,训练处最优的意图规则,通过批量回归测试后,更新加载到意图知识库中。
表2
基于上述内容,本发明提供一种对话意图识别的方法,如图4所示,该方法包括:
步骤401,获取对话中的待识别文本。
步骤402,通过意图知识库确定待识别文本的意图。
需要说明的是,意图知识库是通过上述意图知识库的生成方法构建的。
步骤403,根据待识别文本的意图,确定待识别文本的响应文本。
上述方案,引入了意图知识库这一中间件,采用逆向思维的方式,通过意图规则匹配用户的对话文本意图ID,然后根据意图ID再去检索最终的回答话术模板,在多轮对话流程中,便可以根据用户说的对话文本意图规则匹配识别得到意图ID,可以方便的从意图知识库中检索并调用对应的话术模板与对话流程,及时地正确地响应客户的问答。
需要说明的是,本申请中的遗传算法是一种对生物系统所进行的计算机模拟研究的算法。该算法模仿自然界生物进化机制发展起来的随机全局搜索和优化求解的过程,在求解较为复杂的组合优化问题时,相对一些常规的优化算法通常能够较快地获得较好的优化结果。也可以为其它搜索与优化的算法,例如动态规划(Dynamic Programming)等算法,本申请对此不做具体限定。
基于同一发明构思,图5示例性的示出了本发明实施例提供的一种意图知识库的生成装置,该装置可以为一种意图知识库的生成流程。
所述装置,包括:
生成模块501,用于根据待加入的意图样本,生成待加入的意图规则集群;所述意图规则集群中包括针对同一待加入意图的多个规则组,其中,每个规则组中包括至少一条意图规则;
处理模块502,用于针对所述意图规则集群中的至少一个规则组,执行加入意图知识库的测试,在满足测试要求时,将所述规则组加入所述意图知识库;其中,所述加入意图知识库的测试,包括:在测试阶段,将所述规则组加入所述意图知识库,得到测试意图知识库;通过所述测试意图知识库,分别确定第一测试样本集的第一测试结果和第二测试样本集的第二测试结果;所述第一测试样本集是针对所述意图知识库中的已有意图进行测试;所述第二测试样本集是针对所述测试意图知识库中的所述待加入意图进行测试;所述第一测试结果和所述第二测试结果用于确定是否满足所述测试要求。
可选的,所述处理模块502还用于:在所述意图规则集群中的所有规则组均不满足所述测试要求时,对所述意图规则集群中的意图规则重新分组,得到新的规则组,返回针对所述意图规则集群中的至少一个规则组,执行加入意图知识库的测试步骤。
可选的,所述生成模块501具体用于:
对所述待加入的意图样本进行样本增强,得到增强样本;每个意图样本和每个增强样本分别对应一个规则组;
针对每个样本,将所述样本进行分词,并确定每个分词对应的意图规则;所述样本包括意图样本和增强样本。
可选的,所述处理模块502具体用于:
通过有监督的数据增强方式和无监督的数据增强方式对所述待加入的意图样本进行增强,其中,有监督的数据增强方式包括以下至少一项:句子改写、句子回译及同义词替换。
可选的,所述处理模块502具体用于:
确定所述第二测试结果中的语义识别精度不小于所述第一测试结果中的语义识别精度,且所述第二测试结果中的语义识别召回率不小于所述第一测试结果中的语义识别召回率。
可选的,所述处理模块502具体用于:
针对所述第一测试样本集或所述第二测试样本集中的任一样本,通过所述测试意图知识库,确定所述测试样本的匹配意图;根据所述匹配意图和所述测试样本的标记意图,确定所述测试样本对应的匹配度;根据多个测试样本的匹配度确定测试样本集的测试结果。
基于同一发明构思,图6示例性的示出了本发明实施例提供的一种对话意图识别的装置,该装置可以为一种对话意图识别的流程。
所述装置,包括:
获取模块601,用于获取对话中的待识别文本;
处理模块602,用于通过意图知识库确定所述待识别文本的意图;所述意图知识库是通过上述意图知识库的生成方法构建的;根据所述待识别文本的意图,确定所述待识别文本的响应文本。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种意图知识库的生成方法,其特征在于,所述方法包括:
根据待加入的意图样本,生成待加入的意图规则集群;所述意图规则集群中包括针对同一待加入意图的多个规则组,其中,每个规则组中包括至少一条意图规则;
针对所述意图规则集群中的至少一个规则组,执行加入意图知识库的测试,在满足测试要求时,将所述规则组加入所述意图知识库;其中,所述加入意图知识库的测试,包括:
在测试阶段,将所述规则组加入所述意图知识库,得到测试意图知识库;
通过所述测试意图知识库,分别确定第一测试样本集的第一测试结果和第二测试样本集的第二测试结果;所述第一测试样本集是针对所述意图知识库中的已有意图进行测试;所述第二测试样本集是针对所述测试意图知识库中的所述待加入意图进行测试;所述第一测试结果和所述第二测试结果用于确定是否满足所述测试要求。
2.如权利要求1所述的方法,其特征在于,在所述意图规则集群中的所有规则组均不满足所述测试要求时,对所述意图规则集群中的意图规则重新分组,得到新的规则组,返回针对所述意图规则集群中的至少一个规则组,执行加入意图知识库的测试步骤。
3.如权利要求1所述的方法,其特征在于,根据待加入的意图样本,生成待加入的意图规则集群,包括:
对所述待加入的意图样本进行样本增强,得到增强样本;每个意图样本和每个增强样本分别对应一个规则组;
针对每个样本,将所述样本进行分词,并确定每个分词对应的意图规则;所述样本包括意图样本和增强样本。
4.如权利要求3所述的方法,其特征在于,对所述待加入的意图样本进行样本增强,包括:
通过有监督的数据增强方式和无监督的数据增强方式对所述待加入的意图样本进行增强,其中,有监督的数据增强方式包括以下至少一项:句子改写、句子回译及同义词替换。
5.如权利要求1至4任一项所述的方法,其特征在于,所述满足测试要求,包括:
确定所述第二测试结果中的语义识别精度不小于所述第一测试结果中的语义识别精度,且所述第二测试结果中的语义识别召回率不小于所述第一测试结果中的语义识别召回率。
6.如权利要求1所述的方法,其特征在于,通过所述测试意图知识库,分别确定第一测试样本集的第一测试结果和第二测试样本集的第二测试结果,包括:
针对所述第一测试样本集或所述第二测试样本集中的任一样本,通过所述测试意图知识库,确定所述测试样本的匹配意图;根据所述匹配意图和所述测试样本的标记意图,确定所述测试样本对应的匹配度;根据多个测试样本的匹配度确定测试样本集的测试结果。
7.一种对话意图识别的方法,其特征在于,包括:
获取对话中的待识别文本;
通过意图知识库确定所述待识别文本的意图;所述意图知识库是通过如权利要求1至6中任一方法构建的;
根据所述待识别文本的意图,确定所述待识别文本的响应文本。
8.一种意图知识库的生成装置,其特征在于,包括:
生成模块,用于根据待加入的意图样本,生成待加入的意图规则集群;所述意图规则集群中包括针对同一待加入意图的多个规则组,其中,每个规则组中包括至少一条意图规则;
处理模块,用于针对所述意图规则集群中的至少一个规则组,执行加入意图知识库的测试,在满足测试要求时,将所述规则组加入所述意图知识库;其中,所述加入意图知识库的测试,包括:在测试阶段,将所述规则组加入所述意图知识库,得到测试意图知识库;通过所述测试意图知识库,分别确定第一测试样本集的第一测试结果和第二测试样本集的第二测试结果;所述第一测试样本集是针对所述意图知识库中的已有意图进行测试;所述第二测试样本集是针对所述测试意图知识库中的所述待加入意图进行测试;所述第一测试结果和所述第二测试结果用于确定是否满足所述测试要求。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至7任一项所述的方法。
10.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010595059.5A CN111753554A (zh) | 2020-06-28 | 2020-06-28 | 一种意图知识库的生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010595059.5A CN111753554A (zh) | 2020-06-28 | 2020-06-28 | 一种意图知识库的生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111753554A true CN111753554A (zh) | 2020-10-09 |
Family
ID=72677435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010595059.5A Pending CN111753554A (zh) | 2020-06-28 | 2020-06-28 | 一种意图知识库的生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111753554A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112488164A (zh) * | 2020-11-18 | 2021-03-12 | 广东电力信息科技有限公司 | 一种任务型对话文本增强系统 |
CN117725190A (zh) * | 2024-02-18 | 2024-03-19 | 粤港澳大湾区数字经济研究院(福田) | 基于大语言模型的多轮问答方法、系统、终端及存储介质 |
-
2020
- 2020-06-28 CN CN202010595059.5A patent/CN111753554A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112488164A (zh) * | 2020-11-18 | 2021-03-12 | 广东电力信息科技有限公司 | 一种任务型对话文本增强系统 |
CN117725190A (zh) * | 2024-02-18 | 2024-03-19 | 粤港澳大湾区数字经济研究院(福田) | 基于大语言模型的多轮问答方法、系统、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108363790B (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
CN111353310B (zh) | 基于人工智能的命名实体识别方法、装置及电子设备 | |
CN110287481B (zh) | 命名实体语料标注训练系统 | |
Kwiatkowski et al. | Scaling semantic parsers with on-the-fly ontology matching | |
US7685082B1 (en) | System and method for identifying, prioritizing and encapsulating errors in accounting data | |
CN113449858A (zh) | 一种神经网络模型的处理方法以及相关设备 | |
US11016740B2 (en) | Systems and methods for virtual programming by artificial intelligence | |
Coelho et al. | Building Machine Learning Systems with Python: Explore machine learning and deep learning techniques for building intelligent systems using scikit-learn and TensorFlow | |
CN110555203A (zh) | 文本复述方法、装置、服务器及存储介质 | |
WO2022048194A1 (zh) | 事件主体识别模型优化方法、装置、设备及可读存储介质 | |
US11354599B1 (en) | Methods and systems for generating a data structure using graphical models | |
CN110795913A (zh) | 一种文本编码方法、装置、存储介质及终端 | |
CN114968788A (zh) | 人工智能算法编程能力自动评估方法、装置、介质及设备 | |
CN116738959B (zh) | 一种基于人工智能的简历改写方法及系统 | |
CN111753554A (zh) | 一种意图知识库的生成方法及装置 | |
US11797281B2 (en) | Multi-language source code search engine | |
CN113806489A (zh) | 用于数据集创建的方法、电子设备和计算机程序产品 | |
Amatriain | Prompt design and engineering: Introduction and advanced methods | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
Orin | Implementation of a Bangla chatbot | |
Surendran et al. | Conversational AI-A retrieval based chatbot | |
CN115510230A (zh) | 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法 | |
CN114416987A (zh) | 基于人工智能的文本分类方法、装置、设备及存储介质 | |
KR20220073644A (ko) | 제약 조건을 이용하는 질의 응답 시스템 및 정보 제공 방법 | |
CN111832312B (zh) | 文本处理方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |