【人工智能】ChatGPT多模型感知态识别

目录

  • ChatGPT辅助细化知识增强!
  • 一、研究背景
  • 二、模型结构和代码
      • 任务流程
      • 一:启发式生成
  • 三、数据集介绍
  • 三、性能展示
  • 实现过程
  • 运行过程
      • 训练过程

在这里插入图片描述

ChatGPT辅助细化知识增强!

在这里插入图片描述
多模态命名实体识别(MNER)最近引起了广泛关注。 用户在社交媒体上生成大量非结构化内容,主要由图像和文本组成。这些帖子具有与社交媒体相关的固有特征,包括简洁和非正式的写作风格。 这些独特的特征对传统的命名实体识别(NER)方法提出了挑战。

一、研究背景

社交媒体上的多模态命名实体识别(MNER)旨在通过结合基于图像的线索来增强文本实体预测。 现有的研究主要集中在最大限度地利用相关图像信息或结合显式知识库中的外部知识。

二、模型结构和代码

我的模型主要分为两个阶段。在生成辅助细化知识的阶段,我利用一组有限的预定义人工样本,并采用多模态相似示例感知模块来仔细选择相关实例。然后,将这些选定的示例合并到格式正确的提示中,从而增强为 ChatGPT 提供的启发式指导,以获取精炼的知识。

任务流程

  1. 任务公式化
    在这里插入图片描述

  2. 上下文学习
    在这里插入图片描述
    虽然GPT-4可以接受多模态信息输入,但这一功能仅处于内部测试阶段,尚未公开使用。此外,与ChatGPT相比,GPT-4的成本更高,API请求速度较慢。为了提高可复现性,我们仍然选择ChatGPT作为主要的研究对象,并且提供的这一范式也可以用于GPT-4。

为了使ChatGPT能够完成图文多模态任务,使用了先进的多模态预训练模型将图像转换为图像说明。最后将测试输入x设计为以下模板:
在这里插入图片描述

一:启发式生成

  1. 预定义的人工样本
    使ChatGPT在MNER任务中表现更好的关键在于选择合适的上下文示例。获取准确标注的上下文示例,这些示例能够精确反映数据集的标注风格并提供扩展辅助知识的途径,是一个显著的挑战。直接从原始数据集中获取这些示例并不可行。为了解决这个问题,我采用了随机抽样的方法,从训练集中选择一小部分样本进行人工标注。具体来说,对于Twitter-2017数据集,从训练集中随机抽取200个样本进行人工标注,而对于Twitter-2015数据集,数量为120。标注过程包括两个主要部分。第一部分是识别句子中的命名实体,第二部分是综合考虑图像和文本内容以及相关知识,提供全面的理由说明。在标注过程中遇到的多种情况中,标注者需要从人类的角度正确判断并解释样本。对于图像和文本相关的样本,我们直接说明图像中强调了文本中的哪些实体。对于图像和文本无关的样本,我们直接声明图像描述与文本无关。通过人工标注过程,强调了句子中的实体及其对应的类别。此外,引入了相关的辅助知识来支持这些判断。这个细致的标注过程为ChatGPT提供了指导,使其能够生成高度相关且有价值的回答。

  2. 多模态相似示例感知模块
    由于GPT的少样本学习能力在很大程度上取决于上下文示例的选择,我设计了多模态相似示例感知(MSEA)模块来选择合适的上下文示例。作为一个经典的多模态任务,MNER的预测依赖于文本和视觉信息的整合。因此,我们将文本和图像的融合特征作为评估相似示例的基本标准。而这种多模态融合特征可以从之前的多模态命名实体识别(MNER)模型中获得。将MNER数据集D和预定义的人工样本
    G

在这里插入图片描述

在以往的研究中,经过交叉注意力投射到高维潜在空间的融合特征H会直接输入到解码层,以进行结果预测。我们的模型选择HH作为相似示例的判断依据,因为在高维潜在空间中相近的示例更有可能具有相同的映射方式和实体类型。计算测试输入与每个预定义人工样本的融合特征H的余弦相似度。然后,选择前N个相似的预定义人工样本作为上下文示例,以启发ChatGPT生成辅助的精炼知识:
在这里插入图片描述
为了高效实现相似示例的感知,所有的多模态融合特征可以提前计算并存储。

