Система автоматического анализа мнений покупателей

Том 10. № 4 (58). 2015

В. А. Яцко, докт. филол. наук, профессор, Хакасский государственный университет им. Н. Ф. Катанова,

г. Абакан, viatcheslav-yatsko@rambler.ru

Система автоматического анализа мнений покупателей

Рассматриваются основные этапы создания и структура лингвистической онтологии и грамматики, предназначенных для системы автоматического анализа мнений покупателей о коммерческих продуктах . Онтология включает синтаксические и семантические термины, их подкатегории, группы и классы и позволяет вычислять весовые коэффициенты оценочных терминов, соотносящихся с именем коммерческого продукта, указанным в запросе пользователя . С помощью правил грамматики термины онтологии соотносятся с именами продуктов . На выходе системы — обобщенные коэффициенты, отражающие интенсивность положительных и отрицательных оценок продукта, а также конкретные оценочные термины с указанием их коэффициентов .

Ключевые слова: автоматический анализ мнений покупателей, онтология, линейная грамматика, оценка качества, коммерческий продукт.

Введение

Развитие интернет-торговли в последнее десятилетие обусловило появление многочисленных социальных сетей, где публикуется информация о характеристиках коммерческих продуктов, а также отзывы покупателей о различных товарах. Например, Яндекс. Маркет1 содержит информацию о почти 63 424 598 товарах и 16 008 магазинах, предоставляя покупателям возможность оставлять отзывы о товарах и магазинах, участвовать в обсуждении товаров и самого Яндекс. Маркета на форумах. Существуют и сети, специализирующиеся на одном виде товаров, например Автомаркет2 и Mobile-review3.

Информация, содержащая мнения покупателей о продуктах, по-разному представлена в разных социальных сетях. На Авто-маркете данная информация структурирована в виде блога: пользователи обсужда-

1 http://market.yandex.ru

2 http://avtomarket.ru/opinions

3 http://www.mobile-review.com

ют отзыв, и автор отзыва может участвовать в обсуждении. На Яндекс. Маркете информация содержится в отзывах покупателей и форумах, а на Mobile-review — в обзорах и форумах. Информация на таких интернет-сайтах часто имеет определяющее значение для выбора покупателем того или иного товара. Вместе с тем мнения покупателей о товарах представляют интерес и для фирм-производителей. Анализ мнений пользователей позволяет выявить наиболее типичные недостатки или достоинства товаров, что оказывает существенное влияние на маркетинговую политику и рекламные кампании фирм-производителей, принятие решений о продвижении тех или иных продуктов.

В последнее десятилетие активно разрабатываются системы автоматического анализа мнений покупателей о продуктах и товарах, содержащиеся в блогах, форумах, обзорах и чатах. Такие системы, как Sentiment Metrics4, Nielsen NetRatings5,

4 http://www.sentimentmetrics.com

5 http://en-us.nielsen.com/tab/product_families/nielsen netratings

Vol. 10. No. 4 (58). 2015

Biz3606, в результате анализа текста входного веб-документа/документов на выходе выдают пользователю список объектов (имен продуктов) и оценочных терминов, соотносящихся с каждым объектом, с приписанными коэффициентами интенсивности оценки.

Кроме того, обычно выдаются: 1) обобщенный коэффициент положительных оценок, извлеченных из данного текста; 2) обобщенный коэффициент отрицательных оценок; 3) обобщенный коэффициент для данного текста / группы текстов в целом; 4) оценки конкретного продукта, указанного в запросе пользователя. Пользователь также имеет возможность отследить динамику мнений о продукте (продуктах) в течение определенного периода времени. Некоторые системы предлагают в качестве дополнительного сервиса отслеживание новостей и уведомление по электронной почте об упоминании продукта. Кроме того, в настоящее время проводятся исследования, направленные на распознавание в тексте дополнительной демографической информации о пользователях (пол, возраст, уровень образования), что позволяет устанавливать распределение оценок и мнений по категориям пользователей/покупателей и соответственно ориентировать продажи данного продукта.

В основе функционирования систем этого типа лежит словарь оценочных терминов (subjectivity terms) с приписанными весовыми коэффициентами, выражающими интенсивность оценки, который является основным компонентом лингвистической онтологии. В Интернете размещено достаточно много списков оценочных английских терминов (см., например, General Inquirer7, MPQA Opinion Corpus8). Для английского языка разработано также программное обеспечение, позволяющее распознавать во входном тексте оценочные термины и автома-

6 http://www.biz360.com

7 http://www.wjh.harvard.edu/~inquirer/homecat. htm

