掌桥专利:专业的专利平台
掌桥专利
首页

基于知识图谱的标签定义和计算的方法及系统

文献发布时间:2023-06-19 09:54:18


基于知识图谱的标签定义和计算的方法及系统

技术领域

本发明涉及标签系统领域,具体地,涉及基于知识图谱的标签定义和计算的方法及系统。

背景技术

在营销场景和推荐系统中,标签是一种很常用的方法。推荐的目的是联系用户的兴趣和物品,标签就是在这类联系方式中充当媒介。标签是通过一些特征联系用户和物品,给用户推荐那些具有用户喜欢的特征的物品,这里的特征有不同的表现形式,比如可以表现为物品的属性集合,也可以表现为隐语义向量。

标签来源于表示用户行为的原始事件,譬如,用户买了一杯饮料,用户购买了一个理财产品,或者用户看了场电影,等等。

原始的事件中包含信息是通常是比较少的,譬如上述例子中并不能区分饮料的成分和口味偏好,并不能知道理财产品的背景和风险偏好,电影甚至不知道是国产的还是进口的,不知道是哪种体裁,等等。传统的方法只根据这些原始信息来定义标签,表达能力很有限。

专利文献CN110245259A(申请号:201910423105.0)公开了一种基于知识图谱的视频打标签方法及装置、计算机可读介质。其方法包括:基于知识图谱的实体链指技术,根据已知的知识图谱,从目标视频中提取多个备选实体;基于预建立的视频结构化体系、所述知识图谱以及所述多个备选实体,获取所述目标视频对应的目标主实体和/或目标子实体;所述视频结构化体系中限定有主实体和相关子实体的垂类关系;基于所述主实体和/或所述目标子实体,为所述目标视频打标签。本发明的技术方案,可以扩充从视频本身中提取不到的标签,丰富视频的标签,使得视频包含更加全面的标签,从而能够有效地增加视频的召回率,提高基于标签进行视频推荐以及视频搜索的效率。该专利在完成实体链值后,使用固定的规则来打标签。本发明使用Cypher语言灵活的定义标签。

专利文献CN109710776A(申请号:201811637485.X)公开了一种相册的知识图谱的构建方法,包括:步骤1,获取相册内各图片标签:自动为相册中各图片产生关键词标签;步骤2,构建每张图片的知识图谱:将所构建图片的图片节点和关键词标签节点加入图谱中,并在关键词标签节点中两两添加一条边表示它们的关联关系;然后向语义知识网络查询,获取从关键词标签到根结点关键词的所有上下位关系路径,将所有关系路径合并公共节点和公共边后加入图谱;步骤3,合并所有图片的知识图谱:对步骤2创建的每张图片的知识图谱合并在一起,合并所有公共节点和公共边,更新公共节点和公共边属性值,得到整个相册的知识图谱。能将相册中所有图片标签的语义关系用知识图谱表达,能提升对图片操作的快捷性。

针对上述现有技术中的缺陷,本发明要解决的技术问题体现在以下几点:

1)原始数据中信息不够多,限制了标签定义的能力

2)标签定义的方法不统一,表达能力弱。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种基于知识图谱的标签定义和计算的方法及系统。

根据本发明提供的一种基于知识图谱的标签定义和计算的方法,包括:

步骤M1:根据预设标签定义中的参数,确定需要链接到的知识图谱中的实体类型,利用匹配算法执行输入数据和确定的需要链接到的知识图谱中的实体类型进行领域知识图谱的匹配,输出匹配关系集合;

步骤M2:利用输入数据、领域知识图谱以及匹配关系集合构成匹配结果图;

步骤M3:在匹配结果图上执行预设标签定义中的Cypher语句,判断执行结果,当执行结果为真时,则给输入数据打上相应标签;当执行结果为假时,则不给输入数据打上相应标签。

优选地,所述步骤M1中预设标签定义中的参数包括:标签标识符、实体链接参数和Cypher语句;

所述实体链接参数包括需要链接到知识图谱中实体类型。

