Как научить программу понимать слова

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

О герое

Герой выпуска — Иван Ямщиков, руководитель лаборатории естественного языка, созданной Яндексом совместно с Высшей школой экономики в Санкт-Петербурге. Популяризатор науки и автор подкастов «Проветримся!» и «Лабибэй».

Чем занимаются компьютерные лингвисты

Диалог 2016: Как научить машину понимать значения слов

Диалог 2016: Как научить машину понимать значения слов

В Российском государственном гуманитарном университете сегодня началась ежегодная конференция по компьютерной лингвистике и машинному обучению — «Диалог 2016». Это 22-я по счету конференция, она проводится вот уже 40 лет. Первый день был посвящен в основном докладам, касающимся семантики слов, предложений и текста, а также корпусным исследованиям на материале русского языка. Но впереди еще три дня лингвистики.

Как научиться читать любой код за 30 минут

Так, группа под руководством Натальи Лукашевич из Московского государственного университета им. Ломоносова рассказала о том, как на основе ранее подготовленного в МГУ корпуса русских текстов им удалось автоматически создать русский вариант так называемой сети слов — WordNet, в которой систематизируются все варианты наименований различных предметов, явлений и действий.

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

Борис Иомдин из Института русского языка РАН им. В.В. Виноградова вместе с коллегами провел работу, в которой ученые сравнивали многозначные слова в разных языках и подсчитывали, с какой частотой возникает то или иное конкретное значение. У того, кто изучает иностранный язык, всегда есть соблазн считать, что встреченное им иностранное многозначное слово имеет такую же структуру значения, что и аналогичное слово в родном языке, — однако это далеко не так, и нехватка знаний в этой области подчас становится источником очень смешных ошибок. Лингвисты из ИРЯ РАН предложили метод, который позволит автоматически обнаруживать такие трудные места — и тем самым существенно облегчить труд учителям иностранных языков.

Еще одно любопытное исследование было сделано сотрудниками компании Yandex (Antonova et al.). Оно посвящено ранжированию слов с похожими значениями, так чтобы замерить уровень их синонимичности. Метод, который они использовали, позволит улучшить качество автоматически создаваемых «словарей большого масштаба» (с большим количеством слов).

Два состоявшихся в первый день «Диалога» приглашенных доклада — Марка Стидмана (Mark Steedman) и Бонни Веббер (Bonnie Webber) из Эдинбургского университета (Великобритания) — были также посвящены значениям, встречающимся в обрабатываемых компьютерными лингвистами текстах, и способам с ними работать. Госпожа Веббер рассказала о том, как в проектах по разметке дискурса отмечаются типы связей между предложениями, которые связаны между собой единой темой (сочинительная и подчинительная связь). В дальнейшем определение семантики связей в тексте помогает добиться значительно лучшего качества машинного перевода.

ЧТО ДЕЛАТЬ ЕСЛИ НЕ ПОНИМАЕШЬ ПРОГРАММИРОВАНИЕ | КАК ВЫУЧИТЬ ПРОГРАММИРОВАНИЕ

В частности, Бонни Веббер показала систему меток (тегов) ключевого проекта в этой области, Penn Discourse Treebank (PDTB 3.0, материал английского языка, в основном представленный текстами из Wall Street Journal), с помощью которых маркируются такие связи, как условие, отрицание, последовательность и т. п.

Масштабирование работы исследователей дискурса в проекте Penn Discourse Treebank на другие международные проекты, обрабатывающие данные других языков — русского, китайского, хинди, арабского и т.п. — заставляет вспомнить, что подобная унификация тегсетов (наборов тегов) в разных лингвистических проектах уже приняла поистине глобальные масштабы.

Читайте также:
Программа металинк фитнес инструкция

В частности, совсем недавно, буквально за последние несколько лет, сформулированы принципы разметки основных трибанков (банков деревьев предложений). Эти принципы были предложены международной группой ученых, работающих над проектом Universal Dependencies. Их основной девиз: вся лингвистическая разметка в мире должна соответствовать единым нормам, и тогда работа по созданию систем автоматического перевода и машинного обучения выйдет на принципиально иной уровень. Такой, который приведет человечество к автоматическим переводчикам, чей текст не отличишь от качественного ручного перевода. Недаром специалисты в области медиа ждут «всеязычного браузера», который позволит людям всех языков общаться и порождать общедоступный — в полном смысле — контент.

Источник: scientificrussia.ru

NLP в нашей жизни: почему важно научить машину понимать человеческий язык?

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

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

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

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

