UNIT正则表达式增加中文汉字和子表达式识别功能
wuzelun009 发布于2017-10 浏览:32242 回复:41
16
收藏
最后编辑于2020-11

大家可以通过在上传的词表文件中配正则表达式(需要在行首加“$$$”与正常词区分)来使用该功能,使用示例:

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

 

 

收藏
点赞
16
个赞
共41条回复 最后由135******17回复于2020-11
#45135******17回复于2020-11

比如投诉内容这种没有规律性的,怎么写正则表达式合适呢,会不会把其他信息给归到这个词槽下呢

0
#44zhouyijia1996回复于2020-03
#38 孙炣回复
1. 好建议,我们会考虑:) 2. 2.0的训练效率有比较大幅度的优化,现在暂时可以尝试一下2.0
展开

试了一下,同义词不能用正则啊,不管#还是$$$放在开头另一个都会被无视掉,有没有什么办法在同义词词条里使用正则?

0
#43zhouyijia1996回复于2020-03

如果是同义词条目想加正则怎么办?条目是#放在前面还是$$$放在前面,还是压根不行?

0
#42hellyhua回复于2019-11

不错,学习啦

0
#41lzj_阳光不锈回复于2019-11

这个正则表达式总识别不了。。。

0
#40mr_hanhai回复于2018-12

请问如何在UNIT编写接收任务10个字符的正则表达式,写了几个都不生效,测试超级麻烦,比如A好22aq34这样的

0
W
#39wanxiang2018回复于2018-09

大神,我想问一下   怎么在词槽匹配   详细住址信息  xx省xx市xx区 xxxxx    感谢

0
#38孙炣回复于2018-04
#14 屹石科技回复
正则表达式能不能给一个可以验证的页面呢,类似 "http://tool.oschina.net/regex/"  这样的。 不然改一下等训练完成都得半小时以后了。
展开

1. 好建议,我们会考虑:)

2. 2.0的训练效率有比较大幅度的优化,现在暂时可以尝试一下2.0

0
#37rose20135188回复于2018-04

$$$我的名字是([\u4e00-\u9fff]{2,3})这个正则表达式我怎么用在识别人名的词槽里,输入我的名字是张三怎么识别不了,是哪里不对?用$$$周[\u4e00-\u9fff]{1,2}这个表达式后又跟时间和地点词槽一些词起冲突。

0
#36才能我浪费99回复于2018-03
#32 rose20135188回复
什么时候能用正则表示中文的数字啊,如十一,十二,十三,十四 这类。

这个用正则可以写出来啊

0
#35风搅火回复于2018-03

平台中的各种数据和方案都很好用

0
#34C罗zwd回复于2018-03

很方便解决了好多问题

0
#33mrss梦梦回复于2018-02

正则表达式可以在创建词典时使用,那可不可以在创建样本时使用呢?

0
#32rose20135188回复于2018-02

什么时候能用正则表示中文的数字啊,如十一,十二,十三,十四 这类。

0
#31rose20135188回复于2018-02

中文正则终于出来了,去试试。

0
#30才能我浪费99回复于2018-02

不错啊,很适用

0
#29卡农LLLL回复于2018-02
#28 荒墨丶迷失回复
中文终将会流行。貌似绝大多数技术都是英文版

什么东西.....英文版的文档么?

0
#28荒墨丶迷失回复于2018-01
#27 卡农LLLL回复
这确实要百度一下了..有正则的详细介绍的.

中文终将会流行。貌似绝大多数技术都是英文版

1
#27卡农LLLL回复于2018-01
#24 rose20135188回复
我想问问:"\s"  "." "[…] “ 这3个可以表示什么的正则表达啊,知道的朋友麻烦解答一下,谢谢。
展开

这确实要百度一下了..有正则的详细介绍的.

0
#25荒墨丶迷失回复于2018-01
#24 rose20135188回复
我想问问:"\s"  "." "[…] “ 这3个可以表示什么的正则表达啊,知道的朋友麻烦解答一下,谢谢。
展开

百度一下你就知道 

1
TOP
切换版块