如何构建知识图谱?
本文根据张庆楠老师在2018年AI+Talk分享的《二手电商知识图谱构建及在价格模型中的应用》进行编辑整理。
01 知识图谱概述
本次分享主要由以下四个部分组成:知识图谱概述、知识图谱构建、转转二手电商知识图谱、在价格模型中的应用。
1.什么是知识图谱?
知识图谱由谷歌于2012年提出,最初的目的是优化其搜索引擎。 在现实世界中,存在着许多实体、各种人和事物,并且它们是相互关联的。 知识图谱是现实世界的符号表达,描述了现实世界中存在的一些概念以及它们之间的联系。 具体来说,它是由具有通过关系连接的属性的实体组成的网络知识库。
2.知识图谱的基本组成
在电商的知识图谱中,包括用户、商家、产品。 它们有各自的属性并且相互关联。 知识图谱的三个基本元素是:实体、属性和关系。 实体-关系-实体三元组; 实体-属性-属性值三元组。 在电子商务的知识图谱中,用户和产品都是实体。
在知识图谱中,有一种特殊类型的实体称为本体,也称为概念或语义类。 它是常见实体的集合。 例如,比尔盖茨和史蒂夫乔布斯都是人,微软和苹果都是公司。
--
02 知识图谱构建
目前的知识图谱分为两类。 一种是开放领域知识图谱,另一种是垂直领域知识图谱。 例如,为搜索引擎建立的知识图谱就是开放域的。 金融、电商等垂直领域的知识图谱。
首先要做的就是先处理数据。 互联网上的数据基本上分为结构化、非结构化和半结构化。 结构数据一般是公司的业务数据。 这些数据存储在数据库中,从数据库中提取出来并进行一些简单的预处理后就可以使用。 半结构化数据和非结构化数据,比如产品的描述,或者标题,可能是一段文字,也可能是一张图片,都是一些非结构化数据。 但它存储了一些信息,它反映了知识图谱中的一些属性。 因此,需要对其进行提取,这是构建知识图谱中比较费时费力的工作。
需要从数据中提取的实际上是前面提到的实体、属性和关系。 实体的提取在NLP中被称为实体识别。 这里的相关技术都比较成熟,从传统的手工字典规则方法到现在的机器学习方法,以及深度学习的一些运用。 例如,从一段文本中,我们提取实体Bill Gates和实体,然后进行关系提取。 比尔·盖茨是微软的创始人,所以有这样一个对应关系。 还有属性提取,比如比尔盖茨的国籍是美国。 这些提取完成之后,会有一些比较分散的信息,然后用结构化信息得到的东西和第三方知识库得到的信息进行融合,然后再添加。
还需要做的是实体对齐和实体消歧。
关于实体对齐。 例如,比尔·盖茨(Bill Gates)这四个字是他的中文名,比尔·盖茨(Bill Gates)是他的英文名,但实际上他们指的是同一个人。 由于文本的差异,最初有两个实体。 这需要我们在物理上将其对齐并统一。
另一个是实体消歧。 例如,苹果是一种水果,但在某些情况下,它可能指苹果公司。 这是一个实体歧义,我们需要根据上下文对其进行实体消歧。
完成上述步骤后,下一步就是提取本体。 比如前面提到的微软和苹果,他们的实体就是公司。 可能不是直接从文字中摘录的,他们是公司。 然后需要一些方法来提取它们。 然后建立本体库。 打个比方,如果一个公司是一个组织,那么它就有这个上下游的关系。 还需要计算同一级别的人之间的熟悉程度。 例如,在身体层面,比尔·盖茨和史蒂夫·乔布斯就比较相似。 它们都属于人的实体。 他们和公司有很大不同,所以需要进行相似度计算。
上述步骤完成后,需要对知识库的质量进行评估,这是不可避免的手动步骤。 完成质量评估后,最终形成知识图谱。 知识图谱形成后,有些关系可能无法直接得到,这时需要进行知识推理,这样可以扩展知识图谱。 例如,猫是猫科动物的成员。 猫科动物是哺乳动物。 由此可以推断猫是哺乳动物。 但这个道理不能随随便便推导出来。 例如,比尔盖茨是美国人。 比尔·盖茨创立了一家公司,但这家公司不一定是美国的。
--
03 二手电商知识图谱
主要从业务理解、知识图谱设计、算法、开发四个部分进行阐述。
一、二手电商的特点
搜索优化和个性化推荐是我们的起点。 主要做一些意图识别或者自动化查询。 个性化推荐这里,我们利用知识图谱做了一些召回源和推荐排序模型特征。 在电商运营中,主要帮助后端运营组装商品。 在垂直业务领域,我们主要做一些价格模型和供需分析。
二手电商与一手电商不同。 首先是数据源的质量。 二手电商平台上的产品都是个人发布的。 产品的描述信息不如商家的描述信息完整。 我们为他们提供的选项可能未完整填写。
第二点是数据稀疏的问题。 大部分二手电商产品都是不标准化的。 与一手店电商相比,数据相对稀疏。
第三点是它有一些二手属性。 二手店电商产品具有很多二手属性。 比如质量、外观、屏幕划痕、屏幕是否更换、是否翻新等。
最后,还有价格差异。 商品折旧后,其价格会有所不同。 二手货的价格差异化很大。
2.二手电商知识图谱构建
首先构建产品的知识图谱。 产品的知识图谱是树的形式。 树由逐级节点组成。 最后一个叶子节点是产品实体,下面是一些产品属性。
循序渐进地遵循业务需求。 在制作知识图谱的过程中,是一个边做边用的过程,而不是花了很长的时间才做完之后才使用。 我们根据具体需求将知识图谱拆分为若干步骤,然后继续输出。
那么如何拆分呢? 根据之前提到的树形的知识图谱,首先要做的就是先画出点。 首先标记图中的节点,然后挖掘出属性中的一些KV信息,得到一些分散的点边关系,然后将这些分散的点边关系串在一起形成一个图,将其变成一个知识库。 最后,将产品悬挂起来。
首先,有一些术语层面的应用。 提取项目词并完成本体构建。 那么,KV级别就是连接点和边。 提取标签词并完成属性提取。 接下来,在图表级别。 构建标签词树,完成知识库构建。 最后是产品粒度。 贴上产品即可完成物理提取。
3.产品理解——物品词
首先从产品中提取其项目词,然后根据用户的行为数据获得用户偏好的项目词,然后根据用户偏好的项目词进行召回或排名特征。
那么具体实施方案:
首先是项目词汇的构建,不断探索目前可以做的和未来我们计划做的。 这部分数据大部分是从我们自己的结构化数据中获得的,有一些是从外部爬取获得的,还有一些是从命名实体识别中获得的。
接下来是上下级关系的提取。 沙发是一个实体,布艺沙发也是一个实体。 布艺沙发也是沙发的一种,有上下的关系。
然后是并行相似度计算。 例如,布艺沙发和真皮沙发的相似度较高,而沙发和相机的相似度较低。 还有文本对齐。 与同义词类似,例如,相机和相机实际上指的是同一事物。
当上述完成后,就构建了一个项目词汇库。 接下来是产品级别,产品项词提取,用到的数据源有:分类信息、标题文字、产品描述、产品图片。
主要应用场景有:
- 个性化推荐:倒排索引召回
- 个性化推荐:排序功能
4.产品理解——标签词
后来我们做了一个标签词,方便产品理解。 这是物品词的演变,也是服务的升级。 我们刚才提取的就是用户感兴趣的东西,但是人们往往不仅仅局限于对这个东西感兴趣。 也可能有很多此类物品的请求。 因此,需要从属性的角度挖掘用户的兴趣,比如右下角的例子。 提取该产品的更多属性。 这个套路和刚才的项词类似。 这里需要注意的是,一级数据可以通过自结构化数据、爬虫、文本提取来获取,而二级数据只能通过文本挖掘来获取。 还有属性对齐。 还有产品标签词的提取。 其数据来源来自结构化数据、标题文字、产品描述、产品图片等,应用场景与商品词一致。 最终完成属性提取。
5.标签词树结构
经过上述操作,我们发现提取出来的键值属性都是离散存在的。 那么就会出现数据质量问题,因此将之前挖掘的术语提取出来形成一棵树。 下面是一个例子。 所有关于他的信息都可以从这棵树上追踪到。
此方法还提供查询结构化和对查询的理解。 其应用场景有个性化推荐和智能搜索三部分。 到本节结束,产品库知识库的构建已经完成。 接下来是产品隶属关系。
6. 产品隶属关系
产品归属是指利用分类信息、产品标题、产品描述、产品图片等数据来匹配本体数据库(Tag词树结构)中的节点,生成产品知识路径。 同时,可以消除产品会匹配本体库中的多个本体(项目词)的可能性,为属性节点分配权重,选择匹配权重最高的本体。
这还是刚才的例子。 产品关联后,会生成一个实体(右侧)。 这一步完成后,就完成了实体的抽取和知识图谱的构建。 目前我们有一些与知识推理、知识图谱相关的应用,但是优先级不是这样的,我们还没有努力去实现。
7.二手电商知识图谱构建
根据场景的介绍,可以搭建如下架构。 首先进行数据提取,然后进行本体构建和属性提取,然后进行知识库构建,最后完成产品隶属关系。 将这些数据存储在HDFS或者智能推荐和智能搜索以及价格模型的构建中。 这里有一个消歧的概念。 主要是根据树的权重进行求和。 权重较高的路径具有较高的置信度。 消除一些无效的路径和属性。
--
04 在价格模型中的应用
它有很多应用。 我们来谈谈它在价格模型中的应用以及我们为什么这样做。 对于二手商品来说,很难设定一个合理的价格,所以我们希望能够提供定价能力。
1.二手标准化
首先,要对二手产品进行标准化,先让产品归属于知识谱,然后筛选出价格敏感的二手属性。 比如我的二手手机屏幕坏了,这是一个很大影响定价的因素。 但另一部手机只是划伤了,这个属性对于二手手机的定价来说并不明显。 因此,有必要筛选一些影响价格的属性。 汇总同一本体、同一手属性值和同一价格敏感二手属性值下的二手标准品,并将此ID添加到知识图谱中,作为此实体的新属性。 我们假设该标准产品的商品价格是同分布的。 针对这一假设,我们使用统计方法来估计价格范围,并生成二手标准产品 ID 到价格范围的映射。 最终得到的结果可以支持这一假设。
2. 二手标准货的计价
这就是整个过程。 需要先构建样本,然后加载样本知识图谱和样本产品的售价,然后开始线下计算二手标准产品ID的价格范围。 由于我们没有二手商品的真实价格,因此这里需要另一个假设。 我们认为,大部分二手商品的交易价格是合理的,因为它是买卖双方讨价还价的结果,基本满足了双方的心理预期。 因此,我们收集交易商品的价格,根据二手标准商品ID进行聚合,删除异常值,并进行数据更改。 计算价格范围。 最后生成二手标准产品ID的价格范围并放入数据库中。 在线估价时,首先加载待估产品的知识谱路径,然后定位二手标准产品ID,最后确定价格范围。
3、非二手标准货物的计价
上面只讲了二手标准产品ID的估值。 对于非二手标准品也有估价。 手机说起来容易,但衣服从一手的状态来看却不容易标准化。 还有另一组解决方案。 首先,它是基于知识图谱的。 在图表中查找最近出售的 TopN 产品,并汇总售价。 删除异常值,更改数据,计算价格范围,最后进行逆变换生成商品价格范围。
4. 数据转换
对于价格来说,它的分布是明显偏态的,但区间估计要求分布是无偏的。 为了通过控制置信水平来更准确地调整区间大小,最好使用无偏归一化。 与左下角的分布类似,可以使用对数变换或平方根变换将其变换为近似正态分布。 但实际的数据情况会更加复杂多样。 为了获得良好的无偏归一化,我们使用Box-Cox变换。 对数变换和平方根变换是特例。
5、区间划分
根据正态分布,我们可以划分区间。 首先,我们希望这个区间能够涵盖大部分商品。 我们可以计算平均值和标准差。 根据不同业务的需求,我们可以计算出价格范围,然后用计算出的区间的上限和下限,做逆Box-Cox变换。 这是真实的价格范围。
6.+
刚才提到的方法是基于统计的,还有另一种方法可以做到,那就是基于回归。 首先,我们研究知识谱,挖掘价格敏感术语作为属性并将其应用于实体。 然后我们将产品表示为向量并构建回归模型。 然后可以使用回归来预测产品的基本定价。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。