8 http://www.cs.pitt.edu/mpqa

тически начислять весовые коэффициенты (см.: OpinionFinder9, SentiWordNet10).

Функционирование систем автоматического анализа мнений покупателей основано на двух группах последовательно выполняемых алгоритмов: алгоритмах распознавания оценочных терминов и алгоритмах соотнесения найденных оценочных терминов с терминами, обозначающими объекты (товары, продукты), которые оцениваются. Первая группа алгоритмов выполняется на основе онтологии, вторая — на основе грамматики.

Ниже будут рассмотрены основные этапы создания и структура лингвистической онтологии и грамматики, разработанной нами для системы автоматического анализа мнений покупателей о коммерческих продуктах. Система разрабатывалась по заказу зарубежной фирмы, сформулировавшей следующие требования. На входе: 1) текст на английском языке, содержащий мнения покупателей; 2) запрос с именем продукта/ товара. На выходе: 1) обобщенный коэффициент отрицательных оценок продукта, указанного в запросе; 2) обобщенный коэффициент положительных оценок продукта, указанного в запросе; 3) конкретные оценочные термины (слова и словосочетания) с коэффициентами, приписанными каждому термину.

Лингвистическая онтология

Онтологией называется система понятий некоторой предметной области, которая представляется как набор сущностей, соединенных различными отношениями [1, с. 3]. В [2] было введено понятие лингвистической онтологии, главной характеристикой которой является то, что понятия онтологии связаны со значениями языковых терминов [2, с. 2]. В этой же работе рассматриваются этапы разработки онтологии.

9 http://www.cs.pitt.edu/mpqa/opinionfinderrelease

10 http://sentiwordnet.isti.cnr.it

Том 10. № 4 (58). 2015

1. Создание корпуса текстов, принадлежащего предметной области, для которой создается онтология.

2. Извлечение из корпуса значимых для данной предметной области слов и словосочетаний.

3. Анализ словаря и корпуса экспертами для определения понятийно-терминологической структуры онтологии, таксономических отношений и отношений онтологической зависимости.

В нашем проекте эксперт принимал участие во всех этапах создания онтологии.

1. Вначале экспертом была определена общая структура онтологии на основе изучения имеющейся литературы.

2. Из Интернета были загружены имеющиеся в свободном доступе списки оценочных терминов, изученных экспертом. Была уточнена структура онтологии.

3. Экспертом вручную были составлены примерные шкалы оценочных терминов, относящихся к разным частям речи, с приписанными положительными или отрицательными весовыми коэффициентами, отражающими интенсивность положительной или отрицательной оценки. Очевидно, что интенсивность оценки, выражаемой глаголом dislike (коэффициент - 1), существенно ниже, чем интенсивность оценки, выражаемой глаголом hate (коэффициент - 6).

4. К словам в шкалах были автоматически (с помощью специально разработанного программного обеспечения) добавлены синонимы из тезауруса WordNet и из списков, найденных в Интернете. В результате были получены списки, включающие 26 852 термина.

5. Эти списки были вручную отредактированы экспертом, исключившим термины, не выражающие оценочной информации, а также термины, выражающие оценки одушевленных объектов. Поскольку в задачи проекта входило распознавание оценок коммерческих продуктов, из списков были исключены термины, выражающие оценку человеческих качеств: ср., например, a courageous person и a courageous

telephone. В результате в онтологии осталось 16 723 термина, причем большинство весовых коэффициентов были изменены экспертом. Шкала интенсивности оценок изменялась от 1 до 9; было также проведено аннотирование тегами частей речи для того, чтобы разграничить омонимичные оценочные термины, относящиеся к разным частям речи и выражающие различные оценки. Аннотирование тегами частей речи также лежало в основе грамматики. Для входного текста выполнялся морфологический анализ (стемминг) с целью отождествления слов с одной основой. В табл. 1 приводится выборка оценочных терминов с коэффициентами, указывающими на интенсивность оценки.

Разработанная нами онтология включает две категории: семантические термины и синтаксические термины. К семантическим относятся термины, выражающие отрицательную или положительную семантику, к синтаксическим — термины, которые сами по себе не имеют оценочного значения, но могут изменять интенсивность оценки, выражаемой семантическими терминами. Соответственно, отношение между синтаксическими и семантическими терминами мы рассматриваем как бинарное, выделяя подкатегории с симметричным, асимметричным и обратным отношениями между ними.

Симметричное отношение реализуется следующими группами синтаксических терминов.

