transformers safetensors t5 text2text-generation summarization dialogue-summarization mT5 ru en autotrain_compatible text-generation-inference endpoints_compatible region:us
---
language:
- ru
- en
pipeline_tag: summarization
tags:
- summarization
- dialogue-summarization
- text2text-generation
- mT5
licenses:
- cc-by-nc-sa-4.0
widget:
- example_title: Russian Joke
  text: С точки зрения банальной эрудиции, в аспекте призматической парадоксальности,
    цинизм ваших слов в данной конспекции ассоциируется мистификацией парадоксальных
    иллюзий. Разложим его семилинейным функционалом в матpицy пpямоyгольнyю тpоеpанговyю
    обводимyю собственной неодноpодностью непpеpывно интегpиpyемой в pазpыв попеpек
    интеpвала pасходимости кpиволинейным экстpемyмом чеpез область целостности!
- example_title: Diploma Introduction
  text: 'Актуальность проблемы. Электронная информация играет все большую  роль во
    всех сферах жизни современного общества. В последние годы объем научно-технической
    текстовой информации в электронном виде возрос настолько, что возникает угроза
    обесценивания этой информации в связи с трудностями поиска необходимых сведений
    среди множества доступных текстов. Развитие информационных ресурсов Интернет многократно
    усугубило проблему информационной перегрузки. В этой ситуации особенно актуальными
    становятся методы автоматизации реферирования текстовой информации, то есть методы
    получения сжатого представления текстовых документов–рефератов (аннотаций). Постановка  проблемы  автоматического
    реферирования текста и соответственно попытки ее решения с использованием различных
    подходов предпринимались многими исследователями. История применения вычислительной
    техники для реферирования  насчитывает уже более 50 лет и связана с именами таких
    исследователей, как Г.П. Лун, В.Е. Берзон, И.П. Cевбо, Э.Ф. Скороходько, Д.Г.
    Лахути, Р.Г. Пиотровский и др. За эти годы  выработаны  многочисленные подходы
    к решению данной проблемы, которые достаточно четко подразделяются на два направления:
    автоматическое реферирование, основанное на экстрагировании из первичных документов
    с помощью определенных формальных признаков «наиболее информативных» фраз (фрагментов),
    совокупность которых образует некоторый экстракт; автоматическое реферирование,
    основанное на выделении из текстов с помощью специальных информационных языков
    наиболее существенной информации и порождении новых текстов (рефератов), содержательно
    обобщающих первичные  документы.

    '
- example_title: Biological Info
  text: Первую многоножку, у которой более тысячи ног, обнаружили в австралийских
    пещерах биологи, изучавшие там подземные воды. Предыдущей рекордсменкой по количеству
    ног была 700-ногая многоножка. Новый вид имеет длинное тонкое тело, похожее на
    нить, и большое количество конечностей, по-видимому, дает преимущества для быстрого
    перемещения и проникновения в труднодоступные места — ученые полагают, такая многоножка
    может спокойно перемещаться по трещинам в камнях. Австралия известна своими огромными
    и жутковатыми животными вроде 25-сантиметровых пауков. Теперь список пугающих
    членистоногих пополнился самой «многоногой» в мире многоножкой, у которой более
    тысячи ног. Необычное животное обнаружила группа исследователей из Австралии и
    США в пещерах на западе страны. Подробнее многоножку ученые описали в статье в
    журнале Scientific Reports. Исследователи занимались оценкой воздействия подземных
    вод на окружающую среду в зоне добычи полезных ископаемых на западе страны, когда
    наткнулись на новый вид многоножек. В отличие от большинства сородичей, живущих
    на поверхности, эти многоножки обитали в пещерах на глубине до 60 метров. Новый
    вид исследователи назвали Eumillipes persephone, в честь Персефоны — древнегреческой
    богини подземного мира. У многоножки оказалось 1306 ног — больше, чем у любого
    другого известного вида. Предыдущей рекордсменкой была калифорнийская Illacme
    plenipes, у которой насчитывалось до 750 ног. «Эти животные были настолько уникальны,
    — говорит биолог Бруно Бузатто. — Как только я понял, какой длины они были...
    Стало ясно, что это что-то совершенно новое». У Е. persephone нитевидное тело
    длиной около 9,5 см и шириной всего миллиметр, состоящее из 330 сегментов, короткие
    ноги и конусообразная голова. Как и другие животные, живущие в постоянной темноте,
    эти многоножки бледны и слепы. Энтомолог Пол Марек сравнивает ее с белой нитью,
    выдернутой из рубашки. Чтобы посчитать количество ног, ученым пришлось сначала
    снять многоножку в высоком разрешении, а затем закрашивать на фото каждый десяток
    ног другим цветом. (https://www.gazeta.ru/science/2021/12/17_a_14325355.shtml)
---
# mT5_ru_XLSum

Mod of https://huggingface.co/csebuetnlp/mT5_multilingual_XLSum. Shrink tokenizer to 32K (ru+en) with David's Dale [manual](https://towardsdatascience.com/how-to-adapt-a-multilingual-t5-model-for-a-single-language-b9f94f3d9c90).

## Using this model in `transformers`

```python
import re
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

WHITESPACE_HANDLER = lambda k: re.sub('\s+', ' ', re.sub('\n+', ' ', k.strip()))

article_text = """
С точки зрения банальной эрудиции, в аспекте призматической парадоксальности,
цинизм ваших слов в данной конспекции ассоциируется мистификацией парадоксальных иллюзий.
Разложим его семилинейным функционалом в матpицy пpямоyгольнyю тpоеpанговyю обводимyю
собственной неодноpодностью непpеpывно интегpиpyемой в pазpыв попеpек интеpвала
pасходимости кpиволинейным экстpемyмом чеpез область целостности!
"""

model_name = "Nehc/mT5_ru_XLSum"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSeq2SeqLM.from_pretrained(model_name)

input_ids = tokenizer(
    [WHITESPACE_HANDLER(article_text)],
    return_tensors="pt",
    padding="max_length",
    truncation=True,
    max_length=512
)["input_ids"]

output_ids = model.generate(
    input_ids=input_ids,
    max_length=84,
    no_repeat_ngram_size=2,
    num_beams=3
)[0]

summary = tokenizer.decode(
    output_ids,
    skip_special_tokens=True,
    clean_up_tokenization_spaces=False
)

print(summary)
```