Назад в библиотеку

СОЗДАНИЕ ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ СТИЛИСТИЧЕСКОЙ ОЦЕНКИ ТЕКСТА

Авторы: А.С. Столбунская, Т.Н. Кравец

Источник: Программная инженерия: методы и технологии разработки информационно–вычислительных систем (ПИИВС–2018): сборник материалов II Международной научно–практической конференции (студенческая секция). 14–15 ноября 2018 г. — Донецк, ГОУ ВПО Донецкий национальный технический университет, 2018. — с. 253–256.

Аннотация

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

Ключевые слова: статья, интеллектуальные системы, обработка текста, обработка естественного языка, чат-боты, машинное обучение.

Введение

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

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

Данная цель обусловила следующие задачи:

  • определить понятие обработка естественного языка;
  • выявить основные задачи обработки естественного языка;
  • выявить трудности, возникающие при выполнении задач естественного языка.

Обработка естественного языка

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

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

Существует 10 основных и наиболее актуальных задач обработки естественного языка.

  1. Распознавание речи — процесс, ведущий к преобразованию речевого сигнала человеческого голоса в цифровую информацию.
  2. Синтез речи — формирование по печатному тексту сигналов речи, то есть искусственное производство человеческой речи.
  3. Анализ текста — процесс извлечения содержательной, высокого качества информации из текста на естественном языке для автоматизации процесса извлечения и анализа данных.
  4. Синтез текста — это объединение слов в предложения, предложений в текст по заданной на этапе анализа прагматической структуре. Задача синтеза может рассматриваться как обратная по отношению к анализу.
  5. Машинный, или автоматический перевод — процесс перевода устных текстов, написанных на естественном языке, на другой, тоже естественный, язык при помощи электронно-вычислительных машин в предназначенных для данного типа задач компьютерных программах.
  6. Создание вопросно-ответных систем — системы, которые способны принимать, распознавать, классифицировать вопросы и давать ответы на них на естественном языке.
  7. Информационный поиск — процесс выявления информации в документах, содержащихся в доступных системе поиска базах данных, которые соответствуют заданному запросу по тематике.
  8. Извлечение информации — задачи обработки естественного языка, выполняющая автоматическое извлечение необходимых данных из источника информации, текста.
  9. Анализ тональности текста — анализ лексем текста, оценка их эмоциональной окрашенности и классификация по принадлежности к нейтральному, позитивному или негативному лексическому слою языка.
  10. Реферирование — сокращение объёма текста за счёт выделения основных тезисов путём поиска соответствий заданным в поиске ключевым словам и его краткое изложение.

Трудности при выполнении задач

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

  • отнесённость языка к той или иной языковой семье, группе;
  • порядок речи (прямой, обратный или свободный);
  • характерные особенности национальной культуры носителей естественного языка;
  • логический строй речи;
  • синтаксическое построение речи;
  • грамматический строй речи;
  • грамотность;
  • фонетические особенности речи;
  • полисемичность языка;
  • наличие омонимов в данном естественном языке;
  • способы словообразования, присущие определённому языку;
  • неологизмы, окказионализмы;
  • фразеологические обороты и устойчивые выражения.

Структурирование естественного языка

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

Проблемой извлечения данных машиной из обычного текста занимается особое направление искусственного интеллекта: обработка естественного языка, или NLP (Natural Language Processing).

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

