我使用NLTK的RegexpParser从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>}
其中&lt;。&gt;是通配符。
编辑:
发现一个非常糟糕的方法,它并不真正包含所有字符。仍然会欣赏专用的通配符。
FOUND:{<NNP>?<[A-Z]+|[:punct:]+>*<VBZ>}
答案 0 :(得分:2)
试试这个:
{<NNP>?<.*>*<VBZ>}