Natural language processing что это
Перейти к содержимому

Natural language processing что это

  • автор:

Методы обработки естественного языка

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

Звуковая волна

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

Natural Language Processing — область в науке, объединяющая два направления: гуманитарную лингвистику и инновационные технологии искусственного интеллекта. Задача NLP — создать условия для понимания компьютером смысла речи человека. Это непросто из-за особенностей предмета анализа:

  • Язык наделён осмысленностью. Это не просто звуки и буквы, а способ передачи информации, которую нужно интерпретировать.
  • Фразы произносятся с различными интонациями, акцентом, ударениями, бывает, что речь слишком быстрая, и некоторые слова « съедаются » . Люди понимают друг друга благодаря лингвистическому опыту и образному мышлению. Машинам же для понимания смысла необходима обработка множества параметров.
  • Синтаксические, грамматические, лексические нюансы усложняют восприятие. Слова с одинаковым написанием и звучанием могут иметь разное значение: например, « стекло » может быть существительным и глаголом. Поэтому важно научить искусственный интеллект видеть смысловую связь.
  • Любой язык богат жаргонизмами, неологизмами, профессиональной, фольклорной и другими видами лексики. Люди постоянно пополняют свой словарный запас. Машинные алгоритмы понимания речи тоже должны непрерывно обучаться.

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

Так, Sber предлагает разработчикам приложений с виртуальными ассистентами Салют улучшить качество их взаимодействия с аудиторией. Для этого есть платформа для обработки запросов на естественном языке SmartNLP. Система определяет более 600 тематик, таких как медиа и видео, банковские сервисы, погода.

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

  • Применяется лемматизация и нормализация текста, чтобы привести слова к нормальной форме, исправляются ошибки, где нужно, буква « е » заменяется на « ё » .
  • Определяются члены предложения и части речи для дальнейшей работы с входящими запросами.
  • Выделяются именованные сущности, которые помогают собственной разработке Сбера — интентрекогнайзеру — понимать намерения пользователя. Эти сущности также могут использоваться внешними системами для работы с текстом. Сейчас выделяется более 30 сущностей, среди которых обозначения денежных знаков, локации и другие.

Намерение пользователя определяется двумя способами:

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

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

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

Основной технологией в направлении Natural Language Processing становится deep learning. Глубокое обучение возможно благодаря следующим предпосылкам:

  • Для обучения моделей стали доступны суперкомпьютеры с большим количеством GPU.
  • Разработчики накопили достаточно тренировочных данных для машинного обучения.

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

Какие задачи сегодня может решать NLP?

В общем смысле задачи NLP-технологий распределяются по уровням:

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

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

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

Рассмотрим подробнее несколько методов Natural Language Processing, которые активно применяются в различных отраслях.

Нейросеть

Машинный перевод

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

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

Другой способ — перевод по фразам — работает иначе. Система без дополнительных этапов анализа формирует несколько вариантов перевода и выбирает оптимальный на основе выученных вероятностей использования.

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

Голосовые помощники

В виртуальных ассистентах сочетаются два базовых решения:

  • искусственный интеллект;
  • машинное обучение.

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

Для автоматической обработки прямой или записанной речи нужны специальные инструменты. Например, среди продуктов SberDevices есть платформа SaluteSpeech, с которой можно « научить » приложения понимать естественную речь человека и синтезировать голосовые ответы на запросы. Сервис позволяет создать собственного виртуального помощника, который внесёт вклад в продвижение и узнаваемость бренда.

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

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

В форме простого диалога с фразами-подсказками клиент оформит заказ, узнает его статус, запишется на приём. Бота можно наделить различными полномочиями — от деловых до развлекательных. С алгоритмом можно поиграть в города или устроить викторину. Взаимодействие возможно только текстом и строго по заданному сценарию.

SaluteBot от SberDevices интегрируется с омниканальной платформой Jivo, которая позволяет в едином пространстве обрабатывать обращения, поступающие со всех подключённых каналов. Чат-бот можно создать самостоятельно с помощью готовых шаблонов в zero-code- и low-code-конструкторах платформы Studio. Боты могут обрабатывать неограниченное количество запросов, поэтому способны решить проблему упущенных клиентов.