Процесс чтения и понимания текста сам по себе очень сложен. Люди часто не соблюдают логику и последовательность повествования.

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

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

  1. Выделение предложений. Можно предположить, что каждое предложение — это самостоятельная мысль или идея. Проще научить программу понимать единственное предложение, а не целый параграф.

    Можно было бы просто разделять текст по определенным знакам препинания. Но современные NLP конвейеры имеют в запасе более сложные методы, подходящие даже для работы с неформатированными фрагментами.

  2. Токенизация, или выделение слов. Выделение отдельных слов или токенов — токенизация. Отделение фрагмента текста, когда встречаем пробел. Знаки препинания тоже являются токенами, поскольку могут иметь важное значение.
  3. Определение частей речи. Просматривает каждый токен и старается угадать, какой частью речи он является: существительным, глаголом, прилагательным или чем-то другим. Зная роль каждого слова в предложении, можно понять его общий смысл.

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

  4. Лемматизация. В языках слова могут иметь различные формы. Если тексты обрабатывает компьютер, он должен знать основную форму каждого слова, чтобы понимать, что речь идет об одной и той же концепции. В NLP этот процесс называется лемматизацией — нахождением основной формы (леммы) каждого слова в предложении.
  5. Определение стоп-слов. Определение важности каждого слова в предложении. Например, в английском языке очень много вспомогательных слов, таких как: and, the, a. При статистическом анализе текста эти токены создают много шума, так как появляются чаще, чем остальные. Некоторые NLP пайплайны отмечают их как стоп-слова и отсеивают перед подсчетом количества. Для обнаружения стоп-слов обычно используются готовые таблицы.
  6. Парсинг зависимостей. Установление взаимосвязей между словами в предложении. Это называется парсингом зависимостей. Конечная цель — построение дерева, в котором каждый токен имеет единственного родителя. Корнем может быть главный глагол. Модель получает слова и возвращает результат. Однако это более сложная задача.

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

  7. Распознавание именованных сущностей (Named Entity Recognition, NER). Обнаружение существительных и связей их с реальными концепциями. NER-системы не просто просматривают словари. Они анализируют контекст токена в предложении и используют статистические модели, чтобы угадать какой объект он представляет.
  8. Разрешение кореференции. Разрешением кореференции называется отслеживание местоимений в предложениях с целью выбрать все слова, относящиеся к одной сущности. Скомбинировав эту методику с деревом парсинга и информацией об именованных сущностях и получить возможность извлечь из документа огромное количество полезных данных.

Конвейер NLP на Python

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

Рисунок 1 — Резюмирующая схема конвейера

Обработка естественного языка и машинное обучение

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

Многие компании пытаются разработать идеального чат-бота, который, ведёт диалог, неотличимый от обычного общения между людьми. Новые чат-боты используют глубокое обучение не только для анализа ввода человеческой речи, но и для генерирования ответов. Анализ и создание ответа достигается в результате использования алгоритма глубокого обучения, который применяется в декодировке ввода и генерировании ответа. NLP также переводит ввод и вывод в текстовый формат, понятный и компьютеру, и человеку.

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

  1. Реферирование. Задача состоит в том, чтобы создать реферат или резюме большого текста.
  2. Открытые и закрытые вопросы. От современных чат–ботов ожидают готовности ответить на вопросы независимо от того, открытые они или закрытые.
  3. Сопоставление. Бот должен сопоставлять объекты со словами, и понимать, когда разные слова относятся к одному объекту.
  4. Двусмысленность. Двусмысленность, которая часто содержится в явлениях естественного языка, пока что представляют серьёзную проблему для ботов. Одна только омонимия требует, чтоб было выбранное правильное значение в зависимости от контекста.
  5. Морфология. Чат-бот должен уметь разделить слова на морфемы.
  6. Семантика. Собственно, это задача определения смысла предложений или слов в естественном языке, и генерация высказываний на естественном языке.
  7. Структура текста. Связанность со структурой текста и пунктуацией.
  8. Тональность. Чат-бот должен различать эмоциональную окраску высказываний человека, его отношение к предмету разговора. Должен распознавать по манере человека изъясняться, строению предложений и выбору слов, в каком настроении человек: зол, счастлив, печален.

Заключение

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

Также в данной работе рассматривается понятие искусственного интеллекта, подходы к разработке и направления искусственного интеллекта.

Обработка естественного языка позволяет получать новые восхитительные результаты и является очень широкой областью.

Список литературы

  1. Корн, Г. Справочник по математике для научных работников и инженеров / Г. Корн, Т. Корн. — М.: Наука. Главная редакция физико-математической литературы, 1974. — 832 с.
  2. Джаратано, Джозеф. Экспертные системы: принципы разработки и программирование / Джозеф Джаратано. — М.: Высшая школа, 2002. — 1152 с.
  3. Ясницкий, Л. Н. Введение в искусственный интеллект / Л. Н. Ясницкий. — М.: Издат. центр Академия, 2005. — 176 с.
  4. Джексон, Питер Введение в экспертные системы / Питер Джексон. — Харьков, 1997. — 112 с.
  5. Большакова, Е.И. Автоматическая обработка текстов на естественном языке и компьютерная лингвистика / Е.И. Большакова, Э.С. Клышинский, Д.Э. Ланде, А.А. Носков, О.В. Пескова. Е.В. Ягунова — М.: СССР-США СП Параграф, 1990. — 160 с.