• Термины, увеличивающие интенсивность как положительной, так и отрицательной оценки. Ср.: very good и very bad. В данных фразах синтаксический термин very увеличивает интенсивность как положительной, так и отрицательной оценки, выражаемой семантическими терминами good и bad.

• Термины, снижающие интенсивность как положительной, так и отрицательной оценки. Ср.: almost perfect и almost worthless. В данных фразах синтаксический термин almost снижает интенсивность как положительной, так и отрицательной оценки, выра-

Vol. 10. No. 4 (58). 2015

Таблица 1. Выборка оценочных терминов Table 1. Sample subjectivity terms

Часть речи Положительные термины Оценочный коэффициент Отрицательные термины Оценочный коэффициент

Прилагательное divine 9 flagrant -9

gorgeous 8 futureless -8

excellent 7 helpless -7

flawless 6 incompetent -6

glamorous 5 inconsistent -5

graceful 4 listless -4

helpful 3 lopsided -3

hermetic 2 ludicrous -2

individualized 1 maladaptive -1

Существительное delight 9 shit -9

paragon 8 filth -8

charm 7 ruffian -7

rapture 6 rancor -6

prize 5 poverty -5

liking 4 outrage -4

keepsake 3 obloquy -3

support 2 nuisance -2

backup 1 misalignment -1

Глагол adore 9 abhor -9

admire 8 dilute -8

marvel 7 fake -7

enjoy 6 hate -6

dignify 5 humiliate -5

crave 4 irritate -4

compensate 3 leer -3

create 2 lose -2

conform 1 meddle -1

жаемой семантическими терминами perfect и worthless.

Асимметричное отношение реализуется следующими группами синтаксических терминов:

• термины, усиливающие интенсивность отрицательной оценки и снижающие интенсивность положительной оценки. Ср.: too expensive и too modern. В данных фразах синтаксический термин too снижает интен-

сивность положительной оценки, выражаемой семантическим термином modern, и усиливает интенсивность отрицательной оценки, выражаемой семантическим термином expensive;

• термины, усиливающие интенсивность положительной оценки и снижающие интенсивность отрицательной оценки. В процессе выполнения проекта не найдено примеров таких терминов, однако можно предполо-

Том 10. № 4 (58). 2015

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

Обратное отношение реализуется терминами, изменяющими оценочное значение семантического термина на противоположное: отрицательное значение — на положительное, а положительное — на отрицательное. Ср.: not good и not bad. В данных фразах синтаксический термин not меняет положительную семантику термина good на отрицательную, а отрицательную семантику термина bad — на положительную. Заметим, что not bad не равно good, а not good не равно bad: в обоих случаях имеет место снижение интенсивности оценочной семантики по сравнению с опорными терминами, что требует разработки специальных правил начисления весовых коэффициентов.

Следует подчеркнуть, что синтаксические термины учитывались только в том случае, если они встречались в одной клаузе с семантическими терминами, т. е. просматривались все клаузы исходного текста и выявлялись клаузы, содержащие семантические термины. Далее в этих же клаузах проводился поиск синтаксических терминов. Если они находились, то словосочетаниям с семантическими и синтаксическими терминами начислялся весовой коэффициент по сумме коэффициентов синтаксического и семантического терминов. Например, весовой коэффициент словосочетания too lopsided = (-2) + (-3) = - 5, где - 2 — коэффициент синтаксического термина too, - 3 — весовой коэффициент семантического термина lopsided.

В некоторых случаях учитывалась совместная встречаемость синтаксического и семантического терминов не в рамках клаузы, а в определенном словосочетании. Например, синтаксический термин only учитывался только в составе конструкции с последующим числительным и семантическим термином, ср.: only one fault. Этот термин не учитывался, если он занимал позицию в одной клаузе с семантическим термином, но другой конструкции.

В качестве отдельного вида автором были выделены синтаксические термины с нулевым коэффициентом. Учитывалась совместная встречаемость этих терминов и семантических, но синтаксические термины с нулевым эффектом никак не влияли на коэффициент семантического термина. Смысл выделения этих терминов состоит в том, чтобы выводить их в результат в составе одной фразы с семантическим термином. Например, в тексте Nokia N95 is a nice device более адекватно распознать в качестве оценочного термина не отдельное слово nice, а словосочетание nice device, где device — синтаксический термин с нулевым коэффициентом. Заметим, что device — гипероним по отношению к имени оцениваемого объекта Nokia N95. В список синтаксических терминов с нулевым коэффициентом входят гипонимы и гиперонимы имен объектов.

