|
--- |
|
language: |
|
- ru |
|
- ru-RU |
|
tags: |
|
- summarization |
|
- mbart |
|
datasets: |
|
- IlyaGusev/gazeta |
|
license: apache-2.0 |
|
widget: |
|
- text: "Высота башни составляет 324 метра (1063 фута), примерно такая же высота, как у 81-этажного здания, и самое высокое сооружение в Париже. Его основание квадратно, размером 125 метров (410 футов) с любой стороны. Во время строительства Эйфелева башня превзошла монумент Вашингтона, став самым высоким искусственным сооружением в мире, и этот титул она удерживала в течение 41 года до завершения строительство здания Крайслер в Нью-Йорке в 1930 году. Это первое сооружение которое достигло высоты 300 метров. Из-за добавления вещательной антенны на вершине башни в 1957 году она сейчас выше здания Крайслер на 5,2 метра (17 футов). За исключением передатчиков, Эйфелева башня является второй самой высокой отдельно стоящей структурой во Франции после виадука Мийо." |
|
example_title: "Википедия" |
|
- text: "С 1 сентября в России вступают в силу поправки в закон «О банкротстве» — теперь должники смогут освобождаться от непосильных обязательств во внесудебном порядке, если сумма задолженности составляет не менее 50 тыс. рублей и не превышает 500 тыс. рублей без учета штрафов, пени, процентов за просрочку платежа и прочих имущественных или финансовых санкций. У физлиц и индивидуальных предпринимателей появилась возможность пройти процедуру банкротства без участия суда и финансового управляющего — достаточно подать соответствующее заявление через МФЦ. Сумму задолженности и список всех известных заявителю кредиторов нужно предоставить самостоятельно. Если все условия соблюдены, сведения внесут в Единый федеральный реестр в течение трех рабочих дней. При этом на момент подачи заявления в отношении заявителя должно быть окончено исполнительное производство с возвращением исполнительного документа взыскателю. Это значит, что у потенциального банкрота не должно быть имущества, которое можно взыскать. Кроме того, в отношении гражданина не должно быть возбуждено другое исполнительное производство. В период всей процедуры заявитель не сможет брать займы, кредиты, выдавать поручительства, совершать иные обеспечительные сделки. Внесудебное банкротство будет длиться шесть месяцев, в течение которых также будет действовать мораторий на удовлетворение требований кредиторов, отмеченных в заявлении должника, и мораторий об уплате обязательных платежей. Кроме того, прекращается начисление неустоек и иных финансовых санкций; имущественные взыскания (кроме алиментов) также будут приостановлены. По завершению процедуры заявителя освободят от дальнейшего выполнения требований кредиторов, указанных в заявлении о признании его банкротом, а эта задолженность признается безнадежной. В прошлом месяце стало известно, что за первое полугодие 2020 года российские суды признали банкротами 42,7 тыс. граждан (в том числе индивидуальных предпринимателей) — по данным единого реестра «Федресурс», это на 47,2% больше показателя аналогичного периода 2019 года. Рост числа обанкротившихся граждан во втором квартале по сравнению с первым замедлился — такая динамика обусловлена тем, что в период ограничений с 19 марта по 11 мая суды редко рассматривали банкротные дела компаний и меньше, чем обычно, в отношении граждан, объяснял руководитель проекта «Федресурс» Алексей Юхнин. Он прогнозирует, что во втором полугодии мы увидим рост показателя, когда суды рассмотрят все дела, что не смогли ранее в режиме ограничений. По его данным, уже в июне число личных банкротств выросло до 11,5 тыс., что в два раза превышает показатель аналогичного периода 2019 года." |
|
example_title: "Новости" |
|
- text: "Актуальность проблемы. Электронная информация играет все большую роль во всех сферах жизни современного общества. В последние годы объем научно-технической текстовой информации в электронном виде возрос настолько, что возникает угроза обесценивания этой информации в связи с трудностями поиска необходимых сведений среди множества доступных текстов. Развитие информационных ресурсов Интернет многократно усугубило проблему информационной перегрузки. В этой ситуации особенно актуальными становятся методы автоматизации реферирования текстовой информации, то есть методы получения сжатого представления текстовых документов–рефератов (аннотаций). Постановка проблемы автоматического реферирования текста и соответственно попытки ее решения с использованием различных подходов предпринимались многими исследователями. История применения вычислительной техники для реферирования насчитывает уже более 50 лет и связана с именами таких исследователей, как Г.П. Лун, В.Е. Берзон, И.П. Cевбо, Э.Ф. Скороходько, Д.Г. Лахути, Р.Г. Пиотровский и др. За эти годы выработаны многочисленные подходы к решению данной проблемы, которые достаточно четко подразделяются на два направления: автоматическое реферирование, основанное на экстрагировании из первичных документов с помощью определенных формальных признаков «наиболее информативных» фраз (фрагментов), совокупность которых образует некоторый экстракт; автоматическое реферирование, основанное на выделении из текстов с помощью специальных информационных языков наиболее существенной информации и порождении новых текстов (рефератов), содержательно обобщающих первичные документы." |
|
example_title: "Научная статья" |
|
--- |
|
|
|
# MBARTRuSumGazeta |
|
|
|
## Model description |
|
|
|
This is a ported version of [fairseq model](https://www.dropbox.com/s/fijtntnifbt9h0k/gazeta_mbart_v2_fairseq.tar.gz). |
|
|
|
For more details, please see [Dataset for Automatic Summarization of Russian News](https://arxiv.org/abs/2006.11063). |
|
|
|
## Intended uses & limitations |
|
|
|
#### How to use |
|
|
|
```python |
|
from transformers import MBartTokenizer, MBartForConditionalGeneration |
|
|
|
model_name = "IlyaGusev/mbart_ru_sum_gazeta" |
|
tokenizer = MBartTokenizer.from_pretrained(model_name) |
|
model = MBartForConditionalGeneration.from_pretrained(model_name) |
|
|
|
article_text = "..." |
|
|
|
input_ids = tokenizer( |
|
[article_text], |
|
max_length=600, |
|
padding="max_length", |
|
truncation=True, |
|
return_tensors="pt", |
|
)["input_ids"] |
|
|
|
output_ids = model.generate( |
|
input_ids=input_ids, |
|
no_repeat_ngram_size=3 |
|
)[0] |
|
|
|
summary = tokenizer.decode(output_ids, skip_special_tokens=True) |
|
print(summary) |
|
``` |
|
|
|
#### Limitations and bias |
|
|
|
- The model should work well with Gazeta.ru articles, but for any other agencies it can suffer from domain shift |
|
|
|
|
|
## Training data |
|
|
|
- Dataset: [Gazeta](https://huggingface.co/datasets/IlyaGusev/gazeta) |
|
|
|
## Training procedure |
|
|
|
- Fairseq training script: [train.sh](https://github.com/IlyaGusev/summarus/blob/master/external/bart_scripts/train.sh) |
|
- Porting: [Colab link](https://colab.research.google.com/drive/13jXOlCpArV-lm4jZQ0VgOpj6nFBYrLAr) |
|
|
|
## Eval results |
|
|
|
* Train dataset: **Gazeta v1 train** |
|
* Test dataset: **Gazeta v1 test** |
|
* Source max_length: **600** |
|
* Target max_length: **200** |
|
* no_repeat_ngram_size: **3** |
|
* num_beams: **5** |
|
|
|
| Model | R-1-f | R-2-f | R-L-f | chrF | METEOR | BLEU | |
|
|:--------------------------|:------|:------|:------|:-------|:-------|:-----| |
|
| [mbart_ru_sum_gazeta](https://huggingface.co/IlyaGusev/mbart_ru_sum_gazeta) | **32.3** | 14.3 | **27.9** | **39.8** | **26.3** | **12.2** | |
|
| [rut5_base_sum_gazeta](https://huggingface.co/IlyaGusev/rut5_base_sum_gazeta) | 32.2 | **14.4** | 27.8 | 39.6 | 25.3 | 11.9 | |
|
|
|
|
|
* Train dataset: **Gazeta v1 train** |
|
* Test dataset: **Gazeta v2 test** |
|
* Source max_length: **600** |
|
* Target max_length: **200** |
|
* no_repeat_ngram_size: **3** |
|
* num_beams: **5** |
|
|
|
| Model | R-1-f | R-2-f | R-L-f | chrF | METEOR | BLEU | |
|
|:--------------------------|:------|:------|:------|:-------|:-------|:-----| |
|
| [mbart_ru_sum_gazeta](https://huggingface.co/IlyaGusev/mbart_ru_sum_gazeta) | **28.8** | **11.1** | **24.5** | **37.4** | **22.7** | **9.5** | |
|
| [rut5_base_sum_gazeta](https://huggingface.co/IlyaGusev/rut5_base_sum_gazeta) | 28.5 | 11.0 | 24.2 | 36.8 | 21.2 | 8.6 | |
|
|
|
Predicting all summaries: |
|
```python |
|
import json |
|
import torch |
|
from transformers import MBartTokenizer, MBartForConditionalGeneration |
|
|
|
|
|
def gen_batch(inputs, batch_size): |
|
batch_start = 0 |
|
while batch_start < len(inputs): |
|
yield inputs[batch_start: batch_start + batch_size] |
|
batch_start += batch_size |
|
|
|
|
|
def predict( |
|
model_name, |
|
test_file, |
|
predictions_file, |
|
targets_file, |
|
max_source_tokens_count=600, |
|
use_cuda=True, |
|
batch_size=4 |
|
): |
|
inputs = [] |
|
targets = [] |
|
with open(test_file, "r") as r: |
|
for line in r: |
|
record = json.loads(line) |
|
inputs.append(record["text"]) |
|
targets.append(record["summary"].replace("\n", " ")) |
|
|
|
tokenizer = MBartTokenizer.from_pretrained(model_name) |
|
device = torch.device("cuda:0") if use_cuda else torch.device("cpu") |
|
model = MBartForConditionalGeneration.from_pretrained(model_name).to(device) |
|
predictions = [] |
|
for batch in gen_batch(inputs, batch_size): |
|
input_ids = tokenizer( |
|
batch, |
|
return_tensors="pt", |
|
padding="max_length", |
|
truncation=True, |
|
max_length=max_source_tokens_count |
|
)["input_ids"].to(device) |
|
output_ids = model.generate( |
|
input_ids=input_ids, |
|
repetition_penalty=3.0 |
|
) |
|
summaries = tokenizer.batch_decode(output_ids, skip_special_tokens=True) |
|
for s in summaries: |
|
print(s) |
|
predictions.extend(summaries) |
|
with open(predictions_file, "w") as w: |
|
for p in predictions: |
|
w.write(p.strip().replace("\n", " ") + "\n") |
|
with open(targets_file, "w") as w: |
|
for t in targets: |
|
w.write(t.strip().replace("\n", " ") + "\n") |
|
|
|
predict("IlyaGusev/mbart_ru_sum_gazeta", "gazeta_test.jsonl", "predictions.txt", "targets.txt") |
|
``` |
|
|
|
Evaluation: https://github.com/IlyaGusev/summarus/blob/master/evaluate.py |
|
|
|
Flags: --language ru --tokenize-after --lower |
|
|
|
### BibTeX entry and citation info |
|
|
|
```bibtex |
|
@InProceedings{10.1007/978-3-030-59082-6_9, |
|
author="Gusev, Ilya", |
|
editor="Filchenkov, Andrey and Kauttonen, Janne and Pivovarova, Lidia", |
|
title="Dataset for Automatic Summarization of Russian News", |
|
booktitle="Artificial Intelligence and Natural Language", |
|
year="2020", |
|
publisher="Springer International Publishing", |
|
address="Cham", |
|
pages="122--134", |
|
isbn="978-3-030-59082-6" |
|
} |
|
``` |
|
|