NERC Обзор методов поиска и классификации именованных сущностей 9 марта 2010 г Сильвестров Алексей Введение Методы машинного обучения Пространство признаков Оценивание NERC систем Nymble Введение NERC – подзадача Information Extraction. Задача NERC системы - распознать такие информационные единицы, как имена людей, названия организаций и мест, выражения с цифрами. Термин Named Entity появился в 1996 году на muc-6. Первые системы были основаны на созданных вручную правилах и эвристиках. Большинство современных систем основано на методах машинного обучения Языковые факторы: большое количество работ было посвящено изучению английского языка. Такое же или большее количество адресовано языковой независимости и мултиязыковым задачам. европейские языки, хинди, русский, арабский, корейский Жанровый фактор и фактор тематики Фактор жанра текста и тематики в литературе почти не рассматривается. Всего несколько исследований посвящены разным жанрам и тематикам. Причина- приспособление системы к новым жанрам и тематикам проблематичнопроисходит падение производительности на 20%-40%. Фактор типа сущности Named в “Named Entity” говорит о том, что задача ограничена поиском сущностей, на которые указывают строгие указатели, в частности имена собственные. enamex:"persons","locations","organizations“ timex: date time, etc marginal: project name, e-mail adress,film В нескольких недавних работах кол-во типов было огромно - open domain Методы машинного обучения :SL Обучение с учителем: HMM, support vector machines, CRF, decision trees. Baseline алгоритм: поиск NE, присутствующих в тренировочном корпусе и разметка – любой другой метод обязан быть не хуже данного. Недостаток этих методов - большой размер тренировочного корпуса Методы машинного обучения :SSL Обучение с частичным привлечением учителя: главная техника - bootstrapping начальная загрузка. Пример: предложения “The city like New York”, “My name is John”, “Улица ак. Варги” будут приведены к виду “The city like X ”,”My name is Y ”, “Улица ак. Z”, так же будут найдены предложения содержащие эти сущности и т.д. Методы машинного обучения :SSL mutual bootstrapping(1999): за один ход увеличить набор entities и набор контекстов, для чего дается богатый набор NE. Техника была успешно использована для поиска синонимов и гипонимов. Но в случае «шума» производительность резко падает. Методы машинного обучения:UL Обучение без учителя: поиск NE в тексте, кластеризованном по признакам Другие подходы: лексические ресурсы и статистический анализ уже размеченного корпуса. Предоставляется доступ к внешним ресурсам Пространство признаков Пространство признаков: vector(bool,w_len,low_case_ver) “The president of Apple eats an apple.”, <true, 3, “the”>, <false, 9, “president”>, <false, 2, “of”>, <true,5, “apple”>, <false, 4, “eats”>, <false, 2, “an”>, <false, 5, “apple”> Остается ввести правила распознавания и классификации Признаки слов: На уровне слов рассматривают: слово прописное/строчное, знаки препинания, морфология, части речи, числовое значение. Функции над словами: шаблонизация, сокращение до корня. Поиск имен нарицательных в словаре позволяет не обращать внимание на слова, написанные с большой буквы, не являющиеся NE. Признаки слов: Поиск слов, типичных для названия организации: “inc.”, “Bank", "General” Приемы, для “fuzzy-matched” слов: например, Frederick и Frederik можно считать одним словом, т.к. edit-distance между ними - 1 буква Признаки корпуса и документов: Признаки документа относятся к структуре документа и его содержанию: multiple casing, coreference Признаки корпуса также основаны на мета-информации о нем и статистике. Признаки корпуса и документов: множественные вхождения - Одна сущность с большой и малой буквы - Анафора, перекрестные ссылки синтаксис - перечисление - Позиция в предложении, абзаце, документе Метаинформация -Uri, заголовок Email, XML section, - списки, таблицы, графики Корпусная статистика - Частота появления слов и фраз - Co-occurrences - Multiword unit permanency Оценивание NERC систем Результат работы системы сравнивают с результатом работы лингвиста. MUC,IREX,CONNL MUC оценки TYPE засчитывается корректным, если тип сущности был определен правильно, независимо от границ. TEXT засчитывается, если границы сущности определены верно независимо от типа. MUC оценки F-мера: Cor precision Act Cor recall Pos 2 precision recall F precision recall COR-кол-во правильно определенных NE ACT- кол-во определенных NE POS- сколько NE в тексте на самом деле IREX and CONLL Обе конференции используют простые правила: считается F(pre,recall) Precision - процент правильно определенных NE Recall - процент определенных NE Nymble NERC система основанная на HMM “near-human” производительность 90% Разработана в 1999г. Теория Изначальная идея: предполагается, что текст проходит через шумный канал, где он попутно размечается NE. Цель скрытой марковской модели: смоделировать этот процесс. Теория Иначе говоря, найти наиболее вероятную последовательность name-classes(NC) соответствующую последовательности слов(W). P( NC | W ) Теорема Байеса: P(W , NC ) P( NC | W ) P(W ) Откуда видно, что нужно максимизировать P (W , NC ) Обзор модели: Обзор модели: На концептуальном уровне, у нас есть HMM с 8 внутренними и 2 специальными состояниями. Каждое NC состояние обладает собственным набором состояний, с соответствующими вероятностями (биграммы), мощности |V| (размер словаря). Обзор модели: Генерация слов и NC проходит в три шага: 1. выбор NC,основанный на типе предыдущего NC и предшествующем слове 2. Генерация первого слова внутри NC, зависящая от текущего и предыдущего NC. 3. Генерация всех последующих слов внутри NC: Джон Ро́нальд Руэл То́лкин Обзор модели: Слова и их особенности: <w,f> Реализация: Генерация первого слова в NC P(NC | NC-1 , w -1 ) Pr w, f first | NC, NC-1 Последующие слова P w, f | w, f -1 , NC Последнее слово P end , other | w, f , NC final Реализация: Подсчет вероятностей c(NC , NC-1 , w -1 ) P(NC | NC-1 , w -1 ) c(NC-1 , w -1 ) Pr w, f first | NC, NC-1 P w, f | w, f -1 , NC c( w, f first , NC, NC-1 ) c(NC, NC-1 ) c( w, f first , w, f c( w, f -1 -1 , NC) , NC) Где с() - число произошедших событий Реализация: словарь системы пополняется в процессе тренировки. Очевидно, что система будет знать всё о словах, для которых построены биграммы вероятностей. 1. 2. 3. что делать, если: текущее слово неизвестно предыдущее неизвестно оба слова неизвестны Реализация: лучше всего тренировать систему на незнакомых словах отдельно, для этого используется упрощенная модель - unknown word-model. Реализация: порядок: 1. на первой половине тренировочного файла тренируем систему в обычном режиме -> получаем набор биграмм_1 2. на второй половине тренировочного файла обучаем unknown word-model -> набор биграмм_2 3. конкатенируем набор биграмм_2 и набор биграмм_1 Реализация: при “декодировании” : 1. если одно из двух или оба слова незнакомы, то используются вероятности для unknown word model 2. Иначе – вероятности для нормальной модели Упрощенные модели В случае незнакомых слов используются упрощенные формулы: Упрощенные модели При подсчете P(X|Y) считают вес для прямых расчетов и (1 λ) для упрощенной модели. old c(Y ) 1 1 c(Y ) 1 unique outcomes of Y c(Y) Декодирование Задача системы- максимизировать P (W , NC ) Иначе- наиболее правильным образом декодировать зашумленный текст. Благодаря алгоритму декодирования Витерби предложение с m словами может быть декодировано за время O(m) Имплементация и результаты Система написана на C++ При должном количестве RAM обучается за 5 минут и обрабатывает 6мб/час (1999г) Имплементация и результаты При оценке использовалась f-мера: ( 2 1)precisio n recall F 2 precision recall Cor precision Act Cor recall Pos Имплементация и результаты Имплементация и результаты Обучающий файл содержит 450 000 слов на английском. В ходе эксперимента обучающий материал уменьшали в 2,4,8 раз.