Резюмирование текста с помощью преобразователя текста в текст T5

T5 - это новая модель преобразователя от Google, которая проходит сквозное обучение с текстом на входе и измененным текстом на выходе. Вы можете прочитать больше об этом здесь".

Он достигает самых современных результатов по множеству задач НЛП, таких как обобщение, ответы на вопросы, машинный перевод и т. Д. С использованием преобразователя текста в текст, обученного на большом корпусе текста.

Сегодня мы увидим, как мы можем использовать библиотеку transformers huggingface, чтобы резюмировать любой заданный текст. T5 - это абстрактный алгоритм реферирования. Это означает, что при необходимости он будет переписывать предложения, а не просто брать предложения непосредственно из исходного текста.

Прежде чем начать, установите эти библиотеки в свой блокнот jupyter или среду conda:

!pip install transformers==2.8.0
!pip install torch==1.4.0

Ввод текста:

The US has "passed the peak" on new coronavirus cases, President Donald Trump said and predicted that some states would reopen this month.The US has over 637,000 confirmed Covid-19 cases and over 30,826 deaths, the highest for any country in the world.At the daily White House coronavirus briefing on Wednesday, Trump said new guidelines to reopen the country would be announced on Thursday after he speaks to governors."We'll be the comeback kids, all of us," he said. "We want to get our country back."The Trump administration has previously fixed May 1 as a possible date to reopen the world's largest economy, but the president said some states may be able to return to normalcy earlier than that.

Резюме из Т5:

The us has over 637,000 confirmed Covid-19 cases and over 30,826 deaths. President Donald Trump predicts some states will reopen the country in april, he said. "we'll be the comeback kids, all of us," the president says.

Анализируя вывод:

Если вы видите, что алгоритм продуманно резюмировал с упоминанием апреля, хотя он никогда не упоминался в исходной истории, он также заменил he на президент. Обрежьте и удалите лишнюю информацию после запятой в предложении «более 30 826 смертей…».

Код :

Тот же встроенный код, что и некоторые пользователи, сообщавшие о том, что Github Gist не загружается:

import torch
import json 
from transformers import T5Tokenizer, T5ForConditionalGeneration, T5Config

model = T5ForConditionalGeneration.from_pretrained('t5-small')
tokenizer = T5Tokenizer.from_pretrained('t5-small')
device = torch.device('cpu')

text ="""
The US has "passed the peak" on new coronavirus cases, President Donald Trump said and predicted that some states would reopen this month.

The US has over 637,000 confirmed Covid-19 cases and over 30,826 deaths, the highest for any country in the world.

At the daily White House coronavirus briefing on Wednesday, Trump said new guidelines to reopen the country would be announced on Thursday after he speaks to governors.

"We'll be the comeback kids, all of us," he said. "We want to get our country back."

The Trump administration has previously fixed May 1 as a possible date to reopen the world's largest economy, but the president said some states may be able to return to normalcy earlier than that.
"""


preprocess_text = text.strip().replace("\n","")
t5_prepared_Text = "summarize: "+preprocess_text
print ("original text preprocessed: \n", preprocess_text)

tokenized_text = tokenizer.encode(t5_prepared_Text, return_tensors="pt").to(device)


# summmarize 
summary_ids = model.generate(tokenized_text,
                                    num_beams=4,
                                    no_repeat_ngram_size=2,
                                    min_length=30,
                                    max_length=100,
                                    early_stopping=True)

output = tokenizer.decode(summary_ids[0], skip_special_tokens=True)

print ("\n\nSummarized text: \n",output)

# Summarized output from above ::::::::::
# the us has over 637,000 confirmed Covid-19 cases and over 30,826 deaths. 
# president Donald Trump predicts some states will reopen the country in april, he said. 
# "we'll be the comeback kids, all of us," the president says.

Обобщенный результат, как указано выше, -

The us has over 637,000 confirmed Covid-19 cases and over 30,826 deaths. President Donald Trump predicts some states will reopen the country in april, he said. "we'll be the comeback kids, all of us," the president says.

Ключевым моментом, на который следует обратить внимание в приведенном выше коде, является то, что мы добавляем к нашему тексту слово «summarize:» перед его передачей в сумматор T5.

Если вы заглянете в бумагу, все, что нам нужно сделать для других задач, - это добавить к нашему тексту соответствующую строку, например: перевести с английского на немецкий: для задачи перевода.

Живой когортный курс: Практическое введение в НЛП

Я провожу 4-недельный когортный курс Практическое введение в НЛП с Maven, лучшей в мире платформой для когортного обучения. Если вы хотите превратиться из разработчика Python в младшего разработчика НЛП с практическим опытом работы в проектах за 4 недели, займите свое место прямо сейчас!

Генерация вопросов с помощью НЛП - Курс

Я запустил очень интересный курс Udemy под названием Генерация вопросов с помощью НЛП, в котором подробно рассматриваются некоторые методы, обсуждаемые в этом сообщении в блоге. Если хотите посмотреть, вот ссылка.