Обработка электронных документов для распознавания инвойсов

1. Способ, включающий:
получение, с помощью обрабатывающего устройства, изображения инвойса для как минимум одного заказа на поставку;
идентификацию, с использованием обрабатывающего устройства, части изображения, содержащей табличную структуру со множеством записей, табличной структуры, хранящей данные, представляющие совокупность позиций заказа как минимум одного заказа на поставку, совокупности позиций заказа, содержащей совокупность полей данных, где каждая позиция заказа содержит одну или более совокупностей записей и одну или более совокупностей полей данных; и
распознавание, с помощью обрабатывающего устройства, совокупности позиций заказа на изображении инвойса, где распознавание совокупности позиций заказа включает:
идентификацию совокупности элементов заголовков для совокупности полей данных на основании (как минимум, частично) текстового содержания инвойса;
определение эталонной записи, содержащей поля данных, имеющие наибольшее количество совпадений с идентифицированными элементами заголовков по сравнению с другими записями в табличной структуре, эталонной записи, соответствующей одной из позиций заказа; и
согласование других записей с эталонной записью для идентификации оставшихся позиций заказа инвойса.
2. Способ по п. 1, также включающий:
получение, с компьютерного устройства, ассоциированного с пользователем, запроса данных, представляющих один или более элементов заказа на поставку, где один или более элементов заказа на поставку включают как минимум один элемент из: номера заказа на поставку, общей суммы или заголовка;
распознавание, с использованием обрабатывающего устройства, одного или более полей данных, соответствующих одному или более элементам заказа на поставку; и
передачу данных, ассоциированных с распознаваемыми полями данных, на компьютерное устройство.
3. Способ по п. 1, также включающий:
получение с компьютерного устройства, ассоциированного с пользователем, как минимум одного ключевого слова;
хранение ключевого слова в энергонезависимой памяти; и
идентификация совокупности элементов заголовков на основании (как минимум, частично) сохраненного ключевого слова.
4. Способ по п. 1, отличающийся тем, что совокупность позиций заказа распознается обрабатывающим устройством автоматически, без взаимодействия с пользователем.
5. Способ по п. 1, также включающий:
идентификацию первого поля данных, ассоциированного с символьным типом данных, и второго поля данных, ассоциированного с числовым типом данных;
определение того, содержит ли первое поле данных описание, указывающее на общую сумму; и
проверку правильности распознавания общей суммы путем суммирования третьего поля данных и четвертого поля данных в соответствии с формулой и сравнения результата с общей суммой.
6. Способ по п. 1, также включающий идентификацию общей суммы на основе заранее определенного расположения в инвойсе.
7. Способ по п. 1, также включающий:
определение, для каждой совокупности записей, вероятности того, что строка является эталонной записью, на основе совокупности заранее определенных компьютерных программных инструкций; и
определение, с использованием обрабатывающего устройства, эталонной записи на основании (как минимум, частично) такой вероятности.
8. Способ по п. 1, отличающийся тем, что элементы заголовков содержат подмножество совокупности полей данных.
9. Способ по п. 1, отличающийся тем, что элементы заголовков соответствуют совокупности описаний совокупности полей данных.
10. Способ по п. 1, также включающий:
определение совокупности предварительных элементов заголовков совокупности полей данных на основании как минимум одной записи табличной структуры, которая содержит больше полей данных, чем другие записи в табличной структуре, или одного или более ключевых слов, ассоциированных с известными элементами заголовков; и
идентификацию совокупности элементов заголовков на основании (как минимум, частично) совокупности предварительных элементов заголовков.
11. Способ по п. 10, также включающий:
определение, с использованием обрабатывающего устройства, первого расстояния между первым предварительным элементом заголовка и вторым предварительным элементом заголовка и второго расстояния между вторым предварительным элементом заголовка и третьим предварительным элементом заголовка;
сравнение первого расстояния и второго расстояния; и
определение того, соответствует ли второй предварительный элемент заголовка более чем одной совокупности элементов заголовков на основании (как минимум, частично) выяснения того, содержит ли совокупность предварительных заголовков элементов первый предварительный элемент заголовка, второй предварительный элемент заголовка и третий предварительный элемент заголовка.
12. Способ по п. 10, также включающий:
распознавание первого набора полей данных и второго набора полей данных, которые содержат числовые данные;
определение математического отношения между первым набором полей данных и вторым набором полей данных; и
определение того, являются ли первый набор полей данных и второй набор полей данных опорными элементами совокупности полей данных, если математическое отношение соответствует заранее определенной формуле, в которой опорные элементы соответствуют данным о заказе на поставку.
13. Способ по п. 12, также включающий:
сравнение информации о положении, относящейся к предварительно указанным элементам заголовков с информацией о положении, относящейся к опорным элементам; и
определение совокупности элементов заголовков на основании (как минимум, частично) сравнения.
14. Способ по п. 12, также включающий:
определение корреляции между каждым из предварительных элементов заголовков и опорными элементами, где корреляция указывает на количество опорных элементов, которые соответствуют каждому элементу в совокупности предварительных элементов заголовков;
определение с помощью обрабатывающего устройства того, соответствует ли каждый элемент из совокупности предварительных элементов заголовков более чем одному элементу из совокупности элементов заголовков, на основании (как минимум, частично) корреляции.
15. Способ по п. 1, отличающийся тем, что определение эталонной записи включает:
идентификацию совокупности записей в табличной структуре, где каждая из совокупности записей включает совокупность опорных элементов табличной структуры; и
выбор одной совокупности записей, которая включает максимальное количество полей данных, соответствующих идентифицированным элементам заголовков.
16. Способ по п. 15, отличающийся тем, что корреляция других записей с эталонной записью для идентификации оставшихся позиций заказа в инвойсе включает:
идентификацию совокупности записей-кандидатов, которые соответствуют эталонной записи;
выбор, из совокупности записей-кандидатов, записи-кандидата, расположенной ближе всего к эталонной записи; и
определения того, расположена ли хотя бы одна неидентифицированная запись между эталонной записью и выбранной записью-кандидатом.
17. Способ по п. 16, также включающий в случае выявления того, что как минимум одна неидентифицированная строка расположена между эталонной записью и выбранной записью-кандидатом, определение наличия в каждой из совокупности позиций заказа как минимум одной дополнительной записи.
18. Способ по п. 16, также включающий в случае выявления отсутствия неидентифицированных записей между эталонной записью и выбранной записью-кандидатом определение того, содержит ли каждая из совокупности позиций заказа одну запись.
19. Способ по п. 1, также включающий:
распознавание, с использованием обрабатывающего устройства, подмножества полей данных, который соответствует совокупности номеров заказов на поставку;
получение от компьютерного устройства, ассоциированного с пользователем, запроса на номера заказов на поставку, ассоциированных с инвойсом; и
передача, с использованием обрабатывающего устройства, данных, ассоциированных с подмножеством полей данных, на компьютерное устройство.
20. Способ по п. 1, отличающийся тем, что распознавание совокупности позиций заказа также включает распознавание предварительно не идентифицированных элементов заголовков, и распознавание предварительно не идентифицированных элементов заголовков включает:
определение соответствия расположения неидентифицированных элементов заголовков типичному расположению известного заголовка инвойса; и
проверки типа данных поля данных, расположенного под неидентифицированным элементом заголовка в соответствующей колонке для подтверждения того, что неидентифицированный элемент заголовка является известным элементом заголовка.
21. Система, включающая:
память;
обрабатывающее устройство, коммуникативно связанное с памятью для:
получения изображения инвойса для как минимум одного заказа на поставку;
идентификации части изображения, содержащей табличную структуру, имеющую совокупность записей, табличной структуры, хранящей данные, представляющие совокупность позиций заказа как минимум одного заказа на поставку, совокупности позиций заказа, содержащей совокупность полей данных, где каждая позиция заказа содержит одну или более совокупностей записей и одну или более совокупностей полей данных; и
распознавания совокупности позиций заказа на изображении инвойса, где распознавание совокупности позиций заказа на изображении инвойса включает:
идентификацию совокупности элементов заголовков для совокупности полей данных на основании (как минимум, частично) текстового содержания инвойса;
определение эталонной записи, содержащей поля данных, которые имеют максимальное число совпадений с идентифицированными элементами заголовков по сравнению с другими записями в табличной структуре, эталонной записи, соответствующей одной из совокупностей позиций заказа; и
корреляцию других записей с эталонной записью для идентификации оставшихся позиций заказа в инвойсе.
22. Энергонезависимый машиночитаемый накопитель данных, содержащий инструкции, которые при обращении к ним обрабатывающего устройства приводят к выполнению операций обрабатывающим устройством, включая:
получение изображения инвойса для как минимум одного заказа на поставку;
идентификацию части изображения, содержащей табличную структуру, имеющую совокупность записей, табличной структуры, хранящей данные, представляющие совокупность позиций заказа как минимум одного заказа на поставку, совокупности позиций заказа, содержащей совокупность полей данных, где каждая позиция заказа содержит одну или более совокупностей записей и одну или более совокупностей полей данных; и
распознавание совокупности позиций заказа на изображении инвойса, отличающееся тем, что распознавание совокупности позиций заказа включает:
идентификацию совокупности элементов заголовков для совокупности полей данных на основании (как минимум, частично) текстового содержания инвойса;
определение эталонной записи, содержащей поля данных, имеющие наибольшее количество совпадений с идентифицированными элементами заголовков по сравнению с другими записями в табличной структуре, эталонной записи, соответствующей одной из позиций заказа; и
согласование других записей с эталонной записью для идентификации оставшихся позиций заказа инвойса.