• 【学习草稿】bert文本分类


    https://github.com/google-research/bert
    https://github.com/CyberZHG/keras-bert

    在 BERT 中,每个单词的嵌入向量由三部分组成:

    Token 嵌入向量:该向量是 WordPiece 分词算法得到的子单词 ID 对应的嵌入向量。

    Segment 嵌入向量:该向量用于表示每个单词所属的句子。对于一个包含两个句子的序列,使用0表示第一个句子,使用1表示第二个句子。对于一个只包含一个句子的序列,将所有的句子标记都设置为0。

    Position 嵌入向量:该向量用于表示每个单词在序列中的位置。对于一个长度为L的序列,每个单词都会被分配一个表示其位置的向量,该向量的维度为d,其中d是嵌入向量的维度。

    这三个向量会被按照一定的方式进行组合,得到一个最终的嵌入向量,用于表示当前单词在上下文中的语义信息。这个嵌入向量会作为输入序列的一部分,输入到模型中进行训练或推理。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    return [“”.join(x) for x in output]

    return [“”.join(x) for x in output]是一个列表推导式,用于将output列表中的子列表转换为字符串列表。

    具体来说,output列表中的每个子列表表示一个单词,其中包含了该单词中的所有字符。例如,对于输入文本Hello, world!,_run_split_on_punc()函数会将其分割成一个包含5个子列表的列表[[‘H’, ‘e’, ‘l’, ‘l’, ‘o’], [‘,’], [’ ‘], [‘w’, ‘o’, ‘r’, ‘l’, ‘d’], [’!']],其中每个子列表表示一个单词。

    列表推导式[“”.join(x) for x in output]的作用是将每个子列表中的字符拼接成一个字符串,并将这些字符串组合成一个新的字符串列表。具体来说,“”.join(x)将一个子列表中的所有字符拼接成一个字符串,而[“”.join(x) for x in output]则将output列表中的每个子列表都转换为一个字符串,并将这些字符串组合成一个新的列表。

    例如,对于输入文本Hello, world!,_run_split_on_punc()函数会将其分割成一个包含5个子列表的列表[[‘H’, ‘e’, ‘l’, ‘l’, ‘o’], [‘,’], [’ ‘], [‘w’, ‘o’, ‘r’, ‘l’, ‘d’], [’!']],而列表推导式[“”.join(x) for x in output]则会将这些子列表转换为一个新的字符串列表[‘Hello’, ‘,’, ’ ', ‘world’, ‘!’],其中每个字符串表示一个单词。
    在这里插入图片描述
    打印格式问题,才会有空格。。

    在这里插入图片描述
    在这里插入图片描述

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/56628d678330476fab698daf7d8c5703.png在这里插入图片描述

  • 相关阅读:
    20231008-20231013 读书笔记
    十天学前端之JS篇(七)
    Java集合相关知识
    ​LeetCode解法汇总121. 买卖股票的最佳时机
    OpenCV第二篇:读取图像和保存图像
    LeetCode209——长度最小的子数组
    9月16日,每日信息差
    深度学习之基于YoloV5抽烟检测系统
    登录页直接拿 那
    本地环境下启动openFaas创建的Java的云函数
  • 原文地址:https://blog.csdn.net/woomay/article/details/133947826