繁体   English   中英

是否可以在Java中进行这种类型的搜索

[英]Is it possible to do this type of search in Java

我一直在从事一个我认为不可能实现的项目,我想知道是否有人可以证实我的信念,即不可能或至少给我提供了新的选择。

我们正在为一个客户做一个项目,该项目涉及从服务器大量下载文件(使用ftp4j和文档名称列表很容易),但是现在我们需要对服务器中的数据进行分类。 客户正在合同中工作,希望我们提取相关信息,例如:许可方,被许可方,产品,协议日期,终止日期,特许权使用费,限制。

由于文件完全不规范,这是否有可能? 我可以想象加载文件并进行搜索,但是我不知道如何从诸如许可方和协议限制之类的段落中提取信息。 这些不是哈希,而是长期合约。 即使我要搜索“许可方”,它也会多次出现在文档中。 这些文档甚至不是一致的文件格式。 有些是PDF,有些是文本,有些是html,我什至还看到有些和pdf中的扫描图像一样糟糕。

我的老板一直在敦促我从事这个项目,但我觉得我似乎没有选择。 我主要从事网络和移动业务,因此大数据确实不是我的强项。 这听起来可能在合理的时间内完成吗? (我们至少要讨论1000个文档)。 我一直在用Java进行此工作。

我会尽力为您提供一些信息,因为这不是我的专业领域。 我极力考虑编写一个脚本,该脚本标识正在处理的文件的类型,然后调用适当的解析方法来处理您要查找的文件。

由于您正在处理大数据,因此python可能会非常有用。 Javascript将是我的下一个选择。

如果您的总体代码是用Java编写的,那么无论您选择哪种代码,它都应该具有很高的可移植性和灵活性。 使用正则表达式或特定的字符串搜索将是解决此问题的好方法。

如果您只关心许可方及其名称,则可以标识该特定实例的格式,并使用创建的正则表达式搜索类似内容。 这可以外推到其他搜索实例。


要从图像获取文本,请尝试使用此页面上的API:


对于PDF中的文本:


对于HTML文档中的文本:


如果您还有其他需要,请告诉我。 我会尽力找到它!

Apache tika可以从几乎任何常用的文件格式中提取纯文本。

但是根据您描述的情况,您仍然需要像“自然语言识别”中那样分析文本。 那是一个领域; 尽管已经取得了一些进展(由专门的研究团队 ,花费了很多年的时间!); 电脑仍然会发生严重故障(有时甚至有人会失败)。

使用您提到的文档数量(1000份),雇用一名临时工,并按人的脑力对其进行排序/标记。 它会更便宜,并且您的错误分类会更少。

您可以使用tika进行文本提取。 如果存在固定模式,则可以使用正则表达式或xpath查询提取信息。 另一个解决方案是使用此视频中所示的Solr。您不需要solr,但请观看视频以了解想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM