POS模式过滤器?

时间:2011-04-11 02:39:43

标签: nlp nltk

我正在编写一些代码来迭代一组POS标签(由NLTK中的pos_tag生成)来搜索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

1 个答案:

答案 0 :(得分:3)

我认为你正在寻找RegexpChunkParser