1

我的朋友有一家小型企业,客户使用电子邮件订购服务。他每天会收到几封电子邮件,整理邮件变得很麻烦。

客户可以请求大约 10 种不同类型的任务,每个任务都有一两个词来指定它。电子邮件中的其他信息是服务的交付地点、时间和相关人员的姓名。该电子邮件还包含一个 ID,一个具有相当标准格式的长数字。

这些电子邮件非常非结构化,但都包含上面的关键信息。我的问题是:扫描这些电子邮件并提取关键信息(例如服务类型、地点、人名、ID 等)的最佳方法是什么?

我考虑过某种预处理,然后通过 AlchemyAPI 传递它,然后使用神经网络为每个功能(关键信息)测试 Alchemy 输出。这可以是监督学习,因为我可以一直做一个反馈循环,因为一旦输入了信息,我就可以有人来验证。

有任何想法吗?谢谢

4

1 回答 1

1

我猜某些部分(ID、任务、时间)可以通过正则表达式和字典匹配来捕获。看看GATE 的 JAPE工具。

组装字典然后使用查找“任务”应该相当容易,您也可以重用可用的日期/时间的jape规则并为ID编写一个新规则(另外,一个简单的正则表达式可能很好) .

为了匹配位置和人名,您应该小心,如果名称和地点在定义明确的句子中使用,openCalais 和 alchemyAPI 可以为您提供良好的结果,并且可能会在某些表格或奇怪的格式中犯更多错误。此外,您永远无法确定您正确捕获了地点和人员,因此不要依赖它来直接处理订单。

如果您有关于邮件结构或预期名称和地点的更多信息(即您有一个包含所有可能名称的“客户”表),您可能希望自己进行标记,否则我会坚持使用 openCalais 或 alchemyAPI +一些常用表达。

PS 我假设所有邮件都是英文的。

于 2014-01-27T12:31:37.137 回答