SlideShare a Scribd company logo
1 of 25
Наталья Карлова-Бурбонус
natali.karlova-bourbonus@zmi.uni-giessen.de
Университет имени Юстуса Либиха (г. Гиссен,
Германия)
NLTK и Python для работы с
текстами
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
Задачи, которые позволяет решить
NLTK
 Методы для вычисления базовой статистики текста
 Работа с корпусами и лексикографическими
ресурсами
 Обработка естественного языка (токенизация,
лемматизация, стемминг, pos-tagging, parsing)
 Классификация
 Машинный перевод
 Работа с XML-документами
 Представление знаний
 и др.
3
Помощь при работе с NLTK
 >>>help(nltk.FreqDist)
 Web-страница NLTK (примеры скриптов, обучающие
тексты и т.д.)
 Документация и книги: http://nltk.org/index.php/
 Многочисленные форумы, напр.
http://stackoverflow.com/ (англ. и нем.)
4
Оценка NLTK
 Проста в использовании.
 NLTK отличная библиотека для работы с английским языком.
Неплохо подходит для работы и с другими языками,
письменность которых основана на латинском алфавите. Но из-
за специальных символов (напр., ü, ä, ö, ß в немецком)
проблема/путаница с кодировкой. Эта проблема частично
решена в Python 3 и NLTK 3.
 Насколько подходит для работы с русским и белорусским
языками? a. Доступен модуль pymorphy2 для морф. анализа
русского языка. b. Нехватка или отсутствие качественных лекс.
Ресурсов (искл. Russian WordNet). c. Специально для работы с
русским языком в данное время готовится перевод книги Steven
Bird.
5
Основы работы с NLTK
 Интерактивный модуль
 Скриптовый модуль:
– Python Shell  File  New Window
– Запуск кода возможен и после сохранения
– Код может быть исправлен и изменен
6
Токенизация/Сегментация (1)
 Деление текста на отдельные единицы
(предложения, слова)
7
Токенизация/Сегментация (2)
8
Списки конкорданс
 Слово в контексте
9
Token vs. type
 Token (слово) vs. Type (слово как вид)
 Nota Bene: знаки препинания, лемматизация
10
Лемматизация
 Процесс приведения словоформы к лемме
11
Изменение строки символов
12
Условия
13
POS-tagging
 Автоматическое определение частей речи
14
Работа с частотой слов (1)
 Lexical richness (словарное богатство): отношение
общего числа tokens к общему числу types в тексте
15
Работа с частотой слов (2)
 Слова + частота их употребления в тексте
16
Работа с частотой слов (3)
 Слова, которые отвечают определенному условию +
частота их употребления
17
Упражнение 1 (1)
 Работайте с текстом text6, который сохранен в
модуле book*. text6 является типом list (список).
 Найдите 10 слов, которые чаще всего встречаются в
тексте (исключите stopwords* и знаки препинания).
Не забудьте про лемматизацию.
 Для самого частого слова в тексте выдайте его
контекст.
*
**
18
Упражнение 1(2)
19
Работа с корпусом (1)
 Готовые корпуса
– Brown Corpus
– Gutenberg Corpus
– Reuters Corpus
– Annotated Text Corpora
– И др.
20
Работа с корпусом (2)
21
Работа с корпусом (3)
 Собственный корпус
– Документы с расширением .txt
22
Доступ к документам
 Документ на компьютере
 Web-документ
23
Упражнение 2
 Работайте с корпусом news (Workshops_DataNLTK).
 Сколько предложений в этом корпусе?
 Сколько tokens и types в этом корпусе (не забудьте
про предварительную лемматизацию).
 Определите, с каким словом слово «president» чаще
всего употребляется в корпусе.
24
Источники и ссылки
 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

More Related Content

What's hot

суспільно політичний розвиток західноукраїнських земель у 50 – 60х рр. хіх ст...
суспільно політичний розвиток західноукраїнських земель у 50 – 60х рр. хіх ст...суспільно політичний розвиток західноукраїнських земель у 50 – 60х рр. хіх ст...
суспільно політичний розвиток західноукраїнських земель у 50 – 60х рр. хіх ст...Andrey Goroshko
 
Презентація до уроку "Образ лиса в казці І.Франка "Фарбований лис"
Презентація до уроку "Образ лиса в казці І.Франка "Фарбований лис"Презентація до уроку "Образ лиса в казці І.Франка "Фарбований лис"
Презентація до уроку "Образ лиса в казці І.Франка "Фарбований лис"ллллл ллллллллл
 
Поза межами болю
Поза межами болюПоза межами болю
Поза межами болюinnacernucowa1144
 
історія 6 клас колонії північного причорномор'я
історія 6 клас колонії північного причорномор'яісторія 6 клас колонії північного причорномор'я
історія 6 клас колонії північного причорномор'яpupilsShostka
 
Літературний диктант. А. Конан - Дойл "Пістрява стрічка". (7 клас)
Літературний диктант. А. Конан - Дойл "Пістрява стрічка". (7 клас)Літературний диктант. А. Конан - Дойл "Пістрява стрічка". (7 клас)
Літературний диктант. А. Конан - Дойл "Пістрява стрічка". (7 клас)dtamara123
 
Поняття презентації
Поняття презентаціїПоняття презентації
Поняття презентаціїRudnitcka
 
Українська мова на тлі інших мов світу.pptx
Українська мова на тлі інших мов світу.pptxУкраїнська мова на тлі інших мов світу.pptx
Українська мова на тлі інших мов світу.pptxssuserae8958
 
види помилок
види помилоквиди помилок
види помилокlabinskiir-33
 
роальд дал чарлі і шоколадна фабрика
роальд дал чарлі і шоколадна фабрикароальд дал чарлі і шоколадна фабрика
роальд дал чарлі і шоколадна фабрикаtimofeyevanastya
 
НМК Паралелі / Parallelen Німецька як друга іноземна мова
НМК Паралелі / Parallelen Німецька як друга іноземна моваНМК Паралелі / Parallelen Німецька як друга іноземна мова
НМК Паралелі / Parallelen Німецька як друга іноземна моваInstitute of Pedagogy, Ukraine
 
І.Котляревський"Енеїда"
І.Котляревський"Енеїда"І.Котляревський"Енеїда"
І.Котляревський"Енеїда"ufkbyf2205
 
Мистецтво модернізму та авангардизму. Презентація.
Мистецтво модернізму та авангардизму. Презентація. Мистецтво модернізму та авангардизму. Презентація.
Мистецтво модернізму та авангардизму. Презентація. Adriana Himinets
 
Література хх століття ( конспект)
 Література хх століття ( конспект) Література хх століття ( конспект)
Література хх століття ( конспект)Alina Oliynyk
 
Вивчаємо мову програмування Lazarus
Вивчаємо мову програмування LazarusВивчаємо мову програмування Lazarus
Вивчаємо мову програмування LazarusЮлія Артюх
 
Г.К.Андерсен "Снігова королева" (підручник Ю.Ковбасенка)
Г.К.Андерсен "Снігова королева" (підручник Ю.Ковбасенка)Г.К.Андерсен "Снігова королева" (підручник Ю.Ковбасенка)
Г.К.Андерсен "Снігова королева" (підручник Ю.Ковбасенка)Adriana Himinets
 
презентація текстовий документ та його об’єкти
презентація   текстовий документ та його об’єктипрезентація   текстовий документ та його об’єкти
презентація текстовий документ та його об’єктиOlga Sokolik
 
Данте Аліг'єрі
Данте Аліг'єріДанте Аліг'єрі
Данте Аліг'єріdtamara123
 

What's hot (20)

суспільно політичний розвиток західноукраїнських земель у 50 – 60х рр. хіх ст...
суспільно політичний розвиток західноукраїнських земель у 50 – 60х рр. хіх ст...суспільно політичний розвиток західноукраїнських земель у 50 – 60х рр. хіх ст...
суспільно політичний розвиток західноукраїнських земель у 50 – 60х рр. хіх ст...
 
Презентація до уроку "Образ лиса в казці І.Франка "Фарбований лис"
Презентація до уроку "Образ лиса в казці І.Франка "Фарбований лис"Презентація до уроку "Образ лиса в казці І.Франка "Фарбований лис"
Презентація до уроку "Образ лиса в казці І.Франка "Фарбований лис"
 
Поза межами болю
Поза межами болюПоза межами болю
Поза межами болю
 
історія 6 клас колонії північного причорномор'я
історія 6 клас колонії північного причорномор'яісторія 6 клас колонії північного причорномор'я
історія 6 клас колонії північного причорномор'я
 
