🚀 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
由譚巖
和池澤文
用心創建