Анализ текстов

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

Популярные онлайн-сервисы могут:

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

В линейке продуктов SberDevices есть сервисы работы с текстом Рерайтер и Суммаризатор.

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

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

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

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

Мужчина записывает голосовое сообщение

Распознавание и синтез речи

Метод считается одним из самых популярных в NLP. Технология распознавания речи и голосового синтеза позволяет:

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

Платформа SaluteSpeech от Sber работает в двух направлениях:

  1. При распознавании речи искусственный интеллект может определять эмоции говорящего и знаки препинания. Сервис поймёт, где закончилась фраза, отфильтрует шумы. Правильно понимать прямую и записанную речь помогают специальные подсказки — хинты, которые ускоряют автоматическую реакцию системы.
  2. Синтез речи построен на уникальных моделях машинного обучения, которые могут решать даже узкие задачи, например правильно расставлять ударения и произносить букву « ё » . Знаний нейросети достаточно для того, чтобы без ошибок произносить термины, географические названия, большие числа и другие сложные речевые конструкции. Сервис позволяет подобрать тембр, настроение, манеру общения, мужское или женское звучание синтезируемой речи.

Возможности платформы позволяют внедрить методы понимания естественной речи в свои продукты. Воспользоваться сервисом можно при работе над различными проектами в среде для разработчиков Studio от Sber. Тарификация посекундная и посимвольная, пользователи платят только за фактический результат.

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

Технология Natural Language Processing позволяет автоматизировать процессы, извлекать и анализировать большие объёмы информации. Растущий спрос даёт основание думать, что в ближайшие несколько лет NLP станет привычным инструментом в работе любой компании.

Ваш путеводитель по миру NLP (обработке естественного языка)

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

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

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

Обработка естественного языка или NLP (Natural Language Processing) — это область искусственного интеллекта, которая фокусируется на возможности машин читать, понимать и извлекать смысл из человеческих языков.

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

Примеры использования NLP

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

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

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

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

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

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

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

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

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

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

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

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

Количество публикаций, содержащих предложение “natural language processing” в PubMed за период 1978–2018 гг. По состоянию на 2018 год в PubMed содержится более 29 миллионов ссылок на биомедицинскую литературу.

Количество публикаций, содержащих предложение “natural language processing” в PubMed за период 1978–2018 гг. По состоянию на 2018 год в PubMed содержится более 29 миллионов ссылок на биомедицинскую литературу.

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

Тем не менее, вокруг этой темы идут все еще идут серьезные споры. Пару лет назад Microsoft продемонстрировала, что, анализируя большие выборки поисковых запросов, они могли идентифицировать интернет-пользователей, страдающих раком поджелудочной железы, еще до того, как им был поставлен диагноз этого заболевания. Но как пользователи отреагируют на такой диагноз? И что произойдет, если ваш тест окажется ложноположительным? (то есть, что у вас может быть диагностировано заболевание, а в реальности у вас его нет). Это напоминает случай с Google Flu Trends, который в 2009 году был объявлен как способный предсказывать вспышки гриппа, но позже исчез из-за его низкой точности и несоответствия прогнозируемым показателям.

NLP может стать ключом к эффективной клинической поддержке в будущем, но перед тем, как это станет реальностью, предстоит решить еще не одну проблему.

Основы NLP (знанием которых вы сможете пощеголять перед вашими не сведущими в NLP друзьями)

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

“Мешок слов” (Bag of Words)

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

В качестве простого примера я взял первое предложение из песни “Across the Universe” от The Beatles:

Words are flowing out like endless rain into a paper cup,

They slither while they pass, they slip away across the universe

Теперь давайте подсчитаем слова:

Этот подход имеет несколько недостатков, таких как отсутствие семантического значения и контекста, а также то, что игнорируемые в иных методах слова (например, “the” или “a”) добавляют нежелательный шум в анализ, и некоторые слова имеют не совсем адекватные веса (вес слова “universe” меньше веса слова “they”).

