Bert如何融入知识一-百度和清华ERINE

2023-10-14 12:15

本文主要是介绍Bert如何融入知识一-百度和清华ERINE,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Bert如何融入知识(一)-百度和清华ERINE

首先想一下Bert是如何训练的?首先我获取无监督语料,随机mask掉一部分数据,去预测这部分信息。

这个过程其实和W2C很类似,上下文相似的情况下,mask掉的单词的词向量很可能非常相近。

比如说”今天米饭真好吃“和”今天苹果真好吃“,很有可能”米饭“和”苹果“学出来的向量就很相似。

我在李如有一篇文章中《BERT句子表示的可视化》有这样一句话,contextual dependent词向量的一个缺点,就是上下文相似的情况下词向量也很接近。

从这里,我觉得很容易就可以发现一个问题,就是Bert确实抽取能力非常的强,但是他也是在死记硬背的学这些知识。

想一下,为什么我们需要在Bert中融入一些知识呢?

我们考虑这么一个例子,比如我要对一个文本进行分类:”库克今日来北京进行商务洽谈活动“

单从bert做一个文本分类,可能模型很难从语义角度进行决断。

但是,我现在的知识图谱中有这样一个三元组:库克-CEO-苹果公司

我把这个三元组的信息融入到我的模型之中,也就是我在文本分类的时候不仅仅使用了你的原始文本,还是使用了知识图谱中的三元组信息,相当于一种信息的增强,这个时候我的模型就可以文本分类为”IT公司“这个类别。

一般来说,涉及到Bert中融入知识,大家都会涉及到两个文章:百度的 ERNIE from Baidu 和清华的ERNIE from THU

我先从整体的思路说一下两者:

ERNIE from Baidu 出发点是这样的,Bert 的mask只是 mask掉单字,放在中文中,一般来说词汇会带有比字更多的信息。

比如说

哈[mask]滨真冷啊 是Bert基础操作

[mask][mask][mask]真冷啊 是ERNIE from Baidu的操作

也就是,我预测的不仅仅是一个单字,而是一个实体词组。

对于这个操作,我是这么想的,首先从难度来讲,去预测一个词组会比预测一个单字难,而且这个词组是一个实体,所以在学习的时候回学习到实体信息

ERNIE from THU

对于这个模型,我是这么想的,百度利用的是预测句子中的实体信息。而清华这边的操作是加入了外部的知识信息。

就像最开始我们的例子,”库克-CEO-苹果公司“,这是外部知识,这个不是我文本中的信息,相当于显示的加入了外部信息。

当然清华这边应该也只是使用到了实体信息(做了实体对齐)

我们需要考虑两个问题:

  1. 如何抽取并且更好的表达知识图谱的信息:知识嵌入算法(如TransE)

  2. 实体向量和Bert的向量在不同的空间,如何缓解两者之间的Gap:

对于这个问题,从模型架构上来解决,使用两种:

textual encoder (T-Encoder):类别Bert

knowledgeable encoder (K-Encoder):用于将外部的知识图谱的信息融入到模型中;

对于Bert融入知识信息,主要是参考以下文章:

站在BERT肩膀上的NLP新秀们(PART I) - kaiyuan的文章 - 知乎
https://zhuanlan.zhihu.com/p/68295881

写的还不错,介绍了百度和清华的ERINE

Bert 改进: 如何融入知识 - 老宋的茶书会的文章 - 知乎
https://zhuanlan.zhihu.com/p/69941989

写的还不错,介绍了百度和清华的ERINE

BERT与知识图谱的结合——ERNIE模型浅析 - 段易通的文章 - 知乎
https://zhuanlan.zhihu.com/p/75466388

写的还不错,介绍了百度和清华的ERINE

这篇关于Bert如何融入知识一-百度和清华ERINE的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

8. 自然语言处理中的深度学习:从词向量到BERT

引言 深度学习在自然语言处理(NLP)领域的应用极大地推动了语言理解和生成技术的发展。通过从词向量到预训练模型(如BERT)的演进,NLP技术在机器翻译、情感分析、问答系统等任务中取得了显著成果。本篇博文将探讨深度学习在NLP中的核心技术,包括词向量、序列模型(如RNN、LSTM),以及BERT等预训练模型的崛起及其实际应用。 1. 词向量的生成与应用 词向量(Word Embedding)

【Python知识宝库】上下文管理器与with语句:资源管理的优雅方式

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、什么是上下文管理器?二、上下文管理器的实现三、使用内置上下文管理器四、使用`contextlib`模块五、总结 前言 在Python编程中,资源管理是一个重要的主题,尤其是在处理文件、网络连接和数据库

dr 航迹推算 知识介绍

DR(Dead Reckoning)航迹推算是一种在航海、航空、车辆导航等领域中广泛使用的技术,用于估算物体的位置。DR航迹推算主要通过已知的初始位置和运动参数(如速度、方向)来预测物体的当前位置。以下是 DR 航迹推算的详细知识介绍: 1. 基本概念 Dead Reckoning(DR): 定义:通过利用已知的当前位置、速度、方向和时间间隔,计算物体在下一时刻的位置。应用:用于导航和定位,

【H2O2|全栈】Markdown | Md 笔记到底如何使用?【前端 · HTML前置知识】

Markdown的一些杂谈 目录 Markdown的一些杂谈 前言 准备工作 认识.Md文件 为什么使用Md? 怎么使用Md? ​编辑 怎么看别人给我的Md文件? Md文件命令 切换模式 粗体、倾斜、下划线、删除线和荧光标记 分级标题 水平线 引用 无序和有序列表 ​编辑 任务清单 插入链接和图片 内嵌代码和代码块 表格 公式 其他 源代码 预

Imageview在百度地图中实现点击事件

1.首先第一步,需要声明的全局有关类的引用 private BMapManager mBMapMan; private MapView mMapView; private MapController mMapController; private RadioGroup radiogroup; private RadioButton normalview; private RadioBu