Літературний диктант. А. Конан - Дойл "Пістрява стрічка". (7 клас)
Літературний диктант. А. Конан - Дойл "Пістрява стрічка". (7 клас)Літературний диктант. А. Конан - Дойл "Пістрява стрічка". (7 клас)
Літературний диктант. А. Конан - Дойл "Пістрява стрічка". (7 клас)
 
Поняття презентації
Поняття презентаціїПоняття презентації
Поняття презентації
 
Українська мова на тлі інших мов світу.pptx
Українська мова на тлі інших мов світу.pptxУкраїнська мова на тлі інших мов світу.pptx
Українська мова на тлі інших мов світу.pptx
 
види помилок
види помилоквиди помилок
види помилок
 
1
11
1
 
Zadaci iz Osnove informatike
Zadaci iz Osnove informatikeZadaci iz Osnove informatike
Zadaci iz Osnove informatike
 
роальд дал чарлі і шоколадна фабрика
роальд дал чарлі і шоколадна фабрикароальд дал чарлі і шоколадна фабрика
роальд дал чарлі і шоколадна фабрика
 
НМК Паралелі / Parallelen Німецька як друга іноземна мова
НМК Паралелі / Parallelen Німецька як друга іноземна моваНМК Паралелі / Parallelen Німецька як друга іноземна мова
НМК Паралелі / Parallelen Німецька як друга іноземна мова
 
І.Котляревський"Енеїда"
І.Котляревський"Енеїда"І.Котляревський"Енеїда"
І.Котляревський"Енеїда"
 
Мистецтво модернізму та авангардизму. Презентація.
Мистецтво модернізму та авангардизму. Презентація. Мистецтво модернізму та авангардизму. Презентація.
Мистецтво модернізму та авангардизму. Презентація.
 
Література хх століття ( конспект)
 Література хх століття ( конспект) Література хх століття ( конспект)
Література хх століття ( конспект)
 
Вивчаємо мову програмування Lazarus
Вивчаємо мову програмування LazarusВивчаємо мову програмування Lazarus
Вивчаємо мову програмування Lazarus
 
Г.К.Андерсен "Снігова королева" (підручник Ю.Ковбасенка)
Г.К.Андерсен "Снігова королева" (підручник Ю.Ковбасенка)Г.К.Андерсен "Снігова королева" (підручник Ю.Ковбасенка)
Г.К.Андерсен "Снігова королева" (підручник Ю.Ковбасенка)
 
презентація текстовий документ та його об’єкти
презентація   текстовий документ та його об’єктипрезентація   текстовий документ та його об’єкти
презентація текстовий документ та його об’єкти
 
"Безпечний Інтернет"
"Безпечний Інтернет" "Безпечний Інтернет"
"Безпечний Інтернет"
 
Данте Аліг'єрі
Данте Аліг'єріДанте Аліг'єрі
Данте Аліг'єрі
 

Viewers also liked

Корпусная лингвистика:
компиляция корпуса устной речи
Корпусная лингвистика:
компиляция корпуса устной речиКорпусная лингвистика:
компиляция корпуса устной речи
Корпусная лингвистика:
компиляция корпуса устной речиNLProc.by
 
Илья Мельников (Яндекс) "Классификатор коротких текстов с использованием вект...
Илья Мельников (Яндекс) "Классификатор коротких текстов с использованием вект...Илья Мельников (Яндекс) "Классификатор коротких текстов с использованием вект...
Илья Мельников (Яндекс) "Классификатор коротких текстов с использованием вект...AINL Conferences
 
WordNet для русского языка. Русские тезаурусы: что есть и что надо? Ведущий: ...
WordNet для русского языка. Русские тезаурусы: что есть и что надо? Ведущий: ...WordNet для русского языка. Русские тезаурусы: что есть и что надо? Ведущий: ...
WordNet для русского языка. Русские тезаурусы: что есть и что надо? Ведущий: ...AINL Conferences
 
Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)Александр Дьяконов
 
Experimenting the TextTiling Algorithm
Experimenting the TextTiling AlgorithmExperimenting the TextTiling Algorithm
Experimenting the TextTiling AlgorithmEstelle Delpech
 
Николай Бузурнюк "Автономная система распознавания русской речи"
 Николай Бузурнюк "Автономная система распознавания русской речи" Николай Бузурнюк "Автономная система распознавания русской речи"
Николай Бузурнюк "Автономная система распознавания русской речи"AINL Conferences
 
