(57)【要約】【課題】マルチタスク学習フレームワークおよびトレーニングを採用して、フォント分類を改善し、グリフ内容のクラス内変動により生じる好ましくない副作用を取り除くフォント認識システムを提供すること。【解決手段】たとえば、１つまたは複数の実施形態では、フォント認識システムは、２つ以上のフォント認識ニューラルネットワークおよび重み予測ニューラルネットワークを含むハイブリッドフォント認識ニューラルネットワークをトレーニングする。ハイブリッドフォント認識ニューラルネットワークは、ハイブリッドフォント認識ニューラルネットワーク内部のどちらのフォント認識ニューラルネットワークが入力テキスト画像内のフォントを識別するのに最適であるかに基づき、分類重みを決定し、生成する。トレーニングされたハイブリッドフォント認識ニューラルネットワークを採用することにより、フォント認識システムは、総合フォント認識を改善することができるだけではなく、多様なグリフ内容による好ましくない副作用を取り除くことができる。【選択図】図１
2019091434.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークをトレーニングしてデジタルフォントを分類するためのシステムであって、
メモリであって、
第１のグリフタイプを備える第１の複数のフォントトレーニング画像、および
第２のグリフタイプを備える第２の複数のフォントトレーニング画像
を備えるメモリと、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサにより実行されたとき、前記システムに、
前記第１のグリフタイプを備える前記第１の複数のフォントトレーニング画像を使用して、第１のフォント認識ニューラルネットワークをトレーニングして、デジタルフォントを分類させ、
前記第２のグリフタイプを備える前記第２の複数のフォントトレーニング画像を使用して、第２のフォント認識ニューラルネットワークをトレーニングして、前記デジタルフォントを分類させ、
前記第１のフォント認識ニューラルネットワーク、前記第２のフォント認識ニューラルネットワーク、および重み予測ニューラルネットワークを備えるハイブリッドフォント認識ニューラルネットワークをトレーニングして、前記第１および第２のフォント認識ニューラルネットワークの出力を組み合わさせる
命令を記憶する少なくとも１つの非一時的コンピュータ可読記憶媒体と
を備えるシステム。
【請求項２】
前記第１の複数のフォントトレーニング画像は、前記第２のグリフタイプをさらに備え、
前記第２の複数のフォントトレーニング画像は、前記第１のグリフタイプを備えず、
前記第１の複数のフォントトレーニング画像を、前記第２の複数のフォントトレーニング画像と別個に生成する、
請求項１に記載のシステム。
【請求項３】
前記命令は、前記システムに、入力デジタルフォントを備えるトレーニング画像を前記第１のフォント認識ニューラルネットワーク、前記第２のフォント認識ニューラルネットワーク、および前記重み予測ニューラルネットワークに提供することにより、前記ハイブリッドフォント認識ニューラルネットワークをさらにトレーニングさせる、請求項１に記載のシステム。
【請求項４】
前記命令は、
第１のフォント分類確率に基づき、前記入力デジタルフォントに関して前記第１のフォント認識ニューラルネットワークが生成した第１のフォント確率ベクトルを重み付けし、
第２のフォント分類確率に基づき、前記入力デジタルフォントに関して前記第２のフォント認識ニューラルネットワークが生成した第２のフォント確率ベクトルを重み付けし、
重み付き前記第１のフォント確率ベクトルおよび重み付き前記第２のフォント確率ベクトルを備えるハイブリッドフォント確率ベクトルの交差エントロピーフォント分類損失を最小にする
ことにより、前記システムに前記ハイブリッドフォント認識ニューラルネットワークをさらにトレーニングさせる、請求項３に記載のシステム。
【請求項５】
前記命令は、誤差逆伝播によって前記第１のフォント認識ニューラルネットワーク、前記第２のフォント認識ニューラルネットワーク、および前記重み予測ニューラルネットワークに前記交差エントロピーフォント分類損失を誤差損失フィードバックとして提供することにより、前記システムに前記ハイブリッドフォント認識ニューラルネットワークをさらにトレーニングさせ、
前記第１のフォント認識ニューラルネットワークおよび前記第２のフォント認識ニューラルネットワークに前記誤差損失フィードバックを小さな学習率で提供し、
前記重み予測ニューラルネットワークに前記誤差損失フィードバックを大きな学習率で提供する、
請求項４に記載のシステム。
【請求項６】
前記重み付け予測ニューラルネットワークは、前記第１のフォント分類確率および前記第２のフォント分類確率を備える２次元予測ベクトルを出力し、
前記第１のフォント分類確率および前記第２のフォント分類確率はそれぞれ、０〜１の間であり、
前記第１のフォント分類確率および前記第２のフォント分類確率は、合計して１になる、
請求項１に記載のシステム。
【請求項７】
前記第１のフォント認識ニューラルネットワークは、前記第１の複数のフォントトレーニング画像で分かったフォントの数に対応する多次元確率ベクトルを生成する、請求項１に記載のシステム。
【請求項８】
前記システムに、
第３のグリフタイプを備える第３の複数のフォントトレーニング画像を使用して、第３のフォント認識ニューラルネットワークをトレーニングして、デジタルフォントを分類させ、
前記第３のフォント認識ニューラルネットワークに基づき、前記ハイブリッドフォント認識ニューラルネットワークをさらにトレーニングさせる
命令をさらに備え、前記重み予測ニューラルネットワークは、前記第１のフォント認識ニューラルネットワーク、前記第２のフォント認識ニューラルネットワーク、および前記第３のフォント認識ニューラルネットワークに関する、合計して１になる確率を予測する、
請求項１に記載のシステム。
【請求項９】
前記第１のフォント認識ニューラルネットワークは、畳込みニューラルネットワークであり、
前記第１のフォント認識ニューラルネットワーク、前記第２のフォント認識ニューラルネットワーク、および前記重み予測ニューラルネットワークを備える前記ハイブリッドフォント認識ニューラルネットワークを、単一の交差エントロピーソフトマックス損失関数を使用してトレーニングする、
請求項１に記載のシステム。
【請求項１０】
前記少なくとも１つのプロセッサにより実行されたとき、前記システムに、
入力デジタルフォントを備える入力テキスト画像を受け取らせ、
前記トレーニングされたハイブリッドフォント認識ニューラルネットワークを使用して、前記入力デジタルフォントに関するハイブリッドフォント確率ベクトルを生成させ、
前記入力デジタルフォントの前記ハイブリッドフォント確率ベクトルに基づき、複数の既知のデジタルフォントから前記入力デジタルフォントを識別させ、
前記識別した入力デジタルフォントを提示させる
命令をさらに備える、請求項１に記載のシステム。
【請求項１１】
非一時的コンピュータ可読媒体であって、少なくとも１つのプロセッサにより実行されたとき、コンピュータシステムに、
入力デジタルフォントを備える入力テキスト画像を受け取らせ、
前記入力デジタルフォントに関して、第１のグリフタイプを備える第１の複数のフォントトレーニング画像を用いてトレーニングされた第１のフォント認識ニューラルネットワークを使用して決定される第１のフォント確率ベクトルを決定させ、
前記入力デジタルフォントに関して、第２のグリフタイプを備える第２の複数のフォントトレーニング画像を用いてトレーニングされた第２のフォント認識ニューラルネットワークを使用して決定される第２のフォント確率ベクトルを決定させ、
前記第１のフォント確率ベクトル、前記第２のフォント確率ベクトル、および１つまたは複数のフォント分類確率に基づき、前記入力デジタルフォントに関するハイブリッドフォント確率ベクトルを生成させ、
前記ハイブリッドフォント確率ベクトルに基づき、複数の既知フォントから前記入力デジタルフォントを識別させる
命令を記憶する非一時的コンピュータ可読媒体。
【請求項１２】
前記命令は、前記コンピュータシステムに、
第１のフォント分類確率に基づき、前記入力テキスト画像に関して前記第１のフォント認識ニューラルネットワークが生成した前記第１のフォント確率ベクトルを重み付けし、
第２のフォント分類確率に基づき、前記入力テキスト画像に関して前記第２のフォント認識ニューラルネットワークが生成した前記第２のフォント確率ベクトルを重み付けし、
重み付き前記第１のフォント確率ベクトルおよび重み付き前記第２のフォント確率ベクトルを組み合わせる
ことにより、前記入力デジタルフォントに関する前記ハイブリッドフォント確率ベクトルを生成させる、請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記第２のフォント分類確率は、１引く前記第１のフォント分類確率を備える、請求項１２に記載の非一時的コンピュータ可読媒体。
【請求項１４】
前記コンピュータシステムに、
前記入力デジタルフォントで書かれた前記入力テキスト画像内の複数のグリフを識別させ、
前記複数の識別されたグリフから識別されたグリフの不要部分を切り取らせ、
前記入力デジタルフォントで書かれた、前記不要部分を切り取られ識別されたグリフを、前記第１のフォント認識ニューラルネットワーク、前記第２のフォント認識ニューラルネットワーク、および前記１つまたは複数のフォント分類確率を生成する重み予測ニューラルネットワークに提供させる
命令をさらに備える、請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記入力デジタルフォントは日本語デジタルフォントである、請求項１１に記載の非一時的コンピュータ可読媒体。
【請求項１６】
電子文書を作成または編集するためのデジタル媒体環境で、デジタルフォントの画像を検索および識別するコンピュータ実装可能な方法であって、
テキスト画像を備える複数のトレーニング・フォント・セットを識別するステップであって、各トレーニング・フォント・セットは、異なるグリフタイプを備えるステップと、
第１のグリフタイプを備える第１の複数のフォントトレーニング画像を使用して、第１のフォント認識ニューラルネットワークをトレーニングして、デジタルフォントを分類するステップと、
第２のグリフタイプを備える第２の複数のフォントトレーニング画像を使用して、第２のフォント認識ニューラルネットワークをトレーニングして、デジタルフォントを分類するステップと、
トレーニングされた前記第１のフォント認識ニューラルネットワークがトレーニングされた前記第２のフォント認識ニューラルネットワークよりも所与のテキスト画像に関してよりよいフォント分類を出力する第１のフォント分類確率を予測する重み予測ニューラルネットワークをトレーニングするステップを遂行するステップと
を備える方法。
【請求項１７】
前記第１のフォント認識ニューラルネットワーク、前記第２のフォント認識ニューラルネットワーク、および前記重み予測ニューラルネットワークを組み合わせてハイブリッドフォント認識ニューラルネットワークにするステップをさらに備える、請求項１６に記載の方法。
【請求項１８】
前記重み予測ニューラルネットワークをトレーニングする前記ステップを遂行するステップは、前記第１のフォント認識ニューラルネットワークからの、前記所与のテキスト画像に関する第１の重み付きフォント分類損失、および前記第２のフォント認識ニューラルネットワークからの、前記所与のテキスト画像に関する第２の重み付きフォント分類損失を備えるフォント分類誤差損失を最小にするステップを備える、請求項１７に記載の方法。
【請求項１９】
前記ハイブリッドフォント認識ニューラルネットワークをトレーニングする前記ステップを遂行するステップは、前記第１のフォント認識ニューラルネットワーク、前記第２のフォント認識ニューラルネットワーク、および前記重み予測ニューラルネットワークに前記フォント分類誤差損失を提供するステップをさらに備え、
前記第１のフォント認識ニューラルネットワークおよび前記第２のフォント認識ニューラルネットワークに前記フォント分類誤差損失を小さな学習率で提供し、
前記重み予測ニューラルネットワークに前記フォント分類誤差損失を大きな学習率で提供する、
請求項１８に記載の方法。
【請求項２０】
入力デジタルフォントを備えるテキストの入力テキスト画像を受け取るステップと、
前記ハイブリッドフォント認識ニューラルネットワークを使用して、複数の既知のデジタルフォントから前記入力デジタルフォントを識別するステップと、
前記識別した入力デジタルフォントを提示するステップと
をさらに備える、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、マルチタスク学習フレームワークおよびトレーニングを採用して、フォント分類を改善し、グリフ内容のクラス内変動により引き起こされる好ましくない副作用を取り除くフォント認識システムに関する。
【０００２】
近年、電子文書の作成および編集に関してデジタルタイポグラフィの領域でコンピューティング機器を使用することが急速に普及するのを体験してきた。実際に、個人および企業がデジタルタイポグラフィを使用して、デスクトップコンピュータおよびラップトップコンピュータ、移動体機器、タブレット、スマートホン、または他のコンピューティング機器を利用して、カスタマイズされたウェブページ、電子メール、雑誌、宣伝広告材料、および他の電子文書を作成することは、今では普通である。
【背景技術】
【０００３】
デジタルタイポグラフィは、デジタルフォントの使用を含む。近年はまた、電子文書で利用するデジタルフォントのタイプおよび多様性が増大するのも体験してきた。たとえば、電子文書は、何千ものデジタルフォントの集合体から選択したデジタルフォントを使用することができる。さらに個人は、電子文書を作成するために使用するコンピューティング機器上で追加のデジタルフォントを苦もなく見つけ出し、アクセスし、インストールすることができる。
【０００４】
デジタルフォントの数の増加に伴い生じた主要な難題は、デジタルフォントを正しく検出し、認識する能力である。たとえば、個人は、文書または画像内のフォントを見て、同じフォントを電子文書で使用することを望む。したがって、文書または画像内のフォントは、それをユーザがデジタルフォントとして使用することができる前に、正しく識別されなければならない。一般に、デジタルフォントを検出し、認識できることは、電子文書を作成および編集するとき、個人の体験を大きく向上させることができる。
【０００５】
機械学習アルゴリズムを使用してフォントを認識するために、いくつかのフォント分類システムが最近開発されてきたが、これらの最近のフォント分類システムは、デジタルフォントのクラス内部のクラス内変動の領域（たとえば、同じフォントのグリフ間の変化）で依然として苦心している。この課題は、ローマ字を使用するグリフ（たとえば、語を構成する固有記号）に関して存在するが、課題の大きさは、他の言語で大きくなる。例証するために、ローマ字は、２６の異なるグリフを使用するが、日本語の文字は、５０，０００を超えるグリフを含む。他の言語もまた、何千ものグリフを含む。
【０００６】
日本語フォントの場合など、グリフの数が増えるにつれ、グリフ内容内部のクラス内変動の数も同様に増える。多くの場合、グリフの数のために、最近のフォント分類システムは、トレーニング中にあらゆるグリフを学習するわけではなく、それにより、この場合、誤分類および不正確な結果につながる。詳細には日本語フォントに伴う別の問題として、異なる日本語文字タイプ（たとえば、表意文字の漢字および音節を表すかな）の間の視覚的差異は著しく、２つのグリフスタイル間の大きな差異は、日本語フォント認識でクラス内変化問題をさらに大きくする。さらに、異なる日本語文字タイプ間の視覚的差異のために、最近のフォント分類システムは、日本語フォントを正しく認識し、分類するために、著しく多くのトレーニングサンプルをさらに必要とする。要するに、最近のフォント分類システムでさえ、日本語フォントを正しく識別するために必要な水準の汎化および精度を提供することができない。
【０００７】
さらに、フォントを分類するために機械学習アルゴリズムを採用する最近のフォント分類システムは、大量のメモリおよび計算要件を必要とする。詳細には、最近のフォント分類システムは、ニューラルネットワークを収束させて、正確なフォント特徴ベクトルおよびフォント確率ベクトルを識別するために、追加のメモリ、処理資源、および時間を必要とする。また、追加要件のために、最近のフォント分類システムは多くの場合、不安定である。さらに、これらの要件のために、クライアント機器は、詳細には移動体機器は、これらのニューラルネットワークを実行することができない。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
これらおよび他の課題は、既存のシステムおよび方法を使用して、特に非ローマ字フォント（たとえば、日本語フォント、中国語フォントなど）のデジタルフォントの検出および分類に関して存在する。
【課題を解決するための手段】
【０００９】
本開示の実施形態は、利益を提供し、および／または複数のディープ・ラーニング・ニューラル・ネットワークを動的に重み付けすることによりデジタルフォント（または、単に「フォント」）を効果的に認識するためのシステム、コンピュータ媒体、および方法を用いて当技術分野の、前述の課題または他の課題の１つまたは複数を解決する。たとえば、本開示のシステム、コンピュータ媒体、および方法は、最初に２つ以上のフォント認識ニューラルネットワークをトレーニングし、次いで、各フォント認識ニューラルネットワークが所与のテキスト画像を分類するのに最適な確率を動的に予測する重み予測ニューラルネットワークをトレーニングする。次いで、本開示のシステム、コンピュータ媒体、および方法は、重み付き予測を組み合わせて、フォントを識別する。総合的に、本明細書で開示するシステム、コンピュータ媒体、および方法は、グリフ内容のクラス内変動により生じる好ましくない副作用を、詳細には、トレーニングで十分に表されない、または分からないグリフを低減することにより、フォント認識精度を改善する。
【００１０】
より詳細には、本開示のシステムは、第１のグリフタイプを含む第１組のトレーニングテキスト画像を使用して、第１のフォント認識ニューラルネットワークをトレーニングして、フォントを分類する。さらに本開示のシステムは、第２のグリフタイプを含む第２組のトレーニングテキスト画像を使用して、第２のフォント認識ニューラルネットワークをトレーニングして、フォントを分類する。いくつかの実例では、第１組のトレーニングテキスト画像は、複数のグリフタイプ（たとえば、日本語の漢字とかなの両方のグリフ）を含む。本開示のシステムは、第１および第２のフォント認識ニューラルネットワークに関連して、第１のフォント認識ニューラルネットワークが第２のフォント認識ニューラルネットワークよりもトレーニングテキスト画像に関してよりよいフォント分類を出力する第１のフォント分類確率を予測する重み予測ニューラルネットワークをさらにトレーニングする。
【００１１】
トレーニングされると、ハイブリッドフォント認識ニューラルネットワーク（たとえば、トレーニングされた、第１のフォント認識ニューラルネットワーク、第２のフォント認識ニューラルネットワーク、および重み予測ニューラルネットワーク）は、入力フォント（たとえば、日本語のかなまたは漢字のグリフ）を含む入力テキスト画像を受け取ることができる。詳細には、入力に基づき、本開示のシステムは、第１のフォント認識ニューラルネットワークを使用して第１のフォント確率ベクトルを、第２のフォント認識ニューラルネットワークを使用して第２のフォント確率ベクトルを決定する。さらに、本開示のシステムは、重み予測ニューラルネットワークを採用して、第１のトレーニングされたフォント認識ニューラルネットワークが第２のトレーニングされたフォント認識ニューラルネットワークよりも入力フォントに関してよりよいフォント分類を出力する確率を示す第１のフォント分類確率を決定する。第１のフォント分類確率により重み付けられた第１のフォント確率ベクトル、および第２のフォント分類確率により重み付けられた第２のフォント確率ベクトルを使用して、本開示のシステムは、１組の既知フォントの中から入力デジタルフォントを示すハイブリッドフォント確率ベクトルを生成する。
【００１２】
以下の説明は、本開示のシステム、コンピュータ媒体、および方法の１つまたは複数の実施形態の特徴および利点をさらに示す。場合によっては、そのような特徴および利点は、この説明から当業者に明らかになるであろう、または本開示の実施形態を実施することにより学習されてもよい。
【００１３】
詳細な説明は、以下に簡潔に説明するように、添付図面を利用することによってさらに具体的かつ詳細に１つまたは複数の実施形態を提供する。
【図面の簡単な説明】
【００１４】
【図１】１つまたは複数の実施形態による、重み予測ニューラルネットワークを使用してハイブリッドフォント認識ニューラルネットワークをトレーニングするための一般的処理の図を示す。
【図２Ａ】１つまたは複数の実施形態による、重み予測ニューラルネットワークおよびフォント分類損失モデル・トレーニング・フォント・セットを使用してハイブリッドフォント認識ニューラルネットワークをトレーニングするステップを示す。
【図２Ｂ】１つまたは複数の実施形態による、重み予測ニューラルネットワークおよびフォント分類損失モデル・トレーニング・フォント・セットを使用してハイブリッドフォント認識ニューラルネットワークをトレーニングするステップを示す。
【図２Ｃ】１つまたは複数の実施形態による、トレーニングされたハイブリッドフォント認識ニューラルネットワークを採用して、入力テキスト画像内部のフォントを識別する図を示す。
【図３】１つまたは複数の実施形態による、ハイブリッドフォント認識ニューラルネットワークを使用してハイブリッドフォント確率ベクトルを動的に生成するための表を示す。
【図４】１つまたは複数の実施形態による、第１のトレーニングされたフォント認識ニューラルネットワークが第２のトレーニングされたフォント認識ニューラルネットワークよりも所与のテキスト画像に関してよりよいフォント分類を出力する第１のフォント分類確率を示す重み予測ニューラルネットワークをトレーニングするステップを遂行する活動を示す。
【図５】１つまたは複数の実施形態によるフォント認識システムの概略図を示す。
【図６】１つまたは複数の実施形態による、フォント認識システムを実装してもよい代表的環境の概略図を示す。
【図７Ａ】異なるグリフタイプの複数のグリフを含むサンプル入力テキスト画像を示す。
【図７Ｂ】１つまたは複数の実施形態による、ハイブリッドフォント認識ニューラルネットワークが図７Ａの同じ入力テキスト画像で動的重み付けグリフを決定することを示すグラフを示す。
【図８】１つまたは複数の実施形態による、重み予測ニューラルネットワークを使用して、ハイブリッドフォント認識ニューラルネットワークをトレーニングしてデジタルフォントを分類するための一連の活動の流れ図を示す。
【図９】１つまたは複数の実施形態による、トレーニングされたハイブリッド重み付きフォント認識ニューラルネットワークを使用して、入力テキスト画像内の入力フォントを識別するための一連の活動の流れ図を示す。
【図１０】本開示の１つまたは複数の実施形態を実装するための代表的コンピューティング機器の構成図を示す。
【発明を実施するための形態】
【００１５】
本開示は、マルチタスク学習フレームワークを採用して、フォント分類を改善し、グリフ内容のクラス内変動により引き起こされる好ましくない副作用を取り除くフォント認識システムの１つまたは複数の実施形態について説明する。詳細には、フォント認識システムは、重み予測ニューラルネットワークを使用してハイブリッドフォント認識ニューラルネットワークをトレーニングして、複雑なクラス内変化を有するグリフを伴うフォント（たとえば、かなおよび漢字の変化の混合物を有する日本語フォント）に関する総合的フォント認識を改善する。いくつかの実施形態では、フォント認識システムは、システムの初期化の役割を果たす一般的なグリフを認識するための第１の構成要素、特有のグリフタイプを認識するための第２の構成要素、ならびに第１および第２の構成要素の出力に対応する重みを予測するための第３の構成要素を含む３つの構成要素を含む。第１および第２の構成要素の出力を重み付けし、組み合わせて、最終フォント予測を形成することにより、フォント認識システムは、フォント認識能力を改善する。
【００１６】
例示するために、１つまたは複数の実施形態では、フォント認識システムは、第１のグリフタイプ（たとえば、日本語かなグリフ）を含む第１組のトレーニングテキスト画像を使用して、第１のフォント認識ニューラルネットワークをトレーニングしてフォントを分類する。さらに、フォント認識システムは、第２のグリフタイプ（たとえば、日本語漢字グリフ）を含む第２組のトレーニングテキスト画像を使用して、第２のフォント認識ニューラルネットワークをトレーニングしてフォントを分類する。さらに別の実施形態では、第１組のトレーニングテキスト画像は、複数のグリフタイプ（たとえば、日本語の漢字とかなの両方のグリフ）を含むが、その一方で、第２組のトレーニングテキスト画像は、第２のグリフタイプだけを含む。これらのさらに別の実施形態では、第１のフォント認識ニューラルネットワークは、より一般的な認識ネットワークであり、第２のフォント認識ニューラルネットワークは、特有の、または専用の認識ネットワークである。
【００１７】
第１および第２のフォント認識ニューラルネットワークをトレーニングすると、フォント認識システムは、重み予測ニューラルネットワークを含むハイブリッドフォント認識ニューラルネットワークを生成する。詳細には、１つまたは複数の実施形態では、フォント認識システムは、第１および第２のフォント認識ニューラルネットワークに基づき重み予測ニューラルネットワークをトレーニングして、第１のフォント認識ニューラルネットワークが第２のフォント認識ニューラルネットワークよりもトレーニングテキスト画像に関してよりよいフォント分類を出力する第１のフォント分類確率を予測する。いくつかの実施形態では、重み予測ニューラルネットワークはまた、第２のフォント認識ニューラルネットワークが第１のフォント認識ニューラルネットワークよりもトレーニングテキスト画像に関してよりよいフォント分類確率を出力する第２のフォント分類確率を予測する。
【００１８】
具体的には、１つまたは複数の実施形態では、ハイブリッドフォント認識ニューラルネットワーク内部で重み予測ニューラルネットワークをトレーニングするとき、フォント認識システムは、第１のフォント認識ニューラルネットワーク、第２のフォント認識ニューラルネットワーク、および重み予測ニューラルネットワークにトレーニングテキスト画像を提供する。第１および第２のフォント認識ニューラルネットワークはそれぞれ、フォントを分類し、かついくつかの既知フォントに対応する、フォント確率ベクトルを出力する。重み予測ニューラルネットワークは、第１および第２のフォント認識ニューラルネットワークに関する２つのフォント分類確率を含む２次元予測ベクトルを出力する。フォント認識システムは、第１のフォント分類確率により第１のフォント認識ニューラルネットワークからの第１のフォント確率ベクトルを重み付けする。フォント認識システムは、第２の分類確率により第２のフォント確率ベクトルを重み付けする。次いで、フォント認識システムは、重み付きの第１および第２のフォント分類確率ベクトルを組み合わせることによりハイブリッドフォント確率を生成する。
【００１９】
さらに、１つまたは複数の実施形態では、フォント認識システムは、ニューラルネットワークに分類誤差損失を戻して提供することにより、誤差逆伝播フィードバックおよびエンド・ツー・エンド学習を使用して、ハイブリッドフォント認識ニューラルネットワークをトレーニングする。たとえば、フォント認識システムは、フォント認識ニューラルネットワークがすでにトレーニングされているので、小さな学習率で誤差損失を提供して、フォント認識ニューラルネットワークを精密にトレーニング（すなわち、微調整）する。しかしながら、重み予測ニューラルネットワークは最初からトレーニングされているので、フォント認識システムは、重み予測ニューラルネットワークに大きな学習率で誤差損失を提供して、重み予測ニューラルネットワークが所与のテキスト画像に関してフォント認識ニューラルネットワークに対して正確なフォント分類予測を行うことを可能にする。
【００２０】
いくつかの実施形態では、ハイブリッドフォント認識ニューラルネットワークは、３つ以上のフォント認識ニューラルネットワークを含む。たとえば、ハイブリッドフォント認識ニューラルネットワークは、フォント認識ニューラルネットワークの間でフォント分類確率予測を比例して分割する、重み予測ニューラルネットワークに結合した任意の数のフォント認識ニューラルネットワークを含むことができる。また、含まれるフォント認識ニューラルネットワークの数とは無関係に、ハイブリッドフォント認識ニューラルネットワークは、単一のハイブリッドフォント確率ベクトルおよび単一のフォント分類損失モデルを使用してトレーニングする。
【００２１】
フォント認識システムはまた、トレーニングされたハイブリッドフォント認識ニューラルネットワークを使用して、入力テキスト画像内のフォントを識別する。たとえば、さまざまな実施形態では、フォント認識システムは、入力フォントを含む入力テキスト画像を受け取る。フォント認識システムは、入力テキスト画像を、第１のトレーニングされたフォント認識ニューラルネットワーク、第２のトレーニングされたフォント認識ニューラルネットワーク、およびトレーニングされた重み予測ニューラルネットワークに提供する。第１のトレーニングされたフォント認識ニューラルネットワークは、第１のフォント確率ベクトルを出力し、第２のトレーニングされたフォント認識ニューラルネットワークは、第２のフォント確率ベクトルを出力し、トレーニングされた重み予測ニューラルネットワークは、第１のフォント分類確率および第２のフォント分類確率で出力する。言及したように、第１のフォント分類確率は、第１のトレーニングされたフォント認識ニューラルネットワークが第２のトレーニングされたフォント認識ニューラルネットワークよりも入力フォントに関してよりよいフォント分類を出力する確率を示し、第２のフォント分類確率に関して逆もまた同様である。
【００２２】
さらに別の実施形態では、フォント認識システムは、第１のフォント確率ベクトル、第１のフォント分類確率、第２のフォント確率ベクトル、および第２のフォント分類確率に基づき、入力フォントに関するハイブリッドフォント確率ベクトルを生成する。いくつかの実施形態では、フォント認識システムは、１から第１のフォント分類確率を減算することにより第２のフォント分類確率を決定する。
【００２３】
ハイブリッドフォント確率ベクトルを使用して、フォント認識システムは、既知フォントの中から入力デジタルフォントを識別する。具体的には、さまざまな実施形態では、ハイブリッドフォント確率ベクトルは、入力フォントと１組の既知フォント内の各フォントとの間の適合確率を示し、その結果、フォント認識システムは、フォント確率ベクトルの中で最も高い適合確率を有する既知フォントとして入力フォントを識別する。フォント認識システムは、次に最も高い適合確率を有する既知フォントを類似フォント（たとえば、上位５つの適合フォント）として識別することができる。
【００２４】
すでに言及したように、フォント認識システムは、従来のシステムおよび方法よりも多くの利点および利益を提供する。一例として、フォント認識システムは、グリフ内容のクラス内変動により生じる好ましくない副作用を従来、欠点として持つフォント（たとえば、漢字およびかなを有する日本語フォント）をトレーニングし、識別する。詳細には、（異なるグリフタイプを有する異なる組のテキスト画像で最初にトレーニングする）複数の別個のフォント認識ニューラルネットワーク、および重み予測ニューラルネットワークを採用することにより、フォント認識システムは、ハイブリッドフォント認識ニューラルネットワークをトレーニングして、グリフ内容のクラス内変動の副作用を取り除く。具体的には、フォント認識システムは、一般的なフォント認識ネットワークおよび特有のフォント認識ネットワークを最初にトレーニングして、次いで、重み予測ニューラルネットワークを使用して、一般的なフォント認識ネットワークおよび特有のフォント認識ネットワークを組み合わせることにより、グリフ内容のクラス内変動の副作用を取り除くことが可能である。
【００２５】
さらに、別の例として、多くの実施形態では、フォント認識システムは、トレーニング・フォント・セットに含まれない入力テキスト画像内のテキストを正確に識別することにより、既知のシステムよりも向上した柔軟性を提供する。詳細には、重み予測ニューラルネットワークを採用することによって、グリフ内容により生じる好ましくない副作用を取り除いた結果、トレーニングされたハイブリッドフォント認識ニューラルネットワークは、より汎化されるようになり、それにより、フォント認識システムは、トレーニングステージで分からなかったグリフのフォントを正確に識別することが可能になる。これは、詳細には、トレーニング・フォント・セットが可能なグリフのわずかなパーセンテージ（たとえば、およそ１％）しか含まない場合があるので、可能なグリフの多様性が大きく数が多い言語（たとえば、日本語言語ではグリフは５０，０００を超える）を用いて作業するときに有利である。
【００２６】
以下でさらに説明するように、フォント認識システムは、テキスト画像からフォントを正確に識別することに関して、直接対決の評価で最新式フォント分類システムよりも性能が優れている。たとえば、フォント認識は、日本語の漢字とかなの両方のグリフを含んだ第１組のテキスト画像だけではなく、漢字グリフだけを含んだ第２組の試験セットのテキスト画像からフォントを識別する際の総合精度に関して、最新式フォント分類システムよりも性能が優れていた。実際に、フォント認識システムは、フォントを認識するだけではなく、正確な結果を作り出す、より汎化した能力を提供する。フォント認識システムの試験および評価の結果について、図７Ａおよび図７Ｂに関連して以下でさらに説明する。
【００２７】
さらに、多くのフォント分類システムと対照的に、本明細書で開示するフォント認識システムは、追加の情報またはラベルを必要とすることなくハイブリッドフォント認識ニューラルネットワークをトレーニングすることができる。詳細には、フォント認識システムは、フォント分類損失モデルと共に第１および第２のフォント認識ニューラルネットワークの出力を使用して、投票戦略または平均化戦略を採用する必要なく所与のテキスト画像に関するよりよいフォント分類をどちらのフォント認識ニューラルネットワークが出力するかに関する重み予測を動的かつ自動的に学習する。
【００２８】
他の利益として、フォント認識システムは、既知のシステムよりも、必要なメモリおよび計算要件を低減する。たとえば、最新式フォント分類システムが本明細書で開示するフォント認識システムに類似する結果を達成するためには、システムは、追加のトレーニング反復、著しくより大量のトレーニング・フォント・データ、および／またはメモリ記憶領域を必要とする。さらに、最新式フォント分類システムはまた、本明細書で開示するフォント認識システムに匹敵する結果を達成するニューラルネットワークをトレーニングするために追加時間を必要とする。さらに、最新式フォント分類システムは、時間および資源を増大させてさえ、本明細書で説明する１つまたは複数の実施形態と同じくらいロバストで安定したフォント認識ニューラルネットワークを作り出さない。
【００２９】
フォント認識システムのさらに別の利点および利益は、以下の説明を考慮して明らかになる。詳細には、１つまたは複数の図を参照してフォント認識システムの１つまたは複数の実施形態について以下で説明する。さらに、フォント認識システムの１つまたは複数の特徴について説明するために、以下の用語の規定を使用する。
【００３０】
本明細書で使用するとき、用語「テキスト画像」は、１つまたは複数のデジタルフォントで書かれたテキスト（すなわち、グリフ内容）を含む、任意のタイプの電子文書または電子ファイルを指す。たとえば、テキスト画像は、画像ファイル（永続的または一時的）、クリップボードファイル、ワードプロセッシング文書、ＰＤＦ（ｐｏｒｔａｂｌｅ  ｄｏｃｕｍｅｎｔ  ｆｉｌｅ）、電子メールファイル、テキストファイル、ウェブページ、または任意の他の電子ファイルの形をとる電子文書を含むことができる。テキスト画像は、公告、パンフレット、ちらし、書籍、雑誌、定期刊行物、または他の出版物などの物理的情報源に由来する可能性がある。
【００３１】
本明細書で使用するとき、用語「デジタルフォント」（または単に「フォント」）は、規定された１組のデジタル文字（たとえば、グリフ）を指す。詳細には，用語「フォント」は、特定のスタイルまたは書体のデジタル文字の集合体を含む。フォントは、．ｔｔｆ、．ｏｔｆ、．ｆｎｔ、．ａｂｆ、．ｔｔｃ、．ｓｕｉｔ、．ｗｏｆｆ、．ｖｎｆ、．ｔ６５、．ｓｆｐ、．ｓａｄ、．ｐｍｔ、．ｐｆｍ、．ｐｆｂ、．ｐｆａ、．ｏｄｔｆｆ、．ｍｆ、．ｇｄｒ、．ｆｏｎ、．ｆｎｔ、．ｆｏｎｔ、．ｅｔｘ、．ｅｏｔ、．ｃｏｍｐｏｓｉｔｅｆｏｎｔ、．ａｃｆｍ、．ａｆｍ、または．ａｍｆｍなどの拡張子を伴うデジタルファイルを含むが、それらに限定されない。たとえば、用語デジタルフォントは、Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎ、Ｈｅｌｖｅｔｉｃａ、Ａｒｉａｌ、ＰＴ  Ｓａｎｓ  Ｒｅｇｕｌａｒ、Ｃｏｒｂｅｌと呼ばれるフォント、または他のフォントタイトルを含む。
【００３２】
フォント特徴ベクトルによりフォントを表すことができる。本明細書で使用するとき、用語「フォント特徴ベクトル」（または単に「特徴ベクトル」）は、フォントの特性および属性を表す数値からなるベクトルを指す。詳細には、用語「特徴ベクトル」は、フォントの潜在的および／または特許に関する属性および特性に対応する１組の値を含む。１つまたは複数の実施形態では、特徴ベクトルは、フォントを表す多次元データセットである。１つまたは複数の実施形態では、特徴ベクトルは、ニューラルネットワークなどの機械学習アルゴリズムにより学習した１組の数値指標を含む。たとえば、特徴ベクトルは、グリフ曲率、グリフ間隔、グリフサイズ、グリフ形状、グリフ幅、グリフ高さ、グリフ位置（たとえば、並び線に対するグリフ位置）、グリフ面積、グリフ配向、グリフあたりの曲線の数、アーク長、グリフコントラスト、およびフォント分類特徴（たとえば、フォントを分類するのに利用されるフォント特徴）などのフォント・グリフ・データを含むことができる。さらに、特徴ベクトルは、フォントのフォントクラスおよびフォント特性に関する数値を提供することができる。いくつかの実施形態では、特徴ベクトルは特徴表現の一例であるので、用語特徴ベクトルおよび特徴表現を交換可能に使用する。
【００３３】
上記で説明したように、特徴ベクトルは、フォント分類（すなわち、フォントクラス）の数値表現およびフォント特性を提供することができる。本明細書で使用するとき、用語「フォント分類」は、フォントカテゴリおよび／またはフォント名を指し、デジタルフォントを分類するために利用する、事前に規定したカテゴリを含むことができる。たとえば、フォント分類は、フォントクラス（すなわち、Ｓｅｒｉｆ、Ｓａｎｓ  Ｓｅｒｉｆ、Ｓｌａｂ  Ｓｅｒｉｆ、Ｓｃｒｉｐｔ、Ｂｌａｃｋｌｅｔｔｅｒ、Ｍｏｎｏ、Ｈａｎｄ、またはＤｅｃｏｒａｔｉｖｅ）を含む。いくつかの実施形態では、用語「フォント特性」はまた、スタイル（たとえば、標準、太字、イタリック体、影付き、下線付き、取り消し線、下付き文字、上付き文字）、ウェート（たとえば、肉細活字体の、標準の、ボールド体のウェート）、幅（たとえば、コンデンスの、標準の、およびエキステンドの幅）、大文字使用スタイル（たとえば、すべて大文字、スモールキャピタル、先頭文字の大文字の指定、および文頭だけを大文字にする）、ｘハイト（たとえば、スモール、標準、ラージのｘハイト）、およびコントラスト（たとえば、低い、標準の、および高いコントラスト）などの、フォントに対応する属性を指す。
【００３４】
用語「フォント確率ベクトル」は、入力フォントと既知フォントの間の相関関係を提供する１組の値に対応する。詳細には、用語「フォント確率ベクトル」は、ｎ次元ベクトルを含み、ここで、ｎは、既知フォントの数に対応する。ｎ個の既知フォントごとに、フォント確率ベクトルは、入力フォントが既知フォントに適合する適合確率を含む。場合によっては、フォント分類器は、入力フォントに関して生成された特徴ベクトルと各既知フォントの特徴ベクトルを（たとえば、ベクトル空間距離に基づき）比較して、入力フォントと既知フォントの間の適合確率を決定することにより、フォント確率ベクトルを生成する。
【００３５】
さらに、用語「ハイブリッドフォント確率ベクトル」は、複数のフォント確率ベクトルの組合せに対応する。詳細には、用語「ハイブリッドフォント確率ベクトル」は、第１の重み付きフォント確率ベクトル、および少なくとも第２の重み付きフォント確率ベクトル（およびおそらくは追加の重み付きフォント確率ベクトル）を組み合わせることを指す。たとえば、１つまたは複数の実施形態では、ハイブリッド重みは合計して１（またはほぼ１）になる。このようにして、ハイブリッドフォント確率ベクトルは、複数のフォント認識ニューラルネットワークからの複数のフォント確率ベクトルの集計であるが、単一のフォント確率ベクトルの類似する総合重みを有する。このようにして、単一のフォント分類損失モデルと共にハイブリッドフォント確率ベクトルを使用して、１つまたは複数のニューラルネットワーク（たとえば、複数のフォント認識ニューラルネットワークだけではなく、重み予測ニューラルネットワーク）をトレーニングすることができる。
【００３６】
上述のように、重み予測ニューラルネットワークは、ハイブリッドフォント確率ベクトルで使用する各フォント確率ベクトルのフォント分類確率を予測することができる。本明細書で使用するとき、用語「フォント分類確率」は、ハイブリッドフォント認識ニューラルネットワーク内の所与のフォント認識ニューラルネットワークに関連する予測重みを指す。詳細には、重み予測ニューラルネットワークは、ハイブリッドフォント認識ニューラルネットワーク内のフォント認識ニューラルネットワークごとのフォント分類確率を含む予測ベクトルを出力する。実際に、フォント分類確率は、所与のフォント認識ニューラルネットワークがハイブリッドフォント認識ニューラルネットワーク内の他のフォント認識ニューラルネットワークよりも所与のテキスト画像をよりよく分類する（たとえば、入力デジタルフォントをより多くの場合に、および／またはより高い精度で正しく識別する）確率を示す。たとえば、ハイブリッドフォント認識ニューラルネットワークが、ｊのフォント認識ニューラルネットワークを含む場合、予測ベクトルは、ｊのフォント分類確率を含むｊ次元予測ベクトルである。さらに、予測ベクトルでのフォント分類確率は、合計して１に、すなわち１００％になることができる。
【００３７】
用語「機械学習」は、本明細書で使用するとき、データから学習し、データに関する予測を行うことができるアルゴリズムを構築し、実装する処理を指す。一般に、機械学習は、トレーニング・フォント・セットなどの代表例入力からモデルを構築して（たとえば、トレーニングして）データ駆動型予測または判定を行うことにより動作してもよい。いくつかの代表的実施形態では、機械学習は、共同特徴学習、またはトレーニング・フォント・セットからの特徴学習などの、データマイニングおよび統計的パターン認識のために使用される。
【００３８】
本明細書で使用するとき、用語「ニューラルネットワーク」は、入力に基づき調整して（たとえば、トレーニングして）未知の関数を近似することができる機械学習モデルを指す。詳細には、用語ニューラルネットワークは、モデルに提供された複数の入力に基づき通信し学習して複雑な関数を近似し、かつ出力を生成する、相互接続されたニューロンのモデルを含むことができる。たとえば、用語ニューラルネットワークは、１つまたは複数の機械学習アルゴリズムを含む。詳細には、用語ニューラルネットワークは、深層畳込みニューラルネットワーク（ｃｏｎｖｏｌｕｔｉｏｎａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）（すなわち、「ＣＮＮ」）を含むことができる。さらに、ニューラルネットワークは、１組のアルゴリズムを利用して、高水準のデータ抽象化をモデル化するディープラーニング技法を実装するアルゴリズム（または、１組のアルゴリズム）である。本明細書で使用するとき、ニューラルネットワークは、損失層内に回帰損失モデル（たとえば、フォント分類損失モデルまたはトリプレット損失モデル）を有するニューラルネットワークを指す。以下の説明および図は、一般にＣＮＮを指す。
【００３９】
本明細書で使用するとき、用語「損失関数」または「損失モデル」は、多次元ベクトル空間内の特徴ベクトルおよび／または確率ベクトル間の誤差損失を示す関数を指す。機械学習アルゴリズム（たとえば、ニューラルネットワーク）は、繰り返してトレーニングして、フォント分類誤差損失（たとえば、実際にトレーニングされたフォントに対してフォント分類がどれだけ正確か、または不正確か）を最小にする、および／または最大にすることができる。いくつかの実施形態では、フォント認識システムは、トレーニングの異なるステージで損失関数を採用する。損失関数の一例は、以下でさらに説明するように、交差エントロピー損失を用いるソフトマックスフォント分類器を使用するフォント分類損失モデルを含む。
【００４０】
次に、図を参照すると、図１は、ハイブリッドフォント認識ニューラルネットワークをトレーニングするための一般的処理１００の図を示す。たとえば、さまざまな実施形態では、フォント認識システムは、処理１００を実装して、別個のフォント認識ニューラルネットワークを最初にトレーニングする。フォント認識システムは、処理１００を実装して、最初にトレーニングされたフォント認識ニューラルネットワークの各々だけではなく重み予測ニューラルネットワークも含むハイブリッドフォント認識ニューラルネットワークを同じくトレーニングする。フォント認識システムを、１つもしくは複数のサーバ機器、１つもしくは複数のクライアント機器、またはサーバ機器とクライアント機器の組合せなどの１つまたは複数のコンピューティング機器により実装することができる。
【００４１】
最初に、図は、日本語のフォントおよびグリフ（たとえば、表意文字の漢字と音節を表すかなの文体の両方）に関してフォント認識システムについて説明する。フォント認識システムおよび図に関して説明する技法、動作、方法、および活動は、他のタイプのフォントおよびグリフに、詳細には、グリフ内容のクラス内変動の好ましくない副作用を欠点として持つフォントに適用されることが認識されよう。たとえば、本明細書で説明する活動技法、動作、方法、および活動は、以下でさらに説明するように、任意の組合せの言語で書かれたグリフを含むテキスト画像に関するフォントを分類すること（すなわち、多言語フォント認識システム）に関係がある可能性がある。
【００４２】
図１に示すように、フォント認識システムは、一般的なフォント認識ニューラルネットワークを生成する（１０２）。以下でさらに説明するように、ハイブリッドフォント認識ニューラルネットワーク内部で、フォント認識ニューラルネットワークは、畳込みニューラルネットワークまたは他のタイプの分類ニューラルネットワークとすることができる。１つまたは複数の実施形態では、複数のグリフセットまたはスタイルを使用して一般的なフォント認識ニューラルネットワークをトレーニングすることができる。たとえば、フォント認識システムは、漢字とかなの両方の日本語グリフの混合物に基づきフォントを分類するフォント認識ニューラルネットワークを生成し、トレーニングする。代わりの実施形態では、一般的なフォント認識ニューラルネットワークは、複数の異なる言語（たとえば、日本語および英語）からのグリフを含む。フォント認識システムは、以下でさらに説明するように、フォント分類損失モデルを採用して、一般的なフォント認識ニューラルネットワークをトレーニングすることができる。
【００４３】
一般的なフォント認識ニューラルネットワークをトレーニングする一部として、フォント認識システムは、第１組のトレーニングテキスト画像を生成することができる。たとえば、フォント認識システムは、漢字およびかなのグリフを使用して書かれた（または異なる言語からのグリフを使用して書かれた）さまざまな日本語フォントを含む１組の日本語フォントテキスト画像を生成する。フォント認識システムは、第１組のトレーニングテキスト画像の一部として、何千もの、または何百万ものテキスト画像を生成することができる。テキスト画像の生成および描画に関する説明について、図２Ａに関して以下でさらに提供する。
【００４４】
さらに、図１は、フォント認識システムが特有のフォント認識ニューラルネットワークを生成すること（１０４）を示す。たとえば、フォント認識システムは、単一のグリフセットまたはスタイルに基づきトレーニングされた特有のフォント認識ニューラルネットワークを生成する。たとえば、一般的なフォント認識ニューラルネットワークをトレーニングするために使用するグリフセットまたはスタイルの１つを使用して、特有のフォント認識ニューラルネットワークをトレーニングすることができる。たとえば、フォント認識システムは、漢字グリフを含むが、かなグリフを含まないトレーニングテキスト画像に基づき、特有のフォント認識ニューラルネットワークをトレーニングする（たとえば、漢字特有のフォント認識ニューラルネットワーク）。第１のトレーニングテキスト画像と同様に、フォント認識システムはまた、第２組のトレーニングテキスト画像を生成して、特有のフォント認識ニューラルネットワークをトレーニングすることができる。
【００４５】
一般的なフォント認識ニューラルネットワークおよび特有のフォント認識ニューラルネットワークをトレーニングすると、フォント認識システムは、図１に示すように、一般的なフォント認識ニューラルネットワークおよび特有のフォント認識ニューラルネットワークを重み予測ニューラルネットワークと組み合わせることにより、ハイブリッドフォント認識ニューラルネットワークをトレーニングする（１０６）。詳細には、フォント認識システムは、重み予測ニューラルネットワークを最初からトレーニングしながら、フォント認識ニューラルネットワークを微調整する。以下で詳述するように、フォント認識システムは、単一のフォント分類損失モデルを用いて、フォント認識ニューラルネットワーク（すなわち、一般的なおよび特有のもの）および重み予測ニューラルネットワークを同時にトレーニングすることができる。
【００４６】
トレーニングされたとき、ハイブリッドフォント認識ニューラルネットワークは、入力テキスト画像に関して、改善されたフォント分類を提供する。たとえば、かなまたは漢字の日本語グリフの１つまたは複数を含む入力テキスト画像を受け取ると、フォント認識システムは、一般的なフォント認識ニューラルネットワーク、特有のフォント認識ニューラルネットワーク、および重み予測ニューラルネットワークに入力テキスト画像を提供する。一般的なフォント認識ニューラルネットワークは、入力テキスト画像に関する第１のフォント確率ベクトルを出力する。同様に、特有のフォント認識ニューラルネットワークは、第２のフォント確率ベクトルを出力する。第１および第２のフォント確率ベクトルは、入力テキストのフォントが同じである、または異なることを示すことができる。
【００４７】
さらに、重み予測ニューラルネットワークは、第１のフォント分類確率（たとえば、第１の分類重み、すなわちｗ1）を含む２次元予測ベクトルを出力する。第１のフォント分類確率は、一般的なフォント認識ニューラルネットワークが特有のフォント認識ニューラルネットワークよりも入力テキスト画像内のフォントをよりよく分類する確率を示す。予測ベクトルはまた、第２のフォント分類確率（たとえば、第２の分類重み、すなわちｗ2）を含む。第２のフォント分類確率は、特有のフォント認識ニューラルネットワークが入力テキスト画像内のフォントをよりよく分類する確率を示す。
【００４８】
ハイブリッドフォント認識ニューラルネットワークは、第１の重み付きフォント確率ベクトルおよび第２の重み付きフォント確率ベクトルを含むハイブリッドフォント確率ベクトルを生成する。ハイブリッドフォント確率ベクトルを使用して、フォント認識システムは、入力テキスト画像で使用されたフォントを識別する。図２Ｂおよび図２Ｃに関連して、ハイブリッドフォント認識ニューラルネットワークについて以下でさらに説明する。
【００４９】
１つまたは複数の実施形態では、一般的なフォント認識ニューラルネットワークおよび特有のフォント認識ニューラルネットワークを生成するのではなく、フォント認識システムは、異なるグリフセットまたはスタイルに基づきトレーニングする、２つの特有のフォント認識ニューラルネットワークを生成することができる。たとえば、第１の特有のフォント認識ニューラルネットワークは、第１のタイプのグリフ（たとえば、漢字、ローマ字、日本語など）を排他的に用いてトレーニングすることができ、一方では、第２の特有のフォント認識ニューラルネットワークは、第２のタイプのグリフ（かな、日本語、中国語など）を排他的に用いてトレーニングする。
【００５０】
上述のように、図２Ａ〜図２Ｃは、ハイブリッドフォント認識ニューラルネットワークをトレーニングするためのより詳細な処理の図を示す。詳細には、図２Ａは、フォント分類損失モデルを使用して別個のフォント認識ニューラルネットワーク（たとえば、第１のフォント認識ニューラルネットワーク２１０および第２のフォント認識ニューラルネットワーク２２０）を最初にトレーニングするステップを示す。図２Ｂは、重み予測ニューラルネットワーク２４０を追加することによりハイブリッドフォント認識ニューラルネットワーク２３０を完全にトレーニングするステップを示す。図２Ｃは、トレーニングされたハイブリッドフォント認識ニューラルネットワーク２６０を採用して入力テキスト画像内のフォントを識別するステップを示す。
【００５１】
図に示すように、図２Ａは、第１のフォント認識ニューラルネットワーク２１０をトレーニングするために使用する第１組のテキスト画像２０２を含む。図２Ａはまた、第２のフォント認識ニューラルネットワーク２２０をトレーニングするために使用する第２組のテキスト画像２０４を示す。１つまたは複数の実施形態では、第１のフォント認識ニューラルネットワーク２１０は、複数のグリフスタイル（たとえば、漢字およびかなのグリフ）を使用してトレーニングされた一般的なフォント認識ニューラルネットワークである。さらに、第２のフォント認識ニューラルネットワーク２２０は、一般的なフォント認識ニューラルネットワークのグリフスタイルをすべて使用するのではなく１つまたは複数（たとえば、漢字グリフ）を使用してトレーニングされた特有のフォント認識ニューラルネットワークである。代わりの実施形態では、第１のフォント認識ニューラルネットワーク２１０および第２のフォント認識ニューラルネットワーク２２０は両方とも、すでに言及したように、単一のタイプのグリフを使用してトレーニングされた特有のフォント認識ニューラルネットワークである。
【００５２】
フォント認識システムがフォント認識ニューラルネットワークの各々をどのようにトレーニングするかを説明する前に、トレーニング用のいくつかの組のトレーニング画像を得る／生成することに関する詳細をさらに提供する。図に示すように、図１は、第１組のテキスト画像２０２および第２組のテキスト画像２０４を含む。第１組のテキスト画像２０２は、漢字とかなの両方のグリフから生成したテキスト画像を含む。第２組のテキスト画像２０４は、かなグリフから生成されるのではなく漢字グリフから生成されたテキスト画像を含む。いくつかの実施形態では、第２組のテキスト画像２０４は、第１組のテキスト画像２０２と一部重複するテキスト画像を含む。代わりの実施形態では、第１組のテキスト画像２０２および第２組のテキスト画像２０４を別個に生成する。
【００５３】
トレーニング用のいくつかの組のトレーニング画像（たとえば、第１組のテキスト画像２０２および第２組のテキスト画像２０４）を得るために、フォント認識システムは、テキスト画像を生成する、描画する、または他の方法で得ることができる。たとえば、フォント認識システムは、フォントと１つまたは複数のグリフ（たとえば、漢字および／またはかなのグリフ）をランダムに対形成して、多数のトレーニングテキスト画像を描画する。いくつかの実施形態では、フォント認識システムは、第１組のテキスト画像２０２および第２組のテキスト画像２０４のいずれかまたは両方に関するランダムなグリフ／フォントの組合せを表示する何百万ものトレーニングテキスト画像を描画する。
【００５４】
より具体的には、１つまたは複数の実施形態では、フォント認識システムは、５００の最も多く使用される日本語グリフ（たとえば、テキスト画像セットに応じて漢字およびかな、または漢字だけ）、上位２５％の最も多く使用される日本語グリフ、１０，０００のランダムに選択した日本語グリフ、または別のサブセット数のグリフなどの、グリフのサブセットから１つまたは複数のグリフをランダムに選択することによりテキスト画像を描画する。第１組のテキスト画像２０２内のテキスト画像については、フォント認識システムは、単一のテキスト画像内に漢字グリフとかなグリフの両方を選択し、書くことができることに留意されたい。さらに、フォント認識システムは、１つまたは複数のグリフを書くフォントを選択する。たとえば、フォント認識システムは、１つまたは複数のグリフを書く６００の日本語フォントの１つを選ぶ。選択したフォントで１つまたは複数の選択したグリフを書くと、フォント認識システムは、書かれたグリフをテキスト画像として描画し、描画したテキスト画像を１組のテキスト画像に追加する。
【００５５】
代わりのまたはさらに別の実施形態では、フォント認識システムは、テキスト画像からなる１つまたは複数の日本語フォント・トレーニング・セットを得る。たとえば、フォント認識システムは、フォントデータベースにローカルにまたは遠隔に記憶されたテキスト画像からなるトレーニング・フォント・セットをすでに作成していた。別の例では、フォント認識システムは、第三者のフォントリポジトリからトレーニング・フォント・セットを得る。フォント認識システムは、新しく描画されたテキスト画像と１つまたは複数のトレーニング・フォント・セットを組み合わせることができる。
【００５６】
さまざまな実施形態では、フォント認識システムは、１組のテキスト画像内のテキスト画像の中に偏差をランダムに導入する。たとえば、フォント認識システムは、雑音（たとえば、平均値ゼロおよび標準偏差３のわずかなガウス雑音）、ぼかし（たとえば、２〜４の間の標準偏差のランダムなガウスぼかし）、透視図回転（たとえば、ランダムにパラメータ化されたアフィン変換）、および／または濃淡（たとえば、入力背景を満たすランダムな勾配）をテキスト画像の一部の中にランダムに導入する。さらに、フォント認識システムは、テキスト画像に、可変文字間隔および／または可変縦横比の修正を追加することができる。各フォント認識ニューラルネットワークをトレーニングしている間の、これらの変化およびロバスト性もまた、トレーニングされたフォント認識ニューラルネットワークが、多くの場合、雑音を当然含有する実世界のテキスト画像をよりよく認識することを可能にする。
【００５７】
次に、フォント認識ニューラルネットワークのトレーニングに戻ると、フォント認識システムは、第１のフォント認識ニューラルネットワーク２１０および第２のフォント認識ニューラルネットワーク２２０を類似の手法でトレーニングすることができる。実際に、第１組のテキスト画像２０２（たとえば、かなおよび漢字のグリフ）は、第２組のテキスト画像２０４（たとえば、漢字グリフだけ）と異なるが、各フォント認識ニューラルネットワークをトレーニングするフォント認識システムの活動は、第１および第２のフォント認識ニューラルネットワークが両方とも同じニューラル・ネットワーク・タイプ（たとえば、畳込みニューラルネットワーク）からなるとき、似ている可能性がある。あるいは詳細には、第１および第２のフォント認識ニューラルネットワークが異なる分類ニューラルネットワークからなるとき、フォント認識システムは、異なる活動を使用してフォント認識ニューラルネットワークをトレーニングすることができる。説明を容易にするために、第１のフォント認識ニューラルネットワーク２１０のトレーニングに関して提供する説明を、第２のフォント認識ニューラルネットワーク２２０および／または追加のフォント認識ニューラルネットワークのトレーニングに同様に適用することができる。
【００５８】
図に示すように、第１のフォント認識ニューラルネットワーク２１０は、下位ニューラルネットワーク層２１２、上位ニューラルネットワーク層２１４、および損失層２１６を含む。損失層２１６は、第１のフォント分類損失モデル２１８を含む。１つまたは複数の実施形態では、下位ニューラルネットワーク層２１２は、フォントを特徴ベクトルに符号化する畳込み層である。上位ニューラルネットワーク層２１４は、特徴ベクトルを分類し、かつ第１のフォント確率ベクトルを出力する全結合層を備えることができる。これらの機能のために、下位ニューラルネットワーク層２１２は、集合的に符号化器と呼ばれ、上位ニューラルネットワーク層２１４は、集合的にフォント分類器と呼ばれる。いくつかの実施形態では、第１のフォント認識ニューラルネットワーク２１０は、ディープラーニング畳込みニューラルネットワークである。
【００５９】
フォント認識システムは、第１のフォント分類損失モデル２１８を使用して、第１のフォント認識ニューラルネットワーク２１０を最初にトレーニングすることができる。概観として、フォント認識システムは、フォント分類を生成するために使用する第１組のテキスト画像２０２に基づきパラメータを調整することにより、第１のフォント認識ニューラルネットワーク２１０を最初にトレーニングする。さらに、フォント認識システムは、第１のフォント分類損失モデル２１８を採用して、フォント分類の精度に基づきフィードバックを提供し、それにより、調整可能なパラメータを更新することが可能になる。より具体的には、フォント認識システムは、誤差損失フィードバックを使用して、下位ニューラルネットワーク層２１２および上位ニューラルネットワーク層２１４でフォント特徴抽出を調整して、入力トレーニング画像からのフォントを分類する。
【００６０】
例証するために、フォント認識システムは、第１組のテキスト画像２０２（たとえば、漢字とかなの両方のグリフ）を入力として提供して、第１のフォント認識ニューラルネットワーク２１０を最初にトレーニングすることができる。たとえば、１つまたは複数の実施形態では、フォント認識システムは、第１組のテキスト画像２０２内の各入力フォントに関する特徴ベクトルを生成するために使用するフォント特徴抽出パラメータを調整することにより、下位ニューラルネットワーク層２１２をトレーニングする。次いで、フォント認識システムは、生成した特徴ベクトルを上位ニューラルネットワーク層２１４に提供し、上位ニューラルネットワーク層２１４は、フォント分類パラメータに基づき、下位ニューラルネットワーク層２１２からの生成された特徴ベクトルと既知フォントの特徴ベクトル（たとえば、第１組のテキスト画像２０２内のフォントから学習した特徴ベクトル）を比較する。特徴ベクトル比較に基づき、上位ニューラルネットワーク層２１４は、フォント分類パラメータを採用して、特徴ベクトル比較に基づき入力フォントと既知フォントの各々との一致を示す第１のフォント確率ベクトルを生成する。
【００６１】
次に、フォント認識システムは、第１の分類損失モデル２１８に第１のフォント確率ベクトルを提供する。第１のフォント分類損失モデル２１８は、第１のフォント確率ベクトルで示された、識別されたフォントと、トレーニングテキスト画像で採用された実際のフォントを比較して、フォント分類誤差損失（または単に「誤差損失」）の量を決定する。実際に、フォント認識システムは、フォント分類損失モデルに第１のフォント確率ベクトルを提供して、フォント分類の精度および／または誤差損失を決定することができる。いくつかの実施形態では、第１のフォント分類損失モデル２１８は、ソフトマックス交差エントロピー損失フォント分類器および／または平均２乗誤差計算を採用して、フォント分類損失の量を決定する。たとえば、第１のフォント分類損失モデル２１８は、第１のフォント確率ベクトルが、学習した特徴空間内部で入力フォントに対応するフォント特徴からしきい値距離を超えるとき、および／または第１のフォント確率ベクトルが入力フォントからしきい値距離をどの程度まで超えるか（たとえば、誤差損失）を識別する。
【００６２】
次いで、誤差損失を使用して、第１のフォント認識ニューラルネットワーク２１０のニューラルネットワーク層をトレーニングし、最適化して、フォント認識システムは、誤差逆伝播およびエンド・ツー・エンド学習を採用して、第１のフォント認識ニューラルネットワーク２１０の層内部の特徴抽出パラメータを調整することができる。たとえば、１つまたは複数の実施形態では、フォント認識システムは、第１のフォント分類損失モデル２１８から誤差損失出力を受け取り、第１のフォント分類損失モデル２１８からの誤差損失が最小になるまで、誤差損失出力を下位ニューラルネットワーク層２１２および／または上位ニューラルネットワーク層２１４に戻して提供する。詳細には、第１のフォント分類損失モデル２１８は、下位ニューラルネットワーク層２１２にフィードバックを提供してフォント特徴抽出パラメータをさらに調整する、および／または上位ニューラルネットワーク層２１４にフィードバックを提供して、フォント分類パラメータをさらに調整する。このようにして、フォント認識システムは、テキスト画像からフォント特徴を抽出する１組の最良適合パラメータを学習するために、第１のフォント認識ニューラルネットワーク２１０を反復して（たとえば、約２０，０００回の反復）トレーニングし、対応する入力フォントを正確に分類する。
【００６３】
上述のように、いくつかの実施形態では、フォント認識システムは、上位ニューラルネットワーク層２１４を採用して、入力テキスト画像の入力フォントのフォント確率ベクトルを決定する。フォント確率ベクトルの一例として、第１組のテキスト画像２０２が６００のフォントを含む場合、上位ニューラルネットワーク層２１４は、０〜１の間（すなわち［０，１］）に及ぶ範囲のエントリを伴う６００次元のフォント確率ベクトルを出力する。フォント確率ベクトルの各次元は、入力フォントの特徴ベクトルと第１組のテキスト画像２０２内の各フォントの特徴ベクトルの間の一致（たとえば、ベクトル空間距離に基づく適合確率）を提供する。いくつかの実施形態では、フォント認識システムは、（たとえば、フォント特徴空間に）第１のフォント認識ニューラルネットワーク２１０の一部として各特徴ベクトルを記憶することができる。
【００６４】
上述のように、フォント認識システムは、類似の手法で第２のフォント認識ニューラルネットワーク２２０を最初にトレーニングすることができる。たとえば、フォント認識システムは、漢字グリフだけを含む第２組のテキスト画像２０４を採用して、下位ニューラルネットワーク層２２２でフォント特徴抽出パラメータを、上位ニューラルネットワーク層２２４でフォント分類パラメータをトレーニングする。次いで、フォント認識システムは、対応する構成要素および要素に関して上記で説明したように、第２のフォント認識ニューラルネットワーク２２０の損失層２２６内で第２のフォント分類損失モデル２２８を使用する。
【００６５】
フォント認識ニューラルネットワークを最初にトレーニングすると、第１のフォント認識ニューラルネットワーク２１０は、一般に漢字またはかなのグリフで書かれたテキスト画像に関するフォントを識別することができ、第２のフォント認識ニューラルネットワーク２２０は同様に、一般に漢字グリフで書かれたテキスト画像に関するフォントを識別することができる。しかしながら、最初にトレーニングされたフォント認識ニューラルネットワークは、多様なグリフ内容によるクラス内変動により生じる好ましくない副作用のために、多くのタイプのフォントに関して正確な結果を単独で作り出さない場合がある。たとえば、最初にトレーニングされたフォント認識ニューラルネットワークの各々は、トレーニングで分からなかったグリフの１つまたは複数をテキスト画像が含む場合、入力テキスト画像内のフォントを誤認する可能性が高い。さらに、第２のフォント認識ニューラルネットワーク２２０は、かなグリフのテキスト画像を分類することができない。
【００６６】
認識精度を改善し、フォント汎化を増大させるために、フォント認識システムは、第１のフォント認識ニューラルネットワーク２１０と第２のフォント認識ニューラルネットワーク２２０の両方を利用して、多様なグリフによるクラス内変動の好ましくない副作用を低減する、および／または取り除くフォント認識ニューラルネットワークを作成する。例証するために、図２Ｂは、第１のフォント認識ニューラルネットワーク２１０と第２のフォント認識ニューラルネットワーク２２０の両方を利用するハイブリッドフォント認識ニューラルネットワーク２３０を示す。さらに、ハイブリッドフォント認識ニューラルネットワーク２３０は、重み予測ニューラルネットワーク２４０を含む。
【００６７】
図に示すように、重み予測ニューラルネットワーク２４０は、下位ニューラルネットワーク層２４２および上位ニューラルネットワーク層２４４を含む。１つまたは複数の実施形態では、重み予測ニューラルネットワーク２４０は、畳込みニューラルネットワークであり、そこでは、下位ニューラルネットワーク層２４２は、畳込み層であり、上位ニューラルネットワーク層２４４は、全結合層である。さらに、重み予測ニューラルネットワーク２４０は、低次元確率ベクトル（たとえば、予測ベクトル２４６）を学習し、生成しているので、フォント認識ニューラルネットワークよりも一般に小さい。したがって、重み予測ニューラルネットワーク２４０は、フォント認識ニューラルネットワーク２１０、２２０よりも少ない層を含む畳込みニューラルネットワークとすることができる。
【００６８】
さらに、さまざまな実施形態では、重み予測ニューラルネットワーク２４０の下位ニューラルネットワーク層２４２は、特徴ベクトルを符号化し、上位ニューラルネットワーク層２４４は、第１のフォント分類確率２４８（第１のフォント認識ニューラルネットワーク２１０に対応する）および第２のフォント分類確率２５０（第２のフォント認識ニューラルネットワーク２２０に対応する）を含む２次元予測ベクトル２４６を生成する。詳細には、第１のフォント分類確率は、第１のフォント認識ニューラルネットワーク２１０が第２のフォント認識ニューラルネットワーク２２０よりも所与の画像内のフォントをよりよく分類する確率を示す。同様に、第２のフォント分類確率は、第２のフォント認識ニューラルネットワーク２２０が第１のフォント認識ニューラルネットワーク２１０よりも所与の画像内のフォントをよりよく分類する確率を示す。
【００６９】
フォント認識システムは、最初にトレーニングされた第１および第２のフォント認識ニューラルネットワークを使用してハイブリッドフォント認識ニューラルネットワーク２３０をトレーニングすることができる。たとえば、フォント認識システムは、第１のフォント認識ニューラルネットワーク２１０、第２のフォント認識ニューラルネットワーク２２０、および重み予測ニューラルネットワーク２４０の各々にテキスト画像２０６を提供する。テキスト画像２０６は、第１組のテキスト画像２０２、第２組のテキスト画像２０４、および／または新しく生成したテキスト画像からのテキスト画像を含むことができる。いくつかの実施形態では、テキスト画像２０６は、日本語グリフ（たとえば、漢字とかなの両方）のテキスト画像の混合である。いずれの場合にも、フォント認識システムは、重み予測ニューラルネットワークをトレーニングして、テキスト画像内部のグリフ内容に関する追加情報を必要とすることなく、所与のテキスト画像をどちらのフォント認識ニューラルネットワークが最もよく分類するかに関する、正確な予測を行うことができる。たとえば、フォント認識システムは、現在のテキストが、あるタイプのグリフか別のタイプのグリフかを認識するために光学式文字認識を遂行しない、または遂行する必要がない。
【００７０】
テキスト画像ごとに、上記で説明したように、第１のフォント認識ニューラルネットワーク２１０は、第１のフォント確率ベクトル２３２を生成し、第２のフォント認識ニューラルネットワーク２２０は、第２のフォント確率ベクトル２３４を生成する。さらに、重み予測ニューラルネットワーク２４０は、第１のフォント確率ベクトル２３２が第２のフォント確率ベクトル２３４よりもテキスト画像内のフォントをよりよく分類する確率を示す第１のフォント分類確率２４８を含む予測ベクトル２４６を生成する。
【００７１】
予測ベクトル２４６はまた、対立する第２のフォント分類確率２５０を含む。さまざまな実施形態では、重み予測ニューラルネットワーク２４０は、フォント確率ベクトルにランダムな値または所定の値（たとえば、２５／７５）を最初に割り当てる。トレーニングが継続するにつれ、重み予測ニューラルネットワーク２４０は、以下でさらに説明するように、所与のテキスト画像に関するフォント分類確率をより正確に予測できるように学習する。このようにして、フォント認識システムは、重み予測ニューラルネットワーク２４０をトレーニングして、テキスト画像内部のグリフ内容に関する追加のラベル情報または注釈を必要とすることなく、正確な予測に動的に到達する。
【００７２】
例証するために、フォント認識システムは、第１のフォント認識ニューラルネットワーク２１０、第２のフォント認識ニューラルネットワーク２２０、および重み予測ニューラルネットワーク２４０の出力に基づき、ハイブリッドフォント確率ベクトル２５２を最初に生成する。より具体的には、フォント認識システムは、第１のフォント分類確率２４８により第１のフォント確率ベクトル２３２を重み付けする。同様に、フォント認識システムは、第２のフォント分類確率２５０により第２のフォント確率ベクトル２３４を重み付けする。次いで、フォント認識システムは、２つの重み付き特徴ベクトルを組み合わせて、ハイブリッドフォント確率ベクトル２５２を生成する。第１のフォント分類確率２４８および第２のフォント分類確率２５０は合計して１になるので、ハイブリッドフォント確率ベクトル２５２は、単一のフォント確率ベクトルの形の、類似する総合重みを有する。ハイブリッドフォント確率ベクトル２５２の数値例を、図３に関して提供する。
【００７３】
さらに、フォント認識システムは、ハイブリッドフォント認識ニューラルネットワーク２３０の損失層２５４内部のフォント分類損失モデル２５６にハイブリッドフォント確率ベクトル２５２を提供する。フォント分類損失モデル２５６は、上記で説明したフォント分類損失モデルに類似する手法で動作する。たとえば、フォント分類損失モデル２５６は、所与のテキスト画像内のフォントとハイブリッドフォント確率ベクトル２５２で示された１つまたは複数のフォントの間のフォント分類誤差損失を決定する。したがって、フォント分類誤差損失は、第１のフォント確率ベクトル２３２からの重み付き誤差損失と第２のフォント確率ベクトル２３４からの重み付き誤差損失の混合物である（この場合、割り当てられた重みは、重み付き予測の精度に応じて、誤差損失を最小にする、または異常に大きくする）。
【００７４】
すでに説明したように、フォント認識システムは、ハイブリッドフォント認識ニューラルネットワーク２３０にフィードバックを提供する。たとえば、フォント分類損失モデル２５６は、第１のフォント認識ニューラルネットワーク２１０、第２のフォント認識ニューラルネットワーク２２０、および重み予測ニューラルネットワーク２４０にフィードバックを提供する。いくつかの実施形態では、フォント認識システムは、同じ学習率を使用して各ニューラルネットワークにフィードバックを提供する。
【００７５】
代わりの実施形態では、フォント認識システムは、異なる学習率を使用して各ニューラルネットワークにフィードバックを提供する。たとえば、第１のフォント認識ニューラルネットワーク２１０および第２のフォント認識ニューラルネットワーク２２０は、すでにトレーニングされているので、フォント認識システムは、フォント認識ニューラルネットワークのパラメータを微調整する小さな学習率（たとえば、１ｅ-6）で誤差損失を提供する。さらに、重み予測ニューラルネットワークは、初めてトレーニングされているので、フォント認識システムは、トレーニング中の重み予測ニューラルネットワークに大きな学習率（たとえば、１ｅ-3）で誤差損失を提供し、それにより、所与のテキスト画像をどちらのフォント認識ニューラルネットワークがよりよく分類するかをよりよく予測するようにフォント分類パラメータがより急速に調整される。実際に、重み予測ニューラルネットワーク２４０は、所与のテキスト画像をどちらのフォント認識ニューラルネットワークが最もよく分類するかに関して、正確な予測を行うのに最適なフォント分類パラメータを自動的に学習する。
【００７６】
フォント認識システムは、ハイブリッドフォント認識ニューラルネットワーク２３０がトレーニングされるまで、総合フィードバックおよび最適化サイクルを反復して繰り返すことができる。たとえば、ハイブリッドフォント認識ニューラルネットワーク２３０は、ニューラルネットワークが収束するまで、テキスト画像２０６を供給し、かつハイブリッドフォント認識ニューラルネットワーク２３０の層を最適化し続ける。詳細には、フォント認識システムは、重み予測ニューラルネットワーク２４０の予測精度が増大するにつれ、学習率をゆっくり低減することにより、重み予測ニューラルネットワーク２４０をトレーニングする。フォント認識システムは、ハイブリッドフォント確率ベクトルに基づきフォント分類損失モデル２５６で総合交差エントロピーフォント分類誤差損失が最小になったとき、および／またはハイブリッドフォント認識ニューラルネットワーク２３０が安定したとき、トレーニングを終了させることができる。
【００７７】
上述のように、ハイブリッドフォント認識ニューラルネットワーク２３０は、３つ以上のフォント認識ニューラルネットワークを含むことができる。たとえば、いくつかの実施形態では、ハイブリッドフォント認識ニューラルネットワーク２３０は、３つまたは４つのフォント認識ニューラルネットワークを含む。これらの実施形態では、重み予測ニューラルネットワーク２４０は、合計して１に、すなわち１００％になる３つまたは４つのフォント分類確率を含む３次元または４次元の予測ベクトルをそれぞれ生成する。このようにして、フォント認識システムは、フォント認識ニューラルネットワークの各々からの重み付きフォント確率ベクトルを組み合わせて、単一のフォント確率ベクトルの形の類似する総合重みを有するハイブリッドフォント確率ベクトル２５２を形成する。さらに、ハイブリッドフォント確率ベクトル２５２を使用して、フォント認識システムは、単一のフォント分類損失モデル２５６を使用して、重み予測ニューラルネットワーク２４０を自動的にトレーニングすることを含み、ハイブリッドフォント認識ニューラルネットワーク２３０をトレーニングすることができる。
【００７８】
トレーニングされると、フォント認識システムは、ハイブリッドフォント認識ニューラルネットワーク２３０を採用して、かなグリフと漢字グリフの両方を含む入力テキスト画像内のフォントを識別することができる。例示するために、図２Ｃは、トレーニングされたハイブリッドフォント認識ニューラルネットワーク２６０を示す。詳細には、トレーニングされたハイブリッドフォント認識ニューラルネットワーク２６０は、トレーニングされた第１のフォント認識ニューラルネットワーク２１０、トレーニングされた第２のフォント認識ニューラルネットワーク２２０、およびトレーニングされた重み予測ニューラルネットワーク２４０を含む。
【００７９】
図に示すように、フォント認識システムは、入力テキスト画像２０８を得る。たとえば、フォント認識システムは、入力テキスト画像２０８で使用されたフォントを識別するというユーザのリクエストを検出する。たとえば、フォント認識システムは、アプリケーション（たとえば、デスクトップまたは移動体のアプリケーション）内部の入力テキスト画像２０８のコピーを受け取る。入力テキスト画像２０８は、未知のフォントで書かれた１つまたは複数の未知の日本語グリフを含む可能性がある。
【００８０】
入力テキスト画像２０８を受け取ったことに応答して、フォント認識システムは、トレーニングされたハイブリッドフォント認識ニューラルネットワーク２６０を使用して、入力テキスト画像内のフォントを認識する。詳細には、フォント認識システムは、第１のフォント認識ニューラルネットワーク２１０、第２のフォント認識ニューラルネットワーク２２０、および重み予測ニューラルネットワーク２４０に入力テキスト画像２０８を提供する。第１のフォント認識ニューラルネットワーク２１０は、入力テキスト画像２０８内のフォントを分類し、第１のフォント確率ベクトル２３２を生成する。同様に、第２のフォント認識ニューラルネットワーク２２０は、入力テキスト画像２０８内のフォントを別個に分類し、第２のフォント確率ベクトル２３４を生成する。
【００８１】
フォント認識ニューラルネットワーク２１０、２２０の各々は、フォント確率ベクトルを生成する。論証するために、第１のフォント認識ニューラルネットワーク２１０は、入力テキスト画像２０８を受け取り、トレーニングされた（たとえば、調整された）フォント特徴抽出パラメータを使用して特徴ベクトルを生成する。生成した特徴ベクトルを使用して、第１のフォント認識ニューラルネットワーク２１０は、トレーニングされたフォント分類を使用して、第１のフォント確率ベクトル２３２を生成する。詳細には、第１のフォント認識ニューラルネットワーク２１０は、入力テキスト画像２０８内のフォントの特徴ベクトルと、トレーニングされたハイブリッドフォント認識ニューラルネットワーク２６０を使用して生成した既知フォントの特徴ベクトルを比較して、第１のフォント確率ベクトル２３２（たとえば、６００の既知フォントに基づく６００次元のフォント確率ベクトル）を生成する。
【００８２】
フォント認識ニューラルネットワークが確率ベクトルを生成することに加えて、重み予測ニューラルネットワーク２４０は、入力テキスト画像２０８内のフォントおよび／またはグリフに基づき予測ベクトル２４６を生成する。予測ベクトル２４６は、第１のフォント分類確率２４８および第２のフォント分類確率２５０を含む。上述のように、第１のフォント分類確率２４８は、第１のフォント確率ベクトル２３２が第２のフォント確率ベクトル２３４よりも入力テキスト画像２０８内のフォントをよりよく分類する予測確率を提供する。たとえば、第１のフォント分類確率２４８は、０％〜１００％の間の重さの確率である。同様に、第２のフォント確率ベクトル２３４は、第２のフォント確率ベクトル２３４が第１のフォント確率ベクトル２３２よりも入力テキスト画像２０８内のフォントをよりよく分類する対立する確率を示す。
【００８３】
生成したフォント確率ベクトルおよびフォント分類確率を使用して、フォント認識システムは、ハイブリッドフォント確率ベクトル２５２を生成する。たとえば、フォント認識システムは、対応するフォント分類確率により各フォント確率ベクトルを重み付けし、重み付きフォント確率ベクトルを一緒に組み合わせる。ハイブリッドフォント確率ベクトル２５２を使用して、フォント認識システムは、識別されたフォント２５８としてテキスト画像２０８内のフォントを識別する。上述のように、ハイブリッドフォント確率を作成する数値例を、図３に関して提供する。
【００８４】
いくつかの実施形態では、入力テキスト画像２０８内のフォントに関してフォント認識ニューラルネットワークにより生成された特徴ベクトルは、そのフォント認識ニューラルネットワークによりトレーニングされた既知フォントの特徴ベクトルと正確に適合するわけではない（たとえば、２つの特徴ベクトル間の距離は、ゼロよりも大きくなる）。さらに、既知フォントは、トレーニング・フォント・セット内のテキスト画像に出現する既知フォントごとの１つの特徴ベクトルなどの、フォント認識ニューラルネットワークに関して複数の特徴ベクトルを有する可能性がある。それに応じて、これらの実施形態では、特定のフォント認識ニューラルネットワークについて、フォント認識システムは、フォントに関する適合確率を生み出すとき、入力フォントの特徴ベクトルと既知フォントの平均特徴表現（すなわち、フォントに関する対応する特徴ベクトルを集めたもの）を比較する。詳細には、フォント認識システムは、入力フォントの特徴ベクトルから最も短い距離にある平均特徴表現を有する既知フォントを識別する。
【００８５】
識別されたフォント２５８を決定すると、フォント認識システムは、識別されたフォント２５８をユーザに提示することができる。たとえば、フォント認識システムは、識別されたフォント２５８をグラフィカル・ユーザ・インタフェース内部でユーザに提示する。１つまたは複数の実施形態では、フォント認識システムは、識別されたフォント２５８を使用して、入力テキスト画像２０８内のテキストを再現する。さまざまな実施形態では、フォント認識システムは、電子文書内部のテキストの一部分に、識別されたフォント２５８を自動的に適用する。
【００８６】
いくつかの実施形態では、フォント認識システムは、使用されているクライアント機器が、識別されたフォント２５８を有していないと判断する。そのような場合、フォント認識システムは、識別されたフォント２５８をユーザが得る（たとえば、ダウンロードする、購入する、インストールする、または他の方法で入手する）のを手伝うことができる。代わりの実施形態では、識別されたフォント２５８が、費用がかかり過ぎて入手できない場合、フォント認識システムは、より経済的な類似フォントをユーザに提供することができる。
【００８７】
同様に、１つまたは複数の実施形態では、フォント認識システムはまた、ユーザに類似フォントのリストを提供する。たとえば、フォント認識システムは、（たとえば、ハイブリッドフォント確率ベクトルで示される適合確率に基づき）入力テキスト画像２０８内の入力フォントに類似する１組の既知フォントから５つのフォントを識別する。いくつかの実施形態では、フォント認識システムは、入力フォントと同じフォントを識別することができないとき、最も近く適合する既知フォントを提供する。
【００８８】
上述のように、フォント認識システムは、トレーニング・フォント・セット（たとえば、第１組のテキスト画像２０２、第２組のテキスト画像２０４、テキスト画像２０６）または入力テキスト画像２０８などの入力テキスト画像を得ることができる。１つまたは複数の実施形態では、フォント認識システムは最初に、テキスト画像の不要部分を切り取り１つまたは２つのグリフにする。たとえば、フォント認識システムは、テキスト画像が複数のグリフを含むことを検出したとき、各グリフ、またはグリフの対の間の区切りを決定する。グリフの少なくとも１つについて、フォント認識システムは、第１のフォント認識ニューラルネットワークまたはハイブリッドフォント認識ニューラルネットワークなどのフォント認識ニューラルネットワークに提供される、より小さな、不要部分を切り取られたテキスト画像を生成する。一般に、テキスト画像内のグリフは、同じフォントで書かれるので、生成され不要部分を切り取られたテキスト画像のいずれかを使用して、テキスト画像で使用されたフォントをトレーニングする、または識別することができる。
【００８９】
いくつかの実施形態では、フォント認識システムは、複数のグリフを含むテキスト画像から、不要部分切り取られた複数のテキスト画像を生成する。これらの実施形態では、フォント認識システムは、不要部分を切り取られたテキスト画像の各々をフォント認識ニューラルネットワークに提供することができる。不要部分を切り取られた追加のテキスト画像は、トレーニングを強化する、または試験のために使用することができる。同様に、フォント認識システムは、不要部分を切り取られた追加のテキスト画像を使用して、テキスト画像内で認識されたフォントをさらに確認することができる。複数のグリフを伴うテキスト画像の一例を図７Ａに提供する。
【００９０】
次に、図３を参照すると、ハイブリッドフォント確率ベクトル生成に関する詳細をさらに提供する。詳細には、図３は、１つまたは複数の実施形態による、ハイブリッドフォント認識ニューラルネットワークを使用してハイブリッドフォント確率ベクトルを生成するための表３００を示す。図に示すように、表３００の列は、フォント３０２、第１のフォント確率ベクトル値３０４、第２のフォント確率ベクトル値３０６、第１のフォント分類確率値３０８、第２のフォント分類確率値３１０、およびハイブリッドフォント確率ベクトル値３１２を含む。
【００９１】
さらに別の関係については、トレーニングされたハイブリッドフォント認識ニューラルネットワーク２６０に関して表３００について説明する。たとえば、フォント認識システムは、トレーニングされたハイブリッドフォント認識ニューラルネットワーク２６０に入力テキスト画像２０８を提供する。トレーニングされたハイブリッドフォント認識ニューラルネットワーク２６０は、第１のフォント認識ニューラルネットワーク２１０、第２のフォント認識ニューラルネットワーク２２０、および重み予測ニューラルネットワーク２４０に入力テキスト画像を分配する。第１および第２のフォント認識ニューラルネットワークはそれぞれ、既知フォントおよびトレーニングされたフォントに関して入力テキスト画像２０８内のフォントを分類する（たとえば、第１のフォント分類確率ベクトル２３２および第２のフォント分類確率ベクトル２３４）。
【００９２】
図に示すように、表３００のフォント３０２は、ハイブリッドフォント認識ニューラルネットワークをトレーニングしたトレーニング・フォント・セットに含まれたフォントを含む。わかりやすくするために、フォント３０２に３つのフォントだけ（すなわち、フォントＡ、フォントＢ、およびフォントＣ）を含む。それに応じて、ハイブリッドフォント認識ニューラルネットワーク２６０をトレーニングして、３つのフォント３０２の１つで書かれたグリフ（たとえば、漢字またはかな）を含む入力テキスト画像２０８内のフォントを認識する。さらに、入力テキスト画像２０８内のフォントがフォント３０２の１つで書かれていない場合、１つまたは複数の実施形態では、トレーニングされたハイブリッドフォント認識ニューラルネットワーク２６０は、最も近いフォントを見つける、または代替形態では、フォントを識別することができなかったことを示す。
【００９３】
表３００に示すように、第１のフォント確率ベクトル値３０４は、入力テキスト画像２０８内のフォントに関して、第１のフォント認識ニューラルネットワーク２１０が出力した分類値を示す。第１のフォント確率ベクトル値３０４に示すように、第１のフォント認識ニューラルネットワーク２１０は、入力フォントが９５％でフォントＡに、５％でフォントＢに、および０％でフォントＣに適合することを示す。同様に、第２のフォント確率ベクトル値３０６に示すように、第２のフォント認識ニューラルネットワーク２２０は、入力フォントを４０％でフォントＡに、４０％でフォントＢに、および２０％でフォントＣに適合するとして分類する。
【００９４】
また、表３００に示すように、第１のフォント認識ニューラルネットワーク２１０および第２のフォント認識ニューラルネットワーク２２０は、同じ入力フォントに関して異なるフォント分類を作り出す。たとえば、入力フォントは、かなグリフであり、第１のフォント認識ニューラルネットワーク２１０は、かなと漢字の両方のグリフに関してトレーニングされる。そのようなものとして、第１のフォント認識ニューラルネットワーク２１０は、入力フォントをよりよく認識する。さらに、第２のフォント認識ニューラルネットワーク２２０は、かなグリフを用いてまったくトレーニングされず、その結果、入力フォントの分類に対してより確信がない。
【００９５】
表３００はまた、第１のフォント分類確率値３０８および第２のフォント分類確率値３１０を含む。上記で説明したように、重み予測ニューラルネットワーク２４０は、入力テキスト画像に基づき第１および第２のフォント認識ニューラルネットワークに対応するフォント分類確率を含む予測ベクトル２４６を決定する。表に示すように、第１のフォント分類確率値３０８は８０％であり、第２のフォント分類確率値３１０は２０％である。このようにして、入力テキスト画像に基づき、重み予測ニューラルネットワーク２４０は、第１のフォント認識ニューラルネットワーク２１０が第２のフォント認識ニューラルネットワーク２２０よりもよいフォント分類であることを予測する。たとえば、重み予測ニューラルネットワーク２４０は、テキスト画像内のグリフをかなグリフとして認識し、トレーニングに基づき、第１のフォント認識ニューラルネットワーク２１０が、かなグリフをしばしば正確に分類し、その一方で、第２のフォント認識ニューラルネットワーク２２０が、多くの場合かなグリフを誤認することを学習している。
【００９６】
代わりの例では、重み予測ニューラルネットワーク２４０は、入力テキスト画像内のグリフを漢字として認識する場合があり、第２のフォント認識ニューラルネットワーク２２０が、漢字で書かれたテキスト画像をよりよく分類すると判断する場合がある。しかしながら、重み予測ニューラルネットワーク２４０は、第１および第２のフォント認識ニューラルネットワークと共にトレーニングされるので、漢字グリフを検出することができ、第１のフォント認識ニューラルネットワーク２１０が、テキスト画像内のフォントをよりよく分類することを依然として予測する。換言すれば、重み予測ニューラルネットワーク２４０は、第１のフォント認識ニューラルネットワーク２１０が一般的なかなおよび漢字のグリフニューラルネットワークであり、かつ第２のフォント認識ニューラルネットワーク２２０が特有の漢字グリフニューラルネットワークであるにもかかわらず、特定の漢字グリフに関して、第１のフォント認識ニューラルネットワーク２１０がよりよいフォント分類であることを学習した。
【００９７】
上述のように、第１のフォント分類確率値３０８は８０％であり、第２のフォント分類確率値３１０は２０％である。そのようなものとして、フォント認識システムは、フォント３０２の各々に関して第１のフォント分類確率値３０８により第１のフォント確率ベクトル値３０４を重み付けして、重み付き第１のフォント確率ベクトル（すなわち、フォントＡ：０．９５×０．８０＝０．７６、フォントＢ：０．０５×０．８０＝０．０４、フォントＣ：０．０×０．８０＝０．０）を得ることができる。さらに、フォント認識システムは、フォント３０２の各々に関して第２のフォント分類確率値３１０により第２のフォント確率ベクトル値３０６を重み付けして、重み付き第２のフォント確率ベクトル（すなわち、フォントＡ：０．４０×０．２０＝０．０８、フォントＢ：０．４０×０．２０＝０．０８、フォントＣ：０．２０×０．２０＝０．０４）を得ることができる。
【００９８】
さらに、フォント認識システムは、フォント３０２の各々に関して第１の重み付きフォント確率ベクトルを第２の重み付きフォント確率ベクトルと組み合わせて、表３００に示すハイブリッドフォント確率ベクトル値３１２（すなわち、フォントＡ：０．７６＋０．０８＝０．８４、フォントＢ：０．０４＋０．０８＝０．１２、フォントＣ：０．０＋０．０４＝０．０４）を有するハイブリッドフォント確率ベクトル２５２を生成することができる。表に示すように、ハイブリッドフォント確率ベクトル値３１２は、入力フォントがフォントＡに最もよく一致することを示す。いくつかの実施形態では、フォント認識システムは、入力フォントが、しきい値（たとえば、７０％、８０％、９５％）を超えるフォント分類スコアで既知フォントに適合することを検証する。さらに別の実施形態では、フォント認識システムは、ハイブリッドフォント確率ベクトル値３１２から最も高いフォント分類スコアを伴う既知フォント（たとえば、８４％のフォントＡ）を、識別されたフォント２５８として提示する。注釈として、フォント確率ベクトルの各々は、フォント３０２の各々に関する分類値を組み合わせるとき、合計して１になる。図３の数値は、ハイブリッドフォント確率ベクトル値をどのように決定するかを例示するために提供され、実際の実験値ではないことを認識されよう。
【００９９】
図４は、第１のトレーニングされたフォント認識ニューラルネットワークが第２のトレーニングされたフォント認識ニューラルネットワークよりも所与のテキスト画像に関してよりよいフォント分類を出力する第１のフォント分類確率を予測する重み予測ニューラルネットワークをトレーニングするステップを遂行する一連の活動４００を示す。さまざまな実施形態では、本明細書で説明するフォント認識システムは、一連の活動４００を遂行する。いくつかの実施形態では、フォント認識システムは、サーバ機器により実装され、クライアント機器と一緒に一連の活動４００の１つまたは複数を遂行する。
【０１００】
図に示すように、一連の活動４００は、フォント認識システムがさまざまなグリフタイプの複数のトレーニング・フォント・セットを識別するステップ４０２を含む。たとえば、フォント認識システムは、フォントリポジトリにアクセスし、いくつかの日本語フォントを識別する。フォント認識システムは、識別した日本語フォントの一部またはすべてを選択することができる。さらに、フォント認識システムは、かなと漢字のグリフを両方とも含むいくつかの日本語グリフを選択する。さまざまな実施形態では、フォント認識システムは、かなおよび漢字のグリフを使用するテキスト画像からなるトレーニング・フォント・セットを生成し、かなまたは漢字のグリフだけを使用するテキスト画像からなるトレーニング・フォント・セットを生成し、日本語以外の言語のグリフを使用するテキスト画像からなるトレーニング・フォント・セットを生成し、および／またはローカルまたは遠隔のフォントデータベースから１つまたは複数のトレーニング・フォント・セットを得る。
【０１０１】
さらに、いくつかの実施形態では、フォント認識システムは、生成されたテキスト画像それぞれとメタデータを関連づける。たとえば、フォント認識システムは、各テキスト画像で使用されたフォントおよびグリフにラベルを付ける。上記で説明したように、フォント認識システムは、トレーニング中にメタデータを使用して、精度を決定し、フォント分類誤差損失を計測することができる。
【０１０２】
また、図に示すように、一連の活動４００は、フォント認識システムが第１および第２のフォント認識ニューラルネットワークを最初にトレーニングするステップ４０４を含む。これまで説明したように、フォント認識システムは、異なるトレーニング・フォント・セットに基づき第１および第２のフォント認識ニューラルネットワークを別個にトレーニングすることができる。たとえば、１つまたは複数の実施形態では、フォント認識システムは、第１のトレーニング・フォント・セットおよびフォント分類損失モデルを採用して、（たとえば、２０，０００回の反復を使用して）第１のフォント認識ニューラルネットワークをトレーニングする。同様に、フォント認識システムは、第２のトレーニング・フォント・セットおよびフォント分類損失モデルを採用して、第２のフォント認識ニューラルネットワークをトレーニングする。第２のトレーニング・フォント・セット内のグリフは、第１のトレーニング・フォント・セットに含まれるグリフのサブセットとすることができる。代わりに、第１および第２のトレーニング・フォント・セットは、すでに説明したように、別個のグリフタイプを含むことができる。
【０１０３】
すでに言及したように、さまざまな実施形態では、第１および第２のフォント認識ニューラルネットワークは、下位畳込み層および上位全結合層を伴う畳込みニューラルネットワークである。たとえば、第１のフォント認識ニューラルネットワークは、調整可能なフォント特徴抽出パラメータ（たとえば、重みおよびバイアス）を使用して第１のトレーニング・フォント・セット内のテキスト画像に基づき特徴ベクトルを生成する。さらに、フォント認識ニューラルネットワークは、生成した特徴ベクトルと既知フォントの特徴ベクトルを比較することにより、調整可能なフォント分類パラメータに基づきフォント確率ベクトルを生成する。代わりの実施形態では、第１のフォント認識ニューラルネットワークは、第２のフォント認識ニューラルネットワークと異なるタイプのニューラルネットワークである。
【０１０４】
図に示すように、一連の活動４００は、確率を予測する重み予測ニューラルネットワークをトレーニングするステップ４０６を含む。詳細には、フォント認識システムは、予測ベクトルを出力する重み予測ニューラルネットワークを生成する。各予測ベクトルは、フォント認識ニューラルネットワークが別のフォント認識ニューラルネットワークよりも所与のテキスト画像内のフォントをよりよく分類する確率を示すフォント分類確率を含む。
【０１０５】
重み予測ニューラルネットワークをトレーニングするために、１つまたは複数の実施形態では、フォント認識システムは、ハイブリッドフォント認識ニューラルネットワークを採用する。ハイブリッドフォント認識ニューラルネットワークは、トレーニングされた第１および第２のフォント認識ニューラルネットワークを重み予測ニューラルネットワークと組み合わせる（４０６ａ）。次いで、トレーニング・フォント・セット内のテキスト画像、および単一のフォント分類損失モデルを使用して、フォント認識システムは、重み予測ニューラルネットワークをトレーニングする。
【０１０６】
さまざまな実施形態では、ハイブリッドフォント認識ニューラルネットワークをトレーニングするために採用するトレーニングテキスト画像を、第１および／または第２のフォント認識ニューラルネットワークをトレーニングするために使用するトレーニング・フォント・セットから得る。代わりの実施形態では、トレーニング・フォント・セットは、未知の、ラベルの付いていない日本語グリフ（たとえば、漢字とかなの両方）を含む。フォント認識システムは、重み予測ニューラルネットワークをトレーニングして、この追加情報なしに所与のテキスト画像をどちらのフォント認識ニューラルネットワークが最もよく分類するかに関して正確な予測を行うことができる。
【０１０７】
上述のように、１つまたは複数の実施形態では、フォント認識システムは、トレーニング・フォント・セット内のトレーニング画像ごとにハイブリッドフォント確率ベクトルを決定する（４０６ｂ）。たとえば、フォント認識システムは、第１のフォント認識ニューラルネットワーク、第２のフォント認識ニューラルネットワーク、および重み予測ニューラルネットワークにトレーニングテキスト画像のコピーを提供する。第１および第２のフォント認識ニューラルネットワークは、上記で説明したように、テキスト画像内のフォントに関してフォントを個々に分類する第１および第２のフォント確率ベクトルを出力する。
【０１０８】
さらに、重み予測ニューラルネットワークは、トレーニングテキスト画像に関するフォント分類確率を有する予測ベクトルを出力する。すでに説明したように、重み予測ニューラルネットワークは最初にトレーニングされていないので、第１のフォント分類確率は、デフォルト確率またはランダム確率を割り当てられる。しかしながら、重み予測ニューラルネットワークは、トレーニングするとき、トレーニングテキスト画像に基づき、各フォント認識ニューラルネットワークにどちらの確率を動的に割り当てるべきかを学習する。
【０１０９】
例証するために、所与のトレーニングテキスト画像に関して、いくつかの実施形態では、フォント認識システムは、以下の式１に基づきハイブリッドフォント確率ベクトルを生成する。式１に示すように、Ｙは、入力テキスト画像Ｘに関するハイブリッドフォント確率ベクトルに対応する。さらに、ｗ1およびｗ2は、それぞれ第１および第２のフォント分類確率（たとえば、重み１および重み２）に対応する。さらに、Ｍ１およびＭ２は、それぞれ第１のフォント認識ニューラルネットワークの第１のフォント確率ベクトル、および第２のフォント認識ニューラルネットワークの第２のフォント確率ベクトル（たとえば、モデル１およびモデル２）に対応する。さらに、ｗ1およびｗ2は、０〜１の間に及ぶ範囲であり（すなわち、［０，１］）、一緒に合計して１またはほぼ１になる。換言すれば、ｗ2＝（１．０−ｗ1）である。
Ｙ（Ｘ）＝ｗ1Ｍ１（Ｘ）＋ｗ2Ｍ２（Ｘ）  （１）
【０１１０】
式１に示すように、フォント認識システムは、入力テキスト画像（すなわち、Ｘ）の第１のフォント確率ベクトル（すなわち、Ｍ１）に第１のフォント分類確率（すなわち、ｗ1）を適用することにより、第１の重み付きフォント確率ベクトルを決定する。同様に、フォント認識システムは、入力テキスト画像（すなわち、Ｘ）の第２のフォント確率ベクトル（すなわち、Ｍ２）に第２のフォント分類確率（すなわち、ｗ2）を適用することにより、第２の重み付きフォント確率ベクトルを決定する。次いで、フォント認識システムは、第１および第２の重み付きフォント確率ベクトルを組み合わせて、テキスト画像に関するハイブリッドフォント確率ベクトル（すなわち、Ｙ（Ｘ））を形成する。上記の図３は、フォント認識システムがハイブリッドフォント確率ベクトルを生成する数値的一例を提供する。
【０１１１】
式１に示すように、フォント認識システムは、第１および第２の重み付きフォント確率ベクトル間の一次結合（たとえば、加算）を採用して、ハイブリッドフォント確率ベクトルを形成する。代わりの実施形態では、フォント認識システムは、異なる組合せ技法を採用して、第１および第２の重み付きフォント確率ベクトルを一緒に融合させることによりハイブリッドフォント確率ベクトルを形成する。
【０１１２】
さらに、重み予測ニューラルネットワークをトレーニングするために、フォント認識システムは、ハイブリッドフォント確率ベクトルに基づきフォント分類損失を最小にする（４０６ｃ）。詳細には、フォント認識システムは、単一のフォント分類損失モデルにハイブリッドフォント確率ベクトルを提供する。１つまたは複数の実施形態では、フォント分類損失モデルは、交差エントロピー損失を採用して、従来の誤差逆伝播によりエンド・ツー・エンドの手法で総合モデルを調整するソフトマックス分類器である。たとえば、フォント分類損失モデルは、平均２乗誤差（ｍｅａｎ  ｓｑｕａｒｅ  ｅｒｒｏｒ、ＭＳＥ）を採用して、フォント分類損失を決定する。
【０１１３】
１つまたは複数の実施形態では、フォント認識システムは、フォント分類損失モデルを採用して、ハイブリッドフォント認識ニューラルネットワーク内部のさまざまなニューラルネットワークに同時フィードバックを提供する。たとえば、フォント分類損失モデルは、第１および第２のフォント認識ニューラルネットワークにフォント分類誤差損失を提供して、フォント特徴抽出パラメータをさらにトレーニングする。第１および第２のフォント認識ニューラルネットワークは最初にトレーニングされたので、フォント分類損失モデルは、対応するパラメータを微調整する小さな学習率（たとえば、１ｅ-6）を採用する。同時に、フォント分類損失モデルは、重み予測ニューラルネットワークにフォント分類誤差損失を提供して、正確なフォント分類パラメータを学習する。重み予測ニューラルネットワークは最初にトレーニングされていないので、フォント分類損失モデルは、重み予測ニューラルネットワークのパラメータを明確に（たとえば、より大まかにかつ急速に）調整する大きな学習率（たとえば、１ｅ-3）を採用する。
【０１１４】
例証するために、以下は、フォント分類損失モデルがフォント分類誤差損失を使用して、重み予測ニューラルネットワークをどのようにトレーニングするかの概念上の一例である。フォント認識システムは、フォント分類損失モデルにハイブリッドフォント確率ベクトルを提供する。ハイブリッドフォント確率ベクトルは、識別されたフォントがフォントＡであることを示す。フォント分類損失モデルは、フォントＡが実際に、対応するトレーニングテキスト画像で使用されたフォントであるかどうかを検証する。トレーニングテキスト画像がフォントＡを含む場合、フォント分類誤差損失は小さく、重み予測ニューラルネットワークにフィードバックはほとんど、またはまったく戻して提供されない。
【０１１５】
しかしながら、トレーニングテキスト画像が、フォントＡで書かれていない（たとえば、トレーニングテキスト画像がフォントＢを使用した）場合、フォント分類損失モデルは、ハイブリッドフォント確率ベクトルからのフォントＡに関する特徴ベクトルとフォントＢに関する既知の特徴ベクトルの間のベクトル空間距離（たとえば、誤差損失）を決定する。フォント分類損失モデルは、大きな学習率を適用し（たとえば、誤差損失を０．００１で除算する）、修正した誤差損失を重み予測ニューラルネットワークに提供する。誤差損失から、重み予測ニューラルネットワークは、フォント分類確率を誤って予測したことを学習し、それに応じて、フォント分類パラメータを調整する。フォント認識システムは、誤差損失が低減し始めるまで、同じトレーニングテキスト画像に関して処理を繰り返す。追加でまたは代わりに、フォント認識システムは、トレーニング・フォント・セット内の異なるトレーニングテキスト画像を用いて処理を繰り返す。さらに、総合損失が最小になり、かつ重み予測ニューラルネットワークが収束するまで、処理を反復して繰り返す。
【０１１６】
図４に示すように、一連の活動４００は、入力フォント（たとえば、漢字、かな、または両方の混合物）を含む入力テキスト画像を受け取るステップ４０８を含む。たとえば、ユーザは、フォント認識システムに未知のグリフの未知の入力フォントで書かれたテキストを含む画像を提供する。いくつかの実施形態では、入力テキスト画像は、メタデータをまったく伴わない単調な画像である可能性があり、フォント認識システムは、未知の入力フォントを含む入力画像の領域を識別する。別の例では、フォント認識システムは、テキスト画像内のフォントを識別するバッチ動作の一部などで、入力フォントを伴うテキスト入力ファイルを自動的に受け取る。
【０１１７】
図４に示すように、一連の活動４００は、フォント認識ニューラルネットワークを使用して、入力テキスト画像から入力フォントを識別するステップ４１０を含む。たとえば、フォント認識システムは、トレーニングされたハイブリッドフォント認識ニューラルネットワークに、入力フォントを伴う入力テキスト画像を提供する。それに応答して、ハイブリッドフォント認識ニューラルネットワークは、入力フォントに関する特徴ベクトルおよびハイブリッドフォント確率ベクトルを決定する。さらに、これまでに説明したように、フォント認識システムは、ハイブリッドフォント確率ベクトルから入力フォントを識別する。
【０１１８】
１つまたは複数の実施形態では、フォント認識システムは、サーバ機器上で入力フォントを識別する。たとえば、クライアント機器は、サーバ機器に入力テキスト画像（または表現するデータ）を提供し、サーバ機器は、識別した入力フォントをクライアント機器に戻して提供する。代わりの実施形態では、フォント認識システムは、クライアント機器上に少なくとも一部は常駐し、入力テキスト画像に関する特徴ベクトルおよび／またはフォント確率ベクトルを識別する（たとえば、サーバ機器は、トレーニングされたハイブリッドフォント認識ニューラルネットワークをクライアント機器に提供する）。
【０１１９】
さらに、１つまたは複数の実施形態では、フォント認識システムは、アプリケーションと一緒に機能して、入力テキスト画像内のフォントを受け取り、識別する。たとえば、ユーザは、ワードプロセッシングまたはグラフィックデザインのアプリケーションを使用しており、入力テキスト画像に表示されたフォントを使用するように要求する。それに応答して、フォント認識システムは、ハイブリッドフォント認識ニューラルネットワークを使用して入力テキスト画像内の入力フォントを識別し、識別したフォントをアプリケーション内部でユーザに戻して提供する。さらに、いくつかの実施形態では、フォント認識システムはまた、上記で説明したように、追加の類似フォントを提供する。
【０１２０】
次に、図５を参照すると、１つまたは複数の実施形態によるフォント認識システムの能力および構成要素に関する詳細をさらに提供する。詳細には、図５は、フォント管理システム５０２内部に配置され、かつコンピューティング機器５００上に収容されたフォント認識システム５０４の一例のアーキテクチャの概略図を示す。フォント認識システム５０４は、すでに説明したフォント認識システムの１つまたは複数の実施形態を表すことができる。
【０１２１】
図に示すように、フォント認識システム５０４は、コンピューティング機器５００上でフォント管理システム５０２内部に配置される。一般に、コンピューティング機器５００は、さまざまなタイプのクライアント機器を表してもよい。たとえば、いくつかの実施形態では、クライアントは、携帯電話、スマートホン、ＰＤＡ、タブレット、ラップトップなどのような移動体機器である。他の実施形態では、コンピューティング機器５００は、デスクトップもしくはサーバ、または別のタイプのクライアント機器などの非移動体機器である。いくつかの実施形態では、コンピューティング機器５００の一部分は、異なるタイプのコンピューティング機器に対応する（たとえば、いくつかの構成要素は、サーバ機器の役割を果たすとき、コンピューティング機器５００上で動作し、いくつかの構成要素は、クライアント機器の役割を果たすとき、コンピューティング機器５００上で動作する）。コンピューティング機器５００に関する詳細については、以下で、ならびに図１０に関連してさらに論じる。
【０１２２】
フォント管理システム５０２は、一般に電子文書および／またはシステムアプリケーション内部のデジタルフォントの作成、修正、共有、インストール、および／または削除を容易にする。たとえば、フォント管理システム５０２は、フォントデータベース５２０内など、コンピューティング機器５００上にフォントのリポジトリを記憶する。さらに、フォント管理システム５０２は、遠隔に配置された追加フォントにアクセスすることができる。さらに、いくつかの実施形態では、フォント管理システム５０２は、コンピューティング機器５００から分離して配置されて、コンピューティング機器５００にフォントを提供することができる。１つまたは複数の実施形態では、フォント管理システム５０２は、ＡＤＯＢＥ（登録商標）  ＴＹＰＥＫＩＴ（登録商標）を備える。
【０１２３】
さらに、フォント管理システム５０２は、１つまたは複数のアプリケーションと一緒に動作して、コンピューティング機器５００上にフォントを表示することができる。たとえば、１つまたは複数の実施形態では、フォント管理システム５０２は、ＡＤＯＢＥ（登録商標）  ＡＣＲＯＢＡＴ（登録商標）、ＡＤＯＢＥ（登録商標）  ＩＮＤＥＳＩＧＮ（登録商標）、または別のワード・プロセッシング・アプリケーションなどのワード・プロセッシング・アプリケーションにフォントを提供する。他の実施形態では、フォント管理システム５０２は、ＡＤＯＢＥ（登録商標）  ＩＬＬＵＳＴＲＡＴＯＲ（登録商標）などの設計アプリケーションにフォントを提供する。
【０１２４】
図５に示すように、フォント認識システム５０４は、さまざまな構成要素を含む。たとえば、フォント認識システム５０４は、フォントマネージャ５０６と、テキスト画像ジェネレータ５０８と、第１のフォント認識ニューラルネットワーク５１２、第２のフォント認識ニューラルネットワーク５１４、および重み予測ニューラルネットワーク５１６を含むハイブリッドフォント認識ニューラルネットワーク５１０と、フォント識別器５１８と、フォントトレーニング画像５２２およびフォント特徴ベクトル５２４を含むフォントデータベース５２０とを含む。次に、これらの構成要素の各々について、以下で説明する。
【０１２５】
フォントマネージャ５０６は、コンピューティング機器５００内部でフォントを記憶し、受け取り、検出し、インストールし、順序づけし、および／または組織化することができる。たとえば、１つまたは複数の実施形態では、フォントマネージャ５０６は、コンピューティング機器５００上に１組のフォントを記憶する。いくつかの実施形態では、フォントマネージャ５０６は、フォント管理システム５０２と共に、フォントデータベース５２０内部でフォントを維持する。たとえば、フォントマネージャ５０６は、ユーザが電子文書で採用することができる１組のフォント（たとえば、日本語フォント、および他の言語のフォント）を維持する。さらに他の例では、フォントマネージャ５０６は、フォントトレーニング画像５２２（たとえば、さまざまなグリフのいくつかの組のラベル付き、およびラベルの付いていないテキスト画像）を維持する。さまざまな実施形態では、フォントマネージャ５０６は、コンピューティング機器５００上に記憶されていない、または配置されていない追加フォントを識別し、それらにアクセスすることができる。たとえば、フォントマネージャ５０６は、複数の言語に対応するフォントをコンピューティング機器５００上に維持する。
【０１２６】
テキスト画像ジェネレータ５０８は、ハイブリッドフォント認識ニューラルネットワーク５１０をトレーニングするために使用するいくつかの組のテキスト画像を生成することができる。たとえば、テキスト画像ジェネレータ５０８は、すでに説明したように、ランダムに選択したフォントおよびグリフ（たとえば、漢字グリフだけ、かなグリフだけ、漢字およびかなのグリフ、他の言語のグリフ）からいくつかの組のテキスト画像を描画する。いくつかの実施形態では、テキスト画像ジェネレータ５０８は、生成したテキスト画像をフォントトレーニング画像５２２としてフォントデータベース５２０に記憶する。さらに、テキスト画像ジェネレータ５０８は、これまでに説明したように、トレーニングで使用するさまざまな組のテキスト画像にラベルを付ける、タグを付ける、または他の方法で注釈を付ける。
【０１２７】
図５に示すように、フォント認識システム５０４は、ハイブリッドフォント認識ニューラルネットワーク５１０を含む。ハイブリッドフォント認識ニューラルネットワーク５１０は、第１のフォント認識ニューラルネットワーク５１２、第２のフォント認識ニューラルネットワーク５１４、および重み予測ニューラルネットワーク５１６を含む。ニューラルネットワークの各々は、下位畳込み層および上位全結合層だけではなく、トレーニング中に損失層も含むことができる。
【０１２８】
いくつかの実施形態では、畳込み層符号化器特徴ベクトル（たとえば、フォント特徴ベクトルおよび／またはフォント分類特徴ベクトル）は、入力テキスト画像に基づく。さらに、畳込み層は、特徴ベクトルを生成するための、１つまたは複数の正規化層およびプーリング層を含むことができる。１つまたは複数の実施形態では、上位層は、生成された特徴ベクトルを解析し、分類する。たとえば、第１のフォント認識ニューラルネットワーク５１２および第２のフォント認識ニューラルネットワーク５１４は、上記で説明したように、多次元フォント確率ベクトルを出力するフォント分類器を含む。さらに、重み予測ニューラルネットワークは、これまでに説明したように、フォント分類確率を含む２次元予測ベクトルを出力するフォント分類分類器を含むことができる。
【０１２９】
１つまたは複数の実施形態では、フォント認識システム５０４は、ハイブリッドフォント確率ベクトルに基づきハイブリッドフォント認識ニューラルネットワーク５１０をトレーニングする。上記で説明したように、フォント認識システム５０４は、第１のフォント認識ニューラルネットワーク５１２および第２のフォント認識ニューラルネットワーク５１４からのフォント確率ベクトルを、重み予測ニューラルネットワークからのフォント分類確率と共に組み合わせて、ハイブリッドフォント確率ベクトルを形成する。ハイブリッドフォント確率ベクトルに基づき、フォント認識システム５０４は、ハイブリッドフォント認識ニューラルネットワーク５１０をトレーニングし、フォントを識別することができる。
【０１３０】
上述のように、さまざまな実施形態では、ニューラルネットワークは、トレーニング中に損失層を含む。たとえば、第１のフォント認識ニューラルネットワーク５１２および第２のフォント認識ニューラルネットワーク５１４はそれぞれ、最初にトレーニングしているとき、フォント分類損失モデルを採用する。さらに、ハイブリッドフォント認識ニューラルネットワーク５１０は、すでに説明したように、単一のフォント分類損失モデルを採用して、ハイブリッドフォント確率ベクトルに基づきトレーニングする。いずれの場合にも、ニューラルネットワークは、フォント分類損失モデルを使用して、フォント分類誤差損失を反復してトレーニングし、最小にすることができる。
【０１３１】
トレーニングされたハイブリッドフォント認識ニューラルネットワーク５１０は、入力テキスト画像内のそのフォントを識別するハイブリッドフォント確率ベクトルを提供することができる。たとえば、入力テキスト画像について、トレーニングされたハイブリッドフォント認識ニューラルネットワーク５１０は、第１のフォント認識ニューラルネットワーク５１２および第２のフォント認識ニューラルネットワーク５１４を使用して、２つのフォント確率ベクトルを生成する。フォント認識ニューラルネットワークの各々は、生成したフォント特徴ベクトルと（たとえば、フォントデータベース５２０に記憶された）既知フォントのフォント特徴ベクトル５２４を比較することにより、フォント確率ベクトルを作成することができる。さらに、トレーニングされたハイブリッドフォント認識ニューラルネットワーク５１０は、第１／第２のフォント認識ニューラルネットワークが第２／第１のフォント認識ニューラルネットワークよりも入力デジタルフォントに関してよりよいフォント分類を出力することを示す、第１および第２のフォント分類確率を含む予測ベクトルを生成する。フォント確率ベクトルおよびフォント分類確率に基づき、フォント認識システム５０４は、上記で説明したように、ハイブリッドフォント確率ベクトルを生成する。
【０１３２】
図に示すように、フォント認識システム５０４は、フォント識別器５１８を含む。フォント識別器５１８は、入力テキスト画像内部の入力フォントを受け取り、トレーニングされたハイブリッドフォント認識ニューラルネットワーク５１０を使用して入力フォントを識別することができる。詳細には、フォント識別器５１８は、ハイブリッドフォント認識ニューラルネットワーク５１０に入力テキスト画像を提供し、出力されたハイブリッドフォント確率ベクトルに基づき、入力テキスト画像内のフォントを識別する。さらにフォント識別器５１８は、識別したフォントを、たとえば入力テキスト画像を提出したユーザに提供する。
【０１３３】
フォント認識システム５０４の構成要素５０６〜５２４の各々は、ソフトウェア、ハードウェア、または両方を含むことができる。たとえば、構成要素５０６〜５２４は、コンピュータ可読記憶媒体に記憶され、かつクライアント機器またはサーバ機器などの１つまたは複数のコンピューティング機器のプロセッサにより実行可能な１つまたは複数の命令を含むことができる。１つまたは複数のプロセッサにより実行されたとき、フォント認識システム５０４のコンピュータ実行可能命令は、本明細書で説明する特徴学習法を１つまたは複数のコンピューティング機器に遂行させることができる。あるいは、構成要素５０６〜５２４は、ある種の関数、または関数のグループを遂行するための専用処理機器などのハードウェアを含むことができる。あるいは、フォント認識システム５０４の構成要素５０６〜５２４は、コンピュータ実行可能命令とハードウェアの組合せを含むことができる。
【０１３４】
さらに、フォント認識システム５０４の構成要素５０６〜５２４を、たとえば、１つもしくは複数のオペレーティングシステムとして、１つもしくは複数のスタンドアロンのアプリケーションとして、アプリケーションの１つもしくは複数のモジュールとして、１つもしくは複数のプラグインとして、１つもしく複数のライブラリ関数、または他のアプリケーションにより呼び出されてもよい関数として、および／またはクラウド・コンピューティング・モデルとして実装してもよい。したがって、構成要素５０６〜５２４を、デスクトップアプリケーションまたは移動体アプリケーションなどのスタンドアロンのアプリケーションとして実装してもよい。さらに、構成要素５０６〜５２４を、遠隔サーバ上にホスティングされた１つまたは複数のウェブに基づくアプリケーションとして実装してもよい。構成要素５０６〜５２４を、同じく一揃いの移動体機器アプリケーション、すなわち「ａｐｐ」に実装してもよい。例証するために、構成要素５０６〜５２４を、ＡＤＯＢＥ（登録商標）  ＴＹＰＥＫＩＴ（登録商標）、ＡＤＯＢＥ（登録商標）  ＩＮＤＥＳＩＧＮ（登録商標）、ＡＤＯＢＥ（登録商標）  ＡＣＲＯＢＡＴ（登録商標）、ＡＤＯＢＥ（登録商標）  ＩＬＬＵＳＴＲＡＴＯＲ（登録商標）、ＡＤＯＢＥ（登録商標）  ＰＨＯＴＯＳＨＯＰ（登録商標）、ＡＤＯＢＥ（登録商標）  ＣＲＥＡＴＩＶＥ  ＣＬＯＵＤ（登録商標）のソフトウェアを含むがそれらに限定されないアプリケーションに実装してもよい。「ＡＤＯＢＥ」、「ＩＮＤＥＳＩＧＮ」、「ＡＣＲＯＢＡＴ」、「ＩＬＬＵＳＴＲＡＴＯＲ」、「ＰＨＯＴＯＳＨＯＰ」、および「ＣＲＥＡＴＩＶＥ  ＣＬＯＵＤ」はいずれも米国および／または他の国々のＡｄｏｂｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃｏｒｐｏｒａｔｅｄの登録商標または商標である。
【０１３５】
図６は、１つまたは複数の実施形態に従ってフォント認識システム５０４を実装してもよい環境６００の概略図を示す。１つまたは複数の実施形態では、環境６００は、１つまたは複数のサーバ機器６０２および１つまたは複数のクライアント機器６０４ａ、６０４ｂを含むさまざまなコンピューティング機器を含む。さらに環境６００は、ネットワーク６０６を含む。ネットワーク６０６は、コンピューティング機器が通信することができる任意の適切なネットワークであってもよい。ネットワークの例を図１０に関して以下でより詳細に論じる。
【０１３６】
図６に示すように、環境６００は、図１０に関して以下で説明するコンピューティング機器の１つまたは複数などの任意のコンピューティング機器を備えてもよい１つまたは複数のサーバ機器６０２を含む。さらに１つまたは複数のサーバ機器６０２は、すでに説明したフォント管理システム５０２およびフォント認識システム５０４を含む。たとえば、上記で説明したように、フォント認識システム５０４は、ハイブリッドフォント認識ニューラルネットワークをトレーニングし、適用して、テキスト画像で使用されたフォント（たとえば、日本語フォント）を正確に識別することができる。
【０１３７】
さらに、環境６００は、１つまたは複数のクライアント機器６０４ａ、６０４ｂを含む。クライアント機器６０４ａ、６０４ｂは、図１０に関して以下で説明するコンピューティング機器などの任意のコンピューティング機器を備えてもよい。上記で説明したように、１つまたは複数のクライアント機器６０４ａ、６０４ｂは、トレーニングされたハイブリッドフォント認識ニューラルネットワークを採用して、入力テキスト画像内部のフォントを識別することができる。
【０１３８】
図示するように、１つまたは複数の実施形態では、１つまたは複数のサーバ機器６０２は、フォント認識システム５０４のすべてまたは一部分を含むことができる。詳細には、フォント認識システム５０４は、１つもしくは複数のサーバ機器６０２上で走るアプリケーション、または１つもしくは複数のサーバ機器６０２からダウンロードすることができるソフトウェアアプリケーションの一部分を備えることができる。たとえば、フォント認識システム５０４は、１つまたは複数のサーバ機器６０２上にホスティングされたコンテンツとクライアント機器６０４ａが対話することができるようにするウェブ・ホスティング・アプリケーションを含むことができる。例証するために、環境６００の１つまたは複数の実施形態では、クライアント機器６０４ａは、１つまたは複数のサーバ機器６０２がサポートするウェブページにアクセスする。詳細には、クライアント機器６０４ａは、１つまたは複数のサーバ機器６０２でホスティングされたウェブページまたはウェブサイト内部のテキスト画像のフォントにユーザがアクセスし、それを見て、選択し、および／または識別することができるようにするアプリケーションを走らせることができる（たとえば、ウェブページにより、ユーザは入力フォントを含むテキスト画像を提供し、入力フォントの識別を確実に受け取ることが可能になる）。
【０１３９】
図６は、１つまたは複数のサーバ機器６０２、クライアント機器６０４ａ、６０４ｂ、およびネットワーク６０６の特定の配置を示すが、さまざまな配置がさらに可能である。たとえば、図６は、ネットワーク６０６を介して１つまたは複数のサーバ機器６０２と通信する１つまたは複数のクライアント機器６０４ａ、６０４ｂを示すが、１つまたは複数の実施形態では、単一のクライアント機器が、ネットワーク６０６をバイパスして１つまたは複数のサーバ機器６０２と直接通信してもよい。
【０１４０】
同様に、さまざまな構成要素を有するとして図６の環境６００について描写しているが、環境６００は、追加のまたは代わりの構成要素を有してもよい。たとえば、フォント認識システム５０４を複数のコンピューティング機器上に実装することができる。詳細には、フォント認識システム５０４を１つまたは複数のサーバ機器６０２により全部実装してもよい、またはクライアント機器６０４ａにより全部実装してもよい。あるいは、フォント認識システム５０４を、（たとえば、１つまたは複数のサーバ機器６０２および１つまたは複数のクライアント機器６０４ａ、６０４ｂを利用して）複数の機器または構成要素にわたり実装してもよい。
【０１４１】
次に、図７Ａおよび図７Ｂを参照すると、フォント認識システムの実施形態のトレーニングおよび評価に関する詳細についてさらに提供する。詳細には、図７Ａは、異なるグリフタイプの複数のグリフを含むサンプル入力テキスト画像を示す。図７Ｂは、１つまたは複数の実施形態による、図７Ａの入力テキスト画像内のグリフに関する動的重みを決定するハイブリッドフォント認識ニューラルネットワークを示すグラフを示す。
【０１４２】
図７Ａは、トレーニングされたハイブリッドフォント認識ニューラルネットワークを試験するために使用する入力テキスト画像７１０を示す。入力テキスト画像７１０は、１０の日本語グリフを含む。グリフは、漢字およびかなのグリフの混合物を含む。たとえば、グリフ１〜４は漢字であり、グリフ５〜１０はかなである。入力テキスト画像７１０は、同じ文の中で漢字とかなの両方のグリフ使用することが日本語の書き物では一般的であるので、漢字およびかなのグリフの混合物を含む。
【０１４３】
トレーニングされたハイブリッドフォント認識ニューラルネットワークに入力テキスト画像７１０を提供すると、フォント認識システムは、入力テキスト画像７１０の不要部分を切り取って複数の正方形断片（たとえば、より小さな画像）にする。すでに言及したように、フォント認識システムは、入力テキスト画像の不要部分を切り取って、各画像が１つまたは複数のグリフを含む複数のより小さな画像にすることができる。いくつかの実施形態では、フォント認識システムは、トレーニングされたハイブリッドフォント認識ニューラルネットワークに不要部分を切り取った画像の１つを提供して、画像内のフォントを識別する。さらに別の実施形態では、フォント認識システムは、これまでに説明したように、さらにフォント認識を検証および／または試験するために、不要部分を切り取った追加画像をトレーニングされたハイブリッドフォント認識ニューラルネットワークに提供する。
【０１４４】
試験するために、入力テキスト画像７１０の不要部分を切り取って、各画像がグリフを含む１０のより小さな画像にする。漢字とかなのグリフの組合せに関してトレーニングされた一般的なフォント認識ニューラルネットワーク、および漢字グリフを使用してトレーニングされた特有のフォント認識ニューラルネットワークを含むトレーニングされたフォント認識ニューラルネットワークに１０の画像の各々を提供した。１０の画像ごとに、トレーニングされたハイブリッドフォント認識ニューラルネットワーク（たとえば、重み予測ニューラルネットワーク）は、第１のフォント分類確率（たとえば、ｗ1）および第２のフォント分類確率（たとえば、ｗ2）を含む予測ベクトルを出力する。上記で説明したように、第２のフォント分類確率は、特有のフォント認識ニューラルネットワークが一般的なフォント認識ニューラルネットワークよりも入力テキスト画像に関してよりよいフォント分類を出力する予測確率を示す。
【０１４５】
図７Ｂは、特有のフォント認識ニューラルネットワークに対応する１０の画像の各々に関する第２のフォント分類確率（すなわち、ｗ2）を示すグラフ７２０を示す。図に示すように、トレーニングされたハイブリッドフォント認識ニューラルネットワークの重み予測ニューラルネットワークは、漢字グリフ（たとえば、グリフ１〜４）を含む画像に関してより大きな予測する重みｗ2（すなわち、フォント分類確率）を予測する。実際に、トレーニングされたハイブリッドフォント認識ニューラルネットワークは、漢字グリフ（たとえば、グリフ１〜４）に関して一般的なフォント認識ニューラルネットワークよりも漢字特有のフォント認識ニューラルネットワークに対してより大きな予測する重みｗ2を予測する。
【０１４６】
同様に、ｗ1を別個のグラフで示していないが、ｗ2が低いとき、ｗ1は高い（すなわち、ｗ2＝１．０−ｗ1）。それに応じて、トレーニングされたハイブリッドフォント認識ニューラルネットワークは、非漢字グリフ（たとえば、グリフ５〜１０）に関して漢字特有のフォント認識ニューラルネットワークよりも一般的なフォント認識ニューラルネットワークに対して、より大きなｗ1重みを予測する。したがって、図７Ｂは、フォント認識システムが、漢字グリフを含む画像に関して、より大きな予測する重みを漢字特有のものに割り当て、漢字グリフなしの画像に関して逆もまた同様であることを示す。
【０１４７】
さらに、研究者は、最新式フォント分類システムと比較して、本明細書で説明する、トレーニングされたハイブリッドフォント認識ニューラルネットワークを評価した。詳細には、研究者は、正しく分類した（たとえば、正しいフォントを識別した）テストデータ（たとえば、試験するテキスト画像）の精度パーセンテージを計測することにより、ハイブリッドモデル（たとえば、トレーニングされたハイブリッドフォント認識ニューラルネットワーク）の有効性を評価した。さらに、研究者は、漢字とかなの両方のグリフでトレーニングされた最新式フォント分類システム（すなわち、一般的なモデル）、および漢字グリフでトレーニングされた最新式フォント分類システム（すなわち、漢字特有のモデル）に対して、同じテキストデータを試験した。以下の表１は、平均精度結果を示す。
【０１４８】
【表１】
2019091434.tif 000003
【０１４９】
表１に示すように、一般的なモデルに伴う総合認識精度は８９．１９％であり、その一方で、試験中に一般的なモデルに提供された漢字グリフのテキスト画像の精度は８２．６５％である。漢字特有のモデルについては、試験中に提供された漢字グリフのテキスト画像の精度は、一般的なモデルよりもはるかに高い９０．４２％である。ハイブリッドモデル（太字で示す）に関しては、ハイブリッドモデルは、総合精度をほぼ１％だけ改善する。さらに、ハイブリッドモデルは、漢字グリフのテキスト画像に関して一般的なモデルよりも７％超だけ性能が優れており（すなわち、ハイブリッドモデル：９０．０６％）、漢字グリフだけで試験したときの、漢字特有のモデルが達成した性能（すなわち、９０．４２％）と同等の結果である。
【０１５０】
上述のように、日本語テキストが多くの場合、語の同じストリング内で漢字とかなの両方のグリフを採用するので、これらの結果は著しいものである。このように、日本語テキストの入力テキスト画像は、未知のグリフタイプを含む。実際に、これらの入力テキスト画像は、事前にソートされて、または認識されて、漢字およびかなに特有にグループ化されていない。その結果、漢字特有のモデルは、かなグリフの画像を分類することができず、一般的なモデルの性能は、本明細書で開示するハイブリッドモデルより劣る。
【０１５１】
他の注釈として、表１の結果は、本明細書で説明するフォント認識システムと最新式フォント分類システムの比較を説明している。従来のフォント分類システムと比較したとき、本明細書で説明するフォント認識システムは、試験した各カテゴリでこれらの従来のシステムよりも性能がさらに優れている。上述のように、従来のシステムは、日本語フォントなどの、クラス内変動を含むフォントに対してフォント分類を不完全に遂行する。
【０１５２】
図１〜図７Ｂ、対応するテキスト、および例は、フォント認識システムのいくつかの異なる方法、システム、機器、および非一時的コンピュータ可読媒体を提供する。前述に加えて、１つまたは複数の実施形態についてもまた、特定の結果を達成するための活動を備えるフローチャートに関して説明することができる。たとえば、図８および図９を、より多くの、またはより少ない活動で遂行してもよい。さらに、異なる順序で活動を遂行してもよい。さらに、本明細書で説明する活動を繰り返しても、互いに並列に、または同じ活動もしくは類似する活動の異なるインスタンスと並列に遂行してもよい。
【０１５３】
言及したように、図８は、１つまたは複数の実施形態による、重み予測ニューラルネットワークを使用して、ハイブリッドフォント認識ニューラルネットワークをトレーニングしてデジタルフォントを分類するための一連の活動８００の流れ図を示す。図８は、一実施形態による活動を示すが、代わりの実施形態は、図８に示す活動のいずれかを省略する、それに追加する、それを並べ替える、および／または修正してもよい。図８の活動を、方法の一部として遂行することができる。あるいは、非一時的コンピュータ可読媒体は、１つまたは複数のプロセッサにより実行されたとき、コンピューティング機器に図８の活動を遂行させる命令を備えることができる。いくつかの実施形態では、システムは、図８の活動を遂行することができる。
【０１５４】
１つまたは複数の実施形態では、一連の活動８００を、コンピューティング機器５００または１つもしくは複数のサーバ機器６０２などの１つまたは複数のコンピューティング機器上に実装する。さらに、いくつかの実施形態では、一連の活動８００を、電子文書を作成または編集するために、デジタル環境に実装する。たとえば、一連の活動８００を、デジタルフォントおよびグリフを記憶するメモリを有するコンピューティング機器に実装する。たとえば、メモリは、第１のグリフタイプの第１組のフォントトレーニング画像、および第２のグリフタイプの第２組のフォントトレーニング画像を記憶する。いくつかの実施形態では、デジタルフォントは日本語フォントであり、グリフは日本語グリフである。
【０１５５】
一連の活動８００は、第１のグリフタイプのフォントトレーニング画像を使用して第１のフォント認識ニューラルネットワークをトレーニングする活動８１０を含む。詳細には、活動８１０は、第１のグリフタイプを含む第１の複数のフォントトレーニング画像を使用して第１のフォント認識ニューラルネットワークをトレーニングして、デジタルフォントを分類するステップを伴うことができる。いくつかの実施形態では、第１の複数のフォントトレーニング画像は、第１のグリフタイプ（たとえば、日本語かなグリフ）と第２のグリフタイプ（たとえば、日本語漢字グリフ）の両方を含む。
【０１５６】
図に示すように、一連の活動８００はまた、第２のグリフタイプのフォントトレーニング画像を使用して第２のフォント認識ニューラルネットワークをトレーニングする活動８２０を含む。詳細には、活動８２０は、第２のグリフタイプを含む第２の複数のフォントトレーニング画像を使用して第２のフォント認識ニューラルネットワークをトレーニングして、デジタルフォントを分類するステップを伴うことができる。いくつかの実施形態では、第２の複数のフォントトレーニング画像は、第１のフォントタイプを含まない。さらに別の実施形態では、第１の複数のフォントトレーニング画像を、第２の複数のフォントトレーニング画像と別個に生成する。
【０１５７】
さまざまな実施形態では、第１および／または第２のフォント認識ニューラルネットワークは、第１および／または第２の複数のフォントトレーニング画像で分かったフォントの数に応じて、多次元確率ベクトルを生成する。さらに、いくつかの実施形態では、第１および／または第２のフォント認識ニューラルネットワークは、畳込み層および全結合層を含む畳込みニューラルネットワークである。いくつかの実施形態では、畳込み層は、フォント特徴抽出パラメータに基づきフォント特徴ベクトルを出力するフォント符号化器を含む。さまざまな実施形態では、全結合層は、（たとえば、入力フォントに関する特徴ベクトルと既知フォントの特徴ベクトルを比較することにより）フォント特徴ベクトルに基づきデジタルフォントを分類し、かつフォント確率ベクトルを出力するフォント分類器を含む。
【０１５８】
図８に示すように、一連の活動８００は、第１のフォント認識ニューラルネットワーク、第２のフォント認識ニューラルネットワーク、および重み予測ニューラルネットワークを含むハイブリッドフォント認識ニューラルネットワークをトレーニングする活動８３０をさらに含む。１つまたは複数の実施形態では、活動８３０は、第１のフォント認識ニューラルネットワークが第２のフォント認識ニューラルネットワークよりも入力デジタルフォントに関してよりよいフォント分類を出力する第１のフォント分類確率を重み予測ニューラルネットワークが予測するステップを含む。さらに別の実施形態では、重み予測ニューラルネットワークは、第２のフォント認識ニューラルネットワークが第１のフォント認識ニューラルネットワークよりも入力デジタルフォントに関してよりよいフォント分類を出力する第２のフォント分類確率を予測する。
【０１５９】
いくつかの実施形態では、活動８３０は、第１のフォント認識ニューラルネットワーク、第２のフォント認識ニューラルネットワーク、および重み予測ニューラルネットワークに、入力デジタルフォントを含むトレーニング画像のコピーを提供するステップを含む。さらに、活動８３０は、第１のフォント分類確率に基づき、入力デジタルフォントに関して第１のフォント認識ニューラルネットワークが生成した第１のフォント確率ベクトルを重み付けするステップと、第２のフォント分類確率に基づき、入力デジタルフォントに関して第２のフォント認識ニューラルネットワークが生成した第２のフォント確率ベクトルを重み付けするステップと、第１の重み付きフォント確率ベクトルおよび第２の重み付きフォント確率ベクトルを含むハイブリッドフォント確率ベクトルの交差エントロピーフォント分類損失を最小にするステップを含むことができる。さまざまな実施形態では、単一の交差エントロピーソフトマックス損失関数を使用してハイブリッドフォント認識ニューラルネットワークをトレーニングする。
【０１６０】
さらに、さらに別の実施形態では、活動８３０はまた、誤差逆伝播によって第１のフォント認識ニューラルネットワーク、第２のフォント認識ニューラルネットワーク、および重み予測ニューラルネットワークに交差エントロピーフォント分類損失を誤差損失フィードバックとして提供するステップを含むことができる。さまざまな実施形態では、第１のフォント認識ニューラルネットワークおよび第２のフォント認識ニューラルネットワークに誤差損失フィードバックを小さな学習率で提供する。いくつかの実施形態では、重み予測ニューラルネットワークに誤差損失フィードバックを大きな学習率で提供する。
【０１６１】
１つまたは複数の実施形態では、重み付け予測ニューラルネットワークは、第１のフォント分類確率および第２のフォント分類確率を含む２次元予測ベクトルを出力し、この場合、第１のフォント分類確率および第２のフォント分類確率はそれぞれ、０〜１の間である、および／または第１のフォント分類確率および第２のフォント分類確率は、合計して１になる。
【０１６２】
一連の活動８００はまた、いくつかの追加活動を含むことができる。１つまたは複数の実施形態では、一連の活動８００は、第３のグリフタイプを含む第３の複数のフォントトレーニング画像を使用して、第３のフォント認識ニューラルネットワークをトレーニングして、デジタルフォントを分類する活動、および第３のフォント認識ニューラルネットワークに基づきハイブリッドフォント認識ニューラルネットワークをさらにトレーニングする活動を含む。いくつかの実施形態では、重み予測ニューラルネットワークは、（たとえば第１の、第２の、および第３の）フォント認識ニューラルネットワークごとに、合計して１に、すなわち１００％になる確率を予測する。
【０１６３】
１つまたは複数の実施形態では、一連の活動８００は、入力デジタルフォントを含む入力テキスト画像を受け取る活動、トレーニングされたハイブリッドフォント認識ニューラルネットワークを使用して入力デジタルフォントに関するハイブリッドフォント確率ベクトルを生成する活動、入力デジタルフォントのハイブリッドフォント確率ベクトルに基づき複数の既知デジタルフォントから入力デジタルフォントを識別する活動、および識別した入力デジタルフォントを提示する活動を含む。
【０１６４】
すでに言及したように、図９は、１つまたは複数の実施形態による、トレーニングされたハイブリッド重み付きフォント認識ニューラルネットワークを使用して入力テキスト画像内の入力フォントを識別するための一連の活動９００の流れ図を示す。図９は、一実施形態による活動を示すが、代わりの実施形態は、図９に示す活動のいずれかを省略する、それに追加する、それを並べ替える、および／または修正してもよい。図９の活動を、方法の一部として遂行することができる。あるいは、非一時的コンピュータ可読媒体は、１つまたは複数のプロセッサにより実行されたとき、コンピューティング機器に図９の活動を遂行させる命令を備えることができる。１つまたは複数の実施形態では、システムは、図９の活動を遂行することができる。いくつかの実施形態では、一連の活動９００を、コンピューティング機器５００または１つもしくは複数のサーバ機器６０２などの、１つまたは複数のコンピューティング機器上のコンピューティングシステムにより実装する。
【０１６５】
図に示すように、一連の活動９００は、入力デジタルフォントを有する入力テキスト画像を受け取る活動９１０を含む。１つまたは複数の実施形態では、活動９１０は、ユーザおよび／またはアプリケーションから入力テキスト画像を受け取るステップを含む。いくつかの実施形態では、以下で説明する入力デジタルフォントおよび既知デジタルフォントは、日本語の漢字および／またはかなのグリフを含む。
【０１６６】
一連の活動９００はまたは、入力デジタルフォントに関する第１および第２のフォント確率ベクトルを決定する活動９２０を含む。詳細には、活動９２０は、第１のグリフタイプを含む第１の複数のフォントトレーニング画像を使用してトレーニングされた第１のトレーニングされたフォント認識ニューラルネットワークにより入力デジタルフォントに関する第１のフォント確率ベクトルを決定するステップを含む。詳細には、活動９２０は、第２のグリフタイプを含む第２の複数のフォントトレーニング画像を使用してトレーニングされた第２のトレーニングされたフォント認識ニューラルネットワークにより入力デジタルフォントに関する第２のフォント確率ベクトルを決定するステップを含む。
【０１６７】
図に示すように、一連の活動９００は、第１のフォント認識ニューラルネットワークが入力デジタルフォントに関してよりよいフォント分類を出力する確率を示す、入力デジタルフォントに関する第１のフォント分類確率を重み予測ニューラルネットワークにより決定する活動９３０を含む。詳細には、活動９３０は、重み予測ニューラルネットワークにより、入力デジタルフォントに関して、第１のフォント認識ニューラルネットワークに関する第１のフォント分類確率を決定するステップを含み、この場合、第１のフォント分類確率は、第１のフォント認識ニューラルネットワークが第２のフォント認識ニューラルネットワークよりも入力デジタルフォントに関してよりよいフォント分類を出力する確率を含む。
【０１６８】
さらに、一連の活動９００は、入力デジタルフォントに関するハイブリッドフォント確率ベクトルを生成する活動９４０を含む。詳細には、活動９４０は、第１のフォント確率ベクトル、第１のフォント分類確率、第２のフォント確率ベクトル、および第２のフォント分類確率に基づき、入力デジタルフォントに関するハイブリッドフォント確率ベクトルを生成する活動を伴うことができる。いくつかの実施形態では、活動９４０は、第１のフォント分類確率に基づき、入力テキスト画像に関して第１のフォント認識ニューラルネットワークが生成した第１のフォント分類確率を重み付けする活動、第２のフォント分類確率に基づき、入力テキスト画像に関して第２のフォント認識ニューラルネットワークが生成した第２のフォント確率ベクトルを重み付けする活動、ならびに第１の重み付きフォント確率ベクトルおよび第２の重み付きフォント確率ベクトルを組み合わせる活動を含む。１つまたは複数の実施形態では、１引く第１のフォント分類確率は、第２のフォント分類確率になる。
【０１６９】
図に示すように、一連の活動９００はまた、ハイブリッドフォント確率ベクトルに基づき入力デジタルフォントを識別する活動９５０を含む。詳細には、活動９５０は、ハイブリッドフォント確率ベクトルに基づき、複数の既知フォントから入力デジタルフォントを識別するステップを含む。いくつかの実施形態では、活動９５０はまた、識別された入力デジタルフォントをユーザに提示するステップを含む。
【０１７０】
一連の活動９００はまた、いくつかの追加活動を含むことができる。１つまたは複数の実施形態では、一連の活動９００は、入力デジタルフォントで書かれた入力テキスト画像内の複数のグリフを識別する活動、識別された複数のグリフから、識別されたグリフの不要部分を切り取る活動、ならびに第１のフォント認識ニューラルネットワーク、第２のフォント認識ニューラルネットワーク、および重み予測ニューラルネットワークに入力デジタルフォントで書かれた、不要部分を切り取られた識別されたグリフを提供する活動を含む。さまざまな実施形態では、入力テキスト画像は、既知のデジタルフォントに関連するトレーニング・フォント・セットに含まれないグリフを含む。
【０１７１】
用語「デジタル環境」は、本明細書で使用するとき、一般にたとえば、スタンドアロンのアプリケーション（たとえば、コンピューティング機器上で走っているパーソナルコンピュータまたは移動体のアプリケーション）として、アプリケーションの要素として、アプリケーションのためのプラグインとして、１つもしくは複数のライブラリ関数として、コンピューティング機器として、および／またはクラウド・コンピューティング・システムとして実装された環境を指す。デジタル媒体環境により、フォント認識システムは、本明細書で説明するように、ハイブリッドフォント認識ニューラルネットワークをトレーニングし、採用することができるようになる。
【０１７２】
本開示の実施形態は、たとえば、以下でより詳細に論じるように、１つまたは複数のプロセッサおよびシステムメモリなどのコンピュータハードウェアを含む専用および汎用のコンピュータを備えても、利用してもよい。本開示の範囲に入る実施形態はまた、コンピュータ実行可能命令および／またはデータ構造を移送または記憶するための物理的コンピュータ可読媒体および他のコンピュータ可読媒体を含む。詳細には、本明細書で説明するプロセッサの１つまたは複数を、少なくとも一部は、非一時的コンピュータ可読媒体に埋め込まれ、かつ１つまたは複数のコンピューティング機器（たとえば、本明細書で説明する媒体内容アクセス機器のいずれか）により実行可能な命令として実装してもよい。一般に、プロセッサ（たとえば、マイクロプロセッサ）は、非一時的コンピュータ可読媒体（たとえば、メモリ）から命令を受け取り、それらの命令を実行し、それにより、本明細書で説明する処理の１つまたは複数を含む１つまたは複数の処理を遂行する。
【０１７３】
コンピュータ可読媒体は、汎用または専用のコンピュータシステムがアクセスすることができる任意の利用可能な媒体とすることができる。コンピュータ実行可能命令を記憶するコンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体（機器）である。コンピュータ実行可能命令を移送するコンピュータ可読媒体は、伝送媒体である。したがって、限定としてではなく例として、本開示の実施形態は、少なくとも２つのはっきりと異なる種類のコンピュータ可読媒体を、すなわち、非一時的コンピュータ可読記憶媒体（機器）および伝送媒体を備えることができる。
【０１７４】
非一時的コンピュータ可読記憶媒体（機器）は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、ソリッド・ステート・ドライブ（ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ、「ＳＳＤ」）（たとえば、ＲＡＭに基づく）、フラッシュメモリ、相変化メモリ（ｐｈａｓｅ−ｃｈａｎｇｅ  ｍｅｍｏｒｙ、「ＰＣＭ」）、他のタイプのメモリ、他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶装置、またはコンピュータ実行可能命令もしくはデータ構造の形で所望のプログラムコード手段を記憶するために使用することができ、かつ汎用もしくは専用のコンピュータがアクセスすることができる任意の他の媒体を含む。
【０１７５】
「ネットワーク」は、コンピュータシステムおよび／またはモジュールおよび／または他の電子機器の間で電子データの移送を可能にする１つまたは複数のデータリンクとして規定される。ネットワークまたは他の通信接続（有線、無線、または有線もしくは無線の組合せ）を介してコンピュータに情報を転送または提供するたとき、コンピュータは、接続を伝送媒体と適切にみなす。伝送媒体は、コンピュータ実行可能命令またはデータ構造の形で所望のプログラムコード手段を移送するために使用することができ、かつ汎用または専用のコンピュータがアクセスすることができるネットワークおよび／またはデータリンクを含むことができる。上記の組合せもまた、コンピュータ可読媒体の範囲に含まれるべきである。
【０１７６】
さらに、さまざまなコンピュータシステム構成要素に届くと、コンピュータ実行可能命令またはデータ構造の形のプログラムコード手段を、伝送媒体から非一時的コンピュータ可読記憶媒体（機器）に（またはその逆も同様である）自動的に転送することができる。たとえば、ネットワークまたはデータリンクを介して受け取ったコンピュータ実行可能命令またはデータ構造を、ネットワーク・インタフェース・モジュール（たとえば、「ＮＩＣ」）内部のＲＡＭにバッファリングし、次いで最終的に、コンピュータシステムＲＡＭに、および／またはコンピュータシステムのより揮発しにくいコンピュータ記憶媒体（機器）に転送することができる。したがって、さらに（またはそれどころか主として）伝送媒体を利用するコンピュータシステム構成要素に、非一時的コンピュータ可読記憶媒体（機器）を含むことができることを理解されたい。
【０１７７】
コンピュータ実行可能命令は、たとえば、プロセッサにより実行されたとき、ある種の機能または機能のグループを汎用コンピュータ、専用コンピュータ、または専用処理機器に遂行させる命令およびデータを備える。いくつかの実施形態では、汎用コンピュータがコンピュータ実行可能命令を実行して、汎用コンピュータを本開示の要素を実装する専用コンピュータにする。コンピュータ実行可能命令は、たとえば、バイナリ、アッセンブリ言語などの中間形式の命令、またはさらにはソースコードであってもよい。構造的特徴および／または方法論的活動に特有な言語で主題について説明してきたが、添付の特許請求の範囲で規定される主題は、説明した特徴、または上記で説明した活動に必ずしも限定されないことを理解されたい。むしろ、説明した特徴および活動は、特許請求の範囲を実装する形態の例として開示されている。
【０１７８】
本開示を、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルド機器、マルチ・プロセッサ・システム、マイクロプロセッサに基づくまたはプログラム可能な家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、携帯電話、ＰＤＡ、タブレット、ページャ、ルータ、スイッチなどを含む、多くのタイプのコンピュータシステム構成を備えるネットワークコンピューティング環境で実施してもよいことを当業者は認識されよう。本開示を、同じくネットワークを通して（有線データリンク、無線データリンクにより、または有線および無線のデータリンクの組合せにより）連結されたローカルおよび遠隔のコンピュータシステムが両方ともタスクを遂行する分散システム環境で実施してもよい。分散システム環境では、ローカルおよび遠隔のメモリ記憶装置の両方にプログラムモジュールを配置してもよい。
【０１７９】
本開示の実施形態を、同じくクラウドコンピューティング環境に実装することができる。本明細書で使用するとき、用語「クラウドコンピューティング」は、構成可能なコンピューティング資源の共有プールへのオン・デマンド・ネットワーク・アクセスを可能にするためのモデルを指す。たとえば、市場でクラウドコンピューティングを採用して、構成可能なコンピューティング資源の共有プールへの、偏在的で便利なオン・デマンド・アクセスを提供することができる。構成可能なコンピューティング資源の共有プールを、仮想化を介して迅速に準備し、少ない管理努力またはサービスプロバイダの協力で公開し、次いで、それに従って規模を調整することができる。
【０１８０】
クラウド・コンピューティング・モデルを、たとえば、オン・デマンド・セルフ・サービス、広域ネットワークアクセス、資源プーリング、迅速な融通性、度数制などのようなさまざまな特性から構成することができる。クラウド・コンピューティング・モデルはまた、たとえば、「ＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）」、「ＰａａＳ（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）」、および「ＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）」などのさまざまなサービスモデルを見せることができる。クラウド・コンピューティング・モデルを、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウドなどのような異なる導入モデルを使用してさらに導入することができる。さらに、本明細書で使用するとき、用語「クラウドコンピューティング環境」は、クラウドコンピューティングを採用する環境を指す。
【０１８１】
図１０は、上記で説明した処理の１つまたは複数を遂行するように構成されてもよい代表的コンピューティング機器１０００の構成図を示す。コンピューティング機器１０００などの１つまたは複数のコンピューティング機器は、上記で説明したコンピューティング機器（たとえば、コンピューティング機器５００、１つまたは複数のサーバ機器６０２、およびクライアント機器６０４ａ、６０４ｂ）を表してもよいことを認識されよう。１つまたは複数の実施形態では、コンピューティング機器１０００は、移動体機器（たとえば、携帯電話、スマートホン、ＰＤＡ、タブレット、ラップトップ、カメラ、トラッカ（ｔｒａｃｋｅｒ）、ウオッチ、ウェアラブル機器など）であってもよい。いくつかの実施形態では、コンピューティング機器１０００は、非移動体機器（たとえば、デスクトップコンピュータまたは別のタイプのクライアント機器）であってもよい。さらに、コンピューティング機器１０００は、クラウドに基づく処理および記憶能力を含むサーバ機器であってもよい。
【０１８２】
図１０に示すように、コンピューティング機器１０００は、１つまたは複数のプロセッサ１００２、メモリ１００４、記憶装置１００６、入出力（「Ｉ／Ｏ」）インタフェース１００８、および通信インフラストラクチャ（たとえば、バス１０１２）によって通信可能に結合してもよい通信インタフェース１０１０を含むことができる。図１０にはコンピューティング機器１０００を示すが、図１０に示す構成要素は、限定することを意図するものではない。追加のまたは代わりの構成要素を、他の実施形態で使用してもよい。さらに、ある種の実施形態では、コンピューティング機器１０００は、図１０に示す構成要素よりも少ない構成要素を含む。次に、図１０に示すコンピューティング機器１０００の構成要素について、さらに詳細に説明する。
【０１８３】
特定の実施形態では、１つまたは複数のプロセッサ１００２は、コンピュータプログラムを作り上げる命令などの命令を実行するためのハードウェアを含む。限定ではなく一例として、命令を実行するために、１つまたは複数のプロセッサ１００２は、内部レジスタ、内部キャッシュ、メモリ１００４、または記憶装置１００６から命令を取り出し（またはフェッチし）、命令を復号し、実行してもよい。
【０１８４】
コンピューティング機器１０００は、１つまたは複数のプロセッサ１００２に結合したメモリ１００４を含む。データ、メタデータ、および１つまたは複数のプロセッサが実行するためのプログラムを記憶するために、メモリ１００４使用してもよい。メモリ１００４は、ランダム・アクセス・メモリ（Ｒａｎｄｏｍ−Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、「ＲＡＭ」）、読出し専用メモリ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ、「ＲＯＭ」）、ソリッド・ステート・ドライブ（「ＳＳＤ」）、フラッシュ、相変化メモリ（「ＰＣＭ」）、または他のタイプのデータ記憶領域などの、揮発性および不揮発性のメモリのうち１つまたは複数を含んでもよい。メモリ１００４は、内部メモリであっても、分散メモリであってもよい。
【０１８５】
コンピューティング機器１０００は、データまたは命令を記憶するための記憶領域を含む記憶装置１００６を含む。限定ではなく一例として、記憶装置１００６は、上記で説明した非一時的記憶媒体を含むことができる。記憶装置１００６は、ハード・ディスク・ドライブ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ、ＨＤＤ）、フラッシュメモリ、ユニバーサル・シリアル・バス（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ、ＵＳＢ）ドライブ、またはこれらもしくは他の記憶装置の組み合わせを含んでもよい。
【０１８６】
図に示すように、コンピューティング機器１０００は、ユーザがコンピューティング機器１０００に入力を提供し（ユーザがキーを打つなど）、コンピューティング機器１０００から出力を受け取り、他の方法でコンピューティング機器１０００との間でデータを転送することができるようにするように提供される、１つまたは複数のＩ／Ｏインタフェース１００８を含む。これらのＩ／Ｏインタフェース１００８は、マウス、キーパッドもしくはキーボード、タッチ画面、カメラ、光学スキャナ、ネットワークインタフェース、モデム、他の公知のＩ／Ｏ機器、またはそのようなＩ／Ｏインタフェース１００８の組合せを含んでもよい。タッチ画面をスタイラスまたは指で活動化してもよい。
【０１８７】
Ｉ／Ｏインタフェース１００８は、グラフィックスエンジン、表示装置（たとえば、表示画面）、１つまたは複数の出力ドライバ（たとえば、表示ドライバ）、１つまたは複数のオーディオスピーカ、および１つまたは複数のオーディオドライバを含むがそれらに限定されない、ユーザに出力を提示するための１つまたは複数の機器を含んでもよい。ある種の実施形態では、Ｉ／Ｏインタフェース１００８は、ユーザに提示するために表示装置にグラフィックデータを提供するように構成される。グラフィックデータは、特定の実装に役立つ場合があるような、１つまたは複数のグラフィカル・ユーザ・インタフェースおよび／または他のグラフィックの内容の表現であってもよい。
【０１８８】
コンピューティング機器１０００は、通信インタフェース１０１０をさらに含むことができる。通信インタフェース１０１０は、ハードウェア、ソフトウェア、または両方を含むことができる。通信インタフェース１０１０は、コンピューティング機器と、１つもしくは複数の他のコンピューティング機器、または１つもしくは複数のネットワークとの間で通信（たとえば、パケットに基づく通信など）のための１つまたは複数のインタフェースを提供する。限定ではなく一例として、通信インタフェース１０１０は、イーサネットもしくは他の有線に基づくネットワークと通信するためのネットワーク・インタフェース・コントローラ（ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃｏｎｔｒｏｌｌｅｒ、ＮＩＣ）もしくはネットワークアダプタ、またはＷｉ−Ｆｉなどの無線ネットワークと通信するための無線ＮＩＣ（ｗｉｒｅｌｅｓｓ  ＮＩＣ、ＷＮＩＣ）もしくは無線アダプタを含んでもよい。コンピューティング機器１０００は、バス１０１２をさらに含むことができる。バス１０１２は、コンピューティング機器１０００の構成要素を互いに接続する、ハードウェア、ソフトウェア、または両方を含むことができる。
【０１８９】
前述の明細では、本発明について、本発明の代表的実施形態を具体的に参照して説明してきた。１つまたは複数の本発明のさまざまな実施形態および様態について、本明細書で論じた詳細を参照して説明し、添付図面は、さまざまな実施形態を例示している。上記の説明および図面は、本発明を例証しており、本発明を限定していると解釈されるべきではない。本発明のさまざまな実施形態を完全に理解するために、数多くの特有の詳細について説明した。
【０１９０】
本発明の精神または本質的特性を逸脱することなく、他の特有の形態で本発明を具体化してもよい。説明する実施形態は、すべての点で例示的でしかなく、限定的ではないと考えられるべきである。たとえば、本明細書で説明する方法をより少ない、またはより多いステップ／活動で遂行してもよい、またはステップ／活動を異なる順序で遂行してもよい。さらに、本明細書で説明するステップ／活動を、繰り返してもよい、または互いに並列に、または同じもしくは類似するステップ／活動の異なるインスタンスと並列に遂行してもよい。したがって、本発明の範囲は、前述の説明によるのではなく、添付の特許請求の範囲により示される。特許請求の範囲の均等物の意味および範囲に入るすべての変更は、特許請求の範囲に包含されるべきである。
【符号の説明】
【０１９１】
２０２  第１組のテキスト画像
２０４  第２組のテキスト画像
２０６  テキスト画像
２０８  入力テキスト画像
２１０  第１のフォント認識ニューラルネットワーク
２１２  下位ニューラルネットワーク層
２１４  上位ニューラルネットワーク層
２１６  損失層
２１８  第１のフォント分類損失モデル
２２０  第２のフォント認識ニューラルネットワーク
２２２  下位ニューラルネットワーク層
２２４  上位ニューラルネットワーク層
２２６  損失層
２２８  第２のフォント分類損失モデル
２３０  ハイブリッドフォント認識ニューラルネットワーク
２３２  第１のフォント確率ベクトル
２３４  第２のフォント確率ベクトル
２４０  重み予測ニューラルネットワーク
２４２  下位ニューラルネットワーク層
２４４  上位ニューラルネットワーク層
２４６  ２次元予測ベクトル
２４８  第１のフォント分類確率
２５０  第２のフォント分類確率
２５２  ハイブリッドフォント確率ベクトル
２５４  損失層
２５６  フォント分類損失モデル
２５８  識別されたフォント
２６０  トレーニングされたハイブリッドフォント認識ニューラルネットワーク
３００  表
３０２  フォント
３０４  第１のフォント確率ベクトル値
３０６  第２のフォント確率ベクトル値
３０８  第１のフォント分類確率値
３１０  第２のフォント分類確率値
３１２  ハイブリッドフォント確率ベクトル値
５００  コンピューティング機器
５０２  フォント管理システム
５０４  フォント認識システム
５０６  フォントマネージャ
５０８  テキスト画像ジェネレータ
５１０  ハイブリッドフォント認識ニューラルネットワーク
５１２  第１のフォント認識ニューラルネットワーク
５１４  第２のフォント認識ニューラルネットワーク
５１６  重み予測ニューラルネットワーク
５１８  フォント識別器
５２０  フォントデータベース
５２２  フォントトレーニング画像
５２４  フォント特徴ベクトル
６００  環境
６０２  サーバ機器
６０４ａ、６０４ｂ  クライアント機器
６０６  ネットワーク
７１０  入力テキスト画像
７２０  グラフ
１０００  コンピューティング機器
１００２  プロセッサ
１００４  メモリ
１００６  記憶装置
１００８  Ｉ／Ｏインタフェース
１０１０  通信インタフェース
１０１２  バス
Ｍ１  第１のフォント認識ニューラルネットワークの第１のフォント確率ベクトル
Ｍ２  第２のフォント認識ニューラルネットワークの第２のフォント確率ベクトル
ｗ1  第１のフォント分類確率
ｗ2  第２のフォント分類確率
Ｘ  入力テキスト画像
Ｙ、Ｙ（Ｘ）  入力テキスト画像Ｘに関するハイブリッドフォント確率ベクトル
【図１】
2019091434.tif 000004
【図２Ａ】
2019091434.tif 000005
【図２Ｂ】
2019091434.tif 000006
【図２Ｃ】
2019091434.tif 000007
【図３】
2019091434.tif 000008
【図４】
2019091434.tif 000009
【図５】
2019091434.tif 000010
【図６】
2019091434.tif 000011
【図７Ａ】
2019091434.tif 000012
【図７Ｂ】
2019091434.tif 000013
【図８】
2019091434.tif 000014
【図９】
2019091434.tif 000015
【図１０】
2019091434.tif 000016