Python 使用TextBlob进行词性标注

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标注器的目的是为子句单元分配语言学(主要与语法相关)的详细信息。它们也被称为标记,大多数情况下与符号和单词(例如,标点符号)对应。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程