Время прочтения: 5 мин.

Возможно ли получить достаточно информации из суммаризированного текста новостных материалов? В этой статье постараюсь ответить на этот вопрос.

С каждым днем количество информации растет. Ежедневно формируются письменные отчеты, доклады и аналитические статьи по разным тематикам и в разных областях. По данным https://www.statista.com, количество генерируемой информации на 2025 год превысит 180 зеттабайт в год.

Рис. 1. Объем информации/данных, созданных, собранных, скопированных и потребленных во всем мире с 2010 по 2025 год (в зеттабайтах).

Чтобы не выпасть из информационного поля, современному человеку необходимо следить за всеми тенденциями, происходящими в интересующей его среде. Изучение и усвоение информации занимает огромное количество времени. Сокращение текста, с передачей основной идеи и смысла, сократит человекочасы на усвоение информации.

          В данной статье я проведу анализ автоматически суммаризированного текста двух статей разного жанра с помощью Spacy и Gensim. Основные вопросы, на которые хотелось получить ответ:

  1. Сможет ли суммаризированный текст передать смысл и полноту информации из статьи?
  2. Какая библиотека даст лучший результат?

          И так приступим.

Для начала нам необходимо установить все необходимые библиотеки.

import spacy
from spacy.lang.ru.stop_words import STOP_WORDS
from string import punctuation
from gensim.summarization import summarize

После чего в переменную загружаем текст статьи любым способом. Так как у меня 2 статьи, я просто вставлял текст в переменную.

Для анализа было выбрано 2 материала в аналитических жанрах: статья и рецензия. С полным текстом можно ознакомиться по ссылкам:

  1. Статья. Microsoft покупает издателя Call of Duty, Diablo и World of Warcraft. Пора бежать за Xbox? И что теперь будет с PlayStation?

https://meduza.io/feature/2022/01/20/microsoft-pokupaet-izdatelya-call-of-duty-diablo-i-world-of-warcraft-pora-bezhat-za-xbox-i-chto-teper-budet-s-playstation

2. Рецензия. «Аллея кошмаров» — самый мрачный фильм Гильермо дель Торо Брэдли Купер в роли медиума-шарлатана в страшном цирке, откуда исчезло все волшебство.

https://meduza.io/feature/2022/01/21/alleya-koshmarov-samyy-mrachnyy-film-giliermo-del-toro

          Далее проводим суммаризацию при помощи Gensim функцией summarize с количеством слов равное 100 и получаем результат. Для Spacy использую модель ru_core_news_lg. Загружаем модель, проводим фильтрацию токенов, нормализируем список и взвешиваем предложения. Следующим с помощью nlargest выводим 5 предложений.

Код представлен ниже:

#gensim
doc2=str(summarize(document1, word_count=100))
print(doc2)


#spacy
#фильтрация токенов
stopwords = list(STOP_WORDS)
nlp=spacy.load('ru_core_news_lg')
docx = nlp(document1)
mytokens = [token.text for token in docx]
word_frequencies = {}
for word in docx:
    if word.text not in stopwords:
            if word.text not in word_frequencies.keys():
                word_frequencies[word.text] = 1
            else:
                word_frequencies[word.text] += 1
#нормализация списка
ma r word in word_frequencies.keys():  
        word_frequencies[word] = (word_frequencies[word]/maximum_frequency)
        sentence_list = [ sentence for sentence in docx.sents ]
#взвешиваем предложения
sentence_scores = {}  
for sent in sentence_list:  
        ximum_frequency = max(word_frequencies.values())
fo
for word in sent:
            if word.text.lower() in word_frequencies.keys():
                if len(sent.text.split(' ')) < 30:
                    if sent not in sentence_scores.keys():
                        sentence_scores[sent] = word_frequencies[word.text.lower()]
                    else:
                        sentence_scores[sent] += word_frequencies[word.text.lower()]
from heapq import nlargest
summarized_sentences = nlargest(5, sentence_scores, key=sentence_scores.get)

И на выходе получаем результаты:

  1. Статья Spacy.

Сегодня под контролем корпорации также находятся студии id Software (Doom, Quake), Arkane (Dishonored, Prey, Deathloop), MachineGames (Wolfenstein), Tango Gameworks (The Evil Within и Ghostwire Tokyo). Корпорация Microsoft объявила о покупке Activision Blizzard — одной из крупнейших игровых компаний мира, издающей популярные франшизы Call of Duty, Warcraft, Diablo, StarCraft и Overwatch.  В январе стало известно, что всего Activision Blizzard уволила 37 человек за домогательства и неподобающее поведение, еще несколько десятков сотрудников понесли «дисциплинарную ответственность» (какую именно, не уточняется). Возможно, новые громкие релизы, которые смогут завоевать рынок, компания сможет получить от небольших новичков.  Жанр MMORPG, наверное, самый близкий по опыту к тому, что сейчас называют метавселенными.

Статья Gensim.

Корпорация Microsoft объявила о покупке Activision Blizzard — одной из крупнейших игровых компаний мира, издающей популярные франшизы Call of Duty, Warcraft, Diablo, StarCraft и Overwatch. Сразу после анонса сделки с Microsoft ценные бумаги Activision Blizzard подорожали на 35%, до 88 долларов за акцию. До сделки с Activision Blizzard крупнейшим игровым вложением Microsoft называли покупку материнской компании издателя видеоигр Bethesda, известного по сериям игр The Elder Scrolls и Fallout. В день анонса сделки Microsoft и Activision Blizzard стало известно, что аудитория Game Pass выросла до 25 миллионов подписчиков. Время еще есть — сделка Microsoft и Activision Blizzard завершится только в середине 2023 года.

2. Рецензия Spacy.

В его копилке — вампирский боевик («Блейд-2»), хоррор («Мутанты»), кинокомикс («Хеллбой», «Хеллбой 2»), викторианская готика («Багровый пик»), неоготика («Хребет дьявола»), сказка («Лабиринт фавна») и политическая лавстори («Форма воды»). В центре этого пасьянса — заросший, грязный, жуткий, способный лишь бормотать фразу «Я не такой!» специальный аттракцион, так называемый «человек-зверь». В этом мире, где цена жизни — ломаный четвертак, каждый, от бесправного циркача до респектабельного миллионера (в этой роли блистателен неузнаваемый Ричард Дженкинс), рискует моментально превратиться в «человека-зверя». «Аллея кошмаров» — ярмарочное или цирковое кино в духе «Уродцев» Тода Броунинга, «Человека-слона» Дэвида Линча и двух версий «Дамбо», анимационной и игровой. С несвойственным ему прежде и, возможно, возрастным хладнокровием режиссер изучает границу, за которой благотворные фантазии и спецэффекты превращаются в прямую ложь, служащую корыстным целям обманщиков.

Рецензия Gensim.

В российский прокат вышла «Аллея кошмаров» — нуар Гильермо дель Торо о мошеннике и психиатре, которые объединились, чтобы обманывать людей: они делают вид, что читают их мысли. Однако первый нуар дель Торо «Аллея кошмаров», в котором режиссер начисто отказывается от мистической составляющей, отчетливо проговаривает сквозную идею всего его творчества. Поэтому «Аллея кошмаров», в которой на экране — одни только люди, еще и самый мрачный фильм Гильермо дель Торо. Не раскрывая подробностей интриги — впрочем, довольно предсказуемой — этого восхитительно тягучего, патологически живописного, чрезвычайно дискомфортного фильма, можно констатировать, что Гильермо дель Торо, исключив из своей вселенной магию, убрал оттуда и надежды на хэппи-энд.

          Исходя из результатов видно, что Gensim справляется лучше с новостными статьями и рецензиями. Gensim сохраняет структуру, передает основной смысл, а также строит комфортный для чтения текст.           Таким образом, Gensim сокращает информацию более логично и точно. Благодарю за внимание.