【ACL2023】基于电商多模态概念知识图谱增强的电商场景图文模型FashionKLIP

news2024/11/26 3:42:20

近日,阿里云机器学习平台PAI与复旦大学肖仰华教授团队、阿里巴巴国际贸易事业部ICBU合作在自然语言处理顶级会议ACL2023上发表基于电商多模态概念知识图谱增强的电商场景图文模型FashionKLIP。FashionKLIP是一种电商知识增强的视觉-语言模型。该论文首先设计了从大规模电商图文数据中自动化构建多模态概念级知识图谱的方案,随后将概念级多模态先验知识注入到VLP模型中,以实现跨模态图文样本在概念层面进一步对齐。

论文:
Xiaodan Wang, Chengyu Wang, Lei Li, Zhixu Li*, Ben Chen, Linbo Jin, jun huang, Yanghua Xiao* and Ming Gao, FashionKLIP: Enhancing E-Commerce Image-Text Retrieval with Fashion Multi-Modal Conceptual Knowledge Graph. ACL 2023 (Industry Track)

背景

图文检索作为一项流行的跨模态任务,在广泛的工业应用中具有很强的实用价值。视觉-语言预训练(VLP)模型的蓬勃发展大大提高了跨不同模态数据的表示学习,从而带来了显著的性能提升。然而,电商领域的数据具有其自身的特性,如下图(a)所示:1)通用场景的文本大多包含完整的句子结构描述,而电商场景中的描述或查询通常由多个形容性短语组成,描述了产品的材质或风格等细节信息。2)通用领域的图像通常具有复杂的背景;相比之下,商品图像主要包含一个大的商品图,没有很多背景物体。

image.png

(a) 电商场景的图像-文本对示例

基于电商图文的VLP模型Fashion-BERT、KaleidoBERT、CommerceMM、EI-CLIP和FashionViL等大大提高了电商图文检索任务的性能,但使用不同角度的商品图或基于图像块的分类方法仍未能解决细粒度的跨模态对齐问题,因而导致了图像和文本之间的细节匹配不准确,模型缺乏跨模态语义级对齐能力。其次,通用领域模型可以通过目标检测、场景图解析或语义分析来实现细粒度交互,但是这些方法难以直接应用于电商场景,也使得电商中的图文检索任务是更具挑战。

基于此,我们提出了一种电商知识增强的VLP模型FashionKLIP。一共包含两部分内容:数据驱动的构建策略,从大规模电商图文语料库中构建多模态电商概念知识图谱(FashionMMKG);和训练融入知识的训练策略,学习两种模态的图像-文本对的表示对齐,并通过将文本表示与FashionMMKG中时尚概念的视觉原型表示进行匹配,进一步得到概念对齐。

模型设计

模型包含两部分,如图(b)所示:第一部分,构建时尚多模态知识图谱FashionMMKG:通过分析大量的时尚文本来抽取并确定概念集,然后通过构建层次树来展示不同粒度下概念之间的关系,并在视觉层次上将每个概念与正确的图像匹配。第二阶段,融入跨模态知识的细粒度训练:不仅匹配输入文本中的概念到FashionMMKG,而且将提取到的新概念挂载到相应的概念层级树中以扩充。每个概念选择与输入图像最相似且考虑多样性的前𝑘个图像作为视觉原型,在概念层面进行对齐优化设计。

image.png

(b) 以电商图像及文本为输入的 FashionKLIP 模型架构

FashionMMKG构建

采用自动化的构建方法,建立以电商概念为中心的多模态知识图谱,包含文本和视觉两个模态。

  • 文本模态:通过挖掘海量时尚文本确定概念集,然后将每个概念与对应的图像进行匹配。我们提取图文电商数据库中所有的文本,并利用NLP工具spacy进行句子成分分析、词性标注,得到多粒度的概念短语。对于不同粒度的概念短语,通过判断两个概念是否相互包含,建立概念间关系三元组的形式的上下位关系。如图(b)中的<“short sleeve t-shirt in white”, is-a, “short sleeve t-shirt”>。所有抽取出的关系三元组被组织成一个层次结构,如图©所示。层次结构的构建过程是动态的,当新概念出现时,可以将其添加到现有的层级树中。

image.png