优选地,所述步骤M1中匹配算法包括基于文本相似度、正则表达式或基于深度学习的实体链接模型;

所述输入数据包括时间戳、事件的标识符、用户的标识符和一个或多个文本类型字段;

所述输出匹配关系集合包括输入数据、目标节点和匹配关系属性三元组;

所述目标节点是来自领域知识图谱中的节点;

所述匹配关系属性包括匹配算法和置信度。

优选地,所述实体链接参数还包括根据输入数据预设相应的匹配算法。

优选地,所述步骤M2包括:

步骤M2.1:初始化匹配结果图为空图,节点集合和边集合都为空;

步骤M2.2:将输入数据作为节点加入匹配结果图中;

步骤M2.3:对于匹配关系集合中的输入数据、目标节点和匹配关系属性三元组,将目标节点加入匹配结果图中,添加一个从输入数据指向目标节点,属性为匹配关系属性的边到匹配结果图中;

步骤M2.3:将领域知识图谱中符合从当前节点开始至少存在一个C跳内达到匹配关系集合中任意目标节点的路径,则将当前节点加入到匹配结果图中;其中,C表示可配置的参数,C的取值范围为大于等于0的整数;

步骤M2.4:对于在匹配结果图中的任意两个节点同时存在领域知识图谱中,则将两个节点之间在领域知识图谱中的所有边加入到匹配结果图中。

根据本发明提供的一种基于知识图谱的标签定义和计算的系统,包括:

模块M1:根据预设标签定义中的参数,确定需要链接到的知识图谱中的实体类型,利用匹配算法执行输入数据和确定的需要链接到的知识图谱中的实体类型进行领域知识图谱的匹配,输出匹配关系集合;

模块M2:利用输入数据、领域知识图谱以及匹配关系集合构成匹配结果图;

模块M3:在匹配结果图上执行预设标签定义中的Cypher语句,判断执行结果,当执行结果为真时,则给输入数据打上相应标签;当执行结果为假时,则不给输入数据打上相应标签。

优选地,所述模块M1中预设标签定义中的参数包括:标签标识符、实体链接参数和Cypher语句;

所述实体链接参数包括需要链接到知识图谱中实体类型。

优选地,所述模块M1中匹配算法包括基于文本相似度、正则表达式或基于深度学习的实体链接模型;

所述输入数据包括时间戳、事件的标识符、用户的标识符和一个或多个文本类型字段;

所述输出匹配关系集合包括输入数据、目标节点和匹配关系属性三元组;

所述目标节点是来自领域知识图谱中的节点;

所述匹配关系属性包括匹配算法和置信度。

优选地,所述实体链接参数还包括根据输入数据预设相应的匹配算法。

优选地,所述模块M2包括:

模块M2.1:初始化匹配结果图为空图,节点集合和边集合都为空;

模块M2.2:将输入数据作为节点加入匹配结果图中;

模块M2.3:对于匹配关系集合中的输入数据、目标节点和匹配关系属性三元组,将目标节点加入匹配结果图中,添加一个从输入数据指向目标节点,属性为匹配关系属性的边到匹配结果图中;

模块M2.3:将领域知识图谱中符合从当前节点开始至少存在一个C跳内达到匹配关系集合中任意目标节点的路径,则将当前节点加入到匹配结果图中;其中,C表示可配置的参数,C的取值范围为大于等于0的整数;

模块M2.4:对于在匹配结果图中的任意两个节点同时存在领域知识图谱中,则将两个节点之间在领域知识图谱中的所有边加入到匹配结果图中。

与现有技术相比,本发明具有如下的有益效果:

1)灵活。分离实体链接和标签计算步骤;在开发好实体链接算法后,可以由业务人员灵活的自定义标签。

2)表达能力强。使用图数据库查询语言Cypher作为标签定义的表达式语言,能够表达复杂的标签业务逻辑;

3)可解释性强。基于知识图谱的过程,可以容易解释定义的标签的具体含义,而不是类似深度神经网络的一对不可理解参数。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为基于知识图谱的标签定义和计算的方法流程图;

