Обработка текстов на естественном языке: Практика II

10

Click here to load reader

description

 

Transcript of Обработка текстов на естественном языке: Практика II

Page 1: Обработка текстов на естественном языке: Практика II

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Обработка текстов на естественном языкеАлександр Уланов

Лекция 8. Классификация последовательностей при

помощи Mallet и CRF++ для поиска именных сущностей

Page 2: Обработка текстов на естественном языке: Практика II

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.2

Оглавление курса

1. Введение. Слова, фразы, предложения, наборы текстов

2. Статистики, языковые модели

3. Классификация текстов

4. Практика I

5. Кластеризация текстов

6. Разбор текстов по частям речи. Поиск именных сущностей

7. Извлечение отношений из текстов

8. Практика II

9. Поиск дубликатов в тексте

10. Анализ мнений

11. Введение в статистический машинный перевод

12. Практика III

Литература

• Chris Manning and Hinrich Schuetze. Foundations of Statistical Natural Language Processing, MIT Press, 1999

• Philipp Koehn. Statistical Machine Translation, Cambridge Univ. Press, 2010

• Научные статьи по теме (ссылки на слайдах), видеолекции Stanford и Coursera (Manning)

Page 3: Обработка текстов на естественном языке: Практика II

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.3

Оглавление

Mallet

CRF++

Page 4: Обработка текстов на естественном языке: Практика II

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.4

Введение

Классификация последовательностей

Особенности

• Текущее решение (класс) зависит от предыдущих решений

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

– Классифицируется каждый токен (слово) в тексте

• Модели обычно основаны на скрытых марковских цепях (Hidden Markov Models - HMM),

марковских цепях с максимальной энтропией (Maximum Entropy MM - MEMM), условных

случайных полях (Conditional Random Fields - CRF)

– MEMM – обычно для частей речи, CRF – для именных сущностей

• В классификации текстов признаков обычно много – это, например, слова из текста статьи

• В классификации последовательностей признаков мало (формально текущее и предыдущее

слово) и их надо придумывать

Page 5: Обработка текстов на естественном языке: Практика II

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.5

Введение

Классификация последовательностей

Процесс подготовки

• Токенизировать текст, разметить соответствующими классами

– В среднем необходимо больше примеров, чем при классификации текстов

• Придумать остроумные признаки

• Реализовать генератор этих признаков

• Сгенерировать данные для обучения классификатора в требуемом формате

– Типичный формат (на каждой новой строчке):слово признак1 признак2… признакN класс

• Обучение классификатора (MEMM, CRF)

• Тестирование

• Классификаци новых данных

– Нужна предобработка для генерации признаков

Page 6: Обработка текстов на естественном языке: Практика II

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.6

Mallet

Mallet

Mallet – программа для статистического анализа текста

• Реализована на Java

• Алгоритмы классификации, кластеризации, извлечения

информации (классификация последовательностей)

• Можно использовать через командный интерфейс и как

библиотеку

Установка

• Скачать с указанного сайта, разархивировать

• Добавить переменную окружения MALLET_HOME с путем к

корневой папке Mallet (например: C:\dis\sci\mallet-2.0.7\)

– Для mingw добавить в PATH тот же путь, (например:

/c/dis/sci/mallet-2.0.7)

http://mallet.cs.umass.edu/

McCallum, Andrew Kachites. "MALLET: A Machine Learning for Language Toolkit."

Page 7: Обработка текстов на естественном языке: Практика II

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.7

Поиск именных сущностей

Mallet

Подготовка данных

• Для русского языка желательно работать в UTF-8

• Формат данных (на каждой новой строчке):слово признак1 признак2… признакN класс

Обучение (CRF)• java -cp "$MALLET_MINGW/class:$MALLET_MINGW/lib/mallet-deps.jar"

cc.mallet.fst.SimpleTagger --train true --model-file

выходной_файл_с_моделью файл_для_обучения

Тест

• С выводом Accuracy (правильность)java -cp "$MALLET_MINGW/class:$MALLET_MINGW/lib/mallet-deps.jar"

cc.mallet.fst.SimpleTagger --model-file файл_с_моделью --test lab

файл_для_теста

• С выводом классовjava -cp "$MALLET_MINGW/class:$MALLET_MINGW/lib/mallet-deps.jar"

cc.mallet.fst.SimpleTagger --model-file файл_с_моделью файл_для_теста

Page 8: Обработка текстов на естественном языке: Практика II

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.8

CRF++

CRF++ : Yet Another CRF toolkit

CRF++ – программа с реализацией CRF

• Реализована на C++

• Работает намного быстрее аналогов на других языках

• Взаимодействие через командную строку

Установка

• Есть бинарники для Windows

• Скачать и скомпилировать для Linux

http://crfpp.googlecode.com/svn/trunk/doc/index.html

Page 9: Обработка текстов на естественном языке: Практика II

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.9

Поиск именных сущностей

CRF++

Подготовка данных

• Для русского языка желательно работать в UTF-8

• Формат данных (на каждой новой строчке):слово признак1 признак2… признакN класс

• Формат шаблона признака классификации:

– Вид: U%x[i,j]

– i – индекс строки (текущяя – 0), j – индекс признака (считая от 0), U - униграмма

– Подробно смотрите на сайте

Обучение• crf_learn.exe файл_с_шаблоном файл_для_обучения выходной_файл_с_моделью

Тест

• С выводом классовcrf_test.exe -m файл_с_моделью файл_с_тестом > файл_для_вывода

Page 10: Обработка текстов на естественном языке: Практика II

© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.10

Спасибо!

[email protected]