Категория семантических терминов включает две подкатегории: термины с отрицательным значением и термины с положительным значением. Коэффициенты обеих подкатегорий изменяются от 1 до 9. В каждой из подкатегорий выделяются группы посессивных маркеров с положительным и отрицательным значением. Посессивными маркерами называют лексические единицы, указывающие на сознательное намерение приобрести (например, buy) или, наоборот, продать, избавиться от коммерческого продукта (sell, get rid of). В первом случае имеет место положительная, а во втором отрицательная оценка продукта. Выделение посессивных маркеров в отдельную группу объясняется тем, что они могут использоваться для поддержки функции отслеживания верности продукту (product loyalty).

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

Vol. 10. No. 4 (58). 2015

групп были разработаны специальные правила начисления весовых коэффициентов. Например, использование recommend/ should/ought в одной клаузе с посессивным термином повышает его коэффициент на 3 пункта (You should buy this laptop). Группа ментальных глаголов включает три класса глаголов, выражающих модусы: предположения, полагания, знания. Их позиция в клаузе, предшествующей клаузе с посессивным маркером, повышает его коэффициент на 1, 2, 3 пункта соответственно, ср.: I suppose/believe/am sure I'll buy this laptop.

В качестве терминальных компонентов онтологии выступают экземпляры — конкретные слова или словосочетания.

Для отождествления словоформ с одной семантикой авторами был проведен стем-минг. Использовалась модифицированная версия стеммера, разработанного Д. Пейсом и Г. Хаском (Paice/Husk stemmer) [3] для отождествления терминов онтологии и терминов входного текста, различающихся по форме, но совпадающих по значению. Данный стемммер достаточно адекватно выделяет основы слов, однако не отождествляет формы неправильных глаголов, что для данного проекта было необходимо, ср. buy, buys, buying, bought. В этой связи авторы интегрировали в стемммер «списки неправильных глаголов», а также «списки существительных и местоимений, образующих множественное число не по правилам» (man — men, themselves — themselves и т. п.). Алгоритм стемминга был дополнен правилами отождествления форм глаголов по форме инфинитива.

Однако в ходе выполнения проекта были выявлены случаи, когда значение некоторых словоформ отличалось от значения одноко-ренных слов. Типичный пример — глагол try и прилагательное trying, совпадающее с отглагольным причастием. Глагол и производные формы используются как синтаксические термины с посессивными маркерами и могут выражать как положительное, так и отрицательное значение, ср.: I'll try to get this laptop и I'll try to sell this laptop. Прилага-

тельное же выражает однозначно отрицательную семантику, ср.: trying to the health. В этой связи в онтологии специальными тегами были обозначены словоформы, по отношению к которым морфологический анализ не проводился, а для омонимичных форм разработаны специальные правила.

Обобщенная структура онтологии представлена на рис. 1.

Грамматика

Основная функция грамматики — связать термины онтологии с именами оцениваемых продуктов. Разработанная нами грамматика включала четыре группы правил: правила распознавания клауз; правила соотнесения оценочных терминов с именами продуктов; правила разрешения анафоры, которые выполнялись для местоимений one, it, they; правила генерации выходных словосочетаний. Центральную роль играли правила распознавания клауз, поскольку разрешение анафоры и соотнесение оценочных терминов с именами продуктов выполнялось на основе учета позиции терминов в составе клауз.

Под клаузой понималась элементарная предикативная структура, формальным признаком которой для утвердительных и отрицательных предложений является последовательность NP VP, а для повелительных предложений — последовательность VP NP, где NP — именное словосочетание, а VP — глагольное словосочетание. Вопросительные предложения не рассматривались, поскольку данный тип предложений, как правило, не информативен и выражает запрос на получение информации. Распознавание словосочетаний проводилось на основе тегов частей речи, которыми автоматически аннотировались слова входного текста. В табл. 2 приводятся возможные варианты структуры именных словосочетаний.

Поскольку структура именных словосочетаний достаточно разнообразна, для ее распознавания были разработаны оптимизирующие правила.

ПРИКЛАДНАЯ ИНФОРМАТИКА / JOURNAL OF APPLIED INFORMATICS /-

' Том 10. № 4 (58). 2015

Глаголы знания Полагания Допущения

Экземпляры

Рис. 1. Структура лингвистической онтологии Fig. 1. The ontology structure

1. Правило подстановки именного компонента (теги NN, NNS, PN). В соответствии с эти правилом структура с одним именным компонентом,указанная в табл. 2,является действительной и для других именных компонентов. Например, структура PN POS NN предполагает, что могут также существовать структуры PN POS NNS, NNS POS NNS, NN POS NN, PN POS PN.