Один из подходов, нацеленных сгладить эту проблему, состоит в том, чтобы перемасштабировать частоту слов по частоте их появления во всех текстах (а не только в том, который мы в данный момент анализируем), чтобы веса часто встречающихся слов, таких как “the”, также часто встречаются и в других текстах, получали определенный штраф. Этот подход к подсчету весов, который улучшает мешок слов, называется “Частота терминов — обратная частота документа” (“Term Frequency — Inverse Document Frequency” или TFIDF). С помощью TFIDF слова, которые часто встречаются в тексте, “вознаграждаются” (например, слово “they” в нашем примере), но они также “штрафуются” на основе того, насколько часто они встречаются в других текстах, которые мы также учитываем в алгоритме. И наоборот, этот метод выделяет и “вознаграждает” уникальные или редкие, с учетом всех текстов, слова. Тем не менее, этот подход по-прежнему не имеет ни контекста, ни семантики.

Токенизация (Tokenization)

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

Довольно просто, не так ли? Что ж, хотя в этом случае, а также в таких языках, как английский, которые разделяют слова пробелом (так называемые сегментированные языки), этот процесс может показаться довольно простым. Но не все языки устроены одинаково, и если вдуматься, одних только пробелов недостаточно, чтобы выполнить правильную токенизацию даже для английского языка. Разбиение на пробелы может привести к тому, что то, что следует рассматривать как один токен, может быть разбито на два, как в случае с некоторыми именами собственными (например, Сан-Франциско или Нью-Йорк) или заимствованными иностранными фразами (например, laissez faire).

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

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

Более подробный разбор токенизации вы можете найти в этой отличной статье.

Удаление шумовых слов (Stop Words Removal)

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

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

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

Дело в том, что удаление шумовых слов все-таки может исказить информацию и изменить контекст в конкретном предложении. Например, если мы проводим анализ тональности, мы можем полностью сбить наш алгоритм с правильного пути, если удалим, например, шумовое слово “not”. В этих условиях вы можете выбрать минимальный список игнорируемых слов и добавлять туда дополнительные слова (или наоборот удалять их оттуда) в зависимости от вашей конкретной цели.

Стемминг (Stemming)

— это процесс обрезания конца или начала слов с целью удаления аффиксов (лексических дополнений к корню слова).

Аффиксы, которые присоединяются к началу слова, называются префиксами (например, “astro” в слове “astrobiology”), а те, которые присоединяются к концу слова, называются суффиксами (например, “ful” в слове “helpful”).

Проблема в том, что аффиксы могут создавать или расширять новые формы одного и того же слова (так называемые формообразующие аффиксы) или даже сами создавать новые слова (так называемые словообразовательные аффиксы). В английском языке префиксы всегда являются словообразовательными (аффикс создает новое слово, как в примере с префиксом “eco” в слове “ecosystem”), а вот суффиксы могут быть словообразовательными (суффикс “ist” в слове “guitarist”) или формообразующими (аффикс образует новую форму слова, как в примере с суффиксом “er” в слове “faster”).

Так как нам определить разницу и отрезать то, что нужно?

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

Итак, если стемминг имеет серьезные ограничения, почему мы его используем? Прежде всего, его можно использовать для исправления орфографических ошибок в токенах. Стеммеры просты в использовании и работают очень быстро (они выполняют простые строковые операции), и если скорость и производительность имеют значение для вашей NLP-модели, то стеммеры, безусловно, являются хорошим выбором. Помните, мы используем их с целью улучшения нашей работы, а не в качестве упражнения по грамматике.

Лемматизация (Lemmatization)

призвана привести слово к его базовой форме и сгруппировать разные формы одного и того же слова. Например, глаголы в прошедшем времени заменяются на настоящее (например, “went” заменяется на “go”), а синонимы унифицируются (например, “best” заменяется на “good”), тем самым стандартизируя слова со значением, аналогичным их корню. Хотя лемматизация кажется тесно связанной с процессом стемминга, она использует другой подход для получения корневых форм слов.

Лемматизация преобразует слова в их словарную форму (известную как “лемма”), для чего требуются подробные словари, которые алгоритм может просматривать и связывать слова с соответствующими им леммами.

