«Машинная лингвистика»
Автоматич еская классификация текстов на основе заголовка рубрики
О.В. Гуляев (futujaos@gmail.com)
Факультет информатики и систем управления МГТУ, Москва Н.В. Лукашевич (louk_nat@mail.ru)
НИВЦМГУ, Москва
1. Введение
Одной из востребованных технологий обработки текстовой информации является автоматическая классификация (рубрикация) текстов. Широко используемым подходом к автоматической классификации текстов являются подходы, основанные на машинном обучении [Sebastiani, 2002]. Однако для обеспечения хорошего качества работы таких методов требуется значительные объемы качественной обучающей текстовой коллекции, которая представляет собой совокупность текстов с вручную проставленными рубриками. Создание такой коллекции обычно требует достаточно много затрат, и поэтому часто в реальных задачах такая коллекция для обучения отсутствует [Агеев и др., 2008].
Вместе с тем названия рубрик в рубрикаторах обычно не случайны и достаточно хорошо передают предполагаемое основное содер ание документов, которые должны быть к ним отнесены. Это позволяет развивать алгоритмы, которые учитывали бы соответствие ме ду названием рубрики и текстами для построения обучающей выборки.
Кроме того, особенностью построения рубрикаторов является то, что в идеальном случае ка дый текст обрабатываемой текстовой коллекции дол ен относиться хотя бы к одной рубрике рубрикатора [Bates, 1988]. Это позволяет предположить, что даже если схожесть некоторого текста с той или иной рубрикой не удалось установить при непосредственном сравнении текста документа с рубрикой, то полезным является выявление схожести между документами уже отнесенными к рубрике и оставшимися неразмеченными.
В данной статье предло ен метод рубрикации текстов, основанный на построении векторов рубрик в пространстве терминов при помощи электронного тезауруса WordNet [Miller, 1998] и дальнейшем уточнении рубрик документов методом k ближайших соседей (англ. k-nearest neighbor algorithm, kNN). Метод рубрикации был протестирован на коллекции Reuters-101.
2. Методы классификации на основе заголовка рубрики
Задача классификации текстов на основе заголовка рубрики уже ставилась в ряде работ.
В работе [Gliozzo et al., 2005] предлагается метод, состоящий из двух шагов. На первом шаге создавалось начальное множество классифицированных документов с помощью метода без учителя, работающего на основе сокращения признакового пространства текстов (англ. Latent Semantic Indexing, LSI) и алгоритма Гауссовой
10 самых частых рубрик в коллекции Reuters-21578 - earn, acquisitions, money, grain, crude, trade, interest, ship, wheat, corn. Содер жит 8493 документа.
смеси (англ. Gaussian Mixture algorithm). На втором шаге производилось обучение классификатора на начальном множестве документов.
В работе [Rodriguez et al., 1997] применяется комбинация обучающей коллекции и информация из WordNet как данных для алгоритмов Рошио (англ. Rocchio) и Видроу-Хоффа (англ. Widrow-Hoff), с помощью которых проводилась классификация.
Задача определения лексической связи ме ду термином и текстом решается в работе [Glickman et al., 2006]. Данные из RTE-11 были использованы для составления набора лексических связей, состоящего из пар термин-предложение. Предполагалось, что термин и предло ение из составленного набора лексически связаны друг с другом. Проводились эксперименты над различными моделями определения лексических связей. Лучшие результаты показала комбинированная модель, использующая WordNet для определения явных связей ме ду терминами и наивный байесовский классификатор для определения скрытых связей ме ду термином и предло ением, получаемых из контекста.
Дальнейшее исследование метода классификации с помощью заголовка рубрики происходит в работе [Barak et al., 2009]. Мера сходства между рубрикой и документом определяется на основе контекстного сходства и связи между ними. Контекстное сходство определяется с помощью представления заголовка рубрики и документа как векторов в LSI пространстве. Для определения связи между документом и рубрикой используется представление рубрики в виде вектора, состоящего из терминов, схо их с заголовком рубрики, извлекаемых из WordNet.
3. Построение вектора рубрики
Чтобы решить, к каким рубрикам приписать документ, необходимо рассчитать меру сходства ме ду документом и рубриками. Для этого документы и рубрики представляются как векторы в пространстве терминов коллекции.
Представление документов и рубрик как векторов производилось стандартным способом с помощью модели мешка слов (англ. bag of words). Для построения векторов рубрик использовался тезаурус WordNet, из которого с помощью специального алгоритма извлекались термины, похо ие на заголовок рубрики.
Сходство ме ду двумя документами, или ме ду документом и рубрикой, вычисляется с помощью косинусной меры сходства между их векторами v(a) и v(b). ил _ (v(a),v(b))
sim(a,b) —
|v(a)||v(b)|
Числитель представляет собой скалярное произведение векторов v(a) и v(b), а знаменатель равен произведению евклидовых норм этих векторов.
При запросе по некоторому термину WordNet в качестве результата выдает набор синсетов2, относящихся в различным частям речи термина. В синсете перечислены соответствующие термины, описание смыслового значения и пример использования. Ниже приведен результат запроса по слову interest:
Noun:
• (62)S: (n) interest, involvement (a sense of concern with and curiosity about someone or something) "an interest in music”
Recognising Textual Entailment Challenge, см. http://pascallin.ecs.soton.ac.uk/Challenges/RTE/
2
Синсет - базовая словарная единица в WordNet, объединяющая слова со схо жим значением, является узлом семантической сети WordNet.
• (32)S: (n) sake, interest (a reason for wanting something done) "for your sake"; "died for the sake of his country"; "in the interest of safety"; "in the common interest"
• (21)S: (n) interest, interestingness (the power of attracting or holding one's attention (because it is unusual or exciting etc.)) "they said nothing of great interest"; "primary colors can add interest to a room"
• ...
Verb:
• (5)S: (v) interest (excite the curiosity of; engage the interest of)
• (2)S: (v) concern, interest, occupy, worry (be on the mind of) "I worry about the second Germanic consonant shift"
• ...
Число в скобках в описании синсета отобра ает частоту использования смысла термина, определенного данным синсетом, называемое далее частотой синсета. Так, для слова interest наиболее вероятный смысл - “a sense of concern with and curiosity about someone or something”, этот смысл имеет частоту 62, затем идет синсет со смыслом “a reason for wanting something done” с частотой 32 и т.д.
Алгоритм извлечения похо их терминов приведен ни е:
1 Извлечь k наиболее частых синсета названия рубрики.
2 Извлечь подходящие синонимы для каждого синсета названия рубрики. Синоним считается подходящим, если k его наиболее частых синсетов содер ат название рубрики.
3 Извлечь подходящие дериваты1 для каждого синсета названия рубрики. Дериват считается подходящим, если k его наиболее частых синсетов содер ат соответствующий синсет названия рубрики.
4 Для каждого синсета названия рубрики извлекаем соответствующие синсеты гипонимов, из которых берем подходящие гипонимы. Гипоним определяется как подходящий аналогично деривату.
5 Если не было извлечено ни одного гипонима, аналогичным образом извлекаем список подходящих меронимов.
6 Для всех добавленных в результат гипонимов и меронимов извлекаются их k наиболее частых синсетов. В результат добавляются все подходящие дериваты для ка дого синсета гипонима или меронима.
С помощью этого алгоритма в вектор категории включались как термины, синонимичные названию рубрики, так и термины, обозначающие более узкий смысл рубрики. Это обеспечивает большую семантическую полноту вектора рубрики, что позволяет более точно определять меру сходства ме ду документами и данной рубрикой.
Таблица 1. Примеры векторов рубрик
Рубрика Элементы вектора рубрики
grain grain, cereal, wheat, rice, malt, Indian rice, maltster, coarse-grained
interest interest, involvement, sake, enthusiasm, concern, occupy, apt, vexation
trade trade, craft, merchandise, selling, marketing, import, fair trade, plumber
Дериваты в WordNet - это список словообразовательных вариаций термина, полученных из некоторого синсета этого термина. Например, дериваты для синсетов термина money включают термины monetary и moneyer, а для синсетов термина grain - grainy, granular и granulate.
В таблице 1 приведены примеры рубрик и некоторые из соответствующих рубрикам элементов векторов. Как видно из примеров, при извлечении терминов из WordNet также рассматриваются словосочетания.
Оптимальным значением для параметра k оказалось 4.
4. Взвешивание вектора рубрики
В векторе рубрики, сформированном с помощью WordNet, изначально все элементы имеют одинаковый единичный вес. Однако, если взвесить каждый элемент вектора в соответствии со степенью сходства с рубрикой, то определение сходства ме ду этой рубрикой и документами коллекции станет точнее.
Было рассмотрено несколько способов взвешивания векторов рубрик:
1 Увеличение веса названия рубрики. Все элементы вектора получали единичный вес за исключением элемента, совпадающего с названием категории, который получал вес, равный w = 0 .5п, где п- размерность вектора.
2 Взвешивание на основе наличия термина в коллекции. Все элементы вектора получали единичный вес, за исключением тех, которые не встречались в документах коллекции - они получали нулевой вес.
3 Взвешивание на основе нали ч ия термина в коллекции и увели ч ения веса названия рубрики. Как следует из названия, данный способ взвешивания является комбинацией двух предыдущих.
4 Взвешивание, основанное на корреляции между рубрикой и элементом вектора. Для этого способа взвешивания каждый элемент получал вес, равный w = mut/occ, где осс- число документов, в которых появлялся элемент, а mut-число документов, в которых появлялся и элемент, и название рубрики. Очевидно, что веса всех элементов будут находится в интервале [0, 1], причем элемент, совпадающий с названием рубрики, всегда будет иметь вес, равный единице.
Самый лучший результат дал последний способ, основанный на корреляции элементов вектора с рубрикой. Если из WordNet был извлечен термин, никогда не встречающийся в коллекции, вес соответствующего элемента вектора будет равен нулю. Если термин и название рубрики никогда не встречались вместе в одном документе, вес соответствующего элемента вектора также будет нулевым. За счет вычисления взаимной информации обеспечивается проверка на контекстное сходство ме ду элементом вектора и рубрикой.
В таблице 2 представлены примеры элементов вектора рубрики interest с использованием разных способов взвешивания (вектора нормализованы):
Таблица 2. Веса элемента вектора interest для разных способов взвешивания
№ сп. interest involvemen sake enthusiam concern occupy apt vexation
1 0.971 0.030 0.030 0.030 0.030 0.030 0.030 0.030
2 0.189 0.189 0.189 0.189 0.189 0.189 0.189 0
3 0.987 0.031 0.031 0.031 0.031 0.031 0.031 0
4 0.912 0.094 0 0.152 0.104 0.130 0 0
5. Рубрикация неразмеченных документов с помощью kNN
Степень сходства рубрики и документа определяется через косинус ме ду их векторами. Чтобы разметить документ некоторой рубрикой, необходимо, чтобы степень сходства превышала некоторое пороговое значение. Однако для некоторых документов степени сходства со всеми рубриками оказались ни е порогового значения, и таким образом они остались неразмеченными. Как у е указывалось во введении, мы можем предположить, что все документы коллекции должны быть отнесены к какой-либо рубрике и применить дополнительные меры сходства у е ме ду документами.
Для рубрикации неразмеченных документов применяется алгоритм kNN. Сначала выбирается k наиболее похо их на данный документов. Степень сходства документов определяется так е через косинус ме ду векторами.
Ка дый из похо их документов мо ет быть отмечен несколькими рубриками. Среди похо их документов осуществляется поиск максимальной рубрикации, то есть наиболее часто встречаемого способа пометить документ. Если максимальный способ рубрикации единственный, то документ размечается этим способом. Если нашлось несколько максимальных способов рубрикации, то среди всех похо их документов осуществляется поиск единственной одиночной максимальной рубрики. Если она нашлась, то документ размечается ей, иначе документ остается неразмеченным.
В таблице 3 приведены примеры работы данного этапа. В третьем примере два максимальных способа рубрикации - {grain, trade} и {money, crude} с частотами 2, поэтому ищется максимальная одиночная рубрика, которой является рубрика crude, с частотой 3. В четвертом примере аналогичная ситуация, за исключением того, что максимальных одиночных рубрик оказалось несколько (money, crude, grain и trade с частотой 2), следовательно, документ остается неразмеченным.
Таблица 3. Примеры применения kNN для рубрикации документа при k = 5
сосед 1 сосед 2 сосед 3 сосед 4 сосед 5 результат
grain grain Grain trade trade grain
grain, trade grain, trade trade money trade, money grain, trade
grain, trade grain, trade crude money, crude money, crude crude
grain, trade grain, trade corn money, crude money, crude -
Были рассмотрены параметры k, принимающие значения 3, 5, 7, 9 (всего 10 рубрик). Оптимальным оказалось значение k = 9.
В результате применения kNN из 4573 неразмеченных документов осталось 66 неразмеченных.
6. Эксперименты по рубрикации текстов
В таблице 4 приведены результаты рубрикации при использовании только вектора, извлеченного из WordNet, затем при дополнительном взвешивании векторов рубрик, и затем при подключении kNN. В таблице используются следующие сокращения: ma_p - макроусредненная точность, ma_r - макроусредненная полнота,
ma_/ - макроусредненная f1-мepa, mi_p, mi_r, mi_/ - аналогично микроусредненные характеристики [Агеев, Кураленок, 2004] .
Полученная разметка документов может рассматриваться как обучающая выборка для методов машинного обучения. Поэтому был проведен эксперимент, использующий полученную таким образом разметку документов для автоматической классификации методом БУМ.
Таблица 4. Результаты рубрикации коллекции Reuters-10
ma_p ma_r ma_f mi_p mi_r mi_f
Т олько W ordN et 0.б375 0.5983 0.б173 0.7017 0.б343 0.ббб3
Со взвешиванием 0.б231 0.7235 0.бб9б 0.5953 0.7422 0.бб07
С kNN 0.7128 0.бб84 0.6899 0.7540 0.7512 0.7526
При тестировании разбиение на обучающую и тестовую коллекции производилось методом кросс-валидации с параметром 10, результаты
классификации усреднены для всех 10 разбиений. В качестве классификатора SVM использовалась библиотека libsvm1 вместе с дополнительными инструментами для рубрикации несколькими рубриками2. Были получены следующие результаты: ma_f = 0.4836 mi_f = 0.7494
В работе [Barak et al. 2009] рубрикатор был также испытан на коллекции Reuters-10. При построении обучающей коллекции на основе сходства с рубрикой была получена f1: mi_f = 0.76 (ср. последнюю строку в таблице 4). Однако по сравнению с нашим подходом в данной работе в качестве дополнительного ресурса использовалась еще и Википедия, которая требует значительных усилий по ее предобработке.
Кроме того, в этой е работе рубрикатор так е использовался для обучения SVM. Эксперименты проводились для двух способов представления документов: как векторов в пространстве взвешенных с помощью tf-idf терминов, и как векторов в LSI пространстве. Значения максимальных П-мер таковы (величины макромеры f1 в цитируемой статье не приводятся): mi_f = 0.65 для tf-idf, и mi_f = 0.79 для LSI.
Таким образом, и в данном случае для сравнимого текстового представления в нашей работе были получены более качественные результаты, что означает, что наше предполо ение о том, что использование метода kNN для разметки текстов соответствует принципами построения рубрикаторов для текстовых коллекций.
7. Заключение
В данной работе продемонстрировано, что, имея в распоряжении лишь заголовки рубрик, мо но достичь неплохих результатов при рубрикации текстов. Для этого было использовано расширение вектора рубрики с помощью данных из WordNet, взвешивание вектора рубрики, основанное на взаимной информации ме ду
http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html
http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/multilabel/
рубрикой и элементом вектора, и рубрикация неразмеченных документов с помощью алгоритма kNN.
Список литературы
[Barak et al., 2009] Barak L., Dagan I., Shnarch E. University of Toronto, Bar-Ilan University: Text Categorization from Category Name via Lexical Reference // Proceedings of NAACL HLT 2009: Short Papers, pages 33-36, Boulder, Colorado, June 2009.
[Bates, 1988] Bates M. 1988. How to use controlled vocabularies more effectively in online searching // Online archive V.12, Issue 6, pp. 45-56.
[Gliozzo et al., 2005] Gliozzo A., Strapparava C., Dagan I. Istituto per la Ricerca Scientifica e Tecnologica, Bar Ilan University: Investigating Unsupervised Learning for Text Categorization Bootstrapping // Proceedings of Human Language Technology Conference and Conference on Empirical Methods in Natural Language Processing (HLT/EMNLP), pages 129-136, Vancouver, October 2005.
[Glickman et al., 2006] Glickman O., Shnarch E., Dagan I. Bar Ilan University: Lexical Reference: a Semantic Matching Subtask // Proceedings of the 2006 Conference on Empirical Methods in Natural Language Processing (EMNLP 2006), pages 172-179, Sydney, July 2006.
[Miller, 1998] Miller G. Nouns in WordNet // WordNet - An Electronic Lexical Database / Fellbaum, C (ed). The MIT Press, 1998. P. 23-47.
[Rodriguez et al., 1997] Rodriguez M., Gomez-Hidalgo J., Diaz-Agudo B. Universidad Complutense de Madrid: Using WordNet to complement training information in text categorization // Recent Advances in Natural Language Processing, 1997.
[Sebastiani, 2002] Sebastiani F. Machine Learning in Automated Text Categorization // ACM Computing Reviews. 2002. V.34, N 1.
[Агеев, Кураленок, 2004] Агеев М.С., Кураленок И.Е. Официальные метрики РОМИП’2004. // Российский семинар по Оценке Методов Информационного Поиска. Пущино, 2004.
[Агеев и др., 2008] Агеев М.С., Добров Б.В., Лукашевич Н.В. Автоматическая рубрикация текстов: методы и проблемы // Ученые записки Казанского
государственного университета. Серия Физико-математические науки. 2008. Том 150. книга 4. C. 25-40.
Кластеризация оценоч ных слов по тональности на основе Марковских цепей
Четвёркин И.И. (ilia2010@ yandex.ru)
Факультет вычислительной математики и кибернетики МГУ
1. Введение
Задача анализа отзывов пользователей (по отношению автора к объекту, тональности, эмоциям) является очень актуальной и имеет ряд возмо ных прило ений, например, сбор и обработка мнений пользователей о новых продуктах по блогам.
Отправной точкой для различных задач анализа мнений является создание словаря оценочной лексики. Каждое слово (или выражение) в таком ресурсе должно обладать некоторой тональностью, например поло ительной или отрицательной. С помощью такого рода словарей решаются различные задачи, такие как классификация или извлечение мнений (Chetviorkin & Loukachevitch, 2012).
В данной работе описывается подход к определению тональности набора оценочных слов на основе текстовой коллекции в заданной предметной области. Предлагаемый подход не использует словарей или каких-либо других семантических ресурсов, а опирается только на ряд предполо ений относительно зависимости тональности подряд идущих слов от расстояния между ними..
При построении алгоритма используется список оценочных слов, извлеченный по методу, описанному в (Chetviorkin & Loukachevitch, 2012). Для оценочных слов в заданной предметной области строится неориентированный граф, где ка дая вершина представляет случайную величину, обозначающую тональность некоторого слова из вышеупомянутого списка. Данный граф представляет собой Марковскую сеть, в которой заданы попарные и унарные потенциальные функции. Реализуемая модель схо а по построению с моделью Изинга, математической моделью статистической физики, предназначенной для описания намагничивания материала.
Для поиска наиболее вероятного, согласованного состояния поля, используется алгоритм распространения доверия, который показывает более высокие результаты, чем метод самосогласованного поля (Weiss, 2001), используемый в схожих ситуациях (Takamura et al., 2005).
Дальнейшее изло ение статьи будет построено следующим образом: В разделе 2 будет проведен обзор существующих методов построения словаря, в разделе 3 мы формально опишем Марковские случайные поля и модель Изинга. В разделе 4 будет описано построение Марковской сети по коллекции текстов и в завершении, в разделе
5 будут описаны эксперименты и оценки качества предлагаемого подхода.
2. Методы построения словарей оценочных слов
Большинство подходов к автоматическому построение словарей оценочных слов основано на различных способах расширения начального, маленького мно ества «посевных» слов. В качестве такого множества обычно используется некоторый общий, не зависящий от предметной области список (Kanayama & Nasukawa, 2007; Lau et al., 2011; Qiu et al., 2011). Одним из наиболее распространенных методов является итеративное формирование словаря оценочных выра ений на основе тезауруса WordNet или других семантических ресурсов. Основной принцип в данном методе заключается в том, что синонимы и антонимы оценочного слова так е