我一直在寻找一段时间,但到目前为止找不到任何适合我需要的东西。 (This was helpful, but not convincing)
从两个不同的来源,我得到两个不同的字符串。我想检查,如果较短的一个包含在较大的一个中。但是,由于这些字符串都存在于OCR文档中,因此可能存在明显的差异。
示例:
String textToSearch = "Recognized Headline";
String documentText = "This is the document text, spanning multiple pages" .
"..." .
"..." .
"This the row with my Recognizect Head1ine embedded" .
"..." . ^^^^^^^^^^^^^^^^^^^^
"..." .
"End of the document";
如何在不使用独立Lucene / Solr安装的情况下在页面中可靠地找到我的字符串? (或者我可能还没找到 教程/手册)。必须有一些图书馆可以做到这一点,对吗?
答案 0 :(得分:0)
首先,您需要找到输入源。网页有一个DOM树,可以用两种方式解析:SAX(没有上下文的事件驱动模型)或DOM(带上下文的基于树的模型)。 SAX在这里是理想的,因为您不需要具有上下文信息来从DOM检索标记化文本节点流。将所有文本节点转换为标记流。
你有一个令牌流,你可以对它们进行处理。对于大量的输入算法,如Levenshtein字符串匹配变得不充分。相反,看看Markov Chains。它们可以相当可靠和有效地帮助将一组输入与一组输出相匹配。