Например, слова “running”, “runs” и “ran” являются формами слова “run”, поэтому “run” — это лемма всех предыдущих слов.

Лемматизация также принимает во внимание контекст слова для решения других проблем, таких как устранение неоднозначности, что означает, что она может различать идентичные слова, которые имеют разные значения в зависимости от конкретного контекста. Вспомните такие слова, как “bat” (которое может соответствовать животному или металлической/деревянной бите, используемой в бейсболе) или “bank” (соответствующее финансовому учреждению или участку земли рядом с водоемом). Предоставляя параметр части речи слову (будь то существительное, глагол и т. д.), можно определить роль этого слова в предложении и устранить неоднозначность.

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

Тематическое моделирование (Topic Modeling)

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

Из всего множества методов тематического моделирования Латентное/Скрытое размещение Дирихле (Latent Dirichlet Allocation или LDA), вероятно, является наиболее часто используемым. Этот относительно новый алгоритм (придуманный менее 20 лет назад) работает как метод обучения без учителя, который обнаруживает различные темы, лежащие в основе набора документов. В методах обучения без учителя, подобных этому, нет выходной переменной, которая бы направляла процесс обучения — данные исследуются алгоритмами для поиска закономерностей. Если быть более конкретным, LDA находит группы связанных слов следующим образом:

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

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

В отличие от других алгоритмов кластеризации, таких как метод K-средних, которые выполняют жесткую кластеризацию (где темы не пересекаются), LDA присваивает каждому документу комбинацию тем, что означает, что каждый документ может быть описан одной или несколькими темами (например, Документ 1 описывается 70% темы A, 20% темы B и 10% темы C) и отражают более реалистичные результаты.

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

Что можно сказать о будущем NLP?

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

В марте 2016 года Microsoft запустила Tay, чат-бота на основе искусственного интеллекта, в качестве эксперимента выпущенного на просторы Твиттера. Идея заключалась в том, что чем больше пользователей будет общаться с Tay’ем, тем умнее он будет становиться. Что ж, в результате через 16 часов Tay’а пришлось удалить из-за его расистских и оскорбительных комментариев:

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

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

Natural language processing что это

Black background with blue dots

Natural language processing (NLP) refers to the branch of computer science—and more specifically, the branch of artificial intelligence or AI—concerned with giving computers the ability to understand text and spoken words in much the same way human beings can.

NLP combines computational linguistics—rule-based modeling of human language—with statistical, machine learning, and deep learning models. Together, these technologies enable computers to process human language in the form of text or voice data and to ‘understand’ its full meaning, complete with the speaker or writer’s intent and sentiment.

NLP drives computer programs that translate text from one language to another, respond to spoken commands, and summarize large volumes of text rapidly—even in real time. There’s a good chance you’ve interacted with NLP in the form of voice-operated GPS systems, digital assistants, speech-to-text dictation software, customer service chatbots, and other consumer conveniences. But NLP also plays a growing role in enterprise solutions that help streamline business operations, increase employee productivity, and simplify mission-critical business processes.

The all new enterprise studio that brings together traditional machine learning along with new generative AI capabilities powered by foundation models

Human language is filled with ambiguities that make it incredibly difficult to write software that accurately determines the intended meaning of text or voice data. Homonyms, homophones, sarcasm, idioms, metaphors, grammar and usage exceptions, variations in sentence structure—these just a few of the irregularities of human language that take humans years to learn, but that programmers must teach natural language-driven applications to recognize and understand accurately from the start, if those applications are going to be useful.

