📜  Python|使用 spaCy 的 PoS 标记和词形还原(1)

📅  最后修改于: 2023-12-03 15:04:24.062000             🧑  作者: Mango

Python | 使用 spaCy 的 PoS 标记和词形还原

简介

spaCy 是一个非常流行的自然语言处理库,能够处理诸如 PoS 标记、命名实体识别和依存分析的任务。其中,PoS 标记是对每个词性进行分类的过程。此外,词形还原则是将普通形式的单词转换为原始形式。

本文将介绍如何使用 spaCy 库中的 PoS 标记和词形还原功能,以便更好地理解自然语言处理任务。

环境要求
  • Python 3.x
  • spaCy 库:pip install spacy
PoS 标记

PoS 标记是对单词进行词性分类的过程。在 spaCy 中,该过程可以通过调用 pos_ 属性来实现。例如:

import spacy

nlp = spacy.load("en_core_web_sm")
doc = nlp("The quick brown fox jumps over the lazy dog.")

for token in doc:
    print(token.text, token.pos_)

输出结果为:

The DET
quick ADJ
brown ADJ
fox NOUN
jumps VERB
over ADP
the DET
lazy ADJ
dog NOUN
. PUNCT

在上述例子中我们将"en_core_web_sm"作为模型进行载入,以一句英文作为示例进行展示。输出的结果中可以看到,每个单词都与相应的词性一一对应。

词形还原

词形还原是将普通形式的单词转换为原始形式。在 spaCy 中,该过程可以通过调用 lemma_ 属性来实现。例如:

import spacy

nlp = spacy.load("en_core_web_sm")
doc = nlp("The quick brown foxes jumped over the lazy dogs.")

for token in doc:
    print(token.text, token.lemma_)

输出结果为:

The the
quick quick
brown brown
foxes fox
jumped jump
over over
the the
lazy lazy
dogs dog
. .

注意一点:在输出的结果中我们发现,有些单词并没有被还原为其原始形式。这是由于 spaCy 并不是总能够正确地识别出单词的语言环境,因而需要进行手动更改。

参考文献