我们从电子邮件中提取各种信息 - 航班、汽车租赁、酒店等等。方法是提取邮件正文,通常采用 HTML 形式,但有时是文本,或者我们使用 PDF/Word/RTF 附件中的信息。然后,我们应用正则表达式(有时需要几个步骤)来获取信息,这些信息以表格形式提供(您可以想到航班表、酒店表等)。请注意,即使我们解析 HTML,这也不是网页抓取。

目前我们正在使用 QL2 的 WebQL 引擎,但出于业务原因我们正在寻求替换它。您能推荐其他引擎吗?它必须在 Linux 上运行并且可以通过 Java 访问(Java API 是最好的,但 Web 服务也是很好的解决方案)。它还必须支持用于文本提取的正则表达式,而不仅仅是基于 HTML 结构。

有帮助吗?

解决方案 3

只是想更新 - 我们的最终决定是要落实常规解析,并添加一些所需的功能(HTML文本,PDF文本,干净的空白,等),无论是在Java中实现它加时赛依靠第三方库。

其他提示

我建议你有 看看R. 。它有大量的文本挖掘包: 看看自然语言处理视图. 。特别是,看看 tm 包裹。以下是一些相关链接:

此外,R 还提供了许多用于解析 HTML 或 XML 的工具。有 看一下这个问题的例子,使用 RCurlXML.

编辑: 你可以 通过 JRI 将 R 与 Java 集成. 。这是一个使用非常广泛的包,有很多例子。 您还可以查看这些相关问题.

看一下:

  • 灵管 - LingPipe 是一套用于对人类语言进行语言分析的 Java 库。
  • 卢塞恩 - Apache Lucene 是一个完全用 Java 编写的高性能、功能齐全的文本搜索引擎库。

我使用Flex和C ++制成用于类似目的的定制解析器。我建议你看一看解析器生成在Java(JavaCC中的.jj文件)的 JavaCC的-常见问题解答 Nutch的确实是这样。 (NutchAnalysis.jj)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top