使用 TextBlob 进行词性标注

2024 年 8 月 29 日 | 4 分钟阅读

TextBlob模块用于创建分析文本的程序。TextBlob模块中包含的最强大的功能之一是其词性标注。

首先,我们将安装TextBlob并运行这些命令

然后它将运行TextBlob并下载所需的NLTK语料库。上述安装过程可能需要很长时间,因为需要下载大量的分块器、分词器、其他算法以及所有语料库。

在语料库语言学中,词性标签(POS tagging,也称为PoS tagging或POST)也称为语法标签或词类别消歧。

以下是标签及其含义和一些示例的列表

CC:这是一个并列连词

CD:这是一个基数词

DT:这是限定词

EX:这是存在词there(例如:"there is"……可以理解为“there exists”表示存在)

FW:这是一个外来词

IN:这是一个介词/从属连词

JJ:这是一个形容词例如:‘big’

JJR:这是一个形容词,例如:比较级‘bigger’

JJS:这是一个形容词,例如:最高级‘biggest’

LS:这是一个列表标记例如:1)

2)

MD:这是一个情态动词例如:could,will

NN:这是一个名词,例如:单数‘desk’

NNS:这是一个名词,例如:复数‘desks’

NNP:这是一个专有名词,例如:单数‘Harrison’

NNPS:这是一个专有名词,例如:复数‘Americans’

PDT:这是一个前限定词例如:‘all the kids’

POS:这是一个所有格结尾parent's

PRP:这是一个人称代词,例如:I,he,she

PRP$:这是一个物主代词,例如:my,his,hers

RB:这是一个副词例如:very,silently,

RBR:这是一个副词,例如:比较级better

RBS:这是一个副词,例如:最高级best

RP:这是一个短语动词的一部分give up

TO:to go,例如:‘to’ the store.

UH:这是一个感叹词例如:errrrrrrrm

VB:这是一个动词,例如:基本形式take

VBD:这是一个动词,例如:过去式took

VBG:这是一个动词,例如:动名词/现在分词taking

VBN:这是一个动词,例如:过去分词taken

VBP:这是一个动词,例如:单数现在时,非第三人称take

VBZ:这是一个动词,例如:第三人称单数现在时takes

WDT:这是一个wh-限定词例如:which

WP:这是一个wh-代词,例如:who,what

WP$:这是一个物主wh-代词例如:whose

WRB:这是一个wh-副词例如:where,when

代码

输出

[('Jack', 'NNP'), ('Jill', 'NNP'), ('and', 'CC'), ('Bill', 'NNP'), ('are', 'VBP'), ('living', 'VBG'), ('in', 'IN'), ('America', 'NNP'), ('Jack', 'NNP'), ('use', 'NN'), ('to', 'TO'), ('go', 'VB'), ('for', 'IN'), ('running', 'VBG'), ('every', 'DT'), ('morning', 'NN'), ('but', 'CC'), ('he', 'PRP'), ('got', 'VBD'), ('fever', 'RB'), ('last', 'JJ'), ('night', 'NN'), ('therefore', 'VBD'), ('her', 'PRP$'), ('will', 'MD'), ('not', 'RB'), ('be', 'VB'), ('going', 'VBG'), ('for', 'IN'), ('running', 'VBG'), ('tomorrow', 'NN'), ('this', 'DT'), ('would', 'MD'), ('be', 'VB'), ('his', 'PRP$'), ('first', 'JJ'), ('time', 'NN'), ('of', 'IN'), ('breaking', 'VBG'), ('his', 'PRP$'), ('running', 'VBG'), ('streak', 'NN'), ('jill', 'NN'), ('is', 'VBZ'), ('a', 'DT'), ('school', 'NN'), ('teacher.he', 'NN'), ('believes', 'VBZ'), ('in', 'IN'), ('meditation', 'NN'), ('he', 'PRP'), ('practice', 'NN'), ('mediating', 'VBG'), ('daily', 'RB'), ('for', 'IN'), ('an', 'DT'), ('hour', 'NN'), ('bill', 'NN'), ('is', 'VBZ'), ('a', 'DT'), ('fun', 'NN'), ('guy', 'NN'), ('for', 'IN'), ('him', 'PRP'), ('laughing', 'VBG'), ('is', 'VBZ'), ('the', 'DT'), ('best', 'JJS'), ('medicine', 'NN')]

本质上,POS tagger的目的是为子句子单元分配(主要是与语法相关的)语言细节。它们也称为token,并且大多数时候,它们对应于符号和单词(例如,标点符号)。