Several NLP tasks break down human text and voice data in ways that help the computer make sense of what it’s ingesting. Some of these tasks include the following:

  • Speech recognition, also called speech-to-text, is the task of reliably converting voice data into text data. Speech recognition is required for any application that follows voice commands or answers spoken questions. What makes speech recognition especially challenging is the way people talk—quickly, slurring words together, with varying emphasis and intonation, in different accents, and often using incorrect grammar.
  • Part of speech tagging, also called grammatical tagging, is the process of determining the part of speech of a particular word or piece of text based on its use and context. Part of speech identifies ‘make’ as a verb in ‘I can make a paper plane,’ and as a noun in ‘What make of car do you own?’
  • Word sense disambiguation is the selection of the meaning of a word with multiple meanings through a process of semantic analysis that determine the word that makes the most sense in the given context. For example, word sense disambiguation helps distinguish the meaning of the verb ‘make’ in ‘make the grade’ (achieve) vs. ‘make a bet’ (place).
  • Named entity recognition, or NEM, identifies words or phrases as useful entities. NEM identifies ‘Kentucky’ as a location or ‘Fred’ as a man’s name.
  • Co-reference resolution is the task of identifying if and when two words refer to the same entity. The most common example is determining the person or object to which a certain pronoun refers (e.g., ‘she’ = ‘Mary’), but it can also involve identifying a metaphor or an idiom in the text (e.g., an instance in which ‘bear’ isn’t an animal but a large hairy person).
  • Sentiment analysis attempts to extract subjective qualities—attitudes, emotions, sarcasm, confusion, suspicion—from text.
  • Natural language generation is sometimes described as the opposite of speech recognition or speech-to-text; it’s the task of putting structured information into human language.

Python and the Natural Language Toolkit (NLTK)

The Python programing language provides a wide range of tools and libraries for attacking specific NLP tasks. Many of these are found in the Natural Language Toolkit, or NLTK, an open source collection of libraries, programs, and education resources for building NLP programs.

The NLTK includes libraries for many of the NLP tasks listed above, plus libraries for subtasks, such as sentence parsing, word segmentation, stemming and lemmatization (methods of trimming words down to their roots), and tokenization (for breaking phrases, sentences, paragraphs and passages into tokens that help the computer better understand the text). It also includes libraries for implementing capabilities such as semantic reasoning, the ability to reach logical conclusions based on facts extracted from text.

Statistical NLP, machine learning, and deep learning

The earliest NLP applications were hand-coded, rules-based systems that could perform certain NLP tasks, but couldn’t easily scale to accommodate a seemingly endless stream of exceptions or the increasing volumes of text and voice data.

Enter statistical NLP, which combines computer algorithms with machine learning and deep learning models to automatically extract, classify, and label elements of text and voice data and then assign a statistical likelihood to each possible meaning of those elements. Today, deep learning models and learning techniques based on convolutional neural networks (CNNs) and recurrent neural networks (RNNs) enable NLP systems that ‘learn’ as they work and extract ever more accurate meaning from huge volumes of raw, unstructured, and unlabeled text and voice data sets.

For a deeper dive into the nuances between these technologies and their learning approaches, see “AI vs. Machine Learning vs. Deep Learning vs. Neural Networks: What’s the Difference?”

Natural language processing is the driving force behind machine intelligence in many modern real-world applications. Here are a few examples:

  • Spam detection: You may not think of spam detection as an NLP solution, but the best spam detection technologies use NLP’s text classification capabilities to scan emails for language that often indicates spam or phishing. These indicators can include overuse of financial terms, characteristic bad grammar, threatening language, inappropriate urgency, misspelled company names, and more. Spam detection is one of a handful of NLP problems that experts consider ‘mostly solved’ (although you may argue that this doesn’t match your email experience).
  • Machine translation: Google Translate is an example of widely available NLP technology at work. Truly useful machine translation involves more than replacing words in one language with words of another. Effective translation has to capture accurately the meaning and tone of the input language and translate it to text with the same meaning and desired impact in the output language. Machine translation tools are making good progress in terms of accuracy. A great way to test any machine translation tool is to translate text to one language and then back to the original. An oft-cited classic example: Not long ago, translating “The spirit is willing but the flesh is weak” from English to Russian and back yielded “The vodka is good but the meat is rotten.” Today, the result is “The spirit desires, but the flesh is weak,” which isn’t perfect, but inspires much more confidence in the English-to-Russian translation.
  • Virtual agents and chatbots:Virtual agents such as Apple’s Siri and Amazon’s Alexa use speech recognition to recognize patterns in voice commands and natural language generation to respond with appropriate action or helpful comments. Chatbots perform the same magic in response to typed text entries. The best of these also learn to recognize contextual clues about human requests and use them to provide even better responses or options over time. The next enhancement for these applications is question answering, the ability to respond to our questions—anticipated or not—with relevant and helpful answers in their own words.
  • Social media sentiment analysis: NLP has become an essential business tool for uncovering hidden data insights from social media channels. Sentiment analysis can analyze language used in social media posts, responses, reviews, and more to extract attitudes and emotions in response to products, promotions, and events–information companies can use in product designs, advertising campaigns, and more.
  • Text summarization: Text summarization uses NLP techniques to digest huge volumes of digital text and create summaries and synopses for indexes, research databases, or busy readers who don’t have time to read full text. The best text summarization applications use semantic reasoning and natural language generation (NLG) to add useful context and conclusions to summaries.

