您好,我需要Watson识别一个代表客户下订单的本公司分支机构的实体。
我需要Watson识别一个实体,这个实体代表客户下订单的本公司的分支机构。我们目前在customer_branch实体上使用了以下模式。
\d{1,5}-[xX\d]{1}
对话框节点询问客户的分支机构,并给出以下信息:"请输入分支机构的编号 "请输入您下单的分支机构的号码,在这个模式中XXXX-X:",期望类似:
12345-6
虽然大多数客户都能正确输入分行号码,但也有部分客户打错了。
分公司12345-6
nr 12345-6
编号:12345-6
编号12345-6
这导致Watson无法识别实体customer_branch,让他们感到沮丧。为了解决这个问题,我们想到了在模式中使用以下regex。
(?:(br[ae]{1}nch|n[umbe]{0,4}r))?(?:[\s.]*)?(\d{1,5}-[xX\d]{1})
我们认为逻辑如下:
一个regex组用来忽略任何像 "branch","number","nr. "之类的词,可以或不可以出现。
另一个是忽略任何数量的句号和空格,可以或不可以出现。
最后一个是用来捕捉分支号的
然而,在我们做了一些测试后,Watson仍然不能正确识别实体,就像下面的例子。
"customer_branch": "nr 12345-6"
我们认为问题出在regex上,但我们无法识别它;因为它在regex101.com上工作正常。Watson是否能正确识别排除性的regex组,如 (?: Something_here)
? 我们感谢任何提示。谢谢大家。