解析电子邮件和电话号码实体?

时间:2017-07-14 00:21:25

标签: ibm-watson chatbot watson-conversation

有没有办法训练Watson识别电子邮件实体和电话号码而不诉诸正常表达?

1 个答案:

答案 0 :(得分:7)

<强>此前:

  史蒂文,几个月前我也有同样的疑问。 IBM Watson Conversation   没有用于电话号码或电子邮件地址的系统实体,没有   但。无论如何,创建新的System实体是一个好主意,   对?我们可以为IBM提供反馈意见。

     

但是,一个轮廓解决方案是使用上下文变量并创建新的   实体。尝试创建一个像@mail这样的实体,然后添加值   @gmail.com@hotmail.com@outlook.com以及您发送的任何电子邮件   想要认出来。

     

您将使用以下条件:

if @mail, response: Your e-mail is $email
     

用于识别电子邮件地址,但用于保存电子邮件   需要在context变量中创建一个正则表达式,如:

"email": "<? input.text.extract('[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+(\\.[a-zA-Z]+){1,}',0)?>"
     

现在,对于phone个数字:

     

您可以激活系统实体@sys-number,您将获得   只需几个数字,比如11个数字,并保存在一个上下文中   变量也是。

     

使用@sys-number AND input.text.find('^[^\\d]*[\\d]{11}[^\\d]*$',0)')创建一个条件以查找数字   和sys-number用于识别用户的数字。

编辑(使用新发行说明 - 在 BETA 版本中):

现在,IBM Watson Conversation拥有实体模式,我们可以使用它来获取电子邮件地址,电话号码等。

现在,当您创建一个新的@entity时,您可以选择通知您要使用PatternSynonymous ,因此,您将在我的示例中创建一个新实体@contactInfo,并使用patterns创建值以获取邮件电话值,例如:

enter image description here

并且,在Watson训练您的更改后,检查在“立即尝试”中完美运行:

enter image description here

  • 邮件模式:\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b,例如test@gmail.com
  • USPhones的模式:(\d{3})-(\d{3})-(\d{4}),例如800-426-4968

详细了解如何创建实体here

相关问题