🚀 GuwenBERT
GuwenBERT是一个在文言文上预训练的RoBERTa模型,可针对断句、标点、命名实体识别等下游任务进行微调,为文言文相关的自然语言处理任务提供了有力支持。
🚀 快速开始
你可以按照以下代码示例使用GuwenBERT:
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("ethanyt/guwenbert-base")
model = AutoModel.from_pretrained("ethanyt/guwenbert-base")
✨ 主要特性
- 基于RoBERTa架构,在大量文言文数据上进行预训练。
- 可用于多种下游任务,如断句、标点、命名实体识别等。
📦 安装指南
文档未提及具体安装步骤,你可参考transformers
库的官方安装指引进行安装。
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("ethanyt/guwenbert-base")
model = AutoModel.from_pretrained("ethanyt/guwenbert-base")
📚 详细文档
模型描述

这是一个在文言文上预训练的RoBERTa模型。你可以对GuwenBERT进行微调以用于下游任务,例如断句、标点、命名实体识别等等。
有关RoBERTa的更多信息,请查看RoBERTa的官方仓库。
训练数据
训练数据是殆知阁古代文献数据集,包含15694本文言文书籍,涵盖佛教、儒家、医学、历史、子、易、经藏、史藏、道教和集藏等领域。其中76%的书籍带有标点。总字符数为17亿(1,743,337,673)。所有繁体字都已转换为简体字。词汇表由此数据集构建而成,大小为23292。
训练过程
模型使用hfl/chinese-roberta-wwm-ext
进行初始化,然后采用两步策略进行预训练。
第一步,模型仅更新词嵌入来学习掩码语言模型(MLM),直到收敛。第二步,在训练过程中更新所有参数。
模型在4个V100 GPU上进行了120K步的训练(第一步20K步,第二步100K步),批次大小为2048,序列长度为512。使用的优化器是Adam,学习率为2e - 4,adam - betas为(0.9, 0.98),adam - eps为1e - 6,权重衰减为0.01,学习率在5K步内进行热身,之后线性衰减。
评估结果
“古联杯”古籍命名实体识别评测
在比赛中获得第二名。详细测试结果如下:
命名实体类型 |
精确率 |
召回率 |
F1值 |
书名 |
77.50 |
73.73 |
75.57 |
其他名称 |
85.85 |
89.32 |
87.55 |
微平均 |
83.88 |
85.39 |
84.63 |
🔧 技术细节
- 模型初始化:使用
hfl/chinese-roberta-wwm-ext
进行初始化。
- 训练策略:采用两步预训练策略,第一步仅更新词嵌入,第二步更新所有参数。
- 训练环境:在4个V100 GPU上训练,共120K步,批次大小2048,序列长度512。
- 优化器:使用Adam优化器,学习率2e - 4,adam - betas为(0.9, 0.98),adam - eps为1e - 6,权重衰减0.01,学习率热身5K步后线性衰减。
📄 许可证
本项目采用Apache - 2.0许可证。
👥 关于我们
我们来自北京理工大学的Datahammer。如需更多合作,请发送邮件至:ethanyt [at] qq.com
由谭岩
和池泽文
用心创建