Автоматическая рубрикация текстов Text categorization Manning и др. Введение в информационный поиск гл. 13, 14 Задачи классификации Рубрикация текстов • Классификация/рубрикация информации – отнесение порции информации к одной или нескольким категориям из конечного множества рубрик • Применение: – – – – Навигация по коллекции документов Поиск информации Замена сложного запроса Иерархическое упорядочение знаний предметной области • Анализ распределения документов по тематике – Фильтрация потока текстов: • Тематический сбор новостей • Персонализированная фильтация потока текстов • Фильтрация спама • Тематический сбор информации из интернет Примеры рубрикаторов • Каталог Интернет-сайтов: Open Directory Project – dmoz.org – 4,830,584 sites, 75,151 editors, over 590,000 categories – Сетевая структура, ссылки между рубриками Каталог Яндекс – Фасетная классификация • Тематическая – Иерархический классификатор, имеет порядка 600 значений и описывает предметную область интернет-ресурса • Регион – 230 географических областей. Определяется географическим расположением представляемого объекта, сферой управления и влияния, потенциальной аудиторией информации или информационным содержанием ресурса • Жанр – художественная литература; научно-техническая литература; научнопопулярная литература; нормативные документы; советы; публицистика • Источник информации – Официальный, СМИ, Неформальный, Персональный Анонимный • Адресат информации – Партнеры, Инвесторы, Потребители, Коллеги • Сектор экономики – Государственный, Коммерческий, Некоммерческий Рубрикатор нормативно-правовых актов • Президентский классификатор (Указ №511 15.03.2000) • Иерархия рубрик - 1168 рубрик • Все НПА рубрицируются экспертами в обязательном порядке Методы рубрицирования текстов • Ручное рубрицирование • Полуавтоматическое • Автоматическое – Инженерный подход (=методы, основанные на знаниях, экспертные методы) – Методы машинного обучения Тестирование автоматической рубрикации: Точность P и полнота R P = TP / ( TP + FP) R = TP / ( TP + FN) 8 8 Комбинированная мера: F 9 9 Усреднение: Micro vs. Macro Посчитали меру оценки (F1) for one class. Как агрегировать оценки F1 для многих классов. Macroaveraging - макроусреднение Посчитать F1 для каждого из C классов Среднее арифметическое для этих C чисел Microaveraging - микроусреднение Посчитать TP, FP, FN для каждого из C classes Суммировать эти С чисел для каждого показателя Посчитать F1 для суммированных TP, FP, FN 10 10 Коллекция и рубрикатор Reuters для тестирования автоматического рубрицирования • Более 21 тысячи информационных сообщений из области биржевой торговли и слияния предприятий • Массив разделен на две части: документы для обучения, документы для тестирования • Большинство текстов имеют рубрики, проставленные людьми • Основные рубрики: 135 без иерархии • Примеры рубрик: Золото (товар), Свинец (товар), Кофе и др. товары, Торговля • Средняя длина текста - 133 слова Ручное рубрицирование • Высокая точность рубрицирования – Обычно процент документов, в которых проставлена явно неправильная рубрика, чрезвычайно мал (если работают специалисты) – Могут быть существенные различия между специалистами в рубрицировании близких документов • Низкая скорость обработки документов • Используется: – Парламентские службы, – Looksmart, about.com, ODP, PubMed – Библиотеки (УДК) Автоматическая рубрикация: Инженерный подход • Основное предположение: рубрикатор создается осмысленно, содержание рубрики можно выразить ограниченным количеством понятий в виде формулы • Эксперты описывают смысл рубрики в виде булевских выражений, правил продукции • Construe system (Hayes) – Reuter news story – 674 рубрики: 135 тематических рубрик + география… – 4 человеко-года – 94 % полноты и 84 % точности на 723 текстах Reuters: пример описания рубрики if (wheat & (wheat & (bushels (wheat & (wheat & then WHEAT else (not WHEAT) farm) or commodity) or & export) or tonnes) or winter and (¬ soft)) Автоматическая рубрикация: Методы машинного обучения • Имеется коллекция отрубрицированных людьми текстов. • Для каждой рубрики имеется множество положительных и отрицательных примеров Методы машинного для задачи автоматической рубрикации • Метод Байеса (Naive Bayes ) • Метод Roccio • Метод ближайшего соседа (k-Nearest Neighbors – knn) • Метод опорных векторов (Support-vector machines – SVM) • !!Должно быть размечено достаточное количество данных. Классификаторы на основе пространства векторов Векторная модель • Преобразование множества текстов в векторы пространства Rn • Пословная модель – bag of words • Удаление стоп-слов (предлоги, союзы…), которые заданы списком • Приведение к нормальной морфологической форме (stemming, лемматизация – приведение к словарной форме) • Определение весов слов • Построение вектора слов документа Вычисление весов слов • Частота встречаемости слова в документе • Количество документов коллекции, содержащих данное слово • Длина документа, средняя длина документов коллекции • => формула TF*IDF tfD(t) = freqD(t) idf(t) = log( |c|/df(t) ) Классификация на основе пространства векторов • Документы – вектора, точки в векторном пространстве • Предположения: – Документы одного класса находятся в одной области пространства – Документы из разных классов находятся в непересекающихся областях – Таким образом: нужно найти разделяющую поверхность Документы в векторном пространстве Sec.14.1 Government Science Arts 21 Sec.14.1 Документ относится к какому классу? Government Science Arts 22 Sec.14.1 Тема документа - Правительство Верна ли гипотеза Government Science Arts Как найти хорошие разделяющие поверхности? 23 Положительные и отрицательные примеры: как лучше отделить Метод Rocchio в автоматической рубрикации Manning et al. Introduction to information retrieval Гл. 14 Метод Rocchio (relevance feedback) • Применяется для расширения запроса пользователя – Пользователь задает запрос – Система выдает документы – Пользователь отмечает релевантные (нерелевантные) документы – Слова из релевантных документов вносятся в запрос – Имеющиеся примеры для рубрики – это как бы релевантные документы Sec. 9.1.1 Начальный запрос/результаты • Initial query: New space satellite applications 1. 0.539, 08/13/91, NASA Hasn’t Scrapped Imaging Spectrometer 2. 0.533, 07/09/91, NASA Scratches Environment Gear From Satellite + Plan + 3. 0.528, 04/04/90, Science Panel Backs NASA Satellite Plan, But Urges Launches of Smaller Probes 4. 0.526, 09/09/91, A NASA Satellite Project Accomplishes Incredible Feat: Staying Within Budget 5. 0.525, 07/24/90, Scientist Who Exposed Global Warming Proposes Satellites for Climate Research 6. 0.524, 08/22/90, Report Provides Support for the Critics Of Using Big Satellites to Study Climate + 0.516, 04/13/87, Arianespace Receives Satellite Launch Pact From 7. Telesat Canada 8. 0.509, 12/02/87, Telecommunications Tale of Two Companies • User then marks relevant documents with “+”. Sec. 9.1.1 Расширенный запрос после учета слов в релевантных документах • • • • • • • • • 2.074 new 30.816 satellite 5.991 nasa 4.196 launch 3.516 instrument 3.004 bundespost 2.790 rocket 2.003 broadcast 0.836 oil 15.106 space 5.660 application 5.196 eos 3.972 aster 3.446 arianespace 2.806 ss 2.053 scientist 1.172 earth 0.646 measure Sec.14.2 Использование Rocchio для классификации текстов • Для документов в каждой категории вычисляем векторпрототип: суммируем вектора всех примеров документов в категории – Прототип = центроид документов категории 1 (c) v (d) | Dc | d Dc • где Dc – множество документов, отнесенных к категории С, v(d) - векторное представление документа • Присваиваем тестовым документам категорию ближайшего по косинусной мере вектора-прототипа 29 Sec.14.2 Иллюстрация метода Rocchio 30 Sec.14.2 Аномалия метода Rocchio • Prototype models have problems with polymorphic (disjunctive) categories. 34 Sec.14.2 Свойства метода Rocchio • Формирует простое обобщение примеров в данном классе (прототип). • Вектор прототипа не нужно нормализовывать по длине, поскольку косинусная близость нечувствительна к длине вектора • Классификация основана на сходстве с векторамипрототипами • Не гарантируется, что классификации буду хорошо соответствовать обучающим данным • Мало используется вне текстовой классификации • - но может быть вполне эффективным при классификации текстов • Дешевый метод для обучения и тестирования классификации 35 Метод ближайших соседей (KNN) Sec.14.3 Метод k ближайших соседей • kNN = k Nearest Neighbor • Чтобы классифицировать документ в класс c: • определяем k-ближайших соседей документа d • Для каждого класса С вычисляем количество документов i среди соседей, которые принадлежат С • Оцениваем P(c|d) as i/k • Выбираем класс: argmaxc P(c|d) [ = majority class] 37 Sec.14.3 Пример: k=6 (6NN) P(science| )? Government Science Arts 38 Sec.14.3 Алгоритм: k ближайших соседей • Использование только одного ближайшего соседа (1NN) ведет к ошибкам из-за: – нетипичных примеров – ошибок в ручной привязке единственного обучающего примера. • Более устойчивой альтернативой является k наиболее похожих примеров и определение большинства • Величина k is типично нечетная: 3, 5 (наиболее распространенные величины) 39 Sec.14.3 kNN границы классов Boundaries are in principle arbitrary surfaces – but usually polyhedra Government Science Arts kNN gives locally defined decision boundaries between classes – far away points do not influence each classification decision (unlike in Naïve Bayes, Rocchio, etc.) 40 Sec.14.3 Иллюстрация 3NN для текста в векторном пространстве 41 3 NN vs. Rocchio • Ближайшие соседи справляются с полиморфными категриями лучше, чем Rocchio 42 Линейные классификаторы. Классификатор SVM Sec.14.4 Линейные классификаторы • Проблема разделения документов на 2 класса – например, government and non-government – one-versus-rest классификация • Как правильно определить разделяющую поверхность • Как решить, к какой области относится тестовый документ? 44 Sec.14.4 Разделение гиперплоскостями • Сильное предположение – линейная разделимость (linear separability): – в двух измерения – линия – В больших измерениях – гиперплоскость – Сепаратор может быть выражен как ax + by = c 45 Ch. 15 Линейные классификаторы: Какая гиперплоскость? • Множество возможностей для a, b, c. • Некоторые методы ищут разделяющую гиперплоскость, но не оптимально • Метод опорных векторов (SVM) находит оптимальное решение This line represents the decision boundary: ax + by − c = 0 – Максимизирует расстояние между гиперплоскостью и трудными точками, близкими к границе раздела – Интуитивно: если нет точек около границы раздела, то нет и сложных (неопределенных) примеров 46 Sec. 15.1 Другая интуиция • С «толстым сепаратором» меньше вариантов поворота 47 Sec. 15.1 Метод опорных векторов (SVM) • SVMs maximize the margin around the separating hyperplane. Support vectors • A.k.a. large margin classifiers • The decision function is fully specified by a subset of training samples, the support vectors. • Solving SVMs is a quadratic programming problem • Currently widely seen as as the best text classification method. Maximizes Narrower margin margin 48 Sec. 15.2.4 Результаты на коллекции Reuters 49 Байесовская классификация. • Наи́вный ба́йесовский классифика́тор — простой вероятностный классификатор, основанный на применении Теоремы Байеса со строгими (наивными) предположениями о независимости. • Абстрактно, вероятностная модель для классификатора — это условная модель • На практике мы заинтересованы лишь в числителе этой дроби, так как знаменатель не зависит от C и значения свойств Fi даны, так что знаменатель — константа. • Числитель эквивалентен совместной вероятности модели и т. д. Теперь начинаем использовать «наивные» предположения условной независимости: • предположим, что каждое свойство Fi условно независимо от любого другого свойства Fj при . Это означает • Оценка параметров • Все параметры модели могут быть аппроксимированы относительными частотами из набора данных обучения. Это оценки максимального правдоподобия вероятностей. Не дискретные свойства должны быть сначала дискретизированы. • Если данный класс и значений свойства никогда не встречаются вместе в наборе обучения, тогда оценка, основанная на вероятностях, будет равна нулю. Это проблема, так как при перемножении нулевая оценка приведет к потере информации о других вероятностях. Поэтому предпочтительно проводить небольшие поправки во все оценки вероятностей так, чтобы никакая вероятность не была строго равна нулю. Построение классификатора по вероятностной модели Наивный байесовский классификатор объединяет модель с правилом решения. Одно общее правило должно выбрать наиболее вероятную гипотезу; оно известно как апостериорное правило принятия решения (MAP). Соответствующий классификатор — это функция classify, определённая следующим образом: Заключение • Задача автоматической классификации (рубрикации) • Методы классификации • Методы машинного обучения – Требуют последовательно размеченной коллекции примеров – Такую коллекцию непросто обеспечить при большом сложном рубрикаторе