Аналіз тональності тексту

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Ана́ліз тона́льності те́ксту (сентимент-аналіз, англ. Sentiment analysis, англ. Opinion mining[1]) — клас методів контент-аналізу в комп'ютерній лінгвістиці, призначений для автоматизованого виявлення в текстах емоційно забарвленої лексики і емоційної оцінки авторів (думок) щодо об'єктів, мова про які йде в тексті.

Тональність — емоційне ставлення автора висловлювання до деякого об'єкта (об'єкта реального світу, події, процесу або їх властивостям / атрибутам), виражене в тексті. Емоційна складова, виражена на рівні лексеми або комунікативного фрагмента, називається лексичною тональністю (або лексичним сентиментом). Тональність всього тексту в цілому можна визначити як функцію (в найпростішому випадку — суму) лексичних тональностей складових його одиниць (речень) і правил їхнього поєднання[2].

Приклади[ред. | ред. код]

Цілі та завдання аналізу тональності тексту можна показати на деяких простих прикладах.

Прості випадки[ред. | ред. код]

  • Коронет має найкращі форми зі всіх круїзних суден.
  • Бертрам має глибокий корпус V і легко проходить моря.
  • У Флориді в 1980-х роках робили потворні круїзні кораблі пастельних кольорів.
  • Я не люблю старі катери з каютами[en].

Складніші приклади[ред. | ред. код]

  • Я не не люблю старі катери з каютами. (Уловлювання заперечення)
  • Мені не подобається керування судном. (Заперечення, перевернутий порядок слів)
  • Іноді я дійсно ненавиджу RIBи[en]. (Обставинна зміна ствердження)
  • Я би дійсно дуже хотів би піти прогулятись у таку погоду! (Можливий сарказм)
  • Кріс Крафт виглядає краще, ніж Лаймстоун (Дві торгові марки, що роблять визначення цілі дуже важким)
  • Кріс Крафт виглядає краще, ніж Лаймстоун, але Лаймстоун розробляє мореплавність і надійність. (Дві торгові марки, дві позиції)
  • Фільм здивував великою кількістю несподіваних сюжетних поворотів. (Негативний термін використовується в позитивному значенні в деяких областях)
  • Ви повинні побачити своє декадентське десертне меню. (Позитивний термін нещодавно став протилежним в певних областях)
  • Я люблю свій телефон, але не порекомендую його будь-кому з моїх колег. (Кваліфіковані позитивні настрої, важко класифікувати)
  • Наступного тижня концерт буде під правами koide9! (Нові терміни можуть бути дуже позитивними, але є нестійкі протилежності, а часто і з відомих словників).

Види класифікації[ред. | ред. код]

В сучасних системах автоматичного визначення емоційної оцінки тексту найчастіше використовується одномірний емотивний простір: позитив чи негатив (добре або погано). Однак відомі успішні випадки використання і багатовимірних просторів[3][4].

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

Класифікація за бінарною шкалою[ред. | ред. код]

Полярність документа можна визначати за бінарною шкалою. У цьому випадку для визначення полярності документа використовується два класи оцінок: позитивна чи негативна. Одним із недоліків цього підходу є те, що емоційну складову документа не завжди можна однозначно визначити, тобто документ може містити як ознаки позитивної оцінки, так і негативної. Ранні роботи в цій сфері включають праці Терні та Панга, які застосовують різні методи розпізнавання полярності оглядів товару та відгуків про фільми відповідно. Це приклад роботи на рівні документа.

Класифікація за багатосмуговою шкалою[ред. | ред. код]

Можна класифікувати полярність документа за багатосмуговою шкалою, що було зроблено Пангом і Снайдером (серед інших). Ними було розширене основне завдання класифікації кіновідгуків від оцінки «позитивний або негативний» в бік прогнозування рейтингу за 3-х або 4-бальною шкалою. Водночас Снайдер провів поглиблений аналіз оглядів ресторанів, пророкуючи рейтинги різних властивостей, таких як їжа та атмосфера (за 5-бальною шкалою).

Системи шкалювання[ред. | ред. код]

Іншим методом визначення тональності є використання систем шкалювання, за допомогою чого словами, зазвичай пов'язаними з негативними, нейтральними або позитивними тональностями, ставляться відповідно числа за шкалою від -10 до 10 (від негативного до самого позитивного). Спочатку фрагмент неструктурованого тексту досліджується з допомогою інструментів та алгоритмів обробки природної мови, а потім виділені з цього тексту об'єкти та терміни аналізуються з метою розуміння значення цих слів.

Суб'єктивність/об'єктивність[ред. | ред. код]

Інший дослідницький напрямок — це ідентифікація суб'єктивності/об'єктивності. Це завдання зазвичай визначається як віднесення тексту в один із двох класів — суб'єктивний або об'єктивний. Ця проблема іноді може бути складнішою, ніж класифікація полярності: суб'єктивність слів і фраз може залежати від контексту, а об'єктивний документ може містити суб'єктивні речення (наприклад, стаття-новина цитує думки людей). Як згадував Су, результати більшою мірою залежать від визначення суб'єктивності, вживаної в рамках анотації текстів. Як би не було, Панг показав, що видалення об'єктивних речень із документа перед класифікацією полярності допомогло підвищити точність результатів.