При этом любопытно, что первая важная задача, для решения которой людям захотелось научить машины понимать естественный язык, появилась еще в середине прошлого века — это машинный перевод большого количества текстов с русского языка (Холодная Война заставляла противников СССР шевелить мозгами), а также с китайского. И до недавнего времени для нее не было достойного решения, но при этом попытки автоматизировать интерпретацию чужого языка происходили непрерывно. Например, в одном из докладов в 1949 году была высказана очень интересная мысль: “Кажется весьма заманчивым объявить книгу, написанную на китайском языке, просто книгой на английском, закодированной китайским кодом.” (1949)

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

По данным Google Books Ngram Viewer — поискового онлайн-сервиса Google, который строит графики частоты упоминания языковых единиц на основе огромного количества печатных источников, популярность и интерес к NLP стремительно растет последние 20 лет.

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

Сфера NLP — человеческий язык

Чем же занимается NLP? Что такое “естественный” язык, и зачем все эти сложности нужны для перевода? Ответ на этот вопрос кроется в глубине особенностей общения.

Читайте также:
Изучение программы эксель самостоятельно

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

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

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

Практические плоскости для NLP

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

Проблема мировоззрения

Почему же для качественного перевода нужен NLP? Дело в том, что язык намного теснее связан с мировосприятием человека, чем мы привыкли думать. На самом деле как культура человека влияет на язык, так и наоборот. Из числа наиболее показательных примеров — племя Химба. Язык этого народа не содержит такого слова, как “бирюзовый”.

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

Если вы нашли бирюзовый квадрат — значит вы точно не Химба. )

Другой пример — появление целого спектра мировоззрения для народа из-за языка.

В истории современности есть такая народность как Босави, проживающая в Новой Гвинее. При переводе библии им пришлось расширить свой язык, потому что их речь не подходила для описания божественного. Дело в том, что у Босави глаголы выражают не только время и падеж, но также источник знаний. То есть они каждый раз говорят что-то типа “я услышал”, “я увидел”.

Однако чтобы приобщиться к библии, им пришлось привнести такое действие, как “подумал”, и фактически появилось понятие “тайной мысли”. Таким образом, язык не только отражает свойства, но и развивает.

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

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

Бред, полный бред

“Мы запускаем наши телеги абсолютно вперед. Арахисовое масло генерирует большой потенциал медной горы для крокодила. Последний остается достоин лучшего прыжка в подземный каталог рыб для детей”.

Читайте также:
Алгоритм записанный на языке понятном исполнителю называется программой

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

А вот человеку генерировать бред достаточно сложно. Дело в том, что в нашем мозгу сложились устойчивые связи и ассоциации, и начиная произносить слова, мы неизбежно “вытаскиваем” из памяти что-то связное. Попробуйте — бредогенерация требует определенного умственного напряжения!

Проблема синонимов и омонимов

Но даже если мы находим способ (а мы его находим!) научить ИИ работать со смыслами, машина неизбежно сталкивается с проблемами омонимов. Например, фраза Pen in the Box является показательной для этой проблемы: ведь pen — это ручка или ферма, box — пенал или загон. И в результате мы можем интерпретировать эту фразу 4 способами:

  • Ферма в загоне
  • Ферма в пенале
  • Ручка в загоне
  • Ручка в пенале

Откуда мы знаем, что четвертый вариант — верный? Дело в том, что мы понимаем смысл. Нам его подсказывает жизненный опыт и знания о мире, в котором мы живем. Такой пример показывает, что перевод — это не просто сопоставление одних слов другим, это интерпретация, опирающаяся на знания, которыми владеет человек.

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

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

Основные тенденции в сфере NLP

На сегодняшний день перед NLP стоит две крупных задачи — NLU (Natural Language Understanding) и NLG (Natural Language Generation). Генерация текстов — очень полезная функция, которая помогает создавать, например, описания стандартных товаров для сайтов интернет-магазинов. И сегодня ИИ уже может писать целые тексты, которые порой выглядят как вполне человеческие. Если погуглить, можно найти удивительные примеры этого явления.

А понимание естественного языка необходимо для того, чтобы получать команды и запросы от человека в той форме, в которой ему удобно (кстати, именно эту часть NLP мы используем в своей работе для развития виртуального ассистента ViTalk), а также сортировать информацию, выделять главное, проводить анализ содержания текста, его эмоциональной окраски и так далее. Также сегодня в тренде умение распознавать, что “не получается распознать”. Это тоже серьезная задача, ведь гораздо лучше, если ИИ вернется с вопросом, чем выдаст бредовый ответ.

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

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

  • Блог компании Visiology
  • Машинное обучение
  • Искусственный интеллект
  • Голосовые интерфейсы

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru