- PVSM.RU - https://www.pvsm.ru -

Анализ Корана при помощи AI

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

Watson

Изначально возникло желание «пропустить» Коран через небезызвестный Watson [1], тем более, что сервис позволяет анализировать текст на арабском языке. Первая сура Watson'ом была отвергнута, т.к. содержала совсем мало текста, поэтому решено было использовать вторую [2]. Результаты оказались информативными, но не совсем то, что требовалось, поскольку Watson не дает оценки по сентименту, полу и возрасту.

Обработав суру Al Baqarah, Watson представил числовые значения основных характеристик автора текста, которые можно посмотреть в JSON формате.

Абсолютный интроверт (практически замкнутый), с узким эмоцианальный диапазоном, выраженной импульсивностью. Готов пробывать что-то новое. Дисциплинированный и обязательный. Альтруизм, скромность, сочувствие и доброта не обнаружены. Высокая степень доверчивости. Выражает острую потребность в любви, гармонии, близости и организованности распорядка. Придает значение традициям и достижениям в рамках общепринятых социальных стандартов. Не заинтересован в помощи другим и получении наслаждения от жизни.

JSON

(Предупреждение про 285 слов это баг ватсона, возможно связанно с особенностями обработки арабской вязи. На самом деле 285 строф, слов значительно больше).
{
"id": "*UNKNOWN*",
"source": "*UNKNOWN*",
"tree": {
"id": "r",
"name": "root",
"children": [
{
"id": "personality",
"name": "Big 5",
"children": [
{
"id": "Extraversion_parent",
"name": "Extraversion",
"category": "personality",
"percentage": 0,
"children": [
{
"id": "Openness",
"name": "Openness",
"category": "personality",
"percentage": 0.7401994172490934,
"sampling_error": 0.0632961745,
"children": [
{
"id": "Adventurousness",
"name": "Adventurousness",
"category": "personality",
"percentage": 0.99,
"sampling_error": 0.0531619985
},
{
"id": "Artistic interests",
"name": "Artistic interests",
"category": "personality",
"percentage": 0.01376496058079709,
"sampling_error": 0.1084097325
},
{
"id": "Emotionality",
"name": "Emotionality",
"category": "personality",
"percentage": 0,
"sampling_error": 0.049707709
},
{
"id": "Imagination",
"name": "Imagination",
"category": "personality",
"percentage": 0.99,
"sampling_error": 0.0672327285
},
{
"id": "Intellect",
"name": "Intellect",
"category": "personality",
"percentage": 0.99,
"sampling_error": 0.0588966455
},
{
"id": "Liberalism",
"name": "Authority-challenging",
"category": "personality",
"percentage": 0.99,
"sampling_error": 0.0869470685
}
]
},
{
"id": "Conscientiousness",
"name": "Conscientiousness",
"category": "personality",
"percentage": 0.9123376288115044,
"sampling_error": 0.079482993,
"children": [
{
"id": "Achievement striving",
"name": "Achievement striving",
"category": "personality",
"percentage": 0.9259149497833751,
"sampling_error": 0.102722867
},
{
"id": "Cautiousness",
"name": "Cautiousness",
"category": "personality",
"percentage": 0.99,
"sampling_error": 0.09507552899999999
},
{
"id": "Dutifulness",
"name": "Dutifulness",
"category": "personality",
"percentage": 0.009847553196768501,
"sampling_error": 0.063380138
},
{
"id": "Orderliness",
"name": "Orderliness",
"category": "personality",
"percentage": 0.00951030345654535,
"sampling_error": 0.0730250425
},
{
"id": "Self-discipline",
"name": "Self-discipline",
"category": "personality",
"percentage": 0.7957300993092047,
"sampling_error": 0.048516363
},
{
"id": "Self-efficacy",
"name": "Self-efficacy",
"category": "personality",
"percentage": 0.031706902665228645,
"sampling_error": 0.096044686
}
]
},
{
"id": "Extraversion",
"name": "Extraversion",
"category": "personality",
"percentage": 0,
"sampling_error": 0.059340869500000004,
"children": [
{
"id": "Activity level",
"name": "Activity level",
"category": "personality",
"percentage": 0,
"sampling_error": 0.0810636685
},
{
"id": "Assertiveness",
"name": "Assertiveness",
"category": "personality",
"percentage": 0,
"sampling_error": 0.0866103315
},
{
"id": "Cheerfulness",
"name": "Cheerfulness",
"category": "personality",
"percentage": 0,
"sampling_error": 0.10896341150000001
},
{
"id": "Excitement-seeking",
"name": "Excitement-seeking",
"category": "personality",
"percentage": 0,
"sampling_error": 0.083409996
},
{
"id": "Friendliness",
"name": "Outgoing",
"category": "personality",
"percentage": 0.004154940124177926,
"sampling_error": 0.078376899
},
{
"id": "Gregariousness",
"name": "Gregariousness",
"category": "personality",
"percentage": 0.006610468323581309,
"sampling_error": 0.059563857
}
]
},
{
"id": "Agreeableness",
"name": "Agreeableness",
"category": "personality",
"percentage": 0.99,
"sampling_error": 0.100387345,
"children": [
{
"id": "Altruism",
"name": "Altruism",
"category": "personality",
"percentage": 0.00835173524008939,
"sampling_error": 0.073512979
},
{
"id": "Cooperation",
"name": "Cooperation",
"category": "personality",
"percentage": 0.99,
"sampling_error": 0.0826257435
},
{
"id": "Modesty",
"name": "Modesty",
"category": "personality",
"percentage": 0,
"sampling_error": 0.058549201499999995
},
{
"id": "Morality",
"name": "Uncompromising",
"category": "personality",
"percentage": 0.99,
"sampling_error": 0.06559944549999999
},
{
"id": "Sympathy",
"name": "Sympathy",
"category": "personality",
"percentage": 0.00899654205884867,
"sampling_error": 0.101299643
},
{
"id": "Trust",
"name": "Trust",
"category": "personality",
"percentage": 0.99,
"sampling_error": 0.059132582
}
]
},
{
"id": "Neuroticism",
"name": "Emotional range",
"category": "personality",
"percentage": 0.12553186654101073,
"sampling_error": 0.094767615,
"children": [
{
"id": "Anger",
"name": "Fiery",
"category": "personality",
"percentage": 0.009857823702785023,
"sampling_error": 0.0976305695
},
{
"id": "Anxiety",
"name": "Prone to worry",
"category": "personality",
"percentage": 0.10522549628333466,
"sampling_error": 0.0574906605
},
{
"id": "Depression",
"name": "Melancholy",
"category": "personality",
"percentage": 0.0012238948047045572,
"sampling_error": 0.061626443999999996
},
{
"id": "Immoderation",
"name": "Immoderation",
"category": "personality",
"percentage": 0.25656958950189773,
"sampling_error": 0.0550395485
},
{
"id": "Self-consciousness",
"name": "Self-consciousness",
"category": "personality",
"percentage": 0.06392969963372698,
"sampling_error": 0.0593781605
},
{
"id": "Vulnerability",
"name": "Susceptible to stress",
"category": "personality",
"percentage": 0.10113758876238299,
"sampling_error": 0.088768721
}
]
}
]
}
]
},
{
"id": "needs",
"name": "Needs",
"children": [
{
"id": "Ideal_parent",
"name": "Ideal",
"category": "needs",
"percentage": 0.003832960708229936,
"children": [
{
"id": "Challenge",
"name": "Challenge",
"category": "needs",
"percentage": 0.6100166548928185,
"sampling_error": 0.086264993
},
{
"id": "Closeness",
"name": "Closeness",
"category": "needs",
"percentage": 0.8251348807632928,
"sampling_error": 0.08506778699999999
},
{
"id": "Curiosity",
"name": "Curiosity",
"category": "needs",
"percentage": 0.6427034487726155,
"sampling_error": 0.1232055355
},
{
"id": "Excitement",
"name": "Excitement",
"category": "needs",
"percentage": 0.005544228138235261,
"sampling_error": 0.11254523300000001
},
{
"id": "Harmony",
"name": "Harmony",
"category": "needs",
"percentage": 0.99,
"sampling_error": 0.112534116
},
{
"id": "Ideal",
"name": "Ideal",
"category": "needs",
"percentage": 0.003832960708229936,
"sampling_error": 0.10201695250000001
},
{
"id": "Liberty",
"name": "Liberty",
"category": "needs",
"percentage": 0.5752122746131392,
"sampling_error": 0.1490213055
},
{
"id": "Love",
"name": "Love",
"category": "needs",
"percentage": 0.99,
"sampling_error": 0.103592588
},
{
"id": "Practicality",
"name": "Practicality",
"category": "needs",
"percentage": 0.99,
"sampling_error": 0.089956072
},
{
"id": "Self-expression",
"name": "Self-expression",
"category": "needs",
"percentage": 0.009886632263973901,
"sampling_error": 0.083656981
},
{
"id": "Stability",
"name": "Stability",
"category": "needs",
"percentage": 0.011545403965898251,
"sampling_error": 0.109521769
},
{
"id": "Structure",
"name": "Structure",
"category": "needs",
"percentage": 0.99,
"sampling_error": 0.0821582255
}
]
}
]
},
{
"id": "values",
"name": "Values",
"children": [
{
"id": "Self-transcendence_parent",
"name": "Self-transcendence",
"category": "values",
"percentage": 0,
"children": [
{
"id": "Conservation",
"name": "Conservation",
"category": "values",
"percentage": 0.99,
"sampling_error": 0.069950964
},
{
"id": "Openness to change",
"name": "Openness to change",
"category": "values",
"percentage": 0.008825493504679734,
"sampling_error": 0.0660268375
},
{
"id": "Hedonism",
"name": "Hedonism",
"category": "values",
"percentage": 0.008326985786020414,
"sampling_error": 0.140913567
},
{
"id": "Self-enhancement",
"name": "Self-enhancement",
"category": "values",
"percentage": 0.765277368499976,
"sampling_error": 0.10627466249999999
},
{
"id": "Self-transcendence",
"name": "Self-transcendence",
"category": "values",
"percentage": 0,
"sampling_error": 0.0846075525
}
]
}
]
}
]
},
"warnings": [
{
"id": "WORD_COUNT_MESSAGE",
"message": "There were 285 words in the input. We need a minimum of 3,500, preferably 6,000 or more, to compute statistically significant estimates"
}
]
}

