Аналіз Корану за допомогою AI

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

Watson

Спочатку виникло бажання «пропустити» Коран через відомий Watson, тим більше, що сервіс дозволяє аналізувати текст арабською мовою. Перша сура Watson'му була відкинута, оскільки містила зовсім мало тексту, тому вирішено було використовувати другий. Результати виявилися інформативними, але не зовсім те, що потрібно, оскільки Watson не дає оцінки за сентименту, статтю і віком.

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

Абсолютний інтроверт (практично замкнутий), з вузьким эмоцианальный діапазоном, вираженою імпульсивністю. Готовий пробувати щось нове. Дисциплінований і обов'язковий. Альтруїзм, скромність, чуйність і доброта не виявлені. Висока ступінь довірливості. Висловлює гостру потребу в любові, гармонії, близькості й організованості розпорядку. Надає значення традицій і досягнень в рамках загальноприйнятих соціальних стандартів. Не зацікавлений у допомозі іншим і отриманні насолоди від життя.
JSON
(Попередження про 285 слів це баг ватсона, можливо пов'язано з особливостями обробки арабської в'язі. Насправді 285 строф, слів значно більше).
 
{
 
"id": "*UNKNOWN*",
 
"джерело": "*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 прагнула",
 
"name": "Achievement прагнула",
 
"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;
}

Посилання на весь JS файлhttps://personality-insights-livedemo.mybluemix.net/js/components/personality-text-summary.standalone.js

uClassify

Черговий умовно безкоштовний сервіс, що використовує технології машинного навчання для аналізу тексту за обраним класифікаторах. Вибір упав на нього з двох причин — високі результати на тестових зразках і наявність необхідних класифікаторів. Більш того, відсутність обмеження на мінімальну кількість слів для аналізу, що дозволяє проаналізувати кожну окремо взяту суру.

На жаль uClassify працює тільки з текстом написаному Англійською мовою, тому аналізу піддано текст корану в Англійському перекладі. Спираючись на інформацію з різних джерел, я вибрав найбільш точний, широко визнаний і часто використовуваний варіант перекладу.

Почав з класифікатора сентимент, який демонструє загальний настрій оповідання — негативне чи позитивне.
Сура 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, що говорить про прямий зв'язок між класифікаторами підлоги і настроенем тексту.

Епілог

Звичайно, це всього лише цифри, графіки і формули.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.