RichardErkhov commited on
Commit
ba04be6
1 Parent(s): 9d27478

uploaded readme

Browse files
Files changed (1) hide show
  1. README.md +195 -0
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
+