Update README.md
Browse files
README.md
CHANGED
@@ -1,3 +1,41 @@
|
|
1 |
---
|
2 |
license: apache-2.0
|
|
|
|
|
3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
license: apache-2.0
|
3 |
+
language:
|
4 |
+
- zh
|
5 |
---
|
6 |
+
# THUCBERT
|
7 |
+
|
8 |
+
## 介绍
|
9 |
+
|
10 |
+
THUCBERT是由清华大学自然语言处理与社会人文计算实验室开发的基于字符的中文预训练BERT模型。模型具有如下特点:
|
11 |
+
|
12 |
+
1. 训练语料质量高,包括图书、百科、报纸、期刊等97G语料,共计378亿字;
|
13 |
+
|
14 |
+
2. tokenizer基于字符,字表齐全,对于繁体和异体字会自动映射到对应简体,对非中英字符会映射到对应语种token;
|
15 |
+
|
16 |
+
目前主流的中文BERT模型中文字符不全,大多沿用谷歌<a href="https://huggingface.co/bert-base-chinese">bert-base-chinese</a>的词表,根据维基百科语料统计而来,而它缺失了国家通用规范汉字表8105字中的2765字,例如镊、馊、犟、囵、鲠、殄、箪、廪、勠等中低频字。
|
17 |
+
|
18 |
+
3. 使用了基于字频的降采样策略。对字符进行MASK时,降低高频字的MASK概率,防止大量的训练集中在高频常见字上,提升模型对于低频字的理解能力;
|
19 |
+
|
20 |
+
4. 使用了层次化的字词混合MASK策略。
|
21 |
+
|
22 |
+
基于整词MASK的模型和基于字MASK的模型各有优势,我们采用了字词混合的MASK策略,在整词MASK提升性能的同时,也训练对层次化语义的理解能力。具体的做法是将语料进行分词后,每个词再利用wordpiece进行细分,形成一个词到字的层次结构(例如:计算机→计算+机→计+算+机),采样时依据归一化的概率整体MASK其中一部分(例如:计算机、计算或单字)。
|
23 |
+
|
24 |
+
## 模型地址
|
25 |
+
|
26 |
+
| 模型名称 | MASK策略 | Hugginface地址 |
|
27 |
+
| ----------- | -------------- | ------------------------------------------------------------ |
|
28 |
+
| THUCBERT-cm | 字 | <a href="https://huggingface.co/chengzl18/bert-base-chinese-char-cm">thucbert-cm</a> |
|
29 |
+
| THUCBERT-mm | 层次化字词混合 | <a href="https://huggingface.co/chengzl18/bert-base-chinese-char-cm">thucbert-mm</a> |
|
30 |
+
|
31 |
+
## 使用方式
|
32 |
+
|
33 |
+
可以通过如下代码使用bert-base-chinese-char:
|
34 |
+
|
35 |
+
```python
|
36 |
+
from transformers import AutoTokenizer, AutoModel
|
37 |
+
tokenizer = AutoTokenizer.from_pretrained("chengzl18/thucbert-cm", trust_remote_code=True)
|
38 |
+
model = AutoModel.from_pretrained("chengzl18/thucbert-mm")
|
39 |
+
```
|
40 |
+
|
41 |
+
使用方法和<a href="https://huggingface.co/bert-base-chinese">bert-base-chinese</a> 相同。
|