Python 使用TextBlob进行词性标注
TextBlob模块用于创建分析文本的程序。TextBlob模块中最强大的功能之一就是词性标注。
首先,我们需要安装TextBlob并运行以下命令:
!pip3 install textblob
from textblob import download_corpora
然后它将运行TextBlob,并下载所需的NLTK语料库。上面的安装过程可能需要很长时间,因为需要下载大量的分块器、标记器、其他算法以及需要下载的所有语料库。
在语料库语言学中,词性标注(POS标注,也称为PoS标注或POST)也被称为语法标注或词类消歧。
Input: Life is all about believing.
Output: [('Life', 'NN'), ('is', 'VBZ'),
('all', 'DT'), ('about', 'IN'),
('believing', 'NN')]
以下是HTML标签的列表,包括它们的含义和一些示例:
CC :表示并列连词
CD :表示基数数字
DT :表示限定词
EX :表示存在句型中的”there is”(类似于”存在”的意思)
FW :表示外来词
IN :表示介词/从属连词
JJ :表示形容词,例如:”big”
JJR :表示形容词,例如:”bigger”(比较级)
JJS :表示形容词,例如:”biggest”(最高级)
LS :表示列表标记,例如:1)
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’ the store.
UH :它是一个感叹词 例如: 嗯……
VB :它是一个动词 例如: 基本形式为take
VBD :它是一个动词 例如: 过去式为took
VBG :它是一个动词 例如: 现在分词/动名词为taking
VBN :它是一个动词 例如: 过去分词为taken
VBP :它是一个动词 例如: 第一人称单数现在时为take
VBZ :它是一个动词 例如: 第三人称单数现在时为takes
WDT :它是一个疑问限定词 例如: 哪个
WP :它是一个疑问代词 例如: 谁,什么
WP$ :它是一个所有格疑问代词 例如: 谁的
WRB :它是一个疑问副词 例如: 在哪里,何时
代码:
# First, we will import TextBlob method from textblob library
from textblob import TextBlob as Txb
text1 = ("Jack, Jill and Bill are living in America. " +
"Jack use to go for running every morning " +
"but he got fever last night therefore her will not be going for running tomorrow" +
" this would be his first time of breaking his running streak. " +
"jill is a school teacher." +
"he believes in meditation. " +
"he practice mediating daily for an hour. " +
"bill is a fun guy, for him laughing is the best medicine.")
# here, we will create a textblob object
blob_object1 = Txb(text1)
# Part-of-speech tags can be accessed through
# the tags property of blob object.'
# Now, we will print word with pos tag.
print(blob_object1.tags)
输出:
[('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标注器的目的是为子句单元分配语言学(主要与语法相关)的详细信息。它们也被称为标记,大多数情况下与符号和单词(例如,标点符号)对应。