Проект СОЦИОМЕТР 15

Скачать программу Социометр 15 с исходным кодом 

 

РУБРИКА

УДК 159.923

Полозов Я.В.

проект «Социометр 15»

 

Программа «Социометр» использует контент-анализ текста взятого из речи типируемого, и на базе этого принимает решение о вероятности принадлежности типируемого к тому или иному типу.

Ключевые слова: признаки Рейнина, типирование, точное типирование, нейросети, соционика, С#, калькулятор признаков Рейнина, калькулятор ПР, Социометр, контент-анализ.

 

 

Кто чаще всех говорит – слово «хочу» - Предусмотрительные. Кто чаще всех использует предлог «к» - Статики. Кто чаще всех говорит слово «абсолютно» - эмотивисты! Эти и прочие исследования заложены в основе проекта социометр.

Пользовательская инструкция:

Основной файл: Sociometry.exe

Программа работает с русскоязычными. Общаетесь с целевым человеком на произвольную тему в умеренно дружелюбном настрое и параллельно с этим захватываете видео/аудио. Первые 15 минут общения превращаете в текст. Для превращения слов в текст – обязательно воспользуйтесь услугой профессиональных наборщиков текста. Современные программы не обеспечивают нужного качества перевода. Нужен только текст типируемого.  Переводите в файл с расширением txt. Затем в программе нажимаете на кнопку «Рассчитать ТИМ» - указываете путь к файлу и получаете ответ программы в виде распределения версий. Также программа выдает ранжирование по убыванию версий типирования в отдельном текстовом файле, и подробные расчеты вероятностей. Файл с выводом будет засунут в папку Logs.

Вы можете также протестировать работу социометра на текущих текстах выбрав файл из папки «Обработано» и посмотреть куда он отипирует того или иного человека.

Ядро программы:

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

 

Методы работы программы:

Программа использует контент-анализ, анализируя текст речи типируемого, по словам ключам, анализируя их удельную концентрацию в перерасчете на 10000 символов текста, а также по числу символов (дихотомия экстраверсия-интроверсия: критерий: болтливость за единицу времени).

 

Источники обучаемой выборки:

За основу для обучения были взяты интервью людей  чьи соционические типы были подтверждены как минимум 3 социониками (в том числе и мной) в количестве 113 человек. В данный момент есть программы «Социометр 15» программа, анализирующая на интервале в 15 минут, и «Социометр 45» - программа, анализирующая текст из речи человека на интервале в 45 минут. – В данный момент находиться в проекте.

 

Как вычисляются дихотомии:

 

При вычислении полярностей тех или иных дихотомии были взяты за основу 2 типа распределений:

Нормальное распределение:

 

Экспоненциальное распределение

 

Плотность нормального распределения считается по формуле

*k

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

х – наша полученное число частоты на 10000 символов

- среднеквадратическое отклонение для нашей дихотомии.

 

.

Где a – это среднеарифметическая величина. Нижний индекс 1 – первая полярность дихотомии. Нижний индекс 2 – вторая полярность дихотомии.

х – наша полученная частота на 10000 символов

- среднеквадратическое отклонение для нашей дихотомии. Нижний индекс 1 – первая полярность дихотомии. Нижний индекс 2 – вторая полярность дихотомии.

 

 

Вероятность в этой ситуации будет рассчитана по формуле:

 

P(1|B) – Вероятность отнесения типируемого к первой полярности дихотомии

P(2|B) – Вероятность отнесения типируемого к второй полярности дихотомии

Экспоненциальное распределение:

f(x,a)=a*exp(-ax)

a равно 1/M, где M – среднеарифметическая величина

х – наша полученная частота

 

Вероятность в этой ситуации будет рассчитана по формуле согласно теоремы Байеса:

Для экспоненциального распределения:

 

Для смешанного распределения:

Или:

f(x) - могут рассчитываться разными методами, но они одинаково будут рассчитываться в после этого по формуле согласно теоремы Байеса:

 p1=f1(x)/(f1(x)+f2(x))

 

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

Шаг 7. По т. Байеса вычислить вероятность отнесения к дихотомии на основании полученных вероятностей всех слов ключей. По этой формуле:

Шаг8: вычислить все дихотомии в калькуляторе ПР.   

Про то, как ведутся расчеты в калькуляторе ПР – читайте статью «Калькулятор ПР»

Предлагается Вашему вниманию версия: «Социометр 15»(возможны и другие версии, но ядро и алгоритмы расчетов будут те же)

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

Основной файл для настройки параметров

keys.txt

В этом файле содержится:

 

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

maxrange=4 Параметр, который считает число отипированных попавших в первую четверку. Можно поставить другую цифру. Работает при нажатии кнопки массового типирования. Актуально для таких задач: «Если социометр ошибается, то, на каком уровне находиться истинная версия?»

symbol - параметр числа символов, применимый к дихотомии

Экстраверсия-Интроверсия

Задается в стиле:

symbol;5864,18;2111,57;1;4705,04;1840,62;1

5864,18 – среднее количество символов, наговариваемых экстравертами за первые 15 минут общения

2111,57 – Сигма для экстравертов

1 – поправочный коэффициент в связи с тем, что распределение отличается от нормального. Если единица, то ни на что не влияет.

 4705,04 – среднее количество символов, наговариваемых интровертами за первые 15 минут общения

1840– Сигма для интровертов

1 – поправочный коэффициент. Если единица, то ни на что не влияет.

Прочие слова:

ну;35,74;18,13;1,03;45,30;25,20;1,04;

35,74 -Частота слов «Ну» говорят экстраверты за 15 минут в перерасчете на 10000 символов.

Например: кто-то может сказать слово «Ну» 40 раз, но при этом наговорит 5000 символов. Тогда частота сказанным ним слова «Ну» составляет 80.

18,13 – Сигма для экстравертов

1,03 –  Поправочный коэффициент для экстравертов

45,30 – Частота слов «Ну» говорят интроверты за 15 минут в перерасчете на 10000 символов.

30;25 – Сигма для интровертов

1,04 – Поправочный коэффициент для интровертов

хорошо;3,38;0;0;5,62;0;0

Если поправочный коэффициент 0 то, расчет функции плотности ведется по формуле экспоненциального распределения.

3,38 – Частота слов «Хорошо» говорят экстраверты за 15 минут в перерасчете на 10000 символов.

5,62 – Частота слов «Хорошо» говорят интроверты за 15 минут в перерасчете на 10000 символов.

В программе реализованы функции как разового типирования так массового типирования.

 

Кнопка массового типирования позволяет анализировать эффективность работы социометра по таким параметрам:

Порог срабатывания – процент уверенности социометра, ниже которого признается что «нет версии»

 

Число версий – число версий отипированных. Т.к. есть порог срабатывания – некоторые версии социометр признает что «НЕТ версии» = Лучше воздержаться чем отипировать неправильно

Версии НЕТ – количество воздержаний от типирования

Совпало – число совпадений с исходной версией типирования:

Файлы именуются примерно так:

ENFJ Каменская.txt

- первые 4 буквы программа читает и запоминает соционический тип.

 Распознавание: процент версий, которые программа определила правильно деленный на общее число отипированых

 

Сходимость: Количество правильно отипированных деленных на общее количество отипированных из тех, где есть версии

Попавшие в 1-ую maxrange=4

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

Результаты работы:

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

Важным параметром работы является соотнесения параметров «Порог срабатывания» и «Сходимость». Если между ними отличие небольшое – это означает что социометр не врет. На представленном слайде ранее порог срабатывания и сходимость составляют по 70% что указывает на то, что уверенность социометра подкрепляется реальной статистикой правильных выводов. Это значит, что если допустим социометр сделал вывод, что вы с вероятностью 90% Гамлет, значит скорее всего так и есть. Поздравляем: социометр смог правильно определить ваш ТИМ!

 


Здесь, на этом слайде загружено мое интервью с социоником Виктория Каменская, официально известной по соционическому типу Гамлет на интервале первых 15 минут.

Если Вы по-прежнему сомневаетесь в этой версии, то с вероятностью 88% ваша версия окажется в списке первых 4 версий. Это реализовано в выходном файле

 

 

 

Распознавание составило 42% - что уже превосходит точность типирования, достижимую мною на отрезке в первые 15 минут т.к. мне требуется обычно 1-3 часа для того, чтобы достоверно определить соционический тип. По моему опыту мне удается в течении первых 15 минут определить тип с точностью примерно 20-30%

 

Выводы:

  1. Создана первая программа, способная типировать на основании контент-анализа и объективно выставить оценку точности не вводя в заблуждение пользователей. Близость параметров: «Порог срабатывания» и «Сходимость» - гарантирует для пользователя что если, например он набрал более 90% точность типирования – значит, он получил достоверную версию о своем соционическом типе
  2. Данная программа способна распознать на интервале первых 15 минут общения уже в 42% случаев что превосходит точность типирования самого автора
  3. Машинное обучение или нейросети имеют в себе огромный потенциал для достижения высокоточного распознавания чего угодно. Теперь очередь за соционикой в сфере высокоточного типирования!

 

 

ПС:

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

Благодарности

Автор благодарит Александра Владиславовича Рыбака за формулы функции плотности нормального распределения и экспоненциального распределения. Также программиста Илью Кульпина за написание программы, на основании ТЗ.

 

Литература:

  1. Полозов Я.В. «Калькулятор Признаков Рейнина»
  2. Аугустинавичюте А. Теория признаков Рейнина. Очерк по соционике // "Соционика, ментология и психология личности", 1998, №1-6.
  3. Карпенко О.Б. «Позиция эксперта» СМиПЛ N 1, 1999.
  4. Миронов «Наполение Признаков Рейнина: Результаты практических исследований» СМиПЛ №1 2003
  5. Морозов М., Прошкин И. Вероятностное типирование по признакам Рейнина // "Соционическая газета", 2003, № 14 (17).
  6. Рейнин Г.Р. Группа биполярных признаков в типологии Юнга. // "Соционика, ментология и психология личности", 1996, № 6.
  7. Формула Байеса http://nsu.ru/mmf/tvims/chernova/tv/lec/node15.html

 

Статья поступила в редакцию __.__.2018 г.

 

Об авторе:

Полозов Ярослав Викторович — специалист и экспериментатор в соционике с опытом с 2003 года в     г. Киеве. Владелец каналов с соционическими исследованиями и экспериментами

https://www.youtube.com/channel/UCvNUz0gcIU5iEiPIiZ68P5g

https://www.youtube.com/channel/UC149vCZqlkUC-odgi9NWXVg

https://vimeo.com/225756162

Группы ВК

https://vk.com/iss_socionics_group

Веб сайт

http://isocionics.com/

 

Polozov Y.V.

Calculator of Reinin Dichotomies

The Sociometer program uses content analysis of the text taken from the typed speech, and on the basis of this makes a decision about the likelihood of characteristics of the typed or another type.

Keywords: Reinin dichotomies, typing, accurate typing, socionics, С#, Reinin dichotomies calculator, RD calculator, neural networks, Sociometer, content analysis