基于电商常识图谱的知识表示与应用

2024-06-21 07:38

本文主要是介绍基于电商常识图谱的知识表示与应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
公众号 系统之神与我同在
1.电商常识图谱的背景:
电商知识图谱要求用一套数据体系联系用户和商品,通过定义拆解用户需求和多粒度的商品理解,来提升搜索与推荐的匹配效率与体验。

一个电商知识图谱中包括许多常识关系:

·isA
·搭配
·不同类型之间的映射关系:风格对应款式、时间需要款式、场景需要品类…
在这里插入图片描述
2.电商常识挖掘的方法:

电商常识挖掘采用的方法是一种阅读理解式的关系抽取。对于一个问题:什么样的连衣裙是减龄的? 通过阅读理解的方式,经由Content:(淘宝攻略)…娃娃领连衣裙穿起来很减龄, 假两件的款型为衣衣增添个性 …,抽取出查询:<风格: 减龄,关系: 风格对应领型,领型: 娃娃领,限制: 品类-连衣裙>。

采用阅读理解的方式进行抽取具有以下几个特点:

·在question中将品类限制和头实体(概念)进行联合encode
·充分利用如今取得极大进展的机器阅读理解技术
·生成的question可以天然地提供给众包和外包进行标注,提高知识审核的效率

电商常识阅读理解数据集包含65k个问题,420k条作为内容的产品描述,95k个不同的答案,举例如下:
在这里插入图片描述
在该数据集上不同的模型表现为:
在这里插入图片描述
3.电商常识的表示方法

电商常识表示的难点在于:

1.常识图谱关系稀疏,比事实类图谱密度低约100倍,常用的知识表示模型对稀疏图谱的表征效果不佳。
在这里插入图片描述
2.电商图谱特有的数据结构,如品类树型结构,品类约束下的n-ary结构(四元组)等,常用的三元组模型不适合直接套用。
在这里插入图片描述
对于常识图谱关系稀疏的问题,通过如下两种方法来解决:

·引入外部语义增强:BERT
·结构特征增强:Graph Embedding

对于电商图谱特有的数据结构:

·针对不同数据结构单独建模,多任务共享embedding联合训练
·树型结构: Poincare Embedding
·n-ary结构:品类映射Decoder
在这里插入图片描述
在进行实验时,为了保证实验的公平性,采取了如下做法:

·增加虚拟节点和虚拟边,将一条四元组拆分成语义等价的七条三元组(1+6)
·保持四元组的必要性:信息冗余
在这里插入图片描述
在三个方面链接实验的预测结果:

·整体性能
·分数据结构的性能
·虚拟边的帮助

实验结果如下:
在这里插入图片描述
4.电商常识的应用方法

拿电商常识在淘宝推荐上的应用来举例:

1.解决query和title之间的语义存在gap的问题:query中经常会出现偏口语、非正式(12% in Taobao)的语言,而title则是相对正式和标准的商家语言。

电商常识则可以进行Query改写:直接利用高准电商常识关系数据,将偏口语非正式的query词改写成商家语言,得以召回相关的商品。例如Query: 漏肚子连衣裙,Rewrite Query: 露脐连衣裙。

2.为模型提供识别搜索相关性的能力:query中口语化的表述和title中偏标准的描述之间的映射可以被电商常识关系关联起来;将知识表示算法学到的表征隐式建模到相关性模型中。
在这里插入图片描述
3.推荐商品召回:通过电商常识关系建模不同表述和维度的side info,使得side info语义相关的商品在向量空间的距离更近。电商常识则可以将能链接到常识图谱中的side info对应的KGE表征建模到图表征学习模型中。
在这里插入图片描述
在这里插入图片描述

这篇关于基于电商常识图谱的知识表示与应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1080600

相关文章

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2