CN114817498A - 用户意图识别方法、装置、设备及存储介质 - Google Patents
用户意图识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114817498A CN114817498A CN202210391817.0A CN202210391817A CN114817498A CN 114817498 A CN114817498 A CN 114817498A CN 202210391817 A CN202210391817 A CN 202210391817A CN 114817498 A CN114817498 A CN 114817498A
- Authority
- CN
- China
- Prior art keywords
- information
- word
- intention
- result
- sentence
- 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
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本申请涉及人工智能,本申请提供一种用户意图识别方法、装置、设备及存储介质,所述方法通过建立与所述待查询语句相对应的词信息组群;基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息;根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息;根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别,通过上述方法,智能设备能够快速地基于待查询语句在预设模式树进行查询并且匹配,待查询语句的语句结构信息被快速地提取出来,使得智能设备对多语句的识别效率增加,且快速地匹配出用户意图。
Description
技术领域
本发明涉及人工智能领域,尤其涉及一种用户意图识别方法、装置、设备及计算机可读存储介质。
背景技术
在移动设备、计算机、机器人等智能设备的自动对话或聊天系统中,智能设备需要理解用户输入想表达的意图。如何使智能设备理解用户意图,主流做法是在智能设备的系统中,预置基于规则的识别方法,使智能设备能够理解用户意图。
基于规则的识别方法,一般通过正则表达式来构建识别方法。正则表达式的识别方法根据语句内容逐个匹配结果,再将正则表达式匹配的结果汇总,其中,基于正则表达式的识别方法所耗费的时间与待查询语句的长度成正比。当智能设备需要同时识别多个语句时,业界有两种方法,一种是构建与规则数成正比的复杂表达式,智能设备通过该复杂表达式识别多个语句时,智能设备的识别效率随着该表达式复杂度的增加而快速下降;一种是构建多个正则表达式,智能设备将多个语句拆成单个语句后,再通过该多个表达式分别识别,最后,智能设备将单个语句的识别结果进行汇总,其中,识别时间复杂度增加为O(k*n),其中k是正则表达式个数,n为语句长度,由此可见,基于多个正则表达式识别语句所耗费的时间会成倍增加,当待识别语句较长且有多个时,智能设备识别语句的效率不高。规则的识别方法中还有基于前缀树和ac自动机结构的解决方案,但是智能设备基于前缀树和ac自动机结构的识别方法对多个语句同时识别时,效率同样较低。
发明内容
本发明的主要目的在于提供一种用户意图识别方法、装置、设备及计算机可读存储介质,旨在解决现有智能设备基于正则表达式识别语句效率不高的技术问题。
为实现上述目的,本发明提供一种用户意图识别方法,所述意图识别方法包括:获取待查询语句,建立与所述待查询语句相对应的词信息组群;基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息;根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息;根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别。
此外,为实现上述目的,本发明还提供一种用户意图识别装置,所述用户意图识别装置包括:
词组模块,用于获取待查询语句,建立与所述待查询语句相对应的词信息组群;查询模块,用于基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息;语句结构生成模块,用于根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息;识别模块,用于根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别。
此外,为实现上述目的,本发明还提供一种用户意图识别设备,所述用户意图识别设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的用户意图识别程序,其中所述用户意图识别程序被所述处理器执行时,实现如上述用户意图识别方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有用户意图识别程序,其中所述用户意图识别程序被处理器执行时,实现如上述的用户意图识别方法的步骤。
本发明提供一种用户意图识别方法,通过获取待查询语句,建立与所述待查询语句相对应的词信息组群;基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息;根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息;根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别,通过上述方法,智能设备基于预先设置的双数组前缀树对待查询语句进行识别,智能设备能够快速地基于待查询语句在预设模式树进行查询并且匹配,使得待查询语句的语句结构信息能够被快速地提取出来,使得智能设备对多语句的识别效率增加,减少智能设备对用户语句的识别时间,且快速地匹配出用户意图。
附图说明
图1为本发明实施例方案中涉及的用户意图识别设备的硬件结构示意图;
图2为本发明用户意图识别方法第一实施例的流程示意图;
图3为本发明用户意图识别方法第二实施例的流程示意图;
图4为本发明用户意图识别装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例涉及的用户意图识别方法主要应用于用户意图识别设备,该用户意图识别设备可以是PC、便携计算机、移动终端等具有显示和处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的用户意图识别设备的硬件结构示意图。本发明实施例中,用户意图识别设备可以包括处理器1001(例如CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的硬件结构并不构成对用户意图识别设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及用户意图识别程序。
在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的用户意图识别程序,并执行本发明实施例提供的用户意图识别方法。
本发明实施例提供了一种用户意图识别方法。
用户意图识别,就是智能设备判断用户想要做什么,比如一个用户向智能设备问了一个问题,于是智能设备就需要判断这个用户他问的是天气、是旅游还是问某部电影的信息,如此,意图识别就是一个文本分类的问题。智能设备需要明确有哪几类意图,也就是说智能设备需要存入预先定义好意图的类别,然后才能考虑意图识别的问题。意图分类是需要将其置于特定的场景中来考虑的,不同应用场景就有不同的意图分类。比如在订餐APP上,它把用户的搜索意图分为订外卖、订酒店、订旅游门票、订电影票、订机票等类别。
用户意图识别的方法有:基于规则的识别方法,一般通过正则表达式来构建识别方法。
通过人工分析每个用户意图下的有代表性的例句总结出规则模板,然后将用户的输入语句进行分词、词性标注、命名实体识别、依存句法分析、语义分析等操作后套用已有的模板,当与之匹配的预设意图模板达到一定的阈值之后就认为该输入就属于该意图类别。以订机票意图为例,我们可以事先收集一些用户的相关query(查询),然后再进行总结归纳制定模板。
示例性的:
从广州到贵阳市的航班
东营到济南的航班
济南去大连的航班
查询大大后天广州到武汉的航班
十月四号从广州到北京的飞机票多少钱
查询上海到丽江飞机票的价格
明天从桂林飞往杭州的航班
武汉到北京的飞机票
我们可以归纳出模板:.*?[地名]{到|去|飞|飞往}[地名].*?{机票|飞机票|航班}.*?
其中.*?表示任意字符,[]表示实体类型或词性,{}表示关键词,|表示或。当用户向智能设备输入“查询后天广州到上海的航班”,我们对query进行分词和词性标注,匹配到地名“广州”、“上海”,关键词“到”、“航班”,他们的组合和预定义好的意图模板高度匹配,于是我们确认该query是“订机票”意图;另外对于“有没有下周二到贵阳的航班”只能匹配到一个地名和关键词“航班”,也是和模板匹配了,如果这个匹配度和其他意图的模板的匹配度相比更高的话,可以确定该query是“订机票”意图。
参照图2,图2为本发明用户意图识别方法第一实施例的流程示意图。
本实施例中,所述用户意图识别方法包括以下步骤:
步骤S10,获取待查询语句,建立与所述待查询语句相对应的词信息组群。
具体地,用户向智能设备说出需要查询的问题,智能设备通过声音接收系统获取到用户所要查询的语句,智能设备获取语句后,智能设备根据预先在智能设备系统内存储的自定义词组词典,建立与待查询语句对应的词信息组群,其中,词信息组群包括两个维度,两个维度对应组合后构成词信息组群,第一维度是待查询语句长度,每一个成员表示以当前字符为起点,查询自定义词组词典,在自定义词组词典中找到全部以该起点开始的所有词,并记录词的长度、对应的唯一id、及其类型。在同一起点中,找到的词可以有多个,所以数组的第二维度是包含这些同一起点的不同词。
其中,要构建自定义词组词典,首先需要进行模式定义,模式定义包括两部分,命名词组和模式。词组(type)是一组由用户定义的意思相近的词(term)组成,并给这个词组命名。例如命名词组为me、think和ask的词组:me:我、在下;think:想、很想;ask:问一下、问、了解。
模式(pattern)是指一个需要识别的句型、需要抽取的标签(tag)信息、置信度及关联下文组成,由制表符tab分隔。其中句型的成员称为槽位(slot),槽位支持命名词组名、明文、通配符,通配符格式是[w:m-n],指通配m个到n个字符,如[w:0-4],是指通配0到4个任意字符。需要抽取的标签信息是指句型中需要提取到结果中的槽位命中信息,由用户定义的名字标签和句型中的索引号组成,空格分隔,可以有多个槽位信息。置信度是一个浮点值,数值越大,表明该模式优先级越高。关联下文是用户定义的有意义格式,此处是意图id,表达用户意图的计算机可理解形式。例如:
[w:0-4][me][think]中文字[w:0-100]\t[me]1[think]2[w:0-100]3\t 0.9\t 1
上例中,[w:0-4][me][think]中文字[w:0-100]为一个句型,每个中括号都是一个槽位,明文“中文字”没有槽位下标;第二列[me]1[think]2[w:0-100]3是表明,需要提取槽位下标为1的槽位取值,并命名它的标签为[me],还需要提取下标为2的think和下标为3的w:0-100;第三列是置信度0.9,第四列是意图id 1。
模式加载是以模式定义作为输入,构建核心词典,过程如下:
先构建一个空的键值词典,作用是给接下来的命名词组名字和槽位名字分配唯一的映射id,以下用到的命名词组名字和槽位名字,都是经过键值词典词典转换为唯一id后进行操作。
根据词组定义文件,以明文词作为键,以命名词组名字经第一步的词典转化成唯一的id作为值,构建双数组前缀树,该结构为自定义词组词典。
在本实施例中,所述双数组前缀树为:双数组Trie(Double-ArrayTrie)是trie树的一个简单而有效的实现,由两个整数数组构成,一个是base[],另一个是check[]。设数组下标为i,如果base[i],check[i]均为0,表示该位置为空。如果base[i]为负值,表示该状态为词语。Check[i]表示该状态的前一状态,t=base[i]+a,check[t]=i。
步骤S20,基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息。
具体地,以模式树根节点开始,查找当前节点的子节点与词信息组群对应记录的id相同的节点,记录为匹配节点,并记录匹配节点表示词的长度,作为递归迭代时下一次词信息组群的起始下标。
其中,所述预设模式树
模式定义包括两部分,命名词组和模式。词组(type)是一组由用户定义的意思相近的词(term)组成,并给这个词组命名。例如命名词组为me、think和ask的词组:模式(pattern)是指一个需要识别的句型、需要抽取的标签(tag)信息、置信度及关联下文组成,由制表符tab分隔。其中句型的成员称为槽位(slot),槽位支持命名词组名、明文、通配符,通配符格式是[w:m-n],指通配m个到n个字符,如[w:0-4],是指通配0到4个任意字符。需要抽取的标签信息是指句型中需要提取到结果中的槽位命中信息,由用户定义的名字标签和句型中的索引号组成,空格分隔,可以有多个槽位信息。置信度是一个浮点值,数值越大,表明该模式优先级越高。关联下文是用户定义的有意义格式,此处是意图id,表达用户意图的计算机可理解形式。例如:
[w:0-4][me][think]中文字[w:0-100]\t[me]1[think]2[w:0-100]3\t 0.9\t 1
上例中,[w:0-4][me][think]中文字[w:0-100]为一个句型,每个中括号都是一个槽位,明文“中文字”没有槽位下标;第二列[me]1[think]2[w:0-100]3是表明,需要提取槽位下标为1的槽位取值,并命名它的标签为[me],还需要提取下标为2的think和下标为3的w:0-100;第三列是置信度0.9,第四列是意图id 1。
模式加载是以模式定义作为输入,构建核心词典,过程如下:
先构建一个空的键值词典,作用是给接下来的命名词组名字和槽位名字分配唯一的映射id,以下第二和第三步中用到的命名词组名字和槽位名字,都是经过这个词典转换为唯一id后进行操作。
根据模板定义文件,对第一列的句型进行解析,解析出槽位为单位的数组,并以槽位名字经第1步转换后的唯一id为节点,建立一颗搜索树,命名为模式树(pattern_tree)。模式数中满足整个模式的结尾节点关联模式的其余信息,这些节点命名为模式节点,叶子节点肯定是模式节点,非叶子节点也可以是模式节点。
步骤S30,根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息。
在本实施例中,以模式树根节点开始,查找当前节点的子节点与词信息组群对应记录的id相同的节点,记录为匹配节点,并记录匹配节点表示词的长度,作为递归迭代时下一次词信息组群的起始下标,进而得到所有满足要求的模式节点和匹配过程中的匹配节点,结果信息是所有满足要求的模式节点中记录的信息和匹配过程中的匹配节点记录的信息。
具体地,根据本实施中所有满足要求的模式节点中记录的信息和匹配过程中的匹配节点中记录的信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息,其中,匹配节点中记录了命中槽位在待查询语句中的起始偏移和长度,从而提取待查询语句中的命中片段,进而组织成<标签名,标签值>形式的结果标签信息,模式节点还记录置信度和意图id,置信度和意图id构成了结果判别信息,结果判别信息和结果标签信息一起组集成单个模式的语句结构信息。
步骤S40,根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别。
在本实施例中,根据<标签名,标签值>形式的结果标签信息和模式节点中记录的置信度和意图id得到意图识别信息,意图识别信息包括意图id,意图id为用户意图识别结果,标签信息作为用户意图参数。
本申请中,通过获取待查询语句,建立与所述待查询语句相对应的词信息组群;基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息;根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息;根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别,通过上述方法,智能设备基于预先设置的双数组前缀树对待查询语句进行识别,智能设备能够快速地基于待查询语句在预设模式树进行查询并且匹配,使得待查询语句的语句结构信息能够被快速地提取出来,使得智能设备对多语句的识别效率增加,减少智能设备对用户语句的识别时间,且快速地匹配出用户意图。
所述意图识别方法还包括:根据所述待查询语句以及与所述待查询语句相对应的的答案意图,建立案例库;
基于所述案例库运行上述意图识别方法,生成所述用户意图识别信息;
若所述用户意图识别信息与所述答案意图不相同,确定歧义意图并更改所述歧义意图。
具体的,根据所述待查询语句以及与所述待查询语句相对应的的答案意图,建立案例库;
基于所述案例库,获取待查询语句,建立与所述待查询语句相对应的词信息组群;
基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息;
根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息;
根据所述语句结构信息得到意图识别信息;
若所述用户意图识别信息与所述答案意图不相同,确定歧义意图并更改所述歧义意图。
在本实施例中,基于规则的识别领域,模式或规则不可能一开始就定义完毕,它是一个持续迭代的过程,包括规则的增删查改、冲突及消歧等。
本设计方案得益于模式定义是相互独立的,对于增删查改都是以单个规则(模式)为单位进行。
当规则规模达到一定程度,例如单个领域意图识别规则数达到500以上,规则间的冲突无可避免。例如规则1与规则2句型定义相同但是配置意图id不相同,规则3包含了规则4等。冲突检测和消歧只需要建立一个案例库,记录待查询语句与答案意图的对应关系,然后对案例库运行一次意图识别,当发现结果意图与答案意图不一致时,输出所有候选结果意图,人工介入定位问题所在并消除歧义即可。一般消歧方法是置信度数值调整,模式配置错误纠正等。
模式(pattern)是指一个需要识别的句型、需要抽取的标签(tag)信息、置信度及关联下文组成,由制表符tab分隔。其中句型的成员称为槽位(slot),槽位支持命名词组名、明文、通配符,通配符格式是[w:m-n],指通配m个到n个字符,如[w:0-4],是指通配0到4个任意字符。需要抽取的标签信息是指句型中需要提取到结果中的槽位命中信息,由用户定义的名字标签和句型中的索引号组成,空格分隔,可以有多个槽位信息。置信度是一个浮点值,数值越大,表明该模式优先级越高。关联下文是用户定义的有意义格式,此处是用户意图id,表达用户意图的计算机可理解形式。
参照图3,图3为本发明用户意图识别方法第二实施例的流程示意图。
基于上述图2所示实施例,本实施例中,所述步骤S10,还包括:
S11,获取所述待查询语句中的字符串,根据所述字符串查询预设自定义词组词典,确定与所述字符串对应的至少一个词,以及确定所述词对应的词信息;
S12,获取第一维度和第二维度,其中,所述第一维度由至少一个所述词构成,所述第二维度由所述词信息构成;
S13,基于所述第一维度和所述第二维度,建立二维数组,将所述二维数组作为词信息组群。
在本实施例中,字符串是结构预先定义的词,该定义的词将用户的待查询语句不必要的词除去后得到的。
具体地,建立一个二维数组,第一维长度是查询字符串长度,每一个成员是表示以当前字符为起点,查询“自定义词组词典”,找到全部以该起点开始的所有词,并记录词的长度、对应的唯一id、及其类型。由于在同一起点,找到的词可以有多个,所以数组的第二维就是记录这些同一起点的不同词。该二维数组就是词信息组群,词信息组群的作用就是把查询字符串明文转换为类型id的组群。
在本实施例之前,首先要将预设词典加载到智能设备的系统中,其中,模式加载是以模式定义作为输入,构建核心词典,过程如下:
1、先构建一个空的键值词典,作用是给接下来的命名词组名字和槽位名字分配唯一的映射id,以下第二和第三步中用到的命名词组名字和槽位名字,都是经过这个词典转换为唯一id后进行操作。
2、根据词组定义文件,以明文词作为键,以命名词组名字经第一步的词典转化成唯一的id作为值,构建双数组前缀树,该结构命名为“自定义词组词典”;
3、根据模板定义文件,对第一列的句型进行解析,解析出槽位为单位的数组,并以槽位名字经第1步转换后的唯一id为节点,建立一颗搜索树,命名为模式树(pattern_tree)。模式数中满足整个模式的结尾节点关联模式的其余信息,这些节点命名为模式节点,叶子节点肯定是模式节点,非叶子节点也可以是模式节点。
4、以第一步收集到的所有命名词组和槽位名字为键,id为值,构建双数组前缀树,命名为“类型词典”(type_dict)。
进一步地,所述词信息组群包括:与所述词对应的词id;
所述步骤S20包括:
根据所述词信息组群从所述模式树的根节点开始遍历所述模式树的节点,确定与所述词id相同的树节点,将所述树节点中记录的信息作为所述结果信息。
具体地,根据词信息组群,以模式树根节点开始,查找当前节点的子节点与词信息组群对应记录的id相同的节点,记录为匹配节点,并记录匹配节点表示词的长度。
进一步地,确定与所述词id相同的树节点,包括:
若当前节点不存在与所述词id匹配的所述子节点,则确定匹配失败,返回当前所述节点的上一节点;
若当前节点存在与所述词id匹配的所述子节点,且所述词信息组群搜索完毕,则确定匹配成功,输出当前匹配结果;
若当前节点存在与所述词id匹配的所述子节点,且所述词信息组群未搜索完毕,则通过递归法和所述词信息组群剩未查询部分对所述模式树进行查询,当所述词信息组群搜索完毕,则确定匹配成功,输出当前匹配结果,其中,当前所述节点为下一次递归查询的根节点,且下一次递归查询的词信息组群的起始下标为当前下标加上所述子节点的词长度。
在本实施例中,以模式树根节点开始,查找当前节点的子节点与词信息组群对应记录的id相同的节点,记录为匹配节点,并记录匹配节点表示词的长度,作为递归迭代时下一次词信息组群的起始下标;
当前节点中找不到匹配的子节点时,匹配失败,返回;
当找到匹配节点时,且匹配节点是模式节点,且词信息组群也到达结尾,匹配模式成功,返回当前匹配结果;
当找到匹配节点时,匹配节点不是模式节点,或者词信息组群达不到结尾,那么递归调用本方法,当前匹配节点作为下次递归的根节点,下次递归词信息组群的起始下标是当前下标加上匹配节点记录的词长度;
当匹配到匹配节点为通配节点时,递归调用将发生多次,也就是枚举通配配置中最短到最长,且不超过词信息组群的最大长度。
进一步地,所述结果信息包括标签信息的槽位下标、置信度以及意图id;所述步骤S30还包括:
根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息,包括:
根据所述标签信息的槽位下标,提取所述待查询语句中的命中片段,将所述命中片段组织成标签名以及标签值,其中,所述结果标签信息由标签名和所述标签值组成;
将所述置信度和所述意图id,与所述标签名和所述标签值进行组集,生成语句结构信息,其中,所述结果判别信息由所述置信度和所述意图id组成。
进一步地,根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别,包括:
根据所述置信度大小对所述语句结构信息进行排列,选取所述置信度最大的所述语句结构信息作为识别信息;
提取所述识别信息中的所述意图id和所述标签信息,根据所述意图id和所述标签信息进行意图识别。
在本实施例中,根据模式节点中记录的“需要抽取的标签信息”中的槽位下标,定位到哪个匹配节点,匹配节点中记录了命中槽位在查询字符串中的起始偏移和长度,从而提取查询字符串中的命中片段,进而组织成<标签名,标签值>形式的结果标签信息。
模式节点还记录置信度和意图id,和结果标签信息一起组集成单个模式的语句结构信息。
最后当所有模式结果组装完毕,按置信度对列表由大到小排序后,返回置信度结果列表。
当得到结果列表,下游可以通过置信度最大的语句结构信息,直接提取意图id作为用户意图识别结果,标签信息作为用户意图参数。
此外,本发明实施例还提供一种用户意图识别装置。
参照图4,图4为本发明用户意图识别装置第一实施例的功能模块示意图。
本实施例中,所述用户意图识别装置包括:
词组模块10,用于获取待查询语句,建立与所述待查询语句相对应的词信息组群;
查询模块20,用于基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息;
语句结构生成模块30,用于根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息;
识别模块40,用于根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别。
进一步地,所述词组模块10具体包括:
字符确定单元,用于获取所述待查询语句中的字符串,根据所述字符串查询预设自定义词组词典,确定与所述字符串对应的至少一个词,以及确定所述词对应的词信息;
词信息组成单元,用于获取第一维度和第二维度,其中,所述第一维度由至少一个所述词构成,所述第二维度由所述词信息构成;
词信息组群单元,用于基于所述第一维度和所述第二维度,建立二维数组,将所述二维数组作为词信息组群。
进一步地,所述查询模块20包括:
结果信息确定单元,用于根据所述词信息组群从所述模式树的根节点开始遍历所述模式树的节点,确定与所述词id相同的树节点,将所述树节点中记录的信息作为所述结果信息。
进一步地,所述结果信息确定单元还包括:
节点判断单元,用于若当前节点不存在与所述词id匹配的所述子节点,则确定匹配失败,返回当前所述节点的上一节点;
若当前节点存在与所述词id匹配的所述子节点,且所述词信息组群搜索完毕,则确定匹配成功,输出当前匹配结果;
若当前节点存在与所述词id匹配的所述子节点,且所述词信息组群未搜索完毕,则通过递归法和所述词信息组群剩未查询部分对所述模式树进行查询,当所述词信息组群搜索完毕,则确定匹配成功,输出当前匹配结果,其中,当前所述节点为下一次递归查询的根节点,且下一次递归查询的词信息组群的起始下标为当前下标加上所述子节点的词长度。
进一步地,所述语句结构生成模块30包括:
语句提取单元,用于根据所述标签信息的槽位下标,提取所述待查询语句中的命中片段,将所述命中片段组织成标签名以及标签值,其中,所述结果标签信息由标签名和所述标签值组成;
信息组集单元,用于将所述置信度和所述意图id,与所述标签名和所述标签值进行组集,生成语句结构信息,其中,所述结果判别信息由所述置信度和所述意图id组成,所述结果信息包括标签信息的槽位下标、置信度以及意图id。
进一步地,所述识别模块40包括:
排列单元,用于根据所述置信度大小对所述语句结构信息进行排列,选取所述置信度最大的所述语句结构信息作为识别信息;
用户意图识别单元,用于提取所述识别信息中的所述意图id和所述标签信息,根据所述意图id和所述标签信息进行意图识别。
进一步地,所述用户意图识别装置还包括:修改模块,所述修改模块包括:
数据生成单元,用于根据所述待查询语句以及与所述待查询语句相对应的的答案意图,建立案例库;
流程单元,用于基于所述案例库,获取待查询语句,建立与所述待查询语句相对应的词信息组群;基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息;根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息;根据所述语句结构信息得到意图识别信息;
意图修改单元,若所述用户意图识别信息与所述答案意图不相同,确定歧义意图并更改所述歧义意图。
其中,上述用户意图识别装置中各个模块与上述用户意图识别方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
此外,本发明实施例还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有用户意图识别程序,其中所述用户意图识别程序被处理器执行时,实现如上述的用户意图识别方法的步骤。
其中,用户意图识别程序被执行时所实现的方法可参照本发明用户意图识别方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种用户意图识别方法,其特征在于,所述用户意图识别方法包括以下步骤:
获取待查询语句,建立与所述待查询语句相对应的词信息组群;
基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息;
根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息;
根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别。
2.如权利要求1所述的用户意图识别方法,其特征在于,所述获取待查询语句,建立与所述待查询语句对应的词信息组群,包括:
获取所述待查询语句中的字符串,根据所述字符串查询预设自定义词组词典,确定与所述字符串对应的至少一个词,以及确定所述词对应的词信息;
获取第一维度和第二维度,其中,所述第一维度由至少一个所述词构成,所述第二维度由所述词信息构成;
基于所述第一维度和所述第二维度,建立二维数组,将所述二维数组作为词信息组群。
3.如权利要求1所述的用户意图识别方法,其特征在于,所述词信息组群包括:与所述词对应的词id;
所述基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息,包括:
根据所述词信息组群从所述模式树的根节点开始遍历所述模式树的节点,确定与所述词id相同的树节点,将所述树节点中记录的信息作为所述结果信息。
4.如权利要求3所述的用户意图识别方法,其特征在于,所述确定与所述词id相同的树节点,包括:
若当前节点不存在与所述词id匹配的所述子节点,则确定匹配失败,返回当前所述节点的上一节点;
若当前节点存在与所述词id匹配的所述子节点,且所述词信息组群搜索完毕,则确定匹配成功,输出当前匹配结果;
若当前节点存在与所述词id匹配的所述子节点,且所述词信息组群未搜索完毕,则通过递归法和所述词信息组群剩未查询部分对所述模式树进行查询,当所述词信息组群搜索完毕,则确定匹配成功,输出当前匹配结果,其中,当前所述节点为下一次递归查询的根节点,且下一次递归查询的词信息组群的起始下标为当前下标加上所述子节点的词长度。
5.如权利要求1所述的用户意图识别方法,其特征在于,所述结果信息包括标签信息的槽位下标、置信度以及意图id;
根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息,包括:
根据所述标签信息的槽位下标,提取所述待查询语句中的命中片段,将所述命中片段组织成标签名以及标签值,其中,所述结果标签信息由标签名和所述标签值组成;
将所述置信度和所述意图id,与所述标签名和所述标签值进行组集,生成语句结构信息,其中,所述结果判别信息由所述置信度和所述意图id组成。
6.如权利要求5所述的用户意图识别方法,其特征在于,所述根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别,包括:
根据所述置信度大小对所述语句结构信息进行排列,选取所述置信度最大的所述语句结构信息作为识别信息;
提取所述识别信息中的所述意图id和所述标签信息,根据所述意图id和所述标签信息进行意图识别。
7.如权利要求1-6中任一项所述的用户意图识别方法,其特征在于,所述意图识别方法还包括:
根据所述待查询语句以及与所述待查询语句相对应的的答案意图,建立案例库;
基于所述案例库运行如权利要求1-6任一项的所述意图识别方法,生成所述意图识别信息;
若所述意图识别信息与所述答案意图不相同,确定歧义意图并更改所述歧义意图。
8.一种用户意图识别装置,其特征在于,所述用户意图识别装置包括:
词组模块,用于获取待查询语句,建立与所述待查询语句相对应的词信息组群;
查询模块,用于基于所述词信息组群查询预设模式树,确定所述模式树中与所述词信息组群相匹配的结果信息;
语句结构生成模块,用于根据所述结果信息,获取结果标签信息和结果判别信息,将所述结果标签信息和所述结果判别信息进行组集,生成语句结构信息;
识别模块,用于根据所述语句结构信息得到意图识别信息,根据所述意图识别信息对用户意图进行识别。
9.一种用户意图识别设备,其特征在于,所述用户意图识别设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的用户意图识别程序,其中所述用户意图识别程序被所述处理器执行时,实现如权利要求1至7中任一项所述的用户意图识别方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有用户意图识别程序,其中所述用户意图识别程序被处理器执行时,实现如权利要求1至7中任一项所述的用户意图识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391817.0A CN114817498A (zh) | 2022-04-14 | 2022-04-14 | 用户意图识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210391817.0A CN114817498A (zh) | 2022-04-14 | 2022-04-14 | 用户意图识别方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114817498A true CN114817498A (zh) | 2022-07-29 |
Family
ID=82536022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210391817.0A Pending CN114817498A (zh) | 2022-04-14 | 2022-04-14 | 用户意图识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817498A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117318975A (zh) * | 2023-02-28 | 2023-12-29 | 日照云控大数据科技有限公司 | 适用于企业数据化的智能检索处理方法及系统 |
-
2022
- 2022-04-14 CN CN202210391817.0A patent/CN114817498A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117318975A (zh) * | 2023-02-28 | 2023-12-29 | 日照云控大数据科技有限公司 | 适用于企业数据化的智能检索处理方法及系统 |
CN117318975B (zh) * | 2023-02-28 | 2024-05-31 | 日照云控大数据科技有限公司 | 适用于企业数据化的智能检索处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573996B2 (en) | System and method for hierarchically organizing documents based on document portions | |
CN109388795B (zh) | 一种命名实体识别方法、语言识别方法及系统 | |
CN112035599B (zh) | 基于垂直搜索的查询方法、装置、计算机设备及存储介质 | |
CN111444330A (zh) | 提取短文本关键词的方法、装置、设备及存储介质 | |
CN112115232A (zh) | 一种数据纠错方法、装置及服务器 | |
CN111209753B (zh) | 一种实体命名识别方法及装置 | |
CN113190687B (zh) | 知识图谱的确定方法、装置、计算机设备及存储介质 | |
CN114495143B (zh) | 一种文本对象识别方法、装置、电子设备及存储介质 | |
CN111563382A (zh) | 文本信息的获取方法、装置、存储介质及计算机设备 | |
CN114610845A (zh) | 基于多系统的智能问答方法、装置和设备 | |
CN111400436A (zh) | 一种基于用户意图识别的搜索方法以及装置 | |
CN113822059A (zh) | 中文敏感文本识别方法、装置、存储介质及设备 | |
CN110795942B (zh) | 基于语义识别的关键词确定方法、装置和存储介质 | |
CN113836316B (zh) | 三元组数据的处理方法、训练方法、装置、设备及介质 | |
US20210034621A1 (en) | System and method for creating database query from user search query | |
CN112560425B (zh) | 模板生成方法、装置、电子设备及存储介质 | |
CN114817498A (zh) | 用户意图识别方法、装置、设备及存储介质 | |
EP3432161A1 (en) | Information processing system and information processing method | |
EA037156B1 (ru) | Способ поиска в тексте совпадений с шаблонами | |
CN110362694A (zh) | 基于人工智能的文献数据检索方法、设备及可读存储介质 | |
CN112989011B (zh) | 数据查询方法、数据查询装置和电子设备 | |
CN112732743B (zh) | 一种基于中文自然语言的数据分析方法及装置 | |
CN111753199B (zh) | 用户画像构建方法及设备、电子设备和介质 | |
KR100659370B1 (ko) | 시소러스 매칭에 의한 문서 db 형성 방법 및 정보검색방법 | |
CN111368083A (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 |