【发布时间】:2017-03-14 10:26:44
【问题描述】:
使用此博客post 中的信息提取,我正在尝试定义一个语法,其中包括将日期添加为具有以下语法的新块;
grammar = r"""
NBAR:
{<NN.*|JJ>*<NN.*>} # Nouns and Adjectives, terminated with Nouns
NP:
{<NBAR>}
{<NBAR><IN><NBAR>} # Above, connected with in/of/etc...
DATE -> MONTH SEP DAY SEP YEAR
SEP -> "/"
MONTH -> DIGIT | DIGIT DIGIT
DAY -> DIGIT | DIGIT DIGIT
YEAR -> DIGIT DIGIT DIGIT DIGIT
DIGIT -> '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '0'
但是当我调用chunker = nltk.RegexpParser(grammar) 时,这会引发非法的块模式,任何关于如何包含始终表示为 8 位数字的日期的想法DD/MM/YYYY 或以长形式表示月份和日期后跟序号指示符st,nd, or th,因此结果为DDthMONTHYYYY。
【问题讨论】:
标签: python regex date parsing nltk