2011-04-11 11 views
5

मैं कुछ कोड लिख रहा हूं जो पीओएस पैटर्न की खोज के लिए पीओएस टैग (एनएलटीके में pos_tag द्वारा उत्पन्न) का एक सेट पुनरावृत्त करता है। पीओएस टैग के मिलान सेट बाद में प्रसंस्करण के लिए एक सूची में संग्रहीत हैं। निश्चित रूप से इस तरह के कार्य के लिए एक रेगेक्स-शैली पैटर्न फ़िल्टर पहले से मौजूद है, लेकिन कुछ प्रारंभिक Google खोजों ने मुझे कुछ भी नहीं दिया।पीओएस पैटर्न फ़िल्टर?

क्या वहां कोई कोड स्निपेट है जो मेरे लिए मेरे पीओएस पैटर्न फ़िल्टरिंग कर सकता है?

धन्यवाद, डेव

संपादित करें: पूरा समाधान (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.html चेक बाहर और नियम बनाने के बारे में अधिक के लिए http://www.regular-expressions.info/reference.html

उत्तर

3

मुझे लगता है कि आप RegexpChunkParser देख रहे हैं।

+1

अधिक हालिया लिंक जो शायद किसी और के लिए उपयोगी हैं: [एनएलटीके पुस्तक - सीएच 7 - चंकिंग] (http://www.nltk.org/book/ch07.html) और [एनएलटीके हाउटो - चंकिंग पर] (http: //www.nltk.org/howto/chunk.html)। – zEro

संबंधित मुद्दे