三、数据集介绍

我们在两个公共 MNER 数据集上进行了实验:Twitter-2015和 Twitter-2017。这两个数据集都是从Twitter平台上收集的,包含了文本和图像的配对信息,主要用于研究在社交媒体短文本场景下的多模态命名实体识别和情感分析等任务。、

  1. Twitter-2015: 推文中的文本部分被手动标注了命名实体,并使用BIO2(Beginning- Inside-Outside)标注方案对命名实体进行分类。实体类别包括人物(Person)、组织(Organization)、地点(Location)等。3373/723/723(train/development/test)

三、性能展示

在这里插入图片描述

  • 本文所有资源均可在该地址处获取。

实现过程

在下载附件并准备好数据集并调试代码后,进行下面的步骤,附件已经调通并修改,可直接正常运行;
环境要求

python == 3.7
torch == 1.13.1
transformers == 4.30.2
modelscope == 1.7.1
  1. 我们的项目基于AdaSeq, AdaSeq项目基于Python版本>= 3.7和PyTorch版本>= 1.8。

  2. 下载

git clone https://github.com/modelscope/adaseq.git
cd adaseq
pip install -r requirements.txt -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
  1. 训练模型
python -m scripts.train -c examples/ER/twitter-15.yamlpython -m scripts.train -c examples/ER/twitter-17.yaml

运行过程

训练过程

在这里插入图片描述

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

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

相关文章

【嵌入式】STM32中的SPI通信

SPI是由摩托罗拉公司开发的一种通用数据总线,其中由四根通信线,支持总线挂载多设备(一主多从),是一种同步全双工的协议。主要是实现主控芯片和外挂芯片之间的交流。这样可以使得STM32可以访问并控制各种外部芯片。本文…

map.computeIfAbsent() 与 map.putIfAbsent()的异同

map.computeIfAbsent() 和 map.putIfAbsent() 都是 java.util.Map 接口提供的方法,用于处理键值对的插入操作。它们在功能上有相似之处,但也有一些重要的区别。下面详细解释这两个方法的异同: map.putIfAbsent(K key, V value) 功能&#xf…

Python 常用数据容器(学习笔记)

文章目录 前言1、什么是数据容器?2、列表 (list)2.1 列表的定义和使用2.2 列表元素的访问2.3 列表的常用操作方法2.4 列表的循环遍历 3、元组 (tuple)3.1 元组的定义和使用3.2 元组的访问3.3 元组的常用操作方法3.4元组的循环遍历 4、字符串 (str)4.1 字符串的定义与…

【汽车租聘管理与推荐】Python+Django网页界面+推荐算法+管理系统网站

一、介绍 汽车租聘管理与推荐系统。本系统使用Python作为主要编程语言,前端采用HTML、CSS、BootStrap等技术搭建前端界面,后端采用Django框架处理用户的请求。创新点:使用协同过滤推荐算法实现对当前用户个性化推荐。 其主要功能如下&#…

快速入门CSS

欢迎关注个人主页:逸狼 创造不易,可以点点赞吗 如有错误,欢迎指出~ 目录 CSS css的三种引入方式 css书写规范 选择器分类 标签选择器 class选择器 id选择器 复合选择器 通配符选择器 color颜色设置 border边框设置 width/heigth 内/外边距 C…

uniapp实现H5和微信小程序获取当前位置(腾讯地图)

之前的一个老项目,使用 uniapp 的 uni.getLocation 发现H5端定位不准确,比如余杭区会定位到临平区,根据官方文档初步判断是项目的uniapp的版本太低。 我选择的方式不是区更新uniapp的版本,是直接使用高德地图的api获取定位。 1.首…

探索Python网络请求新纪元:httpx库的崛起

文章目录 **探索Python网络请求新纪元:httpx库的崛起**第一部分:背景介绍第二部分:httpx库是什么?第三部分:如何安装httpx库?第四部分:简单的库函数使用方法1. 发送GET请求2. 发送POST请求3. 超…

