Методы для вычисления базовой статистики текста
Работа с корпусами и лексикографическими ресурсами
Обработка естественного языка (токенизация, лемматизация, стемминг, pos-tagging, parsing)
Классификация
Машинный перевод
Работа с XML-документами
Представление знаний
2. NLTK и Python
Natural Language Toolkit (NLTK) это open source
библиотека методов для машинной обработки
естественного языка
Методы написаны в Python
Разработчики Steven Bird (University of Melbourne),
Edward Loper (University of Pennsylvania), Ewan Klein
(University of Edinburgh)
Доступна подробная документация и онлайн-книга
– Он-лайн-книга для NLTK 3 (Python 3)
– Он-лайн-книга для NLTK 2 (Python 2)
Библиотека NLTK постоянно пополняется новыми
методами – большая community
2
3. Задачи, которые позволяет решить
NLTK
Методы для вычисления базовой статистики текста
Работа с корпусами и лексикографическими
ресурсами
Обработка естественного языка (токенизация,
лемматизация, стемминг, pos-tagging, parsing)
Классификация
Машинный перевод
Работа с XML-документами
Представление знаний
и др.
3
4. Помощь при работе с NLTK
>>>help(nltk.FreqDist)
Web-страница NLTK (примеры скриптов, обучающие
тексты и т.д.)
Документация и книги: http://nltk.org/index.php/
Многочисленные форумы, напр.
http://stackoverflow.com/ (англ. и нем.)
4
5. Оценка NLTK
Проста в использовании.
NLTK отличная библиотека для работы с английским языком.
Неплохо подходит для работы и с другими языками,
письменность которых основана на латинском алфавите. Но из-
за специальных символов (напр., ü, ä, ö, ß в немецком)
проблема/путаница с кодировкой. Эта проблема частично
решена в Python 3 и NLTK 3.
Насколько подходит для работы с русским и белорусским
языками? a. Доступен модуль pymorphy2 для морф. анализа
русского языка. b. Нехватка или отсутствие качественных лекс.
Ресурсов (искл. Russian WordNet). c. Специально для работы с
русским языком в данное время готовится перевод книги Steven
Bird.
5
6. Основы работы с NLTK
Интерактивный модуль
Скриптовый модуль:
– Python Shell File New Window
– Запуск кода возможен и после сохранения
– Код может быть исправлен и изменен
6
15. Работа с частотой слов (1)
Lexical richness (словарное богатство): отношение
общего числа tokens к общему числу types в тексте
15
16. Работа с частотой слов (2)
Слова + частота их употребления в тексте
16
17. Работа с частотой слов (3)
Слова, которые отвечают определенному условию +
частота их употребления
17
18. Упражнение 1 (1)
Работайте с текстом text6, который сохранен в
модуле book*. text6 является типом list (список).
Найдите 10 слов, которые чаще всего встречаются в
тексте (исключите stopwords* и знаки препинания).
Не забудьте про лемматизацию.
Для самого частого слова в тексте выдайте его
контекст.
*
**
18
24. Упражнение 2
Работайте с корпусом news (Workshops_DataNLTK).
Сколько предложений в этом корпусе?
Сколько tokens и types в этом корпусе (не забудьте
про предварительную лемматизацию).
Определите, с каким словом слово «president» чаще
всего употребляется в корпусе.
24
25. Источники и ссылки
Bird, Steven et al. (2009). Natural Language Processing
with Python. Analyzing Text with the Natural Language
Toolkit. O´Reilly Media.
Онлайн-книга: http://nltk.org/book/
25