(c) 以“shorts”为根节点概念的层级子树结构

  • 视觉模态:我们采用基于提示的图像检索方法为每个概念匹配图像,基于图像和文本特征的余弦距离,选择相似度最高的top-𝑘图像作为概念的视觉原型,并采用MMR算法来保证所选图像的多样性。这一过程在后续训练中将被迭代更新。

FashionKLIP训练

在预处理阶段,对于输入的文本进行概念提取,并且对于部分未能与FashionMMKG 中的概念集合匹配上的新出现的概念,自动扩展FashionMMKG。FashionKLIP模型为双流架构,包含图像和文本两个编码器,以保证在下游检索任务上图文匹配的效率。

如图(b)所示,FashionKLIP由两个任务组成:用于全局匹配图像和文本的图像-文本对比学习(ITC),以及用于概念级对齐的概念-视觉对齐学习(CVA)。

  • ITC:我们训练了一个CLIP风格的模型来学习图像-文本对的全局表示。对于每个训练批次中的图文对,优化图像-文本和文本-图像的对比匹配损失。
  • CVA:我们利用统一的对比学习框架来对齐时尚概念和FashionMMKG中的视觉表示。将输入文本中的多粒度概念短语集合集成到我们的模型中,并进一步的从层次树中引入每个概念的父节点。对于每个概念与其最相似的top𝑘图像,计算每个图像和输入图像之间的相似度,选择得分最高的一组图像。我们采用加权交叉熵损失,以概念图像与输入图像之间的相似度作为权重,进行概念与最佳匹配概念图像的交叉熵损失进行计算。

模型评测

为了评测FashionKLIP模型的效果,我们在当前流行的时尚基准数据集FashionGen上进行了实验,并根据现有sota模型的评测方式采用了“full”和“sample”两种评测设置,实验结果如下:

image.png

FashionGen数据集上的图文检索评测结果"sample"

image.png

FashionGen数据集上的图文检索评测结果"full"

在两种测评设置下的实验结果表明,FashionKLIP在电商图文检索任务上的性能优于最先进的模型。

为了进一步验证FashionKLIP方法的实用性,我们还将其应用于实际场景:商品搜索平台,在图像-商品和文本-商品两个检索子任务上进行了零样本场景下的验证,并将其与基线方法CLIP比较,实验结果如下:

image.png

商品搜索任务的检索结果

上述结果也进一步证明了FashionKLIP的实用价值及高效性。在未来,我们会将知识增强的策略应用于一般的大规模预训练,从而能够为更多的多模态任务带来好处。为了更好地服务开源社区,FashionKLIP算法的源代码和模型即将贡献在自然语言处理算法框架EasyNLP中,欢迎从业人员和研究者使用。
EasyNLP开源框架:https://github.com/alibaba/EasyNLP

参考文献

  • Dehong Gao, Linbo Jin, Ben Chen, Minghui Qiu, Peng Li, Yi Wei, Yi Hu, and Hao Wang. FashionBERT: Text and Image Matching with Adaptive Loss for Cross-modal Retrieval. ACM SIGIR, 2020: 2251-2260.
  • M Zhuge,D Gao,DP Fan,L Jin,B Chen,H Zhou,M Qiu,L Shao. Kaleido-BERT: Vision-Language Pre-training on Fashion Domain. CVPR, 2021: 12647-12657.
  • Radford A, Kim J W, Hallacy C, et al. Learning transferable visual models from natural language supervision. PMLR ICML, 2021: 8748–8763.
  • Rostamzadeh N, Hosseini S, Boquet T, et al. Fashion-gen: The generative fashion dataset and challenge. arXiv, 2018.
  • Yu L, Chen J, Sinha A, et al. Commercemm: Large-scale commerce multimodal representation learning with omni retrieval. ACM SIGKDD, 2022: 4433-4442.
  • Ma H, Zhao H, Lin Z, et al. EI-CLIP: Entity-Aware Interventional Contrastive Learning for E-Commerce Cross-Modal Retrieval. CVPR, 2022: 18051-18061.

论文信息

论文名字:FashionKLIP: Enhancing E-Commerce Image-Text Retrieval with Fashion Multi-Modal Conceptual Knowledge Graph.

论文作者:王小丹、汪诚愚、李磊、李直旭、陈犇、金林波、黄俊、肖仰华、高明
论文PDF链接:https://aclanthology.org/2023.acl-industry.16.pdf

免费领取 交互式建模PAI-DSW、模型训练PAI-DLC 5000CU*H计算资源包,以及价值500元模型在线服务 PAI-EAS 抵扣包。

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

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

相关文章

String类1

String类 单个字符可以用char类型保存&#xff0c;多个字符组成的文本就需要保存在String对象中&#xff0c;String通常被称为字符串&#xff0c;一个对象最多占用4GB的文本类容。 声明字符串 1.字符串必须包含在“”中 例&#xff1a;”234”、”你好&#xff01;” 2.声明字…

GOLANG进阶:govalidator过滤器,MD5,JWT身份验证,redis

1.govalidator过滤器&#xff1a;类似于正则匹配&#xff0c;主要放在结构体注释部分&#xff0c;有些验证没有&#xff0c;需要自己替换&#xff08;把required部分替换成正则表达式&#xff09; 引入资源包&#xff08;两种方式&#xff09;&#xff1a; go get github.com/…

ubuntu重启后,docker容器中的mysql怎么重启

1、第一次安装的时候&#xff0c;参考使用docker安装mysql主从集群_docker mysql主从集群_veminhe的博客-CSDN博客 这篇博客操作的。 2、但是突然有一天&#xff0c;我的腾讯云主机被迫重启了&#xff0c;发现docker容器中的mysql挂掉了 3、搜资料看下 参阅了Docker启动mysq…

css之:is()、:where()和:has()伪元素的运用、使用、important

文章目录 简介1、:is()2、:where()3、:has() 简介 :is()、:where()和:has()伪元素是CSS中用于样式化元素的非常强大的工具。它们是在CSS选择器Level4规范中引入的。它们允许我们将样式应用于符合特定条件的任何元素&#xff0c;例如元素的类型、元素的位置和元素的后代。 1、:i…

科研热点|国自然会评季:地方高校申请国家基金难度有多大?

2022年国自然放榜后&#xff0c;一位评审专家的函评意见引发关注。 这位专家在一份函评意的第四部分其他建议中写到&#xff1a; 地方高校的老师不容易。申请人发表了不少好论文&#xff0c;但从未获得过基金支持&#xff0c;应该支持这种在没有项目和条件下还很好开展了研究…

Kubernetes中Pod的升级和回滚

Kubernetes中Pod的升级和回滚 本文说说 Pod 的升级和回滚问题。 当集群中的某个服务需要升级时&#xff0c;我们需要停止目前与该服务相关的所有 Pod&#xff0c;然后下载新版本镜像并创建新的 Pod。如果集群规模比较大&#xff0c;则这个工作变成了一个挑战&#xff0c;而且…

【Linux】 Linus世界,WIndows VS Linux

文章目录 前言WindowsLinux操作系统Windows VS Linux收费情况技术支持安全性开源 区别 前言 在电脑世界有两种十分常见的电脑操作系统——Linux与和Windows&#xff0c;相信对电脑有一定了解的人对它们一定并不陌生&#xff01;但是在我们的使用过程中&#xff0c;是否有什么事…

大公司为什么禁止在 Spring Boot 项目中使用 @Autowired 注解?

1、说明 最近公司升级框架&#xff0c;由原来的spring framerwork 3.0升级到5.0&#xff0c;然后写代码的时候突然发现idea在属性注入的 Autowired 注解上给出警告提示&#xff0c;就像下面这样的&#xff0c;也挺懵逼的&#xff0c;毕竟这么写也很多年了。 Field injection i…

leetcode 147.对链表进行插入排序

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;对链表进行插入排序 思路与图解&#xff1a; 遍历链表&#xff0c;当前结点依次与前面的结点比较&#xff0c;选择插入位置。每次与前面的结点比较需要从头开始比较&#xff0c;所以定义一个 tempHead 指针&#xff0c;…

