Распознавание символов с использованием искусственного интеллекта

Иллюстрации

Показать все

Изобретение относится к системам и способам распознавания с использованием искусственного интеллекта. Технический результат заключается в упрощении структур одной или более моделей машинного обучения и уменьшении количества обрабатывающих и вычислительных ресурсов, необходимых для распознавания иероглифов. Результат достигается за счет того, что выполняют получение устройством обработки изображения иероглифа, подачу изображения иероглифа в качестве входной информации для обученной модели машинного обучения в целях определения комбинации компонентов на множестве позиций в иероглифе и классификацию иероглифа как определенного символа языка, исходя из определенной комбинации компонентов на множестве позиций в изображении иероглифа. Другой способ может включать обучение модели машинного обучения определению комбинации компонентов на множестве позиций. 3 н. и 17 з.п. ф-лы.15 ил.

Реферат

ОБЛАСТЬ ИЗОБРЕТЕНИЯ

[001] Настоящее изобретение в общем относится к вычислительным системам, а в частности - к системам и способам распознавания символов с использованием искусственного интеллекта.

УРОВЕНЬ ТЕХНИКИ

[002] Средства оптического распознавания символов (OCR) могут варьироваться в зависимости от рассматриваемого языка. Например, распознавание символов в тексте, написанном на азиатских языках (Chinese, Japanese, Korean (CJK)), ставит задачи, отличающиеся от задач распознавания текста, написанного на европейских языках. Базовым изображением в CJK языках является иероглиф (т.е. стилизованное изображение символа, фразы, слова, буквы, слога, звука и т.д.). Вместе взятые CJK языки могут содержать более пятидесяти тысяч графически уникальных иероглифов. Таким образом, при применении некоторых способов для распознавания пятидесяти тысяч иероглифов с помощью искусственного интеллекта в CJK языках могут потребоваться сотни миллионов примеров изображений иероглифов. Сбор массива высококачественных изображений иероглифов - задача неэффективная и сложно реализуемая.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

[003] В одном варианте реализации способ включает идентификацию изображения иероглифа устройством обработки, подачу изображения иероглифа в качестве входной информации для обученной модели машинного обучения в целях определения комбинации компонентов на множестве позиций в иероглифе и классификацию иероглифа как определенного символа языка, исходя из определенной комбинации компонентов на множестве позиций в иероглифе.

[004] В другом варианте реализации способ обучения одной или более моделей машинного обучения для определения наличия или отсутствия графических элементов в иероглифе включает генерацию обучающих данных для одной или более моделей машинного обучения. Обучающие данные содержат первые обучающие входные данные, включая данные о пикселях изображения иероглифа, и первые целевые выходные данные для первых обучающих входных данных. Первые целевые выходные данные идентифицируют множество позиций в иероглифе и вероятность наличия графического элемента в каждой из множества позиций в иероглифе. Способ также включает предоставление обучающих данных для обучения одной или более моделей машинного обучения на (i) выборке обучающих входных данных, содержащей первые обучающие входные данные, и (ii) выборке целевых выходных данных, содержащей первые целевые выходные данные.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[005] Для более полного понимания настоящего изобретения ниже приводится подробное описание, в котором для примера, а не с целью ограничения, оно иллюстрируется со ссылкой на чертежи, на которых:

[006] На Фиг. 1 изображена схема компонентов верхнего уровня для примера архитектуры системы в соответствии с одним или более вариантами реализации настоящего изобретения.

[007] На Фиг. 2А изображен пример графического элемента в соответствии с одним или более вариантами реализации настоящего изобретения.

[008] На Фиг. 2В изображен пример иероглифа, содержащего графический элемент с Фиг. 2А, в соответствии с одним или более вариантами реализации настоящего изобретения.

[009] На Фиг. 3А изображен пример трех графических элементов, соответствующих буквам, в соответствии с одним или более вариантами реализации настоящего изобретения.

[0010] На Фиг. 3В изображен пример заранее определенных позиций иероглифа, в которых могут располагаться графические элементы, в соответствии с одним или более вариантами реализации настоящего изобретения.

