Use fine-tuned model
Browse files- README.md +20 -3
- pytorch_model.bin +1 -1
README.md
CHANGED
@@ -10,10 +10,13 @@ Finetuned version of [FRED-T5 large 820M](https://huggingface.co/ai-forever/FRED
|
|
10 |
|
11 |
Code [repo](https://github.com/saarus72/text_normalization/tree/dev).
|
12 |
|
13 |
-
Trained on [ficbook](https://huggingface.co/datasets/IlyaGusev/ficbook), [librusec](https://huggingface.co/datasets/IlyaGusev/librusec) and [pikabu](https://huggingface.co/datasets/IlyaGusev/pikabu) sentences, inverse text normalized using
|
14 |
|
15 |
## Usage
|
16 |
|
|
|
|
|
|
|
17 |
```python
|
18 |
import torch
|
19 |
from transformers import GPT2Tokenizer, T5ForConditionalGeneration
|
@@ -22,8 +25,22 @@ from transformers import GPT2Tokenizer, T5ForConditionalGeneration
|
|
22 |
device='cuda'
|
23 |
tokenizer = GPT2Tokenizer.from_pretrained('saarus72/russian_text_normalizer', eos_token='</s>')
|
24 |
model = T5ForConditionalGeneration.from_pretrained('saarus72/russian_text_normalizer').to(device)
|
25 |
-
lm_text = '<SC1>Было у отца [3]<extra_id_0> сына, но не было даже [2-3]<extra_id_1> пиджаков с блёстками за [142 990
|
26 |
input_ids = torch.tensor([tokenizer.encode(lm_text)]).to(device)
|
27 |
outputs = model.generate(input_ids, eos_token_id=tokenizer.eos_token_id, early_stopping=True)
|
28 |
print(tokenizer.decode(outputs[0][1:]))
|
29 |
-
# <extra_id_0>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
Code [repo](https://github.com/saarus72/text_normalization/tree/dev).
|
12 |
|
13 |
+
Trained on [ficbook](https://huggingface.co/datasets/IlyaGusev/ficbook), [librusec](https://huggingface.co/datasets/IlyaGusev/librusec) and [pikabu](https://huggingface.co/datasets/IlyaGusev/pikabu) sentences, inverse text normalized using modified version of [Russian_w2n](https://github.com/Oknolaz/Russian_w2n) package. Haven't trained anything yet but number normalization.
|
14 |
|
15 |
## Usage
|
16 |
|
17 |
+
Put numbers inside of squared brackets and follow with T5 tokens `<extra_id_0>`, `<extra_id_1>` and so on.
|
18 |
+
One is advised to split numbers on groups by 3 digits always and do not put anything else inside of `[ ]` brackets.
|
19 |
+
|
20 |
```python
|
21 |
import torch
|
22 |
from transformers import GPT2Tokenizer, T5ForConditionalGeneration
|
|
|
25 |
device='cuda'
|
26 |
tokenizer = GPT2Tokenizer.from_pretrained('saarus72/russian_text_normalizer', eos_token='</s>')
|
27 |
model = T5ForConditionalGeneration.from_pretrained('saarus72/russian_text_normalizer').to(device)
|
28 |
+
lm_text = '<SC1>Было у отца [3]<extra_id_0> сына, но не было даже [2-3]<extra_id_1> пиджаков с блёстками за [142 990]<extra_id_2> руб.'
|
29 |
input_ids = torch.tensor([tokenizer.encode(lm_text)]).to(device)
|
30 |
outputs = model.generate(input_ids, eos_token_id=tokenizer.eos_token_id, early_stopping=True)
|
31 |
print(tokenizer.decode(outputs[0][1:]))
|
32 |
+
# '<extra_id_0> три\n <extra_id_1> двух- трёх\n <extra_id_2> сто сорок две тысячи девятьсот девяносто\n</s>'
|
33 |
+
```
|
34 |
+
|
35 |
+
### More examples
|
36 |
+
|
37 |
+
| Model input | After replacement | Is correct |
|
38 |
+
|---|---|---|
|
39 |
+
| `<SC1>Временами я думаю, какое применение найти тем [14 697]<extra_id_0> рублям, что лежат уже больше [33]<extra_id_1> лет?` | `Временами я думаю, какое применение найти тем четырнадцати тысячам шестистам девяносто семи рублям, что лежат уже больше тридцати трёх лет?` | Yes |
|
40 |
+
| `<SC1>я купил iphone [12]<extra_id_0> за [142 990]<extra_id_1> руб без [3-x]<extra_id_2> часов полдень и т.д.` | `я купил iphone двенадцатый за сто сорок две тысячи девятьсот девяносто руб без трех часов полдень и т.д.?` | Yes |
|
41 |
+
| `<SC1>В школе у меня одни [5]<extra_id_0>.` | `В школе у меня одни пятые.` | **No (`пятёрки` is correct)** |
|
42 |
+
| `<SC1>Было у отца [3]<extra_id_0> сына. Старшему было [35]<extra_id_1>, среднему - не меньше [33]<extra_id_2>, а младший на [4]<extra_id_3> младше всех. Бывает.` | `Было у отца три сына. Старшему было тридцать пять, среднему - не меньше тридцати трех, а младший на четыре младше всех. Бывает.` | Yes |
|
43 |
+
| `<SC1>я подарю тебе [1 000 000]<extra_id_0> алых роз, я научу тебя смеяться` | `я подарю тебе миллион алых роз, я научу тебя смеяться` | Yes |
|
44 |
+
| `<SC1>запомни телефон — [8 9 555 35 35]<extra_id_0>, проще позвонить, чем занимать` | `запомни телефон — восемь девять пятьсот пятьдесят пять тридцать пять тридцать пять, проще позвонить, чем занимать` | Yes |
|
45 |
+
| `<SC1>стоимость айфон [32]<extra_id_0> — всего [189 553 600]<extra_id_1> руб.!` | `стоимость айфон тридцать два — всего сто восемьдесят девять миллионов пятьсот пятьдесят три тысячи шестьсот руб.!` | Yes |
|
46 |
+
| `<SC1>[91 957 552 336]<extra_id_0> минус [3 474 354 354]<extra_id_1> равно ?` | `Девяносто девять миллиардов пятьдесят семь миллионов пятьсот пятьдесят два миллиона трис��а тридцать шесть минус три миллиарда четыреста семьдесят четыре тысячи триста пятьдесят четыре тысячи триста пятьдесят четыре равно ?` | **No :(** |
|
pytorch_model.bin
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 3282183426
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:02ba17fe51850c19c2bbccb9604eea848bd9ef1f9cd67fdb7e3d3de6d64a8bdd
|
3 |
size 3282183426
|