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

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

Розуміння POS-тегування

Ми вже згадували, що тегування частин мови є корисним для лематизації, що є його основною роллю в попередній обробці тексту, тому розглянемо цей процес детальніше.

Note
Визначення

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

Використання повних назв частин мови (наприклад, "дієслово" або "іменник") може бути досить громіздким, особливо при роботі з великим корпусом. Тому замість цього використовують короткі позначення, відомі як теги. Наприклад, "VB" замість дієслово. На практиці, однак, різні 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, який є типовим POS-тегером у NLTK.

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

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

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

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

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

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

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

Секція 2. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

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

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

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

Розуміння POS-тегування

Ми вже згадували, що тегування частин мови є корисним для лематизації, що є його основною роллю в попередній обробці тексту, тому розглянемо цей процес детальніше.

Note
Визначення

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

Використання повних назв частин мови (наприклад, "дієслово" або "іменник") може бути досить громіздким, особливо при роботі з великим корпусом. Тому замість цього використовують короткі позначення, відомі як теги. Наприклад, "VB" замість дієслово. На практиці, однак, різні 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, який є типовим POS-тегером у NLTK.

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

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

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

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

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

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

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

Секція 2. Розділ 5
some-alt