本公开涉及知识图谱技术领域,具体涉及一种意图知识图谱生成方法及装置、意图识别方法及装置、服务器和计算机可读介质。
背景技术:
对用户搜索意图的识别,现有技术方案分如下两大类:
第一类:直接从检索词中解析出用户意图,主要包括如下两种方案:
(1)利用规则模板,从在线或历史检索中解析用户意图,例如query=北京的天气,可利用类似[city][weather]的模板来匹配query,从而解析出其中的用户意图。这种方案一方面只适用于特定场景的、描述比较规范的query;另一方面,一旦检索词的表达方式出现变化,就需要重新定义模板来适配。例如:对检索词为“北京的天气”可以解析,而检索词为“天气北京”就需要新定义模板,这样,模板的维护的管理复杂。
(2)利用机器学习模型或深度学习模型从检索词中训练模型识别用户意图。该方案本质上仍然强依赖于检索词的表达,即检索词越完整、越是包含用户意图,模型学习到的结果才能越好。该方案一般用于对话场景,因为对话场景下用户的表达普遍比较完整,而在搜索场景下用户的检索词普遍简单、所以该方案不适用。
第二类:先构建意图词典,然后通过检索词与意图词典的匹配度或相似度来识别意图。这类方案的关键在于词典本身的效果,而意图词典的构建一般有以下几种方案:
(1)根据历史检索词集合,通过模型训练来得到不同类别组成的意图词典;(2)同样根据历史检索词集合,进行聚类得到基于类别的意图词典;(3)根据检索结果页中网页的点击来分类或训练得到意图分类模型。
利用意图词典识别意图,获取到的意图是基于类别的,而不是基于实体粒度的;而且获取到的意图是扁平化的,即没有形成有语义的意图体系,也无法得知获取到的意图究竟是什么意思。
第三类:用知识图谱的方法来整合意图,建立意图知识图谱。
现有的意图知识图谱,同样是基于类别粒度的,比如:李白和杜甫都是人物,目前只针对“人物”这一粒度来整合意图图谱,而不会细化到李白或杜甫这一实体粒度来整理其意图,更不会细化到针对李白的各种检索表达的层面(比如检索词为李太白、诗仙等),但实际上有相当多的用户意图是与实体及不同的检索表达而有所区别的。
技术实现要素:
本公开针对现有技术中存在的上述不足,提供一种意图知识图谱生成方法及装置、意图识别方法及装置、服务器和计算机可读介质。
第一方面,本公开实施例提供一种意图知识图谱生成方法,所述方法包括:
获取用户历史检索信息,并根据所述用户历史检索信息,识别与检索词对应的实体和意图;
建立检索词和实体之间的第一映射关系,以及检索词和意图之间的第二映射关系;
将所述实体与预设的概念体系中底层的概念关联,其中,所述概念体系至少包括两层结构;
获取资源数据的内容信息,并根据所述内容信息和识别出的意图,建立所述资源数据与所述第二映射关系的链接,以生成意图知识图谱。
进一步的,在所述识别与检索词对应的意图之后,所述方法还包括:
若相同的意图对应多种意图表达,则建立同一意图与相应的各意图表达之间的第三映射关系。
优选的,所述根据所述内容信息和识别出的意图,建立所述资源数据与所述第二映射关系的链接,具体包括:
将所述内容信息与识别出的意图相匹配,若匹配,则建立所述资源数据与所述第二映射关系的链接;若不匹配,则根据所述第三映射关系确定相应的意图表达,并将所述内容信息与所述意图表达相匹配,若所述内容信息与至少一个所述意图表达匹配,则建立所述资源数据与所述第二映射关系的链接;
所述在建立所述资源数据与所述第二映射关系的链接之后,所述方法还包括:根据匹配程度为所述资源数据设置第一权重。
进一步的,在所述第一映射关系中,一个实体对应至少一个检索词;所述方法还包括:
若一个实体对应多个检索词,则分别确定该实体的每个检索词对应的意图;
根据所述用户历史检索信息确定所述意图的重要性,并根据所述意图的重要性,为相应的第二映射关系设置第二权重。
进一步的,在生成意图知识图谱之后,所述方法还包括扩展所述意图知识图谱的步骤,所述扩展所述意图知识图谱的步骤包括:
判断属于最底层同一概念下的不同实体对应的检索词之间是否存在非共有的意图;
若存在,则根据所述非共有的意图,在所述意图知识图谱中分别补充所述属于最底层同一概念下的不同实体对应的意图;
建立已补充意图的实体下的检索词与补充的意图之间的第二映射关系;
根据所建立的第二映射关系获取相应的资源数据,并建立获取到的资源数据与所建立的第二映射关系的链接。
另一方面,本公开实施例提供一种意图识别方法,所述方法包括:
所述方法应用于意图知识图谱,所述意图知识图谱包括:检索词和实体之间的第一映射关系、检索词和意图之间的第二映射关系、以及资源数据与第二映射关系的链接,所述方法包括:
判断用户输入的检索词是否为实体类检索词,若是,则根据所述检索词和所述第一映射关系,确定相应的实体;
根据所述第一映射关系,确定所述实体对应的检索词,并从中确定与所述用户输入的检索词最接近的检索词;
确定与所述用户输入的检索词最接近的检索词对应的第二映射关系;
根据确定出的第二映射关系和所述资源数据与第二映射关系的链接,获取并返回相应的资源数据。
进一步的,所述意图知识图谱中还包括资源数据的第一权重;
所述返回相应的资源数据,具体包括:根据所述意图知识图谱中的第一权重,返回相应的资源数据。
优选的,所述第二映射关系具有第二权重;
所述根据确定出的第二映射关系和所述资源数据与第二映射关系的链接,获取并返回相应的资源数据,具体包括:
若确定出的第二映射关系为多个,则获取各个第二映射关系对应的第二权重;
根据所述各个第二映射关系对应的第二权重,获取并返回相应的资源数据。
进一步的,所述意图识别方法还包括:
若无法确定与所述用户输入的检索词最接近的检索词对应的第二映射关系,则确定其他检索词所对应的第二映射关系,所述其他检索词为,确定出的所述实体对应的检索词中除与所述用户输入的检索词最接近的检索词之外的检索词。
又一方面,本公开实施例提供一种意图知识图谱生成装置,所述装置包括:包括:第一获取模块、识别模块、建立模块、关联模块、第二获取模块和链接模块;
所述第一获取模块用于,获取用户历史检索信息;
所述识别模块用于,根据所述用户历史检索信息,识别与检索词对应的实体和意图;
所述建立模块用于,建立检索词和实体之间的第一映射关系,以及检索词和意图之间的第二映射关系;
所述关联模块用于,将所述实体与预设的概念体系中底层的概念关联,其中,所述概念体系至少包括两层结构;
所述第二获取模块用于,获取资源数据的内容信息;
所述链接模块用于,根据所述内容信息和识别出的意图,建立所述资源数据与所述第二映射关系的链接,以生成意图知识图谱。
进一步的,所述建立模块还用于,在所述识别模块识别出与检索词对应的意图之后,当相同的意图对应多种意图表达时,建立同一意图与相应的各意图表达之间的第三映射关系。
优选的,所述链接模块具体用于,将所述内容信息与识别出的意图相匹配,当所述内容信息与识别出的意图匹配时,建立所述资源数据与所述第二映射关系的链接;当所述内容信息与识别出的意图不匹配时,根据所述第三映射关系确定相应的意图表达,并将所述内容信息与所述意图表达相匹配,当所述内容信息与至少一个所述意图表达匹配时,建立所述资源数据与所述第二映射关系的链接;
所述意图知识图谱生成装置还包括第一设置模块,所述第一设置模块用于,当所述内容信息与识别出的意图匹配时,根据匹配程度为所述资源数据设置第一权重。
优选的,在所述第一映射关系中,一个实体对应至少一个检索词;所述意图知识图谱生成装置还包括第二设置模块,所述第二设置模块包括第二确定单元、处理单元和设置单元;
所述第二确定单元用于,当一个实体对应多个检索词时,分别确定该实体的每个检索词对应的意图;
所述处理单元用于,根据所述用户历史检索信息确定所述意图的重要性;
所述设置单元用于,根据所述意图的重要性,为相应的第二映射关系设置第二权重。
进一步的,所述意图知识图谱生成装置还包括扩展模块,所述扩展模块包括第二判断单元、意图补充单元、第二映射关系补充单元、资源获取单元和链接补充单元;
所述第二判断单元用于,判断属于最底层同一概念下的不同实体对应的检索词之间是否存在非共有的意图;
所述意图补充单元用于,当所述第二判断单元判断出属于最底层同一概念下的不同实体对应的检索词之间存在非共有的意图时,根据所述非共有的意图,在所述意图知识图谱中分别补充所述属于最底层同一概念下的不同实体对应的意图;
所述第二映射关系补充单元用于,建立已补充意图的实体下的检索词与补充的意图之间的第二映射关系;
所述资源获取单元用于,根据所建立的第二映射关系获取相应的资源数据;
所述链接补充单元用于,建立获取到的资源数据与所建立的第二映射关系的链接。
再一方面,本公开实施例还提供一种意图识别装置,应用于意图知识图谱,所述意图知识图谱包括:检索词和实体之间的第一映射关系、检索词和意图之间的第二映射关系、资源数据与第二映射关系的链接;所述意图识别装置包括:判断模块、确定模块和资源获取模块;
所述判断模块用于,判断用户输入的检索词是否为实体类检索词;
所述确定模块用于,当所述判断模块判断出用户输入的检索词为实体类检索词时,根据所述检索词和所述第一映射关系,确定相应的实体;根据所述第一映射关系,确定所述实体对应的检索词,并从中确定与所述用户输入的检索词最接近的检索词;确定与所述用户输入的检索词最接近的检索词对应的第二映射关系;
所述资源获取模块用于,根据确定出的第二映射关系和所述资源数据与第二映射关系的链接,获取并返回相应的资源数据。
所述资源获取模块具体用于,根据所述意图知识图谱中的第一权重,返回相应的资源数据。
所述资源获取模块具体用于,当确定出的第二映射关系为多个时,获取各个第二映射关系对应的第二权重;根据所述各个第二映射关系对应的第二权重,获取并返回相应的资源数据。
进一步的,所述确定模块还用于,当无法确定与所述用户输入的检索词最接近的检索词对应的第二映射关系时,确定其他检索词所对应的第二映射关系,所述其他检索词为,确定出的所述实体对应的检索词中除与所述用户输入的检索词最接近的检索词之外的检索词。
本公开又一实施例还提供一种服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前所述的意图知识图谱生成方法或者意图识别方法。
本公开另一实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如前所述的意图知识图谱生成方法或者意图识别方法。
本公开不是直接从检索词中解析用户意图,也不是从意图词典中匹配意图,而是通过用户检索的实体类的检索词,从实体粒度的意图知识图谱中去获取用户对实体的意图。相对现有的意图识别方法,本公开获取到的意图不是基于类别粒度的,而是可以细化到实体粒度,因此意图的表达更加精确。相对现有的聚类等方案,本公开从意图知识图谱中精确链接到实体,从而得到实体的意图集合,与此同时,还能知道该意图和实体的其他意图、实体上位概念、实体下位子意图的语义关系等,因此获取到的意图集合是语义上可解释的,其意图识别和满足的效果也更准确。
附图说明
图1为本公开实施例的意图知识图谱的结构示意图;
图2为本公开实施例的意图知识图谱生成方法流程图之一;
图3为本公开实施例的意图知识图谱生成方法流程图之二;
图4为本公开实施例的建立资源数据与第二映射关系的链接的流程图;
图5为本公开实施例的设置第二权重的流程图;
图6为本公开实施例的意图知识图谱的扩展流程图;
图7为本公开实施例的意图识别方法流程图;
图8为本公开施例的意图知识图谱生成装置的结构示意图之一;
图9为本公开实施例的图知识图谱生成装置的结构示意图之二;
图10为本公开实施例的第二设置模块的结构示意图;
图11为本公开施例的扩展模块的结构示意图;
图12为本公开施例的意图识别装置的结构示意图。
具体实施方式
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
本文所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
本公开涉及的专有名词解释如下:
实体(或称概念),是指现实世界中存在或曾经存在的实际物质体或抽象概念,例如人物、物品、结构、产品、建筑、地点、国家、组织、事件、艺术作品、科学技术、科学定理等。
知识图谱,是表示不同实体间的关系以及实体的属性的数据库。在知识图谱中,以实体为节点;实体与实体之间,以及实体与其对应的属性的值(属性-值,key-value)之间通过边相连,从而构成结构化的、网络状的数据库。其中,实体与实体间的连接(边)表示实体间的关系,如实体张三(人物)为实体李四(人物)的父亲;而实体与其对应的属性值之间的连接(边)表示实体的某个属性为某个值,如实体张三(人物)的身高属性的值为172厘米。
意图知识图谱,是指包含与检索词对应的意图的知识图谱,可以用来识别用户的意图表达。
如图1所示,本公开的意图知识图谱包括5个层次,分别是:概念层、实体层、检索词层、意图层和资源层。
实体层用来表示检索词对应的实体是什么,实体层由多个实体构成,每个实体在意图知识图谱中具有唯一的ID(Identity,标识)。图1所示的实体层包括“英国短毛猫”实体和“暹罗猫”实体。
检索词层用来表示实体层中每个实体可能对应的检索词集合,比如:实体“李白”的检索词可能是“李白”、“李太白”、“诗仙”等。检索词层中包括多个检索词集合,每个检索词集合与实体层中一个实体相对应,即一个检索词集合中的各个检索词对应一个实体,每个检索词在意图知识图谱中具有唯一的ID。在本公开中,将检索词和实体之间的映射关系定义为第一映射关系。
需要说明的是,从通常意义来说,实体和检索词之间可能会是多对多的关系,比如对于实体唐朝诗人李白,用户检索李白时所用的检索词可能是:李白、李太白、诗仙、唐代诗人李白等。而一个检索词也可能对应多个实体,比如检索词=李白,其可能指唐朝诗人李白,也可能指歌手李白。但在实体检索场景下,我们做如下规定:一个检索词只能对应一个实体。当然检索词-实体对应规则可以有多重选择,比如可以按照大多数人的检索习惯和行为设置检索词-实体对应规则,例如,按照大部分用户的检索习惯,用户输入检索词=李白,其目的就是检索唐朝诗人李白的实体。
在本公开中,我们规定了一个检索词只能对应一个实体,而对应规则是按照大多数人的检索习惯和行为来决定的,所以在意图知识图谱中,检索词和实体之间的第一映射关系也是按照大多数人的检索习惯和行为建立起来的。因此拿上面的例子来说,检索词“李白”在意图知识图谱中对应的就是“唐朝诗人李白”这个实体(即第一映射关系),第一映射关系可以通过子图关联技术实现。
第二,对相同实体的意图进行共享。例如,实体=唐朝诗人李白,其对应的检索词可以是:李太白、诗仙。假设在意图知识图谱中,检索词=诗仙,没有对应的意图信息;而检索词=李太白,其对应有意图“李白为什么叫李太白”。那么当用户输入的检索词=诗仙时,就可以根据诗仙和李太白都对应“李白”这个实体,从而将“李白为什么叫李太白”的这个意图返回给用户,从而起到实体粒度下检索词之间意图互相共享的效果。
意图层是用户检索意图的集合,用于表示用户检索词对应的真实意图,每个意图在意图知识图谱中具有唯一的ID。例如,检索词=李白,其对应的实体是“唐朝诗人李白”,其意图可能是“李白的著名诗词”等。在意图知识图谱中,意图是与检索词挂接的,即检索词和意图之间形成第二映射关系。需要说明的是,一个实体的名称也是一个检索词,例如检索词=李白本身就是“唐朝诗人李白”这个实体的一种检索表达。需要说明的是,意图层中的每个意图都可以对应多种意图表达。例如,对于“购买”意图,可以有“多少钱一只”、“价格”等多种意图表达。
在意图知识图谱中,第二映射关系(即edgeID)具有第二权重,第二权重表示相应的用户意图的重要性高低。例如,“英国短毛猫”实体,其下面的“英国短毛猫”检索词与“和蓝猫的区别”意图之间的一个第二映射关系(即edgeID2)的第二权重为0.9;“英国短毛猫”检索词与“购买”意图之间的第二映射关系(即edgeID6)的第二权重为0.8,则在获取满足用户意图的资源时,会优先获取第二权重高的资源,即与“英国短毛猫和蓝猫的区别”对应的资源。
以下结合图2对本公开的一个实施例提供的意图知识图谱生成方法进行详细说明。如图2所示,所述意图知识图谱生成方法包括以下步骤:
步骤11,获取用户历史检索信息。
优选的,用户历史检索信息至少包括以下其中之一:历史检索日志、基于检索词的模糊匹配信息、相同用户会话的前后继信息。获取用户历史检索信息的具体实现方式属于现有技术,在此不再赘述。
需要说明的是,也可以在本步骤中获取概念体系信息,以便后续将实体与概念体系中的概念关联。
步骤12,根据用户历史检索信息,识别与检索词对应的实体和意图。
具体的,针对获取到的用户历史检索信息,通过分词、命名实体识别、专名识别等技术,识别出历史检索词对应的用户检索的目标实体和意图。
步骤13,建立检索词和实体之间的第一映射关系,以及检索词和意图之间的第二映射关系。
结合图1所示,“英国短毛猫”、“异国短毛猫”“英短”这3个检索词均对应“英国短毛猫”的实体,“暹罗猫”的检索词对应“暹罗猫”这个实体。第二映射关系在图1中以箭头表示,可以通过edgeID唯一标识第二映射关系。
步骤14,将实体与概念体系中底层的概念关联。
其中,概念体系至少包括两层结构,实体可以与底层的概念关联。
步骤15,获取资源数据的内容信息。
所述获取资源数据的内容信息,具体包括:
判断资源数据的类型,若资源数据为文档数据,则确定文档数据中包含的实体和/或关键词,优选通过切词、命名实体识别、专名识别技术,或者文档主题模型等技术,从文档数据中识别出实体及其内容关键词。
若资源数据为多媒体数据,则确定多媒体数据的主题内容标签,优选通过内容标注、标签挖掘等技术,获得多媒体数据的主题内容标签。
步骤16,根据内容信息和识别出的意图,建立资源数据与第二映射关系的链接,以生成意图知识图谱。
具体的,建立资源数据与第二映射关系的链接的具体流程后续结合附图4再详细说明。
在本公开中,第二映射关系不是实体与意图之间的映射关系,而是检索词与意图之间的映射关系,其原因在于:对于同一个实体的不同检索词,用户潜在的检索意图也不一样,那么对应的满足其的资源也不一样。例如,实体名是“刘禅”,对应的检索词可能有“刘禅”、“阿斗”,其中“刘禅”对应的检索意图可能是“刘禅乐不思蜀的典故”或者“刘禅为什么投降”。而“阿斗”的检索意图可能是“阿斗为什么扶不起”。
进一步的,为了降低数据运算量,提高处理效率,在本公开另一实施例提供的意图知识图谱生成方法中,在识别与检索词对应的实体和意图(即步骤12)之后、建立检索词和实体之间的第一映射关系,以及检索词和意图之间的第二映射关系(即步骤13)之前,还可以包括数据清洗的步骤,即对识别出的实体和意图至少进行以下一种操作:清洗去噪处理、消岐归一处理、择优处理。
进一步的,在本公开另一实施例提供的意图知识图谱生成方法中,如图3所示,在建立资源数据与第二映射关系的链接(即步骤16)之后,所述方法还包括:
步骤17,根据匹配程度为资源数据设置第一权重。
通过为资源数据设置第一权重,可以在向用户返回满足检索意图的资源时,根据第一权重返回资源,优先将与检索意图匹配程度越高的资源返回给用户,提升用户体验。
需要说明的是,在步骤12之后,若相同的意图对应多种意图表达,则进一步建立同一意图与相应的各意图表达之间的第三映射关系。
以下结合图4,对建立资源数据与第二映射关系的链接的流程进行详细说明。如图4所示,所述根据内容信息和识别出的意图,建立资源数据与第二映射关系的链接,具体包括以下步骤:
步骤41,将资源数据的内容信息与识别出的意图相匹配。
步骤42,判断内容信息与识别出的意图相是否匹配,若匹配,则执行步骤16,否则,执行步骤43。
具体的,若资源数据的内容信息与识别出的意图匹配,则根据内容信息和识别出的意图,建立资源数据与第二映射关系的链接;若资源数据的内容信息与识别出的意图不匹配,则进一步确定识别出的意图对应的其他的意图表达,并将资源数据的内容信息与该意图的其他意图表达相匹配(即执行步骤43)。
步骤43,根据第三映射关系确定相应的意图表达,并将内容信息与所述意图表达相匹配。
步骤44,判断内容信息是否与至少一个意图表达匹配,若是,则执行步骤16;否则,结束流程。
具体的,若资源数据的内容信息与至少一个意图表达匹配,说明该资源数据也是满足识别出的意图的,则根据内容信息和识别出的意图,建立资源数据与第二映射关系的链接(即执行步骤16);若资源数据的内容信息与各意图表达均不匹配,说明没有满足该意图的资源,则结束流程。
通过步骤41-44可以看出,通过建立同一意图与相应的各意图表达之间的第三映射关系,并在资源数据的内容信息无法满足意图时,进一步将资源数据的内容信息与意图表达相匹配,这样,在寻找满足意图的资源时,可以利用多种不同的意图表达,扩大潜在满足需求的资源范围。
进一步的,在本公开另一实施例提供的意图知识图谱生成方法中,如图5所示,所述方法还包括以下步骤:
步骤51,若一个实体对应多个检索词,则分别确定该实体的每个检索词对应的意图。
步骤52,根据用户历史检索信息确定各意图的重要性,并根据各意图的重要性,为相应的第二映射关系设置第二权重。
通过步骤51-52可以看出,本公开通过为第二映射关系设置第二权重,在获取满足用户意图的资源时,会优先获取并返回第二权重高的资源,这样,在对返回给用户的资源数量有限制的情况下,优先返回重要性高的资源信息,更加符合大部分用户的检索习惯,提升用户体验。
进一步的,在本公开另一实施例提供的意图知识图谱生成方法中,如图6所示,在生成意图知识图谱之后,所述方法还包括扩展意图知识图谱的步骤,所述扩展意图知识图谱的步骤包括:
步骤61,判断属于最底层同一概念下的不同实体对应的检索词之间是否存在非共有的意图,若存在,则执行步骤62;否则,结束流程。
具体的,若最底层同一概念下的不同实体对应的检索词之间存在非共有意图,则在意图知识图谱中为该不同实体补充意图(即执行步骤62);若最底层同一概念下的不同实体对应的检索词之间不存在非共有意图,即不同的实体对应的意图均相同,则无需扩展意图知识图谱,结束本流程。
步骤62,根据非共有的意图,在意图知识图谱中分别补充属于最底层同一概念下的不同实体对应的意图。
具体的,将非共有的意图补充在相应的实体下。
步骤63,建立已补充意图的实体下的检索词与补充的意图之间的第二映射关系。
具体的,本步骤的具体实现方式与步骤13的具体实现方式相同,在此不再赘述。
步骤64,根据所建立的第二映射关系获取相应的资源数据,并建立获取到的资源数据与所建立的第二映射关系的链接。
具体的,本步骤的具体实现方式与步骤16的具体实现方式相同,在此不再赘述。
通过步骤61-64可以看出,通过判断相同概念下不同实体间是否具有共有意图,将非共有的意图补充在其他实体下,并以此为依据获取相应的资源数据,可以在一定程度上共享同一概念下不同实体的检索词对应的意图,从而扩展意图知识图谱。相比现有的意图词典的方案,本公开可以对现有意图知识图谱进行意图扩展,因此是针对开放域的意图识别和满足,意图识别和满足的范围更大。通过对意图知识图谱中实体意图进行扩展,可以扩展资源与意图挂接的范围,进一步完善意图知识图谱,以便在基于意图知识图谱识别用户检索意图时,意图识别更为精准。
为了清楚说明上述技术方案,以下结合图1的意图知识图谱的结构,通过一具体实例详细说明。例如,实体“英国短毛猫”和“暹罗猫”都属于“宠物猫”这个概念,“英国短毛猫”实体对应3个检索词:“英国短毛猫”、“异国短毛猫”、“英短”,“英国短毛猫”检索词对应的意图有“购买”和“与蓝猫的区别”,“异国短毛猫”和“英短”检索词对应的意图有“流泪的原因”;暹罗猫”实体对应1个检索词“暹罗猫”,其意图为“耳螨病”。“英国短毛猫”实体和“暹罗猫”实体对应的检索词之间存在非共有的意图,对于“英国短毛猫”实体而言,需要补充“耳螨病”的意图,因此,可以分别建立“英国短毛猫”实体的3个检索词“英国短毛猫”、“异国短毛猫”、“英短”与“耳螨病”意图之间的第二映射关系,并由此分别获取“英国短毛猫耳螨病”、“异国短毛猫耳螨病”、“英短耳螨病”的资源数据,并分别建立相应资源数据与相应第二映射关系的链接,从而实现意图知识图谱的扩展。对于“暹罗猫”实体而言,同样可以扩展“流泪的原因”、“购买”和“与蓝猫的区别”的意图及其资源,在此不再详述。
本公开实施例还提供一种意图识别方法,如图7所示,所述意图识别方法包括以下步骤:
步骤71,获取用户输入的检索词。
步骤72,判断用户输入的检索词是否为实体类检索词,若是,则执行步骤73;否则,结束流程。
具体的,可以利用现有的实体判别模型判断检索词是否为实体类检索词,其具体实现方式在此不再赘述。
步骤73,根据检索词和第一映射关系,确定相应的实体。
在本步骤中,确定出的实体是符合大部分用户检索习惯的,即为大部分用户输入的检索词所指向的实体。
步骤74,根据第一映射关系,确定实体对应的检索词,并从中确定与用户输入的检索词最接近的检索词。
步骤75,确定与用户输入的检索词最接近的检索词对应的第二映射关系。
步骤76,根据确定出的第二映射关系和资源数据与第二映射关系的链接,获取并返回相应的资源数据。
优选的,可以根据意图知识图谱中的第一权重,返回相应的资源数据,从而优先返回与用户意图匹配度高的资源。
若确定出的第二映射关系为多个,则获取各个第二映射关系对应的第二权重,并根据各个第二映射关系对应的第二权重,获取并返回相应的资源数据,这样,可以优先返回重要性高的资源。
需要说明的是,也可以根据资源的类型,按照置信度由高到低返回资源数据。
实体卡片类产品由于产品空间限制,只能展示有限的内容,因此,需要对返回的资源进行过滤和筛选,最终按照资源优先级来进行展示。优选的,可以根据以下公式确定返回的资源的优先级:
其中,Ipriority表示资源的优先级;λ1和λ2为系数;N表示某种意图下所有资源的数量。
为了清楚说明上述技术方案,以下结合图1的意图知识图谱的结构,通过一具体实例详细说明。例如,获取用户输入的检索词(如检索词=英短),根据现有的实体-检索词判别模型,判断用户输入的检索词是否实体类检索词,如确认“英短”是实体类检索词,则通过实体链接(entity-linking)技术(如字图案关联),从意图知识图谱中找到该检索词对应的实体(此处即找到实体层中的“英国短毛猫”这个实体)。根据“英国短毛猫”实体,寻找其下面的检索词,并根据字符串相似度,优先选择与所输入的“英短”检索词一致的检索词。确定“英短”检索词对应的第二映射关系为edgeId:4,获取edgeID=4对应的资源。根据edgeID=4,从资源层获取对应的资源链接,如英国短毛猫为什么流泪resId:3这个链接。如果此处有多个资源链接,则会按照多个资源的第一权重高低来排序。如果检索词下有多个意图,则进一步尝试根据第二映射关系(即edgeID)的第二权重高低来顺次获取相应的资源。
需要说明的是,在步骤75中,若无法确定与所述用户输入的检索词最接近的检索词对应的第二映射关系,则所述意图识别方法还可以包括以下步骤:确定其他检索词所对应的第二映射关系,其他检索词是指,确定出的实体对应的检索词中除与用户输入的检索词最接近的检索词之外的检索词。通过该步骤,可以实现对相同实体的意图进行共享。
为了清楚说明上述技术方案,以下通过一具体实例详细说明。例如,实体=唐朝诗人李白,其对应的检索词可以是:李太白、诗仙。假设在意图知识图谱中,检索词=诗仙,没有对应的意图信息;而检索词=李太白,其对应有意图“李白为什么叫李太白”。那么当用户输入的检索词=诗仙时,就可以根据诗仙和李太白都对应“李白”这个实体,从而将“李白为什么叫李太白”的这个意图返回给用户,从而起到了实体粒度下检索词之间意图互相共享的效果。
本公开通过引入预置的意图知识图谱,对用户输入的检索词进行实体级别的意图解析,并根据预先挂接到意图知识图谱的各种资源对用户意图进行满足,最终在产品上展现。
意图的识别及满足,是利用意图知识图谱解析出用户检索词所对应的实体及用户的检索意图,并从意图知识图谱中找到提取出的资源链接,将相应的资源展现在实体卡片等产品上。
基于相同的技术构思,本公开实施例还提供一种意图知识图谱生成装置,如图8所示,该意图知识图谱生成装置包括:第一获取模块81、识别模块82、建立模块83、关联模块84、第二获取模块85和链接模块86。
第一获取模块81用于,获取用户历史检索信息。
识别模块82用于,根据用户历史检索信息,识别与检索词对应的实体和意图。
建立模块83用于,建立检索词和实体之间的第一映射关系,以及检索词和意图之间的第二映射关系。
关联模块84用于,将所述实体与预设的概念体系中底层的概念关联,其中,所述概念体系至少包括两层结构。
第二获取模块84用于,获取资源数据的内容信息。
链接模块85用于,根据所述内容信息和识别出的意图,建立所述资源数据与所述第二映射关系的链接,以生成意图知识图谱。
进一步的,建立模块83还用于,在所述识别模块识别出与检索词对应的意图之后,当相同的意图对应多种意图表达时,建立同一意图与相应的各意图表达之间的第三映射关系。
优选的,链接模块85具体用于,将所述内容信息与识别出的意图相匹配,当所述内容信息与识别出的意图匹配时,建立所述资源数据与所述第二映射关系的链接;当所述内容信息与识别出的意图不匹配时,根据所述第三映射关系确定相应的意图表达,并将所述内容信息与所述意图表达相匹配,当所述内容信息与至少一个所述意图表达匹配时,建立所述资源数据与所述第二映射关系的链接。
进一步的,如图9所示,本公开另一实施例提供的意图知识图谱生成装置还包括第一设置模块86,第一设置模块86用于,当所述内容信息与识别出的意图匹配时,根据匹配程度为所述资源数据设置第一权重。
优选的,在所述第一映射关系中,一个实体对应至少一个检索词;
进一步的,本公开另一实施例提供的意图知识图谱生成装置还包括第二设置模块,如图10所示,第二设置模块包括第二确定单元871、处理单元872和设置单元873。
第二确定单元871用于,当一个实体对应多个检索词时,分别确定该实体的每个检索词对应的意图。
处理单元872用于,根据所述用户历史检索信息确定所述意图的重要性。
设置单元873用于,根据所述意图的重要性,为相应的第二映射关系设置第二权重。
进一步的,本公开另一实施例提供的意图知识图谱生成装置还包括扩展模块,如图11所示,所述扩展模块包括第二判断单元881、意图补充单元882、第二映射关系补充单元883、资源获取单元884和链接补充单元885。
第二判断单元881用于,判断属于最底层同一概念下的不同实体对应的检索词之间是否存在非共有的意图。
意图补充单元882用于,当第二判断单元881判断出属于最底层同一概念下的不同实体对应的检索词之间存在非共有的意图时,根据所述非共有的意图,在所述意图知识图谱中分别补充所述属于最底层同一概念下的不同实体对应的意图。
第二映射关系补充单元883用于,建立已补充意图的实体下的检索词与补充的意图之间的第二映射关系。
资源获取单元884用于,根据所建立的第二映射关系获取相应的资源数据。
链接补充单元885用于,建立获取到的资源数据与所建立的第二映射关系的链接。
基于相同的技术构思,本公开实施例还提供一种意图识别装置,应用于意图知识图谱,所述意图知识图谱包括:检索词和实体之间的第一映射关系、检索词和意图之间的第二映射关系、资源数据与第二映射关系的链接。
如图12所示,该意图识别装置包括:判断模块121、确定模块122和资源获取模块123。
判断模块121用于,判断用户输入的检索词是否为实体类检索词。
确定模块122用于,当判断模块121判断出用户输入的检索词为实体类检索词时,根据所述检索词和所述第一映射关系,确定相应的实体;根据所述第一映射关系,确定所述实体对应的检索词,并从中确定与所述用户输入的检索词最接近的检索词;确定与所述用户输入的检索词最接近的检索词对应的第二映射关系。
资源获取模块123用于,根据确定出的第二映射关系和所述资源数据与第二映射关系的链接,获取并返回相应的资源数据。
优选的,所述意图知识图谱中还包括资源数据的第一权重;
资源获取模块123具体用于,根据所述意图知识图谱中的第一权重,返回相应的资源数据。
资源获取模块123具体用于,当确定出的第二映射关系为多个时,获取各个第二映射关系对应的第二权重;根据所述各个第二映射关系对应的第二权重,获取并返回相应的资源数据。
进一步的,确定模块122还用于,当无法确定与所述用户输入的检索词最接近的检索词对应的第二映射关系时,确定其他检索词所对应的第二映射关系,所述其他检索词为,确定出的所述实体对应的检索词中除与所述用户输入的检索词最接近的检索词之外的检索词。
本公开实施例还提供了一种服务器,该服务器包括:一个或多个处理器以及存储装置;其中,存储装置上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如前述各实施例所提供的意图知识图谱生成方法或意图识别方法。
本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,其中,该计算机程序被执行时实现如前述各实施例所提供的意图知识图谱生成方法或意图识别方法。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本发明的范围的情况下,可进行各种形式和细节上的改变。