2. Правило расширения однородными членами. В соответствии с этим правилом количество повторов одного и того же тега не ограничивается. Наряду со структурой Det Det NNS, указанной в табл. 2, могут существовать структуры Det Det NNS NNS, Det Det Det NNS NNS, Det Det Det NNS NNS NNS.

Структура глагольных словосочетаний определялась по следующим правилам: 1) началом глагольного словосочетания явля-

ются токены с тегами VBP (present simple verb), либо VBZ («s» present simple verb), либо VBD (past simple verb), либо VBM (modal verb); 2) концом глагольного словосочетания могут быть токены с тегами VBI (infinitive verb), либо VBN, либо VBG; 3) между токе-ном, с которого начинается словосочетание, и токеном, которым оно заканчивается, может располагаться (в любой позиции) токен с тегом TO (particle), либо один или более идущих подряд токенов с тегом AV (general adverb). Этим тегом также обозначалась частица NOT, что позволяло распознавать отрицательные предложения.

Примеры глагольных словосочетаний, которые могут распознаваться по этим правилам, даны в табл. 3.

Можно отметить следующие особенности разработанной грамматики. В соот-

Vol. 10. No. 4 (58). 2015

Таблица 2. Структура именных словосочетаний Table 2. The structure of noun phrases

Структура NP Значение тегов Пример

NNS Plural noun Fruits

PNP Personal pronoun I/they/we

PN Proper noun John

NN NN NN = singular noun Stone wall

Det N Det = {articles, demonstrative and indefinite pronouns} My/his/John's car

Det Det NNS All the cars

Det PNS NNS PNS = possessive pronoun All our cars

Det NN NN A stone wall

AJ NNS AJ = adjective Nice cars

AJ AJ NNS Nice, speedy cars

AJ AJ CC AJ NNS CC = coordinating conjunction Nice, speedy, and spacious cars

AV AJ NNS AV = adverb Very badly broken cars

AV AV AJ NNS Very badly broken cars

Det AJ NN A nice car

Det AV AJ NN A broken car

PN NNS Mercedes cars

PN PN NNS Mercedes Benz cars

Det PN NN A Mercedes car

PN CC PN Nokia and Sony

PN CC PN NNS Nokia and Sony corporations

PN POS NN POS = Possessive marker Mary's car

PN CC PN POS NN John and Mary's car

NN PRP CRD NNS PRP = preposition CRD = cardinal numeral Distance of 70 miles

PN CRD NN Mercedes 600 car

NNS VBN PRP NNS VBN = past participle verb Cars broken to pieces

Det NN VBN PRP N The car broken to pieces

Det NNS VBG AV VBG = gerund verb The cars driving there

Det NN TO VBI TO = particle VBI = infinitive verb The work to do

Det NN TO VBI AV The work to do tomorrow

ветствии с целью проекта распознавались только глагольные и именные словосочетания на основе линейной последовательности тегов частей речи. Адъективные, предложные, адвербиальные словосочетания не выделялись в качестве отдельных видов

фраз и включались либо в именное, либо в глагольное словосочетание. Неличные формы глагола (причастия и инфинитивы) могут входить как в состав NP, так и VP в зависимости от их позиции. В составе глагольной фразы они всегда используются после

Том 10. № 4 (58). 2015

Таблица 3. Образцы структур глагольных словосочетаний Table 3. Sample structures of verb phrases

Предложение Структура предложения Структура глагольного словосочетания

I was waiting I [NP] was waiting [VP] VBD VBG

The office has already opened The office [NP] has already opened [VP] VBZ AV VBN

The students will not come The students [NP] will not come [VP] VBM AV VBI

The director didn't appear The director [NP] didn't appear [VP] VBD AV VBI

They were impressed They [NP] were impressed [VP] VBD VBN

They were very greatly impressed They [NP] were very greatly impressed [VP] VBD AV AV VBN

личного или модального глагола, а в составе именной — после существительного или собственного имени. Аннотирование тегами частей речи проводилось стохастическим теггером, который был разработан нами ранее [4] и в котором используется такой же набор тегов, как и в Американском национальном корпусе11. Помимо теггера частей речи в процессе предварительной обработки текста использовались разработанные нами ранее модули лексической и синтаксической декомпозиции, описанные в [4].

Разбивка на клаузы проводилось по следующим правилам и алгоритмам.

1. Распознавание сложных предложений.

Разбивка на клаузы проводилась для сложных предложений, простые предложения игнорировались. Под сложным понималось предложение, включающее более одной последовательности NP VP.

