Патент недели: как правильно распознать формулу
При непосредственном участии Федеральной службы по интеллектуальной собственности («Роспатента») мы ввели на сайте рубрику «Патент недели». Еженедельно в России патентуются десятки интересных изобретений и усовершенствований — почему бы не рассказывать о них в числе первых.
Патент: RU 2596600
Патентообладатель: «Аби Девелопмент»
Авторы: Дмитрий Исупов, Антон Масалович
Сегодняшние программы оптического распознавания (OCR), которые используются даже на бытовом уровне — с ними работал каждый, у кого дома есть компьютер и сканер, за несколько лет достигли невероятного прогресса. С их помощью можно автоматически преобразовывать в электронные редактируемые документы изображения сложных документов с картинками, рамками, линиями и другими нетекстовыми элементами, распознавать текстовые символы практически любого из существующих языков.
Но если с буквами программисты практически справились, с цифрами и формулами в математических выражениях до недавнего времени они справиться не могли. Это означало, что, например, экономическое прогнозирование, научная и исследовательская литература, в том числе патентная документация с описаниями изобретений, требовали много времени на сравнение печатной и электронной версии, сверку и корректуру документов.
Американские программисты, которые ранее подступались к решению данной проблемы, предлагали алгоритм распознавания математических формул с помощью системы оценочных баллов. С помощью баллов отображалась вероятность принадлежности к тексту или к математическому выражению для каждого из слов в распознанном документе. Элементы математического выражения проверялись на факт того, являются ли они символами на базовой линии, надстрочными символами (степень) или подстрочными символами.
Решение их российских коллег, изложенное в патенте 2596600, основано на принципиально ином алгоритме. Математическое выражение при его распознавании делится на блоки, каждый из которых распознается отдельно, а затем составляется в единую формулу. К изображению или фрагменту изображения, содержащему математическое выражение, попеременно и рекурсивно применяют горизонтальное и вертикальное разбиение до тех пор, пока полученные при разбиении блоки низшего уровня не будут соответствовать символам, распознаваемым способами распознавания символов. Анализ распознанных символов в виде графа обеспечивает основу для преобразования эквивалентного представления математического выражения, содержащегося на изображении или фрагменте изображения, в цифровую форму. Это позволяет выбрать наиболее оптимальный и точный вид компоновки результатов распознавания, который учитывает варианты распознавания каждого из символов.