简介:python 自然语言处理(三)获取词性
python 自然语言处理(三)获取词性
在自然语言处理中,词性标注是一个重要的任务。词性(Part-of-Speech,简称POS)是用来表示一个词在句子中的语法角色和词类的标签。在Python中,有很多库可以用于词性标注,其中最流行的是NLTK库。
NLTK库是一个广泛使用的Python库,它提供了许多工具和数据集,用于处理和分析自然语言文本。其中,NLTK库中的一个重要数据集是Penn Treebank数据集,该数据集包含已标注词性的英语句子。
使用NLTK库进行词性标注的基本步骤如下:
import nltkfrom nltk.corpus import treebank
pos_tagger = nltk.data.load('penn-treebank-pos-tagset')
def pos_tag(words):tagged_words = []for word in words:tagged_word = treebank.tagged_word(word, pos_tagger)tagged_words.append(tagged_word)return tagged_words
输出结果如下:
sentence = ['This', 'is', 'a', 'test', 'sentence', '!']tagged_sentence = pos_tag(sentence)print(tagged_sentence)
在上述代码中,我们首先导入了NLTK库和Penn Treebank数据集。然后,我们使用Penn Treebank数据集训练了一个词性标注器。接着,我们定义了一个函数
[('This', 'VB'), ('is', 'VB'), ('a', 'DT'), ('test', 'NN'), ('sentence', 'NN'), ('!', 'PU')]
pos_tag(),该函数接受一个单词列表作为输入,并返回一个已标注词性的单词列表。在函数内部,我们遍历输入的单词列表,并使用treebank.tagged_word()函数将每个单词和一个词性标签一起返回。最后,我们使用该函数对一个句子进行了标注,并打印了标注结果。