Находится глагол, обозначенный тегом VB/VD/VBZ/VBM. Слева от него находится именной компонент с тегом NN/NNS/PN/ PNP. Образуется NP. Далее смотрится часть предложения справа. Ищется VB/VD/VBZ/ VBM. Слева от него ищется NN/NNS/PN/PNP.

Если находится еще одна последовательность NP VP, то определяется, что предложение сложное, и нужно проводить декомпозицию. Далее ищется еще одна пара NP VP. В зависимости от того, сколько найдено таких пар, определяется количество клауз: если две пары — две клаузы, если 3 пары — три клаузы, и т. д.

11 http://www.americannationalcorpus.org

2. Определение границ клауз.

В состав первого NP в предложении включаются все слова с начала предложения. В состав последнего VP включаются все слова до конца предложения.

Условным началом второй и последующих клауз является именной компонент. Если слева от него находится слово из специального списка, то разделитель передвигается к началу этого слова, которое включается в состав NP и соответственно клаузы. Если подряд идут два или несколько слов из специального списка, то началом является последнее слева слово. Специальный список включает слова, которыми не может заканчиваться клауза. К ним относятся артикли, указательные и относительные местоимения, некоторые прилагательные, союзные слова. Например, My best friend John [NP] eats apples with pleasure [VP] II because he [NP] likes them very much [VP].

Вначале находится первое VP eats, которое соотносится с NP John. Далее находится VP likes, которое соотносится с NP he. Определяется, что предложение сложное и состоит из двух клауз. В состав первой клаузы включаются все слова, занимающие позицию перед John. В состав второй клаузы включаются все слова, занимающие позиции после likes до конца предложения. Перед he ставится условная граница клауз. Далее смотрятся слова слева от he и обнаруживается слово из специального списка because. Разделитель переносится и ставится перед because.

Vol. 10. No. 4 (58). 2015

Как показали предварительные экспертные оценки, по описанным правилам и алгоритмам правильно разбивается на клаузы 92% предложений.

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

Pr = (а/Ь) х 100,

где a — количество правильно найденных оценочных терминов, Ь — общее количество найденных оценочных терминов. Подразумевается, что к числу оценочных могут быть отнесены термины, таковыми не являющиеся. Если все оценочные термины находятся правильно, то точность поиска составляет 100%.

Под полнотой понималось отношение правильно найденных оценочных терминов к общему количеству оценочных терминов в тексте, которое высчитывалось по формуле

Я = (а/с) х 100.

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

Обобщающий показатель G высчитывал-ся по формуле

G = (Рг+ Яес )/2.

Качество системы тестировалось при каждом изменении алгоритмов. Для этого было создано специальное отладочное приложение, позволяющее указывать неправильно найденные оценочные термины, вносить ненайденные оценочные термины, подсчитывать полноту, точность поиска и обобщающий показатель. Соответственно вносились и изменения в онтологию.

На рис. 2 представлен скриншот отладочного приложения.

Рис. 2. Отладочное приложение Fig. 2. Debugger application

В верхнем поле интерфейса показан входной текст; в среднем поле — результаты предварительной обработки, в том числе — деление на клаузы (граница отмечена решеткой), а также замена слова с нестандартной орфографией (f**k) на это же слово в стандартном написании (fuck). Тексты веб-документов (чатов, блогов, форумов) содержат много слов, написание которых отличается от стандартного. Нами был составлен список соответствий (например, yur = your, nic = nice и т. д.), с помощью которых слова с нестандартным написанием заменялись на слова со стандартным написанием. Это было необходимо для корректного распознавания частей речи в процессе аннотирования. Список не применялся, если на панели инструментов выбирался тип текста non chat.

Интересно отметить, что первая клауза относится к побудительному типу и имеет структуру VP NP, при этом она содержит термин с резко отрицательной семантикой (-9). Этот термин был найден, однако в результатах анализа (нижнее поле интерфейса отладочного приложения) не учтен. Это было сделано в соответствии с правилом, по которому оценочные термины соотносились с именем продукта (товара), указанного в запросе (в данном тексте — iphone), только если находились в одной с ним клаузе.

Том 10. № 4 (58). 2015

В крайнем правом поле приводится автоматически генерируемый список найденных в тесте оценочных терминов и указываются показатели, необходимые для подсчета точности и полноты поиска. Для этого необходимо отметить правильно найденные оценочные термины (m), неправильно найденные оценочные термины (c), т. е. термины, которые не являются оценочными, а также все оценочные термины, используемые в тексте (n). Если в тексте использовался оценочный термин, которого не было в списке, его можно было добавить с помощью функции «add to list» на панели инструментов. В этом случае величина n не совпадала с величиной m, и показатель полноты поиска снижался.

