前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于国产chatGLM微调nlp信息抽取任务

基于国产chatGLM微调nlp信息抽取任务

作者头像
机器学习AI算法工程
发布于 2024-05-11 06:01:50
发布于 2024-05-11 06:01:50
4860
举报
向AI转型的程序员都关注了这个号👇👇👇

一、传统nlp做信息抽取

  1. 文本预处理:包括去除HTML标签、分段、分句、分词、词性标注、命名实体识别等。
  2. 句法分析:对句子进行结构分析,确定语法成分和关系。可以采用依存句法或者短语结构句法进行分析。
  3. 语义分析:使用自然语言理解技术进行语义解析,提取句子的含义。包括词义消歧、指代消解、情感分析等。
  4. 实体识别:对文本中的实体进行识别,包括人名、地名、组织机构名等。可以采用规则匹配、统计学方法、机器学习等方法进行实现。
  5. 关系抽取:基于实体识别和语义分析结果,提取实体之间的关系。可以采用规则匹配、模式匹配、统计学方法、机器学习等方法进行实现。
  6. 结果过滤:根据需要,对抽取的信息进行筛选和过滤。可以采用阈值过滤、逻辑判断、规则匹配等方法进行实现。

在这个流程中,有几个困难点需要注意:

  1. 数据质量问题:数据质量会影响到整个流程的效果,因此需要对数据进行清洗、去重等操作。需要大量人工标注数据,进行训练才能达到想要的效果
  2. 解析复杂度问题:句法分析和语义分析都是NLP中比较复杂的任务,需要耗费大量的计算资源和时间。
  3. 实体识别难点:实体识别需要考虑上下文环境、实体类型、同名实体等问题,这些都会影响到实体识别的准确性。
  4. 关系抽取挑战:关系抽取需要考虑多个实体之间的关系,同时还需要解决一些歧义问题。

在整个流程中,实体识别和关系抽取是比较关键的工作,它们的准确性直接影响到信息抽取的结果。

二、什么是零样本和少样本

1. 零样本和少样本的概念:

零样本和少样本是机器学习领域中常见的两个概念,特别是在图像识别自然语言处理等领域中应用较为广泛。所谓的零样本学习是指模型在没有任何样本数据的情况下进行预测;而少样本学习则是指模型只有很少的样本数据时进行预测。

2. 零样本和少样本的应用场景:

在实际应用中,零样本和少样本学习都有广泛的应用场景。比如,在自然语言处理中,我们希望算法能够自动理解新出现的单词,即使它们从未在训练集中出现过,这就是一种零样本学习。另外,当我们需要训练一个模型来分类大量不同物体的图像时,如果每个类别的训练数据都很少,那么就需要利用少样本学习的方法来训练模型。

3. 零样本和少样本在大模型时代的优势和意义:

在当前的大模型时代,零样本和少样本学习变得更加重要。对于大规模的复杂任务,模型需要更多的数据来训练,但是获取足够的数据却非常困难。在这种情况下,通过零样本学习和少样本学习,我们可以利用已有的数据来加速模型的训练,并且提高模型的泛化能力。同时,这种方法还可以减少人工标注数据的工作量,大大降低了人力和时间成本。

4. 相比传统NLP,零样本和少样本学习具有以下优势:

更高的泛化能力:在传统NLP中,模型通常需要大量训练数据才能达到较好的性能。但是在实际应用中,我们经常遇到新的、未知的情况,此时传统NLP的表现会受到限制。而利用零样本和少样本学习的方法,则可以通过先前学习到的知识来更好地适应新的环境和任务,从而提高模型的泛化能力。

更低的数据标注成本:传统NLP通常需要大量的人工标注数据来进行模型的训练。但是这种方法需要耗费大量人力和时间,并且难以适应不断变化的场景。而利用零样本和少样本学习的方法,我们可以减少数据标注的成本,并且更快地适应新的任务和环境。

更广泛的应用场景:传统NLP通常需要大量的数据来支持模型的训练,因此很难在一些场景下应用,比如医疗、法律、金融等领域,这些领域的数据往往非常敏感、难以获取。而利用零样本和少样本学习的方法,则可以通过少量数据来支持模型的训练,并且在这些敏感领域具有更广泛的应用场景。

三、大模型时代信息抽取

console函数

在Rich库中,console和print函数都用于向控制台输出文本。它们的用途略有不同,print函数会将其参数打印成字符串,然后输出到控制台;而console对象则提供了许多其他的输出功能,如输出进度条、表格、警告信息等。

例如,你可以使用console.log()方法向控制台输出调试信息或状态更新,console.print()方法可以将数据按照指定格式输出为表格或树形结构,console.warn()方法可以显示警告信息等。这些功能可以帮助开发者更快地发现问题并解决它们。

console.status()方法用于向控制台输出状态信息。它通常用于在长时间运行的操作中显示进度。

例如,如果你有一个需要进行一段时间的耗时操作(比如下载大型文件),你可以使用console.status()方法在控制台上显示进度条或百分比,以便用户知道操作的进展情况。

