RichardErkhov
commited on
Commit
•
ba04be6
1
Parent(s):
9d27478
uploaded readme
Browse files
README.md
ADDED
@@ -0,0 +1,195 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Quantization made by Richard Erkhov.
|
2 |
+
|
3 |
+
[Github](https://github.com/RichardErkhov)
|
4 |
+
|
5 |
+
[Discord](https://discord.gg/pvy7H8DZMG)
|
6 |
+
|
7 |
+
[Request more models](https://github.com/RichardErkhov/quant_request)
|
8 |
+
|
9 |
+
|
10 |
+
mbart_ru_sum_gazeta - bnb 4bits
|
11 |
+
- Model creator: https://huggingface.co/IlyaGusev/
|
12 |
+
- Original model: https://huggingface.co/IlyaGusev/mbart_ru_sum_gazeta/
|
13 |
+
|
14 |
+
|
15 |
+
|
16 |
+
|
17 |
+
Original model description:
|
18 |
+
---
|
19 |
+
language:
|
20 |
+
- ru
|
21 |
+
tags:
|
22 |
+
- summarization
|
23 |
+
- mbart
|
24 |
+
datasets:
|
25 |
+
- IlyaGusev/gazeta
|
26 |
+
license: apache-2.0
|
27 |
+
inference:
|
28 |
+
parameters:
|
29 |
+
no_repeat_ngram_size: 4
|
30 |
+
widget:
|
31 |
+
- text: "Высота башни составляет 324 метра (1063 фута), примерно такая же высота, как у 81-этажного здания, и самое высокое сооружение в Париже. Его основание квадратно, размером 125 метров (410 футов) с любой стороны. Во время строительства Эйфелева башня превзошла монумент Вашингтона, став самым высоким искусственным сооружением в мире, и этот титул она удерживала в течение 41 года до завершения строительство здания Крайслер в Нью-Йорке в 1930 году. Это первое сооружение которое достигло высоты 300 метров. Из-за добавления вещательной антенны на вершине башни в 1957 году она сейчас выше здания Крайслер на 5,2 метра (17 футов). За исключением передатчиков, Эйфелева башня является второй самой высокой отдельно стоящей структурой во Франции после виадука Мийо."
|
32 |
+
example_title: "Википедия"
|
33 |
+
- text: "С 1 сентября в России вступают в силу поправки в закон «О банкротстве» — теперь должники смогут освобождаться от непосильных обязательств во внесудебном порядке, если сумма задолженности составляет не менее 50 тыс. рублей и не превышает 500 тыс. рублей без учета штрафов, пени, процентов за просрочку платежа и прочих имущественных или финансовых санкций. У физлиц и индивидуальных предпринимателей появилась возможность пройти процедуру банкротства без участия суда и финансового управляющего — достаточно подать соответствующее заявление через МФЦ. Сумму задолженности и список всех известных заявителю кредиторов нужно предоставить самостоятельно. Если все условия соблюдены, сведения внесут в Единый федеральный реестр в течение трех рабочих дней. При этом на момент подачи заявления в отношении заявителя должно быть окончено исполнительное производство с возвращением исполнительного документа взыскателю. Это значит, что у потенциального банкрота не должно быть имущества, которое можно взыскать. Кроме того, в отношении гражданина не должно быть возбуждено другое исполнительное производство. В период всей процедуры заявитель не сможет брать займы, кредиты, выдавать поручительства, совершать иные обеспечительные сделки. Внесудебное банкротство будет длиться шесть месяцев, в течение которых также будет действовать мораторий на удовлетворение требований кредиторов, отмеченных в заявлении должника, и мораторий об уплате обязательных платежей. Кроме того, прекращается начисление неустоек и иных финансовых санкций; имущественные взыскания (кроме алиментов) также будут приостановлены. По завершению процедуры заявителя освободят от дальнейшего выполнения требований кр��диторов, указанных в заявлении о признании его банкротом, а эта задолженность признается безнадежной. В прошлом месяце стало известно, что за первое полугодие 2020 года российские суды признали банкротами 42,7 тыс. граждан (в том числе индивидуальных предпринимателей) — по данным единого реестра «Федресурс», это на 47,2% больше показателя аналогичного периода 2019 года. Рост числа обанкротившихся граждан во втором квартале по сравнению с первым замедлился — такая динамика обусловлена тем, что в период ограничений с 19 марта по 11 мая суды редко рассматривали банкротные дела компаний и меньше, чем обычно, в отношении граждан, объяснял руководитель проекта «Федресурс» Алексей Юхнин. Он прогнозирует, что во втором полугодии мы увидим рост показателя, когда суды рассмотрят все дела, что не смогли ранее в режиме ограничений. По его данным, уже в июне число личных банкротств выросло до 11,5 тыс., что в два раза превышает показатель аналогичного периода 2019 года."
|
34 |
+
example_title: "Новости"
|
35 |
+
- text: "Актуальность проблемы. Электронная информация играет все большую роль во всех сферах жизни современного общества. В последние годы объем научно-технической текстовой информации в электронном виде возрос настолько, что возникает угроза обесценивания этой информации в связи с трудностями поиска необходимых сведений среди множества доступных текстов. Развитие информационных ресурсов Интернет многократно усугубило проблему информационной перегрузки. В этой ситуации особенно актуальными становятся методы автоматизации реферирования текстовой информации, то есть методы получения сжатого представления текстовых документов–рефератов (аннотаций). Постановка проблемы автоматического реферирования текста и соответственно попытки ее решения с использованием различных подходов предпринимались многими исследователями. История применения вычислительной техники для реферирования насчитывает уже более 50 лет и связана с именами таких исследователей, как Г.П. Лун, В.Е. Берзон, И.П. Cевбо, Э.Ф. Скороходько, Д.Г. Лахути, Р.Г. Пиотровский и др. За эти годы выработаны многочисленные подходы к решению данной проблемы, которые достаточно четко подразделяются на два направления: автоматическое реферирование, основанное на экстрагировании из первичных документов с помощью определенных формальных признаков «наиболее информативных» фраз (фрагментов), совокупность которых образует некоторый экстракт; автоматическое реферирование, основанное на выделении из текстов с помощью специальных информационных языков наиболее существенной информации и порождении новых текстов (рефератов), содержательно обобщающих первичные документы."
|
36 |
+
example_title: "Научная статья"
|
37 |
+
---
|
38 |
+
|
39 |
+
# MBARTRuSumGazeta
|
40 |
+
|
41 |
+
## Model description
|
42 |
+
|
43 |
+
This is a ported version of [fairseq model](https://www.dropbox.com/s/fijtntnifbt9h0k/gazeta_mbart_v2_fairseq.tar.gz).
|
44 |
+
|
45 |
+
For more details, please see [Dataset for Automatic Summarization of Russian News](https://arxiv.org/abs/2006.11063).
|
46 |
+
|
47 |
+
## Intended uses & limitations
|
48 |
+
|
49 |
+
#### How to use
|
50 |
+
|
51 |
+
Colab: [link](https://colab.research.google.com/drive/1wdo_nPZPk6dWAn1J8nGx4Z5Ef82jCCob)
|
52 |
+
|
53 |
+
```python
|
54 |
+
from transformers import MBartTokenizer, MBartForConditionalGeneration
|
55 |
+
|
56 |
+
model_name = "IlyaGusev/mbart_ru_sum_gazeta"
|
57 |
+
tokenizer = MBartTokenizer.from_pretrained(model_name)
|
58 |
+
model = MBartForConditionalGeneration.from_pretrained(model_name)
|
59 |
+
|
60 |
+
article_text = "..."
|
61 |
+
|
62 |
+
input_ids = tokenizer(
|
63 |
+
[article_text],
|
64 |
+
max_length=600,
|
65 |
+
padding="max_length",
|
66 |
+
truncation=True,
|
67 |
+
return_tensors="pt",
|
68 |
+
)["input_ids"]
|
69 |
+
|
70 |
+
output_ids = model.generate(
|
71 |
+
input_ids=input_ids,
|
72 |
+
no_repeat_ngram_size=4
|
73 |
+
)[0]
|
74 |
+
|
75 |
+
summary = tokenizer.decode(output_ids, skip_special_tokens=True)
|
76 |
+
print(summary)
|
77 |
+
```
|
78 |
+
|
79 |
+
#### Limitations and bias
|
80 |
+
|
81 |
+
- The model should work well with Gazeta.ru articles, but for any other agencies it can suffer from domain shift
|
82 |
+
|
83 |
+
|
84 |
+
## Training data
|
85 |
+
|
86 |
+
- Dataset: [Gazeta](https://huggingface.co/datasets/IlyaGusev/gazeta)
|
87 |
+
|
88 |
+
## Training procedure
|
89 |
+
|
90 |
+
- Fairseq training script: [train.sh](https://github.com/IlyaGusev/summarus/blob/master/external/bart_scripts/train.sh)
|
91 |
+
- Porting: [Colab link](https://colab.research.google.com/drive/13jXOlCpArV-lm4jZQ0VgOpj6nFBYrLAr)
|
92 |
+
|
93 |
+
## Eval results
|
94 |
+
|
95 |
+
* Train dataset: **Gazeta v1 train**
|
96 |
+
* Test dataset: **Gazeta v1 test**
|
97 |
+
* Source max_length: **600**
|
98 |
+
* Target max_length: **200**
|
99 |
+
* no_repeat_ngram_size: **4**
|
100 |
+
* num_beams: **5**
|
101 |
+
|
102 |
+
| Model | R-1-f | R-2-f | R-L-f | chrF | METEOR | BLEU | Avg char length |
|
103 |
+
|:--------------------------|:------|:------|:------|:-------|:-------|:-----|:-----|
|
104 |
+
| [mbart_ru_sum_gazeta](https://huggingface.co/IlyaGusev/mbart_ru_sum_gazeta) | **32.4** | 14.3 | 28.0 | 39.7 | **26.4** | 12.1 | 371 |
|
105 |
+
| [rut5_base_sum_gazeta](https://huggingface.co/IlyaGusev/rut5_base_sum_gazeta) | 32.2 | **14.4** | **28.1** | **39.8** | 25.7 | **12.3** | 330 |
|
106 |
+
| [rugpt3medium_sum_gazeta](https://huggingface.co/IlyaGusev/rugpt3medium_sum_gazeta) | 26.2 | 7.7 | 21.7 | 33.8 | 18.2 | 4.3 | 244 |
|
107 |
+
|
108 |
+
* Train dataset: **Gazeta v1 train**
|
109 |
+
* Test dataset: **Gazeta v2 test**
|
110 |
+
* Source max_length: **600**
|
111 |
+
* Target max_length: **200**
|
112 |
+
* no_repeat_ngram_size: **4**
|
113 |
+
* num_beams: **5**
|
114 |
+
|
115 |
+
| Model | R-1-f | R-2-f | R-L-f | chrF | METEOR | BLEU | Avg char length |
|
116 |
+
|:--------------------------|:------|:------|:------|:-------|:-------|:-----|:-----|
|
117 |
+
| [mbart_ru_sum_gazeta](https://huggingface.co/IlyaGusev/mbart_ru_sum_gazeta) | **28.7** | **11.1** | 24.4 | **37.3** | **22.7** | **9.4** | 373 |
|
118 |
+
| [rut5_base_sum_gazeta](https://huggingface.co/IlyaGusev/rut5_base_sum_gazeta) | 28.6 | **11.1** | **24.5** | 37.2 | 22.0 | **9.4** | 331 |
|
119 |
+
| [rugpt3medium_sum_gazeta](https://huggingface.co/IlyaGusev/rugpt3medium_sum_gazeta) | 24.1 | 6.5 | 19.8 | 32.1 | 16.3 | 3.6 | 242 |
|
120 |
+
|
121 |
+
Predicting all summaries:
|
122 |
+
```python
|
123 |
+
import json
|
124 |
+
import torch
|
125 |
+
from transformers import MBartTokenizer, MBartForConditionalGeneration
|
126 |
+
from datasets import load_dataset
|
127 |
+
|
128 |
+
|
129 |
+
def gen_batch(inputs, batch_size):
|
130 |
+
batch_start = 0
|
131 |
+
while batch_start < len(inputs):
|
132 |
+
yield inputs[batch_start: batch_start + batch_size]
|
133 |
+
batch_start += batch_size
|
134 |
+
|
135 |
+
|
136 |
+
def predict(
|
137 |
+
model_name,
|
138 |
+
input_records,
|
139 |
+
output_file,
|
140 |
+
max_source_tokens_count=600,
|
141 |
+
batch_size=4
|
142 |
+
):
|
143 |
+
device = "cuda" if torch.cuda.is_available() else "cpu"
|
144 |
+
|
145 |
+
tokenizer = MBartTokenizer.from_pretrained(model_name)
|
146 |
+
model = MBartForConditionalGeneration.from_pretrained(model_name).to(device)
|
147 |
+
|
148 |
+
predictions = []
|
149 |
+
for batch in gen_batch(inputs, batch_size):
|
150 |
+
texts = [r["text"] for r in batch]
|
151 |
+
input_ids = tokenizer(
|
152 |
+
batch,
|
153 |
+
return_tensors="pt",
|
154 |
+
padding="max_length",
|
155 |
+
truncation=True,
|
156 |
+
max_length=max_source_tokens_count
|
157 |
+
)["input_ids"].to(device)
|
158 |
+
|
159 |
+
output_ids = model.generate(
|
160 |
+
input_ids=input_ids,
|
161 |
+
no_repeat_ngram_size=4
|
162 |
+
)
|
163 |
+
summaries = tokenizer.batch_decode(output_ids, skip_special_tokens=True)
|
164 |
+
for s in summaries:
|
165 |
+
print(s)
|
166 |
+
predictions.extend(summaries)
|
167 |
+
with open(output_file, "w") as w:
|
168 |
+
for p in predictions:
|
169 |
+
w.write(p.strip().replace("\n", " ") + "\n")
|
170 |
+
|
171 |
+
gazeta_test = load_dataset('IlyaGusev/gazeta', script_version="v1.0")["test"]
|
172 |
+
predict("IlyaGusev/mbart_ru_sum_gazeta", list(gazeta_test), "mbart_predictions.txt")
|
173 |
+
```
|
174 |
+
|
175 |
+
Evaluation: https://github.com/IlyaGusev/summarus/blob/master/evaluate.py
|
176 |
+
|
177 |
+
Flags: --language ru --tokenize-after --lower
|
178 |
+
|
179 |
+
### BibTeX entry and citation info
|
180 |
+
|
181 |
+
```bibtex
|
182 |
+
@InProceedings{10.1007/978-3-030-59082-6_9,
|
183 |
+
author="Gusev, Ilya",
|
184 |
+
editor="Filchenkov, Andrey and Kauttonen, Janne and Pivovarova, Lidia",
|
185 |
+
title="Dataset for Automatic Summarization of Russian News",
|
186 |
+
booktitle="Artificial Intelligence and Natural Language",
|
187 |
+
year="2020",
|
188 |
+
publisher="Springer International Publishing",
|
189 |
+
address="Cham",
|
190 |
+
pages="122--134",
|
191 |
+
isbn="978-3-030-59082-6"
|
192 |
+
}
|
193 |
+
```
|
194 |
+
|
195 |
+
|