NLP之Bert介绍和简单示例

这篇具有很好参考价值的文章主要介绍了NLP之Bert介绍和简单示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Bert 介绍

官网访问:https://huggingface.co/

1.1 Bert 简介

NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习

1.2 注意力模型

注意力模型,可以参考知乎博客:https://zhuanlan.zhihu.com/p/37601161

即适合于图形和图像,也适合于自然语言处理。可以帮助我们快速识别重点。

例如在识别一张图片的时候,我们并不知道哪个地方是重点。在开始读一本书的时候,不知道哪个章节是重点。很快的进行一个全局的扫描,然后抓住了一些重要的部分,然后对该部分做精读、细读。以提高识别图片和阅读文章的效率。

这意味着神经网络阶段提高效率有两个方向:

  • 以用更多的高质量的海量数据,和更强的算力搭建更深层次的神经网络,来提升效果。
  • 若本身数据样本就不多,且算力也有限,在现有的资源的情况下,能不能提高注意力?把重点放到重要的特征上(例如图片中的人)。

在下面的图中,根据语言的提示,它很快就可以识别出哪部分是重要的,例如下图中的dog,意味着这些特征在后续会有更高的权重。
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
在经济学中我们常说“二八定律”,在认知学中有一个叫法“刻意练习”,这都是人类注意力模型的体现。
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
下图中 x 4 x_4 x4不仅受 x 3 x_3 x3的影响,还可能受 x 1 x_1 x1的影响。可以把LSTM理解成最原始的注意力。
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
拿到句子之后首先做分词,然后去词库中做相应的匹配和转换。在翻译Tom chase jerry的时候,最前面的这三个词,每个词的重要性很明显是不一样的。

一旦句子比较长的时候,用RNN就会有很大的问题,所以引入了LSTM。现阶段比LSTM更高级的就是注意力模型。
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
下面公式,有可能根据不同的词,权重参数是不一样的。
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
Bert已经将注意力模型封装好了,即使不知道其原理,也不影响使用。
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习

1.2 Bert 操作示例

NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
bert-base-chinese 一般可以用来做填词、情感分类等。
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
点击Compute
下面的案例是填词的作用。

NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
下面的案例,判断——巴黎是法国的首都
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
还有别的模型,类似下面的【中英文翻译模型】
NLP之Bert介绍和简单示例,# 1. 自然语言处理&知识图谱,bert,人工智能,深度学习
而这些预训练的模型,如果效果不好,我们也可以
这就很好的解决了小伙伴的迷惑,由于自然语言处理它的每个国家的语言比较复杂,而且某一门语言它所对应的需求也各式各样,所以才会出现针对不同的需求指定了不同的模型。即使我们使用了这个模型之后效果一般,我们可以像之前在深度学习那样,我们也叫做迁移学习,可以在现有的基础之上,去修改一些参数。

总而言之,有了Bert之后,它对于我们自然语言处理的精度效果有大大的提升。

2. 代码示例

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")
input_ids = tokenizer.encode('欢迎来到Bert世界', return_tensors='tf')
print(input_ids)

输出内容:

tf.Tensor([[ 101 3614 6816 3341 1168  100  686 4518  102]], shape=(1, 9), dtype=int32)

2.1 代码流程

代码片段涉及到了使用transformers库来加载一个预训练的BERT模型的分词器,并用它来对一段文本进行编码。以下是整体流程和目的的分步说明:

  1. 导入AutoTokenizer类:
    from transformers import AutoTokenizer这行代码导入了transformers库中的AutoTokenizer类。这个类可以自动检测并加载与给定模型相对应的分词器(tokenizer)。

  2. 加载分词器:
    tokenizer = AutoTokenizer.from_pretrained("bert-base-chinese")这行代码创建了一个分词器的实例。from_pretrained方法用于加载预先训练好的分词器,这里是"bert-base-chinese",专门为中文文本设计的BERT模型的分词器。

  3. 文本编码:
    input_ids = tokenizer.encode('欢迎来到Bert世界', return_tensors='tf')这行代码用分词器将提供的中文字符串'欢迎来到Bert世界'转换成BERT模型能够理解的输入格式,即一系列的数字ID。每个ID对应原始文本中的一个词或子词单位。return_tensors='tf'指定返回的格式为TensorFlow张量。

  4. 打印输出:
    print(input_ids)这行代码输出编码后的input_ids。这个输出是用于后续的模型预测或者微调过程的输入。

    tf.Tensor([[ 101 3614 6816 3341 1168  100  686 4518  102]], shape=(1, 9), dtype=int32)
    