产品的四个生命周期,产品经理需深刻理解

在产品管理的世界里,产品就像有生命的个体,经历着从诞生到消亡的过程。作为产品经理,深刻理解产品的四个生命周期 —— 引入期、成长期、成熟期和衰退期,是打造成功产品的关键。 引入期:破局的起点 对于 B 端产品而言&…

TensorFlow|咖啡豆识别

🍨 本文为🔗365天深度学习训练营中的学习记录博客🍖 原作者:K同学啊 🍺 要求: 自己搭建VGG-16网络框架调用官方的VGG-16网络框架 🍻 拔高(可选): 验证集准…

《深入浅出Apache Spark》系列②:Spark SQL原理精髓全解析

导读:SQL 诞生于 20 世纪 70 年代,至今已有半个世纪。SQL 语言具有语法简单,低学习门槛等特点,诞生之后迅速普及与流行开来。由于 SQL 具有易学易用的特点,使得开发人员容易掌握,企业若能在其计算机软件中支…

需求分析管理

软件需求工程是包括创建和维护软件需求文档所必须得一切活动的过程,可以分为需求开发和需求管理两大工作。 需求开发过程(四阶段) 需求的分析(或者需求开发)过程包括,收集与获取需求,进行需求分析,定义需…

机器学习与深度学习-1-线性回归从零开始实现

机器学习与深度学习-1-线性回归从零开始实现 1 前言 ​ 内容来源于沐神的《动手学习深度学习》课程,本篇博客对线性回归从零开始实现(即不调用封装好的库,如SGD优化器、MSE损失函数等)进行重述,并且修改了沐神的课堂…

在 Sanic 中配置 Worker 并发数量的最佳实践

在 Sanic 中,您可以通过配置 worker 的数量来控制并发处理请求的能力。Sanic 是一个异步的 Python Web 框架,允许您创建高性能的 HTTP 服务器。您可以通过以下几个步骤来设置和管理一个 worker 的并发数量。 1. Worker 数量 在 Sanic 中,您…

点云从入门到精通技术详解100篇-基于结构光测量的三维人脸重建及识别(中)

目录 2.1.2 投影光栅几何标定模型建立 2.1.2.1 线性相位——高度模型 2.1.2.2 非线性相位——高度模型 2.1.2.3 三角立体模型 2.1.3 系统参数标定 2.1.3.1 摄像机模型 2.1.3.2 系统参数标定 2.2 基于结构光的三维人脸重建技术 2.2.1 人脸条纹图技术分析 2…

VMware虚拟机可以被外部机器访问吗?

如何设置让同局域网内其他机器访问本地虚拟机服务(这里以访问我本地虚拟机ELasticSearch服务为例) 选中虚拟机 - 虚拟机 - 设置 虚拟机网络设置: 选中网络适配器,修改网络模式为NAT模式 编辑 - 虚拟机网络编辑器 更改设置 …

【论文复现】自动化细胞核分割与特征分析

本文所涉及所有资源均在这里可获取。 作者主页: 七七的个人主页 文章收录专栏: 论文复现 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 自动化细胞核分割与特征分析 引言效果展示HoverNet概述HoverNet原理分析整…

【NOIP普及组】质因数分解

【NOIP普及组】质因数分解 C语言代码C代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。 输入 输入只有一行,包含一个正整数…

2024软件测试面试热点问题

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 大厂面试热点问题 1、测试人员需要何时参加需求分析? 如果条件循序 原则上来说 是越早介入需求分析越好 因为测试人员对需求理解越深刻 对测试工…

qt QTextStream详解

1、概述 QTextStream类是Qt框架中用于处理文本输入输出的类。它提供了一种方便的方式,可以从各种QIODevice(如QFile、QBuffer、QTcpSocket等)中读取文本数据,或者将文本数据写入这些设备中。QTextStream能够自动处理字符编码的转…

【LeetCode】【算法】287. 寻找重复数

LeetCode 287. 寻找重复数 题目描述 给定一个包含 n 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解…