Відкрити головне меню

Ана́ліз тона́льності те́ксту (сентимент-аналіз, англ. 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. обчислення результату.

Детальніше про пунктах 1 і 2 ви можете прочитати в роботі «Витяг термінів з російськомовних текстів за допомогою графових моделей» Д. А. Усталова. Для класифікації слів використовується тональний словник, в якому кожне слово співвідноситься оцінка, наприклад «позитивна», «негативна» або «нейтральна». Для отримання кінцевого результату потрібно обчислити значення двох оцінок: позитивної складової тексту і негативною. Для того, щоб знайти позитивну складову тексту необхідно знайти суму тональностей всіх позитивних термінів тексту з урахуванням їх ваги. Значення негативною складовою тексту знаходиться аналогічним чином. Для підсумкової оцінки тональності всього тексту потрібно обчислити відношення цих складових за формулою:  , де 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 (en). Процитовано 2013-12-11. 

ПриміткиРедагувати

ЛітератураРедагувати