常识性概念图谱建设与应用

news2024/12/26 5:57:43

目录

一、知识图谱背景介绍

(一)基本背景

(二)与NLP的关系

(三)常识性概念图谱的引入对比

二、常识性概念图谱介绍

(一)常识性概念图谱关系图示例

(二)图谱三类节点

(三)图谱四类关系

Is-a 关系|Part-of 关系|Instance-of 关系|Property-value 关系

同义/上下位关系

三、常识性概念图谱构建

(一)图谱构建整体框架

(二)概念挖掘

原子概念挖掘

复合概念挖掘

(三)概念上下位关系挖掘

概念-Taxonomy间上下位关系

概念-概念间上下位关系

(四)概念属性关系挖掘

基于复合概念挖掘公共属性关系

基于开放属性词挖掘特定属性关系

(五)概念承接关系挖掘

基于共现特征挖掘种子数据

基于种子数据训练深度模型

基于已有的图谱结构进行关系补全

(六)POI/SPU-概念关系建设

四、应用分析

(一)在美团内部的具体应用举例

到综品类词图谱建设

点评搜索引导

到综医美内容打标

(二)业内领域的应用举例

金融领域

医疗领域

零售领域

智能交通领域

阿里巴巴、腾讯

字节跳动

五、简单模拟示例

(一)Neo4j知识图谱数据库查询展示

(二)学习建议建议和思路

参考文献、书籍及链接


一、知识图谱背景介绍

(一)基本背景

知识图谱是一种用于表示和管理知识的技术,它将知识组织成图形结构,每个节点代表一个实体,每条边代表实体之间的关系。知识图谱的概念最早由Google在2012年提出,随后得到了学术界和工业界的广泛关注和研究。

知识图谱的背景可以追溯到人工智能的发展历程。早期的人工智能主要基于规则推理系统,人们通过编写大量的规则来让计算机模拟人类的智能。但是,这种方法存在规则复杂、难以维护、泛化能力不足等问题,无法应对复杂的现实场景。

随着互联网技术和数据挖掘技术的不断发展,人们开始关注从大规模的数据中自动发现知识的方法。知识图谱作为一种自动化知识发现和管理的技术,受到了广泛关注。

在知识图谱的发展过程中,谷歌公司的“知识图谱”项目起到了重要的推动作用。该项目的目标是构建一个包含各种实体和关系的大规模知识库,可以帮助人们更好地理解世界和实现更智能的搜索。

除了谷歌,许多知名企业和组织也在积极推进知识图谱的应用和研究,如微软、IBM、阿里巴巴、腾讯、百度等。知识图谱已经被广泛应用于各个领域,包括搜索引擎、智能问答、语义分析、智能推荐、自然语言处理等。

(二)与NLP的关系

知识图谱和自然语言处理(NLP)之间存在密切的关系。自然语言处理是指利用计算机技术处理和理解人类自然语言的能力,包括自然语言的分析、生成、理解和应用等方面。而知识图谱则是为了更好地实现自然语言处理任务而构建的知识库。

具体来说,自然语言处理的任务之一就是语义理解,即让计算机能够理解人类的语言,并从中提取出有意义的信息。知识图谱可以提供给自然语言处理算法必要的背景知识和上下文信息,以便更好地理解和解释自然语言文本中的实体、关系和事件等内容

例如,自然语言问答系统通常需要从输入的自然语言问句中提取出问题所涉及的实体和关系,才能正确地回答问题。知识图谱可以提供必要的实体和关系信息,帮助问答系统进行更准确和全面的理解。又比如,在智能推荐系统中,知识图谱可以提供用户和商品之间的关系和属性信息,帮助推荐系统更准确地预测用户的偏好和行为。

(三)常识性概念图谱的引入对比

知识图谱、常识性概念图谱和概念图谱都是用于表示和存储知识的技术,它们之间存在某些相似和重叠之处,但又各有侧重和差异。

知识图谱是一个大规模、多模态的知识库,以图形结构的形式存储实体、属性和关系等知识,并通过语义关联对这些知识进行组织和链接。知识图谱主要用于知识的存储、推理、查询和应用等方面,在人工智能、自然语言处理、推荐系统等领域具有广泛的应用。

概念图谱则是一种更为通用的知识表示方法,它可以表示任意领域的概念、实体和关系等,与知识图谱和常识性概念图谱相比更为灵活和自由。概念图谱主要用于知识表示和推理的研究,也可以作为知识图谱和常识性概念图谱的底层技术之一。

常识性概念图谱则是一种特定领域的知识图谱,它主要用于表示人类的日常生活中所涉及的一些基础概念、实体和关系等,如人物、地点、时间、物品、事件等。常识性概念图谱旨在帮助计算机更好地理解和模拟人类的日常生活,为自然语言处理、智能对话、情感分析等应用提供基础支持。

因此,知识图谱、常识性概念图谱和概念图谱之间的关系可以被理解为层次关系。概念图谱是最底层的知识表示方法,知识图谱是在概念图谱的基础上构建的更大规模、更具实际应用价值的知识库,而常识性概念图谱则是知识图谱的一个特定领域的应用,用于表示人类日常生活中的常识知识。

二、常识性概念图谱介绍