Качество финальной версии системы по обобщающему показателю G равнялось в среднем 86%.

Заключение

Интенсивное развитие в последнее десятилетие социальных сетей, позволяющих пользователям размещать в интернет-ресурсах оценки коммерческих продуктов, выступает важным фактором, создающим условия для адекватной рыночной конкуренции. В этой связи особую актуальность приобретает разработка систем автоматического анализа текстов, содержащих мнения пользователей. Системы этого типа, относящиеся к предметной области интеллектуального анализа текстов (text mining) [5], позволяют фирмам-производителям получать данные о достоинствах и недостатках их продукции и учитывать эти данные при проведении маркетинговой политики. Функционируют такие системы на основе лингвистической онтологии и грамматики.

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

Разработанная нами лингвистическая онтология включает пять уровней иерархии и позволяет вычислять весовые коэффициенты оценочных терминов, соотносящихся с именем коммерческого продукта, указанным в запросе пользователя. Онтология имеет оригинальную структуру, основанную на выделении синтаксических и семантических терминов, их подкатегорий, групп и классов.

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

Лингвистические онтологии следует отличать от формальных онтологий, содержащих термины и соотносящиеся с ними количественные данные. Такие онтологии представляются в табличном формате и обрабатываются средствами СУБД. Например, руководство фирмы может установить зависимость между покупками определенных товаров и такими данными о покупателях, как наличие в собственности дома, марка автомобиля, возраст, профессия, доход, расстояние между домом и магазином. В результате может быть принято решение о таком

Vol. 10. No. 4 (58). 2015

формировании ассортимента товаров, которое повлияет на увеличение количества продаж.

Основная трудность при создании формальных онтологий состоит в сборе данных о покупателях. Обычная практика — проведение анкетирования, за участие в котором покупателям предоставляются скидки, бонусы или просто выплачиваются деньги. Разработка формальных онтологий проводится в рамках интеллектуального анализа данных (data mining) [6] и не требует применения алгоритмов автоматической обработки текстов. В нашем проекте использовались практически все алгоритмы, входящие в предметную область лингвистической информатики [7], что является особенностью, отличающей интеллектуальный анализ текстов от интеллектуального анализа данных.

Представленный в данной статье проект относится к одному из двух интенсивно развивающихся направлений интеллектуального анализа текстов, связанному с изучением покупателей. Другое перспективное направление развития предметной области — информационное обеспечение сотрудников фирм и организаций. В качестве примера можно привести проект немецких специалистов [8]. Их целью было создание системы, которая позволила бы инженерам, обслуживающим системы электроизоляции высоковольтных ротационных устройств, получать информацию о методах диагностики неполадок, видах неполадок, их признаках и причинах. Из существующих диагностических отчетов создан корпус текстов, который был автоматически проаннотирован тегами когнитивных ролей (knowledge roles), такими как «Observed Object,» «Symptom», «Cause», и в итоге была создана поисковая система, позволяющая получать информацию о признаках неполадки конкретного объекта, ее причинах и способах устранения. Благодаря этому повышалась эффективность работы персонала, в первую очередь новых сотрудников, которым не нужно было тратить месяцы на знакомство с обо-

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

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

Список литературы

1. Митрофанова О. А, Константинова Н. С. Онтологии как системы хранения знаний // Всероссийский конкурсный отбор обзорно-аналитических статей по приоритетному направлению «Информационно-телекоммуникационные системы». 2008. URL: http://window.edu.ru/window/ library? p_rid=58795

2. Добров Б. В., Лукашевич Н. В. Лингвистическая онтология по естественным наукам и технологиям как ресурс для приложений информационного поиска // Web journal of formal, computational and cognitive linguistics. 2006. URL: http://fccl.ksu. ru/fcclpap.htm

3. Paice C. D. Another Stemmer // SIGIR Forum. 1990. Vol. 24. No. 3. P. 56-61.

4. Yatsko V. A., Starikov M. S, Larchenko E. V, Vish-nyakov T. N. The algorithms for preliminary text processing: Decomposition, annotation, morphological analysis // Automatic documentation and mathematical linguistics. Vol. 43. Issue 6. P. 336-343.

5. Atkinson J. Evolving explanatory novel patterns for semantically based text mining // Natural language processing and text mining / eds. A. Kao, S. R. Po-teet. L.: Springer, 2007. P. 145-169.

