【问题标题】:Parsing email and phone number entities?解析电子邮件和电话号码实体?
【发布时间】:2017-12-18 22:53:42
【问题描述】:

有没有一种方法可以训练 Watson 识别电子邮件实体和电话号码,而无需求助于普通快递?

【问题讨论】:

  • 也许您想了解 Watson Conversation 中实体的新版本,请查看我的编辑。

标签: ibm-watson chatbot watson-conversation


【解决方案1】:

以前:

史蒂文,几个月前我也有同样的疑问。 IBM 沃森对话 没有电话号码或电子邮件地址的系统实体,没有 还。无论如何,创建新的系统实体是个好主意, 正确的?我们可以为 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 的值,用于获取 ma​​ilphone 值,例如:

并且,在 Watson 训练您的更改之后,检查在 Try it Now 中完美运行:

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

查看更多关于创建实体here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 2018-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    相关资源
    最近更新 更多