常识性概念图谱是一种基于人类常识的知识图谱,它通过构建和维护实体、概念、属性、关系、事件等多维度的知识元素,并将它们以图谱的形式组织起来,以便于计算机理解和推理

与传统的知识图谱相比,常识性概念图谱更加注重人类常识的表达和应用,包含了更加丰富和细致的知识元素。例如,在一个旅游领域的常识性概念图谱中,除了景点、酒店等实体,还包括了人们出游的目的、方式、注意事项等常识性概念,以及它们之间的属性和关系。

常识性概念图谱的构建需要借助大量的语料库和常识库,同时还需要进行自动化的知识抽取、实体链接、关系抽取等技术,以便快速构建和更新图谱。常识性概念图谱的应用也非常广泛,例如在智能客服、智能搜索、智能推荐、智能问答等领域中,可以大大提高计算机理解和处理自然语言的能力,从而更好地为人类服务。看了很多文章,最后我们还是以MATLAB算法实战应用-【应用案例篇】常识性概念图谱建设以及在美团场景中的应用_matlab实战案例_林聪木的博客-CSDN博客为主要分析来看

(一)常识性概念图谱关系图示例

前面提到“通过构建和维护实体、概念、属性、关系、事件等多维度的知识元素,并将它们以图谱的形式组织起来,以便于计算机理解和推理”总结起来可以用下图美团的知识图谱进行展开分析,

涵盖“是什么”的概念Taxonomy体系结构,“什么样”的概念属性关系,“给什么”的概念承接关系。同时POI(Point of Interesting)、SPU(Standard Product Unit)、团单作为美团场景中的实例,需要和图谱中的概念建立连接。

(二)图谱三类节点

知识图谱中三类节点指的是实体节点、属性节点和关系节点,基于概念分类的节点分类方法通常用于本体论(Ontology)或知识图谱的语义表示,以帮助机器理解和推理。其中,常见的有以下三类节点:

  1. Taxonomy节点(分类树节点):代表分类树上的节点,每个节点代表一个类别。它是一种层次结构,上层节点代表较为抽象的类别,下层节点代表具体的实体。
  2. 原子概念节点:代表最基本的概念单元,不能被拆分为更小的概念。原子概念通常表示一种事物的本质属性,是其他概念的基础。例如,在一个动物分类的知识图谱中,狗、猫、鸟等就是原子概念节点。
  3. 复合概念节点:由多个原子概念节点组合而成的复合概念。它可以表示更复杂的概念和实体,是知识图谱中更高层次的节点。例如,在一个人类分类的知识图谱中,复合概念节点可以是“青年人”、“老年人”、“男性”、“女性”等。

理解一个概念需要合理的知识体系,预定义好的Taxonomy知识体系作为理解的基础,在预定义的体系中分为两类节点:第一类在美团场景中可以作为核心品类出现的,例如,食材、项目、场所;另一类是作为对核心品类限定方式出现的,例如,颜色、方式、风格。这两类的节点的定义都能帮助搜索、推荐等的理解。目前预定义的Taxonomy节点如下图所示:

(三)图谱四类关系

Is-a 关系|Part-of 关系|Instance-of 关系|Property-value 关系

基于概念分类的图谱通常包含以下四类关系:

  1. Is-a 关系:表示概念之间的上下位关系,如“猫”是“动物”的一种,可以表示为Cat is a type of Animal。
  2. Part-of 关系:表示一个物体或概念是另一个物体或概念的一部分,如“车轮”是“汽车”的一部分,可以表示为Wheel is part of Car。
  3. Instance-of 关系:表示一个具体的事物是某个概念的一个实例,如“加菲猫”是“猫”的一个实例,可以表示为Garfield is an instance of Cat。
  4. Property-value 关系:表示概念与其属性之间的关系,如“加菲猫”的颜色是“橙色”,可以表示为Garfield has the property of Color with value Orange。

这些关系可以用来描述概念之间的语义关联,从而在自然语言处理、知识推理等领域得到广泛应用。以美团的案例为例,可以细化展开为以下四个详细介绍。

同义/上下位关系

语义上的同义/上下位关系,例如脸部补水-syn-面部补水等。定义的Taxonomy体系也是一种上下位的关系,所以归并到同义/上下位关系里。

概念属性关系

典型的CPV(Concept-Property-Value)关系,从各个属性维度来描述和定义概念,例如火锅-口味-不辣,火锅-规格-单人等,示例如下:

概念属性关系包含两类:

预定义概念属性:目前我们预定义典型的概念属性如下图

开放型概念属性:除了我们自己定义的公共的概念属性外,我们还从文本中挖掘一些特定的属性词,补充一些特定的属性词。例如,姿势、主题、舒适度、口碑等。

概念承接关系

这类关系主要建立用户搜索概念和美团承接概念之间的链接,例如踏春-场所-植物园,减压-项目-拳击等。

概念承接关系以「事件」为核心,定义了「场所」、「物品」、「人群」、「时间」、「功效」等能够满足用户需求的一类供给概念。以事件“美白”为例,“美白”作为用户的需求,可以有不三 同的供给概念能够满足,例如美容院、水光针等。目前,定义的几类承接关系如下图所示:

