Обобщение текста при обработке естественного языка: алгоритмы, методы и проблемы

Опубликовано: 2020-08-07

Создание сводки из определенного фрагмента контента — это очень абстрактный процесс, в котором участвуют все. Автоматизация такого процесса может помочь проанализировать большое количество данных и помочь людям лучше использовать свое время для принятия важных решений. При огромном объеме медиа можно быть очень эффективным, сократив ненужную информацию вокруг наиболее важной информации. Мы уже начали видеть текстовые сводки в Интернете, которые генерируются автоматически.

Если вы часто посещаете Reddit, вы могли видеть, что «бот Autotldr» регулярно помогает Redditors, резюмируя связанные статьи в данном сообщении. Он был создан всего в 2011 году и уже сэкономил тысячи человеко-часов. Существует рынок надежных текстовых сводок, о чем свидетельствует тенденция приложений, которые делают именно это, таких как Inshorts (обобщение новостей до 60 слов или меньше) и Blinkist (обобщение книг).

Таким образом, автоматическое суммирование текста представляет собой захватывающую, но сложную задачу в области обработки естественного языка (NLP) и машинного обучения (ML). Текущие разработки в области автоматического реферирования текста связаны с исследованиями в этой области, начиная с 1950-х годов, когда была опубликована статья Ханса Петера Луна под названием «Автоматическое создание литературных рефератов».

В этом документе описано использование таких функций, как частота слов и фраз, для извлечения основных предложений из документа. За этим последовало еще одно критическое исследование, проведенное Гарольдом П. Эдмундсоном в конце 1960-х годов, в котором подчеркивалось наличие ключевых слов, слов, используемых в заголовке, появляющихся в тексте, и расположение предложений для извлечения значимых предложений из документа.

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

Обязательно прочитайте: Заработная плата инженера НЛП в Индии

Существует два основных подхода к обобщению текста в НЛП.

Оглавление

Обобщение текста в НЛП

1. Обобщение на основе извлечения

Как следует из названия, этот метод основан на простом извлечении ключевых фраз из документа. Затем следует объединение этих ключевых фраз для формирования последовательного резюме.

2. Резюме на основе рефератов

Этот метод, в отличие от извлечения, основан на возможности перефразировать и сокращать части документа. Когда такая абстракция выполняется правильно в задачах глубокого обучения, можно быть уверенным, что грамматика непротиворечива. Но этот дополнительный уровень сложности достигается за счет того, что его сложнее разрабатывать, чем извлечение.

Есть еще один способ сделать резюме более качественным. Этот подход называется вспомогательным суммированием, которое предполагает совместную работу человека и программного обеспечения. Это тоже бывает 2 разных вкусов

  1. Автоматизированное резюмирование человеком : методы извлечения выделяют отрывки-кандидаты для включения, которые человек может добавлять или удалять текст.
  2. Обобщение с помощью машины с помощью человека: человек просто редактирует вывод программного обеспечения.

Помимо основных подходов к резюмированию текста, существуют и другие основания, по которым классифицируются рефераторы текста. Ниже приведены эти главы категорий:

3. Обобщение одного и нескольких документов

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

4. Ориентировочный и информативный

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

5. Длина и тип документа

Длина входного текста сильно влияет на подход к резюмированию.

Крупнейшие сводные наборы данных, такие как отдел новостей Cornell, сосредоточены на новостных статьях, которые в среднем содержат около 300-1000 слов. Извлекающие сумматоры относительно хорошо справляются с такими длинами. Многостраничный документ или глава книги могут быть адекватно резюмированы только с помощью более продвинутых подходов, таких как иерархическая кластеризация или анализ дискурса.

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

В этой статье мы сосредоточимся на дальнейших деталях метода обобщения извлечения.

Алгоритм PageRank

Этот алгоритм помогает поисковым системам, таким как Google, ранжировать веб-страницы. Разберем алгоритм на примере. Предположим, у вас есть четыре веб-страницы с разными уровнями связи между ними. Один может не иметь связей с тремя другими; один может быть связан с двумя другими, один может быть связан только с одним и так далее.

Затем мы можем смоделировать вероятность перехода с одной страницы на другую, используя матрицу с n строками и столбцами, где n — количество веб-страниц. Каждый элемент в матрице будет представлять вероятность перехода с одной веб-страницы на другую. Назначая правильные вероятности, можно многократно обновлять такую ​​матрицу, чтобы получить рейтинг веб-страницы.

Читайте также: Проект НЛП и темы

Алгоритм TextRank

Причина, по которой мы исследовали алгоритм PageRank, состоит в том, чтобы показать, как тот же алгоритм можно использовать для ранжирования текста вместо веб-страниц. Это можно сделать, изменив перспективу, заменив ссылки между страницами на сходство между предложениями и используя матрицу стиля PageRank в качестве показателя сходства.

Реализация алгоритма TextRank

Требуемые библиотеки

  • Онемение
  • Панды
  • нтлк
  • ре

Ниже приводится объяснение кода, лежащего в основе метода суммирования извлечения:

Шаг 1

Объедините весь текст, который у вас есть в исходном документе, в один цельный блок текста. Это делается для того, чтобы обеспечить условия, облегчающие выполнение шага 2.

Шаг 2

