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

Обработка естественного языка (NLP) на Python

Fouad Trad

Machine Learning Engineer

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

Классификация текста

  • Классифицирует целые предложения или пары текстов

Изображение задач классификации текста и QNLI, показанных в предыдущих видео.

Обработка естественного языка (NLP) на Python

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

Классификация текста

  • Классифицирует целые предложения или пары текстов

Изображение задач классификации текста и QNLI, показанных в предыдущих видео.

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

  • Присваивает метки токенам внутри предложения

Изображение предложения, разбитого по словам, каждое из которых выделено своим цветом, обозначающим отдельный класс.

  • Распознавание именованных сущностей (NER)
  • Разметка частей речи (PoS)
Обработка естественного языка (NLP) на Python

Распознавание именованных сущностей (NER)

  • Определяет сущности: имена, места, организации, даты и другое

Изображение NER-анализа предложения «Apple opened a new office in Toronto in March 2023»: Apple распознана как организация, Toronto — как место, March 2023 — как дата.

  • Применяется в:
    • Информационном поиске
    • Ответах на вопросы
Обработка естественного языка (NLP) на Python

NER в коде

from transformers import pipeline

ner_pipeline = pipeline(task="ner",
model="dslim/bert-base-NER",
grouped_entities=True)
ner_results = ner_pipeline("Zara Venn established NovaCore Dynamics in London.")
print(ner_results)
[{'entity_group': 'PER', 'score': np.float32(0.99840075), 'word': 'Zara Venn', 'start': 0, 'end': 9}, 
 {'entity_group': 'ORG', 'score': np.float32(0.99875560), 'word': 'NovaCore Dynamics', 'start': 21, 'end': 38}, 
 {'entity_group': 'LOC', 'score': np.float32(0.99960726), 'word': 'London', 'start': 42, 'end': 48}]
Обработка естественного языка (NLP) на Python

Разметка частей речи (PoS)

  • Присваивает грамматическую роль (существительное, глагол, прилагательное) каждому слову

Изображение PoS-тегов для предложения «The quick fox jumps over the lazy dog»: «the» — артикль, «quick» и «lazy» — прилагательные, «fox» и «dog» — существительные, «jumps» — глагол, «over» — предлог.

  • Применяется в:
    • Синтаксическом разборе
    • Исправлении грамматики
    • Генерации текста
Обработка естественного языка (NLP) на Python

PoS-разметка в коде

pos_pipeline = pipeline(task="token-classification",

model="vblagoje/bert-english-uncased-finetuned-pos",
grouped_entities=True)
pos_results = pos_pipeline("Zara Venn established NovaCore Dynamics in London.") print(pos_results)
[{'entity_group': 'PROPN', 'score': np.float32(0.9982983), 'word': 'zara venn', 'start': 0, 'end': 9},  
 {'entity_group': 'VERB', 'score': np.float32(0.99940944), 'word': 'established', 'start': 10, 'end': 21},  
 {'entity_group': 'PROPN', 'score': np.float32(0.99455726), 'word': 'novacore dynamics', 'start': 22, 'end': 39},  
 {'entity_group': 'ADP', 'score': np.float32(0.99935526), 'word': 'in', 'start': 40, 'end': 42},  
 {'entity_group': 'PROPN', 'score': np.float32(0.99847955), 'word': 'london', 'start': 43, 'end': 49}]
Обработка естественного языка (NLP) на Python

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

Обработка естественного языка (NLP) на Python

Preparing Video For Download...