【问题标题】:Open source projects for email scrubbing generating structured data from unstructured source?用于电子邮件清理的开源项目从非结构化源生成结构化数据?
【发布时间】:2012-01-16 08:33:33
【问题描述】:

不知道从哪里开始,所以希望你们能解决我的问题。我有一个项目,将在其中搜索电子邮件以查找特定的单词/模式并以结构化的方式存储。用Trip it 完成的事情。

The article states他们开发了一个DataMapper

DataMapper 负责接收入站电子邮件消息 针对 [at] tripit.com 的计划,并将其从 您在邮件阅读器中看到的半结构化格式 结构化的 XML 文档。

有一条评论也说明了

如果您想自己构建它,请阅读一些关于 Wrappers 和 Wrapper Induction 可能会有所帮助

我在 Google 上搜索并阅读了有关包装器归纳的信息,但它的定义过于宽泛,并没有帮助我理解如何解决此类问题。

是否有一些开源项目可以做类似的事情?

【问题讨论】:

  • 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题是Stack Overflow 的题外话,因为它们往往会吸引固执己见答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。

标签: nlp data-mining text-processing data-scrubbing


【解决方案1】:

确实是一个非常广泛的问题,但我可以尝试为您提供一些一般性的想法,这可能足以让您入门。基本上,听起来你在谈论一个复杂的解析问题——扫描文本并希望将含义应用于特定的块。根据您正在寻找的具体内容,您可能会从一些正则表达式中获得一些不错的结果 - 电话号码、电子邮件地址和日期等内容具有相当标准的结构,应该是可匹配的。其他数据点可能会受益于一些指示词——短语“离开”可能表明接下来是一个地址。自然语言处理社区也有一个可用于文本处理的大型工具集——如果它们适合您正在尝试做的事情,请查看诸如词性标注器和语义分析器之类的东西。

借助这些技术,您可以遵循基本的迭代开发流程:对于预期输出结构中的每个数据点,定义一些简单的规则来捕获它。然后,在一批测试数据上运行应用程序,看看哪些样本没有捕获该数据。查看样本并修改规则以捕获这些样本。重复直到提取器达到可接受的准确度。

根据您的问题的具体情况,可能有机器学习技术可以为您自动化大部分流程。

【讨论】:

    【解决方案2】:

    您可以采取多种不同的方式和方法来实现这一目标。

    第一部分,涉及访问电子邮件内容,我不会在这里回答。基本上,我假设您可以访问电子邮件的文本,如果您不能访问某些库,可以将 java 连接到像 camel (http://camel.apache.org/mail.html) 这样的电子邮件箱。

    所以现在你已经收到了电子邮件,然后呢?

    一个有用的东西是 lingpipe (http://alias-i.com/lingpipe/) 有一个实体识别器,您可以用自己的术语填充它。具体来说,看看他们的一些提取教程和他们的字典提取器 (http://alias-i.com/lingpipe/demos/tutorial/ne/read-me.html) 所以在 lingpipe 字典提取器 (http://alias-i.com/lingpipe/docs/api/com/aliasi/dict/ExactDictionaryChunker.html) 中,您只需导入您感兴趣的术语并使用它来将标签与电子邮件。

    您可能还会发现以下问题很有帮助:Dictionary-Based Named Entity Recognition with zero edit distance: LingPipe, Lucene or what?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-22
      • 2016-08-22
      • 1970-01-01
      • 2010-09-12
      • 2019-12-10
      • 1970-01-01
      • 2011-03-10
      • 2015-10-09
      相关资源
      最近更新 更多