[0011] На Фиг. 3С изображен пример иероглифа, содержащего графические элементы с Фиг. 3А, расположенные в определенных позициях первой конфигурации, в соответствии с одним или более вариантами реализации настоящего изобретения.

[0012] На Фиг. 3D изображен пример иероглифа, содержащего графические элементы, расположенные в определенных позициях второй конфигурации, в соответствии с одним или более вариантами реализации настоящего изобретения.

[0013] На Фиг. 4 изображена блок-схема примера способа обучения одной или более моделей машинного обучения в соответствии с одним или более вариантами реализации настоящего изобретения.

[0014] На Фиг. 5 изображена блок-схема примера способа обучения одной или более моделей машинного обучения с использованием обратного распространения в соответствии с одним или более вариантами реализации настоящего изобретения.

[0015] На Фиг. 6 изображена блок-схема примера способа предварительной обработки документа для идентификации изображений иероглифов в соответствии с одним или более вариантами реализации настоящего изобретения.

[0016] На Фиг. 7 изображена блок-схема примера способа классификации иероглифов как символов определенного языка на основе определенной комбинации компонентов в позициях иероглифа в соответствии с одним или более вариантами реализации настоящего изобретения.

[0017] На Фиг. 8 изображена блок-схема примера нейронной сети, обученной распознаванию наличия компонентов в позициях иероглифа, в соответствии с одним или более вариантами реализации настоящего изобретения.

[0018] На Фиг. 9 изображен пример компонентов вектора вероятности и связанных с ними выходных индексов модели машинного обучения в соответствии с одним или более вариантами реализации настоящего изобретения.

[0019] На Фиг. 10 изображен пример таблицы Unicode для корейского языка в соответствии с одним или более вариантами реализации настоящего изобретения.

[0020] На Фиг. 11 изображен пример вычислительной системы 600, которая может выполнять один или более способов, описанных в настоящем документе, в соответствии с одним или более вариантами реализации настоящего изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

[0021] Как отмечалось выше, в некоторых случаях сочетание технологий OCR с технологиями искусственного интеллекта, например, машинным обучением, при применении для CJK языков может потребовать большой обучающей выборки иероглифов. Кроме того, сбор примеров иероглифов может потребовать много ресурсов. Например, для обучения модели машинного обучения распознаванию любого символа могут потребоваться сотни различных изображений иероглифа, соответствующих этому символу. В дополнение к этому, в CJK языках присутствуют редкие символы, реальных примеров которых существует немного, и сбор сотни примеров для обучения модели машинного обучения распознаванию такого редкого символа представляется затруднительным.

[0022] Иероглифы (примеры приведены на Фиг. 2А-2В) в CJK языках могут разбиваться на отдельные графические элементы. В настоящем изобретении могут попеременно использоваться термины «графические элементы» и «компоненты». В китайском и японском языках графические элементы представляют собой ключи и графические символы фонетических элементов. Корейский язык является слоговым, так что каждый иероглиф соответствует слоговому блоку из трех графических элементов. Каждый графический элемент является буквой, например, гласной, согласной или дифтонгом. Корейские графические элементы имеют определенный порядок в слоге: 1) начальная согласная, 2) срединная гласная или дифтонг и 3) конечная согласная. Кроме того, каждый графический элемент иероглифа имеет определенную позицию (то есть место в иероглифе относительно центра и других графических элементов). Например, начальная согласная находится в первой позиции, срединная гласная во второй позиции и конечная согласная в третьей позиции (примеры приведены на Фиг. 3A-3D).

[0023] Количество существующих графических элементов может быть значительно меньше общего количества существующих иероглифов в CJK языках. Так, количество корейских начальных согласных равно 19, количество срединных гласных или дифтонгов - 21, а количество конечных согласных, включая возможные связки или их отсутствие в иероглифах, - 28. Таким образом, существует всего 11172 (19×21×28) уникальных иероглифов. Кроме того, количество позиций, которые могут занимать графические элементы в иероглифах, ограничено. То есть в зависимости от типа графического элемента (гласная или согласная) графический элемент может находиться в определенных позициях.

