NLP для людей. Часть 1 |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2020-03-14 19:00 NLP для людей. Часть 1 NLP (Natural Language Processing) — направление области искусственного интеллекта, которое занимается обработкой естественного, в том числе неструктурированного языка. NLP состоит в применении методов машинного обучения для анализа текста и речи. Возможности NLP Для NLP можно использовать любые наборы текстовых документов. В зависимости от поставленной задачи их источник может быть самым разным: например, массив новостных сообщений СМИ по определенной тематике (а-ля «коронавирус, 2020»), список комментариев популярного ролика YouTube или записанное тематическое интервью эксперта. Применяя методы NLP, исследователь может решить или поспособствовать решению широкому спектру задач. Задачи можно поделить на несколько типов или уровней. Уровень сигналов: распознавание текста, распознавание речи, синтез речи, синхронный перевод. На уровне сигнала NLP работает как с изображениями текста, например, с отсканированными дневниками с рукописными записями, так и со свойствами речевых сигналов: их смысловой нагрузкой, эмоциональной нагрузкой, а также со звуко-акустическими характеристиками. Одной из основных задач этого уровня является проблема распознавания текста (text recognition), распознавание речи (speech recognition) и обратная ей — синтез речи (speech synthesis). Уровень слов и словосочетаний: морфологический анализ слова, лемматизация, исправление грамматических ошибок, выявление отношений между словами, распознавание именованных сущностей. Для обработки отдельно взятых слов выделяют задачи морфологического анализа слова, исправление допущенных оператором ошибок, поиск леммы (основной формы) слова. При работе со словосочетаниями используют так называемые n-граммы — словосочетания, состоящие из n слов. При обработке n-грамм ставят задачи синтаксического разбора и выявления отношений между составляющими n-грамм. Отдельной задачей ставится проблема распознавания именованных сущностей (named-entity recognition, или NER). В ходе NER решают вопросы принадлежности слова или словосочетания к имени собственному, например: локации (Санкт-Петербург), имени персонажа (Шерлок Холмс) или названию компании (Uber). Уровень предложений: синтаксический разбор предложений, генерация предложений, распознавание именованных сущностей, распознавание именных групп, анализ тональности. Обработка предложений методами NLP состоит в задаче синтаксического разбора предложений или их смысловой генерации, например, для автоматизации автоматических ответов умного чат-бота. Также на уровне предложений выделяют задачи выделения именованных сущностей (вышеупомянутый NER) и именных групп (Noun Phrase Extraction). Кроме того, при анализе предложений можно выделить характер входящих в него слов, указывающих на настроение текста, его позитивный или негативный контекст. Этот метод называют анализом тональности или анализом эмоциональной окраски текста (sentiment analysis). Уровень документов: выявление ключевых слов, суммаризация текста, выделение заголовка, перевод текста, анализ тематики. Документ — это набор текста, состоящий из нескольких связанных между собой предложений. Например, монолог персонажа или публикация в СМИ. На уровне текстовых документов решают задачи содержательного описания и используют такие методы, как: выделение ключевых слов (keywords extraction), автоматическое аннотирование текста (text summarization), автоматическое заглавие текста, перевод с одного языка на другой, а также метод тематического моделирования — определение причастности документа к одной из тем (topic modeling). Уровень корпусов: устранение дубликатов, антиплагиат, информационный поиск. Текстовый корпус — это набор документов, каждый из которых, как правило, имеет дату публикации, тип и источник. При анализе текстовых корпусов решают задачи выявления и последующего устранения дубликатов, выявление плагиатов, а также используют методы информационного поиска по корпусу. Стоит отметить, что каждый следующий уровень включает в себя все предыдущие. Например, уровень документов позволяет работать с предложениями по отдельности, затем перейти на словосочетания, слова и т.д. Где взять данные? Обобщенным объектом исследования в NLP является текст, поэтому одним из основных вопросов в рамках анализа ставится выбор релевантных источников текстовых материалов. В зависимости от поставленных задач, источниками данных могут быть электронные базы СМИ, данные социальных сетей, открытые языковые корпусы и другие. Для формирования текстовой выборки существуют специальные коммерческие ресурсы, такие как «Интегрум», «Медиалогия» и «Public.ru». Они содержат миллионы новостных публикаций и записей из социальных сетей. Электронная база СМИ представляет из себя платформу для поиска и анализа данных по введенному оператором запросу. Стоимость доступа к таким базам начинается от 20 000 рублей в месяц. Данные СМИ позволяют анализировать социальные тренды и информационные повестки в обществе. Данные из социальных сетей позволяют проводить маркетинговый анализ компаниям и корпорациям. Преимущества Недостатки Сформировать текстовый корпус возможно используя инструменты API социальных сетей, например Vk API или YouTube API. В этом случае для анализа доступны такие данные, как записи и ответы на стенах, комментарии под фотографиями и видео, описания профилей пользователей, описания сообществ и другие. Как правило, такие API имеют открытый, но ограниченный доступ: например, не более 500 запросов в сутки. Данные социальных сетей позволяют выявить поведенческие характеристики пользователей и проверить гипотезы их социального взаимодействия. Преимущества Недостатки Существуют проекты открытых размеченных текстовых корпусов на различных языках. Для русского языка наиболее популярные это: Национальный корпус русского языка и Opencorpora.org. Такие проекты активно развиваются за счет участия сообщества. Открытые языковые корпусы направлены, главным образом, на языковые исследования и проверку лингвистических феноменов и гипотез. Пример исследовательской задачи Методы NLP применяются при решении социологических задач. В ходе исследования беспилотных автомобилей команда Центра STS поставила ряд вопросов, направленных на выявление различных устройств технических дизайнов беспилотных автомобилей, а также описание основных трендов этих дизайнов. В ходе работы был собран корпус текстовых документов, состоящий из 4500 записей, среди которых оказались научные публикации по теме беспилотных автомобилей, а также набор новостных сообщений СМИ. Последний был получен в процессе работы с электронной базой СМИ «Public.ru» по запросу «беспилотный автомобиль». Текстовый корпус, помимо тела публикации, содержит: заголовок, дату публикации, источник, тип записи, а также ряд мета-параметров, служащих для более детального представления библиографической ссылки на материал. Для анализа собранных данных наиболее эффективно использовать методы уровня предложений, документов и корпусов. Методы NLP на пальцах Далее будет приведен обзор базовых подходов NLP без освещения технической составляющей. Для демонстрации примеров возьмем предложение следующее предложение: Эксперты Saxo Bank твердят, что беспилотное будущее уже практически наступило: вот-вот автомобили пятого уровня выйдут на дороги и мир изменится навсегда. Прежде всего для повышения эффективности автоматической обработки текста исходный документ упрощают. Для этого его слова приводят в нормальную форму. При нормализации выделяют два основных подхода: лемматизация (поиск леммы слова) и стемминг (сечение окончания слова). Не вдаваясь в технические подробности процесса, рассмотрим результат нормализации каждого из примеров. Лемматизация эксперт saxo bank твердить что беспилотный будущий уже практически наступил : вот вот автомобиль пятый уровень выйти на дорога и мир измениться навсегда Стемминг эксперт sax bank тверд что беспилотн будущ уж практическ наступ : вот вот автомобил пят уровен выйт на дорог и мир измен навсегд Конечно, при итоговой интерпретации использовать результаты лемматизации более удобно, однако процесс нормализации в этом случае требует больших вычислительных мощностей. Следующий уровень нормализации состоит в использовании фильтров, направленных на выявление и очистку встречаемых стоп-слов. Базовый набор таких слов в русском языке включает в себя предлоги, частицы, местоимения и междометия, например: «я», «он», «как», «что», «уже», «вот» и другие. Часто при анализе узкоспециализированных текстов очищают самые встречаемые слова. Например, отчеты компании Яндекс будут содержать много упоминаний на собственный бренд, в связи с этим такие названия могут войти в список стоп-слов наравне с предлогами и другими. Применяя фильтр для ранее нормализованного предложения, получим: эксперт saxo bank твердить беспилотный будущий наступил автомобиль пятый уровень выйти дорога мир измениться навсегда N-грамма в NLP — это комбинация одного (монограмма или monogram) или нескольких, например, двух (биграмма или bigram), трех (триграмма или trigram) слов, которые встречаются в тексте. N-граммы являются ключевыми объектами анализа при обработке естественного языка и составляют основу многим другим методам, в числе которых извлечение именных групп, идентификация языка и другие. Выделим n-граммы из упрощенного предложения выше: Монограммы эксперт; saxo; bank; твердить Биграммы эксперт saxo; saxo bank; bank твердить; твердить беспилотный; беспилотное будущее Триграммы эксперт saxo bank; saxo bank твердить; bank твердить беспилотный; твердить беспилотный будущий Можно отметить, что монограммы (фактически отдельные слова) не представляют ценности для анализа предложений и контекста. Однако они могут использоваться для подсчета общего количества упоминания тех или иных однословных понятий. Триграммы также являются малоэффективными при контекстном анализе текста: их содержание слишком специфично для поиска закономерностей. Как видно из примера выше, наиболее содержательным оказались биграммы. Такие словосочетания, как «эксперт saxo», «saxo bank», «беспилотное будущее», говорят о предложении больше, чем другие n?граммы. Часто биграмы указывают на характер существительного. Например: «беспилотный автомобиль». Анализ текстовых документов унифицирован даже на уровне стилистики текста на одном языке, не говоря о разных. Поэтому при наличии набора текстов на разных языках их необходимо разметить. В подходах NLP для решения этой проблемы используют методы идентификации языка или language identification. Один из классических способов для автоматического определения языка — распределение языковых коэффициентов n-грамм и подсчет результирующей суммы. Тематическое моделирование корпуса документов представляет собой набор тем, характеризующих содержание данных документов. Для описания темы используется тематическая модель, которая содержит связи между словами и документами, представленная в виде векторных распределений. Тематическая модель является средством обобщения и систематизации содержания документов корпусов. Одним из наиболее распространенных подходов в тематическом моделировании является метод латентного размещения Дирихле или Latent Dirichlet Allocation (LDA). LDA состоит в составлении так называемого мешка слов (bag-of-words) для каждой темы на основе частотных характеристик входящих в него n-грамм. Метод тематического моделирования применяется в задачах корпусного уровня, например, для информационного поиска или автоматической разметки текстов по темам. Использование NLP сегодня — это скорее хороший тон, чем инновация. NLP позволяет лучше понять исследуемую область и выявить характеристики текста, которые могут быть упущены при ручной обработке. При этом важно запомнить: NLP лишь вспомогательный инструмент, и без внимательного сопровождения это лишь игрушка в руках исследователя. Written by Источник: medium.com Комментарии: |
|