一种用户意图识别方法以及用户意图识别系统与流程

文档序号:14990690发布日期:2018-07-20 22:09阅读:4250来源:国知局

本发明涉及数据处理分析技术,具体涉及一种用户意图识别方法以及用户意图识别系统。



背景技术:

现阶段有关对话式语义理解技术的实现方案主要分为面向泛用场景和面向特定场景。前者主要以知识图谱为数据基础,针对用户文字形式的检索需求,通过命名实体识别、实体链接等自然语言处理技术获取意图参数,辅以意图识别关键词匹配(什么、哪、怎么等)的方式进行知识图谱检索并反馈相应答案;后者则以专业知识库为数据基础,通过规则模板的形式扩写已有知识点,针对用户业务意图进行模式匹配,辅以业务关键词匹配的方式进行专业知识库检索并反馈相应答案。

无论是泛用场景或是特定场景的对话式语义理解技术,都有其缺陷。面向泛用场景的对话式人工智能,可以同用户进行闲聊,但无法理解用户的业务需求,往往将用户对话信息诉诸网络获取答案;另一方面,面向特定场景虽然可以应付业务需求,却又需要大量人力分析用户对话特征以构建规则模板,针对多业务场景所需要的工作量呈直线上升,模型的可延展性并不好。



技术实现要素:

鉴于所述问题,本发明旨在提出一种能够以轻量级的解决方案提供一种能够对于用户对话进行准确分析的用户意图识别方法以及用户意图识别系统。

本发明的用户意图识别方法,其特征在于,包括下述步骤:

关键实体识别步骤,对于用户对话文字以词为单位进行自然语言处理技术分析得到命名实体作为用户意图参数候选;以及

用户意图判断步骤,对于所述用户对话文字进行依存语法分析,并且根据预设的用户意图关键候选集逐词模糊匹配得到意图关键词,判断所述意图关键词与所述关键实体识别步骤获得的所述用户意图参数候选之间是否存在依存关系,并且仅在存在依存关系的情况下输出用户意图识别结果。

可选地,在所述用户意图判断步骤之后进一步包括:

意图参数补全步骤,判断所述用户意图判断步骤中输出的用户意图识别结果中意图参数是否已全,若已全则输出所述用户意图识别结果,否则进行意图参数补全动作。

可选地,所述关键实体识别步骤包括:

对用户对话文字作为自然语言处理方法以词为单位进行分词、词性标注和命名实体识别;

根据词性标注和命名实体识别结果得到用户意图参数候选;以及

将用户意图参数标准化。

可选地,所述用户意图判断步骤包括:

将所述用户对话文字以句为单位进行依存句法分析并得到依存句法分析结果;

根据预设的用户意图关键词候选集,使用深度学习方法训练词向量,通过词汇相似度进行模糊匹配得到意图关键词匹配结果;以及

根据所述依存句法分析结果和所述意图关键词匹配结果,判断所述意图关键词与所述关键实体识别步骤获得的所述用户意图参数候选之间的依存关系;以及

若两者之间存在依存关系,则输出用户意图识别结果。

可选地,所述意图参数补全步骤包括:

判断所述用户意图判断步骤中输出的用户意图识别结果中意图参数是否已全,若已全则输出所述用户意图识别结果,否则进行下述步骤;

根据预设的介词词表,在所述用户对话中检索是否出现相关介词;

根据所述用户意图判断步骤得到的所述依存语法分析结果,分析所述介词所对应的宾语并作为补全意图参数的可选项。

可选地,所述自然语言处理技术通过ltp工具包、或者stanfordparser工具包实现,所述依存语法分析通过ltp工具包、或者stanfordparser工具包实现,

所述深度学习方法通过wordvec工具包、或者glove工具包实现。

本发明的用户意图识别系统,其特征在于,包括:

关键实体识别模块,对于用户对话文字以词为单位进行自然语言处理技术分析得到命名实体作为用户意图参数候选;以及

用户意图判断模块,对于所述用户对话文字进行依存语法分析,并且根据预设的用户意图关键候选集逐词模糊匹配得到意图关键词,判断所述意图关键词与所述关键实体识别模块获得的所述用户意图参数候选之间是否存在依存关系,并且仅在存在依存关系的情况下输出用户意图识别结果。

可选地,进一步包括:

意图参数补全模块,判断所述用户意图判断模块中输出的用户意图识别结果中意图参数是否已全,若已全则输出所述用户意图识别结果,否则进行意图参数补全动作。