[0024] Соответственно, настоящее изобретение относится к способам и системам распознавания иероглифов с использованием OCR с технологиями искусственного интеллекта, такими как машинное обучение (например, нейронных сетей), которые классифицируют компоненты (например, наличие или отсутствие графических элементов) в определенных позициях иероглифа для распознавания иероглифов. В одном из вариантов реализации одна или более моделей машинного обучения обучаются определять комбинацию компонентов во множестве позиций иероглифов. Рассматриваемая одна или несколько моделей машинного обучения не обучаются распознаванию иероглифа в целом. В ходе обучения одной или более моделей машинного обучения в качестве входных данных модели машинного обучения предоставляются данные о пикселях изображения иероглифа, а в качестве одного или более целевых выходных данных модели машинного обучения предоставляются позиции иероглифа и вероятность наличия графического элемента в каждой из множества позиций иероглифа. Например, изображение иероглифа может быть отмечено кодом Unicode, который идентифицирует иероглиф, и для определения графических элементов (включая отсутствующие графические элементы), расположенных в позициях иероглифов, может использоваться таблица символов Unicode. Таким образом, одна или более моделей машинного обучения могут быть обучены идентификации графических элементов в определенных позициях иероглифа.

[0025] После обучения одной или более моделей машинного обучения новое изображение иероглифа, которое может быть идентифицировано путем обработки, не имеет меток и обрабатывается одной или более моделями машинного обучения. Одна или более моделей машинного обучения могут классифицировать иероглиф в новом изображении как отдельный символ языка, исходя из определенной комбинации компонентов в позициях иероглифа. В другом варианте реализации изобретения после того, как для одной или нескольких позиций идентифицировано более одного компонента, которые приводят к приемлемой комбинации для более чем одного иероглифа, может быть выполнена дополнительная классификация для идентификации наиболее вероятной комбинации компонентов и их позиций в иероглифе, как подробнее описано ниже со ссылкой на способ по Фиг. 7.

[0026] Преимущества использования технологий, описанных в этом изобретении, могут включать итоговое упрощение структур одной или более моделей машинного обучения за счет классификации графических элементов, а не целых иероглифов. Кроме того, уменьшенная обучающая выборка для распознавания графических элементов может использоваться для обучения одной или более моделей машинного обучения, в то время как большая обучающая выборка используется для распознавания в изображении цельного иероглифа. В результате количество обрабатывающих и вычислительных ресурсов, необходимых для распознавания иероглифов, уменьшается. Следует отметить, что хотя в качестве примера в следующем обсуждении используется корейский язык, реализация настоящего изобретения может быть аналогично применена к китайскому и (или) японскому языкам.

[0027] На Фиг. 1 изображена схема компонентов верхнего уровня для примера системной архитектуры 100 в соответствии с одним или более вариантами реализации настоящего изобретения. Системная архитектура 100 включает вычислительное устройство 110, хранилище 120 и сервер 150, подключенный к сети 130. Сеть 130 может быть общественной сетью (например, Интернет), частной сетью (например, локальная сеть (LAN) или распределенной сетью (WAN)), а также их комбинацией.

[0028] Вычислительное устройство 110 может выполнять распознавание символов, используя искусственный интеллект для классификации иероглифов, исходя из компонентов, идентифицированных в определенных позициях этих иероглифов. Вычислительное устройство 100 может быть настольным компьютером, портативным компьютером, смартфоном, планшетным компьютером, сервером, сканером или любым подходящим вычислительным устройством, которое в состоянии использовать технологии, описанные в этом изобретении. Документ 140, содержащий текст на CJK языке, может быть получен вычислительным устройством 110. Документ 140 может быть получен любым подходящим способом. Например, вычислительное устройство 110 может получить цифровую копию документа 140 путем сканирования документа 140 или фотографирования документа 140. Кроме того, в тех вариантах реализации изобретения, где вычислительное устройство 110 представляет собой сервер, клиентское устройство, которое подключается к серверу по сети 130, может загружать цифровую копию документа 140 на сервер. В тех вариантах реализации изобретения, где вычислительное устройство 110 является клиентским устройством, соединенным с сервером по сети 130, клиентское устройство может загружать документ 140 с сервера. Хотя в документе 140 изображен только один иероглиф 141, документ 140 может содержать множество изображений иероглифов 141, и технологии, описанные в этом изобретении, могут выполняться для каждого из изображений иероглифов, идентифицированных в анализируемом документе 140. После получения документ 140 может быть предварительно обработан (описано со ссылкой на способ на Фиг. 6) до распознавания символов вычислительным устройством 110.