6. Seifert J. W. Data mining: an overview. 2004. URL: http://www.fas.org/irp/crs/RL31798.pdf

7. Yatsko V. A. Computational linguistics or linguistic informatics? // Automatic documentation and mathematical linguistics. Vol. 48. Issue 3. P. 149-157.

8. Mustafaraj E, Hoof V., Freisleben D. Mining diagnostic text reports by learning to annotate knowledge roles // Natural language processing and text

Том 10. № 4 (58). 2015

mining / eds. A. Kao, S. R. Poteet. L.: Springer, 2007. P. 45-68.

9. Davis S. R, Livermont C. S, Nachtigall N. L, Wessels G. A. Enterprise medical imaging and information management system with clinical data mining capabilities and method of use. Chicago, 2008. URL: http://www.faqs.org/patents/ app/20080228522

References

1. Mitrofanova O. A., Konstantinova N. S. Ontlogii kak systemy khranenia znaniy [Ontologies as systems for knowledge storage]. 2008. Available at: http:// window.edu.ru/window/library?p_rid=58795 (accessed 19.03.015).

2. Dobrov B. V., Lukashevich N. V. Lingvisticheskaya ontologiya po estestvennym naukam i tekhnologi-yam kak resurs dlya prilozheniy informatsionno-go poiska [A linguistic ontology on the sciences and technologies as a resource for information retrieval applications]. Web journal of formal, computational and cognitive linguistics. 2006. Available at: http://fccl.ksu.ru/fcclpap. htm (accessed 19.03.015).

3. Paice C. D. AnotherStemmer. SIGIR Forum, 1990, vol. 24, no. 3, pp. 56-61.

4. Yatsko V. A., Starikov M. S., Larchenko E. V., Vish-nyakov T. N. The algorithms for preliminary text processing: Decomposition, annotation, morphological analysis. Automatic documentation and mathematical linguistics, vol. 43, issue 6, pp. 336-343.

5. Atkinson J. Evolving explanatory novel patterns for semantically based text mining. Natural language processing and text mining, eds. Kao A., Poteet S. R. London, Springer, 2007, pp. 145-169.

6. Seifert J. W. Data mining: an overview. 2004. Available at: http://www.fas.org/irp/crs/RL31798.pdf (accessed 19.03.015).

7. Yatsko V. A. Computational linguistics or linguistic informatics? Automatic documentation and mathematical linguistics, vol. 48, issue 3, pp. 149-157.

8. Mustafaraj E., Hoof V., Freisleben D. Mining diagnostic text reports by learning to annotate knowledge roles. Natural language processing and text mining, eds. Kao A., Poteet S. R. London: Springer,

2007, pp. 45-68.

9. Davis S. R., Livermont C. S., Nachtigall N. L., Wessels G. A. Enterprise medical imaging and information management system with clinical data mining capabilities and method of use. Chicago,

2008. Available at: http://www.faqs.org/patents/ app/20080228522 (accessed 19.03.015).

V. Yatsko, Katanov State University of Khakasia, Abakan, Russia, viatcheslav-yatsko@rambler.ru

A system for automatic customers' opinion mining

The paper describes a computer system designed for customers' opinion mining. The system, which was created on a request from an overseas firm, processes chats, blogs, and forums to provide as output generalized negative and positive scores as well as specific subjectivity terms associated with the product's name given in user's query. The system is based on the highly structured ontology and linear grammar. The ontology consists of syntactic and semantic terms ad their sub-categories, groups and classes. Semantic terms are those ones expressing subjectivity and having either positive or negative semantic orientation. Syntactic terms do not express subjectivity but can modify the intensity of polarity of semantic terms. The relation between semantic and syntactic terms is defined as a binary relation and groups with symmetric, asymmetric, and inverse relations between syntactic and semantic terms are distinguished. Semantic terms are assigned scores from 1 (-1) to 9 (-9). The paper suggests differentiating between formal and linguistic ontologies. Linear grammar comprises rules that allow mapping ontology terms onto the names of products and generate phrases with semantic and syntactic terms. The overall system's efficiency measured in terms of recall and precision of information retrieval achieves 86%.

Keywords: automatic customers' opinion mining, ontology, linear grammar, quality evaluation, commercial product. About author: V. Yatsko, Doctor of Science, Full Professor

For citation: Yatsko V. A system for automatic customers' opinion mining. Prikladnaya Informa-tika — Journal of Applied Informatics, 2015, vol. 10, no. 4 (58), pp. 5-17 (in Russian).