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

Почему это важно?

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

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

Есть несколько различных проблем систем, основанных на правилах:

Люди. Одна из самых больших задач — найти нужных экспертов.

Ясность — прежде чем что-либо делать, цели системы или модели должны быть ясны.

Процесс — тестирование, разработка и изменение правил.

Обобщение — понимание и планирование ограничений.

Давайте рассмотрим каждый из них подробно:

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

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

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

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

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

Типы ввода текста также важно учитывать. Для чего были созданы документы? Кто их создал? Они отредактированы или не отредактированы? Являются ли они однородными или разнородными? Эти вопросы важны, потому что они отражают, какие типы языка и языковые вариации будут присутствовать в данных.

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

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

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

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

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

Многие задавались тем же вопросом, обращаясь к статистическим подходам к НЛП за этой «легкой кнопкой». Машинное обучение (ML), подобласть искусственного интеллекта, в которой используются различные статистические методы, обычно используется в НЛП, и многие люди воодушевлены успехом таких приложений в последние годы. Этот успех подходов МО в более поздних системах НЛП обусловлен двумя изменениями в поддерживающей экосистеме. Один из них — ускорение процессоров; то, на что 10 лет назад ушло бы несколько дней или недель, сегодня занимает всего несколько часов или минут. Другой — это доступность данных, включая наборы документов как с тегами, так и без тегов.

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

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

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