Как я могу определить, содержится ли предложение на странице (нечетко)? - PullRequest
2 голосов
/ 03 марта 2012

Я долго искал, но пока не нашел ничего, что отвечало бы моим потребностям.( Это было полезно, но не убедительно )

Из двух разных источников я получаю две разные строки.Я хочу проверить, содержится ли более короткий в более крупном.Однако, поскольку эти строки являются корневыми в документе 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?(Или, может быть, я просто не нашел учебник / руководство ).Должна быть какая-то библиотека, которая может это сделать, верно?

1 Ответ

0 голосов
/ 03 марта 2012

Прежде всего вам нужно найти ваш источник ввода.Веб-страница имеет дерево DOM, которое может быть проанализировано двумя способами: SAX (модель, управляемая событиями без контекста) или DOM (модель на основе дерева с контекстом).SAX здесь идеален, потому что вам не нужно иметь контекстную информацию для получения потока токенизированных текстовых узлов из DOM.Преобразуйте все текстовые узлы в поток токенов.

Если у вас есть поток токенов, вы можете обработать их.Для большого количества входных алгоритмов, таких как сопоставление строк Левенштейна, становится неадекватным.Вместо этого посмотрите на цепи Маркова.Они могут помочь сопоставить набор входов с набором выходов достаточно надежно и эффективно.

...