методы и техники нейролингвистического программирования человека и боевого NLP
Классная идея — мы можем научиться умениям других людей. Я уже писал, что НЛП по сути — это система моделирования успешности. Вот как раз для того, чтобы выяснить как работает чужое умение и обучать этому других. И это может касаться практически чего угодно: слепой печати, хождению по углям, игре на бирже, продажам, умению знакомиться или управлять собственным состоянием.
Кстати, однажды один из студентов Джона Гриндера для сдачи зачёта по мастерскому курсу НЛП, смоделировал углехождение. После этого начал проводить семинары по обучению этому самому углехождению, которые внезапно оказались весьма популярны.
Ричард Бендлер, когда к нему попался человек с фобией, отправился — как завещал великий Милтон Эриксон — искать людей, которые сами справились со своими фобиями. Нашёл пару таких, выяснил как они это сделали и создал технику «Быстрое Лечение Фобий». Которая позволяет расправиться с фобией минут за 15 (правда-правда — мы проходим эту технику на тренинге Успешное Мышление 2 и вполне быстро разные фобии убираем).
Каждый человек уникален или «карта не территория»
Мужчины ошибаются думая, что все женщины разные, а женщины ошибаются думая, что все мужчины одинаковые.
Шутка.
Действительно — у каждого из нас свой личный жизненный опыт, свой взгляд на мир. И этот взгляд на мир уникален. Личный взгляд на мир человека в НЛП называют картой
(в отличие от окружающего мира, который, соответственно, называют территорией). Карты бывают разные — более или менее удобные, подходящие и подробные. Единственное, какими они не бывают — правильными или неправильными, потому что это только описание, модель. Любая, даже очень хорошая карта, где-то будет не слишком удобна: самая лучшая карта города Москвы совершенно бесполезна в славном городе Саратове, а карта вин французского ресторана не слишком удобна для ориентации в метро города Берлина.
Очень многие приёмы изменения в НЛП связаны с «расширением» карты — поиском более широкого взгляда на ситуацию. Ну действительно, если у нас есть проблема, то решение находится где-то вне нашей карты мира. И для того, чтобы проблеме разрешить, надо карту расширить так, чтобы это самое решение в неё попало.
За каждым поведением стоит положительное намерение
Калибровка
Люди говорят одно, но часто чувствуют и действуют сильно иначе. В НЛП есть такое важное понятие, как калибровка — умение замечать внешние признаки состояния. Потому как любая наша оценка проявляется во всём теле: в интонациях, движениях, жестах, позе, конструкции предложения или дыхании. И калибровка позволяет понять, что на самом деле человек чувствует, как к кому относится, чего хочет. И намного меньше обращать внимания на то, что он говорит.Так как говорить он может для того, чтобы понравиться, что от него ждут или что он считает более правильным сказать в данный момент. Или просто потому, что не осознал свои оценки и чувства. Калибровка позволяет сделать общение намного более точным и эффективным, а поведение человека намного более понятным.
У нас уже есть все необходимые ресурсы для достижения наших целей
Для того, чтобы из Москвы доехать до Саратова автомобилю требуется бензин (а поезду — электричество). И автомобиль, и бензин — это необходимые ресурсы для достижения цели в виде приезда в Саратов. Так вот, в НЛП предполагается что у нас либо уже есть нужные ресурсы для достижения цели: стать более успешным, прекратить курить, общаться лучше или наконец написать этот доклад, — либо мы их можем найти. Мир большой, нужно просто поискать.
По крайней мере думая так вы скорее добъетесь результата, чем медитируя на тему «почему я такой несчастный» и «у меня всё-равно ничего не получится, я не создан для счастья (успеха, замужества, достатка и обладания автомобилем BMW X5)».
Экологическая проверка
В НЛП есть очень важная вещь — проверка экологии изменения. Это проверка последствий действий — не станет ли хуже после достижения целей? А то стал гендиректором, но заработал язву, перестал бояться высоты, упал с балкона и сломал палец, продемонстрировал уверенность и спокойствие во время разноса начальства и был уволен. Вот чтобы новые способности, навыки и убеждения не испортили жизнь, надо проверять заранее и подкручивать результат так, чтобы всё получилось хорошо.
Модели и техники
Модель
в НЛП — это такое полезное описание (карта). Например, как уточнять, о чём говорит человек («мета-модель языка»), как во время общения изменить оценку («рефрейминг») или убеждение («фокусы языка»), в какой последовательности собирать информацию («SCORE»), типизация людей («мета-программы»).
Техники НЛП — это пошаговые инструкции. Чаще всего техники описывают как решить какую-то проблему («Взмах», «Шестишаговый рефрейминг», «Быстрое лечение фобий», «Изменение личностной истории»). Но есть и про то, как правильно ставить цели («Хорошо сформулированный результат») или как лучше общаться («Стратегия эффективной коммуникации»).
На самом деле техники — это тоже модели, ведь они что-то описывают, и обычно весьма полезны.
Многие техники НЛП — это результат моделирования того, как люди успешно сами решали похожие проблемы. Например, «Стратегия эффективной коммуникации» является результатом моделирования успешных коммуникаторов, «Изменение личностной истории» смоделирована с великого Милтона Эриксона, того самого, которые создал эриксоновский гипноз, а «Быстрое лечение фобий» с людей, которые сами свои фобии убрали.
Ценности, критерии и убеждения
То, к чему мы стремимся, чего хотим или наоборот, избегаем, как раз и определяется ценностями , критериями
и убеждениями
.
Ценности
— важные понятия для человека, обычно выражаемые абстрактными словами, вроде: счастье, свобода, справедливость, достаток. Так как ценности достаточно абстрактны, к ценностям прилагаются критерии
Убеждения — правила жизни, описывающие как с ценностью взаимодействовать. Например, для ценности «любовь» убеждения могут быть:
— Самое важное в жизни — это любовь.
— Любовь приходит и уходит.
— Я недостоин любви.
— Настоящая любовь бывает только раз в жизни.
Убеждения могут разрешать и запрещать достижение ценности, описывать что нужно для её достижение и каковы её критерии. Например, даже если «любовь» для человека вещь очень важная, убеждение «я не заслужил любви» будет «запрещать» ему эту самую любовь получить.
Убеждения управляют нашей жизнью: либо человек делает что-то ради своих убеждений, либо не делает ничего.
Одно время никому не удавалось пробежать стометровку быстрее десяти секунд. Пока в 1968 Джим Хайнс не пробежал за 9,9 секунд. После этого быстренько все начали бегать быстрее, рекорд за рекордом. Сейчас рекорд 9,69. Ну не верили бегуны до Хайнса, что можно быстрее 10 секунд, в их реальности такой возможности не существовало. Пока этот гад оригинал Хайнс подло это убеждение не разрушил.
Убеждения являются и одними из важнейших фильтров восприятия. Если женщина не верит, что существуют порядочные (по её критериям) мужчины — они ей в жизни и не попадаются. А даже если попадаются, их поведение интерпретируется так, чтобы не дай бог под критерии не попал.
Наше отношение кодируется при помощи субмодальностей
В общении оценка и отношение составляет 85%. А вот внутри об отношении — важно, нравится, правильно, законно, моё, чужое, плохо, замечательно, верно, — мы узнаём при помощи так называемых субмодальностей .
Модальностями (сенсорными) в НЛП и психологии называют слух (аудиальная модальность), зрение (визуальная модальности) и чувства (кинестетическая модальность).
Например, мы можем образ отодвинуть или приблизить (что обычно усиливает переживание), сделать ярче или темнее (ослабляет переживание), раскрасить по-другому (тут уже от подбора цветов зависит) или размыть фон (делает объект важнее). Аналогично можно менять характеристики звуков и ощущений.
Подробнее про субмодальности в презентации.
Мы можем управлять состоянием при помощи якорей
Хотелось бы вам управлять собственным состоянием? Так, чтобы нажал на кнопку — и уверен в себе. Или спокоен, весел, бодр, расслаблен, сосредоточен. А точно так же управлять другими людьми — раз, и человеку хорошо? Или спокойно, весело и так далее? Наверняка же хотелось бы такую штуку — ну хотя бы попробовать. И такая штука есть — это
На самом деле якоря — это условные рефлексы. Но слово якорь звучит более понятно.
При помощи якорей мы можем «включать» и «выключать» своё состояние: внимание, бодрость, спокойствие, мотивированность или творчество; можем перенести состояние из того места, где оно есть в то место, где его пока не хватает: например спокойствие и уверенность есть лёжа дома на диване, а при общении с клиентами его пока нет, вот с дивана к клиентам и можно перенести; можно управлять состоянием других людей, а так же разрушать старые уже не нужные якоря.
Вы, наверняка, замечали, что в последнее время предложения об освоении различных технологий личностного роста и саморазвития мелькают на каждом шагу. К одной из них относят нейролингвистическое программирование. Но возникает вопрос: насколько полезно или вредно его использование?
С развитием технологий и расширением доступа во всемирную паутину большинство населения Земли получило возможность взглянуть на иную жизнь, нежели их собственная: через социальные сети, YouTube, Instagram. И, глядя на фотографии знаменитостей и богатых людей, многие люди начали задавать себе вопросы: «а чем я хуже?», «что я могу сделать, чтобы владеть тем же?», «какими качествами этот человек превосходит меня?». И это только один из примеров волнующих современного человека тем, которые тесно связаны с персональным восприятием своего места в мире.
Не секрет, что недовольство собой или происходящими вокруг событиями нередко приводят к развитию депрессии, погружению в меланхолию или даже развитию расстройств личности.
Здесь на помощь человеку приходит психологическая наука, включая такие направления, как гештальтпсихология, гуманистическая психология, транзакционный анализ и другие. Однако, помимо общепризнанных научных школ, существуют немало тех, которые пользуются дурной славой в связи с тем, что, вместо позитивного результата, их использование может привести к плачевным последствиям. К одним из таких и относится нейролингвистическое программирование, или НЛП. О нем мы сегодня и поговорим.
Что такое НЛП?
Нейролингвистическое программирование, если опираться на слова его создателя Ричарда Бэндлера, это «позиция и методология». Несмотря на это, как сторонники, так и противники НЛП называют его практическим направлением в психотерапии, правда, их мнения расходятся, когда дело доходит до эффективности практик НЛП.
В своей основе НЛП использует целый спектр различных научных и псевдонаучных направлений, включая психотерапию, гештальтпсихологию, гипноз, программирование и лингвистику.
Основная цель НЛП заключается в том, чтобы помочь человеку стать лучше.
Конечно, здесь можно возразить и сказать, что основная цель НЛП — заработать, но этот вопрос мы обсудим в конце. В его основе лежит модель, которая позволяет всем желающим и способным воспроизвести паттерны (схемы, модели, идеи) мастерства на основе субъективного опыта успешных людей. Проще говоря, если знаменитый миллиардер сидит, закинув левую ногу на правую, вам нужно делать так же. Это самый простой и грубый пример, но он отражает содержание НЛП: хочешь стать лучше — ориентируйся на тех, кто лучше.
Создатели НЛП утверждали, что наш мозг способен действовать по принципу компьютера, который можно запрограммировать на определенную модель поведения и жизни.
История НЛП
Без исторической справки и описания личностей, которые стояли в основе создания НЛП, нельзя понять его суть и причины его критики. Впервые ростки НЛП зародились благодаря совместной работе трех личностей: Ричарда Бэндлера, Джона Гриндера и Фрэнка Пьюселика. Учитывая то, что последний упоминается крайне редко и неохотно, он не включается в число основателей НЛП. Считается, что именно Бэндлер, занимавшийся программированием, и Гриндер, психолог и лингвист, разработали первую теоретическую модель «языкового программирования» человека.
Ричард Бэндлер
В наши дни Ричард Бэндлер — чрезвычайно дискуссионная личность.
Но в далеком 1972 году он был заинтересованным студентом, посвятившим себя, в свободное от программирования и математики время, изучению гештальтпсихологии, которая практиковалась на интенсивных групповых семинарах. Именно в ходе жарких дискуссий рождалась теоретическая основа НЛП. Бэндлер, несмотря на то что был еще студентом, фактически руководил группой и был «моделью» Гриндера, на которую тот должен был опираться. То есть Гриндер должен был имитировать поведение Бэндлера. В эту еще не оформившуюся концепцию, созданную вторым, первый внес лингвистическое содержание.
Сама фигура Ричарда Бэндлера крайне противоречива: он был груб, заносчив, ссорился со своими коллегами, принимал кокаин и даже пытался доказать через суд, что интеллектуальные права на НЛП принадлежат ему, но проиграл. Сегодня он является одним из тысячи тренеров по личностному развитию, которые говорят людям, что для продуктивной работы нужно работать, а чтобы не грустить — не нужно грустить. Но сама теория при всем при этом достойна обсуждения.
Суть НЛП
Нужно отметить, что названия первых выпущенных по НЛП книг указывают на их направленность: «Структура магии. Том 1-2» (1975, 1976), «Шаблоны гипнотических техник Милтона Эриксона. Том 1-2» (1975, 1977). Они не были глубоко научными, как не является таковой сама теория НЛП на сегодняшний день.
По утверждению создателей, книги были предназначены для «простых» людей. И в этом их особенность.
Нейролингвистическое программирование не является частью психологии или психотерапии, это методика, собрание советов, практические рекомендации и, как уже было сказано выше, позиция. НЛП не боится критики, наоборот, приветствует её. И главным фактором успешности своих практик его представители называют эмпирические методы, то есть опыт и его результаты. Чтобы успешно освоить эту технику, нужно быть готовым к экспериментам, так как НЛП даёт не сам ответ, а лишь ряд рекомендаций для собственного поиска.
Давайте разберем подробнее основные постулаты НЛП.
Постулат 1. Каждый человек имеет репрезентативную систему
Мы получаем информацию о мире благодаря органам чувств, которые носят название репрезентативные системы . Полученные данные передаются в центральную нервную систему, где они обрабатываются в виде данных, которые служат основой для выработки поведения.
Таким образом, можно определить, какой из них пользуетесь вы сами и другие люди. Например, если человек в своей речи акцентирует внимание на словах «я смотрю на этот вопрос так же», он пользуется визуальной системой, если «я чувствую то же, что и ты» — кинестетической. Подобные указатели являются предикатами , или специфическими языковыми ключами в речи человека, которые также могут называться лингвистическими маркерами .
Благодаря определению репрезентативной модели человека, можно осуществить 3 вида действия, которые помогут нам войти с ним в раппорт (доверительные отношения). Во-первых, это присоединение , при котором вы согласуете свою модель с моделью другого человека, то есть используете лингвистические паттерны и лексику для имитации модели собеседника. Например, если человек говорит вам: «Я вижу, что ты не съел кашу», вы можете ответить: «Да, это действительно так выглядит». Или, второй вариант действия, сказать: «Да, я слышу твой аргумент и согласен с ним» и отсоединиться .
Третий вариант называется отзеркаливание и предполагает максимальную имитацию поведения человека. Если присоединение предполагает, что вы разделяете репрезентативную систему человека в целом, то для отзеркаливания вам нужно действовать в точности, как он. То есть если ваш собеседник почешет за ухом, вы должны (через определенное время, конечно, чтобы он не подумал, что вы дразнитесь) сделать то же самое.
Основным инструментом для определения репрезентативной системы является сенсорная острота , или способность человека замечать внешние поведенческие признаки и интерпретировать их.
Достигается она просто — через ежедневные тренировки, которые заключаются в наблюдениях за дыханием, изменением цвета лица, мышечного тонуса, положения нижней губы и тона голоса. В процессе, чтобы «присоединиться» к человеку, вам нужно производить калибровку своего поведения, в зависимости от увиденных паттернов поведения вашего собеседника.
Зачем это нужно?
Люди, которые мыслят и ведут себя одинаково, с большей вероятностью привлекают друг друга.
Постулат 2. «Карта» не является «территорией»
Существуют два уровня восприятия реальности: внутренний и внешний. Мы конструируем реальность на внутреннем уровне (внутренняя репрезентация) посредством получения данных органами чувств с их последующей переработкой. Однако наша внутренняя интерпретация события не является его реальным отражением. Поэтому «карта», которая создаётся внутри нас, не является «территорией», существующей снаружи.
Постулат 3. Поведение человека соответствует его «карте»
Восприятие реальности, а следовательно, и наши действия, зависит напрямую от нашей внутренней «карты». Они состоят из наших убеждений, ценностей, поэтому они позиционируются как наши «мысли». Таким образом, практики НЛП утверждают, что изменение «карты» способствует формированию новой модели. Если говорить проще, то объективная реальность есть, это не матрица, но мы её всё равно воспринимаем неправильно. Так почему бы не запрограммировать восприятие более практичными мыслями?
Постулат 4. Сознание и тело прямо влияют на состояние друг друга
Эффект плацебо явно демонстрирует факт того, что наличие убеждений может привести к изменению физического состояния. И если разум может вылечить тело, то возможен и обратный процесс. То есть если мы будем чувствовать моральную боль в сердце, то появится угроза формирования реальной болезни, как утверждают практики НЛП.
Постулат 5. Нужно уважать модель мира, или «карту», других людей
Субъективное восприятие действительно есть и будет вызывать немалое количество споров, связанных, как правило, с попыткой переубедить человека или с непониманием того, почему он мыслит так, а не иначе. Для профессионала НЛП важной основой взаимодействия с людьми является принятие возможности существования их «карты» и уважение к ней. Более того, при попытке воздействовать на «карту» может возникнуть, и, скорее всего, возникнет защитная реакция, что перечеркнет усилия по установке раппорта.
Постулат 6. Личность и поведение — не одно и то же
Моральные ценности личности не определяются действиями, которые могут зависеть от определенного контекста. Нужно ожидать того, что поведение человека в одинаковых ситуациях, но при воздействии разных факторов, может отличаться. Таким образом, поведение не определяет самого человека.
Постулат 7. Основной результат коммуникации — это не донесение мысли, а реакция
В связи с субъективным восприятием, предоставленная одним человеком информация может трактоваться другим совершенно иным образом. Коммуникация не является монологом, и реакция вашего собеседника определяет эффективность вашей способности донести мысль. Если человек не реагирует нужным вам образом, то следует сменить не его модель восприятия, а вашу модель поведения и коммуникации.
Постулат 8. Поражений не существует, есть обратная связь
Один из основных постулатов НЛП заключается в том, что поражений не существует. Если в процессе общения вы не смогли донести мысль, то это должно быть обратной связью , то есть возможностью проанализировать свои ошибки и исправить их. Практики НЛП часто приводят в пример слова Томаса Эдисона, который провел более 10000 неудачных экспериментов и говорил, что он не терпел поражения, а обнаружил 10000 вариантов того, как делать не следует. Как правило, неудача воспринимается как повод отступить, в то время как должна давать возможность адаптировать свое поведение.
Критика НЛП
Прежде, чем говорить о критике НЛП, нужно учесть два момента. Во-первых, как и любая другая наука, психология открыта новым идеям и опыту, ведь без этого невозможно развитие. Но психологи как её представители — другое дело. Не секрет, что критиковать проще, чем построить собственную научную теорию, в связи с чем в науке нередки случаи, когда индекс Хирша, или индекс научного цитирования и основной показатель успешности ученого, создаётся исключительно благодаря критическим работам.
И, во-вторых, НЛП — это теоретическая основа, которой может воспользоваться каждый. Как и один из его двух создателей, Ричард Бэндлер, сторонники НЛП могут приобрести дурную репутацию в связи с неправильным или корыстным использованием полученных знаний. Например, те же тренеры личностного развития, называющие НЛП уникальным способом сделать из простого человека успешного миллиардера.
В целом можно выделить три основные позиции:
- Сторонники — те, кто полностью разделяют идеи НЛП.
- Противники — те, кто считают, что теоретическая база НЛП серьезно подорвана и может нанести вред не только самому человеку, но и окружающим его людям. Они, как правило, выбирают основной целью критики пафосный и ненаучный язык, которым описывается НЛП. Нейролингвистическое программирование обещает многое, отчего и требования к результатам завышены.
- У реалистов наиболее неконфликтная позиция из представленных. Реалисты одновременно видят и плюсы, и минусы НЛП. Они выделяют слабую эффективность, неразвитость теории, завышенные обещания создателей и сторонников НЛП, однако отмечают научную обоснованность первых работ по НЛП и возможность достижения позитивного результата от использования определенных методик.
Что можно сказать по существу?
В этой статье мы не стали обсуждать конкретные методики «достижения счастья» и превращения себя в «успешного бизнесмена», пусть этим занимаются тренеры личностного развития. Мы разобрали некоторые из постулатов НЛП, чтобы каждый читатель мог для себя определить
, согласиться ли с данными тезисами.
НЛП собрало вокруг себя огромное количество критики, хотя никогда не пыталось достать с небес звезды. Человек, который понимает постулаты НЛП и разделяет их, не станет вступать в споры, ведь он сделал собственный выбор.
Именно идея о восприятии и выборе красной нитью проходит через всю концепцию: если вы не хотите понимать, не делайте этого, если хотите — делайте.
Сама суть НЛП заключается в утверждении того, что мы не можем полностью воссоздать реальность внутри себя, но это дает возможность самому решать, какой мы её видим. Отсюда, кстати, и повсеместное распространение личностных тренингов на основе НЛП, создатели которых не имеют профильного образования и заинтересованы в получении прибыли.
Конечно, чересчур сильное увлечение чужими практиками может привести к нестабильности вашего внутреннего состояния, но НЛП учит человека быть успешным и при этом уважать восприятие мира другими людьми. Вполне адекватные постулаты, не правда ли? Это то, как видит концепцию НЛП автор статьи. То, что увидите вы, — зависит от вас самих.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter .
Нейролингвистическое программирование является популярным и бурно обсуждаемым направлением практической психологии . Актуальность данного предмета обусловлена рядом причин. Во-первых, методы НЛП находятся на стыке нескольких дисциплин: психологии, психотерапии, программирования и языкознания. Во-вторых, НЛП представляет собой новое исследовательское направление, нацеленное, главным образом, на практическое применение в жизни человека. Кроме того, хотя нейролингвистическое программирование часто критикуется академическим сообществом, данная дисциплина содержит большое количество полезных и «работающих» приёмов, о которых и пойдёт речь в уроках этого раздела. В данном онлайн-тренинге вы бесплатно научитесь пользоваться ключевыми техниками НЛП: метамоделью, фреймингом, рапортом, якорением, работой с состояниями и репрезентативными системами, а также познакомитесь с лучшими практиками, играми, книгами, видеороликами данной тематики.
Что это такое?
НЛП (Нейролингвистическое программирование ) — это область практической психологии, разрабатывающая прикладные техники, моделирующие приёмы и практики знаменитых психотерапевтов и мастеров коммуникаций.
Другими словами, НЛП занимается изучением положительного опыта специалистов в области психотерапии, гештальтпсихологии, психоанализа, лингвистики, гипноза, с целью в дальнейшем использовать этот опыт. По сути, НЛП представляет собой моделирование приёмов успешных людей для того, чтобы сделать эти приёмы общедоступными.
Стоит отметить, что НЛП не является наукой, а знания, в силу особенностей их получения, не могут быть полноценно научно верифицированы. Более того, научное сообщество скептически относится к данному направлению, и в вузах редко можно встретить курсы по НЛП. Но важно понимать, что у создателей НЛП не было цели сделать полноценную научную теорию. Им важно было найти общедоступные техники, раскрывая сложные методики известных практиков психологии.
Краткая история
Совместная работа по созданию нейролингвистического программирования была начата в конце 1960-х годов группой специалистов Калифорнийского университета: Ричардом Бендлером, Джоном Гриндером, Фрэнком Пьюселиком во главе с их научным попечителем знаменитым ученым-антропологом Грегори Бейтсоном. Система НЛП была разработана с целью ответить на вопрос, почему определённые психотерапевты так эффективно взаимодействуют со своими клиентами. Вместо того чтобы исследовать данный вопрос с точки зрения психотерапевтической теории, Бендлер и Гриндер обратились к анализу методов и техник, применяемых этими психотерапевтами, путем наблюдения за ходом их работы. Затем ученые сгруппировали изученные методы в различные категории и представили их в виде общих моделей межличностных отношений и влияния людей друг на друга.
Знаменитыми специалистами, чей профессиональный опыт было решено преобразовать в модели, были выбраны:
- Вирджиния Сатир — семейная терапия
- Милтон Эриксон — эриксоновский гипноз
- Фриц Пёрлз — гештальттерапия
Первые результаты изучения практических навыков этих психотерапевтов появились в 1975 году и были опубликованы в работе «Структура Магии. Том 1» (1975). Затем расширенные материалы исследования модели были представлены в книгах «Структура Магии. Том 2» (1976) и «Изменения в семье» (в соавторстве с Вирджинией Сатир, 1976). Результатом проведенной работы стала так называемая Метамодель, о которой вы узнаете из первого урока нашего тренинга. Эта модель послужила фундаментом для дальнейших исследований в данной области и привела к созданию целого направления практической психологии. Сегодня НЛП является открытой методологией, имеющей множество последователей, дополняющих ее авторскими разработками.
Применение навыка НЛП
НЛП пытается научить людей наблюдать, понимать и воздействовать на себя и окружающих так же эффективно, как это делают опытные психотерапевты и мастера коммуникаций. Поэтому у НЛП широкий спектр применения, в который можно включить такие направления, как:
- психотерапия,
- управление временем,
- обучение,
- менеджмент и управление ,
- продажи,
- юриспруденция,
- писательство и журналистика.
НЛП позволяет развивать коммуникативные навыки, необходимые каждому человеку. Кроме того, НЛП помогает личному развитию: способности правильно понимать свои эмоциональные состояния, разносторонне воспринимать окружающий мир, достигать гибкости в поведении. Продвинутые техники НЛП позволяют лечить фобии и психологические травмы, сохранять хорошую психическую форму и поддерживать высокий уровень работоспособности.
Как этому научиться
Дополнительный материал
В рамках одного онлайн курса невозможно описать все возможные модели и техники нейролингвистического программирования. Это связано и с тем, что данное исследовательское направление продолжает развиваться, моделируя новые психологические и лингвистические техники. Многие из этих техник достаточно специфические, поэтому они будут интересны далеко не всем читателям 4brain. Чтобы вам было легче найти нужную информацию, мы решили дать ссылки на дополнительные материалы (книги, видео, статьи), которые не вошли в наш курс.
Книги
В магазинах можно встретить множество учебников по НЛП, но часто эти книги содержат мало полезной информации. Чтобы вы могли лучше ориентироваться в литературе по нейролингвистическому программированию, мы подобрали список наиболее популярных и проверенных книг . В него вошли:
- Фокусы языка. Роберт Дилтс
- Из лягушек — в принцы. Джон Гриндер
- НЛП-практик: полный сертификационный курс. Учебник магии НЛП. Боденхамер Б., Холл М.
- Искусство убеждать. Ричард Бендлер
- 77 лучших техник НЛП. Майкл Холл
- И некоторые другие.
Видео
В силу того что многие техники НЛП представляют собой конкретные речевые приёмы и способы поведения, всему этому сложно научиться, только лишь читая текстовое описание. Важной составляющей обучения являются наглядные примеры людей, которые уже освоили нужную технику, а также мастер-классы и лекции ведущих специалистов. Видеоролики с такими примерами и выступлениями мы тоже постарались включить в наш тренинг и дополнительные материалы.
Во все времена человек стремился найти приемы и техники того, как он может влиять на окружающих людей, при этом добиваться от них желаемого. В некоторой степени завесу тайны открывает нейролингвистическое программирование, которое на сегодняшний день является популярным. Оно базируется на идее о том, что человека делают его в некоторой степени поддающимся манипуляциям. Примеры НЛП можно проследить повсюду.
Человек обладает мышлением. Его формированием зачастую занимаются родители, учителя и общество в целом. Если понимать, каким образом человек запрограммирован, можно на него влиять. Также учитываются особенности функционирования мышления. Можно абсолютно не знать человека, но воздействовать на его мышление таким образом, что будет естественно вписываться в его процесс.
Сайт психологической помощи сайт понимает, что многие читатели хотели бы знать тайные секреты влияния. Однако нейролингвистическому программированию нужно обучаться постоянно, ведь даже последователи данной теории не все тайны пока еще раскрыли.
Каждый день человек является объектом для программирования. Его, как робота или компьютер, пытаются запрограммировать на определенные действия, которые желательны не ему самому, а другим людям, которые его программируют. Как они это делают? Основными методами являются манипулирование на страхе или повторения. Когда вам страшно, вы не контролируете себя, а значит, делаете то, что обычно делаете, поддаваясь панике. Если вам постоянно повторять одно и то же, то со временем вы привыкнете к этой мысли и согласитесь с тем, что вам говорят или что с вами делают.
Человека можно запрограммировать на определенные действия через идею, которую вы выражаете словами письменно или устно. Говорите человеку только то, какую идею вы хотите внедрить в его голову. Со временем на подсознательном уровне он запомнит ее и будет действовать в соответствии с внедренной мыслью. Здесь применяется принцип: все, что вы делаете, видите, говорите, слышите и т. д., формирует ваше будущее. А здесь формируется будущее посредством слова, смысл которых вы хотите внедрить в голову другого человека.
Большинство людей легче воспринимают конкретную ситуацию – картинку или образ происходящего, а не философскую мысль. Другими словами, лучше демонстрировать картинку или создавать такую ситуацию, чтобы она запомнилась человеку и осталась у него в подсознании.
Более того, люди не любят длинные речи или тексты. Больше запоминаются короткие выражения, слоганы или фразы. Поэтому если вы хотите воздействовать на людей словом, говорите поменьше, используя четкие и ясные выражения.
Что такое нейролингвистическое программирование?
Нейролингвистическое программирование (НЛП) – недавно появившееся понятие, которое обозначает набор техник и приемов, которые главным образов сказываются на деятельности мышления человека таким образом, что он начинает выполнять нужные действия. Обычно люди обращаются к НЛП с желанием управлять и манипулировать другими людьми. На самом деле психологи сомневаются в эффективности данных методик. Конечно, на человека можно воздействовать помимо его воли. Однако он продолжает оставаться свободным человеком. Если он останется бдительным и не захочет поддаваться , тогда никакие НЛП-техники на него не подействуют.
Первоначально нейролингвистическое программирование было направлено на изменение человека самого себя. Человек может достичь успеха и сделать свою жизнь такой, какой она ему будет нравиться, если воспользуется специальными техниками и начнет воздействовать на самого себя.
В НЛП используется множество приемов, среди которых популярными являются:
- Использование слова. Люди еще не полностью осознали значение слова, которое на самом деле несет очень сильное влияние.
- Подстройка на уровне невербалики.
Каждый читатель должен понять, что его мозг является своеобразным компьютером, в который закладывались определенные шаблоны, стереотипы, убеждения, страхи, комплексы, эмоции, опыт и пр. Все это теперь влияет на поведение человека, его стратегию делания выбора и принятия решений, образ жизни и т. д. Если человек недоволен своей жизнью или собой, то он должен понять, что в первую очередь все проблемы находятся у него в голове. Можно с помощью специальных приемов настроить себя на , чтобы помешать остальным программам, которые уже сделали человека несчастным, действовать.
Техники нейролингвистического программирования
Нейролингвистическое программирование было разработано Бендлером, Эриксоном и Гриндером. Изначально техники использовались в психиатрической практике для устранения страхов, фобий, стрессовых состояний и пр. Однако НЛП получило популярность среди обычных людей, которые тоже захотели самостоятельно воздействовать на свое подсознание.
Следует брать ответственность на себя за те последствия, которые возникнут в результате нейролингвистического воздействия на окружающих. Техниками НЛП можно как принести пользу, так и навредить.
Очень распространенными становятся техники в рекламе, где специалисты пытаются обойти все преграды и защитные психологические механизмы. В первую очередь учитывается, каким образом человек воспринимает информацию, а затем уже используются соответствующие слова:
- На визуалов (людей, которые воспринимают информацию преимущественно глазами) воздействуют такие слова, как «посмотри», «обрати внимание», «обрати свой взор» и пр.
- На аудиалов (людей, которые преимущественно воспринимают информацию через уши) воздействуют такие слова, как «послушай», «услышь», «прислушайся» и пр.
- На кинестетиков (людей, которые привычно воспринимают информацию через тактильные ощущения) воздействуют такие слова, как «потрогай», «мягкий», «ощути» и пр.
Нейролингвистическое программирование может изменить жизнь человека. Все зависит от того, на что человек направляет силы. Можно избавиться от страхов и негативных эмоций. Можно повысить свою самооценку. Можно отработать новые навыки успешной коммуникации. Можно изменить свое отношение к конкретным явлениям или жизни в целом.
На примере возникновения чувства ревности рассмотрим, как действует нейролингвистическое программирование:
- Сначала человек себе представляет картины измены своего партнера. То есть действует визуальный канал.
- Затем человек начинает представлять себе охи и вздохи во время измены (аудиальный канал).
- Развивается ревность (кинестетический канал).
Чтобы изменить свое ощущение, нужно на первом или втором этапе изменить сценарий:
- К примеру, на этапе визуализации нужно осознавать, что картинки являются ложными, недоказанными, неправдивыми.
- На этапе аудиального восприятия нужно представить, что любовники занимаются половым актом под юмористическую программу или мультяшную музыку.
- Уже на третьем этапе ревности не возникнет, если первые два этапа были проделаны правильно.
НЛП предлагает множество техник, которые должны позволить достичь поставленной цели. Приведем некоторые из них:
- «Засветить пленку» — когда нужно отпустить или забыть какое-то воспоминание. Нужно каждый раз делать картинку воспоминаний все более светлой, пока она полностью не исчезнет.
- Чтобы вспомнить о том, что было забыто, нужно как можно чаще прокручивать в голове воспоминание, «сгущать краски», выдвигать предположения, что было, так делать до тех пор, пока воспоминание не будет изъято.
- «Двадцать лет спустя» — когда нужно снизить силу теперешних переживаний. Для этого нужно представить себя, место или другого человека спустя двадцать лет и обратить внимание на то, какие теперь возникают ощущения к нему (к ситуации).
Важным приемом в НЛП является раппорт – подстройка человека под собеседника с целью установления с ним контакта доверия и доброжелательности. Делается это путем занимания позы, выполнения жестов и мимики, которую делает человек.
Нейролингвистическое программирование предлагает людям действовать так, как будто желаемый результат уже был достигнутым, реальным. Это позволяет человеку избавиться от многих зажимов и внутренних страхов. Считается, что человек совершает максимально благоприятное действие на сегодняшний момент и исходит всегда из благих побуждений. Отрицательный результат не является чем-то плохим, а показывает возможность человека в следующий раз действовать по-другому, поскольку у него есть потенциал.
Еще одним приемом НЛП является «Якорь» — это когда человек у себя или у другого индивида желает вызывать определенное состояние при помощи условного раздражителя. Так, человек постоянно совершает какое-то действие, говорит слово или наблюдает предмет, при этом испытывая положительные эмоции. После нескольких повторений данного процесса можно уже просто сказать слово, сделать действие или посмотреть на предмет, чтобы возникли положительные эмоции как условный рефлекс.
Примеры нейролингвистического программирования
Нейролингвистическое программирование получило свою популярность в рабочей сфере, где люди желают воздействовать и достигать желаемых результатов. Так, наиболее популярными сферами становятся управление, торговля, реклама и даже политика. Однако есть люди, которые применяют НЛП и в любовных отношениях, так, например, известно такое направление, как пикап, который предлагает различные способы привлечения девушек быстро.
Зачем программировать людей на что-либо? Каждый человек хочет иметь влияние на окружающих, чтобы они делали то, что хочет он. Конечно, лишь единицы имеют такого рода влияние. Но если хорошо постараться, то можно и самому приблизиться к такому рода контакта с окружающими, чтобы они начали исполнять ваши пожелания.
Как запрограммировать людей своими словами? Самое простое и легкое правило: вы должны говорить лишь то, что непосредственно касается вашего желания. Не говорите того, чего бы вы не хотели, чтобы воплотилось в реальность. Помните, что все ваши слова являются программами, которые впечатываются в голову вашего собеседника и потом реализовываются через его поступки. Чего вы хотите? О том и говорите. Обо всем остальном забудьте. Ни слова не говорите о том, чего бы вы не хотели видеть в своей жизни.
Неужели можно таким способом запрограммировать человека? Можно. Ведь говорят же, что «если постоянно говорить другому, что он свинья, то вскоре он захрюкает». Здесь действует тот же самый принцип: вы постоянно говорите об одном и том же, чем и программируете человека на исполнение вашего желания. И не беспокойтесь по поводу того, что вначале человек не хочет вам подчиняться. Вначале всегда происходит сопротивление. Но потом человек свыкается с мыслью о том, что вы ему говорили, после чего он сам начинает думать о том же, на что вы его программировали.
Итог
Нейролингвистическое программирование предлагает множество техники и приемов. Это отдельное направление, которое нужно изучать, чтобы быть гуру и уметь управлять как своей, так и чужой жизнью.
Что такое НЛП (нейролингвистическое программирование)? Это довольно-таки широко трактующийся способ воздействия на людей, включающий в себя моделирование поведения, программирование мышления и контроль над разумом. А еще НЛП — это специфическое направление психологии. Вообще, рассказать об этом можно многое, но сейчас заострить внимание стоит на самых интересных аспектах данной темы.
История и предпосылки возникновения метода
Перед тем как в подробностях рассказать о том, что такое НЛП, стоит обратиться к истории. Само направление было разработано в 60-70-х годах американскими учеными — лингвистом Джоном Гриндером и психологом Ричардом Бендлером.
Специалисты доступно объясняют принцип нейролингвистического программирования. Ученые говорят, что в этом методе воплощена основная идея Альфреда Коржибски — американского исследователя и основателя общей семантики. Звучит она так: все наши модели мира и когнитивные карты (образы знакомого пространственного окружения) — это репрезентации, искаженные из-за особенностей неврологического функционирования, а также из-за ограничений, которые с ним связаны.
Ученые уверяют — после того как информация попадает в рецепторы пяти чувств, она подвергается лингвистическим и нейрологическим трансформациям. Причем до того, как человек (точнее, его мозг, сознание) сам получит к ней доступ. Это говорит лишь об одном — на опыте никто из нас никогда не переживает объективную реальность. В любом случае она изменяется нейрологией и языком.
Основа метода
Без ее непосредственного изучения довольно-таки сложно понять, что такое НЛП. Сам метод подразумевает, в первую очередь, исследование структуры субъективного опыта. То есть того, что пережил только тот или иной конкретный человек.
Нейролингвистических программистов в первую очередь интересует то, как люди пропускают через себя реальность и конструируют ее. Ученые признают, что, возможно, пресловутая объективная реальность (мир, существующий независимо от человека и его сознания) существует. Но никому не дано узнать, что она собой представляет, иначе, чем через восприятие и последовательно формирующиеся о ней убеждения.
Во всех книгах по НЛП сказано, что у субъективного опыта имеется своя структура и организация. То есть, для каждого человека его убеждения, идеи и восприятие собираются, согласно имеющейся между ними взаимосвязи. Они структурированы и организованы. И это проявляется как на микро-, так и на макроуровне.
Ученые утверждают — все поведенческие акты и общение (как вербальное, так и невербальное), отражают то, как человек внутренне структурирует понятия и убеждения, свойственные ему. И опытному наблюдателю подвластно работать с этими процессами.
В этом однозначно есть доля истины. Субъективная природа человеческих переживаний не даст нам обхватить объективный мир никогда. У людей нет доступа к абсолютному познанию реальности. Все что у них есть — набор убеждений о ней, который создается в течение жизни.
Принципы метода
Изучив их хотя бы вкратце, можно примерно понять, что такое НЛП. И один из принципов звучит так — что бы ни делал человек, им движет позитивное намерение, которое зачастую даже не осознается. То есть поведение, демонстрируемое им в тот или иной момент, является лучшим из доступных или самым правильным. Сторонники НЛП считают — поиск новых альтернатив может быть полезным, так как они помогают изменить поведение, не желаемое для других людей.
Еще в данной теме имеет место быть такое понятие, как раппорт. Оно обозначает качественную связь, установленную между двумя людьми. Характеризуется легкостью общения, обоюдным доверием, беспрепятственным течением речи. В сфере психологии и психиатрии уделяется особое внимание раппортам между врачами и пациентами. Так как их наличие влияет на исход психотерапии. Поэтому специалисты НЛП акцентируют внимание на том, что именно составляет раппорт, а также какие факторы позволяют его добиться и поддерживать в дальнейшем.
Третий принцип звучит так: «Нет поражения. Есть лишь обратная связь». В НЛП коммуникация никогда не рассматривается в контексте неудачи и успеха. Только с точки зрения эффективности. Если результаты оказываются неэффективными, то это для исследователей — повод не разочаровываться, а искать обратную связь. Она и определит успешность выполняемых действий. Этот принцип, кстати, заимствован из теории информации английского психиатра Уильяма Росса Эшби.
Четвертый принцип: «Наличие выбора лучше, чем его отсутствие». Вот, что важно усвоить для начинающих — НЛП направлено на распознание «застоев» и на выявление новых вариантов действия в любой ситуации. Сторонники метода говорят — более эффективно повлиять на что-то может индивид, для которого характерна не сила, а гибкость в спектре проявляемых реакций.
Пятый принцип: «Смысл коммуникации — получаемая реакция». Как уже говорилось вначале, НЛП — манипулирование людьми в каком-то смысле. Так вот, главное в коммуникации — не намерение, которое стоит за посылаемым сообщением, а реакция, вызванная им у оппонента. Если начать руководствоваться данным принципом, то можно стать в общении более эффективным. Ведь по визуальной реакции оппонента можно проследить, как до него доходит та или иная информация.
Сознание и тело оказывают взаимовлияние
Это — одно из правил НЛП. И с его истинностью сложно спорить. Когда человек танцует под любимую музыку — его настроение улучшается. Если принимает таблетку снотворного — мозг отключается. Когда человека толкают в спину в час пик в метро, его ЦНС моментально реагирует раздражением на это.
Во всех случаях происходящее с телом влияет на сознание. В обратную сторону принцип тоже работают. Человек готовится к выступлению перед массой — его сердцебиение учащается. Ему делают комплимент — щеки розовеют, возникает улыбка. Сообщают плохую новость — возникает перепад давления, слезы.
При чем тут НЛП? В расшифровке аббревиатуры присутствует термин «программирование», под которым в данном контексте подразумевается закладывание в сознание определенной функции. Так вот, в этом случае человек должен осознать силу своей мысли над телом. Заложить это в своем сознании, запрограммировать себя на данный принцип. И тогда он поймет, насколько велики его возможности.
Конечно, многие скептически относятся к этому принципу. Но сторонники НЛП считают, что люди, живущие в соответствии с ним, могут отдавать своему телу приказы. Заставить себя похудеть или выздороветь без таблеток, повысить настроение.
Скептицизм развеял эффект плацебо. Был эксперимент: исследователи собрали больных людей и, разделив их на две группы, стали лечить. Одним давали лекарственные препараты. Другим — «пустышки», таблетки-плацебо. Но те об этом не знали. Врачи хотели выяснить, что влияет на людей — химические вещества, или же их вера в получаемое лечение. По итогам эксперимента оказалось, что «пустышки» подействовали наравне с медикаментами, и в некоторых случаях даже оказались эффективнее их.
Внутренние ресурсы безграничны
Так звучит следующее правило НЛП. Каждый человек обладает фантастическими ресурсами, но в полной мере их практически не использует. Почему? Из-за природной лени.
Зачем читать и заниматься самообразованием, если можно достать смартфон и быстро загуглить то, что интересует? Зачем пытаться овладеть навыком управления своим телом, давлением и температурой, когда есть аспирин, жаропонижающие?
НЛП — это сфера знаний и методов, в которой огромное внимание уделяется именно скрытому потенциалу. Одной из главных задач является обнаружение в глубине души необходимых ресурсов для достижения тех или иных целей, нахождения талантов, быстрого усвоения навыков и знаний. В общем, всего того, что способно облегчить существование.
И вот правило НЛП на каждый день: нужно приучить себя обращать особое внимание на людей, способности которых восхищают. Это — самый простой способ выявить и развить свои скрытые таланты. Ведь человек замечает в других те качества, которые свойственны ему самому! Только он об этом, порой, не догадывается. Сторонники НЛП уверены: если человек отметил чью-то одаренность или способность, порадовался за ее обладателя — значит, у него имеются такие же склонности. Просто он не позволял их себе проявить раньше.
Но и к недостаткам это тоже относится. Человек обвиняет кого-то в зависти, подлости, злости, подлости? А не свойственны ли они и ему тоже? Вероятно, да. Особенно раздражают те качества, которые люди подсознательно не принимают в самих себе.
Кем быть в этом мире — решение индивидуальное
Наверное, каждый слышал фразы, наподобие: «Все зависит от нас самих» или «Ты — хозяин своей жизни». Вот только, как оно обычно бывает, мало кто вдумывается в такие слова, осознает их смысл. А в НЛП одно из ключевых правил именно так и звучит: «Кем человек будет — победителем или побежденным — зависит лишь от него».
Каждый — творец своей Вселенной. Правитель собственной Судьбы. Тот, кто может «заказывать» себе богатство или бедность, здоровье или болезни, удачу или крах. Иногда «заказы» делаются бессознательно.
Одни скептически усмехнутся, другие найдут сотни опровержений и аргументов против данного утверждения, остальные задумаются. Но нужно помнить, что речь идет про НЛП — технику манипулирования людьми и собственным сознанием. Порой, некоторые люди так азартно и даже агрессивно начинают устраивать свою жизнь, что фраза «Я могу!» становится ежечасно сопровождающим их девизом. И они добиваются воистину поразительных результатов.
Потому что эти люди верят в собственные силы и в себя, принимают ответственность за свою Судьбу на себя (понимая, что ни творят ее, а не карма, начальство, высшие силы, правительство или обстоятельства), а также занимаются раскрытием внутреннего потенциала. Они проводят над собой капитальную работу каждый день. На НЛП не нужно смотреть, как на псевдонаучную методику. Это — мотивации, установки, изучение своего сознания, постоянный процесс самосовершенствования. Здесь нужна сила.
Прием № 1: создание якоря
Многие люди увлекаются НЛП и манипулированием собственным сознанием. В основном потому, что ни хотят быть… счастливыми. Люди приходят к нейролингвистическому программированию с надеждой, что смогут себя «настроить» на хорошую жизнь. И это возможно.
У подавляющего большинства из нас были/есть моменты, когда мы абсолютно счастливы. Вершина блаженства, так сказать. Жизнь идет как по маслу, все получается, отсутствуют всякие преграды, желания исполняются. Жаль, что так не всегда. Но что мешает запомнить это состояние, и постоянно в него возвращаться мысленно?
Это один из ключевых приемов НЛП. Надо вспомнить свое блаженное состояние, именуемое «ресурсным», представить гамму чувств, испытываемую в тот момент. Когда они станут максимально яркими, нужно поставить «якорь». Это может быть что угодно — щелчок пальцами, легкое оттягивание мочки уха, мягкое сдавливание ладонью плеча. В общем-то, главное, дабы это был жест, доступный для осуществления в любой ситуации.
Упражнение надо повторять. Вспоминать свои чувства и блаженно время и на пике ставить выбранный «якорь». Тут цель простая — сформировать некий условный рефлекс. Когда ее удастся добиться, то человек при помощи своего якоря будет испытывать всю гамму тех эмоций и чувств. И этот навык действительно улучшает психологическое состояние при тоскливых, грустных, неблагоприятных жизненных обстоятельствах.
Кстати, «якорь» можно заменить предметом. Рефлекс добавочно выработается еще и на основе ассоциаций. Но тогда нужно будет носить его с собой постоянно.
Прием № 2: воздействие на других
Многие люди желают при помощи нейролингвистического программирования освоить манипулирование. НЛП-техник, помогающих воздействовать на других, существует множество. Но все они основываются на специфике речи, построении предложений, обращении, отношении к человеку. Итак, вот лишь некоторые приемы НЛП, помогающие воздействовать на людей:
- Метод трех согласий. В основу положена инерционность психики. Принцип таков: перед тем, как озвучить важный вопрос, на который нужно получить твердое «да» от собеседника, надо задать ему три незначительных, легких, стопроцентно подразумевающих положительный ответ. Несколько раз согласившись, он продолжит это делать инерционно.
- Иллюзия выбора. Хитрая техника манипулирования НЛП. С одной стороны человек предлагает выбор. С другой — стимулирует ответчика сделать то, что ему нужно. Например: «Вы приобретете весь комплект либо его часть?».
- Слова-ловушки. Они цепко «ловят» сознание практически каждого человека в сети. Например: «Вы чувствуете уверенность после наших занятий?». И совершенно неважно, что человек этого не заметил. Его сознание в ловушку уже попало, и он задумался, начал искать подтверждение заданному вопросу.
- Утверждение позитивной действительности, принимаемой на веру. Например: «Ну ты ведь умный человек, ты согласишься с этим». И оппонент уже не заинтересован спорить, так как этим он подставит под сомнение факт о том, что он умен.
- Вопросы-команды. То, чему мало кто перечит. Например, не «Сделай тише музыку», а «Не затруднит тебя немного приглушить звук?». Первый вариант звучит честнее, но выглядит как приказ. При озвучивании второго создается иллюзия, что человек считается с мнением оппонента, раз спрашивает его в вежливой форме, а не заставляет. Такому нельзя отказать.
- Оборот «чем… тем…». Связка того, что нужно самому манипулятору. К примеру: «Чем дольше вы находитесь за рулем этой машины, тем больше понимаете, что хотите стать ее владельцем».
И это — лишь некоторые оказываемые воздействие на человека НЛП-приемы. Но им всем может противостоять человек, разбирающийся в этой теме, и знающий, что манипуляторы есть везде. Достаточно лишь задать себе вопрос: «А мне действительно это нужно?». Сознание тут же отреагирует приведением аргументов.
Сфера рекламы
В ней можно найти массу примеров НЛП. Хорошие ролики, лозунги, билборды, вызывают такую реакцию у потребителя: вижу à хочу à покупаю. В их основу могут закладываться ценности — то, что представляет святость для целевой аудитории. Образы пожилых родителей, бабушек и дедушек, семьи, возлюбленных, домашнего комфорта… это все давит на чувственность потребителя.
Субмодальности — тоже одна из основ рекламных приемов НЛП. Акцент делается на кинестическое, аудиальное и визуальное восприятие. Все знают такие ролики. Удачно подобранные ракурсы, эффект отдаления и приближения, динамичное развитие сюжета, будоражащая сознание музыка… используется все, лишь бы потребитель почувствовал себя частью рекламы. Такой контекст легко пробуждает аппетит, призывает к действию, позволяет почувствовать себя обладателем рекламируемой вещи наяву.
Еще эффективной техникой является трюизм. То, что взято из авторитетных источников, можно сказать. То, что не вызовет недоверия. Например: «Одобрено всемирной ассоциацией…», «Медики рекомендуют…», «Сделано в Германии» и т. д.
Постановка целей по SMART
Данный метод тоже имеет прямое отношение к НЛП. Аббревиатура SMART отражает критерии, которым должна соответствовать цель, намеченная человеком к достижению. Итак, это:
- S — specific (конкретика).
- M — measurable (измеримость).
- А — attainable (достижимость).
- R — relevant (значимость).
- Т — time-bounded (соотношение с конкретными сроками).
Человек, расписывая цель по SMART, программирует себя самым непосредственным образом. Вот пример, как может выглядеть продуманная установка: «Что я хочу? Собственный бизнес, открыть свое заведение. Что для этого нужно? Заработать стартовый капитал, расписать план, возможно взять кредит на развитие. Какие у меня возможности для этого? Амбиции, перспективная работа и ранние успехи — значит, можно ставить цель выше предела возможностей. Зачем мне свой бизнес? Это — давняя мечта, а желания должны сбываться, плюс ко всему, я буду работать на себя, и иметь перспективу развития сферы в дальнейшем. Сколько у меня времени на подготовку? 2 года».
Это лишь один из примеров. В любом случае соответствие цели данным критериям увеличит вероятность ее реализации. Говоря простым языком, чтобы что-то изменить в жизни, надо иметь четкое представление о том, чего хочется конкретно.
Кстати, не будет лишним почитать некоторые книги по НЛП. В частности те, которые были написаны основателями метода. Рекомендуется к прочтению их труд под названием «Структура магии» в двух томах (1975 и 1976 годы). А еще можно прочитать книгу «Изменения в семье», написанный совместно с американским психологом Вирджинией Сатир.
Также стоящим трудом является «НЛП-практик». Авторы — Боб Боденхамер и Майкл Холл. Данная книга интересна как новичкам в теме НЛП, так и людям с навыками в данной сфере, желающим их улучшить.
Три страшные буквы — НЛП
Если в детстве нас стращают Бабой Ягой и Серым волком, то взрослых людей пугают уже более серьёзными вещами. Расшифровка – нейро-лингвистическое программирование – приводит в ещё большее замешательство и заставляет нервничать людей, которые никогда не слышали об этом направлении психотерапии. Ключевое слово «программирование» заставляет думать, что данная методика делает из людей зомби, подчиняя их воле психотерапевта. А вот как обстоит всё на самом деле, стоит разобраться более пристально.
Откуда что взялось?
А началось всё в семидесятые годы двадцатого столетия с наблюдательного математика Ричарда Бэндлера и его единомышленника лингвиста Джона Гриндера. Эти два человека, далёкие от мира психотерапии, выявили интересную закономерность, что если людей, страдающих различными фобиями, заставить взглянуть на пугающую ситуацию «со стороны», то страх пропадает, и появляется возможность избавиться от негативных переживаний. В своей работе два новатора использовали принцип копирования техник успешных терапевтов, включая известного своим недирективным гипнозом Милтона Эриксона, создателя гештальт-терапии Фрица Перлза, семейного психотерапевта Вирджинии Сатир и многих других людей, которые, по мнению основоположников нейро-лингвистического программирования, являлись примером человеческого совершенства.
Сейчас под нейро-лингвистическим программированием понимают метод эффективной коммуникации, открывающий людям большие возможности во многих областях жизни: личностный рост, творчество, взаимодействие с окружающими, карьера, бизнес, образование. В своё время именно это направление психотерапии произвело фурор, продемонстрировав, что бороться с фобиями можно за считанные минуты и безболезненно для клиента.
Сказка в реальности
В нейро-лингвистическом программировании учитывается уникальность каждого человека, его субъективное отношение ко всему с ним происходящему. У каждого из нас есть своя карта мира, которая помогает нам ориентироваться в нашем окружении. Но при этом существует убеждение, что если один человек умеет что-то делать, значит и других можно этому научить. И даже неудача или провал не рассматриваются с негативной точки зрения, а считаются плюсом – обратной связью, дополнительной информацией, объясняющей, что, возможно, путь решения проблемы выбран не совсем верный.
Исходя из этой установки, существует ещё один постулат нейро-лингвистического программирования, который выражается в том, что если не получается что-то сделать привычным способом, надо просто «зайти с другой стороны», попробовать осуществить задуманное немного иначе. То есть, достаточно изменить свои действия, чтобы получить совершенно другой результат.
Именно опираясь на эти и многие другие правила, нейро-лингвистическое программирование учит взаимодействовать с окружающим миром, считывая информацию, поступающую извне с опорой на собственный опыт. Тем более, что, по мнению НЛПистов, у каждого человека есть все необходимые жизненные ресурсы для достижения желаемого. Нужно только позаботиться о том, чтобы они оказались в нужное время в нужном месте.
Специалисты называют нейро-лингвистическо программирование эпистемологией – наукой о том, как мы познаём. Иначе можно назвать это наукой психологического программирования с помощью речи, если исходить из самого названия. Недаром используется в этом направлении психотерапии, и весьма активно, заимствованный у Милтона Эриксона метод языковых оборотов, позволяющий манипулировать людьми.
Главное, найти кнопку
Именно этот момент вызывает больше всего нареканий со стороны противников НЛП, говорящих о неэтичности манипуляций по отношению к окружающим. Но мы забываем, что так или иначе мы манипулируем теми, с кем общаемся. Иногда мы это делаем осознанно, когда хотим добиться чего-то конкретного, а порой это бывает совершенно незаметно для нас самих. Мы делаем комплимент, надеясь понравиться человеку, стараемся помогать окружающим в надежде, что в дальнейшем они не обойдут нас своим вниманием…
Но если перевести такое манипулирование в разряд бизнеса или личностного роста, то можно достичь удивительных успехов, которым будут поражаться другие люди. В нейро-лингвистическоv программированиb активно используют теорию о том, что наше сознание воздействует на наше тело, а значит, оно же может воздействовать и на окружающую нас действительность в той мере, в какой нам это необходимо.
Для кого-то нейро-лингвистическое программирование – это способ изменить своё существующее положение, избавиться от каких-то внутренних проблем. Другие видят в нейро-лингвистическом программировании, каким оно является сейчас, возможность стать кем угодно, избавиться от личностных границ. Третьи с его помощью стремятся понять то, что раньше казалось непостижимым. А кто-то пытается глобально воздействовать и на себя, и на своё окружение. В любом случае, у каждого человека своя цель в этой жизни, но чтобы достичь её, важно правильно распорядиться собственными ресурсами. А этому уже можно научиться у тех, кто умеет.
Нейролингвистическое программирование (НЛП) — презентация онлайн
1. Семинар 1_1 ПСД11-о
Выполнила:Котко Людмила Владимировна
2. Нейролингвистическое программирование (НЛП).
Система НЛП быларазработана с целью
выявления паттернов
в работе
выдающихся
специалистов в
области психологии,
и применения их
опыта, как синтеза
эффективных техник
на практике.
Ричард Бэндлер, 1950 г.р.
Джо Гриндер, 1940 г.р.
3. Специалистами, чей опыт было решено преобразовать в модели были:
Вирджиния Сатир (семейныйтерапевт),
Милтон Эриксон (эриксоноский
гипноз),
Фриц Перлз (гештальттерапевт).
4. Расшифровка термина НЛП.
«Нейро» — поведение берет начало вневрологических процессах видения,
слушания, восприятия запаха, вкуса,
прикосновения и ощущения. Мы
воспринимаем мир через пять своих
органов чувств
«Лингвистическое» – язык как средство
коммуникации.
«Программирование» – способы
организации идей и действий для
получения результата.
5. Карты и Фильтры
Карта – это не территория, которую онаописывает.
Мы обращаем внимание на те аспекты
мира, которые нас интересуют. и
игнорируем другие. Мир всегда богаче,
чем те идеи, которые мы имеем
относительно его.
6. Карты и Фильтры
Фильтрывосприятия
Социальный
фильтр
Индивидуальный
фильтр
НейроФизиологический
фильтр
7. Фильтры восприятия.
«Как выглядит кусок хлеба, зависит от того,голодны вы или сыты» (Арабская поговорка).
Нейрофизиологический фильтр (зрение,
слух, осязание, обоняние, вкус),
Социальный фильтр (язык,
национальность, обычаи, обряды, история
народа и государства, и др.),
Индивидуальный фильтр (мысли,
эмоции, черты характера, интересы,
привычки, симпатии, антипатии, способы
поведения, реакции, и т.д.).
8. Поведенческие рамки
Ориентация на результат, а не напроблемы. Поиск того, к чему
стремишься, поиск решений и их
использование для продвижения к цели.
Рамка обвинения. «Почему у меня
возникла эта проблема? Чья это ошибка?».
Вопрос «Как?» (понимание структуры
проблемы) вместо «Почему?» (поиск
причин и оправданий).
9. Поведенческие рамки
Обратная связь вместо неудачи.Нет неудачи – есть только результаты. Вы
можете использовать полученные
результаты для того, чтобы
скорректировать направление приложения
своих усилий. Обратная связь удерживает
цель в поле вашего зрения.
Рассматривать возможность, а не
необходимость. Сосредоточьтесь на том,
что вы можете сделать, на имеющихся
возможностях, а не на ограничивающих
вас обстоятельствах.
10. Поведенческие рамки
Позиция любопытства и удивлениявзамен притворства. Маленькие дети
учатся чрезвычайно быстро, и в этом им
помогает их любопытство.
Все мы имеем или можем создать
внутренние ресурсы, необходимые нам
для достижения наших целей. Вы с
большей вероятностью добьетесь успеха,
если будете действовать в предположении.
как будто это верно, нежели предполагая
обратное.
11. Основные мысли НЛП
Карта не соответствует местности.Опыт имеет свою структуру. Чтобы
изменить опыт, нужно поменять образец и
структуру.
Разум и тело – едины.
Все в природе взаимосвязано.
Если один человек смог сделать что-то, то
и любой другой сможет.
У нас есть все ресурсы, или их можно
создать.
12. Основные мысли НЛП
Человеческое поведение имеет некоторуюцель.
Позитивное намерение в поведении
человека.
Подсознание благожелательно к нам.
Человек совершает лучший из возможных
выборов, наилучшим образом.
Иметь выбор лучше чем не иметь.
Обучение происходит через действие.
13. Основные мысли НЛП
Если вам не удается то, что вы делаете, сделайтечто-либо другое.
14. Области применения НЛП
ОтношенияВлияние на сознание масс
Переговоры,
общение
Маркетинг
Обучение
Постановка целей
Психотерапия,
психосоматика
Личностный
рост
15. Четыре стадии научения:
1. Неосознанное незнание2. Осознанное незнание
3. Осознанное знание
4. Неосознанное знание
Процесс забывания — это переход от п. 4 к
п. 2. Процесс переучивания — это переход
от п. 2 обратно к п. 4, но уже с большим
количеством выборов. Мы исследуем
различные модели научения чуть позже.
Мы способны сознательно ухватить лишь
очень маленький кусочек из того объема
информации, который мир предлагает нам,
неосознанно мы реагируем и замечаем
значительно больше, чем осознаем.
Эта идея была подчеркнута в 1956 году
американским психологом Джорджем
Миллером в классической статье «Магическое
число семь, плюс-минус два?»
Наше подсознание — это все
жизнеобеспечивающие процессы нашего
организма, все то, чему мы уже научились,
наш прошлый опыт и все то, что мы могли бы
заметить, но не замечаем в настоящий
момент. Подсознание является значительно
более осведомленным, чем сознание.
17. Источники информации:
«Джозеф О’Коннор, Ян Мак-ДермоттПринципы NLP»
«С.Андреас и др. Миссия НЛП»
Бавистер, Викерс. Основы НЛП: Успех в профессиональной, общественной и личной жизни. Глава 1. Что такое НЛП
В этой главе вы узнаете:
- различные определения НЛП;
- что такое НЛП и как применять его на практике;
- что вам даст изучение НЛП
- как использовать эту книгу максимально эффективно.
Определение НЛП
- «Оно издает странные громкие звуки, похожие на те, что издают вместе заводской гудок и труба».
- «Оно огромно — почти, что с грузовик!»
- «Оно засасывает воду через длинный гибкий шланг — и вместе с ней все остальное».
- «Оно может бежать со скоростью 15 миль в час».
- «Из его лица торчат толстые белые иглы».
- «Оно может весить почти четыре тонны».
- «Оно серое и морщинистое».
Опишите слона так, чтобы человек, ни разу в жизни не видевший этого животного, представил себе, как оно выглядит, какие звуки издает и как ведет себя. Нелегкая задача! Все описания, приведенные выше, справедливы, но ни одно из них не дает полного представления о великолепном, могучем животном.
То же самое можно сказать и об НЛП. У этой науки множество граней, и сейчас мы познакомим вас лишь с несколькими определениями, которые давались ей на протяжении многих лет.
- «Наука об изучении и постижении мозговых кодов».
- «Процесс анализа совершенного поведения человека, который позволяет любому повторить достигнутые кем-то замечательные результаты».
- «Изучение структуры субъективного опыта».
- «Модель общения, которая основывается на выявлении и использовании стандартов мышления, влияющих на поведение человека и позволяющих повысить качество и эффективность его жизни».
- «Концепция и методология, с помощью которых создается ряд полезных приемов».
- «Модель того, как человек получает информацию, хранит и использует ее».
- «Революционный подход к человеческому общению и развитию».
- «Различие, которое порождает различие».
- «Технология моделирования, объектом исследования которой является набор факторов, которые определяют различие между поведением гения и среднего человека в одной и той же сфере деятельности».
- «Система описания, реструктурирования и трансформации действий и познавательной способности человека по отношению к миру, в котором он живет».
- «Набор процедур, мерилом ценности которых является их полезность, а не истинность».
- «Стратегия ускоренного обучения, позволяющая выявлять и использовать стандарты, существующие в окружающем мире».
- «Руководство по использованию мозга».
Понимание НЛП
Итак, это наука, процесс, изучение, модель, набор процедур, руководство, система, концепция, стратегия, технология. Неудивительно, что некоторые не в состоянии увидеть перспективу НЛП и его сущность. Отсутствие конкретного определения или описания означает, что каждый может дать собственное и, как вы очень скоро убедитесь, совершенно не похожее на остальные.
Точно так же, как вы начали получать представление о слоне, читая описания, приведенные в начале этого раздела, вы уже начали понимать, что такое НЛП. Мы написали эту книгу, чтобы после ее прочтения вы получили ясное представление о ключевых принципах, моделях и приемах НЛП, а также научились применять эти знания на практике.
Расшифровка НЛП
Возможно, самый простой способ объяснить, что же такое НЛП, будет сказать, что это форма прикладной психологии. Такое определение нельзя назвать всеобъемлющим, но именно таков аспект использования многими людьми этой науки. НЛП помогает им достигать поставленных целей и добиваться успеха в личной жизни и профессиональной карьере.
Еще одна проблема, связанная с НЛП, — это техническая природа самого названия, К счастью, сегодня подобное уже никого не пугает. Однако многие и сейчас при упоминании нейролингвистического программирования удивленно поднимают брови. Хотя многим хотелось бы, чтобы идеологи этой науки дали ей более простое, понятное и, может быть, сексуальное название, выражение «нейролингвистическое программирование» в точности отражает ее глубинное содержание. Давайте же посмотрим, что означают эти страшные и непонятные слова.
Нейро
Частица «нейро» указывает на причастность к неврологии, то есть обработке информации, получаемой от пяти органов чувств и поступающей в мозг посредством нервной системы.
Лингвистическое
Этот термин связан с использованием языковых систем — не только слов, но и систем символов, включающих в себя жесты и позы, для кодирования, организации и понимания смысла нашего внутреннего представления о мире, а также для общения — как внутреннего, так и внешнего.
Программирование
Термин «программирование» связан с обработкой информации. Чаще всего он применяется в мире компьютеров для описания способов хранения, кодирования и обработки информации. Путем удаления, обновления или установки нашего психического программного обеспечения мы можем изменять собственный образ мышления, а следовательно, и действия.
Связав все три термина воедино, вы получите определение нейролингвистического программирования. Эта наука самым тесным образом связана с процессами создания нашего личного опыта — внутреннего представления о внешнем мире «реальности» посредством языка и собственных нейронов.
Модель НЛП
Мы воспринимаем мир через пять чувств: зрение, слух, осязание, обоняние и вкус. Поскольку информации поступает очень много, мы сознательно или бессознательно удаляем то, на что нам не хочется обращать внимание. Мы фильтруем информацию, опираясь на опыт прошлого, а также на собственные ценности и убеждения. Результат подобной фильтрации оказывается неполным и неточным, поскольку в самом начале многие важные элементы были удалены, а остальные обобщены или искажены. Отфильтрованная информация образует нашу внутреннюю карту, которая влияет на физиологию человека и «состояние бытия». Естественно, что такая карта влияет и на наше поведение.
Модель НЛП
История НЛП
Сердцем НЛП является «моделирование» человеческого совершенства. Эта наука возникла в начале 70-х годов ХХ века. Основателями НЛП можно считать Ричарда Бандлера и Джона Гриндера из университета Калифорнии.
Бандлеру, студенту математического факультета, увлекавшемуся компьютерами, попали в руки аудио- и видеокассеты с записями семинаров Фрица Перлза, отца гештальттерапии, и Вирджинии Сатир, основоположницы семейной терапии. Бандлер обнаружил, что, копируя определенные аспекты поведения и речи этих людей, ему удается достичь аналогичных результатов. Тогда он решил создать группу гештальттерапии в студенческом кампусе.
Джон Гриндер, профессор лингвистики, заинтересовался способностями Бандлера. Он сказал студенту: «Если вы объясните мне, как делать то, что вы делаете, я объясню вам, что именно вы делаете».
Джон Гриндер совместно с Джудит Делозье и другими учеными разработал «Новый кодекс» НЛП. Если «классический», или «старый», кодекс НЛП сосредоточивался преимущественно на лингвистике, гештальттерапии и системной теории, «Новый кодекс» опирался на информационную теорию и книги Карлоса Кастанеды. В результате были созданы новые модели, стандарты и приемы, в том числе позиции восприятия. В те дни одним из наиболее активных соратников Гриндера была Кармен Бостик Сент-Клер.
Студент калифорнийского университета Роберт Дилтс был одним из первых последователей Бандлера и Гриндера. Он сразу же воспринял новые идеи. Именно он разработал и опубликовал огромное количество стандартов перемен и моделей.
В ХХI веке НЛП продолжает развиваться. Каждый год появляются все новые модели и приемы, а количество разработчиков и увлеченных новой наукой растет с каждым днем.
НЛП в действии
Изначально НЛП применялось для повышения эффективности терапии. Неудивительно, что основной интерес к этой науке проявили люди, занимавшиеся соответствующими и смежными профессиями. Применение НЛП позволяло эффективно бороться с фобиями, избавлять людей от нежелательных привычек и справляться с травмами. НЛП использовали для снятия стресса, повышения уверенности в себе и борьбы с различными проблемами обычных людей.
Но по мере развития НЛП сфера применения этой науки значительно расширялась.
Первоначально крупный бизнес сопротивлялся внедрению нового течения, но затем принял его с распростертыми объятиями. Концепции и процессы НЛП сегодня составляют суть многих программ переподготовки в известных фирмах. Поскольку НЛП в основном сосредоточено на полезных в реальной жизни навыках и умениях, изучение этой науки позволяет отдельным людям и целым командам достичь поставленных перед собой целей в области менеджмента, продаж, общения, продвижения новых товаров и обучения.
Принципы НЛП могут применяться в любой сфере человеческой деятельности, поэтому сегодня они используются также в образовании, здравоохранении и спорте.
Что вам даст изучение НЛП
Надо сказать, что своим успехом НЛП обязано тем великолепным результатам, которых с его помощью добиваются отдельные люди. Тысячи людей во всем мире читают книги по НЛП, посещают семинары и курсы, и это помогает им добиваться поставленных перед собой целей. Что же НЛП может дать вам? Вот лишь некоторые результаты, которых вы вправе ожидать.
- НЛП поможет вам понять, чего вы хотите и как этого добиться.
- НЛП поможет вам построить хорошие, прочные личные отношения.
- НЛП наделит вас уверенностью в себе и значительно повысит вашу самооценку.
- НЛП укрепит вашу способность общаться с другими людьми.
- НЛП сделает вас хозяином собственной жизни.
- НЛП поможет вам функционировать на пике своих способностей.
- НЛП изменит ваши убеждения о себе и об окружающем мире.
- НЛП пробудит в вас творческое начало.
- НЛП поможет вам добиться личных и профессиональных целей.
И это только начало. Поверьте, мы вас не обманываем. НЛП работает. Очень скоро вы поверите нам. Обретя контроль над собственными мыслями, вы сможете полностью отказаться от негативного мышления и достичь таких результатов, которые сегодня кажутся вам невозможными.
А теперь проведем опыт…
Но для этого нужно применить принципы НЛП на практике. Хотя читать книги по НЛП тоже полезно, настоящих результатов можно достичь только в реальной жизни. Давайте прямо сейчас проведем эксперимент, который покажет вам, насколько эффективны совершенно простые приемы.
Для начала вспомните что-нибудь не совсем приятное. Вспомните, как вам не удалось добиться желаемого результата, как вас постигло разочарование. Вспомните моменты, когда вы чувствовали себя несчастным или запутавшимся. Мысленно вернитесь к произошедшему, попробуйте увидеть, услышать и почувствовать все то, что случилось с вами тогда.
А теперь станьте режиссером собственного ментального кино. Вы можете изменить все, что захотите. Может быть, вам легче будет представить эту ситуацию в виде мультфильма. Снова мысленно вернитесь к неприятному опыту, но на этот раз прокрутите его, словно это «Том и Джерри» или «Симпсоны». Можете озвучить роли людей, присутствующих в вашем воспоминании.
А теперь попробуем добавить музыку. Выберите то, что вам нравится. Музыка может напоминать игру тапера, озвучивавшего старые немые фильмы. Прокрутите в памяти прежнее воспоминание в сопровождении музыки, настроенной на желаемую громкость.
То, чем вы занимаетесь, называется «перекодированием» данного воспоминания, хотя вам и незнаком подобный термин. Постепенно ваши чувства, связанные с воспоминанием, изменятся. Воспоминание перестанет тревожить вас, а ощущение дискомфорта заметно ослабеет.
А теперь вспомните другую ситуацию. Вспомните, как вы ссорились или спорили с другим человеком, оживите чувства, возникшие тогда в вашей душе. А теперь прокрутите воспоминание снова, на сей раз избрав себе роль спортивного комментатора. Представьте, что вы сидите над сценой и описываете все, что происходит между вами и другим человеком. Поскольку ваша задача — не только информировать слушателей, но еще и развлекать их, вам захочется подчеркнуть все то, что покажется интересным или необычным.
Когда вы будете проигрывать в памяти происходящее (например, ссору с коллегой по работе), ваш комментарий может выглядеть примерно так:
— Итак, мы снова в кабинете Джилл и снова становимся свидетелями ссоры Джека с бухгалтерами. Джилл, похоже, никогда не перестанет жаловаться. И ничего удивительного. Но Джек готов к ее напору. Он достает бумаги из своей папки. Джилл приводит новые аргументы
Постарайтесь оживить свой комментарий. Добавьте веселые замечания. Войдите в роль комментатора. Вам потребуется не больше минуты, чтобы правильно оценить происходящее. А теперь вновь погрузитесь в воспоминания и прокрутите сцену снова. На этот раз посмотрите на нее собственными глазами. Почти наверняка на этот раз вы почувствуете себя не так плохо. Теперь вам станет ясно, что в подобной ситуации вести себя нужно по-другому. И когда в будущем вы вновь вступите в конфликт, то разрешите его иначе.
Слоны, о которых мы говорили в начале этой главы, ничего не забывают. Люди же устроены по-другому. Меняя свои воспоминания, восприятия, убеждения и мысли, мы можем полностью изменить свой образ действий. Новое поведение позволит нам жить той жизнью, какая нам нравится. И в этом сила НЛП.
Как пользоваться этой книгой
Если вы новичок в области НЛП, советуем прочитать нашу книги последовательно, главу за главой. Это объясняется тем, что в последних главах используются понятия, определения которых даются ранее.
Чтобы чтение этой книги принесло вам пользу, останавливайтесь и выполняйте упражнения, которые мы включили в различные главы. Тогда вы сможете почувствовать подлинную природу НЛП. Понять теорию — это одно, применить ее на практике — это совсем другое. Вам никогда не научиться играть на саксофоне, если вы будете просто читать учебник, не прикасаясь к инструменту. То же самое справедливо и в отношении НЛП. Единственный способ познать эту науку — применить ее на практике.
НЛП в действии
- Выполните упражнения, описанные в конце этой главы, поочередно погружаясь в различные воспоминания.
- Подумайте о тех областях своей жизни, которые вам хотелось бы изменить. Что именно вам хотелось бы поменять и каким образом?
Пользователь, раз уж ты добрался до этой строки, ты нашёл тут что-то интересное или полезное для себя. Надеюсь, ты просматривал сайт в браузере Firefox, который один правильно отражает формулы, встречающиеся на страницах. Если тебе понравился контент, помоги сайту материально. Отключи, пожалуйста, блокираторы рекламы и нажми на пару баннеров вверху страницы. Это тебе ничего не будет стоить, увидишь ты только то, что уже искал или ищешь, а сайту ты поможешь оставаться на плаву.
Исполнение 1 (последний знак в артикуле «S») цинкование по методу Сендзимира. Толщина цинкового покрытия от 10 до 18 мкм. Исполнение 2 (последний знак в артикуле «Z») горячее цинкование. Толщина цинкового покрытия не менее 55 мкм. Исполнение 4 — сталь нержавеющая марки AISI 304. Исполнение 5 — сталь нержавеющая марки AISI 316L. |
нлп, нейро лингвистическое программирование
нлп
НЛП
Расшифровка.
НЛП — эта аббревиатура стала довольно распространённой в наше время. Что же она значит? Расшифровываются эти три буквы, как нейро-лингвистическое программирование.
Откуда же взялось это название? По одной из версии Джон Гриндер и Ричард Бэндлер — основатели модели НЛП — заперлись в бревенчатой избушке, что в Калифорнийских горах и поставили себе вопрос: «Как же назвать придуманный нами метод?». Гриндер — по образованию лингвист, а Бэндлер – математик и программист. И их объединяло занятие по исследованию возможностей мышления и психофизиологии, поэтому они объединили в название этого метода три его ключевых звена:
Нейро — то есть определяет путь использования наших органов чувств. Наша физиология и наша нервная система функционируют как одно целое. НЛП расширяет возможности нашей неврологической системы и учит управлять ею.
Лингвистическое — определяет связь между языком, используемым человеком, и его жизненным опытом. То есть наши лексические модели показывают наш образ мышления и, можно сказать, наш внутренний мир.
Программирование — помогает исследовать и изменять переживания и опыт.
Зарождение.
В середине семидесятых на психотерапевтическую сцену взошли два молодых человека — Джон Гриндер и Ричард Бэндлер, которые начали обучать новому методу воздействия на человека, его поведение и ощущения. Новое программное течение, несмотря на поддержку таких звёзд, как Сатир, Эриксон и Бэйтсон, полностью игнорировалось академическими представителями. Однако вне стен университетов НЛП нашло широкий отклик в применении. Кроме того, НЛП продолжало исследования в области коммуникаций, и поэтому НЛП развивалось как коммуникативная модель.
Что даёт НЛП?
НЛП помогает скорее и результативнее достигать своих целей. Эффективные приёмы общения в духе НЛП позволяют быстрее добиваться взаимопонимания у окружающих. При этом активизируются те умственные способности, о которых вы даже не подозревали.
Наконец, благодаря нему можно научится управлять состоянием своего разума и психики.
Такой уровень самоконтроля приносит уверенность в себе и повышает самооценку. Более того, НЛП открывает более неординарный и творческий подход к решению любых проблем.
НЛП уделяет практике гораздо больше внимания, чем теории. Как правило, новички замечают, что суть теории открывается только после применения приёма.
И напоследок, НЛП – это то, благодаря чему поразительные скрытые возможности системы «разум-тело» становятся реальностью. НЛП предлагает структуру, которая поможет упрочнить ваше сознание, привить ему привычку достигать обозначенных целей.
Автор: Ольга Пашкевич
для сайта therapy.by
Порождающая вероятностная модель OCR для NLP приложений -Публикации
Резюме
В этой статье мы представляем порождающую вероятностную модель оптического распознавания символов (OCR), которая описывает непрерывный процесс в канале с помехами, прогрессируя от производства истинного текста через его преобразование в продукцию системы OCR с помехами. Модель разработана для исправления ошибок с фокусом на обработке выходных данных черных ящиков систем OCR с целью более полезного использования для задач NLP. Мы представляем применение модели, демонстрируя способность ее значительно уменьшать процент ошибок в словах и символах и представлять результаты оценки путем автоматического включения словарей перевода из печатных текстов.
Введение
Хотя много текста теперь доступно в электронной форме, большое количество информации все еще существует, прежде всего (или только), в печатной. Применения NLP технологии, таких как неотредактированный перевод документа (Holland и Schlesiger, 1998) или исправление информации в сканированных документах (Croft и другие, 1994), могут значительно зависеть от качества оптического распознавания символов. Doermann (1998) комментирует: ” Хотя понятие сырой базы данных изображения документа привлекательно, всесторонние решения, которые не требуют полного и точного преобразования в машинно-считываемую форму продолжают быть неуловимы для практических систем”.
К сожалению, продукция коммерческих систем OCR является далеко не совершенной, особенно когда рассматриваемый язык является бедным ресурсом (Kanungo и другие). Попытка присвоить новые ресурсы языка из твердой копии, используя OCR (Doermann и другие, 2002) сталкивается с проблемой того, что является более первичным. Проблема состоит в том, что большинство систем OCR являются черными ящиками, которые не позволяют использовать настройку или переквалификацию — Baird (1999, (Frederking, 1999)). Недостаток способности к быстрой переориентировке OCR/NLP приложений на новые языки — “в значительной степени из-за монолитной структуры текущей технологии OCR, где специфические условия языка перемешиваются с другими кодами”.
В этой статье мы описываем завершенную вероятностную порождающую модель для OCR, обусловленную:
- Потребностью в обращении с цельными системами OCR;
- сосредоточением на OCR как компоненте в приложениях NLP;
- конечной целью использования OCR в присвоении ресурсов для новых языков из печатных текстов.
После непосредственного представления модели, мы обсуждаем выполнение модели, обучение, и ее использование для исправления пост-OCR ошибки. Затем мы представляем две оценки: одну для автономного OCR-исправления, и другую, в котором OCR используется с целью приобретения словаря перевода печатного текста. В заключение мы обсуждаем смежные исследования и даем указания для будущей работы.
Модель
Порождающие модели с “шумным каналом” связывают наблюдаемую последовательность О с определенной последовательностью, в данном случае, знаков и слов W. Эти отношения моделируются как P (W, O) и разлагаются в соответствии с Правилом Бэйса в шаги, которые моделируются как P (W) (исходная модель) и P (W|O), (включая пошаговое порождение O от W. Каждый шаг и подшаг полностью модульные, так что можно гибко использовать существующие подмодели или изобретать новые в случае необходимости.
Мы начнем с предварительных определений и примечания, проиллюстрированных на рисунке 1. Истинная последовательность слов W =(W1, …, Wr) соответствует истинной последовательности знаков С = (С1, …, Сn) и выходящая последовательность знаков системы OCR задается O = (О1, …, Оm).
Рис. 1. Сегментация слов и знаков
Сегментация истинной последовательности знаков в подпоследовательности р представлена как (С1, …, Сp). Границы при сегментировании возможны только между знаками. Подпоследовательности обозначены с использованием позиций сегментации а = (а1 , …, аp-1), где ai < ai+1 и ap = n. ai определяют подпоследовательности знаков C1 = (Cai-1, …, Cai). Число сегментов р не должно быть равно числу слов r и Сi не должно быть словом в W.
Соответственно, сегментация последовательности знаков в OCR в q подпоследовательность задается (O1, …, Oq). Подпоследовательности обозначены b = (b1, …, bq-1), где bj < bj+1 , b0 = 0 и bq = m. b определяет подпоследовательность знаков Oj = Obj-1, …, Ob.
Отрезки выравнивания – это пары соответствующей истины и подпоследовательности OCR: <oi, Ci>, i = 1, …, p.
Порождение истинной последовательности слов
Порождающий процесс начинается с производства истинной последовательности слов W с вероятностью P (W), например, W = < this, is, an, example, …>. Моделирование основной последовательности на уровне слова облегчает интеграцию с моделями NLP, что является нашей окончательной целью. Например, распределение P (W) может быть определено, при использовании n-мерной диаграммы, грамматического разбора или любого другого инструмента моделирования из арсенала языка.
От слов к знакам
Первым шагом в преобразовании W в O является порождение последовательности знаков С, моделируемой как P (C|W). Этот шаг приспосабливает знаковую природу систем OCR и обеспечивает место для преобразования различных последовательностей знаков в ту же самую последовательность слов или наоборот (например, сегментация неоднозначных слов в китайском языке). Если рассматриваемый язык обнаруживает явные границы слова (например, печатные слова разделены пробелами), то мы выводим «#», чтобы представить видимые границы слова. Возможным С для нашего примера W является С = «This#is#an#example».
Сегментация
Подпоследовательности Ci произведены от С путем подбора ряда пограничных положений, а. Этот подшаг, моделируемый как P (a|C, W) определяется тем фактом, что большинство систем оптического распознавания сначала выполняют сегментацию изображения, а затем выполняют распознавание на пословном уровне. Для языка с четкими границами между словами (или надежными символами или алгоритмами сегментации), можно просто использовать места для сегментации последовательности знаков не вероятностным способом. Однако, системы оптического распознавания могут делать ошибки при сегментации и получающиеся в результате подпоследовательности могут или не могут быть словами. Поэтому необходима модель вероятностной сегментации, которая исправляет ошибки слияния/расщепления слов. Если граница сегмента совпадает с границей слова, маркер границы слова «#» считается частью сегмента с обеих сторон. Возможный пример для такой сегментации: а = <8, 11, 13>, т.е. С1 = «This#is#», С2 = «#an#», С3 = «#ex», С4 = «ample». Следует отметить ошибку в слиянии в сегменте 1 и ошибку в расщеплении сегментов 3 и 4.
Преобразование последовательности знаков
Наша характеристика заключительного шага, преобразования в наблюдаемую последовательность знаков, обуславливается необходимостью моделирования ошибки распознавания системами OCR на уровне знаков. Мы моделируем каждую подпоследовательность Ci как преобразовываемую в подпоследовательность OCR O1, таким образом: P (O, b|a, C, W) = P (<o1, …, Oq>|a, C, W). Мы предполагаем, что каждый Ci преобразован независимо, позволяя
Любая модель ошибки в строке символов может использоваться для определения P (Oi|Ci), например Brill и Moore (2000) или Kolak и Resnik (2002). Это также логическое место применения скрытых переменных при наличии подобных в системе OCR. Мы предполагаем, что # всегда удаляется (моделирование ошибок слияния) и никогда не может быть вставлено. Пограничные маркеры на границах сегмента переставлены, если сегменты соединены, чтобы создать О, так как они будут частью вывода системы OCR (не как #, а более вероятно, как пробелы). Возможный результат для нашего примера: O1 = «Tlmsis#an#ex#am l e».
Допуская независимость индивидуальных шагов, завершенная модель P (O, b, a, C, W) = P (O, b|a, C, W) P (a|C, W) P (C|W) P (W) P (O, W) может быть вычислена суммированием всех возможных b, a, С, что может преобразовать W в О:
Проект по внедрению
Мы внедрили порождающую модель, используя структуру конечной государственной модели (FSM), которая обеспечивает прочную теоретическую основу, легкость интеграции различных компонентов и сокращение времени выполнения благодаря доступным инструментальным комплектам типа AT&T FSM (Mohri и др., 1998). Каждый шаг представлен как отдельный FSM, затем конечные FSM соединяются вместе для создания единого FSM, который кодирует всю модель. Все завершается оцениванием деталей параметров и расшифровкой.
Оценка параметров
Специфическое определение модели и методы оценки предполагают, что доступен объем обучения, содержащий три элемента (O, C, W).
Порождение истинной последовательности слов
Мы используем n-сегментную модель языка в качестве исходной модели для оригинальной последовательности слов: открытый словарь, триграмную модель языка при использовании инструментального комплекта CMU-Cambridge (Clarkson и Rosenfeld, 1997). Модель проходит апробацию на W из данных режима обучения при использовании дисконтированной опции сглаживания Виттена-Белла, и будучи кодируемой как простой FSM. Мы предложили оценивать эффективность нашей модели, если все верные слова находятся в ее словаре. Поэтому, хотя модель языка проходит апробацию только на данных режима обучения, слова в испытательном наборе включены в модель языка FSM и рассматриваются как скрытый словарь.
От слов к знакам
Мы производим три различных варианта последовательности знаков для каждого слова: верхний регистр, нижний регистр, и ведущий регистр (например, this This > {THIS, this, This}). Для каждого слова, распределение разновидностям регистра осваивается из пары <w, c=»»>в корпусе режима обучения. Для слов, которые не значатся в корпусе, или не имеют достаточного количества вхождений, чтобы позволять надежную оценку, мы отступаем к независимым от слов вероятностям варианта регистра.
Сегментация
При текущем выполнении независимое решение принимается для каждой пары знаков, в независимости от постановки границ между ними. Чтобы сократить поиск пробелов, мы ограничиваем количество постановок границ до одной на слово, разрешая двухканальное деление уровня слов. Возможность постановки сегментной границы между двумя знаками оценивается по корпусу режима обучения методом дисконтирования Виттена-Белла (Witten и Bell, 1991), который используется при обращении с невидимыми парами знаков.
Преобразование последовательности знаков
Этот шаг осуществляется как вероятный процесс редактирования строки. Таблицы для редактирования оцениваются при использовании стиля Viterbi для обучения на парах (О, С) в данных режима обучения. Настоящее выполнение учитывает замену, удаление, и ошибки вставки, и не используют контекстные знаки. Рис. 2 показывает фрагмент взвешенной модели FSM для P (Oi|Ci): это показывает, как наблюдаемый Oi haner может быть преобразован на основе banker или hacker.
Заключительная чистка
На этой стадии специальные символы, вставленные в последовательность знаков, удаляются, и формируется заключительная последовательность выхода. Например, символы границ между сегментами удаляются или заменяются пробелами в зависимости от языка.
Расшифровка
Расшифровка – это процесс обнаружения «лучшего» слова для наблюдаемого (О|b), а именно
Кликните на изображении для просмотра изображения в полный размер
Рисунок 2: фрагмент взвешенной модели FSM для P (Oi|Ci)
Расшифровка в пределах структуры FSM является прямой: мы сначала составляем все компоненты модели в последовательность, а затем переставляем результат FSM. Это осуществляет отдельный преобразователь, который принимает последовательность знаков OCR как вход и возвращает все возможные последовательности истинных слов на выходе наряду с их весом. Тогда можно просто кодировать последовательность знаков OCR как FSM и формировать их модельным преобразователем для выполнения расшифровки. Обратите внимание, что одна и та же последовательность на выходе может быть преобразована через многократные маршруты, и мы должны суммировать все маршруты, чтобы найти полную вероятность этой последовательности. Это может быть достигнуто определением выхода FSM, преобразованного процессом расшифровки. Однако, по практическим причинам, мы сначала находим N-лучшие дорожки в итоговом FSM и затем комбинируем те, которые производят тот же самый выход. Конечная структура или N-лучший список легко объединяется с другими вероятностными моделями по словам, или наиболее вероятная последовательность может быть использована на выходе процесса правки в пост-OCR.
Источник: http://www.aclweb.org
Как реализовать декодер поиска луча для обработки естественного языка
Последнее обновление 3 июня 2020 г.
Задачи обработки естественного языка, такие как создание заголовков и машинный перевод, включают создание последовательностей слов.
Модели, разработанные для этих проблем, часто работают, генерируя распределения вероятностей по словарю выходных слов, и именно алгоритмы декодирования выбирают распределения вероятностей для генерации наиболее вероятных последовательностей слов.
В этом руководстве вы откроете для себя алгоритмы декодирования жадного поиска и поиска луча, которые можно использовать для задач генерации текста.
После прохождения этого руководства вы будете знать:
- Проблема декодирования по задачам генерации текста.
- Алгоритм декодера жадного поиска и как его реализовать на Python.
- Алгоритм декодера поиска луча и как его реализовать на Python.
Начните свой проект с моей новой книги «Глубокое обучение для обработки естественного языка», включая пошаговые руководства и файлы исходного кода Python для всех примеров.
Приступим.
- Обновление май / 2020 : Исправлена ошибка в реализации поиска луча (спасибо всем, кто указал на это, и Константину Вайссеру за его чистое исправление)
Как реализовать декодер поиска луча для обработки естественного языка
Фотография See1, Do1, Teach2, некоторые права защищены.
Декодер для генерации текста
В задачах обработки естественного языка, таких как создание заголовков, обобщение текста и машинный перевод, требуется предсказание последовательности слов.
Модели, разработанные для этих типов задач, обычно выводят распределение вероятностей по каждому слову в словаре для каждого слова в выходной последовательности. Затем процесс декодирования преобразует вероятности в окончательную последовательность слов.
Вы, вероятно, столкнетесь с этим при работе с повторяющимися нейронными сетями в задачах обработки естественного языка, где текст генерируется в качестве вывода. Последний уровень в модели нейронной сети имеет по одному нейрону для каждого слова в выходном словаре, а функция активации softmax используется для вывода вероятности того, что каждое слово в словаре будет следующим словом в последовательности.
Декодирование наиболее вероятной выходной последовательности включает поиск по всем возможным выходным последовательностям на основе их правдоподобия. Размер словарного запаса часто составляет десятки или сотни тысяч слов или даже миллионы слов. Следовательно, проблема поиска экспоненциально зависит от длины выходной последовательности и является трудноразрешимой (NP-полной) для полного поиска.
На практике методы эвристического поиска используются для возврата одной или нескольких приближенных или «достаточно хороших» декодированных выходных последовательностей для данного предсказания.
Поскольку размер графа поиска экспоненциально зависит от длины исходного предложения, мы должны использовать приближения, чтобы найти решение эффективно.
— стр. 272, Справочник по обработке естественного языка и машинному переводу, 2011 г.
Последовательности слов-кандидатов оцениваются на основе их правдоподобия. Обычно для поиска последовательностей текста-кандидатов используют жадный поиск или поиск по лучу. Мы рассмотрим оба этих алгоритма декодирования в этом посте.
Каждое индивидуальное предсказание имеет ассоциированную оценку (или вероятность), и нас интересует выходная последовательность с максимальной оценкой (или максимальной вероятностью) […] Одним из популярных приближенных методов является использование жадного предсказания, при котором на каждом этапе берется элемент с наивысшей оценкой. Хотя этот подход часто бывает эффективным, он явно неоптимален. Действительно, использование лучевого поиска в качестве приблизительного поиска часто работает намного лучше, чем жадный подход.
— страница 227, Методы нейронных сетей в обработке естественного языка, 2017.
Нужна помощь с глубоким обучением текстовых данных?
Пройдите мой бесплатный 7-дневный ускоренный курс электронной почты (с кодом).
Нажмите, чтобы зарегистрироваться, а также получите бесплатную электронную версию курса в формате PDF.
Начните БЕСПЛАТНЫЙ ускоренный курс прямо сейчас
Декодер жадного поиска
Простое приближение — использовать жадный поиск, который выбирает наиболее подходящее слово на каждом шаге выходной последовательности.
Преимущество этого подхода в том, что он очень быстр, но качество конечных выходных последовательностей может быть далеко от оптимального.
Мы можем продемонстрировать подход к декодированию с помощью жадного поиска на небольшом надуманном примере на Python.
Мы можем начать с задачи прогнозирования, которая включает последовательность из 10 слов. Каждое слово прогнозируется как распределение вероятностей по словарю из 5 слов.
# определяем последовательность из 10 слов в словарном запасе из 5 слов данные = [[0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0.4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1]] data = массив (данные)
# определить последовательность из 10 слов в словаре из 5 слов data = [[0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1 , 0,2, 0,3, 0.4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [ 0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1]] данные = массив (данные) |
Мы будем предполагать, что слова были закодированы целым числом, так что индекс столбца можно использовать для поиска связанного слова в словаре.Следовательно, задача декодирования становится задачей выбора последовательности целых чисел из распределений вероятностей.
Математическая функция argmax () может использоваться для выбора индекса массива, имеющего наибольшее значение. Мы можем использовать эту функцию для выбора индекса слова, который наиболее вероятен на каждом этапе последовательности. Эта функция предоставляется непосредственно в numpy.
Приведенная ниже функция greedy_decoder () реализует эту стратегию декодирования с помощью функции argmax.
# жадный декодер def greedy_decoder (данные): # индекс наибольшей вероятности для каждой строки return [argmax (s) для s в данных]
# жадный декодер def greedy_decoder (data): # индекс наибольшей вероятности для каждой строки return [argmax (s) для s в данных] |
Собрав все это вместе, полный пример, демонстрирующий жадный декодер, приведен ниже.
из массива импорта numpy из numpy import argmax # жадный декодер def greedy_decoder (данные): # индекс наибольшей вероятности для каждой строки return [argmax (s) для s в данных] # определяем последовательность из 10 слов в словарном запасе из 5 слов данные = [[0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0.1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1]] данные = массив (данные) # декодировать последовательность результат = greedy_decoder (данные) print (результат)
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 18 19 20 21 22 23 |
из массива импорта numpy из массива импорта numpy argmax
# жадный декодер def greedy_decoder (data): # индекс для наибольшей вероятности каждой строки return [argmax (s) для s в данных]
# определить последовательность из 10 слов в словаре из 5 слов data = [[0.1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1]] данные = массив (данные) # последовательность декодирования результат = greedy_decoder (данные) печать (результат) |
При выполнении примера выводится последовательность целых чисел, которая затем может быть отображена обратно в слова в словаре.
[4, 0, 4, 0, 4, 0, 4, 0, 4, 0]
[4, 0, 4, 0, 4, 0, 4, 0, 4, 0] |
Декодер поиска луча
Еще одна популярная эвристика — поиск по лучу, который расширяет жадный поиск и возвращает список наиболее вероятных выходных последовательностей.
Вместо того, чтобы жадно выбирать наиболее вероятный следующий шаг при построении последовательности, поиск луча расширяет все возможные следующие шаги и сохраняет k наиболее вероятным, где k является параметром, задаваемым пользователем и управляет количеством лучей или параллельный поиск по последовательности вероятностей.
Алгоритм поиска локального луча отслеживает k состояний, а не только одно. Он начинается с k случайно сгенерированных состояний. На каждом шаге генерируются все преемники всех k состояний. Если какая-либо из них является целью, алгоритм останавливается. В противном случае он выбирает k лучших последователей из полного списка и повторяет.
— страницы 125-126, Искусственный интеллект: современный подход (3-е издание), 2009 г.
Нам не нужно начинать со случайных состояний; вместо этого мы начинаем с k наиболее вероятных слов в качестве первого шага в последовательности.
Общие значения ширины луча: 1 для жадного поиска и значения 5 или 10 для общих проблем эталонных тестов при машинном переводе. Большая ширина луча приводит к лучшей производительности модели, поскольку несколько последовательностей-кандидатов увеличивают вероятность лучшего совпадения целевой последовательности. Эта повышенная производительность приводит к снижению скорости декодирования.
В NMT новые предложения переводятся простым декодером поиска луча, который находит перевод, который приблизительно максимизирует условную вероятность обученной модели NMT.Стратегия поиска луча генерирует перевод слово за словом слева направо, сохраняя при этом фиксированное количество (луч) активных кандидатов на каждом временном шаге. Увеличивая размер луча, можно повысить эффективность трансляции за счет значительного снижения скорости декодера.
— Стратегии поиска луча для нейронного машинного перевода, 2017.
Процесс поиска может останавливаться для каждого кандидата отдельно либо по достижении максимальной длины, по достижению маркера конца последовательности, либо по достижению пороговой вероятности.
Приведем конкретный пример.
Мы можем определить функцию для выполнения поиска луча для заданной последовательности вероятностей и параметра ширины луча k . На каждом шаге каждая последовательность-кандидат дополняется всеми возможными следующими шагами. Каждый возможный шаг оценивается путем умножения вероятностей. Выбираются последовательности k с наиболее вероятными вероятностями, а все другие кандидаты удаляются. Затем процесс повторяется до конца последовательности.
Вероятности — это маленькие числа, и их умножение дает очень маленькие числа. Чтобы избежать потери значимости чисел с плавающей запятой, натуральный логарифм вероятностей суммируется, что позволяет сохранять числа больше и удобнее. Кроме того, поиск часто выполняется путем минимизации оценки. Эта последняя настройка означает, что мы можем отсортировать все последовательности-кандидаты в порядке возрастания по их баллам и выбрать первые k в качестве наиболее вероятных последовательностей-кандидатов.
Функция beam_search_decoder () ниже реализует декодер поиска луча.
# поиск луча def beam_search_decoder (данные, k): последовательности = [[список (), 0,0]] # пройдемся по каждому шагу последовательно для строки в данных: all_candidates = список () # развернуть каждого текущего кандидата для i в диапазоне (len (последовательности)): seq, score = последовательностей [i] для j в диапазоне (len (строка)): кандидат = [seq + [j], оценка — журнал (строка [j])] all_candidates.добавить (кандидат) # упорядочить всех кандидатов по баллам заказанный = отсортированный (all_candidates, key = lambda tup: tup [1]) # выбрать k лучших последовательности = заказанные [: k] возвращаемые последовательности
1 2 3 4 5 6 7 8 9 10 11 12 13 140002
14 |
# поиск лучей def beam_search_decoder (data, k): последовательностей = [[list (), 0.0]] # пройти каждый шаг в последовательности для строки в данных: all_candidates = list () # развернуть каждого текущего кандидата для i в диапазоне (len (последовательности)): seq, оценка = последовательности [i] для j в диапазоне (len (строка)): кандидат = [seq + [j], оценка — журнал (строка [j])] all_candidates.append (кандидат) # упорядочить всех кандидатов по количеству баллов упорядочено = отсортировано (all_candidates, key = lambda tup: tup [1]) # выбрать k лучших последовательностей = упорядочено [: k] возвращаемых последовательностей |
Мы можем связать это вместе с образцами данных из предыдущего раздела и на этот раз вернуть 3 наиболее вероятные последовательности.
из журнала импорта математики из массива импорта numpy из numpy import argmax # поиск луча def beam_search_decoder (данные, k): последовательности = [[список (), 0,0]] # пройдемся по каждому шагу последовательно для строки в данных: all_candidates = список () # развернуть каждого текущего кандидата для i в диапазоне (len (последовательности)): seq, score = последовательностей [i] для j в диапазоне (len (строка)): кандидат = [seq + [j], оценка — журнал (строка [j])] all_candidates.добавить (кандидат) # упорядочить всех кандидатов по баллам заказанный = отсортированный (all_candidates, key = lambda tup: tup [1]) # выбрать k лучших последовательности = заказанные [: k] возвращаемые последовательности # определяем последовательность из 10 слов в словарном запасе из 5 слов данные = [[0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0.5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1]] данные = массив (данные) # декодировать последовательность результат = beam_search_decoder (данные, 3) # результат печати для seq в результате: печать (seq)
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 18 19 20 21 22 23 24 25 26 27 28 29 30 000 000 34 35 36 37 38 39 |
из журнала импорта math из массива импорта numpy из импорта numpy argmax
# beam search def beam_search_decoder (data, k): последовательностей = [[list (), 0.0]] # пройти каждый шаг в последовательности для строки в данных: all_candidates = list () # развернуть каждого текущего кандидата для i в диапазоне (len (последовательности)): seq, оценка = последовательности [i] для j в диапазоне (len (строка)): кандидат = [seq + [j], оценка — журнал (строка [j])] all_candidates.append (кандидат) # упорядочить всех кандидатов по количеству баллов упорядочено = отсортировано (all_candidates, key = lambda tup: tup [1]) # выбрать k лучших последовательностей = упорядочено [: k] возвращаемых последовательностей
# определить последовательность из 10 слов в словаре из 5 слов data = [[0.1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1], [0,1, 0,2, 0,3, 0,4, 0,5], [0,5, 0,4, 0,3, 0,2, 0,1]] данные = массив (данные) # последовательность декодирования результат = beam_search_decoder (data, 3) # print result для seq in result: print (seq) |
При выполнении примера печатаются как целочисленные последовательности, так и их логическая вероятность.
Поэкспериментируйте с разными значениями k.
[[4, 0, 4, 0, 4, 0, 4, 0, 4, 0], 6.931471805599453] [[4, 0, 4, 0, 4, 0, 4, 0, 4, 1], 7.154615356913663] [[4, 0, 4, 0, 4, 0, 4, 0, 3, 0], 7.154615356913663]
[[4, 0, 4, 0, 4, 0, 4, 0, 4, 0], 6.931471805599453] [[4, 0, 4, 0, 4, 0, 4, 0, 4, 1 ], 7.154615356913663] [[4, 0, 4, 0, 4, 0, 4, 0, 3, 0], 7.154615356913663] |
Дополнительная литература
Этот раздел предоставляет дополнительные ресурсы по теме, если вы хотите углубиться.
Сводка
В этом руководстве вы открыли для себя алгоритмы декодирования жадного поиска и поиска по лучу, которые можно использовать для решения задач генерации текста.
В частности, вы выучили:
- Проблема декодирования по задачам генерации текста.
- Алгоритм декодера жадного поиска и как его реализовать на Python.
- Алгоритм декодера поиска луча и как его реализовать на Python.
Есть вопросы?
Задайте свои вопросы в комментариях ниже, и я постараюсь ответить.
Разрабатывайте модели глубокого обучения для текстовых данных уже сегодня!
Разработка собственных текстовых моделей за считанные минуты
… всего несколькими строками кода Python
Узнайте, как это сделать, в моей новой электронной книге:
Deep Learning for Natural Language Processing
Он предоставляет самоучителей по таким темам, как:
Пакет слов, встраивание слов, языковые модели, создание титров, перевод текста и многое другое …
Наконец-то привнесите глубокое обучение в свои проекты обработки естественного языка
Пропустить академики.Только результаты.
Посмотрите, что внутриРуководство по модели кодировщика-декодера и механизму внимания | Эдуардо Муньос
Как мы упоминали ранее, мы заинтересованы в групповом обучении сети; поэтому мы создаем функцию, которая выполняет обучение пакета данных:
- Вызвать кодировщик для входной последовательности пакета — на выходе будет закодированный вектор
- Установить начальные состояния декодера на закодированный вектор
- Вызов декодер, принимая в качестве входных данных целевую последовательность со смещением вправо.Выходные данные — логиты (функция softmax применяется в функции потерь).
- Вычислить потерю и точность пакетных данных
- Обновить обучаемые параметры кодера и декодера
- Обновить оптимизатор
Как вы можете заметить, наша функция поезда принимает три последовательности:
- Входная последовательность: массив целых чисел формы:
[batch_size, max_seq_len, embedding dim]
. Это входная последовательность для кодировщика. - Целевая последовательность: массив целых чисел формы:
[batch_size, max_seq_len, embedding dim]
.Это цель нашей модели, результат, который нам нужен для нашей модели. - Целевая входная последовательность: массив целых чисел формы:
[batch_size, max_seq_len, embedding dim]
. Это входная последовательность для декодера, потому что мы используем учитель, заставляющий .
Принуждение учителя
Принуждение учителя — это метод обучения, критически важный для разработки моделей глубокого обучения в НЛП. «Это способ быстрого и эффективного обучения повторяющихся моделей нейронных сетей, которые используют в качестве входных данных достоверную информацию из предыдущего временного шага.», [8]« Что учитель заставляет использовать рекуррентные нейронные сети? » Джейсон Браунли, доктор философии
В рекуррентной сети обычно входом в RNN на временном шаге t является выход RNN на предыдущем временном шаге, t-1. Но с помощью принуждения учителя мы можем использовать фактический результат для улучшения обучающих возможностей модели.
«Принуждение учителя работает с использованием фактических или ожидаемых выходных данных из набора обучающих данных на текущем временном шаге y (t) в качестве входных данных на следующем временном шаге X (t + 1), а не выходных данных, генерируемых сетью.
— «Глубокое обучение» Иэна Гудфеллоу
Итак, в нашем примере целевой выход на временном шаге t является входом декодера на временном шаге t + 1. Наша входная последовательность для декодера будет ожидаемой целевой последовательностью, сдвинутой на одну позицию вправо. Для этого мы вставляем начальный токен последовательности
в первую позицию, чтобы токен в позиции 1 переместился в позицию 2, токен с 2 по 3 и так далее. Чтобы уравнять длины последовательностей и разграничить их конец, в целевой последовательности мы поместим маркер конца последовательности
в последнюю позицию.
Когда результат нашей модели не отличается от того, что было видно на модели во время обучения, принуждение учителя очень эффективно. Но если нам нужна более творческая модель, в которой при заданной входной последовательности может быть несколько возможных выходов, мы должны избегать этого метода или применять его случайным образом (только в некоторых случайных временных шагах).
Теперь мы можем закодировать основную функцию поезда:
Мы почти готовы — наш последний шаг включает вызов основной функции поезда, и мы создаем объект контрольной точки
для сохранения нашей модели.Поскольку тренировочный процесс требует длительного времени, мы будем сохранять его каждые две эпохи. Позже мы сможем восстановить его и использовать для прогнозов.
Мы обучаем нашу модель кодировщика-декодера в течение ограниченного периода времени (примерно один час), используя 40 000 пар предложений и RNN из 512 единиц. Мы достигаем хороших результатов:
Делаем прогнозы
На этапе прогнозирования входными данными out является последовательность длины 1, токен sos
. Затем мы повторно вызываем кодировщик и декодер, пока не получим токен eos
или не достигнем максимальной заданной длины.
Вот несколько примеров полученных нами прогнозов:
[«мы не пойдем», «почему тебе грустно?»]
[«нет вамос.',' ¿por que estas triste? ']
Перевод с последовательностью в сеть последовательностей и вниманием — Руководства по PyTorch 1.9.1 + документация cu102
Автор : Шон Робертсон
Это третье и последнее руководство по выполнению «НЛП с нуля», в котором мы написать наши собственные классы и функции для предварительной обработки данных для выполнения нашего НЛП задачи моделирования.Мы надеемся, что после того, как вы изучите это руководство, вы перейдете к узнайте, как torchtext может выполнить большую часть этой предварительной обработки для вас в три руководства сразу после этого.
В этом проекте мы будем обучать нейронную сеть переводить с С французского на английский.
[КЛЮЧ:> вход, = цель, <выход] > Il est en train de peindre un tableau. = он рисует картину. <он рисует картину. > pourquoi ne pas essayer ce vin delicieux? = почему бы не попробовать это восхитительное вино? <почему бы не попробовать это восхитительное вино? > elle n est pas poete mais romanciere.= она не поэт, а писательница. <она не поэт, а писательница. > vous etes trop maigre. = ты слишком худой. <ты совсем один.
… с разной степенью успеха.
Это стало возможным благодаря простой, но действенной идее последовательности для последовательной сети, в которой два повторяющиеся нейронные сети работают вместе, чтобы преобразовать одну последовательность в Другая. Сеть кодировщика конденсирует входную последовательность в вектор, и сеть декодера разворачивает этот вектор в новую последовательность.
Чтобы улучшить эту модель, мы воспользуемся вниманием механизм, позволяющий декодеру научитесь сосредотачиваться на определенном диапазоне входной последовательности.
Рекомендуемая литература:
Я полагаю, вы хотя бы установили PyTorch, знаете Python и понять тензоры:
Было бы также полезно узнать о сетях от последовательности к последовательности и как они работают:
Вы также найдете предыдущие уроки на НЛП с нуля: классификация имен с помощью RNN уровня символа и НЛП с нуля: создание имен с помощью RNN уровня символа полезны, поскольку эти концепции очень похожи на кодировщик и декодер. модели соответственно.
Требования
из __future__ import unicode_literals, print_function, Division из io импорт открыть импортировать unicodedata строка импорта импортный ре случайный импорт импортный фонарик импортировать torch.nn как nn от torch import optim импортировать torch.nn.functional как F device = torch.device ("cuda", если torch.cuda.is_available (), иначе "cpu")
Загрузка файлов данных
Данные для этого проекта представляют собой набор из многих тысяч англоязычных Пары французского перевода.
Этот вопрос о стеке открытых данных Обмен указал мне на сайт открытого перевода https://tatoeba.org/, на котором загрузки доступны на https://tatoeba.org/eng/downloads - и лучше тем не менее, кто-то проделал дополнительную работу по разделению языковых пар на отдельные текстовые файлы здесь: https://www.manythings.org/anki/
Пары английского и французского языков слишком велики для включения в репо, поэтому
перед продолжением загрузите по адресу data / eng-fra.txt
. Файл представляет собой вкладку
разделенный список пар переводов:
Примечание
Загрузить данные из здесь и извлеките его в текущий каталог.
Аналогично кодировке символов, используемой в RNN на уровне символов. учебные пособия, мы будем представлять каждое слово на языке как горячую вектор, или гигантский вектор нулей кроме одного (с индексом слова). По сравнению с десятками персонажей, которые могут существовать в языка, есть намного больше слов, поэтому вектор кодирования намного больше. Однако мы немного обманем и урежем данные, чтобы использовать только несколько тысячи слов на каждый язык.
Нам понадобится уникальный индекс для каждого слова, чтобы использовать его в качестве входных данных и целей
сети позже.Чтобы отслеживать все это, мы будем использовать вспомогательный класс
называется Lang
, который имеет слово → индекс ( word2index
) и индекс → слово
( index2word
) словари, а также количество каждого слова
word2count
, который позже будет использоваться для замены редких слов.
SOS_token = 0 EOS_token = 1 класс Lang: def __init __ (я, имя): self.name = имя self.word2index = {} self.word2count = {} self.index2word = {0: "SOS", 1: "EOS"} себя.n_words = 2 # Подсчитать SOS и EOS def addSentence (я, предложение): на слово в фразе .split (''): self.addWord (слово) def addWord (self, word): если слово не в self.word2index: self.word2index [слово] = self.n_words self.word2count [слово] = 1 self.index2word [self.n_words] = слово self.n_words + = 1 еще: self.word2count [слово] + = 1
Файлы все в Unicode, для упрощения мы включим Unicode. символы в ASCII, делайте все строчными буквами и обрезайте большинство пунктуация.a-zA-Z.!?] + ", r" ", s) вернуть s
Чтобы прочитать файл данных, мы разделим файл на строки, а затем разделим
линии на пары. Все файлы на английском → другом языке, поэтому, если мы
хочу перевести с Другой язык → Английский Я добавил реверс
флаг, чтобы поменять местами пары.
def readLangs (lang1, lang2, reverse = False): print ("Чтение строк ...") # Прочитать файл и разбить на строки lines = open ('data /% s-% s.txt'% (lang1, lang2), encoding = 'utf-8').\ читать (). strip (). split ('\ n') # Разбиваем каждую строку на пары и нормализуем пары = [[normalizeString (s) для s в l.split ('\ t')] для l в строках] # Обратные пары, создание экземпляров Lang если наоборот: Pair = [список (перевернутый (p)) для p в парах] input_lang = язык (lang2) output_lang = язык (lang1) еще: input_lang = язык (lang1) output_lang = язык (lang2) вернуть input_lang, output_lang, пары
Поскольку существует лотов, примеров предложений и мы хотим обучить что-то быстро, мы сократим набор данных до относительно коротких и простые предложения.Здесь максимальная длина составляет 10 слов (включая окончание пунктуации), и мы фильтруем предложения, которые переводятся на форма «Я есть» или «Он есть» и т. д. (с учетом апострофов заменены ранее).
MAX_LENGTH = 10 eng_prefixes = ( «я», «я», "он есть", "он s", "она есть", "она s", "ты", "ты", «мы», «мы», «они», «они» ) def filterPair (p): return len (p [0] .split (''))Полный процесс подготовки данных:
- Прочитать текстовый файл и разбить на строки, разбить строки на пары
- Нормализовать текст, фильтровать по длине и содержанию
- Составьте списки слов из предложений в парах
def prepareData (lang1, lang2, reverse = False): input_lang, output_lang, pair = readLangs (язык1, язык2, обратный) print ("Прочитать пары предложений% s"% len (пары)) пары = filterPairs (пары) print ("Урезано до пар предложений% s"% len (пары)) print ("Подсчет слов... ") для пары попарно: input_lang.addSentence (пара [0]) output_lang.addSentence (пара [1]) print ("Количество слов:") print (input_lang.name, input_lang.n_words) print (output_lang.name, output_lang.n_words) вернуть input_lang, output_lang, пары язык ввода, язык вывода, пары = prepareData ('eng', 'fra', True) печать (случайный выбор (пары))Ушел:
Чтение строк ... Прочитать 135842 пары предложений Обрезано до 10599 пар предложений Считаю слова ... Подсчитано слов: фра 4345 англ. 2803 ['je vaisaller chercher a manger.',' я пойду за едой. ']Модель Seq2Seq
Рекуррентная нейронная сеть, или RNN, - это сеть, которая работает на последовательность и использует свой собственный вывод как ввод для последующих шагов.
Сеть от последовательности к последовательности, или сеть seq2seq или декодер кодировщика сеть, это модель состоящий из двух RNN, называемых кодировщиком и декодером. Кодировщик читает входная последовательность и выводит один вектор, а декодер читает этот вектор для создания выходной последовательности.
В отличие от предсказания последовательности с одним RNN, где каждый вход соответствует выходу, модель seq2seq освобождает нас от последовательности длина и порядок, что делает его идеальным для перевода между двумя языков.
Рассмотрим предложение «Je ne suis pas le chat noir» → «Я не черный кот". Большинство слов во входном предложении имеют прямое перевод в выходном предложении, но они немного отличаются заказы, например «Чат нуар» и «черный кот». Из-за «нэ / па» конструкция во входном предложении есть еще одно слово.Было бы трудно сделать правильный перевод прямо из последовательности входных слов.
В модели seq2seq кодировщик создает один вектор, который в в идеальном случае кодирует «смысл» входной последовательности в один вектор - единственная точка в некотором N мерном пространстве предложений.
Кодировщик
Кодировщик сети seq2seq - это RNN, который выводит некоторое значение для каждое слово из входного предложения. Для каждого входного слова кодировщик выводит вектор и скрытое состояние и использует скрытое состояние для следующее входное слово.
класс EncoderRNN (nn.Module): def __init __ (self, input_size, hidden_size): super (EncoderRNN, сам) .__ init __ () self.hidden_size = hidden_size self.embedding = nn.Embedding (размер_входа, размер_спрятанного) self.gru = nn.GRU (скрытый_размер, скрытый_размер) def вперед (self, input, hidden): встроенный = self.embedding (ввод) .view (1, 1, -1) вывод = встроенный вывод, скрытый = self.gru (вывод, скрытый) возвратный вывод, скрытый def initHidden (сам): вернуть факел.нули (1, 1, self.hidden_size, device = device)Декодер
Декодер - это еще одна RNN, которая принимает выходной вектор (ы) кодера и выводит последовательность слов для создания перевода.
Простой декодер
В простейшем декодере seq2seq мы используем только последний вывод кодера. Этот последний вывод иногда называют вектором контекста , поскольку он кодирует контекст из всей последовательности. Этот вектор контекста используется как начальное скрытое состояние декодера.
На каждом этапе декодирования декодеру выдается входной маркер и скрытое состояние. Первоначальный входной токен - это начало строки
токен, а первое скрытое состояние - вектор контекста (кодировщик последнее скрытое состояние).
класс DecoderRNN (nn.Module): def __init __ (self, hidden_size, output_size): super (DecoderRNN, self) .__ init __ () self.hidden_size = hidden_size self.embedding = nn.Embedding (размер_вывода, скрытый_размер) себя.gru = nn.GRU (скрытый_размер, скрытый_размер) self.out = nn.Linear (скрытый_размер, выходной_размер) self.softmax = nn.LogSoftmax (dim = 1) def вперед (self, input, hidden): output = self.embedding (ввод) .view (1, 1, -1) output = F.relu (вывод) вывод, скрытый = self.gru (вывод, скрытый) output = self.softmax (self.out (output [0])) возвратный вывод, скрытый def initHidden (сам): вернуть torch.zeros (1, 1, self.hidden_size, device = device)Я призываю вас тренироваться и наблюдать за результатами этой модели, но сэкономить место, мы пойдем прямо за золотом и представим Внимание Механизм.
Декодер внимания
Если между кодером и декодером передается только вектор контекста, этот единственный вектор несет бремя кодирования всего предложения.
Внимание позволяет сети декодера «сосредоточиться» на другой части выходы кодировщика для каждого шага собственных выходов декодера. Первый рассчитываем набор весов внимания . Они будут умножены на выходные векторы кодировщика для создания взвешенной комбинации. Результат (в коде называется
attn_applied
) должен содержать информацию о эта конкретная часть входной последовательности и, таким образом, помогает декодеру выберите правильные выходные слова.Расчет весовых коэффициентов внимания выполняется с помощью другого упреждающего сигнала. слой
attn
, используя вход декодера и скрытое состояние в качестве входных данных. Поскольку в обучающих данных есть предложения любого размера, собственно создавая и тренируя этот слой, мы должны выбрать максимум длина предложения (длина ввода, для выходов кодировщика), которую он может применить к. Предложения максимальной длины будут использовать все веса внимания, в то время как более короткие предложения будут использовать только первые несколько.класс AttnDecoderRNN (nn.Модуль): def __init __ (self, hidden_size, output_size, dropout_p = 0.1, max_length = MAX_LENGTH): super (AttnDecoderRNN, сам) .__ init __ () self.hidden_size = hidden_size self.output_size = output_size self.dropout_p = dropout_p self.max_length = max_length self.embedding = nn.Embedding (self.output_size, self.hidden_size) self.attn = nn.Linear (self.hidden_size * 2, self.max_length) self.attn_combine = nn.Linear (self.hidden_size * 2, self.hidden_size) self.dropout = nn.Dropout (self.dropout_p) self.gru = nn.GRU (self.hidden_size, self.hidden_size) self.out = nn.Linear (self.hidden_size, self.output_size) def forward (self, input, hidden, encoder_outputs): встроенный = self.embedding (ввод) .view (1, 1, -1) встроенный = self.dropout (встроенный) attn_weights = F.softmax ( self.attn (torch.cat ((встроенный [0], скрытый [0]), 1)), dim = 1) attn_applied = torch.bmm (attn_weights.unsqueeze (0), encoder_outputs.разжать (0)) output = torch.cat ((встроенный [0], attn_applied [0]), 1) output = self.attn_combine (вывод) .unsqueeze (0) output = F.relu (вывод) вывод, скрытый = self.gru (вывод, скрытый) output = F.log_softmax (self.out (output [0]), dim = 1) возврат вывода, скрытый, attn_weights def initHidden (сам): вернуть torch.zeros (1, 1, self.hidden_size, device = device)Обучение
Подготовка данных обучения
Для обучения для каждой пары нам понадобится входной тензор (индексы слов во входном предложении) и целевой тензор (индексы слов в целевое предложение).При создании этих векторов мы добавим Токен EOS для обеих последовательностей.
def indexesFromSentence (язык, предложение): return [lang.word2index [слово] вместо слова в предложении.split ('')] def tensorFromSentence (язык, предложение): indexes = indexesFromSentence (язык, предложение) indexes.append (EOS_token) вернуть torch.tensor (индексы, dtype = torch.long, device = device) .view (-1, 1) def tensorsFromPair (пара): input_tensor = tensorFromSentence (input_lang, пара [0]) target_tensor = tensorFromSentence (язык_вывода, пара [1]) возврат (input_tensor, target_tensor)Обучение модели
Для обучения мы пропускаем вводимое предложение через кодировщик и отслеживаем каждого вывода и последнего скрытого состояния.Затем декодеру дается токен
в качестве первого входа и последнее скрытое состояние кодировщик в качестве его первого скрытого состояния.
«Принуждение учителя» - это концепция использования реальных целевых результатов в качестве каждый следующий ввод, вместо того, чтобы использовать предположение декодера в качестве следующего ввода. Использование принуждения учителя заставляет его сходиться быстрее, но когда обученный сеть эксплуатируется, может показывать нестабильность.
Вы можете наблюдать выходы сетей по принуждению учителя, которые читают с помощью связная грамматика, но далекая от правильного перевода - интуитивно он научился представлять грамматику вывода и может «выбирать вверх »значение, когда учитель произносит первые несколько слов, но не научился правильно составлять предложение из перевода в первую очередь.
Из-за свободы, которую дает нам автоград PyTorch, мы можем случайным образом выберите использовать принуждение учителя или нет с помощью простого оператора if. Перемена
teacher_forcing_ratio
, чтобы использовать больше.teacher_forcing_ratio = 0,5 def train (input_tensor, target_tensor, encoder, decoder, encoder_optimizer, decoder_optimizer, критерий, max_length = MAX_LENGTH): encoder_hidden = encoder.initHidden () encoder_optimizer.zero_grad () decoder_optimizer.zero_grad () input_length = input_tensor.размер (0) target_length = target_tensor.size (0) encoder_outputs = torch.zeros (max_length, encoder.hidden_size, device = устройство) потеря = 0 для ei в диапазоне (input_length): encoder_output, encoder_hidden = кодировщик ( input_tensor [ei], encoder_hidden) encoder_outputs [ei] = encoder_output [0, 0] decoder_input = torch.tensor ([[SOS_token]], устройство = устройство) decoder_hidden = encoder_hidden use_teacher_forcing = Истина, если random.random ()Это вспомогательная функция для печати прошедшего и расчетного времени. оставшиеся с учетом текущего времени и% прогресса.
время импорта импортная математика def asMinutes (s): м = математика.этаж (s / 60) с - = м * 60 вернуть '% dm% ds'% (m, s) def timeSince (с, в процентах): сейчас = время.время () s = сейчас - поскольку es = s / (процент) rs = es - s вернуть '% s (-% s)'% (asMinutes (s), asMinutes (rs))Весь тренировочный процесс выглядит так:
- Запустить таймер
- Инициализировать оптимизаторы и критерий
- Создать набор обучающих пар
- Старт пустого массива потерь для построения
Затем мы вызываем
train
много раз и иногда печатаем прогресс (% примеров, время до сих пор, расчетное время) и средний убыток.def trainIters (кодировщик, декодер, n_iters, print_every = 1000, plot_every = 100, learning_rate = 0,01): start = time.time () plot_losses = [] print_loss_total = 0 # Сбрасывать каждый print_every plot_loss_total = 0 # Сбросить каждый plot_every encoder_optimizer = optim.SGD (encoder.parameters (), lr = скорость_обучения) decoder_optimizer = optim.SGD (decoder.parameters (), lr = скорость_обучения) training_pairs = [tensorsFromPair (random.choice (пары)) для i в диапазоне (n_iters)] критерий = nn.NLLLoss () для iter в диапазоне (1, n_iters + 1): training_pair = тренировочные_пары [iter - 1] input_tensor = тренировочная_пара [0] target_tensor = тренировочная пара [1] потеря = поезд (input_tensor, target_tensor, encoder, декодер, encoder_optimizer, decoder_optimizer, критерий) print_loss_total + = убыток plot_loss_total + = убыток если он% print_every == 0: print_loss_avg = print_loss_total / print_every print_loss_total = 0 print ('% s (% d% d %%)%.4f '% (timeSince (начало, iter / n_iters), iter, iter / n_iters * 100, print_loss_avg)) если он% plot_every == 0: plot_loss_avg = plot_loss_total / plot_every plot_losses.append (plot_loss_avg) plot_loss_total = 0 showPlot (plot_losses)Результаты печати
Построение графика выполняется с помощью matplotlib с использованием массива значений потерь.
plot_losses
сохранено во время обучения.import matplotlib.pyplot как plt plt.switch_backend ('agg') импортировать matplotlib.ticker как тикер импортировать numpy как np def showPlot (очки): plt.figure () fig, ax = plt.subplots () # этот локатор ставит галочки через равные промежутки времени loc = тикер.MultipleLocator (база = 0,2) ax.yaxis.set_major_locator (место) plt.plot (точки)Оценка
Оценка в основном такая же, как и обучение, но нет целей, поэтому мы просто возвращаем предсказания декодера самому себе для каждого шага. Каждый раз, когда он предсказывает слово, мы добавляем его в строку вывода, и если оно предсказывает токен EOS, на котором мы остановимся.Мы также храним выводов внимания для отображения позже.
Оценкаdef (кодировщик, декодер, предложение, max_length = MAX_LENGTH): с torch.no_grad (): input_tensor = tensorFromSentence (язык_входа, предложение) input_length = input_tensor.size () [0] encoder_hidden = encoder.initHidden () encoder_outputs = torch.zeros (max_length, encoder.hidden_size, device = устройство) для ei в диапазоне (input_length): encoder_output, encoder_hidden = encoder (input_tensor [ei], encoder_hidden) encoder_outputs [ei] + = encoder_output [0, 0] decoder_input = фонарик.тензор ([[SOS_token]], устройство = устройство) # SOS decoder_hidden = encoder_hidden decoded_words = [] decoder_attentions = torch.zeros (max_length, max_length) для di в диапазоне (max_length): decoder_output, decoder_hidden, decoder_attention = decoder ( decoder_input, decoder_hidden, encoder_outputs) decoder_attentions [di] = decoder_attention.data topv, topi = decoder_output.data.topk (1) если topi.item () == EOS_token: decoded_words.добавить ('') перерыв еще: decoded_words.append (output_lang.index2word [topi.item ()]) decoder_input = topi.squeeze (). detach () вернуть decoded_words, decoder_attentions [: di + 1] Мы можем оценить случайные предложения из обучающей выборки и распечатать входные, целевые и выходные данные для вынесения субъективных суждений о качестве:
def AssessmentRandomly (кодировщик, декодер, n = 10): для i в диапазоне (n): пара = случайный.выбор (пары) print ('>', пара [0]) print ('=', пара [1]) output_words, внимание = оценка (кодировщик, декодер, пара [0]) output_sentence = '' .join (output_words) print ('<', вывод_выпуск) Распечатать('')Обучение и оценка
Со всеми этими вспомогательными функциями (похоже, дополнительная работа, но это упрощает проведение нескольких экспериментов) мы действительно можем инициализировать сеть и начать обучение.
Помните, что входные предложения были сильно отфильтрованы.Для этого маленького набор данных, мы можем использовать относительно небольшие сети из 256 скрытых узлов и одинарный слой ГРУ. Примерно через 40 минут на процессоре MacBook мы получим разумные результаты.
Примечание
Если вы запустите этот ноутбук, вы можете обучить, прервать ядро, оцените и продолжите обучение позже. Закомментируйте строки, где кодер и декодер инициализируются и снова запускают обучающие программы
.
hidden_size = 256 encoder1 = EncoderRNN (input_lang.n_words, hidden_size).к (устройству) attn_decoder1 = AttnDecoderRNN (hidden_size, output_lang.n_words, dropout_p = 0.1) .to (устройство) trainIters (encoder1, attn_decoder1, 75000, print_every = 5000)
Ушел:
1 мес. 35 с (- 22 мес. 12 с) (5000 6%) 2,8 341 3 мес. 8 с. (- 20 м. 22 с.) (10000 13%) 2,2829 4м 38с (- 18м 34с) (15000 20%) 1,9883 6 мес. 10 с (- 16 мес. 58 с) (20000 26%) 1,7390 7 мин. 41 сек. (- 15 мин. 22 сек.) (25000 33%) 1,5743 9 мес. 11 с. (- 13 мес. 47 с) (30000 40%) 1.4086 10 мин. 44 сек. (- 12 мин. 16 сек.) (35000 46%) 1.2687 12 мин. 15 сек. (- 10 мин. 43 сек.) (40000 53%) 1,1257 13 мес. 46 с (- 9 мес. 10 с) (45000 60%) 1,0049 15м 16с (- 7м 38с) (50000 66%) 0,9183 16м 47с (- 6м 6с) (55000 73%) 0,8531 18 мин. 18 с. (- 4 м. 34 с.) (60000 80%) 0,7558 19м 49с (- 3м 3с) (65000 86%) 0,7132 21 мес. 21 с. (- 1 мес. 31 с.) (70000 93%) 0,6284 22м 52с (- 0м 0с) (75000100%) 0,5945AssessmentRandomly (encoder1, attn_decoder1)Ушел:
> je suis paye pour faire ca. = мне платят за это. <Мне за это платят.> Je vais laisser tom repondre.= Я позволю Тому ответить. <Я пойду. > Помощь в салоне и внимании. = он сидит в зале ожидания. <он сидит внутри. > Nous sommes en train de decoller. = мы взлетаем. <мы перерабатываем. > il sait parler japonais. = он может говорить по-японски. <он может говорить по-японски. > Je suis en train de faire la vaisselle. = я мою посуду. <я делаю то. > Je suis etonnee de vous voir. = я удивлен тебя видеть. <я удивлен вас видеть. > J посещает juste un ami. = Я просто жду друга. <я просто друг друг. > Je suis vraiment content. = я действительно счастлив. <я действительно счастлив. > c est un etudiant de deuxieme annee. = он второкурсник. <он студент студент. Визуализация внимания
Полезным свойством механизма внимания является его легко интерпретируемое выходы.Поскольку он используется для взвешивания выходов конкретных энкодеров входную последовательность, мы можем представить, глядя, где сеть сосредоточена больше всего на каждом временном шаге.
Вы можете просто запустить
plt.matshow (Внимание)
, чтобы увидеть вывод внимания отображается в виде матрицы, столбцы - шаги ввода, а строки - шаги вывода:output_words, внимание = оценка ( encoder1, attn_decoder1, "je suis trop froid.") plt.matshow (вниманиеs.numpy ())Для удобства просмотра мы дополнительно добавим оси. и этикеток:
def showAttention (input_sentence, output_words, внимание): # Настроить фигуру с помощью шкалы цветов fig = plt.фигура() ax = fig.add_subplot (111) cax = ax.matshow (вниманиеs.numpy (), cmap = 'кость') fig.colorbar (cax) # Настроить оси ax.set_xticklabels ([''] + input_sentence.split ('') + [''], поворот = 90) ax.set_yticklabels ([''] + output_words) # Показывать метку при каждом тике ax.xaxis.set_major_locator (тикер.MultipleLocator (1)) ax.yaxis.set_major_locator (тикер.MultipleLocator (1)) plt.show () def оценитьAndShowAttention (input_sentence): output_words, внимание = оценка ( encoder1, attn_decoder1, input_sentence) print ('ввод =', ввод_предложение) print ('вывод =', ''.присоединиться (output_words)) showAttention (входное_ предложение, выходные_слова, внимание) AssessmentAndShowAttention ("elle a cinq ans de moins que moi.") AssessmentAndShowAttention ("elle est trop petit.") AssessmentAndShowAttention ("je ne crains pas de mourir.") оценитьAndShowAttention ("c est un jeune directeur plein de talent.") Ушел:
input = elle a cinq ans de moins que moi. output = она на пять лет моложе i i.input = elle est trop petit. вывод = она слишком короткая. input = je ne crains pas de mourir. output = я не боюсь умереть. input = c est un jeune directeur plein de talent. выход = он молодой талантливый режиссер. Упражнения
- Попробуйте использовать другой набор данных
- Другая языковая пара
- Человек → Машина (например, команды IOT)
- Чат → Ответ
- Вопрос → Ответ
- Замените вложения предварительно обученными вложениями слов, такими как word2vec или Перчатка
- Попробуйте добавить больше слоев, больше скрытых единиц и больше предложений.Сравнивать время обучения и результаты.
- Если вы используете файл перевода, где пары содержат две одинаковые фразы (
Я тестирую \ t Я тестирую
), вы можете использовать это как автоэнкодер. Пытаться это:
- Поездить как автоэнкодер
- Сохранить только сеть кодировщика
- Тренируйте новый Decoder для перевода оттуда
Общее время работы скрипта: (23 минуты 1,782 секунды)
Галерея создана Sphinx-Gallery
Понимание шумихи вокруг моделей Transformer NLP
Чтобы понять шумиху вокруг моделей Transformer NLP и их практическое значение, стоит сделать шаг назад и изучить архитектуру и внутреннее устройство этих моделей.В этом сообщении блога мы расскажем вам о возникновении архитектуры Transformer NLP, начиная с ее ключевого компонента - парадигмы внимания.
История возникновения механизмов внимания: машинный перевод
Парадигма внимания вошла в сферу НЛП еще в 2014 году, еще до ажиотажа в области глубокого обучения, и впервые была применена к проблеме машинного перевода.
Обычно система машинного перевода следует базовой архитектуре кодер-декодер (как показано на изображении ниже), где и кодер, и декодер, как правило, являются вариантами рекуррентных нейронных сетей (RNN).Чтобы понять, как работает RNN, полезно представить ее как последовательность ячеек. Кодировщик RNN получает входное предложение и считывает его по одному токену за раз: каждая ячейка получает входное слово и создает скрытое состояние в качестве выхода, которое затем подается в качестве входных данных в следующую ячейку RNN, пока все слова в предложении не будут обработанный.
После этого последнее сгенерированное скрытое состояние, как мы надеемся, уловит суть всей информации, содержащейся в каждом слове входного предложения.Этот вектор, называемый вектором контекста, затем будет передан в качестве входных данных в декодер RNN, который будет производить переведенное предложение по одному слову за раз.
Но можно ли разумно предположить, что вектор контекста может сохранять ВСЮ необходимую информацию входного предложения? А что, если предложение состоит, скажем, из 50 слов? Из-за присущей RNN последовательной структуры каждая входная ячейка создает только один выходной вектор скрытого состояния для каждого слова в предложении, один за другим. Из-за последовательного порядка обработки текста контекстному вектору сложнее захватить всю информацию, содержащуюся в предложении, для длинных предложений со сложными зависимостями между словами - это называется «проблемой узкого места».
Устранение проблемы узких мест с вниманием
Чтобы решить эту проблему узкого места, исследователи создали метод внимания , обращающий внимание на определенные слова. При переводе предложения или расшифровке аудиозаписи агент-человек обращает особое внимание на слово, которое он в настоящее время переводит или расшифровывает.
Нейронные сети могут достичь того же поведения с помощью Attention, сосредотачиваясь на части подмножества информации, которую им дают.Помните, что каждая входная ячейка RNN создает один скрытый вектор состояния для каждого входного слова. Затем мы можем объединить эти векторы, усреднить их или (что еще лучше!) Взвесить их, чтобы придать большее значение словам из входного предложения, которые наиболее важны для декодирования следующего слова (выходного предложения). В этом вся суть техники внимания.
Если вы хотите еще больше разобраться в деталях моделей Transformer NLP и внутренней работе механизма внимания, мы рекомендуем вам прочитать этот пост в блоге «Данные из окопов» .
На пути к моделям трансформатора NLP
Как вы теперь понимаете, внимание было революционной идеей в системах последовательного перевода, таких как модели перевода. Модели Transformer NLP основаны на механизме Attention, который развивает его основную идею еще дальше: в дополнение к использованию Attention для вычисления представлений (т. Е. Векторов контекста) из векторов скрытого состояния кодировщика, почему бы не использовать Attention для вычисления векторов скрытых состояний кодировщика самих себя? Непосредственным преимуществом этого является избавление от неотъемлемой последовательной структуры RNN, которая препятствует распараллеливанию моделей.
Чтобы решить проблему распараллеливания, Attention увеличивает скорость преобразования модели из одной последовательности в другую. Таким образом, основным преимуществом моделей Transformer NLP является то, что они не являются последовательными, а это означает, что, в отличие от RNN, их легче распараллелить, и что все большие и большие модели могут быть обучены путем распараллеливания обучения.
Более того, модели Transformer NLP пока демонстрируют лучшую производительность и скорость, чем модели RNN.Из-за всех этих факторов большая часть исследований НЛП за последние пару лет была сосредоточена на моделях Трансформаторного НЛП, и мы можем ожидать, что это приведет к появлению новых интересных бизнес-сценариев.
Стратегии декодирования для улучшения машинного перевода с низким уровнем ресурсов - Корейский университет
TY - JOUR
T1 - Стратегии декодирования для улучшения машинного перевода с низким уровнем ресурсов
AU - Park, Chanjun
AU - Yang, Yeongwook
AU - Park, Kinam
AU - Lim, Heuiseok
N1 - Информация о финансировании: Финансирование: Эта работа была поддержана грантом Института планирования и оценки информационных и коммуникационных технологий (IITP), финансируемым Министерством науки и ИКТ Кореи (MSIT) (No.2020-0-00368, Нейросимволическая модель для получения знаний и методов вывода), и это исследование было поддержано MSIT, Корея, в рамках программы поддержки ITRC (Центр исследований информационных технологий) (IITP-2020-2018-0- 01405) под надзором IITP (Институт планирования и оценки информационных и коммуникационных технологий). Информация о финансировании: Эта работа была поддержана грантом Института планирования и оценки информационных и коммуникационных технологий (IITP), финансируемым Министерством науки и ИКТ Кореи (MSIT) (No.2020-0-00368, Нейросимволическая модель для получения знаний и методов вывода), и это исследование было поддержано MSIT, Корея, в рамках программы поддержки ITRC (Центр исследований информационных технологий) (IITP-2020-2018-0- 01405) под надзором IITP (Институт планирования и оценки информационных и коммуникационных технологий). Благодарности: спасибо AI Hub за создание отличного набора данных. Я очень благодарен моему другу Ёнсу Ли (Университет Сонгюнкван) за помощь с исправлениями английского языка.Авторские права издателя: © 2020 Авторы. Лицензиат MDPI, Базель, Швейцария.
PY - 2020/10
Y1 - 2020/10
N2 - Предварительная обработка и постобработка являются важными аспектами прикладного программного обеспечения обработки естественного языка (NLP). Предварительная обработка в нейронном машинном переводе (NMT) включает в себя токенизацию подслов, чтобы облегчить проблему неизвестных слов, параллельную фильтрацию корпуса, которая фильтрует только данные, подходящие для обучения, и увеличение данных, чтобы гарантировать, что корпус содержит достаточный контент.Постобработка включает автоматическое пост-редактирование и применение различных стратегий во время декодирования в процессе перевода. Самые последние исследования НЛП основаны на подходе предтренировочной настройки (PFA). Однако, когда малые и средние организации с недостаточным оборудованием пытаются предоставить услуги NLP, часто возникают проблемы с пропускной способностью и памятью. Эти трудности возрастают при использовании PFA для обработки языков с низким уровнем ресурсов, поскольку PFA требует больших объемов данных, а данных для языков с низким уровнем ресурсов часто недостаточно.Используя текущую исследовательскую предпосылку, что производительность модели NMT можно повысить с помощью различных стратегий предварительной и постобработки без изменения модели, мы применили различные стратегии декодирования к корейско-английскому NMT, основанному на языковой паре с ограниченными ресурсами. Путем сравнительных экспериментов мы доказали, что производительность перевода можно повысить без изменения модели. Мы экспериментально исследовали, как производительность изменяется в ответ на изменение размера луча и блокировку n-грамм, и были ли характеристики улучшены при применении штрафа по длине.Результаты показали, что различные стратегии декодирования повышают производительность и хорошо сравниваются с предыдущими корейско-английскими подходами NMT. Следовательно, предлагаемая методология может улучшить производительность моделей NMT без использования PFA; это открывает новые возможности для повышения производительности машинного перевода.
AB - Предварительная обработка и постобработка являются важными аспектами прикладного программного обеспечения для обработки естественного языка (NLP). Предварительная обработка в нейронном машинном переводе (NMT) включает в себя токенизацию подслов, чтобы облегчить проблему неизвестных слов, параллельную фильтрацию корпуса, которая фильтрует только данные, подходящие для обучения, и увеличение данных, чтобы гарантировать, что корпус содержит достаточный контент.Постобработка включает автоматическое пост-редактирование и применение различных стратегий во время декодирования в процессе перевода. Самые последние исследования НЛП основаны на подходе предтренировочной настройки (PFA). Однако, когда малые и средние организации с недостаточным оборудованием пытаются предоставить услуги NLP, часто возникают проблемы с пропускной способностью и памятью. Эти трудности возрастают при использовании PFA для обработки языков с низким уровнем ресурсов, поскольку PFA требует больших объемов данных, а данных для языков с низким уровнем ресурсов часто недостаточно.Используя текущую исследовательскую предпосылку, что производительность модели NMT можно повысить с помощью различных стратегий предварительной и постобработки без изменения модели, мы применили различные стратегии декодирования к корейско-английскому NMT, основанному на языковой паре с ограниченными ресурсами. Путем сравнительных экспериментов мы доказали, что производительность перевода можно повысить без изменения модели. Мы экспериментально исследовали, как производительность изменяется в ответ на изменение размера луча и блокировку n-грамм, и были ли характеристики улучшены при применении штрафа по длине.Результаты показали, что различные стратегии декодирования повышают производительность и хорошо сравниваются с предыдущими корейско-английскими подходами NMT. Следовательно, предлагаемая методология может улучшить производительность моделей NMT без использования PFA; это открывает новые возможности для повышения производительности машинного перевода.
кВт - стратегии декодирования
кВт - эффективность обработки
кВт - нейронный машинный перевод с корейского на английский
кВт - нейронный машинный перевод
кВт - постобработка
кВт - трансформатор
UR - http: // www .scopus.com/inward/record.url?scp=85091663903&partnerID=8YFLogxK
U2 - 10.3390 / electronics
62
DO - 10.3390 / electronics
62
M3 - Артикул
AN3 - 963902:
1EP - 15
JO - Electronics (Швейцария)
JF - Electronics (Швейцария)
SN - 2079-9292
IS - 10
M1 - 1562
ER -
Структурированные нейронные модели и структурированные Декодирование для обработки естественного языка
AbstractВ последние годы модели нейронных последовательностей с большим успехом применялись для решения множества задач обработки естественного языка.Однако, поскольку они генерируют свои выходные данные по одному токену слева направо, они не сразу подходят для областей, где нетривиальные ограничения вывода должны быть удовлетворены для правильного формирования или где параллельное декодирование может быть желательно для более высокой пропускной способности. В этой диссертации мы исследуем, как мы можем преодолеть эти ограничения с помощью более высокоструктурированных моделей и более гибко структурированных алгоритмов декодирования.
Что касается моделирования, мы сначала вводим нейронную модель на основе диапазона для синтаксического анализа округа, которая обеспечивает эффективное глобально оптимальное декодирование в пространстве синтаксических деревьев с использованием динамической программы на основе диаграмм.Затем мы представляем абстрактную синтаксическую сеть, древовидную нейронную модель для генерации кода, модули оценки которой составлены вместе таким образом, чтобы отражать синтаксическую структуру создаваемой программы. Затем, обращаясь к более гибким алгоритмам декодирования для последовательностей, мы демонстрируем, как модель последовательности Transformer может быть расширена для обеспечения поблочного параллельного декодирования для значительного повышения скорости декодирования без ущерба для точности. Наконец, мы представляем преобразователь вставки, модель последовательности на основе вставки, которая обеспечивает генерацию вне очереди и параллельное декодирование в логарифмическом времени.
Основное содержаниеЗагрузить PDF для просмотраПросмотреть больше
Больше информации Меньше информации
Закрывать
Введите пароль, чтобы открыть этот PDF-файл:
Отмена Ok
Подготовка документа к печати…
Отмена
7 техник НЛП, которые изменят ваше общение в будущем (Часть I) | Джеймс Ли
Глубокое обучение
Большинство этих технологий НЛП основаны на глубоком обучении - подполе машинного обучения.Глубокое обучение снова начало набирать обороты только в начале этого десятилетия, в основном из-за следующих обстоятельств:
- Большой объем обучающих данных.
- Более быстрые машины и многоядерные процессоры / графические процессоры.
- Новые модели и алгоритмы с расширенными возможностями и улучшенной производительностью: более гибкое обучение промежуточных представлений, более эффективное сквозное совместное системное обучение, более эффективные методы обучения для использования контекстов и передачи между задачами, а также лучшая регуляризация и оптимизация методы.
Большинство методов машинного обучения работают хорошо из-за созданных человеком представлений и функций ввода, а также оптимизации веса для лучшего окончательного прогноза. С другой стороны, в глубоком обучении обучение представлений пытается автоматически изучать хорошие функции или представления из необработанных входных данных. Функции машинного обучения, разработанные вручную, часто переоцениваются, неполны и требуют много времени для разработки и проверки. Напротив, изученные функции глубокого обучения легко адаптировать и быстро усваивать.
Глубокое обучение обеспечивает очень гибкую, универсальную и обучаемую структуру для представления мира как визуальной, так и лингвистической информации. Первоначально это привело к прорыву в таких областях, как распознавание речи и компьютерное зрение. В последнее время подходы к глубокому обучению достигли очень высокой производительности при выполнении множества различных задач НЛП. Эти модели часто можно обучить с помощью одной сквозной модели, и они не требуют традиционной разработки функций для конкретных задач.
Недавно я закончил Стэнфордский всеобъемлющий курс CS224n по обработке естественного языка с глубоким обучением.Курс представляет собой подробное введение в передовые исследования в области глубокого обучения применительно к НЛП. Что касается модели, он охватывает представления векторных слов, нейронные сети на основе окон, рекуррентные нейронные сети, модели долгосрочной краткосрочной памяти, рекурсивные нейронные сети и сверточные нейронные сети, а также некоторые недавние модели, включающие компонент памяти.
Что касается программирования, я научился реализовывать, обучать, отлаживать, визуализировать и изобретать собственные модели нейронных сетей. В этой серии из двух частей я хочу поделиться 7 основными техниками НЛП, которые я изучил, а также основными моделями и приложениями глубокого обучения, использующими каждую из них.
- Краткое примечание: Вы можете получить доступ к лекциям и заданиям по программированию из CSS 224 в этом репозитории GitHub.
В традиционном НЛП мы рассматриваем слова как дискретные символы, которые затем могут быть представлены горячими векторами. Размерность вектора - это количество слов во всем словарном запасе. Проблема со словами как дискретными символами состоит в том, что для горячих векторов не существует естественного понятия подобия. Таким образом, альтернатива - научиться кодировать сходство в самих векторах.Основная идея заключается в том, что значение слова задают слова, которые часто встречаются рядом.
Вложения текста - это векторные представления строк с действительными значениями. Мы строим плотный вектор для каждого слова, подобранный так, чтобы он был похож на векторы слов, встречающихся в аналогичных контекстах. Вложения слов считаются отличной отправной точкой для самых глубоких задач НЛП. Они позволяют глубокому обучению быть эффективным для небольших наборов данных, поскольку они часто являются первыми входами в архитектуру глубокого обучения и самым популярным способом передачи обучения в НЛП.Самые популярные имена для встраивания слов - Word2vec от Google (Миколов) и GloVe от Стэнфорда (Пеннингтон, Сохер и Мэннинг). Давайте углубимся в эти представления слов:
В Word2vec , у нас есть большой корпус текста, в котором каждое слово в фиксированном словаре представлено вектором. Затем мы просматриваем каждую позицию t в тексте, которая имеет центральное слово c и контекстные слова o . Затем мы используем подобие векторов слов для c и o , чтобы вычислить вероятность o при c (или наоборот).Мы продолжаем корректировать векторы слов, чтобы максимизировать эту вероятность.
Для эффективного обучения Word2vec мы можем исключить бессмысленные (или более частые) слова из набора данных (например, a , , , затем …). Это помогает улучшить точность модели и время обучения. Кроме того, мы можем использовать отрицательную выборку для каждого ввода, обновляя веса для всех правильных меток, но только для небольшого количества неправильных меток.
Word2vec имеет 2 варианта модели, о которых стоит упомянуть:
- Skip-Gram: Мы рассматриваем контекстное окно, содержащее k последовательных терминов.Затем мы пропускаем одно из этих слов и пытаемся изучить нейронную сеть, которая получает все термины, кроме пропущенного, и предсказывает пропущенный термин. Следовательно, если 2 слова повторно используют одинаковые контексты в большом корпусе, векторы внедрения этих терминов будут иметь близкие векторы.
- Непрерывный мешок слов: Мы берем много-много предложений в большом корпусе. Каждый раз, когда мы видим слово, мы берем окружающее слово. Затем мы вводим контекстные слова в нейронную сеть и предсказываем слово в центре этого контекста.Когда у нас есть тысячи таких контекстных слов и центральное слово, у нас есть один экземпляр набора данных для нейронной сети. Мы обучаем нейронную сеть, и, наконец, закодированный вывод скрытого слоя представляет вложение для определенного слова. Так получилось, что когда мы тренируем это на большом количестве предложений, слова в похожем контексте получают похожие векторы.
Одна претензия к Skip-Gram и CBOW заключается в том, что они обе являются оконными моделями, а это означает, что статистика совместной встречаемости корпуса не используется эффективно, что приводит к неоптимальным встраиваниям.Модель GloVe пытается решить эту проблему, улавливая значение вложения одного слова в структуру всего наблюдаемого корпуса.