2

我一直在寻找一段时间,但到目前为止没有找到适合我需要的东西。(这很有帮助,但没有说服力

从两个不同的来源,我得到两个不同的字符串。我想检查较短的是否包含在较大的中。但是,由于这些字符串都以 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 安装的情况下在页面中可靠地找到我的字符串?(或者也许我只是没有找到教程/手册)。一定有一些图书馆可以做到这一点,对吧?

4

1 回答 1

0

首先你需要找到你的输入源。网页有一个 DOM 树,可以通过两种方式解析:SAX(无上下文的事件驱动模型)或 DOM(有上下文的基于树的模型)。SAX 在这里是理想的,因为您实际上并不需要上下文信息来从 DOM 检索标记化的文本节点流。将所有文本节点转换为标记流。

你有一个令牌流,你可以对它们进行处理。对于像 Levenshtein 这样的大量输入算法,字符串匹配变得不合适。相反,请查看马尔可夫链。它们可以帮助将一组输入与一组输出进行相当可靠和有效的匹配。

于 2012-03-02T22:16:13.120 回答