NLP компьютерное и НЛП психологическое


Нейролингвистическое программирование (НЛП) является областью знаний, возникшей изначально в двух отраслях науки: Computer Science и Психологии. В Computer Science NLP означает Natural Language Processing, в психологии — нейролингвистическое программирование. Это не совсем одно и тоже, но как минимум близко. Близко, как единство противоположностей. Обладая одинаковым названием и задачами по изучению структур языка, работ посвящённых исследованию их связи и возможности перекрёстного использования техник крайне мало. Психологическое НЛП, по моему скромному мнению, продвинулось в изучении структур языка существенно дальше, чем стемминг и лемматизация, которые применяются в большинстве задач компьютерного NLP. В этой статье я освящу основные наработки психологического НЛП для компьютерного NLP, намечу пути, как с помощью психологического НЛП создавать State of the Art нейросети NLP. Для сокращения широты методов NLP ограничим эту область до области, где для целей NLP применяются нейросети.

Психологическое НЛП было представлено Ричардом Бендлером и Джоном Гриндером. Самой известной книгой по НЛП является книга «Структура магии». Я конечно имею в виду психологическое НЛП, не удивляйтесь и не пугайтесь. Показательно, что названием первого тома этой книги является: «Книга о языке и психотерапии». Если мы опустим слово «психотерапия», мы обнаруживаем много сведений о языке, вполне применимых для техники.

Нейронная сеть это упрощённая мыслительная модель, по крайней мере мы надеемся на это. Нечто общее между ними безусловно есть, как минимум слово «нейро». В то же время, психологическое НЛП тоже является не полноценным психоанализом. Серьёзные психологи обзывают НЛП «психология для чайников» — кому не дано читать Зигмунда Фрейда, читают Ричарда Бендлера и Джона Гриндера.

                   применение «упрощённой психологии» к «упрощённой модели мозга» заслуживает обсуждения

Я буду освещать перенос методов из психологического НЛП в техническое: сейчас это востребовано, мне поставят лайки, кто-нибудь напишет комменты, девушки будут узнавать меня «это популярный технический блоггер!». Однако, перенос технических разработок НЛП в область психологии возможен и, для целей развития общества, ИМХО, более важен. Собственно этим примерно занимаются те, кто исследует Big Data: получая данные о поведении масс, они регулярно формируют психологические и социологические модели. К сожалению, редко кто может осуществить перевод наработок на язык психологов, социологов, популяризовать результаты в их среде.

Базовые пресупозиции НЛП для нейронной сети


Сначала немного абстракций. Методы будут в нижних разделах.

Одной из основ психологического НЛП является понятие базовых пресупозиций: аксиом на базе которых формируется данная область (почти как в геометрии). С точки зрения computer science, термин «пресупозиция» может занять достойное место в Эмбединге, в начале вашей неросети. Если бы у меня было больше времени, я непременно бы провёл исследование, не является ли слово «пресупозиция» камнем преткновения в текстовом корпусе, стоит ли он там во главе угла.

                   Могут ли базовые пресупозиции НЛП применяться к Нейронной сети?

Ниже я привожу базовые пресупозиции психологического НЛП и расшифровываю их значения для нейросети. Специалисты по computer science прочитав могут понять, с чем приходится иметь дело и как пропустить это через свой keras.layers.Embedding. Трактовка для нейросети субъективна и не претендует на полноту.

Пресупозиция НЛП Трактовка для нейросети
Карта — не территория Феномен переобучения постоянно подтверждает это
Любое поведение мотивировано позитивным намерением; для любого поведения существует контекст, в котором оно ценно. Нейросеть ценна в контексте, в котором она создаётся. Внутри этого контекста она показывает лучший результат.
Позитивная ценность человека абсолютна, а вот ценность и пригодность внутренних и/или внешних поведений может быть подвергнута сомнению. Ценность нейросети для самой себя также абсолютна. А вот в продакшине её ценность подвергается сомнению постоянно.
Способность изменять процесс восприятия реальности часто полезнее изменения содержания воспринимаемой реальности. Привнесение новых фичей даёт результат лучше, чем усложнение сети. Это часто подтверждается на соревнованиях Kaggle, но, однако, не всегда: CNN может давать результат при сокращении признаков.
Все различения, касающиеся окружающей среды и собственного поведения, на которые способны человеческие существа, можно и полезно представить в терминах визуального, аудиального, кинестетического, обонятельного и вкусового восприятия. В нейросеть можно подать только текст, фото (видео) или закодированные фичи (аудио кодирует информацию). В общем, умельцы как не пытаются загрузить в сеть что-то «оттуда», у них не получается…
Все ресурсы, нужные людям для изменения, у них уже есть. Для повышения качества работы нейросети можно придумать сколь угодно мудрёную комбинацию слоёв (вспомним BERT). Если железо это потянет…
Обратная связь вместо неудачи — все результаты и поведения являются достижениями, позволяют они достигнуть желаемого результата в данном контексте или нет. Пресупозиция выражается в обучении с подкреплением: у неё нет эмоций, любую неудачу сеть воспринимает как опыт.
Смысл коммуникации в ответе, который вы получаете. Сеть создаётся чтобы получить ответ: от объекта исследований или от мироздания.

Вот мы проектируем нейронную сеть. Практикуем диалог со вселенной:
— у нас неудача: сеть работает, но плохо. – ответ вселенной:
— «смысл коммуникации в ответе, который вы получаете.». Т.е. задача в таком виде не решается, нужно что-то менять. – ещё вопрос:
— что именно менять? – ответ вселенной:
— «Способность изменять процесс восприятия реальности часто полезнее изменения содержания воспринимаемой реальности». Т.е. меняйте фичи…

Подходы к обработке текста в НЛП


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

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

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

1. Модель языка и метамодель
Описание >>
Краткое описание: метамодель представляет собой модель изменений уровней абстракции в языке, а также и произвольную трактовку понятий разными людьми. Например, слово «любовь» можно понимать по разному: слово «секс» для многих является разновидностью любви, для кого-то это разные вещи. Метамодель это не теория а вопросная техника, позволяющая пробиться к скрытым за словами понятиям, стоящим в голове человека.

Нейронка которая бы повышала / понижала / смещала уровни абстракции текста стала бы революцией! В продакшине эта нейронка могла бы дополнить имеющиеся диалоговые модели: современные чат-боты не умеют работать в выбранном контексте, подстраиваться под терменологию человека. Кто-то под словом «счастье» понимает, что это когда много любви, кто-то, когда много еды, а программист понимает, что счастье — это когда вокруг компьютеры и все пентиумы. Как чат-бот может определить истинное значение слова «счастье» для собеседника?

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

2. Нейрологические уровни (Чарлз Дилтс)
Описание >>
Краткое описание: все понятия языка разделяются на 7 уровней. Каждый следующий логический уровень — от миссии к окружению — должен соответствовать предыдущему. Список уровней и картинки есть по ссылке.

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

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

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

3. Метапрограммы
Описание >>
Краткое описание: метапрограммы — основные фильтры восприятия человека. Программами их назвали психологи, не программисты. Человек не мыслит «вообще»: он концентрируется на чём-то, выбирает «фильтр» через который он воспринимает это что-то, далее он отрабатывает по алгоритму ту информацию, которую он получил через фильтр и производит некоторый вывод и управляющие воздействие. В НЛП выделяется 7-10 основных фильтров восприятия, метапрограмм. Список метапрограмм различный для разных культур, частей социума, может изменяться во времени.

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

Метапрограмма Сеть определяет
Активный-Рефлексивный Выбор как лучше поступать: активно или рефлексивно
ВО-ВНЕ времени Тут сложно
Сортировка Сортировка неструктурированной информации по неясным параметрам
Мотивы Что делать?
Ориентация во времени Будущее или прошлое?
Предпочитаемая модальность Выбор признаков
Стремление-избегание Делаем или уходим
Размер разбивки Умная кластеризация
Референция Навязывать правила или играть по правилам
Способы мышления Выбор метапрограммы
Фокус сравнения Выбор фичей для сравнения

Как видим, построить каждую из таких сетей это задача для института. Для каждой метапрограммы будет сетка масштаба ResNet50, обученная на ImageNet. Эту сеть делала корпорация несколько лет. И это не полный список метапрограмм для лишь одной культуры! Но эффект может быть поразителен: глядишь, собрав 20-30 таких сетей в ансамбль, получим что-то действительно умное.

4. Раскрутки
Описание >>
Краткое описание: раскрутки это техника, в основе которой лежит игра с фильтрами восприятия. Меняя фильтры восприятия собеседника мы выходим на эмоциональный план, получив доступ к нелогическим планам сознания и интересным психологическим эффектам.

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

5. Двойная и тройная спираль
Описание >>
Краткое описание: не смотря на то что тройная спираль это техника, за неё стоит чёткая речевая конструкция — вложенность логических постановок выделенная тоном даёт доступ к эмоциональным и нелогическим планам человека.

Тройную спираль можно моделировать и / или хотя бы выявлять в речи. Это не станет революцией. Но будет полезно для понимания структуры материалов в прессе. А ещё лучше для систем, которые текст генерируют: разнообразие литературных стилей невозможно без двойной и тройной спирали.

Перспектива разработок сетей по моделям психологического НЛП


Интерес к разработкам масштаба, изложенного в предыдущем разделе, может быть либо у крупных игроков, либо у энтузиастов-любителей. Для Армии, усилить мозги робота Фёдора за счёт нейросетей созданных по моделям НЛП, может быть весьма привлекательным. Также есть перспектива разработки моделей, усиливающих BERT и XLNet – работа с метамоделью и логическими уровнями могли бы помочь создать крутейших чат-ботов, способных болтать на любые темы с кем угодно.

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

Литература:


  1. Гриндер Джон Бендлер Ричард, Структура магии
  2. Чарлз Дилтс, Изменение убеждений. Психотехнологии уровня НЛП-Мастер
  3. Бендлер Ричард, Из лягушек — в принцы
  4. Карл Юнг. КРАСНАЯ КНИГА
  5. Зигмунд Фрейд, Я и Оно

И много много книг ещё…