2014-09-10 74 views
0

我使用NLTK的RegexpParser從POS標記的單詞中獲取短語。例如:NLTK RegEx Chunker - 通配符匹配任何POS標籤?

grammar = """ 
     FOUND:{<NNP>+<CD>+<,>+<CD>} 
     ... 
     """ 

pos_tagged_words = [('February', 'NNP'), ('14', 'CD'), (',', ','), ('1993', 'CD')] 

result = nltk.RegexpParser(grammar).parse(pos_tagged_words) 

有什麼辦法匹配通配符標籤嗎?如果這個工作,我會尋找這樣的事情:

FOUND:{<NNP>?<.>*<VBZ>} 

哪裏<>是通配符。

編輯:
發現一個非常糟糕的方式來做到這一點,並不包括所有字符。仍然會喜歡專用的通配符字符。

FOUND:{<NNP>?<[A-Z]+|[:punct:]+>*<VBZ>} 
+0

你能不能代替'<[A-Z] + | [:PUNCT:] +> *'和''<.*?>或類似的東西? '.'通常代表非換行符,但我不確定NLTK的RegexpParser。 – Sam 2014-09-10 19:41:23

回答

1

試試這個:

{<NNP>?<.*>*<VBZ>}