(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-12
(45)【発行日】2023-10-20
(54)【発明の名称】文字の視覚認識符号化
(51)【国際特許分類】
G06V 30/194 20220101AFI20231013BHJP
G06N 3/02 20060101ALI20231013BHJP
G06T 7/00 20170101ALI20231013BHJP
G06V 20/62 20220101ALI20231013BHJP
【FI】
G06V30/194
G06N3/02
G06T7/00 350C
G06V20/62
【外国語出願】
(21)【出願番号】P 2020169801
(22)【出願日】2020-10-07
【審査請求日】2022-04-01
(32)【優先日】2019-12-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】300015447
【氏名又は名称】エスアーペー エスエー
【住所又は居所原語表記】Dietmar-Hopp-Allee 16, 69190 Walldorf, Germany
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヨハネス・ヘーン
(72)【発明者】
【氏名】マルコ・スピナーチ
【審査官】新井 則和
(56)【参考文献】
【文献】特開平11-120294(JP,A)
【文献】特開平09-134409(JP,A)
【文献】特開平03-220686(JP,A)
【文献】Zhuoyao Zhong et al.,Multi-font printed Chinese character recognition using multi-pooling convolutional neural network,2015 13th International Conference on Document Analysis and Recognition (ICDAR),2015年08月26日
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00-7/90
G06V 20/00-20/90
G06V 30/00-30/424
G06N 3/02
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイスによって、
表語文字スクリプトの文字である画像のセットをネットワークに入力するステップと、
前記コンピューティングデバイスによって、前記画像のセットを文字のセット内の1つまたは複数の文字に分類することに基づいて前記ネットワークを訓練するステップと、
前記コンピューティングデバイスによって、レイヤの出力をいくつかの値に制限する前記ネットワークの前記レイヤに基づいて前記1つまたは複数の文字に対する符号化のセットを取得するステップと、
前記コンピューティングデバイスによって、前記1つまたは複数の文字に対する前記符号化のセットを記憶するステップとを含み、前記符号化のセット内の1つの符号化が、対応する文字が決定されるときに取り出し可能であ
り、
類似するグリフを含む複数の文字には、同じ値を有する同じ位置にあるいくつかの値を有する類似した符号化が割り当てられる、方法。
【請求項2】
前記文字のセット内の1つの文字が、1つまたは複数のグリフを含む、請求項1に記載の方法。
【請求項3】
前記文字のセット内の複数の文字が、同じグリフに基づく、請求項1に記載の方法。
【請求項4】
前記ネットワークを訓練するステップが、
前記画像のセット内の1つの画像に対して1つの文字の出力を生成するステップと、
前記文字の前記出力を、文字を前記画像に割り当てる前記画像に対するラベルと比較するステップとを含む、請求項1に記載の方法。
【請求項5】
前記ネットワークを訓練するステップが、
前記比較に基づいて前記ネットワーク内の1つまたは複数のパラメータを調整するステップを含む、請求項4に記載の方法。
【請求項6】
前記符号化のセットを取得するステップが、
前記レイヤの前記出力を固定の次元に制限するステップを含む、請求項1に記載の方法。
【請求項7】
前記固定の次元が、前記符号化のセット内の前記符号化の長さのターゲットの次元である、請求項6に記載の方法。
【請求項8】
前記固定の次元が、符号化のための機械可読数のシーケンスのうちの1つの数である、請求項7に記載の方法。
【請求項9】
前記符号化のセット内の1つの符号化が、2進数のシーケンスを含む、請求項1に記載の方法。
【請求項10】
画像を受信するステップと、
前記画像を文字に分類するステップと、
前記文字に対応する前記符号化のセットから1つの符号化を選択するステップとをさらに含む、請求項1に記載の方法。
【請求項11】
前記レイヤが、前記ネットワーク内の内部レイヤである、請求項1に記載の方法。
【請求項12】
前記ネットワークが、前記分類を出力する前記内部レイヤの後の1つの出力レイヤを含む、請求項
11に記載の方法。
【請求項13】
前記画像のセットが、言語からの文字である、請求項1に記載の方法。
【請求項14】
前記言語が、表語文字スクリプトに基づく、請求項
13に記載の方法。
【請求項15】
コンピュータ実行可能命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令が、コンピューティングデバイスによって実行されるとき、
表語文字スクリプトの文字である画像のセットをネットワークに入力することと、
前記画像のセットを文字のセット内の1つまたは複数の文字に分類することに基づいて前記ネットワークを訓練することと、
レイヤの出力をいくつかの値に制限する前記ネットワークの前記レイヤに基づいて前記1つまたは複数の文字に対する符号化のセットを取得することと、
前記1つまたは複数の文字に対する前記符号化のセットを記憶することとを前記コンピューティングデバイスが行うことを可能にさせ、前記符号化のセット内の1つの符号化が、対応する文字が決定されるときに取り出し可能であ
り、
類似するグリフを含む複数の文字には、同じ値を有する同じ位置にあるいくつかの値を有する類似した符号化が割り当てられる、非一時的コンピュータ可読記憶媒体。
【請求項16】
前記文字のセット内の複数の文字が、同じグリフに基づく、請求項
15に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記符号化のセットを取得することが、
前記レイヤの前記出力を固定の次元に制限することを含む、請求項
15に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
1つまたは複数のコンピュータプロセッサと、
コンピュータ可読記憶媒体とを備え、前記コンピュータ可読記憶媒体が、
表語文字スクリプトの文字である画像のセットをネットワークに入力することと、
前記画像のセットを文字のセット内の1つまたは複数の文字に分類することに基づいて前記ネットワークを訓練することと、
レイヤの出力をいくつかの値に制限する前記ネットワークの前記レイヤに基づいて前記1つまたは複数の文字に対する符号化のセットを取得することと、
前記1つまたは複数の文字に対する前記符号化のセットを記憶することとに対して動作可能であるように、前記1つまたは複数のコンピュータプロセッサを制御するための命令を含み、前記符号化のセット内の1つの符号化が、対応する文字が決定されるときに取り出し可能であ
り、
類似するグリフを含む複数の文字には、同じ値を有する同じ位置にあるいくつかの値を有する類似した符号化が割り当てられる、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、文字の視覚認識符号化に関する。
【背景技術】
【0002】
異なる言語は、言語の文字を書くために使用される筆記システムであり得る、異なるスクリプトに基づき得る。たとえば、英語およびドイツ語は、100に満たない文字を含む少ないアルファベットを用いるアルファベットスクリプトであるラテンスクリプトに基づく。他の言語は、非常に大きい文字のセットを用いる表語文字スクリプトを使用し得る。一例は、8000より多くの一意の文字を含む標準中国語である。英語および標準中国語のアルファベットは、異なる言語構造、視覚的構造、意味および統計的頻度を有する。
【0003】
コンピュータが、異なる言語に対するテキスト情報を処理するために使用されるとき、文字は、最初に、機械可読フォーマットに符号化される必要がある。言語の各文字は、一意の符号化を割り当てられ得る。一般的に、符号化は、第1の文字の符号化が、第2の文字の符号化と無関係であるという点において、意味論的意味を有しない。これは、文字を認識するためにアプリケーションを訓練することの効率を低下させ、結果として得られた出力が認識可能なエラーを有することをも生じさせ得る。
【発明の概要】
【課題を解決するための手段】
【0004】
以下の議論および特に図面に関して、示される詳細は、例示的な説明のための例を表しており、本開示の原理および概念的態様の説明を提供するために提示されることが強調されている。この件について、本開示の基本的理解に必要とされるもの以上の実施詳細を示す企ては行われない。以下の説明は、図面と併せて、本開示による実施形態がいかにして実践され得るかを、当業者に対して明らかにする。同様のまたは同じ参照番号は、様々な図面および補助的説明において同様のまたは同じ要素を識別するかまたはさもなければそれらを指すために使用され得る。
【図面の簡単な説明】
【0005】
【
図1】いくつかの実施形態による、文字に対する符号化を生成するための簡略化されたシステムを示す図である。
【
図2】いくつかの実施形態による、符号化モデルを生成するために予測ネットワークを訓練することの例を示す図である。
【
図3】いくつかの実施形態による、ラベルおよび画像の例を示す図である。
【
図4】いくつかの実施形態による、予測ネットワークを訓練するための方法の簡略化されたフローチャートを示す図である。
【
図5】いくつかの実施形態による、予測ネットワークのより詳細な例を示す図である。
【
図6】いくつかの実施形態による、符号化の例を示す図である。
【
図7】いくつかの実施形態による、類似する2進コードを有するシンボルの例を示す図である。
【
図8】いくつかの実施形態による、専用コンピュータシステムの例を示す図である。
【発明を実施するための形態】
【0006】
言語符号化システムのための技法が、本明細書で説明される。以下の説明では、説明のために、多数の例および具体的な詳細が、いくつかの実施形態の十分な理解を与えるために示される。特許請求の範囲によって定義されるいくつかの実施形態は、これらの例の中だけの、または以下で説明する他の特徴との組み合せた中の特徴の一部または全部を含んでよく、本明細書で説明する特徴および概念の修正形態および等価形態をさらに含んでよい。
【0007】
いくつかの実施形態では、システムは、言語内の文字を表す符号化を生成し得る。たとえば、符号化は、機械可読フォーマット(たとえば、2進コード)におけるものであり得る。システムは、言語内の文字間の類似性に基づいて符号化を生成する。たとえば、符号化は、言語内のシンボルの視覚的類似性に基づき得る。類似性は、グリフ構造に基づいてよく、ここでグリフは、言語内の可読文字を表すように意図された、一致したシンボルのセット内の基本的シンボルである。いくつかの実施形態では、視覚的に類似するシンボルが、言語における意味類似性を共有することもあるが、これは、必ずしもすべての視覚的に類似する文字に当てはまるとは限らない。
【0008】
視覚的に類似すると見なされる文字に対して類似する符号化を生成することは、アプリケーションが文字のテキストを処理しているときに有利であり得る。たとえば、1つの符号化の中の単一のビットまたは少数のビットが間違って予測される場合に、出力される文字が、依然として、正しい文字に視覚的に類似する文字であり得るという点において、符号化は、エラーロバスト性を提示し得る。同じく、単一のビットのみが間違って予測される場合に、符号化が、依然として、正しい文字を判定するために使用され得る可能性がある。さらに、間違った文字が選択される場合でも、視覚的に類似する文字を出力することは、正しい文字と視覚的に類似しない文字を出力することよりも、ユーザを混乱させない可能性がある。同じく、文字を学習するように構成されたプロセスの訓練は、符号化が視覚的特性に基づく場合に、より速く訓練され得る。なぜならば、視覚的に類似する文字は、表現の中に多くのビットを共有する可能性があるからである。それゆえ、プロセスが類似するビットを学習すること、ひいては視覚的に類似する文字間を区別するために、より困難なビットに集中することがより容易になる。
【0009】
システムの概要
図1は、いくつかの実施形態による、文字に対する符号化を生成するための簡略化されたシステム100を示す。文字は、標準中国語または他の表語文字関連言語など、特定の言語からのものであり得る。しかしながら、システム100は、任意の言語または複数の言語に対する符号化を生成するために使用され得る。
【0010】
アプリケーション104は、文字の視覚的表現など、文字を受信して、文字に対する符号化を生成するように構成され得る。視覚的表現は、文字のテキスト表現であり得る。文字は、表語文字であってよく、文字は、語または句の全体を表すために使用される字、シンボルまたはサインによって記される。符号化は、一連の2進コードなどの機械可読符号化であり得る。しかしながら、符号化は、一連の字または数字など、読み取られ得る文字に対する任意の表現であり得る。
【0011】
アプリケーション104は、符号化を使用して、出力を生成し得る。たとえば、アプリケーション104は、画像を受信して画像からテキストを出力する、光学式文字認識(OCR)エンジンであり得る。次いで、アプリケーション104は、テキストを分析して、テキスト内の文字に対する符号化を生成し得る。符号化を生成すると、アプリケーション104は、その符号化を使用して出力を生成し得、出力は、文字の、英語などの別の言語への変換であり得る。他の出力は、対応する文字のピンインバージョンまたは文字の実際の視覚的表現など、認識された文字に対応する表現を含み得る。様々な出力が評価され得る。
【0012】
アプリケーション104は、符号化モデル106を使用して符号化を生成し得る。符号化モデル106は、言語内の文字に対して対応する符号化を含み得る。符号化モデル106は、文字を認識して対応する符号化を生成するためにアプリケーション104によって使用されるプロセスに対する任意のパラメータも含み得る。たとえば、アプリケーション104は、文字の画像を受信する予測ネットワークを使用して、符号化モデル106に基づいて符号化を生成し得る。次いで、アプリケーション104は、別の言語内の文字のトランザクションなど、符号化に対する出力を生成する。
【0013】
以下でより詳細に説明するように、視覚的に類似する文字に対する符号化も、同様であり得る。いくつかの実施形態では、符号化は、N個の2進数のうちの1つの2進数(たとえば、010001)などの2進数であり得る。以下でより詳細に説明するように、符号化モデル106は、視覚的に類似する文字に対してより類似する符号化を含み得る。すなわち、ビット数は、視覚的に類似する文字に対する符号化の中で、同様であり得る。類似する符号化は、類似する符号化の中のいくつかのビットが、総数N個のビットの中で、たとえばしきい値より上で等しいことを意味し得る。たとえば、3つのシンボル・(英単語「rain」)、雪(英単語「snow」)、雷(英単語「thunder」)は、標準中国語の言語において類似する意味を有し、それらはすべて、共通の下部構造である雨を有する。それゆえ、符号化モデル106は、グリフ認識符号化関数Eを使用し得、そこにおいて、E(雪)は、E(打)(英単語「hit」)よりもE(雷)に類似する。視覚的に類似する文字に対して類似する符号化を生成するために、サーバシステム102は、符号化モデル106内で符号化を生成するためにネットワークを訓練する。
【0014】
表語文字スクリプトを符号化するためにグリフ認識などの視覚認識である符号化を使用することは、複数の利点を有する。たとえば、たとえばアプリケーション104の出力を生成するために、符号化がアプリケーション104によって使用されるとき、アプリケーションが符号化を選択するときにエラーが発生するときに、利点がもたらされ得る。たとえば、アプリケーション104が、わずかに冗長なN(たとえば、2N>x、xは適格な文字の総数である)を有する一定量のビットNのグリフ認識符号化を介して所与のグリフ(たとえば、シンボル雪(snow))を予測している場合に、エラーロバスト性が提供され、単一のビットが間違って予測される場合に、エラーを有するシステムの出力が、依然として正しい文字と一致し得る可能性がより高くなる。すなわち、必ずしもすべてのビットの組み合せが使用され得るとは限らないが、予測されるビットパターンに最も近いパターンが、文字に対する正しい符号化であり得る。したがって、追加のビットが、エラーロバスト冗長性のために使用され得る。
【0015】
同じく、符号化を使用することで、アプリケーション104に対してより少ない重大エラーが生み出され得る。たとえば、1つの、または少数のビットが、アプリケーション104に対して間違って予測される状況において、このエラーが、予測を異なる文字に変化させるのに十分である場合でも、得られる文字は、シンボルthunder雷がシンボルsnow雪になるなど、視覚的に類似する可能性が高い。雪の文字の代わりに雷の文字を見ることは、まったくランダムな文字がアプリケーション104によってその位置に挿入される場合よりも、ユーザを混乱させる可能性はずっと小さい。
【0016】
同じく、視覚的に類似する文字に基づく符号化はまた、表現をより速く学習させ得る。出力としての文字を学習するのに必要なプロセスは、符号化が視覚的に認識される場合に、より速く学習する。これは、視覚的に類似する文字は、表現の中で多くのビットを共有する可能性が高いからである。それゆえ、プロセスがこれらのビットを学習して、プロセスが視覚的に類似する文字間を区別することを可能にすることを学習するために、より困難なビットに焦点を合わせることがより容易になる。たとえば、アプリケーション104は、光学式文字認識アプリケーションを含み得る。視覚認識符号化を使用して、符号化モデル106は、1つの文字に対して予測され得るより容易なビットを最初に学習することによって、シンボルの共通性ならびに差異をより速く学習し得る。同じことが、ピクチャ内のランドマークなど、画像内のシーンを認識するシーンテキスト認識(STR:scene text recognition)に適用される。さらに、出力の中の、上記で説明したエラーは、人の読者にとって理解することはより容易であり得る。
【0017】
アプリケーション104は、手書きのテキストをシミュレートするテキストの生成など、文字のレンダリングにも使用され得る。アプリケーション104は、入力に対するビットとしてテキストの表現を受信し、出力として画像を生成し得る。生成された画像は、入力と同じ文字を表し得るが、同時に(同種のスタイルを有するなど、潜在的に他の条件を加えた)スタイルにおける手書きのように見える。この場合、表現の入力ビットに対する符号化を使用することは、利点を有する。なぜならば、それは、画像を生成するためのアプリケーション104のタスクを容易にし、そのことは、視覚的に類似する文字に対する符号化の類似性に起因して、特定のビットが、特定の位置におけるストロークに一般的に対応することを、本質的に学習することができるからである。
【0018】
訓練
図2は、いくつかの実施形態による、符号化モデル106を生成するために予測ネットワーク202を訓練することの例を示す。サーバシステム102は、画像の入力を受信して、画像に対する分類を出力することができる予測ネットワーク202を使用する。画像の入力は、言語に対する文字の画像であり得る。分類は、文字に対して予測されるラベルであり得る。たとえば、予測ネットワーク202は、rainという単語に対するシンボルを受信して、雨というシンボルに対するラベルを出力する。
【0019】
図3は、いくつかの実施形態による、ラベルおよび画像の例を示す。画像は、異なる文書から切り取られてよく、文字の画像を含み得る。示すように、302-1~302-5において、言語に対する異なるシンボルが切り取られている。同じく、各画像の切取りに対して対応するラベルが、304-1~304-5などのように提供され得る。
【0020】
図2に戻って参照すると、予測ネットワーク202は、ラベルを用いて画像の切取りを分類するように訓練される。画像の入力および対応するラベルは、符号化が生成される言語の文字を含むいくつかの文書から受信される。文書は、言語内のすべての文字または大量の文字を含み得る。いくつかの実施形態では、ラベルは、ユーザまたは機械によって提供されてよく、画像の切取りの中の文字に対して正しいラベルである。たとえば、文書のセットは、標準中国語の言語で書かれてよく、光学式文字認識エンジンを文書に適用した結果は、各文字のロケーションおよび文字に対するラベルを示す。代替的に、レンダリングされる検索可能な文書が、言語内の任意の文字から生成されてよく、レンダラは、各文字に対するロケーションおよび識別情報を自動的に知り得る。
【0021】
図4は、いくつかの実施形態による、予測ネットワーク202を訓練するための方法の簡略化されたフローチャート400を示す。402において、サーバシステム102は、文字を有する文書を取り出す。404において、サーバシステム102は、文字の画像を抽出する。406において、サーバシステム102は、文字に対するラベルを生成する。
【0022】
408において、サーバシステム102は、文字の画像の切取りを対応する文字ラベルに分類するために、予測ネットワーク202を訓練する。K個の一意の文字が存在してよく、それゆえ、予測ネットワーク202の出力は、K個のクラスを有する分類タスクを実行する。すなわち、画像の切取りが与えられると、予測ネットワーク202は、分類に対応するインデックスにおける値を有する、次元Kのベクトルなどの値を出力し得る。たとえば、言語内の各文字は、次元Kのベクトルと関連付けられ得る。次いで、予測ネットワーク202の出力は、文字に対するベクトルのうちの1つに対応し得る。この文字は、画像に対する分類である。
【0023】
いくつかの実施形態では、符号化の値は、分類に対する出力の値とは異なる。たとえば、符号化を取得するために、予測ネットワーク202は、固定の次元Nにおける符号化を出力するレイヤを含んでよく、次元Nは、2進符号化のターゲットの次元(たとえば、ビットの長さまたは数)と一致する。すなわち、符号化がそれぞれ10ビットであるならば、Nの値は「10」である。符号化を出力するレイヤは、分類を出力するレイヤとは異なってよい。たとえば、符号化を出力するレイヤは、予測ネットワーク202内の内部レイヤ(たとえば、中間表現)であってよく、分類を出力するレイヤは、予測ネットワーク202の出力レイヤまたは最後のレイヤであってよい。Nの値は、Kより著しく小さくてよく、そのことは、内部表現が、クラスの数よりもコンパクトであることを暗示する。
【0024】
図4に戻って参照すると、410において、訓練の後、サーバシステム102は、画像を予測ネットワーク202に入力し、各画像に対する予測ネットワーク202の、高密度レイヤ(以下で説明する)などのレイヤから符号化を計算する。次いで、412において、サーバシステム102は、文字に対する符号化を符号化モデル106に記憶する。
【0025】
予測ネットワーク
符号化は、種々のやり方で予測ネットワーク202から生成され得る。いくつかの実施形態では、予測ネットワーク202内のボトルネックレイヤなどのレイヤは、固定の次元Nにおける値を出力してよく、次元Nは、符号化のターゲットの次元と一致する。訓練の間、予測ネットワーク202内のパラメータは、画像に対するラベルを正確に予測するように調整される。たとえば、予測ネットワーク202は、画像に対する分類を出力し得る。次いで、予測ネットワーク202によって出力された分類は、ラベル304と比較され、予測ネットワーク202内のパラメータは、予測ネットワーク202がラベル304に基づいて画像に対する分類を正確に予測することができるように、訓練プロセスの間に調整される。
【0026】
図5は、いくつかの実施形態による、予測ネットワーク202のより詳細な例を示す。予測ネットワーク202は、画像の入力を受信して、それらの画像を処理するレイヤ502を含む。たとえば、画像の入力は、302-1~302-5の画像および他の画像であり得る。いくつかの実施形態では、レイヤ502は、画像内の特性を処理する、2次元(2D)の畳み込みレイヤであり得る。レイヤ502は、画像の特性上の動作を実行して画像の特性を分析するために、画像を処理し得る。これは、異なる寸法またはサイズのフィルタのレイヤを含んでよく、動作は、解像度、活性化関数などを低減するためのプーリング動作を含み得る。レイヤ502は、ベクトルに対して画像を平坦にするための平坦化レイヤも含む。
【0027】
レイヤ502は、いくつかの高密度レイヤも含み得る。高密度レイヤは、いくつかのフィルタ、活性化関数などを使用してベクトルを変換する。レイヤ502の種々の変化が認識され得る。
【0028】
高密度レイヤ504などの1つのレイヤ504は、符号化の次元に等しい次元Nの出力などの制約を有し得る。これは、高密度レイヤ504の出力が、符号化内の値の数に等しい次元Nのいくつかの値であり得ることを意味する。制約は、この高密度レイヤをボトルネックレイヤにする。なぜならば、高密度レイヤの出力は、N次元に制限される(たとえば、前のレイヤから低減される)からである。加えて、高密度レイヤ504は、その出力が0および1など、2つの値の間になることを強制する活性化関数などの関数を有し得る。いくつかの実施形態では、0と1との間の値を出力するシグモイド活性化関数が、使用され得る。それに応じて、高密度レイヤ504は、各画像に対して0と1との間のN個の値を出力し得る。
【0029】
出力レイヤ506は、次元Kを有する最後のレイヤであり得る。次元Kは、分類が決定されることを可能にする。たとえば、K次元は、確率分布を表すために合計が1となる非負の出力であり得る。出力の値は、言語内の文字の単一の分類に対応し得る。いくつかの実施形態では、Kの値は、Nの値より小さくてよい。高密度レイヤ504の表現は、データがコンパクト表現に圧縮されるボトルネックの役割を果たし得る。レイヤ504と506との間の処理ステップは、コンパクト表現の非コンパクト分類レイヤへの変換を可能にする。504内で、ネットワークは、類似する埋め込み(たとえば、ベクトル類似性)を用いて類似する画像(たとえば、ピクセル類似性)を表し得る。出力レイヤ506では、異なる文字からの画像は、互いに同様に類似する(類似しない)。
【0030】
予測ネットワーク202が訓練されると、次元Nを有する高密度レイヤ504から受信された値は、符号化モデル106内で符号化を生成するために使用され得る。いくつかの実施形態では、各文字に対する値は、2進符号化を作成するためにビットに離散化され得る。たとえば、サーバシステム102は、0.5より低い数を0の2進値に、0.5より高い数を「1」の2進値にマッピングし得る。他のしきい値も使用されてよく、または文字の画像に対する特定の次元による値の平均もしくはメジアンなどの他の手段も使用されてよい。
【0031】
他の変化が、符号化を生成するための訓練の間に使用され得る。たとえば、サーバシステム102は、結果が、正確に0または1になる方向にますますスキューされるように、高密度レイヤ504内の活性化関数を徐々に修正し得る。たとえば、その値は、ソフトマックス関数を適用する前に、増加する「温度」の値で乗算されてよい。これにより、より多くの値が0または1の方向にスキューされるにつれて、しきいの特定の値の重要性が低くなる。別の変化は、同じ文字が高密度レイヤ504内で同じ符号化を有するべきであることを強調するために、補助的損失項を追加する。サーバシステム102は、それらのK次元表現がどれほど異なるかに基づいて、訓練バッチ内部の任意の要素ペアに対する訓練の間にペナルティを追加し得る。L1またはL2の距離計算など、多くの差異の測定が使用され得る。
【0032】
それに応じて、理解され得るように、符号化モデル106は、出力レイヤ506でなく、高密度レイヤ504の出力から生成され得る。出力レイヤ506は、予測ネットワーク202が画像の文字を正確に予測するように、予測ネットワーク202の結果を認証するために使用される。この分類タスクは、レイヤ504内の埋め込みが区別可能であることを確実にし得る。
【0033】
符号化の例
図6は、いくつかの実施形態による、符号化の例を示す。602~612において示される符号化は、6つのシンボルに対する48次元の2進符号化であり得る。符号化の48個の値は、0または1の値として表され得る。1ビットに対する0の値は、スラッシュ記号がない場合であってよく、1ビットに対する1の値は、スラッシュ記号が含まれる場合である。シンボルに対して類似するビットパターンは、符号化が類似することを示す。たとえば、符号化602および604に対して、ビットの数は同様である。同じく、606および608における符号化は、610および612における符号化と同様に、いくつかの類似するビットを含む。
【0034】
図7は、いくつかの実施形態による、類似する2進コードを有するシンボルの例を示す。702において、602におけるシンボルに対して隣接する符号化が示される。この例では、そのシンボルに対して7つの隣接する符号化が示される。それぞれのシンボルについて、いくつかの数が、[7777778]として示される。これは、602におけるシンボルに隣接する第1のシンボルに対して7つのフリップビットまたは異なるビットがあり、602におけるシンボルに隣接する第2のシンボルに対して7つのフリップビットがあり、以下同様であることを意味する。シンボル604~612に対して704~712における隣接するラベルを有する各シンボルは、異なる数のフリップされたビットを含み得る。しかしながら、フリップされたビットの最大数は、48次元の中の11であり得る。
【0035】
結論
それに応じて、視覚的に類似する文字に基づく符号化を使用することで、アプリケーション104の性能が改善され得る。これは、生じ得るエラーの数を低減すると同時に、生じ得るエラーの影響も低減する。加えて、符号化モデル106を生成するためのアルゴリズムの訓練は、より速くかつより容易になり得る。
【0036】
例示的な実施形態
いくつかの実施形態では、方法は、コンピューティングデバイスによって、画像のセットをネットワークに入力するステップと、コンピューティングデバイスによって、画像のセットを文字のセット内の1つまたは複数の文字に分類することに基づいてネットワークを訓練するステップと、コンピューティングデバイスによって、レイヤの出力をいくつかの値に制限するネットワークのレイヤに基づいて1つまたは複数の文字に対する符号化のセットを取得するステップと、コンピューティングデバイスによって、1つまたは複数の文字に対する符号化のセットを記憶するステップとを含み、符号化のセット内の1つの符号化は、対応する文字が決定されるときに取り出し可能である。
【0037】
いくつかの実施形態では、文字のセット内の1つの文字は、1つまたは複数のグリフを含む。
【0038】
いくつかの実施形態では、文字のセット内の複数の文字は、同じグリフに基づく。
【0039】
いくつかの実施形態では、ネットワークを訓練することは、画像のセット内の1つの画像に対して1つの文字の出力を生成することと、文字の出力を、文字を画像に割り当てる画像に対するラベルと比較することとを含む。
【0040】
いくつかの実施形態では、ネットワークを訓練することは、その比較に基づいてネットワーク内の1つまたは複数のパラメータを調整することを含む。
【0041】
いくつかの実施形態では、符号化のセットを取得することは、レイヤの出力を固定の次元に制限することを含む。
【0042】
いくつかの実施形態では、固定の次元は、符号化のセット内の符号化の長さのターゲットの次元である。
【0043】
いくつかの実施形態では、固定の次元は、符号化のための機械可読数のシーケンスのうちの1つの数である。
【0044】
いくつかの実施形態では、符号化のセット内の1つの符号化は、2進数のシーケンスを含む。
【0045】
いくつかの実施形態では、類似するグリフを含む複数の文字は、同じ値を有する同じ位置にあるいくつかの値を有する類似する符号化を割り当てられる。
【0046】
いくつかの実施形態では、方法は、画像を受信するステップと、画像を文字に分類するステップと、文字に対応する符号化のセットから1つの符号化を選択するステップとをさらに含む。
【0047】
いくつかの実施形態では、レイヤは、ネットワーク内の内部レイヤである。
【0048】
いくつかの実施形態では、ネットワークは、分類を出力する内部レイヤの後の1つの出力レイヤを含む。
【0049】
いくつかの実施形態では、画像のセットは、言語からの文字である。
【0050】
いくつかの実施形態では、言語は、表語文字スクリプトに基づく。
【0051】
いくつかの実施形態では、非一時的コンピュータ可読記憶媒体は、コンピュータ実行可能命令を記憶しており、コンピュータ実行可能命令は、コンピューティングデバイスによって実行されるとき、画像のセットをネットワークに入力することと、画像のセットを文字のセット内の1つまたは複数の文字に分類することに基づいてネットワークを訓練することと、レイヤの出力をいくつかの値に制限するネットワークのレイヤに基づいて1つまたは複数の文字に対する符号化のセットを取得することと、1つまたは複数の文字に対する符号化のセットを記憶することとをコンピューティングデバイスが行うことを可能にさせ、符号化のセット内の1つの符号化は、対応する文字が決定されるときに取り出し可能である。
【0052】
いくつかの実施形態では、文字のセット内の複数の文字は、同じグリフに基づく。
【0053】
いくつかの実施形態では、符号化のセットを取得することは、レイヤの出力を固定の次元に制限することを含む。
【0054】
いくつかの実施形態では、類似するグリフを含む複数の文字は、同じ値を有する同じ位置にあるいくつかの値を有する類似する符号化を割り当てられる。
【0055】
いくつかの実施形態では、装置は、1つまたは複数のコンピュータプロセッサとコンピュータ可読記憶媒体とを備え、コンピュータ可読記憶媒体は、画像のセットをネットワークに入力することと、画像のセットを文字のセット内の1つまたは複数の文字に分類することに基づいてネットワークを訓練することと、レイヤの出力をいくつかの値に制限するネットワークのレイヤに基づいて1つまたは複数の文字に対する符号化のセットを取得することと、1つまたは複数の文字に対する符号化のセットを記憶することとを行うことが可能であるように1つまたは複数のコンピュータプロセッサを制御するための命令を含み、符号化のセット内の1つの符号化は、対応する文字が決定されるときに取り出し可能である。
【0056】
システム
図8は、一実施形態による、専用コンピューティング機械のハードウェアを示す。例示的なコンピュータシステム810を、
図8に示す。コンピュータシステム810は、バス805または情報を通信するための他の通信メカニズム、および情報を処理するためにバス805と結合されたプロセッサ801を含む。コンピュータシステム810は、たとえば、上記で説明した技法を実行するための情報および命令を含む、プロセッサ801によって実行されるべき情報および命令を記憶するためにバス805に結合されたメモリ802も含む。このメモリは、プロセッサ801によって実行されるべき命令を実行する間に、変数または中間情報を記憶するためにも使用され得る。このメモリの可能な実装形態は、限定はしないが、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、または両方であり得る。記憶デバイス803もまた、情報および命令を記憶するために設けられる。記憶デバイスの共通の形態は、たとえば、ハードドライブ、磁気ディスク、光ディスク、CD-ROM、DVD、フラッシュメモリ、USBメモリカード、またはコンピュータがそこから読み出すことができる任意の他の媒体を含む。記憶デバイス803は、たとえば、ソースコード、2進コード、または上記の技法を実行するためのソフトウェアファイルを含み得る。記憶デバイスおよびメモリは、ともに、コンピュータ可読記憶媒体の例である。
【0057】
コンピュータシステム810は、情報をコンピュータのユーザに表示するために、陰極線管(CRT)または液晶ディスプレイ(LCD)などのディスプレイ812にバス805を介して結合され得る。キーボードおよび/またはマウスなどの入力デバイス811が、ユーザからプロセッサ801に情報およびコマンド選択を通信するために、バス805に結合される。これらの構成要素の組み合せは、ユーザがシステムと通信することを可能にする。いくつかのシステムでは、バス805は、複数の専用バスに分割され得る。
【0058】
コンピュータシステム810は、バス805と結合されたネットワークインターフェース804も含む。ネットワークインターフェース804は、コンピュータシステム810とローカルネットワーク820との間の双方向データ通信を提供し得る。ネットワークインターフェース804は、たとえば、電話回線を介してデータ通信接続を提供するデジタル加入者回線(DSL)またはモデムであり得る。ネットワークインターフェースの別の例は、互換性のあるローカルエリアネットワーク(LAN)へのデータ通信接続を提供するためのLAN
カードである。ワイヤレスリンクは、別の例である。任意のそのような実装形態では、ネットワークインターフェース804は、様々なタイプの情報を表すデジタルデータストリームを搬送する電気信号、電磁信号または光信号を送りかつ受信する。
【0059】
コンピュータシステム810は、ローカルネットワーク820、イントラネット、またはインターネット830を介してネットワークインターフェース804を通して情報を送りかつ受信することができる。インターネットの例では、ソフトウェア構成要素またはサービスは、ネットワークを介して複数の異なるコンピュータシステム810、クライアント815、またはサーバ831~835上に存在し得る。上記で説明したプロセスは、たとえば、1つまたは複数のサーバ上に実装され得る。サーバ831は、1つの構成要素からのアクションまたはメッセージを、インターネット830、ローカルネットワーク820、およびネットワークインターフェース804を通してコンピュータシステム810上の構成要素に伝送し得る。上記で説明したソフトウェア構成要素およびプロセスは、たとえば、任意のコンピュータシステム上に実装されてよく、ネットワークを介して情報を送りかつ/または受信する。
【0060】
いくつかの実施形態は、命令実行システム、装置、システム、もしくは機械によって、またはそれらに関連して使用するために、非一時的コンピュータ可読記憶媒体内に実装され得る。コンピュータ可読記憶媒体は、いくつかの実施形態によって説明される方法を実行するために、コンピュータシステムを制御するための命令を含む。コンピュータシステムは、1つまたは複数のコンピューティングデバイスを含み得る。命令は、1つまたは複数のコンピュータプロセッサによって実行されるとき、いくつかの実施形態において説明したものを実行するように動作可能であり得る。
【0061】
本明細書での説明において、および以下の特許請求の範囲を通して使用される「1つの(a)」、「1つの(an)」および「その(the)」は、文脈が別段に明確に示さない限り、複数の参照を含む。同じく、本明細書での説明において、および以下の特許請求の範囲を通して使用される「中に(in)」の意味は、文脈が別段に明確に示さない限り、「中に(in)」および「上に(on)」を含む。
【0062】
上記の説明は、様々な実施形態を、いくつかの実施形態の態様がどのように実装され得るかの例とともに示す。上記の例および実施形態は、唯一の実施形態である見なされるべきではなく、以下の特許請求の範囲によって定義されるいくつかの実施形態の柔軟性および利点を示すために提示される。上記の開示および以下の特許請求の範囲に基づいて、他の配置形態、実施形態、実装形態、および等価形態が、特許請求の範囲によって定義される本明細書の範囲から逸脱することなく採用され得る。
【符号の説明】
【0063】
100 システム
102 サーバシステム
104 アプリケーション
106 符号化モデル
202 予測ネットワーク
302-1 シンボル
302-2 シンボル
302-3 シンボル
302-4 シンボル
302-5 シンボル
304-1 ラベル
304-2 ラベル
304-3 ラベル
304-4 ラベル
304-5 ラベル
400 フローチャート
502 レイヤ
504 高密度レイヤ
506 出力レイヤ
800 通信システム
801 プロセッサ
802 メモリ
803 記憶デバイス
804 ネットワークインターフェース
805 バス
810 コンピュータシステム
811 入力デバイス
812 ディスプレイ
815 クライアント
820 ローカルネットワーク
830 インターネット
831 サーバ
832 サーバ
833 サーバ
834 サーバ
835 サーバ