POI/SPU-概念关系

POI作为美团场景中的实例,实例-概念的关系作为知识图谱中最后的一站,常常是比较能发挥知识图谱在业务上价值的地方。在搜索、推荐等业务场景,最终的目的是能够展示出符合用户需求的POI,所以建立POI/SPU-概念的关系是整个美团场景常识性概念图谱重要的一环,也是比较有价值的数据。

三、常识性概念图谱构建

还是以美团的文章为例继续查看对应的流程

(一)图谱构建整体框架

(二)概念挖掘

常识性概念图谱的各种关系都是围绕概念构建,这些概念的挖掘是常识性概念图谱建设的第一环。按照原子概念和复合概念两种类型,分别采取相应的方法进行挖掘。

原子概念挖掘

原子概念候选来自于Query、UGC(User Generated Content)、团单等文本分词后的最小片段,原子概念的判断标准是需要满足流行性、有意义、完整性三个特性的要求。

  1. 流行性,一个概念应是某个或某些语料内流行度较高的词,该特性主要通过频率类特征度量,如“桌本杀”这个词搜索量很低且UGC语料中频率也很低,不满足流行性要求。
  2. 有意义,一个概念应是一个有意义的词,该特性主要通过语义特征度量,如“阿猫”、“阿狗”通常只表一个单纯的名称而无其他实际含义。
  3. 完整性,一个概念应是一个完整的词,该特性主要通过独立检索占比(该词作为Query的搜索量/包含该词的Query的总搜索量)衡量,如“儿童设”是一个错误的分词候选,在UGC中频率较高,但独立检索占比低。

基于原子概念以上的特性,结合人工标注以及规则自动构造的训练数据训练XGBoost分类模型对原子概念是否合理进行判断。

复合概念挖掘

复合概念候选来自于原子概念的组合,由于涉及组合,复合概念的判断比原子概念判断更为复杂。复合概念要求在保证完整语义的同时,在美团站内也要有一定的认知。根据问题的类型,采用Wide&Deep的模型结构,Deep侧负责语义的判断,Wide侧引入站内的信息。

该模型结构有以下两个特点,对复合概念的合理性进行更准确的判断:

  1. Wide&Deep模型结构:将离散特征与深度模型结合起来判断复合概念是否合理。
  2. Graph Embedding特征:引入词组搭配间的关联信息,如“食品”可以与“人群”、“烹饪方式”、“品质”等进行搭配。

(三)概念上下位关系挖掘

在获取概念之后,还需要理解一个概念“是什么”,一方面通过人工定义的Taxonomy知识体系中的上下位关系进行理解,另一方面通过概念间的上下位关系进行理解。

概念-Taxonomy间上下位关系

概念-Taxonomy间上下位关系是通过人工定义的知识体系理解一个概念是什么,由于Taxonomy类型是人工定义好的类型,可以把这个问题转化成一个分类问题。同时,一个概念在Taxonomy体系中可能会有多个类型,如“青柠鱼”既是一种“动物”,也属于“食材”的范畴,所以这里最终把这个问题作为一个Entity Typing的任务来处理,将概念及其对应上下文作为模型输入,并将不同Taxonomy类别放在同一空间中进行判断,具体的模型结构如下图所示:

概念-概念间上下位关系

知识体系通过人工定义的类型来理解一个概念是什么,但人工定义的类型始终是有限的,如果上位词不在人工定义的类型中,这样的上下位关系则没办法理解。如可以通过概念-Taxonomy关系理解“西洋乐器”、“乐器”、“二胡”都是一种“物品”,但没办法获取到“西洋乐器”和“乐器”、“二胡”和“乐器”之间的上下位关系。基于以上的问题,对于概念-概念间存在的上下位关系,目前采取如下两种方法进行挖掘。

基于词法规则的方法

主要解决原子概念和复合概念间的上下位关系,利用候选关系对在词法上的包含关系(如西洋乐器-乐器)挖掘上下位关系。

基于上下文判断的方法

词法规则可以解决在词法上存在包含关系的上下位关系对的判断。对于不存在词法上的包含关系的上下位关系对,如“二胡-乐器”,首先需要进行上下位关系发现,抽取出“二胡-乐器”这样的关系候选,再进行上下位关系判断,判断“二胡-乐器”是一个合理的上下位关系对。考虑到人在解释一个对象时会对这个对象的类型进行相关介绍,如在对“二胡”这个概念进行解释时会提到“二胡是一种传统乐器”,从这样的解释性文本中,既可以将“二胡-乐器”这样的关系候选对抽取出来,也能同时实现这个关系候选对是否合理的判断。这里在上下位关系挖掘上分为候选关系描述抽取以及上下位关系分类两部分:

  1. 候选关系描述抽取:两个概念从属于相同的Taxonomy类型是一个候选概念对是上下位关系对的必要条件,如“二胡”和“乐器”都属于Taxonomy体系中定义的“物品”,根据概念-Taxonomy上下位关系的结果,对于待挖掘上下位关系的概念,找到跟它Taxonomy类型一致的候选概念组成候选关系对,然后在文本中根据候选关系对的共现筛选出用作上下位关系分类的候选关系描述句。
  2. 上下位关系分类:在获取到候选关系描述句后,需要结合上下文对上下位关系是否合理进行判断,这里将两个概念在文中的起始位置和终止位置用特殊标记标记出来,并以两个概念在文中起始位置标记处的向量拼接起来作为两者关系的表示,根据这个表示对上下位关系进行分类,向量表示使用BERT输出的结果,详细的模型结构如下图所示:

