📅  最后修改于: 2023-12-03 15:41:24.639000             🧑  作者: Mango
自然语言处理是一门涉及到使用计算机对人类语言进行分析、理解、生成的领域。自然语言工具包(NLTK)是一个用于自然语言处理的Python库。NLTK包含了一系列工具和数据集,使计算机能够对人类语言进行自动处理。本文将介绍如何入门使用NLTK。
要安装NLTK,打开终端并输入以下命令:
pip install nltk
NLTK还需要一些附加数据集,可以使用如下命令下载:
import nltk
nltk.download()
将一段文本分割成一些较小的部分,或者称为标记。这些部分可以是单词、标点符号或其他语言学单位。在NLTK中使用的默认分词器是TreeBankTokenizer。使用方法如下:
from nltk.tokenize import TreebankWordTokenizer
tokenizer = TreebankWordTokenizer()
text = "This is NLTK Tokenization tutorial."
tokens = tokenizer.tokenize(text)
print(tokens)
# ['This', 'is', 'NLTK', 'Tokenization', 'tutorial', '.']
给文本中的单词打上相应的词性标签(例如,名词、动词、形容词等)。在NLTK中,使用tag()方法进行词性标注:
from nltk import pos_tag
from nltk.tokenize import TreebankWordTokenizer
tokenizer = TreebankWordTokenizer()
text = "This is NLTK POS tutorial."
tokens = tokenizer.tokenize(text)
tags = pos_tag(tokens)
print(tags)
# [('This', 'DT'), ('is', 'VBZ'), ('NLTK', 'NNP'), ('POS', 'NNP'), ('tutorial', 'NN'), ('.', '.')]
停用词是指在文本中出现的常见单词,这些单词在帮助建立文本上下文方面没有任何作用。在NLTK中有一个停用词列表。使用方法如下:
from nltk.corpus import stopwords
stop_words = set(stopwords.words('english'))
text = "This is NLTK Stopwords tutorial."
words = text.split()
filtered_words = [word for word in words if word.casefold() not in stop_words]
print(filtered_words)
# ['NLTK', 'Stopwords', 'tutorial.']
将单词缩小到其基本形式,例如将“running”和“ran”都转换为“run”。这一步通常是为了将不同的单词形式映射到同一个单词上,以便进行比较或分组。NLTK库中有多种不同的stemmer可以使用(如PorterStemmer,LancasterStemmer等)。使用方法如下:
from nltk.stem import PorterStemmer
stemmer = PorterStemmer()
print(stemmer.stem('running')) # 'run'
这里我们简单地介绍了NLTK的常用功能,包括分词、词性标注、停用词移除和词干提取等。在自然语言处理中,NLTK是非常有用的工具库,非常值得尝试。