Дмитрий Суворов "Интеллектуальный помощник Лекси"
Дмитрий Суворов "Интеллектуальный помощник Лекси"Дмитрий Суворов "Интеллектуальный помощник Лекси"
Дмитрий Суворов "Интеллектуальный помощник Лекси"AINL Conferences
 
Solit 2013, Название: как научить компьютер понимать многозначные слова?, Гол...
Solit 2013, Название: как научить компьютер понимать многозначные слова?, Гол...Solit 2013, Название: как научить компьютер понимать многозначные слова?, Гол...
Solit 2013, Название: как научить компьютер понимать многозначные слова?, Гол...solit
 
Компиляция и транскрибирование корпуса устной речи с EXMARaLDA
Компиляция и транскрибирование корпуса устной речи с EXMARaLDAКомпиляция и транскрибирование корпуса устной речи с EXMARaLDA
Компиляция и транскрибирование корпуса устной речи с EXMARaLDANLProc.by
 
Основные понятия корпусной лингвистики
Основные понятия корпусной лингвистикиОсновные понятия корпусной лингвистики
Основные понятия корпусной лингвистикиArtem Lukanin
 
Языковая онтология (Linguistic ontology, in Russian)
Языковая онтология (Linguistic ontology, in Russian)Языковая онтология (Linguistic ontology, in Russian)
Языковая онтология (Linguistic ontology, in Russian)zojju
 
WORDNET: A Database of Lexical Relations
WORDNET: A Database of Lexical RelationsWORDNET: A Database of Lexical Relations
WORDNET: A Database of Lexical RelationsAhmed Abd-Elwasaa
 
Authorship attribution
Authorship attributionAuthorship attribution
Authorship attributionReza Ramezani
 

Viewers also liked (20)

Корпусная лингвистика:
компиляция корпуса устной речи
Корпусная лингвистика:
компиляция корпуса устной речиКорпусная лингвистика:
компиляция корпуса устной речи
Корпусная лингвистика:
компиляция корпуса устной речи
 
Илья Мельников (Яндекс) "Классификатор коротких текстов с использованием вект...
Илья Мельников (Яндекс) "Классификатор коротких текстов с использованием вект...Илья Мельников (Яндекс) "Классификатор коротких текстов с использованием вект...
Илья Мельников (Яндекс) "Классификатор коротких текстов с использованием вект...
 
WordNet для русского языка. Русские тезаурусы: что есть и что надо? Ведущий: ...
WordNet для русского языка. Русские тезаурусы: что есть и что надо? Ведущий: ...WordNet для русского языка. Русские тезаурусы: что есть и что надо? Ведущий: ...
WordNet для русского языка. Русские тезаурусы: что есть и что надо? Ведущий: ...
 
Практика SEO: выпуск 2 на MegaIndex TV
Практика SEO: выпуск 2 на MegaIndex TVПрактика SEO: выпуск 2 на MegaIndex TV
Практика SEO: выпуск 2 на MegaIndex TV
 
NLTK in 20 minutes
NLTK in 20 minutesNLTK in 20 minutes
NLTK in 20 minutes
 
Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)
 
Experimenting the TextTiling Algorithm
Experimenting the TextTiling AlgorithmExperimenting the TextTiling Algorithm
Experimenting the TextTiling Algorithm
 
Николай Бузурнюк "Автономная система распознавания русской речи"
 Николай Бузурнюк "Автономная система распознавания русской речи" Николай Бузурнюк "Автономная система распознавания русской речи"
Николай Бузурнюк "Автономная система распознавания русской речи"
 
Дмитрий Суворов "Интеллектуальный помощник Лекси"
Дмитрий Суворов "Интеллектуальный помощник Лекси"Дмитрий Суворов "Интеллектуальный помощник Лекси"
Дмитрий Суворов "Интеллектуальный помощник Лекси"
 
Solit 2013, Название: как научить компьютер понимать многозначные слова?, Гол...
Solit 2013, Название: как научить компьютер понимать многозначные слова?, Гол...Solit 2013, Название: как научить компьютер понимать многозначные слова?, Гол...
Solit 2013, Название: как научить компьютер понимать многозначные слова?, Гол...
 
Chernyak_defense
Chernyak_defenseChernyak_defense
Chernyak_defense
 
