Каков наилучший способ обнаружения искаженного текста в документе с распознаванием текста? - PullRequest
4 голосов
/ 17 июня 2011

Существуют ли какие-либо хорошие НЛП или статистические методы для обнаружения искаженных символов в тексте с распознаванием текста? Вдохновляясь, я думал, что рассмотрение распределения n-грамм в тексте может быть хорошей отправной точкой, но я довольно плохо знаком со всем доменом НЛП.

Вот то, на что я смотрел до сих пор:

Текст будет в основном на английском, но общее решение было бы неплохо. В настоящее время этот текст индексируется в Lucene, поэтому любые идеи относительно основанного на терминах подхода также были бы полезны.


Любые предложения будут великолепны! Спасибо!

Ответы [ 2 ]

4 голосов
/ 17 июня 2011

Да, самая мощная вещь в этом случае - Ngrams. Вы должны собрать их в связанных текстовых корпусах (с той же темой, что и в текстах OCR). Эта проблема очень похожа на проверку орфографии - если небольшое изменение персонажа приводит к значительному увеличению вероятности, это было ошибкой. Проверьте этот урок как использовать ngram для проверки орфографии.

1 голос
/ 17 июня 2011

Я использовал n-грамм для этого несколько лет назад, с довольно приличными результатами. Я использовал языковой детектор Apache Nutch, который внутри себя использует n-граммы слов и внутрислов. Тогда «ngram-профиль» вашего текста сравнивается с n-граммовыми профилями учебного материала. Nutch в дополнение к языку дает оценку / достоверность, и я использовал жесткие ограничения на основе языка (должен быть тот, в котором документы) и оценки. Выдержал большую часть искаженного текста, но это несколько дорого в вычислительном отношении.

...