0
Я использую RegexpParser от NLTK, чтобы получить фразы из 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>}
Где <> является групповым символом..
EDIT:
Нашел довольно плохую способ сделать это, что на самом деле не включает в себя всех персонажей. По-прежнему будет ценить специальный символ подстановки.
FOUND:{<NNP>?<[A-Z]+|[:punct:]+>*<VBZ>}
Вы можете не заменить '<[A-Z] + | [пунктуатором] +> *' с '' <.*?> или что-то подобное? '.' обычно обозначает символы, отличные от новой строки, но я не уверен в RegexpParser от NLTK. – Sam