Модель більш докладного аналізу називається аналізом на основі функції/аспекту. Ця модель посилається на ухвалу думок або настроїв, виражених різними функціями або аспектами сутностей, наприклад, у стільникового телефона, цифрової камери або банку. Властивість/аспект — це атрибут або компонент сутності, досліджуваної на тональність, наприклад, екран мобільного телефона або ж якість зйомки камери. Ця проблема вимагає вирішення ряду завдань, наприклад, ідентифікація актуальних сутностей, витяг їхніх функцій, аспектів і визначення, є думка, що висловлена по кожній функції/аспекту, позитивною, негативною або нейтральною. Більш докладні дискусії з приводу цього можуть бути знайдені в довіднику з NLP, у главі «Аналіз тональності та суб'єктивності».

Підходи до класифікації тональності[ред. | ред. код]

Комп'ютери можуть виконувати автоматичний аналіз цифрових текстів, використовуючи елементи машинного навчання, такі як прихований семантичний аналіз, метод опорних векторів, «мішок слів». Більш складні методи намагаються визначити володаря настроїв (тобто людини) і мету (тобто сутність, щодо якої виражаються почуття). Щоб визначити думку з урахуванням контексту, використовують граматичні відносини між словами.

Відносини граматичної пов'язаності отримують на основі глибокого структурного розбору тексту. Аналіз тональності може бути розділений на дві окремі категорії:

  • ручний (або аналіз тональності експертами);
  • автоматизований.

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

Методи класифікації тональності[ред. | ред. код]

Методи, засновані на правилах і словниках[ред. | ред. код]

Цей метод заснований на пошуку емотивної лексики (лексичної тональності) в тексті по заздалегідь складених тональних словниках і правилах із застосуванням лінгвістичного аналізу. За сукупністю знайденої емотивної лексики текст може бути оцінений за шкалою, що містить кількість негативної та позитивної лексики. Цей метод може використовувати як списки правил, що підставляються в регулярні вирази, так і спеціальні правила з'єднання тональної лексики всередині речення. Щоб проаналізувати текст, можна скористатися наступним алгоритмом: спочатку кожному слову в тексті привласнити його значення тональності зі словника (якщо воно присутнє в словнику), а потім обчислити загальну тональність всього тексту шляхом підсумовування значення тональностей кожного окремого речення.

Основною проблемою методів, заснованих на словниках і правилах, вважається трудомісткість процесу складання словника. Щоб отримати метод, що класифікує документ із високою точністю, терміни словника повинні мати вагу, адекватний предметної області документа. Наприклад, слово «величезний» щодо обсягу пам'яті жорсткого диска є позитивною характеристикою, але негативною щодо розміру мобільного телефона. Тому цей метод вимагає значних трудовитрат, оскільки для хорошої роботи системи необхідно скласти велику кількість правил. Існує ряд підходів, що дозволяють автоматизувати складання словників для конкретної предметної області (наприклад, тематика ресторанів або мобільних телефонів).

Кероване машинне навчання[ред. | ред. код]

У наш час найчастіше вживаними в дослідженнях методами є методи на основі керованого машинного навчання. Їхня суть полягає в тому, що на першому етапі навчається машинний класифікатор (наприклад, Баєсів) на заздалегідь розмічених текстах, а потім використовують отриману модель при аналізі нових документів. Наведемо короткий алгоритм:

  1. Спочатку збирається колекція документів, на основі якої навчається машинний класифікатор.
  2. Кожен документ розкладається у вигляді вектора ознак (аспектів), за якими він буде досліджуватися.
  3. Вказується правильний тип тональності для кожного документа.
  4. Проводиться вибір алгоритму класифікації та методу для навчання класифікатора.
  5. Отриману модель використовують для визначення тональності документів нової колекції.

Некероване машинне навчання[ред. | ред. код]

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

Метод, заснований на теоретико-графових моделях[ред. | ред. код]

В основі цього методу використовується припущення про те, що не всі слова в текстовому корпусі документа рівнозначні. Якісь слова мають більшу вагу та сильніше впливають на тональність тексту. При використанні цього методу аналіз тональності розбивається на кілька етапів:

  1. Побудова графа на основі досліджуваного тексту.
  2. Ранжування його вершин.
  3. Класифікація знайдених слів.
  4. Обчислення результату.

Для класифікації слів використовується тональний словник, в якому кожному слову надається оцінка, наприклад «позитивна», «негативна» або «нейтральна». Для отримання кінцевого результату потрібно обчислити значення двох оцінок: позитивної та негативної складових тексту. Щоб знайти позитивну складову, необхідно знайти суму тональностей всіх позитивних термінів тексту з урахуванням їхньої ваги. Значення негативної складової тексту знаходиться аналогічним чином. Для підсумкової оцінки тональності всього тексту потрібно обчислити відношення цих складових за формулою: , де 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.

Примітки[ред. | ред. код]

Література[ред. | ред. код]