Любопытно то, что практически все характеристики предоставленные «Ватсоном» возведены в абсолют, что редко встречалось при анализе других текстов, иначе говоря, Watson редко демонстрирует такую высокую степень уверенности в полученных результатах.

image

Помимо числовых значений, Watson еще предоставляет и небольшое текстовое описание полученных результатов, в так называемом «human readable format». Сам факт наличия такого описания удобен, но мало интересен, а вот процесс его генерации немного неожиданный. Код отвечающий за создание текста реализован на стороне клиента, на JavaScript — Выделяются наиболее яркие черты, ранжируются и каждой присваевается идентификатор. Потом сторятся предложения вида:

switch (intervalFor(valuesList[0].percentage)) {
    case 0:
        sentence = format(tphrase('You are relatively unconcerned with both %s and %s'), term1, term2) + '.';
    break;
    case 1:
        sentence = format(tphrase("You don't find either %s or %s to be particularly motivating for you"), term1, term2) + '.';
    break;
}

uClassify

Очередной условно бесплатный сервис [4], использующий технологии машинного обучения для анализа текста по выбранным классификаторам. Выбор пал на него по двум причинам — высокие результаты на тестовых выборках и наличие требуемых классификаторов. Более того, отсутствие ограничения на минимальное количество слов для анализа, что позволяет проанализировать каждую отдельно взятую суру.

К сожалению uClassify работает только с текстом написанном на Английском языке, поэтому анализу подвергся текст корана в Английском переводе. Опираясь на информацию из разных источников, я выбрал наиболее точный, широко признанный и часто используемый вариант перевода [5].

Начал с классификатора сентимент, который демонстрирует общее настроение повествования — негативное или позитивное.

Сура 1 2 3 4 5 6 7
Негатив 9% 76% 71% 76% 60% 60% 54%
Позитив 91% 24% 29% 24% 40% 40% 46%

На графике ниже отчетливо заметно, что текст Корана начинается крайне позитивно, а потом интенсивно устремляется в негатив, причем негативные настроения сохраняются на протяжении всего текста, лишь незначительно ослабевая ближе к окончанию, когда настроение повествования приближается к нейтральному (негатив 54%).
sentiment graph

Вполне закономерно и то, что негативное настроение превалирует на протяжении всего текста, тем более если учесть тот факт, что первая сура несоизмеримо мала по обьему, в сравнении с каждой последующей.
sentiment graph

Если предположить, что текст Корана писался не одним человеком, а несколькими и проанализировать гендерный классификатор, то получается не менее интересная «картина»:
image

Сура 1 2 3 4 5 6 7
Мужчина 20% 49% 48% 60% 69% 54% 47%
Девушка 80% 51% 52% 40% 31% 46% 53%

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

Эпилог

Конечно это всего лишь цифры, графики и формулы.

Автор: ipo

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/issledovanie/175323

Ссылки в тексте:

[1] Watson: https://personality-insights-livedemo.mybluemix.net

[2] вторую: http://www.searchtruth.com/chapter_display.php?chapter=2&translator=7

[3] https://personality-insights-livedemo.mybluemix.net/js/components/personality-text-summary.standalone.js: https://personality-insights-livedemo.mybluemix.net/js/components/personality-text-summary.standalone.js

[4] бесплатный сервис: https://www.uclassify.com/browse/uclassify/sentiment?input=Url

[5] точный, широко признанный и часто используемый вариант перевода: http://www.noblequran.com/

[6] Источник: https://habrahabr.ru/post/308082/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best