可选地,所述关键实体识别模块包括:

命名实体识别子模块,对用户对话文字作为自然语言处理方法以词为单位进行分词、词性标注和命名实体识别;

意图参数获取子模块,根据词性标注和命名实体识别结果得到用户意图参数候选;以及

标准化子模块,将用户意图参数候选标准化。

可选地,所述用户意图判断模块包括:

依存句法分析子模块,将所述用户对话文字以句为单位进行依存句法分析并得到依存句法分析结果;

模糊匹配子模块,根据预设的用户意图关键词候选集,使用深度学习方法训练词向量,通过词汇相似度进行模糊匹配得到意图关键词匹配结果;以及

第一判断子模块,根据所述依存句法分析结果和所述意图关键词候选匹配结果,判断所述意图关键词与所述关键实体识别步骤获得的所述用户意图参数候选之间的依存关系;以及

输出子模块,若两者之间存在依存关系,则输出用户意图识别结果。

可选地,所述意图参数补全模块包括:

第二判断子模块,判断所述用户意图判断模块中输出的用户意图识别结果中意图参数是否已全,若已全则输出所述用户意图识别结果,否则进行下述步骤;

检索子模块,根据预设的介词词表,在所述用户对话中检索是否出现相关介词;

补全意图参数子模块,根据所述用户意图判断模块得到的所述依存语法分析结果,分析所述介词所对应的宾语并作为补全意图参数的可选项。

可选地,所述自然语言处理技术通过ltp工具包、或者stanfordparser工具包实现,所述依存语法分析通过ltp工具包、或者stanfordparser工具包实现,

所述深度学习方法通过wordvec工具包、或者glove工具包实现。

本发明的计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述的用户意图识别方法。

本发明的计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述的用户意图识别方法的步骤。

如上所述,根据本发明本方案的用户意图识别方法以及用户意图识别系统,能够解决现有方法不能高效应对不同用户针对同一业务需求的不同问询方式,通过关键实体识别和依存句法分析能够更加准确、更加全面地识别用户意图。

附图说明

图1是表示本发明的用户意图识别方法的示意图。

图2是表示本发明的一个具体实施方式的用户意图识别方法的流程图。

图3是表示本发明的用户意图识别系统的示意图。

如上所述,根据本发明本方案的用户意图识别方法以及用户意图识别系统,能够解决现有方法不能高效应对不同用户针对同一业务需求的不同问询方式,通过关键实体识别和依存句法分析能够更加准确、更加全面地识别用户意图。

具体实施方式

下面介绍的是本发明的多个实施例中的一些,旨在提供对本发明的基本了解。并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。

本发明针对现有的对话式语义理解技术无法兼顾面向特定场景和模型化分析流程的问题,即解决现有方法不能高效应对不同用户针对同一业务需求的不同问询方式,有待人工构建冗长的规则模板的问题,提出一种基于关键实体识别和依存句法分析的用户意图识别方法。

为实现上述目的,本发明的主要技术构思在于,首先,将命名实体识别同关键词模糊匹配相结合,以提升意图参数的识别率,其次基于依存句法分析技术获得命名实体和关键词之间的依存关系,将其作为用户意图判断的依据。

在此基础上,作为更优选的方式,在识别出意图的基础上,通过命名实体和介词间依存关系获得未补全的意图参数,将上述意图和意图参数反馈给业务处理程序,实现用户意图的语义理解。

图1是表示本发明的用户意图识别方法的示意图。

如图1所示,如图1所示本发明的一实施方式的用户意图识别方包括下述步骤:

关键实体识别步骤s100:对于用户对话文字以词为单位进行自然语言处理技术分析得到命名实体作为用户意图参数候选;以及

用户意图判断步骤s200:对于用户对话文字进行依存语法分析,并且根据预设的用户意图关键候选集逐词模糊匹配得到意图关键词,判断意图关键词与关键实体识别步骤s100获得的用户意图参数候选之间的依存关系,并且仅在存在所述依存关系的情况下输出用户意图识别结果;以及

意图参数补全步骤s300:判断用户意图判断步骤s200中输出的用户意图识别结果中意图参数是否已全,若参数已全,则输出用户意图识别结果,否则进行意图参数补全动作。

这里,利用关键实体识别步骤s100以及用户意图判断步骤s200就能够完成用户意图识别,因此,意图参数补全步骤s300并不是必须的步骤,意图参数补全步骤s300是为了更全面、准确地识别用户意图而增加的优选步骤。

接着,对于本发明的一个具体实施方式的用户意图识别方法进行说明。

图2是表示本发明的一个具体实施方式的用户意图识别方法的流程图。

本发明的一个具体实施方式的用户意图识别方法包括以下步骤:

(一)步骤一“关键实体识别”,具体包括:

步骤1.1将用户对话文字以词为单位进行分词、词性标注和命名实体识别(步骤s10),其中,上述自然语言处理方法可以使用ltp工具包实现;

步骤1.2根据步骤1.1中词性标注和命名实体识别结果,获得对应的用户意图参数候选(步骤s11),其中,用户意图参数候选包括但不限于国家(country)、地区(location)、币种(currency)、时间(time)、金钱(money)、疑问词(ques_tag);以及

步骤1.3将步骤1.2输出的用户意图参数候选标准化(步骤s12)。

(二)步骤二“用户意图判断”,具体包括:

步骤2.1将用户对话文字以句为单位进行依存句法分析(步骤s13),其中,依存句法分析可以使用ltp工具包实现;

步骤2.2根据预设的用户意图关键词候选集,使用模糊匹配的方法,获得对应的意图关键词,其中,用户意图关键词候选集是由所需识别的用户意图人工生成的动词集合,关键词模糊匹配使用到word2vec深度学习模型训练得到的词向量文件,匹配的规则为cosine相似度(步骤s14);

步骤2.3根据步骤2.1中的依存句法分析结果和步骤2.2中的关键词匹配结果,判断步骤一所识别出的用户意图参数,是否和关键词具有依存关系(步骤s15);以及

步骤2.4根据步骤2.3岁所具有的依存关系,给出用户意图识别结果,若没有依存关系,则得到无用户意图(步骤s16),若有依存关系,则进入步骤三。

(三)步骤三“意图参数补全”具体包括:

步骤3.1根据步骤二所识别出的用户意图,判断意图参数是否完整(步骤s17),若完整则无需补全,则输出用户意图(步骤s18),若不完整则进入步骤3.2即补充参数(步骤s20);

步骤3.2根据事先整理出的介词词表,在用户对话文字中检索是否出现相关介词(步骤s21);

步骤3.3通过步骤2.1中的依存句法分析结果,分析步骤3.2所得介词对应宾语,作为补全意图参数的可选项并输出用户意图(步骤s18);

至此,从步骤一到步骤三,完成了一种基于关键实体识别和依存句法分析的用户意图识别方法。

以上对于本发明的用户意图识别方法进行了介绍,接着,对于本发明的用户意图识别方法的几个实施例进行一一说明。实施例是叙述了基于本发明的用户意图识别方法而在一台pc机上运行基于关键实体识别和依存句法分析的用户意图识别方法的流程,具体对应方案内容中的上述步骤一到步骤三。

实施例1

本实施例主要涉及转账场景,例如,“给我老爸转一百块钱”。

(一)步骤一:关键实体识别,实现步骤如下:

1.1分词、词性标注、命名实体识别:

给/p我/r老爸/n转/v一百/m块/q钱/n,命名实体集合为空。

1.2获得意图参数候选:

由分词和词性标注结果可知,一百块钱为数词m+量词q+名词n组合,且该名词“钱”归于金钱意图参数,则可置money=一百块钱。

1.3意图参数候选标准化:

鉴于命名实体集合中并未出现国家、币种等意图参数,则默认money的币种为人民币,置money=100人民币。

(二)步骤二:用户意图判断,实现步骤如下:

2.1依存句法分析:

0:给/p3:adv1:我/r2:att2:老爸/n0:pob3:转/v-1:hed4:一百/m5:att5:块/q6:att6:钱/n3:vob。

2.2获得意图关键词:

将整理出的转账意图关键词(例如“转账”)同用户对话文字的分词结果进行cosine相似度比较,计算可得cosine(转,转账)=1.89,符合相似要求,将“转”作为意图关键词。

2.3依存关系判断:

由依存句法分析的结果可知,意图参数money和意图关键词“转”之间存在依存关系(转,钱,vob),可以得出用户意图为“转账”。

(三)步骤三:意图参数补全,实现步骤如下:

3.1鉴于转账意图需要转账金额和转账对象两个参数,而意图参数仅有money一项,则需要进行意图参数补全。

3.2关键介词检索:

在整理出的介词词表同用户对话文字的分词结果进行比较,得到关键介词“给”。

3.3获得意图参数补全可选项

由依存句法分析的结果可知,名词“老爸”和关键介词“给”之间存在依存关系(给,老爸,pob),可以将“老爸”作为转账对象参数的可选项。

至此,用户意图识别完毕,可知用户意图为“转账”,转账金额为“100人民币”,转账对象为“老爸”。

实施例2

实施例2涉及汇率查询业务场景:用户提出需求“我在加拿大取了1000加元,今天比昨天扣得多,我想查一下汇率?”。

(一)步骤一:关键实体识别,实现步骤如下:

1.1分词、词性标注、命名实体识别:

我/r在/p2:加拿大/ns取/v了/u1000/m块/q,/wp今天/nt比/p昨天/nt扣/v得/u多/a,/wp我/r想/v查/v一下/m汇率/n?/wp;

命名实体集合为{加拿大/s-ns}。

1.2获得意图参数候选:

由分词和词性标注结果可知,1000块为数词m+量词q组合,且该量词“块”归于金钱意图参数,则可置money=1000块;

“今天”和“昨天”的词性标注为nt,归于时间意图参数,可置time=[今天,昨天];

“汇率”作为汇率查询的意图参数保存;

命名实体集合为{加拿大/s-ns},归于国家意图参数,可置country=加拿大。

1.3意图参数候选标准化:

鉴于命名实体集合中出现国家意图参数,且金额意图参数并无具体币种类型,则将money的币种视为加元,置money=1000加元;

将time中的“今天”、“昨天”转换为对应日期。

(二)步骤二:用户意图判断,实现步骤如下:

2.1依存句法分析:

0:我/r3:sbv1:在/p3:adv2:加拿大/ns1:pob3:取/v-1:hed4:了/u3:rad5:1000/m6:att6:加元/q3:vob7:,/wp3:wp8:今天/nt11:adv9:比/p11:adv10:昨天/nt9:pob11:扣/v3:coo12:得/u11:rad13:多/a11:cmp14:,/wp11:wp15:我/r16:sbv16:想/v11:coo17:查/v16:vob18:一下/m17:cmp19:汇率/n17:vob20:?/wp3:wp。

2.2获得意图关键词:

将整理出的汇率查询意图关键词(例如“查询”)同用户对话文字的分词结果进行cosine相似度比较,计算可得cosine(查,查询)=2.92,符合相似要求,将“查”作为意图关键词。

2.3依存关系判断:

由依存句法分析的结果可知,意图参数“汇率”和意图关键词“查”之间存在依存关系(查,汇率,vob),可以得出用户意图为“汇率查询”。

(三)步骤三:意图参数补全,实现步骤如下:

3.1鉴于汇率查询需要源金额、目标金额、时间三个参数,而意图参数有money和time两项,则需要进行意图参数补全。

3.2关键介词检索:

在整理出的介词词表同用户对话文字的分词结果进行比较,没有获得关键介词。

3.3获得意图参数补全可选项:

鉴于关键介词为空,则对意图参数进行默认补全,置目标金额为人民币;

至此,用户意图识别完毕,可知用户意图为“汇率查询”,源金额为“1000加元”、目标金额为“人民币”、时间为“今天”,“昨天”对应日期。

实施例3

实施例3涉及优惠活动介绍业务场景:用户提出需求“银联卡在韩国首尔机场和仁川机场有什么优惠活动?”。

(一)步骤一:关键实体识别,实现步骤如下:

1.1分词、词性标注、命名实体识别:

银联卡/n在/p韩国/ns首尔/ns机场/n和/c仁川/ns机场/n有/v什么/r优惠/v活动/v?/wp;

命名实体集合为空{韩国首尔机场/ns,仁川机场/ns}。

1.2获得意图参数候选:

由分词和词性标注结果可知,“什么”作为疑问词,可置ques_tag=什么;

“优惠”“活动”作为优惠活动介绍的意图参数保存;

命名实体集合为{韩国首尔机场/ns,仁川机场/ns},归于地区意图参数,可置location=[韩国首尔机场,仁川机场];

1.3意图参数候选标准化:

鉴于意图参数均较为规整,故无需进行标准化。

(二)步骤二:用户意图判断,实现步骤如下:

2.1依存句法分析:

