Сначала мы рассмотрим на высоком уровне, что такое НЛП и почему нас это волнует. Затем мы рассмотрим основные направления НЛП и варианты их использования.

Есть что-то замечательное в людях.

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

Вы когда-нибудь ловили бейсбол? Или вы выбрали любимую рубашку в шкафу? Или сделал остроумный комментарий другу, который немного посмеялся? Это наша вторая натура.

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

Низко висящий фрукт

Понятно, что математика и машинное обучение быстро продвинулись в решении проблем, связанных с точными числами:

  • Сколько, вероятно, будет стоить этот дом, учитывая, что в нем 2 спальни, 1 ванная и 5 лет назад он был продан за 100 000 долларов?
  • Сколько клиентов я могу ожидать, что завтра придет в мой ресторан, учитывая, что у нас было 100 в то же время в прошлом году?

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

Мы создали программы кодирования, которые помогают нам общаться на одном уровне с компьютером. Но можете ли вы представить себе мир, в котором люди разговаривали бы друг с другом в эквиваленте кода? Было бы очень сухо ...

Программист идет в продуктовый магазин, и его жена говорит ему: «Купи галлон молока, а если есть яйца, купи дюжину».

Итак, программист идет, покупает все и уезжает домой.

По прибытии жена сердито спрашивает его: «Почему ты получил 13 галлонов молока?» Программист говорит: «Были яйца!»

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

Быстрое определение

Естественный язык означает способ общения друг с другом: речь и текст.

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

Итак, обработка естественного языка (NLP) занимается поиском, перевариванием и пониманием человеческой речи и текста.

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

Изменения со временем

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

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

Например, слово «собака» на английском языке всегда должно переводиться как «перро» на испанском языке.

Но что, если собака - самка? Что ж, тогда это должно переводиться как «перра».

А как насчет «собачьих дней», относящихся к самым жарким дням в году? Имеет ли смысл слово «dias de perro» для говорящего по-испански? Нет, по-испански это будет «la canícula».

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

Но с помощью огромных вычислительных ресурсов и некоторых математических ноу-хау исследователи НЛП разработали «статистические НЛП» подходы к этим проблемам, которые значительно повысили точность и практичность в этой области.

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

Почему важна обработка естественного языка?

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

В какой-то момент я помогал крупной транспортной компании с ее маркетинговыми усилиями. Ежегодно с ними в поездки отправляются миллионы людей.

Компания собирает опросы из выборки этих путешественников, часто задавая вопросы по шкале от 1 до 10 (Насколько пахнут ванные комнаты?). Кроме того, они просят дать ответы в виде произвольного текста (Как прошла ваша поездка? ​​Есть ли еще что-нибудь, что нам следует знать?).

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

Это отстой!

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

Проводите время с умом

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

Теперь, за считанные минуты, этот анализ означал, что мы могли оценить от 0% до 100%, насколько счастливы или рассержены тысячи клиентов в своих поездках. Тогда мы сможем приступить к решению 20% проблем, которые вызывают 80% жалоб клиентов.

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

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

5 основных ветвей обработки естественного языка

Обработка естественного языка - это постоянно растущая и развивающаяся область, в которой постоянно появляются новые приложения и прорывы.

Это, безусловно, затрудняет разбиение поля на аккуратные категории, но ниже приведена одна разбивка, которая поможет нам разобраться во многих различных методах НЛП:

  1. Синтаксис
  2. Семантика
  3. Дискурс
  4. Речь
  5. Диалог

1 - Синтаксис

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

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

Обратите внимание, как одно из этих предложений кажется совершенно неправильным:

  • Кот продолжал искать бегущую мышь. (Хороший!)
  • Кошек ищут мышей. (Ой!)

Большая часть НЛП посвящена изучению, анализу и повторному использованию правил синтаксиса.

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

Пример синтаксической задачи

Одним из примеров является тегирование части речи (POS). Получив слово, мы хотим определить, является ли оно существительным, глаголом и т. Д.:

  • Кот - ›существительное
  • Поиск - ›глагол
  • Для - ›предлог

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

