自然语言处理 |词性标签——词库
什么是词性 (POS) 标记?
这是一个将句子转换为形式的过程——单词列表、元组列表(每个元组都有一个形式(单词、标签))。 case of 中的标记是词性标记,表示该词是名词、形容词、动词等。
词性 (POS) 标记语料库示例
The/at-tl expense/nn and/cc time/nn involved/vbn are/ber astronomical/jj ./.
标记语料库的格式为word/tag形式。每个单词都有一个标签来表示它的 POS。例如, nn指的是名词, vb是动词。
代码 #1:创建一个 TaggedCorpusReader。对于文字
Python3
# Using TaggedCorpusReader
from nltk.corpus.reader import TaggedCorpusReader
# initializing
x = TaggedCorpusReader('.', r'.*\.pos')
words = x.words()
print ("Words : \n", words)
tag_words = x.tagged_words()
print ("\ntag_words : \n", tag_words)
Python3
tagged_sent = x.tagged_sents()
print ("tagged_sent : \n", tagged_sent)
Python3
para = x.para()
print ("para : \n", para)
tagged_para = x.tagged_paras()
print ("\ntagged_paras : \n", tagged_paras)
输出 :
Words :
['The', 'expense', 'and', 'time', 'involved', 'are', ...]
tag_words :
[('The', 'AT-TL'), ('expense', 'NN'), ('and', 'CC'), ...]
代码#2:对于句子
Python3
tagged_sent = x.tagged_sents()
print ("tagged_sent : \n", tagged_sent)
输出 :
tagged_sent :
[[('The', 'AT-TL'), ('expense', 'NN'), ('and', 'CC'), ('time', 'NN'),
('involved', 'VBN'), ('are', 'BER'), ('astronomical', 'JJ'), ('.', '.')]]
代码#3:对于段落
Python3
para = x.para()
print ("para : \n", para)
tagged_para = x.tagged_paras()
print ("\ntagged_paras : \n", tagged_paras)
输出 :
para:
[[['The', 'expense', 'and', 'time', 'involved', 'are', 'astronomical', '.']]]
tagged_paras :
[[[('The', 'AT-TL'), ('expense', 'NN'), ('and', 'CC'), ('time', 'NN'),
('involved', 'VBN'), ('are', 'BER'), ('astronomical', 'JJ'), ('.', '.')]]]