图2为实施例2的系统示意图;

图3为实施例3的系统示意图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

根据本发明提供的一种基于知识图谱的标签定义和计算的方法,如图1所示,包括:

步骤M1:根据预设标签定义中的参数,确定需要链接到的知识图谱中的实体类型,利用匹配算法执行输入数据(INP)和确定的需要链接到的知识图谱中的实体类型进行领域知识图谱(KG)的匹配,输出匹配关系集合;

步骤M2:利用输入数据、领域知识图谱以及匹配关系集合构成匹配结果图M;

步骤M3:在匹配结果图上执行预设标签定义中的Cypher语句,判断执行结果,当执行结果为真时,则给输入数据打上相应标签;当执行结果为假时,则不给输入数据打上相应标签。

具体地,所述步骤M1中预设标签定义中的参数包括:

标签标识符;

实体链接参数,可选,定义需要连接到知识图谱中哪些实体类型和使用的匹配算法,如果补丁已,就使用全部支持的算法;

标签表达式:Cypher语句,具体的标签定义;

所述实体链接参数包括需要链接到知识图谱中实体类型。

具体地,所述步骤M1中匹配算法包括基于文本相似度、正则表达式或基于深度学习的实体链接模型;可选,具体使用的算法可以在标签定义中指定。

所述输入数据,使用代号INP表示,通常包括时间戳、事件的标识符、用户的标识符、一个或多个文本类型字段以及若干其他字段;

所述输出匹配关系集合,使用代号MatchSet表示,集合中的每个元素为输入数据,目标节点,匹配关系属性三元组。目标节点是来自领域知识图谱(KG)中的节点。匹配关系属性中包含了这个匹配关系的属性,比如匹配的算法是什么,置信度为多少。

具体地,所述实体链接参数还包括根据输入数据预设相应的匹配算法。

具体地,所述步骤M2包括:

步骤M2.1:初始化匹配结果图为空图,节点集合和边集合都为空;

步骤M2.2:将输入数据作为节点加入匹配结果图中;

步骤M2.3:对于匹配关系集合中每一个元素,也就是输入数据、目标节点和匹配关系属性三元组,将目标节点加入匹配结果图中,添加一个从输入数据指向目标节点,属性为匹配关系属性的边到匹配结果图中;

步骤M2.3:将领域知识图谱(KG)中符合下面的条件的节点加入到匹配结果图(M)中:从此节点开始至少存在一个C跳内达到匹配关系集合(MatchSet)中任意目标节点的路径。其中C是可配置的参数。C的取值范围为大于等于0的整数。

步骤M2.4:对于在匹配结果图(M)中的任意两个节点,如果领域知识图谱(KG)中也包含这两个节点,将它们之间在领域知识图谱(KG)中的所有边加入到匹配结果图(M)中。

步骤M3,具体来说包含以下部分:

步骤M3.1,输入数据;输入数据为步骤2的输出数据,匹配结果图(M)

步骤M3.2,执行和返回。在上述的匹配结果图(M)上执行标签定义中的Cypher语句,判断返回结果,如果返回结果为真,就给原始输入数据(INP)打上对应的标签。

根据本发明提供的一种基于知识图谱的标签定义和计算的系统,包括:

模块M1:根据预设标签定义中的参数,确定需要链接到的知识图谱中的实体类型,利用匹配算法执行输入数据(INP)和确定的需要链接到的知识图谱中的实体类型进行领域知识图谱(KG)的匹配,输出匹配关系集合;

模块M2:利用输入数据、领域知识图谱以及匹配关系集合构成匹配结果图M;

模块M3:在匹配结果图上执行预设标签定义中的Cypher语句,判断执行结果,当执行结果为真时,则给输入数据打上相应标签;当执行结果为假时,则不给输入数据打上相应标签。

具体地,所述模块M1中预设标签定义中的参数包括:

标签标识符;

