我们从电子邮件中提取各种信息 - 航班,汽车租赁,酒店等。该方法是提取邮件正文,通常是HTML格式,但有时它是文本或我们使用PDF / Word / RTF附件中的信息。然后我们应用正则表达式(有时在几个步骤中)以获取信息,这是以表格形式提供的(您可以想到航班表,酒店表等)。请注意,即使我们解析HTML,这也不是网络抓取。
目前我们正在使用QL2的WebQL引擎,但我们正在考虑将其替换为商业原因。你能推荐另一款引擎吗?它必须在Linux上运行并且可以从Java访问(Java API将是最好的,但Web服务也是很好的解决方案)。它还必须支持文本提取的正则表达式,而不仅仅是基于HTML结构。
答案 0 :(得分:3)
我建议你a look at R。它有大量的文本挖掘包:have a look at the Natural Language Processing view。特别是,请查看tm
包。以下是一些相关链接:
此外,R提供了许多用于解析HTML或XML的工具。有a look at this question for an example using the RCurl
and XML
packages。
编辑:您可以integrate R with Java with JRI。这是一个非常广泛使用的包,有很多例子。 You can also see these related questions
答案 1 :(得分:2)
答案 2 :(得分:0)
只是想更新 - 我们的最终决定是在groovy中实现解析,并通过在Java中实现它来添加一些必需的功能(html到文本,pdf到文本,清理空白等)依靠第三方图书馆。
答案 3 :(得分:0)
我使用Flex和C ++制作的自定义解析器用于类似目的。我建议你看看java中的解析器生成器(javaCC .jj文件)javacc-faq Nutch是这样做的。 (NutchAnalysis.jj)