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

Posted

技术标签:

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

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

【问题讨论】:

也许您想了解 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 美国电话模式:(\d3)-(\d3)-(\d4),例如800-426-4968

查看更多关于创建实体here。

【讨论】:

以上是关于解析电子邮件和电话号码实体?的主要内容,如果未能解决你的问题,请参考以下文章

具有嵌入对象的实体的休眠条件

名片解析器。如何从名片识别文本中提取相关信息?

创建具有多个一对多关系的 DAO 查询?

如何持久化实体类中的数据并结合数据传输对象?

PDF电子发票解析成excel,支持批量解析和导出功能

核心数据和性能不佳