Компиляция и транскрибирование корпуса устной речи с EXMARaLDA
Компиляция и транскрибирование корпуса устной речи с EXMARaLDAКомпиляция и транскрибирование корпуса устной речи с EXMARaLDA
Компиляция и транскрибирование корпуса устной речи с EXMARaLDA
 
Основные понятия корпусной лингвистики
Основные понятия корпусной лингвистикиОсновные понятия корпусной лингвистики
Основные понятия корпусной лингвистики
 
Wordnet
WordnetWordnet
Wordnet
 
Языковая онтология (Linguistic ontology, in Russian)
Языковая онтология (Linguistic ontology, in Russian)Языковая онтология (Linguistic ontology, in Russian)
Языковая онтология (Linguistic ontology, in Russian)
 
WORDNET: A Database of Lexical Relations
WORDNET: A Database of Lexical RelationsWORDNET: A Database of Lexical Relations
WORDNET: A Database of Lexical Relations
 
Wordnet
WordnetWordnet
Wordnet
 
SEO-практикум [Пиксель Плюс]
SEO-практикум [Пиксель Плюс]SEO-практикум [Пиксель Плюс]
SEO-практикум [Пиксель Плюс]
 
Authorship attribution
Authorship attributionAuthorship attribution
Authorship attribution
 
Anaphora resolution
Anaphora resolutionAnaphora resolution
Anaphora resolution
 

Similar to NLTK и Python для работы с текстами

Корпусная лингвистика: Проект открытый корпус и применение в народном хозяйстве
Корпусная лингвистика: Проект открытый корпус и применение в народном хозяйствеКорпусная лингвистика: Проект открытый корпус и применение в народном хозяйстве
Корпусная лингвистика: Проект открытый корпус и применение в народном хозяйствеWitology
 
гибридная технология перевода. юлия епифанцева. зал.4
гибридная технология перевода. юлия епифанцева. зал.4гибридная технология перевода. юлия епифанцева. зал.4
гибридная технология перевода. юлия епифанцева. зал.4rit2011
 
Презентация PROMT для РИТ
Презентация PROMT для РИТПрезентация PROMT для РИТ
Презентация PROMT для РИТQPsoft
 
Ontology and Text Alalize
Ontology and Text AlalizeOntology and Text Alalize
Ontology and Text AlalizeOchirov Tsyren
 
Lviv MDDay 2014. Олег Курзов “ваш Windows phone додаток вміє говорити”
Lviv MDDay 2014. Олег Курзов “ваш Windows phone додаток вміє говорити”Lviv MDDay 2014. Олег Курзов “ваш Windows phone додаток вміє говорити”
Lviv MDDay 2014. Олег Курзов “ваш Windows phone додаток вміє говорити”Lviv Startup Club
 
17.03 большакова
17.03 большакова17.03 большакова
17.03 большаковаNatalia Ostapuk
 
Особые корпусы текстов
Особые корпусы текстовОсобые корпусы текстов
Особые корпусы текстовArtem Lukanin
 
извлечение объектов и фактов из текстов
извлечение объектов и фактов из текстовизвлечение объектов и фактов из текстов
извлечение объектов и фактов из текстовYandex
 
F# функциональный язык "новой" волны
F# функциональный язык "новой" волныF# функциональный язык "новой" волны
F# функциональный язык "новой" волныArtem Prysyazhnuk
 
4 встреча — Компьютерная лингвистика (А. Катинская)
4 встреча — Компьютерная лингвистика (А. Катинская)4 встреча — Компьютерная лингвистика (А. Катинская)
4 встреча — Компьютерная лингвистика (А. Катинская)Smolensk Computer Science Club
 
10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскаль10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскальAnna_Malina
 
10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскаль10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскальAnna_Malina
 
AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...
AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...
AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...GeeksLab Odessa
 

Similar to NLTK и Python для работы с текстами (20)

Языковые корпуса
Языковые корпусаЯзыковые корпуса
Языковые корпуса
 
Корпусная лингвистика: Проект открытый корпус и применение в народном хозяйстве
Корпусная лингвистика: Проект открытый корпус и применение в народном хозяйствеКорпусная лингвистика: Проект открытый корпус и применение в народном хозяйстве
Корпусная лингвистика: Проект открытый корпус и применение в народном хозяйстве
 
Promt
PromtPromt
Promt
 
гибридная технология перевода. юлия епифанцева. зал.4
гибридная технология перевода. юлия епифанцева. зал.4гибридная технология перевода. юлия епифанцева. зал.4
гибридная технология перевода. юлия епифанцева. зал.4
 