在训练数据构造上,由于上下位关系表述的句子非常稀疏,大量共现的句子并没有明确的表示出候选关系对是否具有上下位关系,利用已有上下位关系采取远程监督方式进行训练数据构建不可行,所以直接使用人工标注的训练集对模型进行训练。由于人工标注的数量比较有限,量级在千级别,这里结合Google的半监督学习算法UDA(Unsupervised Data Augmentation)对模型效果进行提升,最终Precision可以达到90%+,详细指标如下:

(四)概念属性关系挖掘

概念含有的属性可以按照属性是否通用划分为公共属性和开放属性。公共属性是由人工定义的、大多数概念都含有的属性,例如价位、风格、品质等。开放属性指某些特定的概念才含有的属性,例如,“植发”、“美睫”和“剧本杀”分别含有开放属性“密度”、“翘度”和“逻辑”。开放属性的数量远远多于公共属性。针对这两种属性关系,我们分别采用以下两种方式进行挖掘。

基于复合概念挖掘公共属性关系

由于公共属性的通用性,公共属性关系(CPV)中的Value通常和Concept以复合概念的形式组合出现,例如,平价商场、日式料理、红色电影高清。我们将关系挖掘任务转化为依存分析和细粒度NER任务(可参考《美团搜索中NER技术的探索与实践》一文),依存分析识别出复合概念中的核心实体和修饰成分,细粒度NER判断出具体属性值。例如,给定复合概念「红色电影高清」,依存分析识别出「电影」这个核心概念,「红色」、「高清」是「电影」的属性,细粒度NER预测出属性值分别为「风格(Style)」、「品质评价(高清)」。

依存分析和细粒度NER有可以互相利用的信息,例如“毕业公仔”,「时间(Time)」和「产品(Product))」的实体类型,与「公仔」是核心词的依存信息,可以相互促进训练,因此将两个任务联合学习。但是由于两个任务之间的关联程度并不明确,存在较大噪声,使用Meta-LSTM,将Feature-Level的联合学习优化为Function-Level的联合学习,将硬共享变为动态共享,降低两个任务之间噪声影响。

模型的整体架构如下所示,目前,概念修饰关系整体准确率在85%左右:

基于开放属性词挖掘特定属性关系

开放属性词和属性值的挖掘

开放属性关系需要挖掘不同概念特有的属性和属性值,它的难点在于开放属性和开放属性值的识别。通过观察数据发现,一些通用的属性值(例如:好、坏、高、低、多、少),通常和属性搭配出现(例如:环境好、温度高、人流量大)。所以我们采取一种基于模板的Bootstrapping方法自动从用户评论中挖掘属性和属性值,挖掘流程如下:

在挖掘了开放属性词和属性值之后,开放属性关系的挖掘拆分为「概念-属性」二元组的挖掘和「概念-属性-属性值」三元组的挖掘。

概念-属性的挖掘

「概念-属性」二元组的挖掘,即判断概念Concept是否含有属性Property。挖掘步骤如下:

  • 根据概念和属性在UGC中的共现特征,利用TFIDF变种算法挖掘概念对应的典型属性作为候选。
  • 将候选概念属性构造为简单的自然表述句,利用通顺度语言模型判断句子的通顺度,保留通顺度高的概念属性。

概念-属性-属性值的挖掘

在得到「概念-属性」二元组后,挖掘对应属性值的步骤如下:

  • 种子挖掘。基于共现特征和语言模型从UGC中挖掘种子三元组。
  • 模板挖掘。利用种子三元组从UGC中构建合适的模板(例如,“水温是否合适,是选择游泳馆的重要标准。”)。
  • 关系生成。利用种子三元组填充模板,训练掩码语言模型用于关系生成。

目前,开放领域的概念属性关系准确率在80%左右。

(五)概念承接关系挖掘

概念承接关系是建立用户搜索概念和美团承接概念之间的关联。例如,当用户搜索“踏青”时,真正的意图是希望寻找“适合踏青的地方”,因此平台通过“郊野公园”、“植物园”等概念进行承接。关系的挖掘需要从0到1进行,所以整个概念承接关系挖掘根据不同阶段的挖掘重点设计了不同的挖掘算法,可以分为三个阶段:①初期的种子挖掘;②中期的深度判别模型挖掘;③后期的关系补全。详细介绍如下:

基于共现特征挖掘种子数据

为了解决关系抽取任务中的冷启动问题,业界通常采用Bootstrapping的方法,通过人工设定的少量种子和模板,自动从语料中扩充数据。然而,Bootstrapping方法不仅受限于模板的质量,而且应用于美团的场景中有着天然缺陷。美团语料的主要来源是用户评论,而用户评论的表述十分口语化及多样化,很难设计通用而且有效的模板。因此,我们抛弃基于模板的方法,而是根据实体间的共现特征以及类目特征,构建了一个三元对比学习网络,自动从非结构化的文本中挖掘实体关系之间潜在的相关性信息。

具体来说,我们观察到不同商户类目下用户评论中实体的分布差异较大。例如,美食类目下的UGC经常涉及到“聚餐”、“点菜”、“餐厅”;健身类目下的UGC经常涉及到“减肥”、“私教”、“健身房”;而“装修”、“大厅”等通用实体在各个类目下都会出现。因此,我们构建了三元对比学习网络,使得同类目下的用户评论表示靠近,不同类目的用户评论表示远离。与Word2Vec等预训练词向量系统类似,通过该对比学习策略得到的词向量层天然蕴含丰富的关系信息。在预测时,对于任意的用户搜索概念,可以通过计算其与所有承接概念之间的语义相似度,辅以搜索业务上的统计特征,得到一批高质量的种子数据。

基于种子数据训练深度模型

预训练语言模型近两年来在NLP领域取得了很大的进展,基于大型的预训练模型微调下游任务,是NLP领域非常流行的做法。因此,在关系挖掘中期,我们采用基于BERT的关系判别模型(参考《美团BERT的探索和实践》一文),利用BERT预训练时学到的大量语言本身的知识来帮助关系抽取任务。

模型结构如下图所示。首先,根据实体间的共现特征得到候选实体对,召回包含候选实体对的用户评论;然后,沿用MTB论文中的实体标记方法,在两个实体的开始位置和结束位置分别插入特殊的标志符号,经过BERT建模之后,将两个实体开始位置的特殊符号拼接起来作为关系表示;最后,将关系表示输入Softmax层判断实体间是否含有关系。

基于已有的图谱结构进行关系补全

通过上述两个阶段,已经从非结构化的文本信息中构建出了一个初具规模的概念承接关系的图谱。但是由于语义模型的局限性,当前图谱中存在大量的三元组缺失。为了进一步丰富概念图谱,补全缺失的关系信息,我们应用知识图谱链接预测中的TransE算法以及图神经网络等技术,对已有的概念图谱进行补全。

为了充分利用已知图谱的结构信息,我们采用基于关系的图注意力神经网络(RGAT,Relational Graph Attention Network)来建模图结构信息。RGAT利用关系注意力机制,克服了传统GCN、GAT无法建模边类型的缺陷,更适用于建模概念图谱此类异构网络。在利用RGAT得到实体稠密嵌入之后,我们使用TransE作为损失函数。TransE将三元组(h,r,t)中的r视为从h到t的翻译向量,并约定h+r≈t。该方法被广泛适用于知识图谱补全任务当中,显示出极强的鲁棒性和可拓展性。

具体细节如下图所示,RGAT中每层结点的特征由邻居结点特征的均值以及邻边特征的均值加权拼接而成,通过关系注意力机制,不同的结点和边具有不同的权重系数。在得到最后一层的结点和边特征后,我们利用TransE作为训练目标,对训练集中的每对三元组(h,r,t),最小化||h+r=t||。在预测时,对于每个头实体和每种关系,图谱所有结点作为候选尾实体与其计算距离,得到最终的尾实体。目前概念承接关系整体准确率90%左右。

(六)POI/SPU-概念关系建设

建立图谱概念和美团实例之间的关联,会利用到POI/SPU名称、类目、用户评论等多个维度的信息。建立关联的难点在于如何从多样化的信息中获取与图谱概念相关的信息。因此,我们通过同义词召回实例下所有与概念语义相关的子句,然后利用判别模型判断概念与子句的关联程度。具体流程如下:

  • 同义词聚类。对于待打标的概念,根据图谱同义词数据,获取概念的多种表述。
  • 候选子句生成。根据同义词聚类的结果,从商户名称、团单名称、用户评论等多个来源中召回候选子句。
  • 判别模型。利用概念-文本关联判别模型(如下图所示)判断概念和子句是否匹配。
  • 打标结果。调整阈值,得到最终的判别结果。

四、应用分析

(一)在美团内部的具体应用举例

到综品类词图谱建设

美团到综业务涵盖知识领域较广,包含亲子、教育、医美、休闲娱乐等,同时每个领域都包含更多小的子领域,所以针对不同的领域建设领域内的知识图谱,能够辅助做好搜索召回、筛选、推荐等业务。

在常识性概念图谱中除了常识性概念数据,同时也包含美团场景数据,以及基础算法能力的沉淀,因此可以借助常识性图谱能力,帮助建设到综品类词的图谱数据。

借助常识性图谱,补充欠缺的品类词数据,构建合理的品类词图谱,帮助通过搜索改写,POI打标等方式提升搜索召回。目前在教育领域,图谱规模从起初的1000+节点扩展到2000+,同时同义词从千级别扩展到2万+,取得了不错的效果。

品类词图谱建设流程如下图所示:

点评搜索引导

点评搜索SUG推荐,在引导用户认知的同时帮助减少用户完成搜索的时间,提升搜索效率。所以在SUG推荐上需要聚焦两个方面的目标:①帮助丰富用户的认知,从对点评的POI、类目搜索增加自然文本搜索的认知;②精细化用户搜索需求,当用户在搜索一些比较泛的品类词时,帮助细化用户的搜索需求。

在常识性概念图谱中,建立了很丰富的概念以及对应属性及其属性值的关系,通过一个相对比较泛的Query,可以生成对应细化的Query。例如蛋糕,可以通过口味这个属性,产出草莓蛋糕、芝士蛋糕,通过规格这个属性,产出6寸蛋糕、袖珍蛋糕等等。

搜索引导词Query产出示例如下图所示:

到综医美内容打标

在医美内容展示上,用户通常会对某一特定的医美服务内容感兴趣,所以在产品形态上会提供一些不同的服务标签,帮助用户筛选精确的医美内容,精准触达用户需求。但是在标签和医美内容进行关联时,关联错误较多,用户筛选后经常看到不符合自己需求的内容。提升打标的准确率能够帮助用户更聚焦自己的需求。

借助图谱的概念-POI打标能力和概念-UGC的打标关系,提升标签-内容的准确率。通过图谱能力打标,在准确率和召回率上均有明显提升。

  • 准确率:通过概念-内容打标算法,相比于关键词匹配,准确率从51%提升到91%。
  • 召回率:通过概念同义挖掘,召回率从77%提升到91%。

(二)业内领域的应用举例

金融领域

在金融领域,常识性概念图谱可以应用于风险控制、客户服务、智能投顾等场景。例如,可以构建一个金融常识性概念图谱,包含与金融领域相关的实体、属性和关系,如银行、金融产品、市场、投资等。然后,可以利用这个概念图谱,提供风险控制模型的支持,进行风险评估和风险管理;通过智能投顾模型,根据客户的风险偏好和投资目标,智能推荐最适合的投资方案。

医疗领域

在医疗领域,常识性概念图谱可以应用于疾病诊断、药物研发、医疗智能问答等场景。例如,可以构建一个医疗常识性概念图谱,包含与疾病、药物、症状、治疗方法等相关的实体、属性和关系。然后,可以利用这个概念图谱,进行疾病诊断和药物研发,帮助医生更快、更准确地诊断疾病,同时也可以辅助药物研发团队进行药物研发;通过医疗智能问答模型,回答患者关于症状、治疗方法等方面的问题。

零售领域

在零售领域,常识性概念图谱可以应用于商品推荐、用户画像、营销策略等场景。例如,可以构建一个零售常识性概念图谱,包含与商品、用户、商店、品牌等相关的实体、属性和关系。然后,可以利用这个概念图谱,提供个性化商品推荐服务,帮助用户更快、更准确地找到自己喜欢的商品;通过用户画像模型,了解用户的购买行为和偏好,优化营销策略和促销活动。

智能交通领域

在智能交通领域,常识性概念图谱可以应用于交通流量预测、路径规划、智能导航等方面。例如,可以构建一个常识性概念图谱,包含各种交通实体、道路、交通标识、行驶规则等。然后,可以利用这个概念图谱来进行交通流量预测,提供更准确的路径规划和智能导航服务,以及辅助交通管理部门制定更科学的交通管理策略。

阿里巴巴、腾讯

利用常识性概念图谱来构建智能客服,提高客户服务的效率和质量。常识性概念图谱可以帮助机器理解自然语言中的指代、歧义等问题,更准确地回答用户的问题,同时也可以帮助机器学习如何与人类进行自然交互。

字节跳动

字节跳动利用常识性概念图谱来构建智能搜索和智能推荐系统。常识性概念图谱可以帮助机器理解用户搜索和浏览行为中的含义和目的,从而更好地推荐符合用户兴趣和需求的内容和产品。同时,常识性概念图谱还可以辅助机器更好地处理多义词和同义词等问题,提高搜索和推荐的准确性和覆盖率

五、简单模拟示例

(一)Neo4j知识图谱数据库查询展示

使用Java语言连接Neo4j知识图谱数据库,并执行Cypher查询语句的示例代码

package org.zyf.javabasic.test;

/**
 * @author yanfengzhang
 * @description
 * @date 2022/1/3  23:18
 */
public class Neo4jExample {
    public static void main(String[] args) {
        // 连接到Neo4j数据库
        String uri = "bolt://localhost:7687";
        String user = "neo4j";
        String password = "123456";
        Driver driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password));
        Session session = driver.session();

        // 定义查询语句,查找“苹果”的描述
        String query = "MATCH (c:Concept{name:'苹果'})-[:HasDescription]->(d:Description) RETURN d.content";

        // 执行查询语句,返回结果
        StatementResult result = session.run(query);

        // 输出查询结果
        while (result.hasNext()) {
            Record record = result.next();
            String content = record.get("d.content").asString();
            System.out.println(content);
        }

        // 关闭数据库连接
        session.close();
        driver.close();
    }
}

这段代码使用了Neo4j官方提供的Java驱动程序,连接到一个Neo4j数据库,然后执行了一个Cypher查询语句,查找了知识图谱中“苹果”概念的描述,最后输出查询结果。

(二)学习建议建议和思路

  1. 学习常识性知识图谱的构建方法和知识表示模型:了解常识性知识图谱的构建方法和知识表示模型,可以帮助您理解常识性概念图谱的内部结构和知识组织方式。相关的论文和研究报告可以帮助您深入了解这些知识。
  2. 探索常识性知识图谱的应用场景:常识性知识图谱可以应用于自然语言处理、智能问答、知识图谱推理和智能对话等领域。您可以根据自己的兴趣和专业背景,选择相应的应用场景进行深入学习和研究。
  3. 学习常识性知识图谱的应用技术和工具:常识性知识图谱的应用技术和工具包括知识图谱数据库、知识图谱查询语言、知识图谱可视化工具和自然语言处理工具等。掌握这些技术和工具,可以帮助您更加高效地进行常识性概念图谱的应用开发和实践。
  4. 参与相关的开源社区和项目:许多开源社区和项目已经开始使用常识性知识图谱进行应用开发和实践,您可以通过参与这些社区和项目,获取更多的经验和知识,并与同行进行交流和合作。
  5. 实践和应用常识性知识图谱:最后,通过实践和应用常识性知识图谱,您可以进一步深入了解常识性概念图谱的应用价值和技术挑战,并掌握更多的实际应用经验。可以选择一些开源的常识性知识图谱项目进行实践,或者参加一些相关的实战培训和竞赛,提升自己的实践能力和应用水平。

参考文献、书籍及链接

  1. 阿里巴巴:《阿里大数据科学家王斌:常识性概念图谱与自然语言理解》链接:https://www.infoq.cn/article/2xcwnnybpjmml7zqxrlt
  2. MATLAB算法实战应用-【应用案例篇】常识性概念图谱建设以及在美团场景中的应用_matlab实战案例_林聪木的博客-CSDN博客
  3. 知识图谱构建全流程_知识图谱构建过程_曾小健量化博士Dr的博客-CSDN博客
  4. 字节跳动:《字节跳动技术专家分享:基于图谱的智能搜索和推荐系统》https://www.infoq.cn/article/Cfn6Y3bgqEPU6-krGMQh
  5. 《知识图谱(Knowledge Graph)之美团应用实践》:介绍了美团在知识图谱方面的应用实践,包括知识图谱的构建、应用场景、技术架构等方面。
  6. 《知识图谱(Knowledge Graph)在阿里的实践》:介绍了阿里在知识图谱方面的应用实践,包括知识图谱的构建、应用场景、技术架构等方面。
  7. 《腾讯知识图谱的应用实践》:介绍了腾讯在知识图谱方面的应用实践,包括知识图谱的构建、应用场景、技术架构等方面。
  8. 知识图谱在企业智能化中的应用:本文介绍了知识图谱在企业智能化中的应用,并以企业知识管理、智能问答系统为例,详细阐述了知识图谱的应用流程、技术架构和实现方法。
  9. 如何用知识图谱助力企业数字化转型:本文介绍了知识图谱在企业数字化转型中的应用,包括企业数据整合、知识管理、智能问答系统等方面,并提出了如何选择知识图谱技术供应商和技术方案的建议。
  10. 智能客服如何用上知识图谱,降低服务成本,提升用户体验:本文介绍了知识图谱在智能客服领域的应用,包括知识库构建、语义理解、智能问答等方面,并提出了如何应对实际场景中的挑战和优化知识图谱的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/484907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习-tensorflow 使用keras进行深度神经网络训练

概要 深度学习网络的训练可能会很慢、也可能无法收敛,本文介绍使用keras进行深度神经网络训练的加速技巧,包括解决梯度消失和爆炸问题的策略(参数初始化策略、激活函数策略、批量归一化、梯度裁剪)、重用预训练层方法、更快的优化…

linux进程描述指令:ps与top

这里写自定义目录标题 一 ps指令1 ps -aux2. ps -a3. ps -u4.ps -x 二 top指令1 top2 top -d 时间3. top -i4 top -p ID 一 ps指令 1 ps -aux 显示系统中的所有进程 PID就是进程的唯一编号,操作系统书里有一个PCD的概念,就是一个标识性的控制单元 [ro…

学系统集成项目管理工程师(中项)系列16b_风险管理(下)

1. 规划风险应对 1.1. 针对项目目标,制订提高机会、降低威胁的方案和措施的过程 1.2. 制订风险应对措施 1.3. 制订风险应对计划 1.4. 次生风险是实施风险应对措施的直接结果 1.5. 应对措施必须与风险的重要性相匹配,能经济有效地应对挑战 1.5.1. 【…

项目管理-计算专题(三点估算、PERT估算)

基本概念 通过考虑估算中的不确定性和风险,可以提高活动持续时间估算的准确性。这个概念源自计划评审技术(PERT)。PERT使用三种估算值来界定活动持续时间的近似区间: 最可能时间(tM):基于最可能获得的资源、最可能取得的资源生产率、对资源可用时间的现…

C语言CRC-16 MODBUS格式校验函数

C语言CRC-16 MODBUS格式校验函数 CRC-16校验产生2个字节长度的数据校验码,通过计算得到的校验码和获得的校验码比较,用于验证获得的数据的正确性。基本的CRC-16校验算法实现,参考: C语言标准CRC-16校验函数。 不同应用规范通过对…

Simulink 自动代码生成电机控制:弱磁控制从仿真到硬件开发板验证实验

目录 前言 仿真 生成代码在硬件上运行 总结 前言 测试了一个新的小电机,24V只能跑2000RPM左右,在此基础上测试一下弱磁控制,由于MTPA只适用于表贴电机,测试效果不能直观看出来,一般是通过测试效率。而前馈解耦的响…

【Paper】2019_DoS/数据注入攻击下基于一致性的信息物理系统安全性研究_曹雄

2019_DoS/数据注入攻击下基于一致性的信息物理系统安全性研究_曹雄 文章目录 第2章 拒绝服务攻击下多智能体系统安全性研究2.1 问题描述2.1.1 系统模型2.1.2 拒绝服务攻击模型 2.2 安全估计与一致性分析2.4 数值仿真2.4.1 观测器网络受到攻击下的结果及分析2.4.1.1 线性多智能体…

视频分享平台PeerTube的搭建

老苏下载了吴恩达的 Prompt for developer 课程,不管是否有兴趣,都可以看看,早晚我们都得学会使用 ChatGPT 虽然课程对话是英文,但有中文字幕,课程地址:https://www.aliyundrive.com/s/H3CpaapD87Z 这个软…

使用ChatGPT+Xmind一键生成思维导图,简直泰裤辣

📋 个人简介 💖 作者简介:大家好,我是阿牛,全栈领域优质创作者。😜📝 个人主页:馆主阿牛🔥🎉 支持我:点赞👍收藏⭐️留言&#x1f4d…

python 编写K210控制步进电机的程序示例

今天正好看到K210的脉冲章节,就顺便拿出步进电机做个小实验,也好巩固一下所学的知识。下面是K210关于脉冲的相关介绍: 构造函数 machine.PWM(tim, freq, duty, pin, enableTrue) PWM 对象在 machine 模块下 【tim】K210 的 PWM 依赖…

789. 数的范围(C++和Python3)——2023.5.3打卡

文章目录 QuestionIdeasCode Question 给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。 对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数)。 如果数组中不存在该元素,则返回 -1 -…

【C++从0到王者】第二站:类和对象(上)

文章目录 一、面向过程与面向对象二、类的引入三、类的访问限定符四、类的定义五、封装六、类的作用域七、类的实例化八、类对象模型1.如何计算类对象的大小2.类对象存储方式猜测 九、this指针1.this指针的引出2.this指针的特性 一、面向过程与面向对象 C语言是面向过程的&…

Web2与Web3开发的不同之处

Web2是引入交互功能的第二代互联网,也是我们今天所熟悉的。随着Web的不断发展,第三代互联网,也被称为Web3,正处于积极开发中。Web3引入了在区块链上运行的去中心化和无需许可的系统。但是Web2和Web3开发之间有什么区别呢&#xff…

23.5.1总结

这几天都在写项目: 在实现页面,调用数据库的时候,总是把数据库的表改了又改,然后完善了下数据库的表。 存储的思路大概是: 一个课程下可以有多个班级,所以以课程id作为主键建一个表,内容包括…

在win11搭建ubuntu目标机器的QT开发环境的实践

环境: 笔记本电脑 16G内存 win11 尝试wsl的方案: wsl2 ubuntu gnome xrdp wsl安装ubuntu并设置gnome图形界面详细步骤(win11ubuntu18)_heusjh的博客-CSDN博客 wsl2 ubuntu gnome VcXsrv Windows中WSL2 配置运行GNOM…

Centos7快速安装Elasticsearch 7.17.7

从 Elasticsearch 7.x 版本开始,Elasticsearch 发行版包括了自己的 JDK。因此,您不需要单独安装 Java。以下是在 CentOS 7 上安装 Elasticsearch 7.17.7 的完整步骤:(数据默认保存在/var/lib/elasticsearch下,自行更改…

vmware安装arch linux

vmware安装arch linux 1、下载镜像2、安装2.1、VMware 系统版本选择 其他Linux 5.x 内核 64位2.2、进行磁盘分区 3、重启系统后登录进来发现没有地址 由于安装系统时没有安装任何软件 只安装了1个vim 无法动态获取地址4、安装必需的软件 最小化安装5、编辑/etc/ssh/sshd_config…

【Python】flask框架学习 flask框架的基本使用

flask框架是什么? Flask 是一个轻量级的 Web 框架,用于构建 Web 应用程序。它基于 Python 编程语言和 Werkzeug 工具包,提供了简单易用的 API,可以轻松地创建 RESTful API 和 Web 应用程序。 flask的特点 轻量级:Fl…

学会这些常用调试技巧,让你的C/C++代码调试起来如虎添翼

本篇博客主要讲解程序员最应该掌握的技能之一——调试。我个人认为,学习编程,有2件事情非常重要,一是画图,一是调试。下面我会以Visual Studio 2022为例(VS的其他版本大同小异),演示如何调试一个…

怎么体验gpt4-国内怎么使用chatGPT

gpt4api要等多久 目前,OpenAI尚未公布GPT-4 API的发布计划和时间表。GPT-4 将是前置还增加强大的自然语言处理能力和推理能力,OpenAI正在为其开发和研究,以使其更加流畅、准确和智能。因此,GPT-4 API的发布时间尚未确定。但是&am…