Transformers
PyTorch
English
Chinese
bart
text2text-generation
GENIUS
conditional text generation
sketch-based text generation
data augmentation
Instructions to use beyond/genius-base-chinese with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use beyond/genius-base-chinese with Transformers:
# Load model directly from transformers import AutoTokenizer, AutoModelForSeq2SeqLM tokenizer = AutoTokenizer.from_pretrained("beyond/genius-base-chinese") model = AutoModelForSeq2SeqLM.from_pretrained("beyond/genius-base-chinese", device_map="auto") - Notebooks
- Google Colab
- Kaggle
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,12 +1,16 @@
|
|
| 1 |
---
|
| 2 |
-
language:
|
|
|
|
|
|
|
| 3 |
tags:
|
| 4 |
-
-
|
|
|
|
|
|
|
| 5 |
- data augmentation
|
| 6 |
-
|
| 7 |
-
- sketch-to-text generation
|
| 8 |
license: apache-2.0
|
| 9 |
datasets:
|
|
|
|
| 10 |
- beyond/chinese_clean_passages_80m
|
| 11 |
|
| 12 |
|
|
@@ -24,20 +28,16 @@ inference:
|
|
| 24 |
num_beams: 3
|
| 25 |
do_sample: True
|
| 26 |
---
|
| 27 |
-
# "SEGA-base-chinese" model
|
| 28 |
|
| 29 |
-
|
| 30 |
-
**基于草稿的生成式增强模型**
|
| 31 |
|
| 32 |
-
**SEGA** is a **general text augmentation model** that can be used for data augmentation for **various NLP tasks** (including sentiment analysis, topic classification, NER, and QA). SEGA uses an encoder-decoder structure (based on the BART architecture) and is pre-trained on a large-scale general corpus.
|
| 33 |
|
|
|
|
|
|
|
| 34 |
|
| 35 |
-

