Python使用NLTK把单词转换为它们的词干形式或基本形式
环境搭建和准备工作:
1. 安装Python:在官网https://www.python.org/downloads/下载并安装最新版本的Python。
2. 安装NLTK:在命令行中执行`pip install nltk`来安装NLTK。
3. 安装依赖的词库(corpus):在Python交互界面中执行`import nltk`和`nltk.download()`来打开NLTK下载器,选择需要的数据包进行下载。
依赖的类库:
- NLTK:用于自然语言处理的Python库。
数据集:
- WordNet:一个包含英语单词及其同义词、上下位关系等信息的数据集。可以通过下载NLTK的WordNet数据包来使用。
样例数据:
我们使用输入句子中的单词来展示如何对其进行词干(stemming)处理,例如将单词“running”转换为“run”。
完整样例说明:
在下面的示例中,我们将使用NLTK的PorterStemmer类来实现词干处理。
python
import nltk
from nltk.stem import PorterStemmer
# 初始化词干处理器
stemmer = PorterStemmer()
# 示例输入句子
sentence = "I was running in the park"
# 将句子拆分为单词
words = nltk.word_tokenize(sentence)
# 对每个单词进行词干处理
stemmed_words = [stemmer.stem(word) for word in words]
# 输出处理后的结果
print(stemmed_words)
输出结果:
`['I', 'wa', 'run', 'in', 'the', 'park']`
完整源码:
python
import nltk
from nltk.stem import PorterStemmer
def stem_words(sentence):
# 初始化词干处理器
stemmer = PorterStemmer()
# 将句子拆分为单词
words = nltk.word_tokenize(sentence)
# 对每个单词进行词干处理
stemmed_words = [stemmer.stem(word) for word in words]
return stemmed_words
# 示例输入句子
sentence = "I was running in the park"
# 对句子进行词干处理
stemmed_sentence = " ".join(stem_words(sentence))
# 输出处理后的结果
print(stemmed_sentence)
输出结果:
`I wa run in the park`