[0029] Вычислительное устройство 100 может содержать систему распознавания символов 112. Система распознавания символов 112 может содержать инструкции, сохраненные на одном или более физических машиночитаемых носителях данных вычислительного устройства 110 и выполняемые на одном или более устройствах обработки вычислительного устройства 110. В одном из вариантов реализации система распознавания символов 112 может использовать одну или более моделей машинного обучения 114, которые обучаются и используются для определения комбинации компонентов и позиций в иероглифе на изображении 141. В некоторых вариантах реализации одна или более моделей машинного обучения 114 могут быть частью системы 112 распознавания символов или могут быть доступны с другой машины (например, сервера 150) для распознавания символов 112. На основе выходных данных модели машинного обучения 114 система распознавания символов 112 может классифицировать иероглиф на изображении 141 как определенный символ языка.

[0030] Сервер 150 может быть стоечным сервером, маршрутизатором, персональным компьютером, карманным персональным компьютером, мобильным телефоном, портативным компьютером, планшетным компьютером, фотокамерой, видеокамерой, нетбуком, настольным компьютером, медиа-центром или их сочетанием. Сервер 150 может содержать систему обучения 151. Модель машинного обучения 114 может ссылаться на артефакт модели, созданный обучающей системой 151 с использованием обучающих данных, которые содержат обучающие входные данные и соответствующие целевые выходные данные (правильные ответы на соответствующие обучающие входные данные). Обучающая система 151 может находить в обучающих данных шаблоны, которые связывают обучающие входные данные с целевыми выходными данными (предсказание ответов), и предоставлять модель машинного обучения 114, которая использует эти шаблоны. Модель машинного обучения 114 может быть составлена, например, из одного уровня линейных или нелинейных операций (например, машина опорных векторов [SVM]) или может представлять собой глубокую сеть, то есть модель машинного обучения, составленную из нескольких уровней нелинейных операций. Примером глубокой сети является сверточная нейронная сеть с одним или более скрытыми уровнями, и такая модель машинного обучения может быть обучена, например, путем регулировки весов сверточной нейронной сети в соответствии с обучающим алгоритмом обратного распространения ошибки (описан со ссылкой на способ по Фиг. 5) или схожими способами.

[0031] Сверточная нейронная сеть включает архитектуры, которые могут обеспечить эффективное распознавание образов. Сверточные нейронные сети могут включать несколько сверточных слоев и субдискретизирующих слоев, которые применяют фильтры к частям изображения иероглифа для обнаружения определенных признаков. Таким образом, сверточная нейронная сеть включает операцию свертки, которая поэлементно умножает каждый фрагмент изображения на фильтры (например, матрицы) и суммирует результаты в аналогичной позиции выходного изображения (пример приведен на Фиг. 8).

[0032] В одном из вариантов реализации изобретения одна модель машинного обучения может использоваться с выходными данными, которые указывают на наличие графического элемента для каждой соответствующей позиции в иероглифе. Следует отметить, что графический элемент может представлять собой пустое место, и выходные данные могут содержать вероятность наличия пустого графического элемента. Например, для трех позиций в иероглифе модель машинного обучения может выводить три вектора вероятности. Вектор вероятности может ссылаться на набор всех возможных вариантов графических элементов, включая вариант отсутствия графического варианта, который может встретиться в соответствующей позиции, и индекс вероятности, связанный с каждым вариантом, который показывает вероятность наличия этого варианта в указанной позиции. В другом варианте реализации для каждой соответствующей позиции в иероглифе может использоваться отдельная модель машинного обучения. Например, при наличии в иероглифе трех позиций для каждой позиции могут использоваться три разные модели машинного обучения. Кроме того, отдельная модель машинного обучения 114 может использоваться для каждого отдельного языка (например, китайского, японского и корейского).

[0033] Как было указано выше, можно обучить одну или более моделей машинного обучения определять комбинацию компонентов в позициях иероглифа. В одном из вариантов реализации изобретения одна или более моделей машинного обучения 114 были обучены решать проблемы классификации и выдавать выходные данные для каждого класса. Класс в настоящем изобретении относится к наличию графического элемента (например, включая пустое пространство) в определенной позиции. Вектор вероятностей может быть выведен для каждой позиции и включать каждый вариант класса и степень близости (например, индекс вероятности) для отдельного класса. Для обучения модели машинного обучения 114 может быть использована любая подходящая технология обучения, например, обратное распространение ошибки.

[0034] После обучения одной или более моделей машинного обучения 114 одна или более моделей машинного обучения 114 могут быть использованы в системе распознавания символов 112 для анализа новых изображений иероглифов. Например, система распознавания символов 112 может получать на входе изображение иероглифа 141 из документа 140, анализируемое с помощью одной или более моделей машинного обучения 114. На основе выходных данных одной или более моделей машинного обучения 114, которые показывают наличие графических элементов в позициях в анализируемом иероглифе система распознавания символов 112 может классифицировать иероглиф как определенный символ языка. В одном из вариантов реализации изобретения система распознавания символов 112 может идентифицировать код Unicode в таблице символов Unicode, который ассоциируется с распознанным графическим элементом в каждой соответствующей позиции, и использовать эти коды графических элементов для вычисления кода Unicode иероглифа. Однако система распознавания символов 112 может определять, исходя из вектора вероятностей для компонентов, выходные данные моделей машинного обучения 114, которые для одной или нескольких из заранее определенных позиций содержат более одного идентифицированного графического элемента, которые возможны в допустимых комбинациях для более чем одного иероглифа. В таком случае устройство обработки 112 может выполнять дополнительную классификацию, как подробнее описано ниже, для классификации иероглифа на анализируемом изображении 141.

[0035] Хранилище 120 представляет собой постоянную память, которая в состоянии сохранять документы 140 и (или) изображения иероглифов 141, а также структуры данных для разметки, организации и индексации изображений иероглифов 141. Хранилище 120 может располагаться на одном или более запоминающих устройствах, таких как основная память, магнитные или оптические запоминающие устройства на основе дисков, лент или твердотельных накопителей, NAS, SAN и т.д. Несмотря на то, что хранилище изображено отдельно от вычислительного устройства 110, в одной из реализаций изобретения хранилище 120 может быть частью вычислительного устройства 110. В некоторых вариантах реализации хранилище 120 может представлять собой подключенный к сети файловый сервер, в то время как в других вариантах реализации изобретения хранилище содержимого 120 может представлять собой какой-либо другой тип энергонезависимого запоминающего устройства, например, объектно-ориентированной базы данных, реляционной базы данных и т.д., которая может находиться на сервере или одной или более различных машинах, подключенных к нему через сеть 130.

[0036] На Фиг. 2А изображен пример графического элемента 200 в соответствии с одним или более вариантами реализации настоящего изобретения. На приведенном примере графический элемент 200 представляет собой ключ, означающий «ограда». На Фиг. 2В изображен пример иероглифа 202, содержащего графический элемент 200 с Фиг. 2А в соответствии с одним или более вариантами реализации настоящего изобретения.

[0037] Как было сказано ранее, корейский язык является слоговым. Каждый иероглиф представляет собой слоговый блок из трех графических элементов, расположенных в соответствующих заранее определенных позициях. Для иллюстрации на Фиг. 3A-3D изображены три графических элемента, расположенные в различных заранее определенных позициях корейского иероглифа.

