README.md 4.3 KB
Newer Older
Z
Zeyu Chen 已提交
1
简体中文 | [English](./README_en.md)
Z
Zeyu Chen 已提交
2

Z
Zeyu Chen 已提交
3
<p align="center">
Z
Zeyu Chen 已提交
4
  <img src="./docs/imgs/paddlenlp.png" width="520" height ="100" />
Z
Zeyu Chen 已提交
5 6 7 8
</p>


PaddleNLP旨在帮助开发者提高文本建模的效率,通过丰富的模型库、简洁易用的API,提供飞桨2.0的最佳实践并加速NLP领域应用产业落地效率。
9

Z
Zeyu Chen 已提交
10 11 12
![License](https://img.shields.io/badge/license-Apache%202-red.svg)
![python version](https://img.shields.io/badge/python-3.6+-orange.svg)
![support os](https://img.shields.io/badge/os-linux%2C%20win%2C%20mac-yellow.svg)
13 14


Z
Zeyu Chen 已提交
15 16 17 18 19 20 21
# 特性

- **丰富的模型库**

  - 涵盖了NLP主流应用相关的前沿模型,包括中文词向量、预训练模型、词法分析、文本分类、文本匹配、文本生成、机器翻译、通用对话、问答系统等。

- **简洁易用的API**
P
pkpk 已提交
22

Z
Zeyu Chen 已提交
23
  - 深度兼容飞桨2.0的高层API体系,提供更多可复用的文本建模模块,可大幅度减少数据处理、组网、训练环节的代码开发,提高开发效率。
P
pkpk 已提交
24

Z
Zeyu Chen 已提交
25
- **高性能分布式训练**
P
pkpk 已提交
26

Z
Zeyu Chen 已提交
27
  - 通过高度优化的Transformer网络实现,结合混合精度与Fleet分布式训练API,可充分利用GPU集群资源,高效完成预训练模型的分布式训练。
P
pkpk 已提交
28 29


Z
Zeyu Chen 已提交
30

Z
Zeyu Chen 已提交
31
# 安装
P
pkpk 已提交
32

Z
Zeyu Chen 已提交
33 34 35 36
## 环境依赖

- python >= 3.6
- paddlepaddle >= 2.0.0-rc1
P
pkpk 已提交
37

Z
Zeyu Chen 已提交
38
```
Z
Zeyu Chen 已提交
39
pip install paddlenlp==2.0.0b
Z
Zeyu Chen 已提交
40
```
P
pkpk 已提交
41 42


Z
Zeyu Chen 已提交
43 44 45
# 快速开始

## 数据集快速加载
P
pkpk 已提交
46

Z
Zeyu Chen 已提交
47
```python
Z
Zeyu Chen 已提交
48
from paddlenlp.datasets import ChnSentiCrop
Z
Zeyu Chen 已提交
49

Z
Zeyu Chen 已提交
50
train_dataset, dev_dataset, test_dataset= ChnSentiCorp.get_datasets(['train', 'dev', 'test'])
P
pkpk 已提交
51 52
```

Z
Zeyu Chen 已提交
53
可参考[Dataset文档](./docs/datasets.md)查看更多数据集。
Z
Zeyu Chen 已提交
54

Z
Zeyu Chen 已提交
55
## 一键加载中文词向量
P
pkpk 已提交
56

Z
Zeyu Chen 已提交
57
```python
Z
Zeyu Chen 已提交
58
from paddlenlp.embeddings import TokenEmbedding
Z
Zeyu Chen 已提交
59

Z
Zeyu Chen 已提交
60 61 62 63 64
wordemb = TokenEmbedding("w2v.baidu_encyclopedia.target.word-word.dim300")
print(wordemb.cosine_sim("国王", "王后"))
>>> 0.63395125
wordemb.cosine_sim("艺术", "火车")
>>> 0.14792643
Z
Zeyu Chen 已提交
65
```
Z
Zeyu Chen 已提交
66

Z
Zeyu Chen 已提交
67
内置50+中文词向量,更多使用方法请参考 [Embedding文档](./examples/word_embedding/README.md)
Z
Zeyu Chen 已提交
68

Z
Zeyu Chen 已提交
69
## 一键加载经典模型
Z
Zeyu Chen 已提交
70 71

```python
Z
Zeyu Chen 已提交
72 73 74 75 76 77 78
from paddlenlp.models import Ernie, Senta, SimNet

ernie = Ernie("ernie-1.0", num_classes=2, task="seq-cls")

senta = Senta(network="bow", vocab_size=1024, num_classes=2)

simnet = SimNet(network="gru", vocab_size=1024, num_classes=2)
P
pkpk 已提交
79 80
```

Z
Zeyu Chen 已提交
81 82 83
更多使用方法请参考[Models API](./docs/models.md)

## 一键加载高质量中文预训练模型
P
pkpk 已提交
84

Z
Zeyu Chen 已提交
85
```python
Z
Zeyu Chen 已提交
86
from paddlenlp.transformers import ErnieModel, BertModel, RobertaModel, ElectraModel
Z
Zeyu Chen 已提交
87

Z
Zeyu Chen 已提交
88
ernie = ErnieModel.from_pretrained('ernie-1.0')
Z
Zeyu Chen 已提交
89

Z
Zeyu Chen 已提交
90
bert = BertModel.from_pretrained('bert-wwm-chinese')
Z
Zeyu Chen 已提交
91

Z
Zeyu Chen 已提交
92
roberta = RobertaModel.from_pretrained('roberta-wwm-ext')
Z
Zeyu Chen 已提交
93

Z
Zeyu Chen 已提交
94
electra = ElectraModel.from_pretrained('chinese-electra-small')
Y
Yibing Liu 已提交
95 96
```

Z
Zeyu Chen 已提交
97 98 99 100 101 102 103 104
请参考 [Pretrained-Models](./docs/transformers.md)查看目前支持的预训练模型。



# API 使用文档

- [Transformer API](./docs/transformers.md)

Z
Zeyu Chen 已提交
105 106
- [Data API](./docs/data.md)

Z
Zeyu Chen 已提交
107 108 109
- [Dataset API](./docs/datasets.md)

- [Embedding API](./docs/embeddings.md)
Z
Zeyu Chen 已提交
110

111
- [Metrics API](./docs/metrics.md)
Z
Zeyu Chen 已提交
112

Z
Zeyu Chen 已提交
113
- [Models API](./docs/models.md)
Z
Zeyu Chen 已提交
114

Z
Zeyu Chen 已提交
115

Z
Zeyu Chen 已提交
116

Z
Zeyu Chen 已提交
117
# 可交互式Notebook教程
Y
Yibing Liu 已提交
118

Z
Zeyu Chen 已提交
119
- [使用seq2vec模块进行句子情感分类](https://aistudio.baidu.com/aistudio/projectdetail/1283423)
Z
Zeyu Chen 已提交
120 121
- [如何通过预训练模型Fine-tune下游任务](https://aistudio.baidu.com/aistudio/projectdetail/1294333)
- [使用BiGRU-CRF模型完成快递单信息抽取](https://aistudio.baidu.com/aistudio/projectdetail/1317771)
Z
Zeyu Chen 已提交
122
- [使用预训练模型ERNIE优化快递单信息抽取](https://aistudio.baidu.com/aistudio/projectdetail/1329361)
Z
Zeyu Chen 已提交
123
- [使用Seq2Seq模型完成自动对联](https://aistudio.baidu.com/aistudio/projectdetail/1321118)
Z
Zeyu Chen 已提交
124 125
- [使用预训练模型ERNIE-GEN实现智能写诗](https://aistudio.baidu.com/aistudio/projectdetail/1339888)
- [使用TCN网络完成新冠疫情病例数预测](https://aistudio.baidu.com/aistudio/projectdetail/1290873)
S
Steffy-zxf 已提交
126

Z
Zeyu Chen 已提交
127
更多教程参见[PaddleNLP on AI Studio](https://aistudio.baidu.com/aistudio/personalcenter/thirdview/574995)
S
Steffy-zxf 已提交
128 129


Z
Zeyu Chen 已提交
130
# 社区贡献与技术交流
S
Steffy-zxf 已提交
131

Z
Zeyu Chen 已提交
132
- 欢迎您加入PaddleNLP的SIG社区,贡献优秀的模型实现、公开数据集、教程与案例、外围小工具。
Z
Zeyu Chen 已提交
133
- 现在就加入PaddleNLP的QQ技术交流群,一起交流NLP技术吧!⬇️
S
Steffy-zxf 已提交
134

Z
Zeyu Chen 已提交
135
<div align="center">
Z
Zeyu Chen 已提交
136
  <img src="./docs/imgs/qq.png" width="200" height="200" />
Z
Zeyu Chen 已提交
137
</div>  
Y
Yibing Liu 已提交
138 139


Z
Zeyu Chen 已提交
140
# License
Y
Yibing Liu 已提交
141

Z
Zeyu Chen 已提交
142
PaddleNLP遵循[Apache-2.0开源协议](./LICENSE)