Python实现PSO粒子群优化算法优化LightGBM回归模型(LGBMRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 PSO是粒子群优化算法&#xff08;Particle Swarm Optimization&#xff09;的英文缩写&#xff0c;是一…

CopyRE关系抽取

CopyRE 模型包括编码器和解码器两部分 编码器&#xff1a;将输入的句子&#xff08;源句子&#xff09;转换为固定长度的语义向量 解码器&#xff1a;读取该矢量并直接生成三元组 Encoder 编码器使用Bi-RNN对输入句子进行编码。 Decoder 解码器会直接生成三元组。 1、 解码…

仅用js代码实现模态框

很多时候我们经常会用ui框架实现模态框的使用&#xff0c;但是&#xff0c;如果哪一天告诉我们&#xff0c;如何仅用js代码实现一个模态框该怎么办呢&#xff1f; 这里就要用到很多js中的基础方法运用了&#xff0c;我们先看如下代码 var logDiv document.createElement(&quo…

Java版本电子招标采购系统源码:—实现多寻源比价,风险预警

营造全面规范安全的电子招投标环境&#xff0c;促进招投标市场健康可持续发展 传统采购模式面临的挑战 一、立项管理 1、招标立项申请 功能点&#xff1a;招标类项目立项申请入口&#xff0c;用户可以保存为草稿&#xff0c;提交。 2、非招标立项申请 功能点&#xff1a;非招标…

vue2跨组件传值、透明传输($attrs 和 $listeners )

当在 Vue.js 组件中使用 $attrs 和 $listeners 时&#xff0c;它们提供了一种方便的方式来处理传递给组件的属性和事件监听器。 1.$attrs 是一个对象&#xff0c;包含了父组件传递给当前组件但未被当前组件声明的 props。这对于实现“透明传输”非常有用。 2.$listeners 也是…

EMQ 联合英特尔、云轴科技 ZStack 推出泛工业物联网联合解决方案

近日,EMQ 携手英特尔与云轴科技 ZStack 推出泛工业物联网联合解决方案,基于云原生超融合,在挖掘生产数据价值的同时有效降低综合建设成本,为用户提供一站式数据链路及 IT 基础设施解决方案。 工业能耗大户面临的关键挑战 工业正迈入一个全新的物联网时代,海量数据计算需求涌现…

实验三 交换机基本配置

文章目录 实验目的实验原理实验内容实验总结 实验目的 掌握 Cisco Packet Tracer 模拟软件的基本使用方法&#xff1b;掌握交换机的基本配置方法和命令&#xff1b;掌握交换机 telnet 配置方法&#xff1b;理解交换机不同配置视图的作用&#xff1b; 实验原理 &#xff08;一…

Linux Shell 脚本编程学习之【第1章 Shell脚本编程概述】

《第1章 Shell脚本编程概述》 1 Linux简介2 Shell 简介3 Linux登录方式4 脚本编程优势4.1 shell脚本编程优势 5 shell脚本基本元素6 执行shell脚本 1 Linux简介 1991年芬兰赫尔辛基大型学生Linus Torvals开发了Linux内核。 2 Shell 简介 1、Shell是一种具备特殊功能的程序。…

【Java基础教程】(十)面向对象篇 · 第四讲:解析Java中的this关键字,引用传递印象加强:理解与实践~

Java基础教程之面向对象 第四讲 本节学习目标1️⃣ this 关键字1.1 调用本类属性1.2 调用本类方法1.3 表示当前对象 2️⃣ 引用传递2.1 基本概念2.2 实际应用 &#x1f33e; 总结 本节学习目标 掌握关键字this的特征以及使用&#xff1b;掌握引用传递分析思维&#xff1b; …

UMS攸信技术是厦门市工业互联网园区建设的积极参与者与推动者,为数字化转型与工业互联网建设注入新动力

7月6日&#xff0c;厦门市工业互联网一体化进园区“百城千园行”活动第二站走进同安区常青藤科技园&#xff0c;与现场企业共话产业数字化创新发展。 本次活动以“工赋园区 数智未来”为主题&#xff0c;由厦门市工业和信息化局、厦门市同安区人民政府、厦门市同安区工业和信息…

809. 最小公倍数

链接&#xff1a; 链接 题目&#xff1a; 输入两个整数 aa 和 bb&#xff0c;请你编写一个函数&#xff0c;int lcm(int a, int b)&#xff0c;计算并输出 aa 和 bb 的最小公倍数。 输入格式 共一行&#xff0c;包含两个整数 aa 和 bb。 输出格式 共一行&#xff0c;包含一个整…