Другие примеры методов НЛП, связанных с синтаксисом, включают:

  • Способы поиска «базовых» слов (бег - ›бег)
  • Создайте дерево синтаксического анализа для представления синтаксиса заданного текста.
  • Разбиение на части - например, разбиение текста на предложения или слова.
  • Извлекать релевантную терминологию / ключевые слова из заданного текста

Разрешение нашим машинам работать с синтаксисом составляет основу (на мой взгляд) гораздо более крутых приложений НЛП!

Давай продолжим.

2 - Семантика

«Я человек-яйцо. Они люди-яйца. Я морж ».

Хотя приведенный выше фрагмент содержит идеальный синтаксис и следует всем правилам, что он означает? (Может быть, фанат Битлз сможет мне это объяснить.)

Значение текста - это вопрос семантики.

Пример семантической задачи

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

«Ближайший сосед Виктор работает в DreamWorks. Мелисса, его жена, работает в Министерстве обороны ».

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

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

  • Виктор, Мелисса - ›человек
  • DreamWorks, Министерство обороны - ›организация

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

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

Больше семантики!

Некоторые другие методы НЛП, связанные с семантикой, включают:

  • Использование чисел для обозначения значений слов / предложений в тексте и их соотношения друг с другом.
  • Перевод текста с одного языка на другой
  • Создание удобочитаемого текста из структурированных данных (строк и столбцов)
  • Определение текста на заданном изображении (переход от снимка экрана к документу Word)
  • Формирование ответов на вопросы по заданному набору данных
  • Определение положительного или отрицательного настроения данного текста
  • Разделение текста на отдельные темы
  • Определение значения неоднозначного слова с учетом контекста (Roll over? Съешьте суши roll?)
  • Рассмотрим пример, подобный приведенному выше, где мы находим имена собственные, выясняя отношения между ними (Мелисса - жена Виктора)

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

3 - Дискурс

Что нужно, чтобы кто-то убедил вас что-то сделать?

Допустим, ваш друг хочет пойти в Burger King. Было бы в их пользу упомянуть такие вещи, как:

  • Еда недорогая.
  • Бургеры сочные.
  • Молочные коктейли пенистые.

Отлично - ваш друг приводит веский аргумент!

Затем другой друг хочет пойти к Венди. Они упоминают следующее:

  • Погода на улице умеренная.
  • Arby’s открыт в 48 штатах.
  • Мои туфли развязаны.

Ваш второй друг немного не справился. Их идеи и предложения не имели ничего общего друг с другом или с обсуждаемой темой, если на то пошло. В том, что они говорят, нет последовательности, поэтому это действительно не очень убедительно.

В первом примере ваш друг говорит напрямую о вашем желании поесть, и все, что он говорит, относится к Burger King. Большой!

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

Пример дискурсивной задачи

Одним из важных методов дискурса в НЛП является резюмирование текста.

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

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

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

Другие методы НЛП, которые связаны с дискурсом, включают:

  • Какие упоминания относятся к каким организациям? («Он» относится к «Виктору»)
  • Категоризация типа текста (это вопрос, утверждение, утверждение?)
  • Оценка качества и связности текста (автоматическая оценка эссе)

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

4 - Речь

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

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

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

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

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

Но преобразование текста в речь становится намного лучше. Было показано, что голоса роботов Google Duplex убедительно разговаривают с ничего не подозревающим человеком на другом конце провода. Тьюринг гордился бы!

5 - Диалог

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

Короче говоря, цель у нас есть.

Диалог пытается объяснить назначение естественного языка в контексте общения людей (или роботов) друг с другом. Другой термин для этого - разговорные знания.

Например, Корпус Switchboard Dialogue Act Corpus содержит данные о тысячах телефонных звонков. Набор данных помечает различные намерения, которые могут иметь высказывания говорящего.

«Почему бы тебе не пойти первым?» классифицируется как «Директива о действиях» - вы говорите кому-то что-то сделать.

«Как насчет вас?» - это «открытый вопрос».

«Мне очень жаль». - это «Извинения».

И один из моих любимых: «Угу» - это «Благодарность».

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

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

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

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

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

Самое главное, продолжайте читать и практиковаться. Я буду делать то же самое!

Спасибо за чтение!