2011-04-11 51 views
5

我正在寫一些代碼,遍歷了一套POS標籤(在NLTK pos_tag產生)來搜索POS模式。匹配的POS標籤集存儲在列表中供以後處理。對於像這樣的任務,確實存在一個正則表達式樣式過濾器,但是一些初始的谷歌搜索沒有給我任何東西。POS模式過濾器?

是否有任何代碼段,在那裏,可以做我的POS模式爲我篩選?

謝謝, 戴夫

編輯:完整的解決方案(使用RegexParser,和這裏的消息是任意字符串),

text = nltk.word_tokenize(message) 
tags = nltk.pos_tag(text) 
grammar = r""" 
    RULE_1: {<JJ>+<NNP>*<NN>*} 
    """ 
chunker = nltk.RegexpParser(grammar) 
chunked = chunker.parse(tags) 
def filter(tree): 
    return (tree.node == "RULE_1") 
for s in chunked.subtrees(filter): 
    print s 

退房http://nltk.googlecode.com/svn/trunk/doc/book/ch07.htmlhttp://www.regular-expressions.info/reference.html更多關於創建規則。

回答

3

我認爲你正在尋找RegexpChunkParser

+1

最近的鏈接,可能是有用的爲別人:[NLTK書 - CH7 - 重慶森林(http://www.nltk.org/book/ch07.html)和[NLTK方法文檔 - 在分塊(HTTP: //www.nltk.org/howto/chunk.html)。 – zEro 2015-07-20 20:47:28