console.status()方法接受三个参数:text、done和total。

text参数是要显示的文本,

done参数是已完成的数量,

total参数是总数量。

使用这些参数,console.status()方法会自动计算出当前进度,并将其以进度条的形式显示在控制台上。

例如,下面的代码演示了如何使用console.status()方法显示下载进度:

当你运行这段代码时,会在控制台上显示一个进度条,告诉你下载的进度。

1. 提示词设计

该任务的 prompt ,我们主要考虑 是什么,输出什么:

也就是:

  • 告诉模型你要干什么:信息抽取任务
  • 告诉模型输出格式

2. 微调逻辑

基于chatGLM微调nlp信息抽取任务的大致逻辑是这样的:

先进行对预料做一个分类,即该语料属于哪个概念(也就是属于哪个模式层,例如:猫,狗等概念层)。然后对这个概念进行属性的抽取:例如,猫有年纪,品种,产地等属性信息。

3. 数据样本

ok有了这个逻辑就知道,需要两个语料:

分类语料一:告诉模型 属于哪个模式层

微调语料二:告诉模型,一些示例,让它输出什么样的数据
在定义一下你想要的属性

根据需要添加即可:

4. 微调代码

5. 优势

可以看到,我们可以不在进行繁琐的数据标注工作,另外可以用少量的数据即可带来不错的表现。

参考文献

[1]. https://mp.weixin.qq.com/s/XlY2VUR9eXeiC8lJI5Q7Nw

[2]. https://github.com/HarderThenHarder/transformers_tasks