[0038] Например, на Фиг. 3А изображен пример трех графических элементов 300, 302 и 304, соответствующих буквам, в соответствии с одним или более вариантами реализации настоящего изобретения. Каждая буква в корейском языке является согласной, гласной или дифтонгом. Корейские графические элементы имеют определенный порядок в слоге: 1) начальная согласная, 2) срединная гласная или дифтонг и 3) конечная согласная. На Фиг. 3В изображен пример заранее определенных позиций иероглифа, в которых могут располагаться графические элементы, в соответствии с одним или более вариантами реализации настоящего изобретения. Таким образом, каждый графический элемент иероглифа имеет определенную позицию (то есть место в иероглифе относительно центра и других графических элементов). Начальная согласная находится в первой позиции 310, срединная гласная или дифтонг находится во второй позиции 312 или 314, которая расположена справа от согласных в позиции 312 или между согласными в позиции 314, и конечная согласная находится в третьей позиции 316. В некоторых случаях согласные могут дублироваться, поэтому в корейском языке могут существовать слоги из четырех или пяти букв. В таких случаях одну или более моделей машинного обучения 114 можно обучить распознавать двойные согласные как отдельные графические элементы. Таким образом, архитектуру одной или более моделей машинного обучения 114 можно организовать с включением входных данных для трех позиций (310, 312 или 314, и 316) в иероглифе.

[0039] На Фиг. 3С изображен пример иероглифа 320, содержащего графические элементы 300, 302 и 304 с Фиг. 3А, расположенные в определенных позициях первой конфигурации, в соответствии с одним или более вариантами реализации настоящего изобретения. В частности, графический элемент 300 является согласной и расположен в первой позиции 310, графический элемент 312 является гласной или дифтонгом и расположен во второй позиции 312 (то есть справа от согласных 300 и 304), а графический элемент 304 является согласной и расположен в третьей позиции 316. На Фиг. 3D изображен другой пример иероглифа 322, содержащий графические элементы 324, 326 и 328, расположенные в соответствующих позициях второй конфигурации, в соответствии с одним или более вариантами реализации настоящего изобретения. В частности, графический элемент 324 является согласной и расположен в первой позиции 310, графический элемент 326 является гласной или дифтонгом и расположен во второй позиции 314 (то есть справа от согласных 324 и 328), а графический элемент 328 является согласной и расположен в третьей позиции 316.

[0040] На Фиг. 4 изображена блок-схема примера способа 400 обучения одной или более моделей машинного обучения 114 в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 400 может осуществляться при помощи логической схемы обработки данных, которая может включать аппаратные средства (электронные схемы, специализированную логическую плату и т.д.), программное обеспечение (например, выполняться на универсальной ЭВМ или же на специализированной вычислительной машине) или комбинацию первого и второго. Способ 400 и (или) каждая из его отдельных функций, процедур, подпрограмм или операций может выполняться одним или более процессорами вычислительного устройства (например, вычислительной системы 1100 на Фиг. 11), реализующего этот способ. В некоторых вариантах осуществления способ 400 может осуществляться в одном потоке обработки. При альтернативном подходе способ 400 может выполняться в двух или более потоках обработки, каждый из потоков может реализовывать одну или более отдельных функций, процедур, подпрограмм или операций этих способов. Способ 400 может выполняться на обучающей системе 151 с Фиг. 1.

[0041] В целях простоты объяснения способ 400 в настоящем описании изобретения изложен и наглядно представлен в виде последовательности действий. Однако действия в соответствии с настоящим описанием изобретения могут выполняться в различном порядке и (или) одновременно с другими действиями, не представленными и не описанными в настоящем документе. Кроме того, не все проиллюстрированные действия могут быть необходимыми для реализации способа 400 в соответствии с настоящим описанием изобретения. Кроме того, специалистам в данной области техники должно быть понятно, что способ 400 может быть представлен и иным образом, в виде последовательности взаимосвязанных состояний через диаграмму состояний или событий.

[0042] Способ 400 может начинаться с шага 410 блок-схемы. На шаге 410 обрабатывающее устройство, которое выполняет обучающую систему 151, может генерировать обучающие данные для одной или более моделей машинного обучения 114. Обучающие данные могут включать первые обучающие входные данные, содержащие данные о пикселях изображения иероглифа. В одном из вариантов реализации изображение иероглифа может содержать разметку, представляющую собой код Unicode, связанный с соответствующим иероглифом, приведенным на изображении. Код Unicode может быть получен из таблицы символов Unicode. Unicode представляет собой систему представления символов в виде последовательности кодов, построенную по определенным правилам. Каждый графический элемент иероглифа и сам иероглиф имеет код (то есть номер) в таблице символов Unicode.

[0043] Обучающие данные также содержат первые целевые выходные данные для первых обучающих входных данных. Первые целевые выходные данные идентифицируют позиции иероглифа и вероятность наличия графических элементов в каждой из позиций иероглифа. Целевые выходные данные для каждой позиции иероглифа могут включать вектор вероятности, который содержит индекс вероятности (то есть возможность), связанный с каждым компонентом, который может находиться в каждой из соответствующих позиций. В одном из вариантов реализации индексы вероятности могут назначаться с использованием таблицы символов Unicode. Например, обучающая система 151 может использовать код Unicode, которым помечен иероглиф, для определения графических элементов в каждой из позиций иероглифа. Для вычисления графических элементов в каждой позиции на основе кода Unicode иероглифа («кода иероглифа») могут быть использованы следующие уравнения:

[0044] Отдельные компоненты, определенные на основе заданного кода Unicode, могут получать максимальный индекс вероятности, например, 1, в векторах вероятности. Другие возможные компоненты в каждой из позиций могут получать низкий индекс вероятности, например, 0, в векторах вероятности. В некоторых вариантах реализации индексы вероятности могут быть назначены графическим элементам в каждой позиции вручную.

[0045] На шаге 420 блок-схемы обрабатывающее устройство может предоставлять обучающие данные для обучения одной или более моделей машинного обучения на (i) наборе обучающих входных данных, содержащем первые обучающие входные данные, и (ii) наборе целевых выходных данных, содержащем первые целевые выходные данные.

[0046] На шаге 430 блок-схемы обрабатывающее устройство может обучать одну или более моделей машинного обучения, исходя из (i) набора обучающих входных данных и (ii) набора целевых выходных данных. В одной из реализаций изобретения модель машинного обучения 114 может быть обучена выводить вектор вероятности наличия каждого возможного элемента в каждой позиции иероглифа. В тех вариантах реализации изобретения, где для корейского языка используется одна модель машинного обучения 114, например, выходными данными могут быть три вектора вероятности, по одному для каждой позиции в иероглифе. В других вариантах реализации, когда для каждой позиции используется своя модель машинного обучения 114, каждая модель машинного обучения может выдавать один вектор вероятности, указывающий на возможность наличия компонентов в указанной позиции. После завершения обучения одна или более моделей машинного обучения 114 могут быть обучены получать данные о пикселях изображения иероглифов и определять комбинацию компонентов в позициях иероглифа.

[0047] На Фиг. 5 изображена блок-схема примера способа 500 обучения одной или более моделей машинного обучения 114 с использованием обратного распространения ошибки в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 500 включает операции, выполняемые вычислительным устройством 110. Способ 500 может выполняться аналогичным или сходным образом, как описано выше по отношению к способу 400. Способ 500 может выполняться обрабатывающими устройствами вычислительного устройства 110 и выполнять обучающую систему 151.

[0048] Способ 500 может начинаться с шага 510 блок-схемы. На шаге 510 блок-схемы обрабатывающее устройство, выполняющее обучающую систему 151, может получать набор данных примеров изображений иероглифов 141, включающих их графические элементы. Изображения иероглифов, включающие их графические элементы, могут быть использованы для обучения. Набор данных примеров изображений иероглифов может быть разделен на один или более подвыборок, используемых для обучения и проверки (например, в соотношении 80 процентов к 20 процентам, соответственно). Обучающая подвыборка может содержать разметку с информацией (например, код Unicode), относящейся к иероглифу, приведенному на изображении, графического элемента, расположенного в каждой позиции иероглифа, и т.д. Тестовая подвыборка может не содержать разметки с дополнительной информацией. Каждое изображение в обучающей подвыборке может быть предварительно обработано, как подробно будет описано ниже, со ссылкой на способ по Фиг. 6.

