如何在nltk中使用Regexp Tagger?

时间:2013-01-25 20:24:13

标签: python nltk pos-tagger

如果我尝试这段代码:

import nltk
pattern = [(r'(March)$','MAR')]
tagger=nltk.RegexpTagger(pattern)
print tagger.tag('He was born in March 1991')

我得到的输出类似于:

  

[('H',None),('e',None),('',None),('w',None),('a',None),('s',None) ,('',无),>('b',无),('o',无),('r',无),('n',无),('',无),( 'i',无),('n',无),('',无),('M',无),('a',无),('r',无),('c' ,无),('h',无),('',无),('1',无),('9',无),('9',无),('1',无) ]

事实上,我希望这个标记器能够识别带有“MAR”标记的“March”字样。

1 个答案:

答案 0 :(得分:5)

这里试试这个:

import nltk
pattern = [(r'(March)$','MAR')]
tagger = nltk.RegexpTagger(pattern)
print tagger.tag(nltk.word_tokenize('He was born in March 1991'))

你必须对单词进行标记。

这是我得到的输出:

[('He', None), ('was', None), ('born', None), ('in', None), ('March', 'MAR'), ('1991', None)]