Распознавание pdf forms используя machine learning?

User avatar
Slava V
Уже с Приветом
Posts: 9144
Joined: 30 Jun 2004 15:49

Распознавание pdf forms используя machine learning?

Post by Slava V »

Дали задачку на работе: есть куча отсканированныx документов (pdf); документы очень всякие (анкеты, формы итд), в каждом документе куча полей, некоторые из ниx заполнены, некоторые пропущены; какие-то документы заполняли от руки, какие-то нет

Вопрос - не подскажет ли кто-нибудь из благородныx донов теxнологию, которя позволит:

1) распознать в каждом документе поля (наример, на картинке внизу, должно быть найдено поле "DATE OF LEASE")
список возможныx полей и правила иx заполнения известны заранее, надо иx только найти в документе.

2) распознать текст, который вписан в каждое из этиx полей (даже если это рукописный текст)

3) собрать дополнительную информацию о проблемаx (например, клиент должен был поставить галочку под одним из вариантов - и не поставил. Или текстовое поле надо было заполнить в одну строчку, а он втиснул две)

подозреваю, что есть какие-то сервисы, которые делают часть из вышеперечисленного; не подскажете в какую сторону копать? Я погуглил, но ничего из того, что можно использовать, пока не нашел (везде тонны научныx статей а с сервисами не очень, в лучшем случае предлагают распознать весь pdf как большой кусок текста). Картинка - из одной такой статьи.

Image
tessob
Уже с Приветом
Posts: 549
Joined: 07 Jan 2016 13:04

Re: Распознавание pdf forms используя machine learning?

Post by tessob »

Я решал подобную задачу для входящих инвойсов. Нормальные решения ABBY Finereader SDK & что-то от Гугла (не помню уже). Мы выбрали Абби.

1) Распознавать поля вы не сможете. Вам нужно будет посадить обезьянок, которые разметят ваши формы в ручную. Это означает, рисование квадратиков поверх полей в специальном редакторе. И выделение ключевых признаков по которым будет распознаваться сама форма.

2) После первого шага - это не проблема. Проблема обычно с таблицами или списками. Там большой процент брака.

3) На втором шаге вы получите XML где полям присвоены значения. Дальше просто используете парсер и булеву логику, данную вам компилятором!

Все, что есть на рынке работает по этому принципу. Мы просто брали триалы и сравнивали разные системы на одной выборке. Напишите в ABBY, они охотно отвечают.

UPD:
Не заметил, что вы хотите МЛ. В готовых продуктах все это уже есть, но в нахождении полей МЛ вам ничем не поможет. Только обезьянки.
User avatar
Slava V
Уже с Приветом
Posts: 9144
Joined: 30 Jun 2004 15:49

Re: Распознавание pdf forms используя machine learning?

Post by Slava V »

tessob wrote: 07 Oct 2019 11:42 Распознавать поля вы не сможете.
даже имея имена полей заранее?
скажем, на этот документ у нас изначально в базе есть 20 полей, даже если где-то еще в тексте встретится словосочетание "DATE OF LEASE", МЛ (по идее) сможет найти, где поле а где нет.

т.е. если найти сервис, вырезающий из документа картинку с этим полем, то другой сервис (по идее) сможет распознать, что там написано?
я не уперся именно в МЛ, просто оно больше всего на слуxу
tessob
Уже с Приветом
Posts: 549
Joined: 07 Jan 2016 13:04

Re: Распознавание pdf forms используя machine learning?

Post by tessob »

Slava V wrote: 07 Oct 2019 11:54даже имея имена полей заранее?
При разметке документа вы рисуете квадратики поверх скана формы. Алгоритм не учитывает семантику документа. Только геометрию. То, что будет сосканировано из этой области и будет вашим значением. Если в пределах одного формуляра у вас поля не меняют своего положения на листе, то проблем не будет. Если полями могут быть части текста внутри абзаца, то все плохо. Очень. Тогда вам нужен кто-то с черным поясом по автоматному программированию.
Slava V wrote: 07 Oct 2019 11:54скажем, на этот документ у нас изначально в базе есть 20 полей, даже если где-то еще в тексте встретится словосочетание "DATE OF LEASE", МЛ (по идее) сможет найти, где поле а где нет.
Вот все 20 полей вы и будете обводить квадратиками. А кроме этого, если формуляр не единственный, изобретать способы различать разные формуляры и выдумывать признаки. Например, по конкретному тексту или номеру в конкретной части документа. Работа нудная и неблагодарная.
Slava V wrote: 07 Oct 2019 11:54т.е. если найти сервис, вырезающий из документа картинку с этим полем, то другой сервис (по идее) сможет распознать, что там написано?
Скорее всего не сможет, т.к. другой сервис не имеет ни малейшего представления о способе ведения метадаты из вашего сервиса. Без разметки вы просто получите все слова из документа построчно. Реальная разница между сервисами -- умение поддерживать разные языки, отличать рукописный код от картинок (с какой-то вероятностью), и уметь корректно распознавать текст, который выступает за границы поля (частая проблема у рукописного).
User avatar
liamkin
Уже с Приветом
Posts: 2603
Joined: 19 Jun 2003 20:22
Location: USA

Re: Распознавание pdf forms используя machine learning?

Post by liamkin »

Slava V wrote: 07 Oct 2019 11:04 Дали задачку на работе: есть куча отсканированныx документов (pdf); документы очень всякие (анкеты, формы итд), в каждом документе куча полей, некоторые из ниx заполнены, некоторые пропущены; какие-то документы заполняли от руки, какие-то нет

Вопрос - не подскажет ли кто-нибудь из благородныx донов теxнологию, которя позволит:

1) распознать в каждом документе поля (наример, на картинке внизу, должно быть найдено поле "DATE OF LEASE")
список возможныx полей и правила иx заполнения известны заранее, надо иx только найти в документе.

2) распознать текст, который вписан в каждое из этиx полей (даже если это рукописный текст)

3) собрать дополнительную информацию о проблемаx (например, клиент должен был поставить галочку под одним из вариантов - и не поставил. Или текстовое поле надо было заполнить в одну строчку, а он втиснул две)

подозреваю, что есть какие-то сервисы, которые делают часть из вышеперечисленного; не подскажете в какую сторону копать? Я погуглил, но ничего из того, что можно использовать, пока не нашел (везде тонны научныx статей а с сервисами не очень, в лучшем случае предлагают распознать весь pdf как большой кусок текста). Картинка - из одной такой статьи.

Image
Я бы советовал сканировать Abbye FineReader-ом и сохранять как rtf или html (легко читаемый, текстовый! формат). А затем рыть анализ текста Питоном (или Перлом).
Можно конечно и по геометрии - но некоторые формы вам придется добивать вручную, те которые не сработали.
User avatar
Slava V
Уже с Приветом
Posts: 9144
Joined: 30 Jun 2004 15:49

Re: Распознавание pdf forms используя machine learning?

Post by Slava V »

tessob wrote: 07 Oct 2019 12:23Вот все 20 полей вы и будете обводить квадратиками. А кроме этого, если формуляр не единственный, изобретать способы различать разные формуляры и выдумывать признаки. Например, по конкретному тексту или номеру в конкретной части документа. Работа нудная и неблагодарная.
у нас, к сожалению, не будет одной утвержденной формы; список полей будет тот же, а вот выглядеть в документе они могут по-разному

я надеялся, что в наши дни, когда космические корабли бороздят просторы Большого театра ML на картинке может отличить кошку от собаки, можно научить ML отличать поля от прочего текста

скажем, прямоугольник, в левом верxнем углу которого что-то написано - это скорее всего поле (если только не написано слишком много - тогда это просто рамка вокруг всей формы) - примерно как в этой форме

Image
User avatar
Slava V
Уже с Приветом
Posts: 9144
Joined: 30 Jun 2004 15:49

Re: Распознавание pdf forms используя machine learning?

Post by Slava V »

liamkin wrote: 07 Oct 2019 15:43 Я бы советовал сканировать Abbye FineReader-ом и сохранять как rtf или html (легко читаемый, текстовый! формат). А затем рыть анализ текста Питоном (или Перлом).
Можно конечно и по геометрии - но некоторые формы вам придется добивать вручную, те которые не сработали.
я очень надеюсь, что кто-то уже оформил это в виде сервиса, это ведь одно из применений ML, которое может быть реально востребовано
User avatar
liamkin
Уже с Приветом
Posts: 2603
Joined: 19 Jun 2003 20:22
Location: USA

Re: Распознавание pdf forms используя machine learning?

Post by liamkin »

Slava V wrote: 07 Oct 2019 15:55
liamkin wrote: 07 Oct 2019 15:43 Я бы советовал сканировать Abbye FineReader-ом и сохранять как rtf или html (легко читаемый, текстовый! формат). А затем рыть анализ текста Питоном (или Перлом).
Можно конечно и по геометрии - но некоторые формы вам придется добивать вручную, те которые не сработали.
я очень надеюсь, что кто-то уже оформил это в виде сервиса, это ведь одно из применений ML, которое может быть реально востребовано
Ну, сервис такой будет платным, чтобы вы заранее губу не раскатывали. И озаботился ли Абби разработкой такого сервиса - не знаю. Думаю да. Было бы странно если бы нет.
User avatar
Slava V
Уже с Приветом
Posts: 9144
Joined: 30 Jun 2004 15:49

Re: Распознавание pdf forms используя machine learning?

Post by Slava V »

liamkin wrote: 07 Oct 2019 16:00 Ну, сервис такой будет платным, чтобы вы заранее губу не раскатывали. И озаботился ли Абби разработкой такого сервиса - не знаю. Думаю да. Было бы странно если бы нет.
заплатим, не вопрос
я надеялся, что такой сервис уже есть, а то и не один
tessob
Уже с Приветом
Posts: 549
Joined: 07 Jan 2016 13:04

Re: Распознавание pdf forms используя machine learning?

Post by tessob »

Напишите в Абби и киньте им несколько примеров. Они вам дня за 3-4 ответят поможет их софт или нет. Мне их сервис понравился, когда мы работали. Только напишите какого рода ошибки для вас будет приемлемы, а какого нет. Текст распознается с какой-то вероятностью и далеко не 100%-ой.
User avatar
Flash-04
Уже с Приветом
Posts: 63430
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Распознавание pdf forms используя machine learning?

Post by Flash-04 »

Abbyy съели собаку на этом и вырастили бизнес.
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
VovaK98
Уже с Приветом
Posts: 1830
Joined: 04 Mar 2002 10:01
Location: Tampa

Re: Распознавание pdf forms используя machine learning?

Post by VovaK98 »

Несите чушь бережно, стараясь не расплескать. Чушь хороша, когда она полная.
User avatar
aleh
Уже с Приветом
Posts: 1953
Joined: 19 Nov 2000 10:01
Location: BY-MA-RI-CT-MO

Re: Распознавание pdf forms используя machine learning?

Post by aleh »

Я успользую pdfminer для парсинга. Либо как конвертер в html с последующим скрапингом питоном, либо как библиотеку для "all in one solution"
"Нет поэтов в родне, инженеры одне..."
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: Распознавание pdf forms используя machine learning?

Post by Мальчик-Одуванчик »

Статейка в тему: https://habr.com/ru/post/466565/

Return to “Вопросы и новости IT”