📜  Python | NLTK的词形还原lemmatization(1)

📅  最后修改于: 2023-12-03 14:46:06.571000             🧑  作者: Mango

Python | NLTK的词形还原lemmatization

简介

在自然语言处理中,解析和分析文本通常需要将单词还原为其原始形式,这个过程被称为词形还原(Lemmatization)。NLTK是Python下自然语言处理的标准库之一,提供了丰富的函数和工具,其中包括词形还原。

安装NLTK

在使用NLTK进行词形还原前,需要先安装NLTK库。

!pip install nltk
下载语料库

安装完成之后,还需要下载NLTK的stopwords和WordNet语料库。在Python交互式环境中,输入以下代码:

import nltk
nltk.download('stopwords')
nltk.download('wordnet')
使用词形还原

NLTK的词形还原函数是WordNetLemmatizer。它通过找到单词的词性和使用WordNet数据库提供的规则,将单词还原为其基本形式。

from nltk.stem import WordNetLemmatizer

wordnet_lemmatizer = WordNetLemmatizer()

# 词形还原的例子
word1 = 'cars'
word2 = 'running'
word3 = 'feet'
word4 = 'books'
print(wordnet_lemmatizer.lemmatize(word1))
print(wordnet_lemmatizer.lemmatize(word2))
print(wordnet_lemmatizer.lemmatize(word3))
print(wordnet_lemmatizer.lemmatize(word4))

输出结果:

car
running
foot
book

从上述示例可以看出,词形还原将单词还原为其基本形式,如cars还原为car,running还原为run,feet还原为foot,books还原为book。

WordNetLemmatizer还提供了一个可选参数pos用于指定单词的词性。如下是一个例子:

from nltk.stem import WordNetLemmatizer

wordnet_lemmatizer = WordNetLemmatizer()

# 词形还原的例子
word1 = 'cars'
word2 = 'running'
word3 = 'feet'
word4 = 'books'
print(wordnet_lemmatizer.lemmatize(word1, pos="n"))
print(wordnet_lemmatizer.lemmatize(word2, pos="v"))
print(wordnet_lemmatizer.lemmatize(word3, pos="n"))
print(wordnet_lemmatizer.lemmatize(word4, pos="n"))

输出结果:

car
run
foot
book

上述示例中,第二个参数pos指定了单词的词性,n代表名词,v代表动词。由于running作为动词,输出结果变为了run。

小结

本文简单介绍了Python | NLTK的词形还原lemmatization。我们需要先安装NLTK库,然后下载stopwords和WordNet语料库,即可使用WordNetLemmatizer函数实现词形还原,将单词还原为其基本形式。WordNetLemmatizer还提供了可选参数pos,用于指定单词的词性。