Мы предоставляем условия, определяющие предложение, такие как поиск знаков препинания, таких как точка (.), вопросительный знак (?) и восклицательный знак (!). Получив это определение, мы просто разбиваем текстовый документ на предложения.

Шаг 3

Теперь, когда у нас есть доступ к отдельным предложениям, мы находим векторные представления (вложения слов) каждого из этих предложений. Именно сейчас мы должны понять, что такое векторные представления. Вложения слов — это тип представления слов, который обеспечивает математическое описание слов со схожими значениями. На самом деле это целый класс методов, которые представляют слова как векторы с действительными значениями в предопределенном векторном пространстве.

Каждое слово представлено вектором с действительным знаком, который имеет много измерений (иногда более 100). Представление распределения основано на использовании слов и, таким образом, позволяет словам, используемым сходным образом, иметь схожие описания. Это позволяет нам естественным образом улавливать значения слов по их близости к другим словам, представленным в виде самих векторов.

В этом руководстве мы будем использовать глобальные векторы представления слов (GloVe). gloVe — это алгоритм распределенного представления слов с открытым исходным кодом, разработанный Пеннингтоном в Стэнфорде. Он сочетает в себе черты двух семейств моделей, а именно глобальной матричной факторизации и методов локального контекстного окна.

Шаг 4

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

Шаг 5

На данный момент у нас есть векторное представление для каждого отдельного предложения. Теперь полезно количественно определить сходство между предложениями, используя подход косинусного сходства. Затем мы можем заполнить пустую матрицу косинусным сходством предложений.

Шаг 6

Теперь, когда у нас есть матрица, заполненная косинусными сходствами между предложениями. Мы можем преобразовать эту матрицу в граф, в котором узлы представляют предложения, а ребра представляют сходство между предложениями. Именно на этом графике мы будем использовать удобный алгоритм PageRank для ранжирования предложений.

Шаг 7

Теперь мы расположили все предложения в статье в порядке важности. Теперь мы можем извлечь первые N (скажем, 10) предложений, чтобы создать сводку.

Чтобы найти код такого метода, на Github есть много таких проектов; эта статья, с другой стороны, помогает развить понимание того же самого.

Проверьте: Эволюция языкового моделирования в современной жизни

Методы оценки

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

  • Внутренняя и внешняя оценка :

Внутренняя: такая оценка проверяет систему обобщения сама по себе. Они в основном оценивают связность и информативность резюме.

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

  • Интертекстуальные и внутритекстовые :

Интертекстуальный: такие оценки сосредоточены на сравнительном анализе нескольких систем обобщения.

Внутритекстовые: такие оценки оценивают результаты конкретной системы обобщения.

  • Зависящие от домена и независимые от домена :

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

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

  • Качественная оценка резюме :

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

Проблемы суммирования текста

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

Как уже говорилось, векторное представление и матрицы подобия пытаются найти ассоциации слов, но у них все еще нет надежного метода для определения наиболее важных предложений.

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

«Проблема анафоры» — еще один барьер в реферировании текста. В языке мы часто заменяем подлежащее в разговоре его синонимами или местоимениями. Понимание того, какое местоимение заменяет какой термин, является «проблемой анафоры».

«Проблема катафоры» — это проблема, противоположная проблеме анафоры. В этих двусмысленных словах и объяснениях конкретный термин используется в тексте до введения самого термина.

Заключение

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

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

Если вы хотите улучшить свои навыки НЛП, вам нужно взяться за эти проекты НЛП. Если вам интересно узнать больше о машинном обучении, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и искусственного интеллекта, который предназначен для работающих профессионалов и предлагает более 450 часов тщательного обучения, более 30 тематических исследований и заданий, IIIT- Статус B Alumni, более 5 практических практических проектов и помощь в трудоустройстве в ведущих фирмах.

Каковы применения НЛП?

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

Нужно ли мне изучать математику, чтобы изучать НЛП?

Благодаря обилию ресурсов, доступных как в автономном режиме, так и в Интернете, теперь легче получить доступ к учебным материалам, предназначенным для изучения НЛП. Эти учебные ресурсы посвящены конкретным концепциям этой обширной области, называемой НЛП, а не более широкой картине. Но если вам интересно, является ли математика частью какой-либо концепции НЛП, то вы должны знать, что математика является неотъемлемой частью НЛП. Математика, особенно теория вероятностей, статистика, линейная алгебра и исчисление, являются фундаментальными столпами алгоритмов, лежащих в основе НЛП. Полезно иметь общее представление о статистике, чтобы вы могли опираться на нее по мере необходимости. Тем не менее, невозможно изучить обработку естественного языка, не углубляясь в математику.

Какие методы НЛП используются для извлечения информации?

В наш цифровой век произошел массовый всплеск генерации неструктурированных данных, в основном в виде аудио, изображений, видео и текстов из различных каналов, таких как платформы социальных сетей, жалобы клиентов и опросы. НЛП помогает извлекать полезную информацию из объемов неструктурированных данных, что может помочь бизнесу. Существует пять распространенных методов НЛП, которые используются для извлечения полезных данных, а именно: распознавание именованных сущностей, суммирование текста, анализ настроений, анализ аспектов и моделирование темы. В НЛП есть много других методов извлечения данных, но эти используются чаще всего.