Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Визначення Частин Мови | Секція
Practice
Projects
Quizzes & Challenges
Вікторини
Challenges
/
Обробка природної мови

bookВизначення Частин Мови

Свайпніть щоб показати меню

Note
Визначення

Тегування частин мови (POS-тегування) — це процес позначення слова в тексті (корпусі) як такого, що відповідає певній частині мови (наприклад, іменник або дієслово), на основі як його визначення, так і контексту — тобто, його взаємозв'язку з сусідніми та пов'язаними словами у фразі, реченні або абзаці.

Використання повних назв частин мови (наприклад, "дієслово" або "іменник") може бути досить громіздким, особливо при роботі з великим корпусом. Тому замість цього використовують короткі позначення, відомі як теги. Наприклад, "VB" замість verb. На практиці різні POS-тегери можуть використовувати дещо різні теги та більш деталізовані теги, такі як "VBD" для дієслів у минулому часі.

POS-тегування з NLTK

Щоб виконати тегування частин мови за допомогою NLTK, потрібно імпортувати функцію pos_tag() безпосередньо з nltk і застосувати її до списку рядків (токенів), передавши його як аргумент.

123456789101112
from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) print(tagged_tokens)
copy

Ця функція повертає список кортежів, кожен з яких містить токен і його тег. Рядок nltk.download('averaged_perceptron_tagger_eng') ініціює завантаження набору даних і моделей, необхідних для PerceptronTagger, який є типовим теггером частин мови у NLTK.

Note
Дізнайтеся більше

Цей теггер базується на усередненій моделі перцептрона, алгоритмі навчання з учителем, який ефективний для обробки тексту у великих масштабах, зокрема для тегування частин мови. PerceptronTagger обирається завдяки балансу швидкості та точності, що робить його придатним для широкого спектра NLP-завдань, які потребують POS-тегування. Він навчається вагам ознак на основі навчальних даних і використовує ці ваги для передбачення тегів частин мови у новому тексті.

Для кращої візуалізації результату можна перетворити його у DataFrame з бібліотеки pandas:

1234567891011121314
from nltk.tokenize import word_tokenize from nltk import pos_tag import nltk import pandas as pd nltk.download('punkt_tab') # Download the model needed for NLTK's POS tagging nltk.download('averaged_perceptron_tagger_eng') text = "One of the key NLP tasks is part of speech tagging" text = text.lower() tokens = word_tokenize(text) # Perform POS tagging tagged_tokens = pos_tag(tokens) # Convert to DataFrame print(pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']).T)
copy

Альтернативно можна використати pd.DataFrame(tagged_tokens, columns=['Token', 'POS tag']) без транспонування DataFrame, щоб кожен рядок відповідав парі токен-тег.

question mark

Яка мета тегування частин мови (POS) у НЛП?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 14

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 1. Розділ 14
some-alt