对token层面规则(token分类)的思考 高冠吉
关于token 什么是token:句子被分词工具切分产生的单元。 因为token数量繁多,所以建立token层面的规则是很有必要的。 (事实上,现有的基于规则的方法都有token规则,然后再在其 上做文章) 举个token规则的例子 [WEEK_REGEX] mondays?('s)?|tuesdays?('s)?|wedn esdays?('s)?|thursdays?('s)?|Fridays ?('s)?|saturdays?('s)?|sundays?('s)?
现有的token分类体系 以SynTime为例 最顶层三大类:Time Token、Modifier、Numeral 每大类又有一些小类 小类由预定义的33类组合而成 举个组合的例子 a three-month work DURATION_REGEX = BASIC_NUMBER_REGEX - TIME_UNIT_REGEX DECADE (-), YEAR (-), SEASON(5), MONTH (12), WEEK (7), DATE (-),TIME (-), DAY TIME (27), TIMELINE (12), HOLIDAY(20), ERIOD (9), DURATION (-), TIME UNIT (15),TIME ZONE (6), and ERA (2)
对token上层分类的探讨 沿用Time Token、Modifier、Numeral这三大类 使用词性对最上层分类,如分成名词、数词等 优点:分类自然(时间表达式就是由这三类组成);体系现成 缺点:层次较少 使用词性对最上层分类,如分成名词、数词等 优点:词性清晰,便于表达式规则的组合;层次较多,如名词又可以细 分成普通名词和特殊名词,方便抽取出多重规则 缺点:自己的想法,欠考虑的地方较多