从电子邮件中提取相关信息的最佳方法是什么?

时间:2014-01-25 14:34:30

标签: text nlp neural-network html-content-extraction information-extraction

我的朋友有一个小企业,客户使用电子邮件订购服务。他每天收到几封电子邮件,通过它进行排序变得很麻烦。

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

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

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

有什么想法吗?感谢

1 个答案:

答案 0 :(得分:1)

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

组装字典然后使用查找“任务”应该相当容易,你也可以重用日期/时间的可用jape规则并为ID写一个新的(同样,一个简单的正则表达式可以没事。)

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

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

P.S。我假设所有邮件都是英文的。