Презентация PROMT для РИТ
Презентация PROMT для РИТПрезентация PROMT для РИТ
Презентация PROMT для РИТ
 
Ontology and Text Alalize
Ontology and Text AlalizeOntology and Text Alalize
Ontology and Text Alalize
 
Rspec
RspecRspec
Rspec
 
Lviv MDDay 2014. Олег Курзов “ваш Windows phone додаток вміє говорити”
Lviv MDDay 2014. Олег Курзов “ваш Windows phone додаток вміє говорити”Lviv MDDay 2014. Олег Курзов “ваш Windows phone додаток вміє говорити”
Lviv MDDay 2014. Олег Курзов “ваш Windows phone додаток вміє говорити”
 
17.03 большакова
17.03 большакова17.03 большакова
17.03 большакова
 
Особые корпусы текстов
Особые корпусы текстовОсобые корпусы текстов
Особые корпусы текстов
 
Lande, Jigalo
Lande, JigaloLande, Jigalo
Lande, Jigalo
 
Автоматическое построение лексико-синтаксических шаблонов по текстам предметн...
Автоматическое построение лексико-синтаксических шаблонов по текстам предметн...Автоматическое построение лексико-синтаксических шаблонов по текстам предметн...
Автоматическое построение лексико-синтаксических шаблонов по текстам предметн...
 
извлечение объектов и фактов из текстов
извлечение объектов и фактов из текстовизвлечение объектов и фактов из текстов
извлечение объектов и фактов из текстов
 
Извлечение перевожных эквивалентов из параллельных корпусов
Извлечение перевожных эквивалентов из параллельных корпусовИзвлечение перевожных эквивалентов из параллельных корпусов
Извлечение перевожных эквивалентов из параллельных корпусов
 
F# функциональный язык "новой" волны
F# функциональный язык "новой" волныF# функциональный язык "новой" волны
F# функциональный язык "новой" волны
 
4 встреча — Компьютерная лингвистика (А. Катинская)
4 встреча — Компьютерная лингвистика (А. Катинская)4 встреча — Компьютерная лингвистика (А. Катинская)
4 встреча — Компьютерная лингвистика (А. Катинская)
 
10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскаль10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскаль
 
10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскаль10кл общие сведения о языке программирования паскаль
10кл общие сведения о языке программирования паскаль
 
Панфилов. Корпусы текстов и принципы их создания
Панфилов. Корпусы текстов и принципы их созданияПанфилов. Корпусы текстов и принципы их создания
Панфилов. Корпусы текстов и принципы их создания
 
AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...
AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...
AI&BigData Lab. Варвара Красавина "Оптимизация поиска в системе LeadScanner с...
 

NLTK и Python для работы с текстами

  • 1. Наталья Карлова-Бурбонус natali.karlova-bourbonus@zmi.uni-giessen.de Университет имени Юстуса Либиха (г. Гиссен, Германия) NLTK и Python для работы с текстами
  • 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
  • 7. Токенизация/Сегментация (1)  Деление текста на отдельные единицы (предложения, слова) 7
  • 10. Token vs. type  Token (слово) vs. Type (слово как вид)  Nota Bene: знаки препинания, лемматизация 10
  • 15. Работа с частотой слов (1)  Lexical richness (словарное богатство): отношение общего числа tokens к общему числу types в тексте 15
  • 16. Работа с частотой слов (2)  Слова + частота их употребления в тексте 16
  • 17. Работа с частотой слов (3)  Слова, которые отвечают определенному условию + частота их употребления 17
  • 18. Упражнение 1 (1)  Работайте с текстом text6, который сохранен в модуле book*. text6 является типом list (список).  Найдите 10 слов, которые чаще всего встречаются в тексте (исключите stopwords* и знаки препинания). Не забудьте про лемматизацию.  Для самого частого слова в тексте выдайте его контекст. * ** 18
  • 20. Работа с корпусом (1)  Готовые корпуса – Brown Corpus – Gutenberg Corpus – Reuters Corpus – Annotated Text Corpora – И др. 20
  • 22. Работа с корпусом (3)  Собственный корпус – Документы с расширением .txt 22
  • 23. Доступ к документам  Документ на компьютере  Web-документ 23
  • 24. Упражнение 2  Работайте с корпусом news (Workshops_DataNLTK).  Сколько предложений в этом корпусе?  Сколько 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