码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 任务十一 BERT


    目录

    如何运行tensorflow

    Transformer

    decode和encode

    attention机制

    Transformer总体结构 

    ​编辑

    bert代码

    读取数据集(预处理)

    数据预处理模块

    基于BERT的中文情感分析

    修改传入参数(路径 相对路径)

    修改数据读取的代码


    如何运行tensorflow

    Transformer

    decode和encode

    decode encode
    decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode(‘gb2312’),表示将gbk编码的字符串str1转换成unicode编码。encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312’),表示将unicode编码的字符串str2转换成gbk编码。

    attention机制

    attention是一种能让模型对重要信息重点关注并充分学习吸收的技术,它不算是一个完整的模型,应当是一种技术,能够作用于任何序列模型中。

    Transformer总体结构 

    Transformer模型中也采用了 encoer-decoder 架构 

     每一个encoder和decoder的内部简版结构

    对于encoder,包含两层,一个self-attention层和一个前馈神经网络,self-attention能帮助当前节点不仅仅只关注当前的词,从而能获取到上下文的语义。decoder也包含encoder提到的两层网络,但是在这两层中间还有一层attention层,帮助当前节点获取到当前需要关注的重点内容。

    模型的内部细节。

    首先,模型需要对输入的数据进行一个embedding操作,(也可以理解为类似w2c的操作),enmbedding结束之后,输入到encoder层,self-attention处理完数据后把数据送给前馈神经网络,前馈神经网络的计算可以并行,得到的输出会输入到下一个encoder。

    bert代码

    读取数据集(预处理)

    如果是自定义的数据集还需要手动的修改代码

    get_train_example(把数据一行一行读进来)

    num_train_step 迭代次数

    num_warmup_steps 还原学习率

    数据预处理模块

    把数据写成tfrecord文件

     核心函数 

     构建标签

    切分词 wordpiece

     

    添加分隔符 CLS SEP SEP 

     通过索引来找词

     方便写进tfrecord的操作(这一部分是在file_based_convert_examples_to_features函数里)

     写进tfrecord里

    基于BERT的中文情感分析

    修改传入参数(路径 相对路径)

    修改数据读取的代码

    1. class MyDataProcessor(DataProcessor ):
    2. """Base class for data converters for sequence classification data sets."""
    3. def get_train_examples(self, data_dir):
    4. """Gets a collection of `InputExample`s for the train set."""
    5. file_path=os.path.join(data_dir,'train_sentiment.txt')
    6. f=open(file_path,'r',encoding='utf-8')
    7. train_data=[]
    8. index=0
    9. for line in f.readlines():
    10. guid="train-%d"%(index)
    11. line=line.replace('\n','').split('\t')
    12. text_a=tokenization.convert_to_unicode(str(line[1]))
    13. lable=str(line[2])
    14. train_data.append(
    15. InputExample(guid=guid,text_a=text_a,text_b=None,lable=lable)
    16. )
    17. return train_data

    返回标签是 '0' '1' '2'

  • 相关阅读:
    用Typescript 的方式封装Vue3的表单绑定,支持防抖等功能。
    【软考】5.1 七层模型/局域网/TCP-IP协议
    [BJDCTF2020]Cookie is so stable-1|SSTI注入
    mysql 中 varchar 和 text 的区别
    Python浪漫星空
    做灯泡还是发动机:码农的职业发展的思考
    JVM GC算法总结
    ch0-01
    BeanPostProcessor和BeanFactoryPostProcessor简单介绍
    [力扣146. LRU 缓存 ](https://leetcode.cn/problems/lru-cache/description/)
  • 原文地址:https://blog.csdn.net/m0_62309595/article/details/126672208
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号