【问题标题】:Is it possible to do this type of search in Java是否可以在 Java 中进行这种类型的搜索
【发布时间】:2015-02-14 01:55:07
【问题描述】:

我被困在一个我认为不太可能的工作项目上,我想知道是否有人可以证实我的信念,即这是不可能的,或者至少给了我新的选择。

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

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

我的老板一直在推动我从事这个项目,但我觉得自己似乎别无选择。我主要做网络和移动,所以大数据真的不是我的强项。这听起来有可能在合理的时间内完成吗? (我们说的是至少 1000 个文档)。我一直在用 Java 做这个。

【问题讨论】:

    标签: java file-io bigdata


    【解决方案1】:

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

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

    如果您的整体代码是用 Java 编写的,那么无论您选择哪一种,它都应该非常便携和灵活。使用正则表达式或特定字符串搜索将是解决此问题的好方法;

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


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


    对于 PDF 中的文本:


    对于 HTML 文档中的文本:


    如果你还需要什么,请告诉我。我会尽力找到的!

    【讨论】:

      【解决方案2】:

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

      但是对于您描述的情况,您仍然需要像“自然语言识别”一样分析文本。那是一个领域;尽管取得了一些进步(由专门的研究团队花费了很多人年!);计算机的故障仍然非常糟糕(有时甚至人类也会失败)。

      根据您提到的文件数量(1000 份),雇用一名临时工并让他们按人脑的能力进行分类/标记。它会更便宜,并且您会减少错误分类。

      【讨论】:

      • 感谢您的回答,我选择了您的回答,因为我的主要问题是这是否可能,而您对这部分的回答是最好的。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2020-03-28
        • 2022-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多