НЛП | Как работает токенизация текста, предложения, слов
Обработка естественного языка (NLP) - это область информатики, искусственного интеллекта, информационной инженерии и взаимодействия человека с компьютером. В этой области основное внимание уделяется тому, как программировать компьютеры для обработки и анализа больших объемов данных на естественном языке. Это сложно выполнить, поскольку процесс чтения и понимания языков намного сложнее, чем кажется на первый взгляд.
Токенизация - это процесс разметки или разделения строки текста на список токенов. Можно рассматривать токен как части, например слово - это токен в предложении, а предложение - это токен в абзаце.
Ключевые моменты статьи -
- Токенизация текста в предложения
- Предложения в слова токенизация
- Предложения с использованием токенизации регулярных выражений
Код # 1: Токенизация предложения - разделение предложений в абзаце
from nltk.tokenize import sent_tokenize text = "Hello everyone. Welcome to GeeksforGeeks. You are studying NLP article" sent_tokenize(text) |
Выход :
['Привет всем.', 'Добро пожаловать в GeeksforGeeks.', «Вы изучаете статью о НЛП»]
Как работает sent_tokenize
Функция sent_tokenize
использует экземпляр PunktSentenceTokenizer
из nltk.tokenize.punkt module
, который уже обучен и, таким образом, очень хорошо знает, какими символами и знаками препинания отмечать конец и начало предложения.
Код №2: PunktSentenceTokenizer
- когда у нас есть огромные блоки данных, их можно эффективно использовать.
import nltk.data # Loading PunktSentenceTokenizer using English pickle file tokenizer = nltk.data.load( 'tokenizers/punkt/PY3/english.pickle' ) tokenizer.tokenize(text) |
Выход :
['Привет всем.', 'Добро пожаловать в GeeksforGeeks.', «Вы изучаете статью о НЛП»]
Код № 3: Обозначить предложение на другом языке - Можно также токенизировать предложение на разных языках, используя другой файл рассола, кроме английского.
import nltk.data spanish_tokenizer = nltk.data.load( 'tokenizers/punkt/PY3/spanish.pickle' ) text = 'Hola amigo. Estoy bien.' spanish_tokenizer.tokenize(text) |
Выход:
['Привет, друг.', 'Я в порядке.']
Код №4: Токенизация слов - разделение слов в предложении.
from nltk.tokenize import word_tokenize text = "Hello everyone. Welcome to GeeksforGeeks." word_tokenize(text) |
Выход :
['Привет', 'всем', '.', 'Добро пожаловать', 'в', 'GeeksforGeeks', '.']
Как работает word_tokenize?
word_tokenize()
- это функция-оболочка, которая вызывает tokenize () для экземпляра TreebankWordTokenizer class
.
Код # 5: Использование TreebankWordTokenizer
from nltk.tokenize import TreebankWordTokenizer tokenizer = TreebankWordTokenizer() tokenizer.tokenize(text) |
Выход :
['Привет', 'всем.', 'Добро пожаловать', 'в', 'GeeksforGeeks', '.']
Эти токенизаторы работают, разделяя слова с помощью знаков препинания и пробелов. И, как упоминалось в выходных данных кода выше, он не отбрасывает знаки препинания, позволяя пользователю решать, что делать с знаками пунктуации во время предварительной обработки.
Код № 6: PunktWordTokenizer
- не отделяет знаки препинания от слов.
from nltk.tokenize import PunktWordTokenizer tokenizer = PunktWordTokenizer() tokenizer.tokenize( "Let's see how it's working." ) |
Выход :
['Let', 's', 'see', 'how', 'it', "s", 'working', '.']
Код №6: WordPunctTokenizer
- отделяет знаки препинания от слов.
from nltk.tokenize import WordPunctTokenizer tokenizer = WordPunctTokenizer() tokenizer.tokenize( "Let's see how it's working." ) |
Выход :
['Let', "'",' s ',' see ',' how ',' it ', "'", 's', 'working', '.']
Код # 7: Использование регулярного выражения
from nltk.tokenize import RegexpTokenizer tokenizer = RegexpTokenizer( "[w']+" ) text = "Let's see how it's working." tokenizer.tokenize(text) |
Выход :
[«Давайте», «посмотрим», «как», «это», «работает»]
Код # 7: Использование регулярного выражения
from nltk.tokenize import regexp_tokenize text = "Let's see how it's working." regexp_tokenize(text, "[w']+" ) |
Выход :
[«Давайте», «посмотрим», «как», «это», «работает»]
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.