Аналіз тональності тексту
Ана́ліз тона́льності те́ксту (сентимент-аналіз, англ. Sentiment analysis, англ. Opinion mining[1]) — клас методів контент-аналізу в комп'ютерній лінгвістиці, призначений для автоматизованого виявлення в текстах емоційно забарвленої лексики і емоційної оцінки авторів (думок) щодо об'єктів, мова про які йде в тексті.
Тональність — емоційне ставлення автора висловлювання до певного об'єкта (об'єкта реального світу, події, процесу або їх властивостей / атрибутів), виражене в тексті. Емоційна складова, виражена на рівні лексеми або комунікативного фрагмента, називається лексичною тональністю (або лексичним сентиментом). Тональність всього тексту в цілому можна визначити як функцію (в найпростішому випадку — суму) лексичних тональностей складових його одиниць (речень) і правил їхнього поєднання[2].
Цілі та завдання аналізу тональності тексту можна показати на деяких простих прикладах.
- Коронет має найкращі форми зі всіх круїзних суден.
- Бертрам має глибокий корпус V і легко проходить моря.
- У Флориді в 1980-х роках робили потворні круїзні кораблі пастельних кольорів.
- Я не люблю старі катери з каютами[en].
Ця стаття містить правописні, лексичні, граматичні, стилістичні або інші мовні помилки, які треба виправити. (листопад 2017) |
- Я не не люблю старі катери з каютами. (Уловлювання заперечення)
- Мені не подобається керування судном. (Заперечення, перевернутий порядок слів)
- Іноді я дійсно ненавиджу RIBи[en]. (Обставинна зміна ствердження)
- Я би дійсно дуже хотів би піти прогулятись у таку погоду! (Можливий сарказм)
- Кріс Крафт виглядає краще, ніж Лаймстоун (Дві торгові марки, що роблять визначення цілі дуже важким)
- Кріс Крафт виглядає краще, ніж Лаймстоун, але Лаймстоун розробляє мореплавність і надійність. (Дві торгові марки, дві позиції)
- Фільм здивував великою кількістю несподіваних сюжетних поворотів. (Негативний термін використовується в позитивному значенні в деяких областях)
- Ви повинні побачити своє декадентське десертне меню. (Позитивний термін нещодавно став протилежним в певних областях)
- Я люблю свій телефон, але не порекомендую його будь-кому з моїх колег. (Кваліфіковані позитивні настрої, важко класифікувати)
- Наступного тижня концерт буде під правами koide9! (Нові терміни можуть бути дуже позитивними, але є нестійкі протилежності, а часто і з відомих словників).
В сучасних системах автоматичного визначення емоційної оцінки тексту найчастіше використовується одномірний емотивний простір: позитив чи негатив (добре або погано). Однак відомі успішні випадки використання і багатовимірних просторів[3][4].
Основним завданням в аналізі тональності є класифікація полярності документа, тобто визначення, чи є виражена думка в документі або реченні позитивною, негативною або нейтральною. Більш розгорнуто, «поза полярності» класифікація тональності виражається, наприклад, такими емоційними станами, як «злий», «сумний» і «щасливий».
Полярність документа можна визначати за бінарною шкалою. У цьому випадку для визначення полярності документа використовується два класи оцінок: позитивна чи негативна. Одним із недоліків цього підходу є те, що емоційну складову документа не завжди можна однозначно визначити, тобто документ може містити як ознаки позитивної оцінки, так і негативної. Ранні роботи в цій сфері включають праці Терні та Панга, які застосовують різні методи розпізнавання полярності оглядів товару та відгуків про фільми відповідно. Це приклад роботи на рівні документа.
Можна класифікувати полярність документа за багатосмуговою шкалою, що було зроблено Пангом і Снайдером (серед інших). Ними було розширене основне завдання класифікації кіновідгуків від оцінки «позитивний або негативний» в бік прогнозування рейтингу за 3-х або 4-бальною шкалою. Водночас Снайдер провів поглиблений аналіз оглядів ресторанів, пророкуючи рейтинги різних властивостей, таких як їжа та атмосфера (за 5-бальною шкалою).
Іншим методом визначення тональності є використання систем шкалювання, за допомогою чого словами, зазвичай пов'язаними з негативними, нейтральними або позитивними тональностями, ставляться відповідно числа за шкалою від -10 до 10 (від негативного до самого позитивного). Спочатку фрагмент неструктурованого тексту досліджується з допомогою інструментів та алгоритмів обробки природної мови, а потім виділені з цього тексту об'єкти та терміни аналізуються з метою розуміння значення цих слів.
Інший дослідницький напрямок — це ідентифікація суб'єктивності/об'єктивності. Це завдання зазвичай визначається як віднесення тексту в один із двох класів — суб'єктивний або об'єктивний. Ця проблема іноді може бути складнішою, ніж класифікація полярності: суб'єктивність слів і фраз може залежати від контексту, а об'єктивний документ може містити суб'єктивні речення (наприклад, стаття-новина цитує думки людей). Як згадував Су, результати більшою мірою залежать від визначення суб'єктивності, вживаної в рамках анотації текстів. Як би не було, Панг показав, що видалення об'єктивних речень із документа перед класифікацією полярності допомогло підвищити точність результатів.
Модель більш докладного аналізу називається аналізом на основі функції/аспекту. Ця модель посилається на ухвалу думок або настроїв, виражених різними функціями або аспектами сутностей, наприклад, у стільникового телефона, цифрової камери або банку. Властивість/аспект — це атрибут або компонент сутності, досліджуваної на тональність, наприклад, екран мобільного телефона або ж якість зйомки камери. Ця проблема вимагає вирішення ряду завдань, наприклад, ідентифікація актуальних сутностей, витяг їхніх функцій, аспектів і визначення, є думка, що висловлена по кожній функції/аспекту, позитивною, негативною або нейтральною. Більш докладні дискусії з приводу цього можуть бути знайдені в довіднику з NLP, у главі «Аналіз тональності та суб'єктивності».
Комп'ютери можуть виконувати автоматичний аналіз цифрових текстів, використовуючи елементи машинного навчання, такі як прихований семантичний аналіз, метод опорних векторів, «мішок слів». Більш складні методи намагаються визначити володаря настроїв (тобто людини) і мету (тобто сутність, щодо якої виражаються почуття). Щоб визначити думку з урахуванням контексту, використовують граматичні відносини між словами.
Відносини граматичної пов'язаності отримують на основі глибокого структурного розбору тексту. Аналіз тональності може бути розділений на дві окремі категорії:
- ручний (або аналіз тональності експертами);
- автоматизований.
Найбільш помітні відмінності між ними лежать в ефективності системи і точності аналізу. У комп'ютерних програмах автоматизованого аналізу тональності застосовують алгоритми машинного навчання, інструменти статистики та обробки природної мови, що дозволяє обробляти великі масиви тексту, включно з вебсторінками, онлайн-новинами, текстами дискусійних груп в інтернеті, онлайн-оглядами, вебблогами та соціальними медіа.
Цей метод заснований на пошуку емотивної лексики (лексичної тональності) в тексті по заздалегідь складених тональних словниках і правилах із застосуванням лінгвістичного аналізу. За сукупністю знайденої емотивної лексики текст може бути оцінений за шкалою, що містить кількість негативної та позитивної лексики. Цей метод може використовувати як списки правил, що підставляються в регулярні вирази, так і спеціальні правила з'єднання тональної лексики всередині речення. Щоб проаналізувати текст, можна скористатися наступним алгоритмом: спочатку кожному слову в тексті привласнити його значення тональності зі словника (якщо воно присутнє в словнику), а потім обчислити загальну тональність всього тексту шляхом підсумовування значення тональностей кожного окремого речення.
Основною проблемою методів, заснованих на словниках і правилах, вважається трудомісткість процесу складання словника. Щоб отримати метод, що класифікує документ із високою точністю, терміни словника повинні мати вагу, адекватний предметної області документа. Наприклад, слово «величезний» щодо обсягу пам'яті жорсткого диска є позитивною характеристикою, але негативною щодо розміру мобільного телефона. Тому цей метод вимагає значних трудовитрат, оскільки для хорошої роботи системи необхідно скласти велику кількість правил. Існує ряд підходів, що дозволяють автоматизувати складання словників для конкретної предметної області (наприклад, тематика ресторанів або мобільних телефонів).
У наш час найчастіше вживаними в дослідженнях методами є методи на основі керованого машинного навчання. Їхня суть полягає в тому, що на першому етапі навчається машинний класифікатор (наприклад, Баєсів) на заздалегідь розмічених текстах, а потім використовують отриману модель при аналізі нових документів. Наведемо короткий алгоритм:
- Спочатку збирається колекція документів, на основі якої навчається машинний класифікатор.
- Кожен документ розкладається у вигляді вектора ознак (аспектів), за якими він буде досліджуватися.
- Вказується правильний тип тональності для кожного документа.
- Проводиться вибір алгоритму класифікації та методу для навчання класифікатора.
- Отриману модель використовують для визначення тональності документів нової колекції.
В основі цього підходу лежить ідея, що терміни, які найчастіше зустрічаються в тексті і водночас присутні в невеликій кількості текстів у всій колекції мають найбільшу вагу в тексті. Виділивши ці терміни, а потім визначивши їхню тональність, можна зробити висновок про тональність всього тексту.
В основі цього методу використовується припущення про те, що не всі слова в текстовому корпусі документа рівнозначні. Якісь слова мають більшу вагу та сильніше впливають на тональність тексту. При використанні цього методу аналіз тональності розбивається на кілька етапів:
- Побудова графа на основі досліджуваного тексту.
- Ранжування його вершин.
- Класифікація знайдених слів.
- Обчислення результату.
Для класифікації слів використовується тональний словник, в якому кожному слову надається оцінка, наприклад «позитивна», «негативна» або «нейтральна». Для отримання кінцевого результату потрібно обчислити значення двох оцінок: позитивної та негативної складових тексту. Щоб знайти позитивну складову, необхідно знайти суму тональностей всіх позитивних термінів тексту з урахуванням їхньої ваги. Значення негативної складової тексту знаходиться аналогічним чином. Для підсумкової оцінки тональності всього тексту потрібно обчислити відношення цих складових за формулою: , де T — підсумкова оцінка тональності, P — оцінка позитивної складової тексту і N — негативна складова тексту. Відповідно до статті Меншикова, текст, в якому значення T близьке до одиниці, буде вважатися нейтральним, якщо трохи перевищує 1 — позитивним. Якщо сильно перевершує 1, то сильно позитивним. Зворотне вірно і для текстів негативної тональності. Більш детально цей метод розглянуто в роботах Голдберга та Пономарьової.
Точність і якість системи аналізу тональності тексту оцінюється тим, наскільки добре вона узгоджується з думкою людини щодо емоційної оцінки досліджуваного тексту. Для цього можуть використовуватися такі показники як точність і повнота. Формула для знаходження повноти:
де correctly extracted opinions — правильно розпізнані думки, total number of opinions — загальна кількість думок (як знайдених системою, так і не знайдених).
Точність обчислюється за формулою:
де correctly extracted opinions — правильно розпізнані думки, total number of opinions found by system — загальна кількість думок, знайдених системою. Таким чином, точність виражає кількість досліджуваних текстів, речень або документів, в оцінці яких думка системи аналізу тональності збіглась із думкою експерта. При цьому, згідно з дослідженням, експерти зазвичай погоджуються в оцінках тональності конкретного тексту в 79 % випадків. Тобто, програма, яка визначає тональність тексту з точністю 70 % робить це майже так само добре, як і людина.
- Washington, Erin (14-11-2013). Human Sentiment Analysis. Growing Social Media (англ.). Архів оригіналу за 1 грудня 2017. Процитовано 11 грудня 2013.
- Ogneva, M (13-12-2012). How Companies Can Use Sentiment Analysis to Improve Their Business. Mashable (англ.). Архів оригіналу за 20 листопада 2017. Процитовано 11 грудня 2013.
- SentiWordNet (англ.). Архів оригіналу за 26 листопада 2017. Процитовано 23 листопада 2017.
- SenticNet (англ.). Архів оригіналу за 21 листопада 2017. Процитовано 23 листопада 2017.
- SenticNet Example (англ.). Архів оригіналу за 1 грудня 2017. Процитовано 23 листопада 2017.
- SenticNet About (англ.). Архів оригіналу за 5 вересня 2017. Процитовано 23 листопада 2017.
- SenticNet API (англ.). Архів оригіналу за 23 листопада 2017. Процитовано 23 листопада 2017.
- WordNet-Affect (англ.). Архів оригіналу за 30 листопада 2017. Процитовано 23 листопада 2017.
- ↑ Pang, Lee, 2008, с. 6.
- ↑ Bing Liu, 2010, с. 5.
- ↑ Bollen,Mao,J.Zeng, 2010.
- ↑ Pang, Lee, 2008.
- Stefano Baccianella. Sentiwordnet 3.0: An enhanced lexical resource for sentiment analysis and opinion mining // Proceedings of LREC : конференція. — 2010. — P. 2200–2204.
- Victoria Bobicev, Victoria Maxim, Tatiana Prodan, Natalia Burciu, Victoria Angheluş. Emotions in words: developing a multilingual WordNet-Affect. — 2010. — P. 1-10.
- J.Bollen, H.Mao, X.-J.Zeng. Twitter mood predicts the stock market // JTechnical Report arXiv:1010.3003, CoRR : журнал. — 2010.
- Erik Cambria. SenticNet 2: A semantic and affective resource for opinion mining and sentiment analysis // Proceedings of AAAI FLAIRS : конференція. — 2012. — P. 202–207.
- Erik Cambria, Amir Hussain, Catherine Havasi, and Chris Eckl. Common Sense Computing: from the Society of Mind to Digital Intuition and Beyond // Biometric ID Management and Multimodal Communication Lecture Notes in Computer Science : журнал. — 2009. — P. 252-259.
- Andrew Goldberg, Xiaojin Zhu. Seeing stars when there aren’t many stars:Graph-based semi-supervised learning for sentiment categorization // Proceedings of the First Workshop on Graph Based Methods for Natural Language Processing,Computer Sciences Department University of Wisconsin-Madison : конференція. — 2006. — P. 45-52.
- Minqing Hu, Bing Liu. Mining and Summarizing Customer Reviews // Proceedings of KDD : конференція. — 2004.
- Nozomi Kobayashi, Ryu Iida, Kentaro Inui, Yuji Matsumoto. Opinion Mining on the Web by Extracting Subject-Aspect-Evaluation Relations // Nara Institute of Science and Technology, Takayama, Ikoma, Nara 630-0192, Japan : конференція. — 2006. — P. 1-6.
- Bernardo Magnini, Gabriela Cavaglia. Integrating subject field codes into WordNet. — 2000.
- Bo Pang, Lillian Lee, Shivakumar Vaithyanathan. Thumbs up? Sentiment Classification using Machine Learning Techniques // EMNLP. — 2002. — P. 79–86.
- Bo Pang, Lillian Lee. A Sentimental Education: Sentiment Analysis Using Subjectivity Summarization Based on Minimum Cuts // Proceedings of the Association for Computational Linguistics (ACL) : журнал. — 2004. — P. 271–278.
- Bo Pang, Lillian Lee. Seeing stars: exploiting class relationships for sentiment categorization with respect to rating scales // In Proceedings of the 43rd annual meeting of the Association for Computational Linguistics (ACL) : журнал. — 2005. — No. June 25–30. — P. 115–124.
- Bo Pang, Lillian Lee. Opinion Mining and Sentiment Analysis // Foundations and Trends in Information Retrieval : журнал. — 2008. — No. 2. — P. 1-135.