Accelerate the business value of artificial intelligence with a powerful and flexible portfolio of libraries, services and applications.

Infuse powerful natural language AI into commercial applications with a containerized library designed to empower IBM partners with greater flexibility.

Learn about different NLP use cases in this NLP explainer.

Visit the IBM Developer's website to access blogs, articles, newsletters and more. Become an IBM partner and infuse IBM Watson embeddable AI in your commercial solutions today. BM Watson NLP Library for Embed into your solutions.

IBM Digital Self-Serve Co-Create Experience (DSCE) helps data scientists, application developers and ML-Ops engineers discover and try IBM's embeddable AI portfolio across IBM Watson Libraries, IBM Watson APIs and IBM AI Applications.

Watch IBM Data & AI GM, Rob Thomas as he hosts NLP experts and clients, showcasing how NLP technologies are optimizing businesses across industries.

Ethical considerations for AI have never been more critical than they are today.

IBM has launched a new open-source toolkit, PrimeQA, to spur progress in multilingual question-answering systems to make it easier for anyone to quickly find information on the web.

NLP для людей. Часть 1

Roman Maliushkin

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 популярных социальных сервисов

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

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

Преимущества

  • Бесплатно.
  • Гибкий способ настройки методов API и получение только необходимой исследователю информации.
  • «Живые» данные, то есть те, что созданы сами пользователями.

Недостатки

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

Открытые языковые корпусы

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

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

Пример исследовательской задачи

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

В ходе работы был собран корпус текстовых документов, состоящий из 4500 записей, среди которых оказались научные публикации по теме беспилотных автомобилей, а также набор новостных сообщений СМИ. Последний был получен в процессе работы с электронной базой СМИ «Public.ru» по запросу «беспилотный автомобиль». Текстовый корпус, помимо тела публикации, содержит: заголовок, дату публикации, источник, тип записи, а также ряд мета-параметров, служащих для более детального представления библиографической ссылки на материал.

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

Методы NLP на пальцах

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

Эксперты Saxo Bank твердят, что беспилотное будущее уже практически наступило: вот-вот автомобили пятого уровня выйдут на дороги и мир изменится навсегда.

Лемматизация и стемминг текста

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

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

Лемматизация

эксперт saxo bank твердить что беспилотный будущий уже практически наступил : вот вот автомобиль пятый уровень выйти на дорога и мир измениться навсегда

Стемминг

эксперт sax bank тверд что беспилотн будущ уж практическ наступ : вот вот автомобил пят уровен выйт на дорог и мир измен навсегд

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

Использование стоп-слов

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

Применяя фильтр для ранее нормализованного предложения, получим:

эксперт saxo bank твердить беспилотный будущий наступил автомобиль пятый уровень выйти дорога мир измениться навсегда

Использование n-грамм

N-грамма в NLP — это комбинация одного (монограмма или monogram) или нескольких, например, двух (биграмма или bigram), трех (триграмма или trigram) слов, которые встречаются в тексте. N-граммы являются ключевыми объектами анализа при обработке естественного языка и составляют основу многим другим методам, в числе которых извлечение именных групп, идентификация языка и другие.

Выделим n-граммы из упрощенного предложения выше:

Монограммы

Биграммы

эксперт 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 лишь вспомогательный инструмент, и без внимательного сопровождения это лишь игрушка в руках исследователя.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *