Изучение обработки естественного языка с помощью Spacy: подробное руководство с примерами кода

Чтобы проверить версию Spacy, установленную в вашей системе, вы можете использовать следующий код:

import spacy
print(spacy.__version__)

Появится номер версии Spacy, установленной в данный момент.

Теперь перейдем к написанию статьи в блоге, в которой обсуждаются различные методы в Spacy с примерами кода. Вот статья, в которой описаны некоторые часто используемые методы:

Изучение обработки естественного языка с помощью Spacy

Spacy — популярная библиотека Python для задач обработки естественного языка (NLP). Он предоставляет широкий спектр функций для обработки текста, таких как токенизация, распознавание именованных объектов, тегирование частей речи и анализ зависимостей. В этой статье мы рассмотрим некоторые ключевые методы, предлагаемые Spacy, и приведем примеры кода, демонстрирующие их использование.

1. Токенизация

Токенизация – это процесс разделения текста на отдельные слова или токены. Модуль токенизации Spacy можно использовать следующим образом:

import spacy
nlp = spacy.load("en_core_web_sm")
text = "Spacy is an amazing tool for NLP tasks."
doc = nlp(text)
for token in doc:
    print(token.text)

Выход:

Spacy
is
an
amazing
tool
for
NLP
tasks
.

2. Распознавание именованных объектов (NER)

Распознавание именованных объектов идентифицирует и классифицирует именованные объекты в тексте, например имена людей, организации, местоположения и т. д. Вот пример использования модуля NER Spacy:

import spacy
nlp = spacy.load("en_core_web_sm")
text = "Apple Inc. is planning to open a new store in New York City."
doc = nlp(text)
for entity in doc.ents:
    print(entity.text, entity.label_)

Выход:

Apple Inc. ORG
New York City GPE

3. Маркировка части речи (POS)

Теги POS присваивают каждому слову в предложении грамматическую информацию, например, является ли это существительным, глаголом, прилагательным и т. д. Spacy предоставляет удобный способ добавления тегов POS:

import spacy
nlp = spacy.load("en_core_web_sm")
text = "I want to eat a pizza."
doc = nlp(text)
for token in doc:
    print(token.text, token.pos_)

Выход:

I PRON
want VERB
to PART
eat VERB
a DET
pizza NOUN
. PUNCT

4. Анализ зависимостей

Разбор зависимостей анализирует грамматическую структуру предложения и устанавливает связи между словами. Вот пример использования модуля анализа зависимостей Spacy:

import spacy
nlp = spacy.load("en_core_web_sm")
text = "The cat sits on the mat."
doc = nlp(text)
for token in doc:
    print(token.text, token.dep_, token.head.text)

Выход:

The det cat
cat nsubj sits
sits ROOT sits
on prep sits
the det mat
mat pobj on
. punct sits

Это лишь некоторые из многих методов, предлагаемых Спейси для решения задач НЛП. Используя эти методы, вы можете эффективно выполнять широкий спектр задач по обработке и анализу текста.