实体链接参数,可选,定义需要连接到知识图谱中哪些实体类型和使用的匹配算法,如果补丁已,就使用全部支持的算法;

标签表达式:Cypher语句,具体的标签定义;

所述实体链接参数包括需要链接到知识图谱中实体类型。

具体地,所述模块M1中匹配算法包括基于文本相似度、正则表达式或基于深度学习的实体链接模型;可选,具体使用的算法可以在标签定义中指定。

所述输入数据,使用代号INP表示,通常包括时间戳、事件的标识符、用户的标识符、一个或多个文本类型字段以及若干其他字段;

所述输出匹配关系集合,使用代号MatchSet表示,集合中的每个元素为输入数据,目标节点,匹配关系属性三元组。目标节点是来自领域知识图谱(KG)中的节点。匹配关系属性中包含了这个匹配关系的属性,比如匹配的算法是什么,置信度为多少。

具体地,所述实体链接参数还包括根据输入数据预设相应的匹配算法。

具体地,所述模块M2包括:

模块M2.1:初始化匹配结果图为空图,节点集合和边集合都为空;

模块M2.2:将输入数据作为节点加入匹配结果图中;

模块M2.3:对于匹配关系集合中每一个元素,也就是输入数据、目标节点和匹配关系属性三元组,将目标节点加入匹配结果图中,添加一个从输入数据指向目标节点,属性为匹配关系属性的边到匹配结果图中;

模块M2.3:将领域知识图谱(KG)中符合下面的条件的节点加入到匹配结果图(M)中:从此节点开始至少存在一个C跳内达到匹配关系集合(MatchSet)中任意目标节点的路径。其中C是可配置的参数。C的取值范围为大于等于0的整数。

模块M2.4:对于在匹配结果图(M)中的任意两个节点,如果领域知识图谱(KG)中也包含这两个节点,将它们之间在领域知识图谱(KG)中的所有边加入到匹配结果图(M)中。

模块M3,具体来说包含以下部分:

模块M3.1,输入数据;输入数据为模块2的输出数据,匹配结果图(M)

模块M3.2,执行和返回。在上述的匹配结果图(M)上执行标签定义中的Cypher语句,判断返回结果,如果返回结果为真,就给原始输入数据(INP)打上对应的标签。

实施例2是实施例1的变化例

如图2所示,在网联交易数据打标签的场景中,输入数据为网联交易,包括交易时间,用户标示符,商品,商户,金额,数量。领域知识库为某城市的餐饮商户,餐饮品牌,地理位置等等。具体举例来说,某一条输入数据(INPUT_1)为:时间=2020-10-0110:00:00用户=user1;商品=大杯拿铁;商户=星巴克(浦东机场店),匹配结果图M如下,参数C=1,灰色背景部分表示这部分数据是领域知识图谱中的。

标签定义如下:标识符:tag1,标签表达式为:

Match(m:input-data)-->(:merchant)-->(b:brand)

WHERE b.category=“咖啡”

RETURN count(b)>0

这个标签的含义是交易是否和咖啡相关。

最终打上标签的输出结果为(INPUT_1,tag1=true)

实施例3是实施例1的变化例

如图3所示,在客户支持问题打标签场景中,输入数据为用户的提问的问题,包括:时间戳,用户标示符,问题内容。领域知识库内容为某公司的产品信息,型号,功能,价格等等。具体举例来说,某一条输入数据INPUT_2为:

时间=2020-10-0112:00:00用户=user2问题=请问贵公司是否有空气净化器或者加湿器出售?

匹配结果图如下,参数C=0,灰色背景部分表示这部分数据是领域知识图谱中的。

标签定义如下:标识符:tag2,标签表达式为:

Match(m:input-data)-->(p:product-category)

RETURN count(p)>1

这个标签的含义是问题是否提及多个产品类型。

最终打上标签的输出结果为(INPUT_2,tag2=true)

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

相关技术
  • 基于知识图谱的标签定义和计算的方法及系统
  • 基于标签知识图谱的关联推荐方法、装置及计算机设备
技术分类

06120112345070