【技术分享】自定义词典增强系统词槽sys_time()的识别能力(附带25874条字典词汇)
残****奇 · 残****奇 发布于2017-10-12 01:30 浏览:3113 回复:5

   在很多场景下我们要用到时间词槽,比如用于定时。百度提供的sys_time能将诸如“19点05分”或者“19点”这样的表述归一化成24小时制的“xx:xx:xx”,也能将诸如“一分钟”这样的话术归一化为“60.0000000|秒”。本想着真不错,功能很强啊!于是自己新建的user_time词槽就直接复用了sys_time,但事实发现诸如“十九点十七分”或者“半小时”、“两个半小时”这样的话术却无法归一化。这就很伤了~

   所以,自己动手,丰衣足食,写了三段python代码来生成sys_time的补充词典,下面我将把生成的三个词典文件上传并解释其词条格式。

   (1)首先是针对24小时制的时间问题,下面这个词典涵盖了四种人们说一个时间的话术,包括:

  • xx点xx分

  • xx点xx

  • xx时xx分

  • xx时xx

   并充分考虑到了百度语音识别在识别数字时有时输出阿拉伯数字,有时却是汉字的情况,比如“13”往往会被语音识别为“十三”,而“23”则会被语音识别为“23”。

   这个词典将所有可能的时间组合都归一化成了“xx:xx:00”的格式。xx代表阿拉伯数字,做了这样的归一化后相信大家都能通过正则匹配来获取到我们要的具体时间。

user_time_24h.txt

内容如图:

1.png

(2)接下来是时间区间,下面这个文件涵盖了1-100分钟之间语音识别所有可能的结果并全部归一化成了阿拉伯数字,方便代码中进行解析。

user_timee.txt

内容如图:

2.png

(3)下面这个文件依然是时间区间,其涵盖的是0-24个小时的用户可能话术,并相应的有半小时这样的处理。所有整数个小时的语音识别可能的语料都被归一化为“xx小时”的格式,xx代表阿拉伯数字。而所有诸如“三个半小时”这样的语料都被归一化为类似“3半小时”这样的格式。

user_timeh.txt

内容如图:

3.png


点赞  ( 0 )
收藏
评论(5)
共5条回复 最后由念****平回复于2017-11-05 16:14
#2残****奇回复于2017-10-15 13:50:25

棒棒哒

0
#3****am回复于2017-10-16 15:26:01

棒棒哒

0
#4s****n回复于2017-10-20 09:45:29

棒棒哒

0
#5I****e回复于2017-10-21 00:55:22

不错不错,你能成为稳定且有质量的词典供应商hhhhhhh

0
#6念****平回复于2017-11-05 16:14:48

一分三十秒怎么弄

0
TOP