0:银联卡/n8:sbv1:在/p8:adv2:韩国/ns3:att3:首尔/ns4:att4:机场/n1:pob5:和/c7:lad6:仁川/ns7:att7:机场/n4:coo8:有/v-1:hed9:什么/r11:att10:优惠/v11:att11:活动/v8:vob12:?/wp8:wp。

2.2获得意图关键词:

将整理出的优惠活动介绍意图关键词(例如“有”)同用户对话文字的分词结果进行比较,将“有”作为意图关键词。

2.3依存关系判断:

由依存句法分析的结果可知,意图参数“活动”和意图关键词“有”之间存在依存关系(有,活动,vob),可以得出用户意图为“优惠活动介绍”。

(三)步骤三:意图参数补全,实现步骤如下:

鉴于优惠活动介绍需要地点、时间、商户、询问类型四个参数,而意图参数仅有location和ques_tag两项,剩余项未出现在用户对话文字中,则对意图参数进行默认补全,置时间和商户参数为空;

至此,用户意图识别完毕,可知用户意图为“优惠活动介绍”,地点为“韩国首尔机场”、“仁川机场”,时间为空,商户为空,疑问词为“什么”。

变化例

其中,分词、词性标注、命名实体识别属于自然语言处理方法范畴,可以使用诸如ltp、stanfordparser等工具包实现。

其中,训练词向量的方法,可以使用诸如wordvec、glove等工具包实现。

以上对于本发明的用户意图识别方法进行了说明。接着,对于本发明的用户意图识别系统进行说明。

图3是表示本发明的用户意图识别系统的示意图。

如图3所示,本发明的用户意图识别系统包括:

关键实体识别模块100,对于用户对话文字以词为单位进行自然语言处理技术分析得到命名实体作为用户意图参数候选;

用户意图判断模块200,对于所述用户对话文字进行依存语法分析并且根据预设的用户意图关键候选集逐词模糊匹配得到意图关键词,判断所述意图关键词与所述关键实体识别模块获得的所述用户意图参数候选之间的依存关系,并且仅在存在所述依存关系的情况下输出用户意图识别结果,其中,用户意图关键词候选集是由所需识别的用户意图人工生成的动词集合;以及

意图参数补全模块300,判断所述用户意图判断模块中输出的用户意图识别结果中意图参数是否已全,若已全则输出所述用户意图识别结果,否则进行意图参数补全动作。

其中,利用关键实体识别模块100以及用户意图判断模块200就能够完成用户意图识别,因此,意图参数补全模块300并不是必须的步骤,意图参数补全模块300是为了更全面、准确地识别用户意图而增加的优选模块。

关键实体识别模块100包括:

命名实体识别子模块110,对用户对话文字作为自然语言处理方法以词为单位进行分词、词性标注和命名实体识别;

意图参数获取子模块120,根据词性标注和命名实体识别结果得到用户意图参数候选;以及

标准化子模块130,将用户意图参数候选标准化。

其中,用户意图判断模块200包括:

依存句法分析子模块210,将所述用户对话文字以句为单位进行依存句法分析并得到依存句法分析结果;

模糊匹配子模块220,使用深度学习方法训练词向量,通过词汇相似度进行模糊匹配得到意图关键词匹配结果;

第一判断子模块230,根据所述依存句法分析结果和所述意图关键词匹配结果,判断所述意图关键词与所述关键实体识别步骤获得的所述用户意图参数候选之间的依存关系;以及

输出子模块240,若两者之间存在依存关系,则输出用户意图识别结果。

意图参数补全模块300包括:

第二判断子模块310,判断所述用户意图判断模块中输出的用户意图识别结果中意图参数是否已全,若已全则输出所述用户意图识别结果,否则进行下述步骤;

检索子模块320,根据预设的介词词表,在所述用户对话中检索是否出现相关介词;

补全意图参数子模块330,根据所述用户意图判断模块得到的所述依存语法分析结果,分析所述介词所对应的宾语并作为补全意图参数的可选项。

如上所述,根据本发明本方案的用户意图识别方法以及用户意图识别系统,能够解决现有方法不能高效应对不同用户针对同一业务需求的不同问询方式,通过关键实体识别和依存句法分析能够更加准确、更加全面地识别用户意图。

进一步,本发明还提供一种计算机可读介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述用户意图识别方法。

再者,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述用户意图识别方法的步骤。

以上例子主要说明了本发明的用户意图识别方法以及用户意图识别系统。尽管只对其中一些本发明的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。

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