|
| 36 |
|
| 37 |
-
- Paper: [SEGA: SkEtch-based Generative Augmentation (preprint)](https://github.com/beyondguo/SEGA/blob/master/SEGA_gby_preprint.pdf)
|
| 38 |
-
- GitHub: [SEGA](https://github.com/beyondguo/SEGA).
|
| 39 |
|
| 40 |
-
**
|
| 41 |
- 关键词组合,例如“今天[MASK]篮球[MASK]学校[MASK]”
|
| 42 |
- 短语组合,例如“自然语言处理[MASK]谷歌[MASK]通用人工智能[MASK]”
|
| 43 |
- 短句子组合,例如“我昨天做了一个梦[MASK]又遇见了她[MASK]曾经那段时光让人怀恋[MASK]”
|
|
@@ -45,13 +45,13 @@ inference:
|
|
| 45 |
|
| 46 |
### How to use / 如何使用
|
| 47 |
```python
|
| 48 |
-
#
|
| 49 |
from transformers import BertTokenizer, BartForConditionalGeneration, Text2TextGenerationPipeline
|
| 50 |
-
checkpoint = 'beyond/
|
| 51 |
tokenizer = BertTokenizer.from_pretrained(checkpoint)
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
|
| 56 |
sketchs = [
|
| 57 |
"今天[MASK]篮球[MASK]学校[MASK]",
|
|
@@ -63,59 +63,59 @@ sketchs = [
|
|
| 63 |
]
|
| 64 |
for sketch in sketchs:
|
| 65 |
print('input sketch:\n>>> ', sketch)
|
| 66 |
-
print('
|
| 67 |
```
|
| 68 |
|
| 69 |
-
## Model variations /
|
| 70 |
|
| 71 |
| Model | #params | Language | comment|
|
| 72 |
|------------------------|--------------------------------|-------|---------|
|
| 73 |
-
| [`
|
| 74 |
-
| [`
|
| 75 |
-
| [`
|
| 76 |
-
| [`
|
| 77 |
-
| [`
|
| 78 |
|
| 79 |
|
| 80 |
## Comparison / 效果对比
|
| 81 |
-
The following comes the comparison between [BART-base-chinese](https://huggingface.co/fnlp/bart-base-chinese) and our proposed [
|
| 82 |
-
下面对比了[BART-base-chinese](https://huggingface.co/fnlp/bart-base-chinese)和我们提出的**
|
| 83 |
|
| 84 |
```
|
| 85 |
input sketch:
|
| 86 |
>>> 今天[MASK]篮球[MASK]上海财经大学[MASK]
|
| 87 |
BART-chinese output:
|
| 88 |
>>> 今天的篮球是上海财经大学篮球
|
| 89 |
-
|
| 90 |
>>> 今天,我们邀请到了中国篮球联盟主席、上海财经大学校长孙建国先生作为主题发言。
|
| 91 |
|
| 92 |
input sketch:
|
| 93 |
>>> 自然语言处理[MASK]谷歌[MASK]通用人工智能[MASK]
|
| 94 |
BART-chinese output:
|
| 95 |
>>> 自然语言处理是谷歌的通用人工智能技术
|
| 96 |
-
|
| 97 |
>>> 自然语言处理是谷歌在通用人工智能领域的一个重要研究方向,其目的是为了促进人类智能的发展。
|
| 98 |
|
| 99 |
input sketch:
|
| 100 |
>>> 我昨天做了一个梦[MASK]又遇见了她[MASK]曾经那段时光让人怀恋[MASK]
|
| 101 |
BART-chinese output:
|
| 102 |
>>> 我昨天做了一个梦今天又遇见了她我曾经那段时光让人怀恋不已
|
| 103 |
-
|
| 104 |
>>> 我昨天做了一个梦,梦见了我的妈妈,又遇见了她,我知道她曾经那段时光让人怀恋,但是现在,我不知道该怎么回事了,我只是想告诉她,不要再回去了。
|
| 105 |
|
| 106 |
input sketch:
|
| 107 |
>>> [MASK]疫情[MASK]公园[MASK]漫步[MASK]
|
| 108 |
BART-chinese output:
|
| 109 |
>>> 在疫情防控公园内漫步徜徉
|
| 110 |
-
|
| 111 |
>>> 为了防止疫情扩散,公园内还设置了漫步区。
|
| 112 |
|
| 113 |
input sketch:
|
| 114 |
>>> [MASK]酸菜鱼火锅[MASK]很美味,味道绝了[MASK]周末真开心[MASK]
|
| 115 |
BART-chinese output:
|
| 116 |
>>> 这酸菜鱼火锅真的很美味,味道绝了这周末真开心啊
|
| 117 |
-
|
| 118 |
>>> 这个酸菜鱼火锅真的很美味,味道绝了,吃的时间也长了,周末真开心,吃完以后就回家了,很满意的一次,很喜欢的一个品牌。
|
| 119 |
```
|
| 120 |
|
| 121 |
-
可以看出,BART只能填补简单的一些词,无法对这些片段进行很连贯的连接,而
|
|
|
|
| 1 |
---
|
| 2 |
+
language:
|
| 3 |
+
- en
|
| 4 |
+
- zh
|
| 5 |
tags:
|
| 6 |
+
- GENIUS
|
| 7 |
+
- conditional text generation
|
| 8 |
+
- sketch-based text generation
|
| 9 |
- data augmentation
|
| 10 |
+
|
|
|
|
| 11 |
license: apache-2.0
|
| 12 |
datasets:
|
| 13 |
+
- c4
|
| 14 |
- beyond/chinese_clean_passages_80m
|
| 15 |
|
| 16 |
|
|
|
|
| 28 |
num_beams: 3
|
| 29 |
do_sample: True
|
| 30 |
---
|
|
|
|
| 31 |
|
| 32 |
+
# GENIUS: generating text using sketches!
|
|
|
|
| 33 |
|
|
|
|
| 34 |
|
| 35 |
+
- **Paper: [GENIUS: Sketch-based Language Model Pre-training via Extreme and Selective Masking for Text Generation and Augmentation](https://arxiv.org/abs/2211.10330)**
|
| 36 |
+
- **GitHub: [GENIUS, Pre-training/Data Augmentation Tutorial](https://github.com/beyondguo/genius)**
|
| 37 |
|
|
|
|
| 38 |
|
|
|
|
|
|
|
| 39 |
|
| 40 |
+
**GENIUS中文版** 可以根据你给出的一个**草稿**进行填词造句扩写,草稿可以是:
|
| 41 |
- 关键词组合,例如“今天[MASK]篮球[MASK]学校[MASK]”
|
| 42 |
- 短语组合,例如“自然语言处理[MASK]谷歌[MASK]通用人工智能[MASK]”
|
| 43 |
- 短句子组合,例如“我昨天做了一个梦[MASK]又遇见了她[MASK]曾经那段时光让人怀恋[MASK]”
|
|
|
|
| 45 |
|
| 46 |
### How to use / 如何使用
|
| 47 |
```python
|
| 48 |
+
# genius-chinese
|
| 49 |
from transformers import BertTokenizer, BartForConditionalGeneration, Text2TextGenerationPipeline
|
| 50 |
+
checkpoint = 'beyond/genius-base-chinese'
|
| 51 |
tokenizer = BertTokenizer.from_pretrained(checkpoint)
|
| 52 |
+
genius_model = BartForConditionalGeneration.from_pretrained(checkpoint)
|
| 53 |
+
genius_generator = Text2TextGenerationPipeline(genius_model, tokenizer, device=0)
|
| 54 |
+
genius_generator
|
| 55 |
|
| 56 |
sketchs = [
|
| 57 |
"今天[MASK]篮球[MASK]学校[MASK]",
|
|
|
|
| 63 |
]
|
| 64 |
for sketch in sketchs:
|
| 65 |
print('input sketch:\n>>> ', sketch)
|
| 66 |
+
print('genius-chinese output:\n>>> ',genius_generator(sketch, max_length=100, do_sample=True, num_beams=3)[0]['generated_text'].replace(' ',''),'\n')
|
| 67 |
```
|
| 68 |
|
| 69 |
+
## Model variations / GENIUS其他版本
|
| 70 |
|
| 71 |
| Model | #params | Language | comment|
|
| 72 |
|------------------------|--------------------------------|-------|---------|
|
| 73 |
+
| [`genius-large`](https://huggingface.co/beyond/genius-large) | 406M | English | The version used in paper |
|
| 74 |
+
| [`genius-large-k2t`](https://huggingface.co/beyond/genius-large-k2t) | 406M | English | keywords-to-text |
|
| 75 |
+
| [`genius-base`](https://huggingface.co/beyond/genius-base) | 139M | English | smaller version |
|
| 76 |
+
| [`genius-base-ps`](https://huggingface.co/beyond/genius-base) | 139M | English | pre-trained both in paragraphs and short sentences |
|
| 77 |
+
| [`genius-base-chinese`](https://huggingface.co/beyond/genius-base-chinese) | 116M | 中文 | 在一千万纯净中文段落上预训练|
|
| 78 |
|
| 79 |
|
| 80 |
## Comparison / 效果对比
|
| 81 |
+
The following comes the comparison between [BART-base-chinese](https://huggingface.co/fnlp/bart-base-chinese) and our proposed [GENIUS-base-chinese](https://huggingface.co/beyond/genius-base-chinese).\
|
| 82 |
+
下面对比了[BART-base-chinese](https://huggingface.co/fnlp/bart-base-chinese)和我们提出的**GENIUS-base-chinese**在填词造句方面的表现:
|
| 83 |
|
| 84 |
```
|
| 85 |
input sketch:
|
| 86 |
>>> 今天[MASK]篮球[MASK]上海财经大学[MASK]
|
| 87 |
BART-chinese output:
|
| 88 |
>>> 今天的篮球是上海财经大学篮球
|
| 89 |
+
GENIUS-chinese output:
|
| 90 |
>>> 今天,我们邀请到了中国篮球联盟主席、上海财经大学校长孙建国先生作为主题发言。
|
| 91 |
|
| 92 |
input sketch:
|
| 93 |
>>> 自然语言处理[MASK]谷歌[MASK]通用人工智能[MASK]
|
| 94 |
BART-chinese output:
|
| 95 |
>>> 自然语言处理是谷歌的通用人工智能技术
|
| 96 |
+
GENIUS-chinese output:
|
| 97 |
>>> 自然语言处理是谷歌在通用人工智能领域的一个重要研究方向,其目的是为了促进人类智能的发展。
|
| 98 |
|
| 99 |
input sketch:
|
| 100 |
>>> 我昨天做了一个梦[MASK]又遇见了她[MASK]曾经那段时光让人怀恋[MASK]
|
| 101 |
BART-chinese output:
|
| 102 |
>>> 我昨天做了一个梦今天又遇见了她我曾经那段时光让人怀恋不已
|
| 103 |
+
GENIUS-chinese output:
|
| 104 |
>>> 我昨天做了一个梦,梦见了我的妈妈,又遇见了她,我知道她曾经那段时光让人怀恋,但是现在,我不知道该怎么回事了,我只是想告诉她,不要再回去了。
|
| 105 |
|
| 106 |
input sketch:
|
| 107 |
>>> [MASK]疫情[MASK]公园[MASK]漫步[MASK]
|
| 108 |
BART-chinese output:
|
| 109 |
>>> 在疫情防控公园内漫步徜徉
|
| 110 |
+
GENIUS-chinese output:
|
| 111 |
>>> 为了防止疫情扩散,公园内还设置了漫步区。
|
| 112 |
|
| 113 |
input sketch:
|
| 114 |
>>> [MASK]酸菜鱼火锅[MASK]很美味,味道绝了[MASK]周末真开心[MASK]
|
| 115 |
BART-chinese output:
|
| 116 |
>>> 这酸菜鱼火锅真的很美味,味道绝了这周末真开心啊
|
| 117 |
+
GENIUS-chinese output:
|
| 118 |
>>> 这个酸菜鱼火锅真的很美味,味道绝了,吃的时间也长了,周末真开心,吃完以后就回家了,很满意的一次,很喜欢的一个品牌。
|
| 119 |
```
|
| 120 |
|
| 121 |
+
可以看出,BART只能填补简单的一些词,无法对这些片段进行很连贯的连接,而GENIUS则可以扩写成连贯的句子甚至段落。
|