目的:
这段代码的主要目的是为了准备数据,将自然语言文本转换为BERT模型可以接受的格式,这是使用BERT模型进行任务(如分类、问答等)前的标准步骤。文章来源地址https://www.toymoban.com/news/detail-743828.html

到了这里,关于NLP之Bert介绍和简单示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自然语言处理(八):预训练BERT

    BERT(Bidirectional Encoder Representations from Transformers)是一种预训练的自然语言处理模型,由Google于2018年提出。它是基于Transformer模型架构的深度双向(双向指同时考虑上下文信息)表示学习模型。 BERT的目标是通过在大规模文本语料上进行自监督学习来学习通用的语言表示。在预

    2024年02月09日
    浏览(51)
  • 2、BERT:自然语言处理的变革者

    请参考之前写的: 2、什么是BERT?-CSDN博客 文章浏览阅读826次,点赞19次,收藏22次。BERT(Bidirectional Encoder Representations from Transformers)是Google在2018年提出的一种自然语言处理(NLP)预训练模型。BERT模型的创新之处在于它采用了Transformer的编码器架构,并且是第一个真正基于双

    2024年02月02日
    浏览(37)
  • NLP自然语言介绍

    自然语言处理(Natural Language Processing, NLP)是人工智能领域中研究和处理人类语言的一项技术。它涉及将人类语言转化为计算机可理解和处理的形式,以便计算机能够理解、分析、生成和回复自然语言。 NLP技术的目标是使计算机能够像人类一样理解和处理语言。它包括以下几

    2024年01月24日
    浏览(44)
  • 自然语言处理-NLP

    目录 自然语言处理-NLP 致命密码:一场关于语言的较量 自然语言处理的发展历程 兴起时期 符号主义时期 连接主义时期 深度学习时期 自然语言处理技术面临的挑战 语言学角度 同义词问题 情感倾向问题 歧义性问题 对话/篇章等长文本处理问题 探索自然语言理解的本质问题

    2024年02月11日
    浏览(82)
  • NLP(自然语言处理)

     一、NLP是什么 自然语言处理( Natural Language Processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究

    2024年02月02日
    浏览(72)
  • 自然语言处理(NLP)

    基础 自然语言处理(NLP) 自然语言处理PaddleNLP-词向量应用展示 自然语言处理(NLP)-前预训练时代的自监督学习 自然语言处理PaddleNLP-预训练语言模型及应用 自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram) 自然语言处理PaddleNLP-词法分析技术及其应用 自然语言处理Pa

    2024年02月08日
    浏览(52)
  • 自然语言处理(NLP)技术

            自然语言处理技术是一种人工智能技术,它的目标是使计算机能够理解、分析、处理和生成自然语言(人类使用的语言)。NLP技术包括文本分类、情感分析、机器翻译、语音识别、语音合成、信息检索、信息抽取、问答系统等。NLP技术的应用非常广泛,例如智能客

    2024年02月14日
    浏览(59)
  • 聊聊自然语言处理NLP

    自然语言处理(NLP)的正式定义:是一个使用计算机科学、人工智能(AI)和形式语言学概念来分析自然语言的研究领域。不太正式的定义表明:它是一组工具,用于从自然语言源(如web页面和文本文档)获取有意义和有用的信息。 NLP工具的实现一般是基于机器学习与深度学习、其它

    2024年02月14日
    浏览(68)
  • 自然语言处理2-NLP

    目录 自然语言处理2-NLP 如何把词转换为向量 如何让向量具有语义信息 在CBOW中 在Skip-gram中 skip-gram比CBOW效果更好 CBOW和Skip-gram的算法实现 Skip-gram的理想实现 Skip-gram的实际实现 在自然语言处理任务中, 词向量(Word Embedding)是表示自然语言里单词的一种方法 ,即把每个词都表

    2024年02月11日
    浏览(69)
  • 自然语言处理NLP:一文了解NLP自然语言处理技术,NLP在生活中的应用,图导加深了解,NLP语料库,NLP开源工具

    目录 1.自然语言处理NLP 1.1 NLP中英对照(双份) 1.2 相关文章  2.NLP语料库

    2024年02月09日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包