[3]. https://huggingface.co/THUDM/chatglm-6b

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习AI算法工程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Flink 概念
大数据知识脑图:https://github.com/whirlys/bigdata-mind-map
小旋锋
2019/11/06
3930
Flink 概念
20 图归纳 SQL 数据库知识点
正失望至极,却从曹大的圈子中翻出来一篇《财新周刊》的 PDF. 近曹大者富,果真一点都没有错。
Lenis
2019/12/25
5020
20 图归纳 SQL 数据库知识点
那些被问懵的Flink面试题
有没有去面试的时候被问到Flink的面试题你答不上来,为什么那?,菜吗?不是。原因是你接触的面试题太少了,那我今天就根据不同的群体来给大家你分享。
大数据老哥
2021/02/04
1.3K0
那些被问懵的Flink面试题
​flink实战-flink streaming sql 初体验
SQL,Structured Query Language:结构化查询语言,作为一个通用、流行的查询语言,不仅仅是在传统的数据库,在大数据领域也变得越来越流行,hive、spark、kafka、flink等大数据组件都支持sql的查询,使用sql可以让一些不懂这些组件原理的人,轻松的来操作,大大的降低了使用的门槛,今天我们先来简单的讲讲在flink的流处理中如何使用sql.
大数据技术与应用实战
2020/09/15
1.9K0
【Github】nlp-roadmap:自然语言处理路相关路线图(思维导图)和关键词(知识点)
看到Reddit和Github上一个有意思的项目:graykode/nlp-roadmap
AINLP
2019/09/29
1.5K0
超强NLP思维导图,知识点全面覆盖:从基础概念到最佳模型,萌新成长必备资源
有个名叫Tae-Hwan Jung的韩国小伙伴,做了一份完整的思维导图,从基础概念开始,到NLP的常用方法和著名算法,知识点全面覆盖。
量子位
2019/09/27
8610
超强NLP思维导图,知识点全面覆盖:从基础概念到最佳模型,萌新成长必备资源
Flink从入门到放弃(入门篇2)-本地环境搭建&构建第一个Flink应用
本地机器上需要有 Java 8 和 maven 环境,推荐在linux或者mac上开发Flink应用:
王知无-import_bigdata
2019/03/07
1.5K0
分布式计算—MapReduce、Spark、Storm、Flink分别适用什么场景
链接:https://www.zhihu.com/question/403840013/answer/1317631316
大数据老哥
2021/03/05
1.9K0
分布式计算—MapReduce、Spark、Storm、Flink分别适用什么场景
大数据学习必备 | 推荐几个牛X 的 github 项目,助你事半功倍
大家好,我是 梦想家 Alex 。我们都知道 github 对于程序员们而言,就是一个巨大的“聚宝盆”,上面不仅有很多优质的开源项目,还有很多热爱开源分享的开发者。但如何从浩如烟海的宝藏中,筛选出适合自己的优质项目呢?本期内容,我就为大家推荐几个我认为还不错的大数据学习必备的 牛 X 项目,希望大家看完有所收获。
大数据梦想家
2021/10/22
3.4K0
Flink-1.9流计算开发:六、reduce函数
Flink是下一代大数据计算平台,可处理流计算和批量计算。《Flink-1.9流计算开发:六、reduce函数》是cosmozhu写的本系列文章的第六篇。通过简单的DEMO来演示reduce函数执行的效果 。
cosmozhu
2020/06/15
2.1K0
【机器学习实战】第15章 大数据与MapReduce
本文介绍了如何使用 MapReduce 实现基于 PEGASOS 算法的 SVM,通过在 Hadoop 集群上使用 MRJob 来实现分布式训练,并利用 Cascading 和 Oozie 进行作业管理。
片刻
2018/01/05
1.3K0
【机器学习实战】第15章 大数据与MapReduce
基于 Flink 搭建实时平台
在大数据时代,金融科技公司通常借助消费数据来综合评估用户的信用和还款能力。这个过程中,某些中介机构会搜集大量的号并进行“养号”工作,即在一年周期里让这些号形成正常的消费、通讯记录,目的是将这些号“培养”得非常健康,然后卖给有欺诈意向的用户。这类用户通过网上信息提交审核,骗到贷款后就“销声匿迹”了。
大数据老哥
2021/08/25
7910
基于 Flink 搭建实时平台
Flink-1.9流计算开发:七、fold函数
Flink是下一代大数据计算平台,可处理流计算和批量计算。《Flink-1.9流计算开发:七、fold函数》是cosmozhu写的本系列文章的第七篇。通过简单的DEMO来演示fold函数执行的效果 。
cosmozhu
2020/06/15
7690
Flink SQL Gateway提交任务到flink on k8s集群
Flink SQL Gateway是一项允许多个客户端从远程并发执行 SQL 的服务。 它提供了一种简单的方法来提交 Flink 作业、查找元数据并在线分析数据。在Flink 1.16版本,官方即将SQL Gateway其合入Flink主线。可正式通过Flink官方包安装与启动Flink SQL Gateway。本为以Flink 1.17版本为例,介绍一种在K8s中启动Flink SQL Gateway,并连接到通过Flink kubernetes operator启动的Flink Session集群上。
从大数据到人工智能
2023/10/18
1K0
Flink SQL Gateway提交任务到flink on k8s集群
Flink 自定义SQL实现Hudi MOR表压缩
Hudi在构建流式数据湖方面具有领先地位。Flink作为真正的流处理引擎,与Hudi搭配是理所应当的事情了。但是目前Hudi MOR表压缩功能除了在线压缩以外,并不能通过SQL实现手动压缩。目前的实现方式为:
从大数据到人工智能
2022/09/16
8410
Flink 自定义SQL实现Hudi MOR表压缩
MapReduce 的核心知识点,你都 get 到了吗 ?(干货文章,建议收藏!)
众所周知,Hadoop 中最核心的两大组件就是 HDFS 和 MapReduce。其中 HDFS 提供了承载海量数据存储的能力,而 MapReduce 则提供了海量数据高并行计算的能力。关于 HDFS 的介绍,之前已经写了两篇来分别介绍 HDFS 的架构 和 HDFS实现文件管理和容错的文章 。而本期文章,我将为大家介绍关于 MapReduce 的核心知识点。
大数据梦想家
2021/10/22
1.9K0
工具:“类脑式”知识管理工具Lattics试用体验 | 知识管理
大概是因为我在知乎的“Obsidian”话题下表现得比较活跃,意外地收到了一个官方邀请,试用“类脑式”知识管理工具Lattics。
睿齐
2024/02/26
4490
工具:“类脑式”知识管理工具Lattics试用体验 | 知识管理
Java集合总结【面试题+脑图】,将知识点一网打尽!
前言 声明,本文用的是jdk1.8 花了一个星期,把Java容器核心的知识过了一遍,感觉集合已经无所畏惧了!!(哈哈哈….),现在来总结一下吧~~ 回顾目录: Collection总览 List集合就这么简单【源码剖析】 Map集合、散列表、红黑树介绍 HashMap就是这么简单【源码剖析】 LinkedHashMap就这么简单【源码剖析】 TreeMap就这么简单【源码剖析】 ConcurrentHashMap基于JDK1.8源码剖析 Set集合就这么简单! Java容器可分为两大类: Collectio
Java3y
2018/06/11
1.3K0
酷!markdown 脑图在线看!
非常高兴的告诉大家,xjjdog将常见的技术点,整理成了大量的脑图。鉴于目前市面上的脑图,都以xmind等形式去传输,给知识的传递和分享造成了很大的困扰。
xjjdog
2021/05/27
7990
我裂开了...人类脑海中的画面,被AI解码了??
大数据文摘授权转载自夕小瑶的卖萌屋 作者:白鹡鸰 有没有那么几个瞬间,你要么想把自己脑子里的东西掏出来给别人看,要么想撬开别人的脑子看看里面都装了什么?虽然错过了霍格沃茨的入学时间,但如果从现在开始学习扩散模型和神经学,可能很快你就能实现这个目标了。新加坡国立大学,香港中文大学,和Stanford联手,基于扩散模型实现了从脑电波还原图像的“人类视觉解码器”。效果奇佳,还开源了代码和数据,这还不来一起看看? ▲图1 基于脑电波还原的图像与真实图像对比 论文题目: Seeing Beyond the Brai
大数据文摘
2023/04/10
3500
我裂开了...人类脑海中的画面,被AI解码了??
推荐阅读
相关推荐
Flink 概念
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档