📜  自然语言处理 |词性标签——词库

📅  最后修改于: 2022-05-13 01:55:42.582000             🧑  作者: Mango

自然语言处理 |词性标签——词库

什么是词性 (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'), ('.', '.')]]]