【学习草稿】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![在这里插入图片描述](https://file.jishuzhan.net/article/1715654994151084034/8892b00c510de9e7b0d8d1adce37567c.webp)

相关推荐
风象南7 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶7 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶7 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考10 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab11 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab11 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯
格砸12 小时前
从入门到辞职|从ChatGPT到OpenClaw,跟上智能时代的进化
前端·人工智能·后端
可观测性用观测云13 小时前
可观测性 4.0:教系统如何思考
人工智能
sunny86513 小时前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
小笼包包仔13 小时前
OpenClaw 多Agent软件开发最佳实践指南
人工智能