Что такое нлп обучение
Нейролингвистическое программирование (НЛП) — ключ к душам людей или слепое манипулирование?
В настоящее время психологи предлагают множество методик по усовершенствованию своих способностей, обретению внутренней гармонии и выбору особого пути к счастью. Нейробика, арт-терапия, коучинг, мнемотехники, расстановки по Хеллингеру, соционика и многие другие направления. Одним из таких, невероятно популярным и в то же время спорным, является НЛП — нейролингвистическое программирование (не путать с нейролингвистикой).
С одной стороны, его приёмы активно используются практически во всех сферах современной жизни. С другой — его жёстко критикуют, считая обычным руководством по манипулированию людьми. Так что же это на самом деле?
Что это такое
НЛП — это направление в психотерапии и практической психологии, использующее вербальное и невербальное поведение человека с целью добиваться от него нужного результата. Например, с помощью нейролингвистического программирования родители могут приучить ребёнка к порядку или пунктуальности, преподаватели — повысить эффективность обучения у учеников и студентов, менеджеры — заставить покупателя приобрести товар. При этом в ход идут формы речи, движения глаз, позы тела, память.
НЛП было разработано ещё в середине ХХ века Дж. Гриндером и Р. Бендлером, но максимальную популярность получило именно в наши дни. Официально данное направление признано паранаучным, так как эффективность приёмов, во-первых, не доказана, а во-вторых, не всегда этична с точки зрения морали.
Многие учёные считают, что НЛП есть не что иное, как искусство манипулирования людьми посредством их же поведения.
Как это работает
Человек не может воспринимать окружающий мир объективно, так как пропускает его через собственные ощущения (зрительные, слуховые, обонятельные), через призму приобретённого опыта, личных убеждений и принципов. Кто-то не может жить без церкви, другие открыто ненавидят религию. Одни ищут работу, где платят больше, другим важнее, чтобы она была по душе. Некоторым нравится в людях внешняя красота, другие в восторге от умственных способностей собеседника.
Согласно НЛП, если учесть все вышеперечисленные моменты и понять, как тот или иной человек пропускает через себя информацию и что для него представляет особую важность, используя определённые приёмы, от него можно добиться чего угодно. Но сначала должна быть проведена кропотливая работа с убеждениями и физиологическими особенностями.
Если менеджер будет упорно уговаривать воцерковлённую бабушку купить товар с бесовскими символами, он потерпит крах. Нужно вовремя предложить альтернативный вариант, чтобы покупка оказалась и ей приятной, и принесла выгоду компании. Здесь вступают в ход такие приёмы НЛП, как эмоционально значимые слова и создание позитивных ожиданий.
Если сотрудник сидит в закрытой позе (руки и ноги скрещены), трудно требовать повысить эффективность труда. Но, освоив метод отзеркаливания, позу можно открыть и беседовать уже более непринуждённо.
Основы
С чего начать изучение нейролингвистического программирования? Есть базовые, основные приёмы, разработанные ещё полвека назад Дж. Гриндером и Р. Бендлером и продолжающие совершенствоваться по сей день. Для начала нужно освоить их теоретически, чтобы потом научиться применять на практике.
1. Субъективный опыт: прошлое человека, которое оказывает на него огромное влияние.
2. Пресуппозиции — смысловые компоненты НЛП:
3. Репрезентативные системы: как человек получает информацию преимущественно извне (визуальные, аудиальные, кинестетические и дискретные образы).
4. Метамодели и метапрограммы.
5. Милтон-модели: пустая информация, которую человек наполняет сам в соответствии со своими убеждениями, желаниями, принципами.
Ключи доступа: одна-единственная вещь или фраза может заставить человека совершить действие.
Это основные теоретические принципы НЛП. Без их освоения добиться результатов на практике будет крайне сложно. Найти их подробные описания можно в научно-популярной литературе (список дан ниже).
Техники НЛП, дающие результаты
После освоения теории можно переходить к практике. Рекомендуемые техники для начинающих, которые при правильном использовании работают безотказно:
Осталось выяснить, как именно работает каждая технология из этого списка в конкретных ситуациях.
Сферы применения
В разных сферах жизни НЛП предлагает использовать разные методы воздействия на человека.
В продажах
Современный рынок перенасыщен товарами и услугами. Конкуренция невообразимая. И почему-то одни магазины и бренды процветают и держатся на плаву уже не один десяток лет, а другие исчезают уже через пару месяцев после открытия. Можно бесконечно выискивать ошибки и промахи последних, но сегодня всё чаще говорят о том, что просто одни умеют использовать техники манипулирования людьми (читайте: покупателями и клиентами), а другие даже не слышали об этом. Первые становятся успешными, судьба вторых — кануть в Лету.
Пошаговое руководство, как продавцы, менеджеры и мерчандайзеры используют техники НЛП.
1. Установить с покупателем раппорт (доверительные отношения) через:
2. Акцентировать внимание покупателя на конкретном товаре посредством:
3. Призвать покупателя к активному действию с помощью таких методов, как:
Чтобы увеличить продажи, техники НЛП активно используются и в рекламе:
Как показывает практика, техники НЛП обеспечивают высокий рост продаж.
В отношениях
Специалисты считают, что с помощью НЛП можно влюбить в себя любого человека. Как это сделать?
В разговоре с объектом заставьте его вспомнить что-нибудь приятное. Отныне он, видя вас, будет испытывать только положительные эмоции.
Изучите стиль одежды и манеры поведения звезды, которой восхищается ваш объект. Не копируйте образ полностью, но усвойте пару моментов и используйте их в общении.
Не рассказывайте о себе всё. Оставьте какую-то сторону неясной, но постоянно подводите свой объект обожания к этой таинственной двери, как бы приглашая зайти, но не открывайте её. Желание разгадать загадку приведёт к построению тех отношений, о которых вы мечтаете.
В любви тоже полезно использовать приёмы НЛП. Главное — не переборщить с ними и не перейти на голое манипулирование любимым человеком.
Методики нейролингвистического программирования для женщин:
Приёмы НЛП для мужчин:
Специалисты предупреждают, что техники манипулирования сознанием в отношениях нужно использовать крайне аккуратно, чтобы не скатиться на безликое и жестокое управление.
В образовании
Преподаватели в школах и других учебных заведениях тоже активно могут использовать НЛП:
Те педагоги, кто использует в своей деятельности методы НЛП, отмечают их невероятную эффективность. Они позволяют налаживать связь с детьми, помогают быстрее усваивать материал, быть более внимательными.
Боевое
Сейчас получило широкое применение так называемое боевое НЛП. Если вы думаете, что оно разработано для ведения военных действий, вы ошибаетесь. Его используют в обычной жизни, но далеко не с мирными целями. Под этим понятием скрывается использование психотерапевтических техник с целью агрессивного и глубокого воздействия на человека, откровенного манипулирования. В результате получается человек-зомби, который не раздумывая выполняет любой приказ.
Боевое НЛП активно используется в политике (в предвыборных кампаниях), бизнесе, сетевом маркетинге, при вербовке людей в секты, преступные сообщества и неформальные группировки.
Его жертвами становятся люди:
Профессионалы в области боевого НЛП сразу выцепляют таких людей из толпы по особым признакам и начинают их обрабатывать. Жертвами становятся подростки, старики, максималисты, религиозные фанатики, маргиналы. Именно из-за этого направления многие критикуют и не принимают техники нейролингвистического программирования, считая их агрессивными, подчас даже незаконными, неэтичными и негуманными.
Если вы стали жертвой агрессивного НЛП, необходимо оказывать противодействие человеку-манипулятору. Как его распознать и не поддаться, мы уже рассказывали.
Техника якорения
Среди специалистов по нейролингвистическому программированию есть одна крылатая и популярная фраза: «Говорим «якорь» — подразумеваем «НЛП», говорим «НЛП» — подразумеваем «якорь»». С этой техникой знакомы многие и даже часто используют в своей жизни, но мало кто знает, что в её основе лежат принципы рассматриваемой методики.
Что это такое
Если объяснять простым языком, в жизни каждого человека есть несколько якорей, которые привязывают их либо к отрицательным, либо к положительным эмоциям.
Кто-то не может смотреть на арбузы, потому что в детстве переел их до такого состояния, что попал в больницу. Длинноногая блондинка-секретарша увела мужа из семьи — и теперь все женщины подобного внешнего типа и такой профессии будут вызывать только негатив. Это якоря со знаком «минус». А есть они со знаком «плюс». Например, у каждого из нас есть «своя» песня, которая связана с приятными воспоминаниями. Сами они могут стереться из памяти, а вот приятное ощущение будет возникать снова и снова при её прослушивании.
Где используется
Техника якорения используется в жизни повсеместно. Например, чудодейственные таблетки, которые якобы избавляют от алкоголизма. На самом деле это обычное рвотное, которое, по инструкции, нужно выпить после употребления спиртного. В сознании человека отпечатывается негативный якорь: выпил алкоголь — начинается рвота. Так вырабатывается устойчивое неприятие этой связки. Чтобы избавиться от второго пункта, надо устранить первый.
Примеры якорей
Влюблённые пары активно используют якоря для упрочнения своих отношений:
Но, если пара расстаётся, все эти якоря кардинально меняются на знак «минус». Некогда любимые места для уединённых прогулок, песни, предметы могут вызывать боль из-за утраты.
Использование на практике
Как можно использовать данную технику на практике? Якоря призваны заменять отрицательные эмоции положительными.
Стоматология
Вряд ли найдутся люди, испытывающие положительные эмоции в кресле врача-стоматолога. Неприятный запах лекарств, звук бормашинки, неудобное положение, боль, уколы местной анестезии — таких моментов хоть отбавляй. Однако их можно перекрыть с помощью якоря со знаком «плюс». Наверняка у вас есть любимый аромат, который вызывает у вас приятные воспоминания. Может, вы улетаете от запаха яблок. Или любите, как пахнет море. У кого-то это Chanel №5 или Hugo Boss. Каждый раз перед походом к стоматологу капните соответствующими духами или эфирным маслом на тканевый носовой платок. Как только вам будет становиться плохо, подносите его к лицу.
В любви
В самые приятные моменты отношений (во время романтического свидания, просмотра фильма вдвоём, катания на колесе обозрения, уединённой прогулки) ненавязчиво производите одно и то же действие по отношению к любимому человеку. Это могут быть: круговые движения вашим пальцем по его ладони, лёгкое поглаживание запястья (локтя, мочки уха), сцепление рук в «замок», нежный поцелуй в висок.
Постоянный повтор одного и того же в такие моменты — якорение на положительные эмоции. А пригодится оно во время ссор или когда вам нужно будет что-то от партнёра. Ругаетесь и никак не можете его успокоить? Он никак не соглашается ехать на выходных к вашей маме? Подойдите и воспроизведите якорь. Если до этого вы всё делали правильно, вы сами удивитесь, насколько быстро ваш любимый пойдёт на компромисс.
В работе
Большинство стрессов современного человека связано с работой. Жёсткие, требующие нереальных результатов начальники, вечно сплетничающие и не дающие спокойно работать коллеги, дедлайны и цейтноты сводят с ума многих. Здесь как нельзя кстати придётся техника НЛП. Носите с собой вещь, которая связана с самыми приятными воспоминаниями. Это может быть обручальное кольцо, браслет с Эйфелевой башней из Парижа, тот же носовой платок с любимым ароматом. Во время стрессовой ситуации найдите 30 секунд, чтобы вдохнуть знакомый запах, прикоснуться к украшению. Произойдёт якорение и вы успокоитесь.
Профессиональное якорение
Психологи, психотерапевты и специалисты по НЛП часто используют технику искусственного якорения в своей практике. Оно глубже, чем то, что проводит человек самостоятельно, так как там сначала идёт наложение положительных эмоций на отрицательные, а затем уже стойкая подмена. Делается это буквально за несколько шагов.
Если всё было сделано правильно, отрицательные воспоминания и эмоции касательно какого-то определённого момента должны исчезнуть.
Упражнения
Многие люди, лишь поверхностно знакомые с НЛП, считают, что это в первую очередь техника манипулирования людьми. К сожалению, такое мнение сформировалось в условиях современного общества, в котором каждый успешный человек должен уметь добиваться своих целей любыми путями. Изначально же нейролингвистическое программирование было разработано как методика помощи тем, кто страдает от собственного несовершенства, комплексов и самоедства. Оно активно используется многими психологами для восстановления душевного равновесия и повышения самооценки. Но можно это сделать и самостоятельно.
Найдите для НЛП полезное практическое применение — избавьтесь от собственных тараканов в голове, освоив всего несколько упражнений.
«Это не слон — это муха!»
Согласитесь, что большинство проблем на самом деле представляют собой снежный ком. Человеку свойственно постоянно думать о том, что его тревожит, рассматривать это нечто со всех сторон, отыскивая какие-то новые грани. Домыслы, сомнения, страхи нарастают и любое незначительное неприятное происшествие превращается в огромный неразрешимый клубок трудностей.
В НЛП есть упражнение, которое предлагает пройти обратный путь и сделать из этого страшного раздутого слона маленькую и ничего не значащую муху.
Последний шаг. Теперь найдите в своей жизни нечто положительное, что гораздо глобальнее этой проблемы. Например, вас уволили, но дети-то живы и здоровы. Если б с ними что-то случилось, это было бы во сто раз больнее. Потеряли кошелёк? Зато у вас есть на карточке солидный НЗ. Вы же не стали после этого нищим и бомжом. Развелись? А разве после этого не стало легче дышать и не появилось больше свободного времени для себя любимой?
Одним словом, НЛП предлагает превращать плохих слонов в своей жизни в никчемных мух. Попробуйте сами и убедитесь в невероятной эффективности упражнения.
«Большая стирка»
Данное упражнение отлично работает, если какая-то отдельная картинка не даёт вам спокойно жить. Бывает так, что после неприятной ситуации хочется поскорее забыть про неё, но в сознании она то и дело всплывает в мельчайших подробностях, как это всё происходило. Из-за этого люди не могут засыпать, спокойно есть, общаться. Никакие отвлекающие манёвры (уйти с головой в работу, например) не помогают. Значит, пришла пора нейролингвистической практики.
Психологи и психотерапевты предлагают выполнять нейролингвистическое упражнение «Большая стирка» при паранойе и навязчивых мыслях.
«Мушкетёры 20 лет спустя»
Одно из самых простых и действенных упражнений НЛП, позволяющих увидеть, насколько незначительна та проблема, которая сейчас не даёт спокойно жить и мешает счастью. Многие практикуют его, даже не подозревая, что оно относится к технике нейролингвистического программирования.
Так что всё относительно. Даже если ребёнок завалил экзамен, это ещё ничего не значит. Пересдаст через год, пойдёт работать, добьётся в этой жизни всего сам через эту трудность. Не говоря уже о никчемной двойке за урок по математике. Да, неприятно. Но проведите воспитательную работу (в спокойных тонах) и забудьте об этом навсегда.
Для восстановления душевного равновесия и достижения гармонии внутри себя НЛП предлагает и другие упражнения:
Лучшие книги по НЛП
Прежде чем использовать НЛП для влияния на других людей, проверьте, как эта техника работает на вас самих. Начать стоит, изменив собственную жизнь к лучшему, создав идеальный «Я-образ», а затем уже экспериментировать в социуме.
NLP. Основы. Техники. Саморазвитие. Часть 1
Привет! Меня зовут Иван Смуров, и я возглавляю группу исследований в области NLP в компании ABBYY. О том, чем занимается наша группа, можно почитать здесь. Недавно я читал лекцию про Natural Language Processing (NLP) в Школе глубокого обучения – это кружок при Физтех-школе прикладной математики и информатики МФТИ для старшеклассников, интересующихся программированием и математикой. Возможно, тезисы моей лекции кому-то пригодятся, поэтому поделюсь ими с Хабром.
Поскольку за один раз все объять не получится, разделим статью на две части. Сегодня я расскажу о том, как нейросети (или глубокое обучение) используются в NLP. Во второй части статьи мы сконцентрируемся на одной из самых распространенных задач NLP — задаче извлечения именованных сущностей (Named-entity recognition, NER) и разберем подробно архитектуры ее решений.
Что такое NLP?
Это широкий круг задач по обработке текстов на естественном языке (т. е. на языке, на котором говорят и пишут люди). Существует набор классических задач NLP, решение которых несет практическую пользу.
Первый и один из самых важных с практической точки зрения способов применения — классификация писем на спам и хам (не спам).
Другой классический вариант — многоклассовая классификация новостей по категориям (рубрикация) — внешняя политика, спорт, шапито и т. п. Или, допустим, вам приходят письма, и вы хотите отделить заказы из интернет-магазина от авиабилетов и броней отелей.
Третий классический вариант применения задачи текстовой классификации — сентиментный анализ. Например, классификация отзывов на положительные, отрицательные и нейтральные.
Примерами других часто выделяемых отношений являются отношения купли/продажи (Purchase and Sale), владения (Ownership), факт рождения с атрибутами — датой, местом и т. д. (Birth) и некоторые другие.
Задача кажется не имеющей очевидного практического применения, но, тем не менее, она используется при структуризации неструктурированной информации. Кроме того, это важно в вопросно-ответных и диалоговых системах, в поисковиках — всегда, когда вам нужно анализировать вопрос и понимать, к какому типу он относится, а также, какие ограничения есть на ответ.
Почему решать задачи NLP сложно?
Формулировки задач не очень сложные, однако сами задачи вовсе не являются простыми, потому что мы работаем с естественным языком. Явления полисемии (многозначные слова имеют общий исходный смысл) и омонимии (разные по смыслу слова произносятся и пишутся одинаково) характерны для любого естественного языка. И если носитель русского хорошо понимает, что в теплом приеме мало общего с боевым приемом, с одной стороны, и теплым пивом, с другой, автоматической системе приходится долго этому учиться. Почему «Press space bar to continue» лучше перевести скучным «Для продолжения нажмите пробел», чем «Бар космической прессы продолжит работу».
Как решают задачи NLP
В отличие от обработки изображений, по NLP до сих пор можно встретить статьи, где описываются решения, использующие не нейросетки, а классические алгоритмы типа SVM или Xgboost, и показывающие результаты, не слишком сильно уступающие state-of-the-art решениям.
Тем не менее, несколько лет назад нейросети начали побеждать классические модели. Важно отметить, что для большинства задач решения на основе классических методов были уникальные, как правило, не похожие на решения других задач как по архитектуре, так и по тому, как происходит сбор и обработка признаков.
Однако нейросетевые архитектуры намного более общие. Архитектура самой сети, скорее всего, тоже отличается, но намного меньше, идет тенденция в сторону полной универсализации. Тем не менее, то, с какими признаками и как именно мы работаем, уже практически одинаково для большинства задач NLP. Отличаются только последние слои нейросеток. Таким образом, можно считать, что сформировался единый пайплайн NLP. Про то, как он устроен, мы сейчас расскажем подробнее.
Pipeline NLP
Этот способ работы с признаками, который более-менее одинаков для всех задач.
Когда речь идет о языке, основная единица, с которой мы работаем, это слово. Или более формально «токен». Мы используем этот термин, потому что не очень понятно, что такое 2128506 — это слово или нет? Ответ не очевиден. Токен обычно отделен от других токенов пробелами или знаками препинания. И как можно понять из сложностей, которые мы описали выше, очень важен контекст каждого токена. Есть разные подходы, но в 95% случаев таким контекстом, который рассматривается при работе модели, выступает предложение, включающее исходный токен.
Многие задачи вообще решаются на уровне предложения. Например, машинный перевод. Чаще всего, мы просто переводим одно предложение и никак не используем контекст более широкого уровня. Есть задачи, где это не так, например, диалоговые системы. Тут важно помнить, о чем систему спрашивали раньше, чтобы она могла ответить на вопросы. Тем не менее, предложение — тоже основная единица, с которой мы работаем.
Поэтому первые два шага пайплайна, которые выполняются практически для решения любых задач – это сегментация (деление текста на предложения) и токенизация (деление предложений на токены, то есть отдельные слова). Это делается несложными алгоритмами.
Дальше нужно вычислить признаки каждого токена. Как правило, это происходит в два этапа. Первый – вычислить контекстно-независимые признаки токена. Это набор признаков, которые никак не зависят от окружающих наш токен других слов. Обычные контекстно-независимые признаки – это:
Один из самых часто использующихся признаков — часть речи или POS-тег (part of speech). Такие признаки могут быть важны для решения многих задач, например задачи синтаксического парсинга. Для языков со сложной морфологией, типа русского языка, также важны морфологические признаки: например, в каком падеже стоит существительное, какой род у прилагательного. Из этого можно сделать разные выводы о структуре предложения. Также, морфология нужна для лемматизации (приведения слов к начальным формам), с помощью которой мы можем сократить размерность признакового пространства, и поэтому морфологический анализ активно используется для большинства задач NLP.
Когда мы решаем задачу, где важно взаимодействие между различными объектами (например, в задаче relation extraction или при создании вопросно-ответной системы), нам нужно многое знать про структуру предложения. Для этого нужен синтаксический разбор. В школе все делали разбор предложения на подлежащее, сказуемое, дополнение и др. Синтаксический разбор – это что-то в этом духе, но сложнее.
Еще одним примером дополнительного признака является позиция токена в тексте. Мы можем априори знать, что какая-то сущность чаще встречается в начале текста или наоборот в конце.
Все вместе – эмбеддинги, символьные и дополнительные признаки – формируют вектор признаков токена, который не зависит от контекста.
Контекстно-зависимые признаки
Контекстно-зависимые признаки токена — это набор признаков, который содержит информацию не только про сам токен, но и про его соседей. Есть разные способы вычислить эти признаки. В классических алгоритмах люди часто просто шли «окном»: брали несколько (например, три) токенов до исходного и несколько токенов после, а затем вычисляли все признаки в таком окне. Такой подход ненадежен, так как важная информация для анализа может находиться на расстоянии, превышающем окно, соответственно, мы можем что-то пропустить.
Поэтому сейчас все контекстно-зависимые признаки вычисляются на уровне предложения стандартным образом: с помощью двухсторонних рекуррентных нейросетей LSTM или GRU. Чтобы получить контекстно-зависимые признаки токена из контекстно-независимых, контекстно-независимые признаки всех токенов предложения подаются в Bidirectional RNN (одно- или несколько- слойный). Выход Bidirectional RNN в i-ый момент времени и является контекстно-зависимым признаком i-того токена, который содержит информацию как о предыдущих токенах (т.к. эта информация содержится в i-м значении прямого RNN), так и о последующих (т.к. эта информация содержится в соответствующем значении обратного RNN).
Дальше для каждой отдельной задачи мы делаем что-то свое, но первые несколько слоев — вплоть до Bidirectional RNN можно использовать для практически любых задач.
Такой способ получения признаков и называется пайплайном NLP.
Стоит отметить, что в последние 2 года исследователи активно пытаются усовершенствовать пайплайн NLP — как с точки зрения быстродействия (например, transformer — архитектура, основанная на self-attention, не содержит в себе RNN и поэтому способна быстрее обучаться и применяться), так и с точки зрения используемых признаков (сейчас активно используют признаки на основе предобученных языковых моделей, например ELMo, или используют первые слои предобученной языковой модели и дообучают их на имеющемся для задачи корпусе — ULMFit, BERT).
Словоформенные эмбеддинги
Давайте подробнее разберем, что же такое эмбеддинг. Грубо говоря, эмбеддинг — это сжатое представление о контексте слова. Почему важно знать контекст слова? Потому что мы верим в дистрибутивную гипотезу — что похожие по смыслу слова употребляются в сходных контекстах.
Давайте теперь попытаемся дать строгое определение эмбеддинга. Эмбеддинг – это отображение из дискретного вектора категориальных признаков в непрерывный вектор с заранее заданной размерностью.
Каноничный пример эмбеддинга – это эмбеддинг слова (словоформенный эмбеддинг).
Что обычно выступает в роли дискретного вектора признаков? Булев вектор, соответствующий всевозможным значениям какой-то категории (например, все возможные части речи или все возможные слова из какого-то ограниченного словаря).
Для словоформенных эмбеддингов такой категорией обычно выступает индекс слова в словаре. Допустим, есть словарь размерностью 100 тысяч. Соответственно, каждое слово имеет дискретный вектор признаков – булев вектор размерности 100 тысяч, где на одном месте (индексе данного слова в нашем словаре) стоит единичка, а на остальных – нули.
Почему мы хотим отображать наши дискретные вектора признаков в непрерывные заданной размерности? Потому что вектора размерностью 100 тысяч не очень удобно использовать для вычислений, а вот вектора целых чисел размерности 100, 200 или, например, 300, — намного удобнее.
В принципе, мы можем не пытаться накладывать никаких дополнительных ограничений на такое отображение. Но раз уж мы строим такое отображение, давайте попытаемся добиться, чтобы вектора похожих по смыслу слов также были в каком-то смысле близки. Это делается с помощью простой feed-forward нейросетки.
Обучение эмбеддингов
Как эмбеддинги обучаются? Мы пытаемся решить задачу восстановления слова по контексту (или наоборот, восстановления контекста по слову). В простейшем случае мы получаем на вход индекс в словаре предыдущего слова (булев вектор размерности словаря) и пытаемся определить индекс в словаре нашего слова. Делается это с помощью сетки с предельно простой архитектурой: два полносвязных слоя. Сначала идет полносвязный слой из булева вектора размерности словаря в скрытый слой размерности эмбеддинга (т.е. просто умножение булева вектора на матрицу нужной размерности). А потом наоборот, полносвязный слой с softmax из скрытого слоя размерности эмбеддинга в вектор размерности словаря. Благодаря функции активации softmax, мы получаем распределение вероятностей нашего слова и можем выбрать самый вероятный вариант.
Эмбеддингом i-го слова будет просто i-я строка в матрице перехода W.
В используемых на практике моделях архитектура сложнее, но ненамного. Главное отличие в том, что мы используем не один вектор из контекста для определения нашего слова, а несколько (например, все в окне размера 3). Несколько более популярным вариантом является ситуация, когда мы пытаемся предсказать не слово по контексту, а наоборот контекст по слову. Такой подход называется Skip-gram.
Давайте приведем пример применения задачи, которая решается во время обучения эмбеддингов (в варианте CBOW — предсказания слова по контексту). Например, пусть контекст токена состоит из 2 предыдущих слов. Если мы обучались на корпусе текстов про современную русскую литературу и контекст состоит из слов “поэт Марина”, то, скорее всего, самым вероятным следующим словом будет слово “Цветаева”.
Подчеркнем еще раз, эмбеддинги только обучаются на задаче предсказания слова по контексту (или наоборот контекста по слову), а применять их можно в любых ситуациях, когда нам нужно вычислить признак токена.
Какой бы вариант мы ни выбрали, архитектура эмбеддингов очень несложная, и их большой плюс в том, что их можно обучать на неразмеченных данных (действительно, мы используем только информацию о соседях нашего токена, а для их определения нужен только сам текст). Получившиеся эмбеддинги — усредненный контекст именно по такому корпусу.
Эмбеддинги словоформ, как правило, обучаются на максимально большом и доступном для обучения корпусе. Обычно это вся Википедия на языке, потому что ее всю можно выкачать, и любые другие корпуса, которые получится достать.
Похожие соображения используются и при предобучении для современных архитектур, упомянутых выше — ELMo, ULMFit, BERT. Они тоже используют при обучении неразмеченные данные, и поэтому обучаются на максимально большом доступном корпусе (хотя сами архитектуры, конечно, сложнее, чем у классических эмбеддингов).
Зачем нужны эмбеддинги?
Как уже было упомянуто, для использования эмбеддингов есть 2 основные причины.
В следующей части нашей статьи мы поговорим о задаче NER. Мы расскажем о том, что это за задача, зачем она нужна и какие подводные камни могут скрываться в ее решении. Мы расскажем подробно про то, как эту задачу решали с помощью классических методов, как ее стали решать с помощью нейросетей, и опишем современные архитектуры, созданные для ее решения.