大家可以通过在上传的词表文件中配正则表达式(需要在行首加“$$$”与正常词区分)来使用该功能,使用示例:
1、识别邮箱:如果想把邮箱识别成user_email词槽,可在user_email词槽上传的词表中加入下面两行(第一行可以识别xxx_xxx@gmail.com等,第二行可以识别xxx_xxx@sina.com.cn等):
$$$[a-z0-9_-]{1,20}@[a-z0-9]{1,10}\.[a-z0-9]{1,10}
$$$[a-z0-9_-]{1,20}@[a-z0-9]{1,10}\.[a-z0-9]{1,10}\.[a-z0-9]{1,10}
2、识别电话号码:如果想把电话号码识别成user_phone词槽,可在user_phone词槽中加入下面两行(第一行可以识别固定电话,第二行可以识别手机号):
$$$\d{3,4}-\d{7,8}
$$$1[34578]\d{9}
3、识别中文汉字:如果想识别“周x”、“周xx”等姓名,可用下面正则表达式:
$$$周[\u4e00-\u9fff]{1,2}
注:如果想识别姓名,不推荐使用上面这种正则写法(会导致“周三”等时间槽位识别不了以及其他很多识别冲突问题),最好使用下面的识别子表达式功能(可以在正则表达式前后加上上下文)
4、识别子表达式:(本次新增功能)可将小括号内的子表达式匹配的内容识别为该槽位,如想将query为“我的名字是张三”中的“张三”识别为[D:user_name],可在[D:user_name]槽位中配如下正则表达式:
$$$我的名字是([\u4e00-\u9fff]{2,3})
说明:
1、暂时只支持以下7种字符类:"\s" "\d" "\w" "\u"(中文Unicode编码) "." "[…]" "(...)"(子表达式);以及3种量词:"?" "{n}" "{m,n}" ,其他正则表达式符号如:* + ^ $ 等均不支持, 如果不加反斜杠进行转义训练会失败
2、正则表达式和普通词可以在一个词槽文件中,正则表达式行首需要加$$$进行区分
3、当正则表达式词典值 与 其他词槽的普通文本词典值重叠时,普通文本词典值得优先级高于正则,需要删除重叠的词典值才能让正则词典值识别。20181229update
附--组合词槽的使用说明:https://ai.baidu.com/forum/topic/show/865416
我想问问:"\s" "." "[…] “ 这3个可以表示什么的正则表达啊,知道的朋友麻烦解答一下,谢谢。
嗯,这样的话就更方便了呢
哈哈,还是等一等吧。值得期待
正则好用!支持支持
这个挺好的功能 ,把那几项没开的也开了吧
顶顶顶顶
好贴,学习中。
这个建议顶一下.确实有类似工具会很好.现在不好测试
正则表达式能不能给一个可以验证的页面呢,类似 "http://tool.oschina.net/regex/" 这样的。
不然改一下等训练完成都得半小时以后了。
楼上的太水了吧.要中毒的.
# markdown
中文的能不能行啊...比如\u5c0f\u65f6\u540e这种...
嘿嘿,社区的平台就是这么棒,总能找到需要的
感谢分享~
666
邮箱这个正愁怎么搞呢 ~hhhhh
棒棒哒
好哒,知道了呢~一会儿去试试这个功能~
好人
好的,谢谢分享