Введение в токенизацию

Введение в обработку естественного языка на Python

Katharine Jarmul

Founder, kjamistan

Что такое токенизация?

  • Разбивка строки или документа на токены (небольшие фрагменты)
  • Один из этапов подготовки текста для NLP
  • Существует множество теорий и правил
  • Вы можете создавать собственные правила с помощью регулярных выражений
  • Примеры:
    • Разбивка на слова или предложения
    • Отделение знаков пунктуации
    • Выделение хэштегов в твите
Введение в обработку естественного языка на Python

Библиотека nltk

  • nltk: набор инструментов для обработки естественного языка
from nltk.tokenize import word_tokenize
word_tokenize("Hi there!")
['Hi', 'there', '!']
Введение в обработку естественного языка на Python

Зачем токенизировать?

  • Упрощает определение части речи
  • Поиск часто встречающихся слов
  • Удаление ненужных токенов
  • «I don't like Sam's shoes.»
  • «I», «do», «n't», «like», «Sam», «'s», «shoes», «.»
Введение в обработку естественного языка на Python

Другие токенизаторы nltk

  • sent_tokenize: токенизация документа на предложения

  • regexp_tokenize: токенизация строки или документа по шаблону регулярного выражения

  • TweetTokenizer: специальный класс для токенизации твитов — позволяет выделять хэштеги, упоминания и множество восклицательных знаков!!!

Введение в обработку естественного языка на Python

Практика регулярных выражений

  • Разница между re.search() и re.match()
import re
re.match('abc', 'abcde')
<_sre.SRE_Match object; span=(0, 3), match='abc'>
re.search('abc', 'abcde')
<_sre.SRE_Match object; span=(0, 3), match='abc'>
re.match('cd', 'abcde')
re.search('cd', 'abcde')
<_sre.SRE_Match object; span=(2, 4), match='cd'>
Введение в обработку естественного языка на Python

Давайте потренируемся!

Введение в обработку естественного языка на Python

Preparing Video For Download...