[0049] На шаге 520 блок-схемы обрабатывающее устройство может выбирать пример изображения из обучающей подвыборки для обучения одной или более моделей машинного обучения. Примеры обучающих изображений могут выбираться последовательно или любым другим подходящим способом (например, в случайном порядке). На шаге 530 блок-схемы обрабатывающее устройство может применить одну или более моделей машинного обучения к выбранной обучающей подвыборке и определить коэффициент ошибки в выходных данных модели машинного обучения. Коэффициент ошибки может быть вычислен в соответствии со следующей формулой:

[0050] Где xi - значения вектора вероятностей, а - ожидаемое значение вектора вероятностей в выходных данных модели машинного обучения. В некоторых вариантах реализации этот параметр может быть задан вручную при обучении модели машинного обучения 114. ∑ - это сумма компонентов вектора вероятностей в выходных данных модели машинного обучения.

[0051] На шаге 540 блок-схемы производится сравнение коэффициента ошибки с пороговым значением. Если коэффициент ошибки равен или больше порогового значения, одна или более моделей машинного обучения могут быть признаны не обученными, и может быть произведена подстройка одного или более весов моделей машинного обучения (шаг 550 блок-схемы). Подстройка весов может производиться с использованием любой подходящей технологии оптимизации, например, алгоритма дифференциальной эволюции. Обрабатывающее устройство может вернуться к шагу 520 блок-схемы для выбора примеров изображений и продолжения обработки на шаге 530. Этот итеративный процесс может продолжаться до тех пор, пока коэффициент ошибки не станет меньше порогового значения.

[0052] Если коэффициент ошибки меньше порогового значения, одна или более моделей машинного обучения 114 могут быть признаны обученными (шаг 560 блок-схемы). В одном из вариантов реализации после того, как одна или более моделей машинного обучения 114 будут признаны обученными, обрабатывающее устройство может выбрать тестовые примеры изображений из тестовой подвыборки (т.е. неразмеченные изображения) (шаг 520). Тестирование может производиться на отдельных тестовых примерах изображений, которые еще не обрабатывались одной или более моделями машинного обучения. К тестовым примерам изображений могут применяться одна или более моделей машинного обучения (шаг 530). На шаге 540 блок-схемы обрабатывающее устройство может определить, будет ли коэффициент ошибки в выходных данных моделей машинного обучения 114, примененных к тестовым примерам изображений, меньше порогового значения. Если коэффициент ошибки равен или больше порогового значения, обрабатывающее устройство может вернуться к шагу 520 блок-схемы для проведения дополнительного обучения. Если коэффициент ошибки меньше порогового значения, обрабатывающее устройство может признать (шаг 560 блок-схемы) одну или более моделей машинного обучения 114 обученными.

[0053] На Фиг. 6 изображена блок-схема примера способа предварительной обработки 600 документа 140 для идентификации изображений иероглифов 141 в соответствии с одним или более вариантами реализации настоящего изобретения. Способ 600 включает операции, выполняемые вычислительным устройством 110. Способ 600 может выполняться аналогичным или сходным образом, как описано выше по отношению к способам 400 и 500. Способ 600 может выполняться обрабатывающими устройствами вычислительного устройства 110 и выполнять систему распознавания символов 112.

[0054] Способ 600 может начинаться с шага 610. На шаге 610 блок-схемы документ 140 может оцифровываться (например, путем фотографирования или сканирования) обрабатывающим устройством. Обрабатывающее устройство может предварительно обрабатывать (шаг 620) оцифрованный документ. Предварительная обработка может включать набор операций по подготовке изображения 140 к дальнейшему выполнению распознавания символов. Набор операций может включать устранение шума, изменение ориентации иероглифов в изображении 140, выпрямление строк текста, масштабирование, кадрирование, повышение контрастности, изменение яркости и (или) изменение масштаба. Обрабатывающее устройство может идентифицировать (шаг 630) изображения иероглифов 141, входящих в предварительно обработанный оцифрованный документ 140, с помощью любого подходящего способа. Идентифицированные изображения иероглифов 141 могут быть разделены на отдельные изображения для индивидуальной обработки. Далее на шаге 640 блок-схемы иерог