(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024141563
(43)【公開日】2024-10-10
(54)【発明の名称】文字認識装置、文字認識方法、プログラム及び文字認識モデル
(51)【国際特許分類】
G06V 30/24 20220101AFI20241003BHJP
【FI】
G06V30/24 620Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023053292
(22)【出願日】2023-03-29
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り ウェブサイトの掲載アドレス https://apps.apple.com/jp/app/%E3%81%8A%E3%81%A8%E3%82%8B%E3%83%BC%E3%81%BA/id1628455878 https://play.google.com/store/apps/details?id=com.mloupe.oto&gl=US&pli=1 掲載日 令和5年2月28日
(71)【出願人】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】110002952
【氏名又は名称】弁理士法人鷲田国際特許事務所
(72)【発明者】
【氏名】阿部 友和
【テーマコード(参考)】
5B064
【Fターム(参考)】
5B064CA05
5B064DA27
(57)【要約】
【課題】日本語に特有の文字や文章に適した文字認識技術を提供することである。
【解決手段】本開示の一態様は、縦書きの文字列を示す第1の画像データを取得するデータ取得部と、前記第1の画像データを回転し横向きにした縦書き文字列を示す第2の画像データを生成する文字列回転部と、前記第2の画像データを横向きの縦書き文字列に対する認識結果を学習した文字認識モデルに入力し、前記文字認識モデルから前記横向きにした縦書き文字列の認識結果を取得する文字認識部と、を有する、文字認識装置に関する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
縦書きの文字列を示す第1の画像データを取得するデータ取得部と、
前記第1の画像データを回転し横向きにした縦書き文字列を示す第2の画像データを生成する文字列回転部と、
前記第2の画像データを横向きの縦書き文字列に対する認識結果を学習した文字認識モデルに入力し、前記文字認識モデルから前記横向きにした縦書き文字列の認識結果を取得する文字認識部と、
を有する、文字認識装置。
【請求項2】
前記文字認識モデルは、縦書きの文字列を回転し横向きにした縦書き文字列を示す画像データと、前記文字列の認識結果とから構成される訓練データによって訓練されている、請求項1に記載の文字認識装置。
【請求項3】
前記文字列回転部は、前記第1の画像データを90度回転することによって前記第2の画像データを生成する、請求項1に記載の文字認識装置。
【請求項4】
前記データ取得部は、前記第1の画像データにおける横方向の文字間のスペースの大きさと、縦方向の文字間のスペースの大きさとの間の比率に基づいて、前記縦書きの文字列を検出する、請求項1に記載の文字認識装置。
【請求項5】
縦書きの文字列を示す第1の画像データを取得することと、
前記第1の画像データを回転し横向きにした縦書き文字列を示す第2の画像データを生成することと、
前記第2の画像データを横向きの縦書き文字列に対する認識結果を学習した文字認識モデルに入力し、前記文字認識モデルから前記横向きにした縦書き文字列の認識結果を取得することと、
を有する、コンピュータが実行する文字認識方法。
【請求項6】
縦書きの文字列を示す第1の画像データを取得することと、
前記第1の画像データを回転し横向きにした縦書き文字列を示す第2の画像データを生成することと、
前記第2の画像データを横向きの縦書き文字列に対する認識結果を学習した文字認識モデルに入力し、前記文字認識モデルから前記横向きにした縦書き文字列の認識結果を取得することと、
をコンピュータに実行させるプログラム。
【請求項7】
縦書きの文字列を回転し横向きにした縦書き文字列を示す第1の画像データを取得し、
前記横向きにした縦書き文字列の認識結果を出力する、
文字認識モデルであって、
縦書きの文字列を回転し横向きにした縦書き文字列を示す画像データと、前記横向きにした縦書き文字列の認識結果とから構成される訓練データによって訓練されている文字認識モデル。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、文字認識装置、文字認識方法、プログラム及び文字認識モデルに関する。
【背景技術】
【0002】
近年のディープラーニングの進展によって、機械学習が広範な技術分野に適用されてきている。例えば、文字認識では、認識精度の向上のため、機械学習モデルの利用が進んでいる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-019257号公報
【特許文献2】特開2022-180866号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
日本語では、英語などと異なって、横書きの文だけでなく、縦書きの文も使われている。また、難読な漢字や幼児用の文章などには振り仮名(以降、「ルビ」と呼ぶ)が付されることもある。これら日本語に特有の文に対する文字認識は、英語等をベースに開発された機械学習モデルでは対応困難であることもある。
【0005】
本開示の課題は、日本語に特有の文字や文章に適した文字認識技術を提供することである。
【課題を解決するための手段】
【0006】
本開示の一態様は、縦書きの文字列を示す第1の画像データを取得するデータ取得部と、前記第1の画像データを回転し横向きにした縦書き文字列を示す第2の画像データを生成する文字列回転部と、前記第2の画像データを横向きの縦書き文字列に対する認識結果を学習した文字認識モデルに入力し、前記文字認識モデルから前記横向きにした縦書き文字列の認識結果を取得する文字認識部と、を有する、文字認識装置に関する。
【発明の効果】
【0007】
本開示によると、日本語に特有の文字や文章に適した文字認識技術を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本開示の一実施例による文字認識装置を示す概略図である。
【
図2】
図2は、本開示の第1の実施形態による文字認識処理を示す概略図である。
【
図3】
図3は、本開示の第2の実施形態による文字認識処理を示す概略図である。
【
図4】
図4は、本開示の一実施例による文字認識装置のハードウェア構成を示すブロック図である。
【
図5】
図5は、本開示の第1の実施形態による文字認識装置の機能構成を示すブロック図である。
【
図6】
図6は、本開示の第1の実施形態による縦書きの文字列と横書きの文字列との識別例を示す概略図である。
【
図7】
図7は、本開示の第1の実施形態による縦書き文字列の回転を示す概略図である。
【
図8】
図8は、本開示の第1の実施形態による文字認識モデルを示す概略図である。
【
図9】
図9は、本開示の第1の実施形態による文字認識処理を示すフローチャートである。
【
図10】
図10は、本開示の第2の実施形態による文字認識装置の機能構成を示すブロック図である。
【
図11】
図11は、本開示の第2の実施形態による文字認識モデルを示す概略図である。
【
図12】
図12は、本開示の第2の実施形態による文字認識モデルを示す概略図である。
【
図13】
図13は、本開示の第2の実施形態による文字認識モデルを示す概略図である。
【
図14】
図14は、本開示の第2の実施形態による文字認識処理を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して本開示の実施の形態を説明する。
【0010】
以下の実施例では、認識対象の文字及び/又は文字列を認識する文字認識装置が開示される。
【0011】
[本開示の概略]
図1に示されるように、認識対象の文字及び/又は文字列を示す画像データを受け付けると、文字認識装置100は、以下で詳細に説明される文字認識モデル10を利用して、画像データにおける文字及び/又は文字列の認識結果を出力する。ここで、認識対象の文字及び/又は文字列は、日本語に特有の表記である縦書きの文字列、ルビ付きの文字/文字列、及び/又はこれらの組み合わせを含むものであってもよい。また、文字認識モデル10は、ニューラルネットワークなどの何れかの機械学習モデルとして実現されうる。
【0012】
まず、本開示の第1の実施形態では、文字認識装置100Aは、縦書きの文字列に対して文字認識を実行し、当該文字列の認識結果を取得する。例えば、
図2に示されるように、縦書き文字列「木を倒す」を示す画像データを認識対象文字列として取得すると、第1の実施形態による文字認識装置100Aは、画像データにおける縦書き文字列「木を倒す」を90度回転し、横向きの縦書き文字列「木を倒す」を示す画像データを生成する。そして、文字認識装置100Aは、横向きの縦書き文字列「木を倒す」を示す画像データを文字認識モデル10Aに入力し、文字認識モデル10Aからの認識結果としてテキストデータなどの「木を倒す」を取得する。
【0013】
文字認識装置100Aに用いられる文字認識モデル10Aは、縦書きの文字列を90度回転した横向きの縦書き文字列を示す画像データを取得すると、当該文字列の文字認識結果を出力するよう訓練されている。換言すると、文字認識モデル10Aは、横向きの縦書き文字列の形状から当該文字列を認識するよう訓練されている。このような文字認識モデル10Aによると、横書きの文字列を認識する従来の文字認識モデルと比較して、日本語に特有の縦書きの文字列に対する文字認識精度を向上させうる。
【0014】
次に、本開示の第2の実施形態では、文字認識装置100Bは、ルビ付きの文字及び/又は文字列に対して文字認識を実行し、当該文字列の認識結果を取得する。例えば、
図3に示されるように、ルビ付きの文字列「吾輩(ルビ:わがはい)は猫である」を認識対象文字列として取得すると、第2の実施形態による文字認識装置100Bは、ルビ付きの文字列「吾輩(ルビ:わがはい)は猫である」を示す画像データを文字認識モデル10Bに入力し、文字認識モデル10Bからの認識結果としてテキストデータなどの「吾輩は猫である」を取得する。換言すると、文字認識装置100Bは、ルビ付きの文字列からルビなしの文字列を認識する。
【0015】
文字認識装置100Bに用いられる文字認識モデル10Bは、ルビ付きの文字及び/又は文字列を示す画像データを取得すると、ルビなしの文字及び/又は文字列となる当該文字及び/又は文字列の文字認識結果を出力するようルビ付きの文字及び/又は文字列を示す画像データそのものを教師データとして訓練されている。換言すると、文字認識モデル10Bは、ルビ付きの文字及び/又は文字列の形状から当該文字列を認識する、すなわち、ルビ部分を認識し、認識したルビ部分を削除するよう訓練されている。このような文字認識モデル10Bによると、ルビのない文字及び/又は文字列を認識する従来の文字認識モデルと比較して、日本語に特有のルビ付きの文字及び/又は文字列に対する文字認識精度を向上させうる。
【0016】
ここで、文字認識装置100、100A及び100B(以降、文字認識装置100として総称されうる)は、パーソナルコンピュータ(PC)、スマートフォン、タブレット、サーバ等の計算装置によって実現されてもよく、例えば、
図4に示されるようなハードウェア構成を有してもよい。すなわち、文字認識装置100は、バスBを介し相互接続されるドライブ装置101、ストレージ装置102、メモリ装置103、プロセッサ104、ユーザインタフェース(UI)装置105及び通信装置106を有する。
【0017】
文字認識装置100における各種機能及び処理を実現するプログラム又は指示は、CD-ROM(Compact Disk-Read Only Memory)、フラッシュメモリ等の着脱可能な記憶媒体に格納されてもよい。当該記憶媒体がドライブ装置101にセットされると、プログラム又は指示が記憶媒体からドライブ装置101を介しストレージ装置102又はメモリ装置103にインストールされる。ただし、プログラム又は指示は、必ずしも記憶媒体からインストールされる必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードされてもよい。
【0018】
ストレージ装置102は、ハードディスクドライブなどによって実現され、インストールされたプログラム又は指示と共に、プログラム又は指示の実行に用いられるファイル、データ等を格納する。
【0019】
メモリ装置103は、ランダムアクセスメモリ、スタティックメモリ等によって実現され、プログラム又は指示が起動されると、ストレージ装置102からプログラム又は指示、データ等を読み出して格納する。ストレージ装置102、メモリ装置103及び着脱可能な記憶媒体は、非一時的な記憶媒体(non-transitory storage medium)として総称されてもよい。
【0020】
プロセッサ104は、1つ以上のプロセッサコアから構成されうる1つ以上のCPU(Central Processing Unit)、GPU(Graphics Processing Unit)、処理回路(processing circuitry)等によって実現されてもよく、メモリ装置103に格納されたプログラム、指示、当該プログラム若しくは指示を実行するのに必要なパラメータなどのデータ等に従って、文字認識装置100の各種機能及び処理を実行する。
【0021】
ユーザインタフェース(UI)装置105は、キーボード、マウス、カメラ、マイクロフォン等の入力装置、ディスプレイ、スピーカ、ヘッドセット、プリンタ等の出力装置、タッチパネル等の入出力装置から構成されてもよく、ユーザと文字認識装置100との間のインタフェースを実現する。例えば、ユーザは、ディスプレイ又はタッチパネルに表示されたGUI(Graphical User Interface)をキーボード、マウス等を操作し、文字認識装置100を操作する。
【0022】
通信装置106は、外部装置、インターネット、LAN(Local Area Network)、セルラーネットワーク等の通信ネットワークとの有線及び/又は無線通信処理を実行する各種通信回路により実現される。
【0023】
しかしながら、上述したハードウェア構成は単なる一例であり、本開示による文字認識装置100は、他の何れか適切なハードウェア構成により実現されてもよい。
【0024】
[第1の実施形態]
次に、
図5を参照して、本開示の第1の実施形態による文字認識装置100Aを説明する。上述したように、本開示の第1の実施形態による文字認識装置100Aは、縦書きの文字列に対して文字認識を実行し、当該文字列の認識結果を取得する。具体的には、縦書き文字列を示す画像データを取得すると、文字認識装置100Aは、画像データにおける縦書き文字列を90度回転し、横向きの縦書き文字列を示す画像データを生成する。そして、文字認識装置100Aは、横向きの縦書き文字列を示す画像データを文字認識モデル10Aに入力し、文字認識モデル10Aから認識結果を取得する。
【0025】
図5は、本開示の第1の実施形態による文字認識装置100Aの機能構成を示すブロック図である。
図5に示されるように、文字認識装置100Aは、データ取得部110A、文字列回転部120A及び文字認識部130Aを有する。データ取得部110A、文字列回転部120A及び文字認識部130Aの各機能部は、文字認識装置100Aのメモリ装置103に格納されているコンピュータプログラムがプロセッサ104によって実行されることによって実現されてもよい。
【0026】
データ取得部110Aは、縦書きの文字列を示す画像データを取得する。例えば、カメラやスキャナなどにより撮像された画像データ上などに表示される文字列など、認識対象の文字列を含む画像データを取得すると、データ取得部110Aは、文字であると想定される画像部分を認識し、認識した画像部分の大きさと間隔から一行又は一列ずつ文字列領域を特定し、特定した一塊の文字列領域の縦横比が縦長か横長かに応じて、特定した文字列領域を回転するか否か判定する。文字列領域の縦横比が縦長である場合、データ取得部110Aは、特定した文字列領域を回転させるため、特定した文字列領域を文字列回転部120Aにわたす。他方、文字列領域の縦横比が横長である場合、データ取得部110Aは、特定した文字列領域を文字認識部130Aにわたす。
【0027】
一塊の文字列領域の検出時に複数行の文字列が検出された際は、データ取得部110Aは、画像データにおける横方向の文字間のスペースの大きさ(HI)と、縦方向の文字間のスペースの大きさ(VI)との間の比率に基づいて、縦書きの文字列を検出してもよい。例えば、認識対象の文字列が横書きである場合、
図6Aに示されるように、横方向の文字間のスペースの大きさ(HI)は、縦方向の文字間のスペースの大きさ(VI)より有意に小さくなる(HI<VI)。他方、認識対象の文字列が縦書きである場合、
図6Bに示されるように、横方向の文字間のスペースの大きさ(HI)は、縦方向の文字間のスペースの大きさ(VI)より有意に大きくなる(HI>VI)。従って、データ取得部110Aは、画像データにおける横方向の文字間のスペースの大きさ(HI)と、縦方向の文字間のスペースの大きさ(VI)とを算出し、比率HI/VIに基づいて画像データに表示されている文字列が横書き又は縦書きかを判定してもよい。例えば、比率HI/VIが1などの所定の閾値より小さい場合、データ取得部110Aは、認識対象の文字列は横書きであると判定してもよい。他方、比率HI/VIが1などの所定の閾値より大きい場合、データ取得部110Aは、認識対象の文字列は縦書きであると判定してもよい。
【0028】
文字列回転部120Aは、文字列領域が縦長又は縦書き文字列を検出した際に縦書き文字列を示す画像データを回転した横向きの縦書き文字列を示す画像データを生成する。具体的には、データ取得部120Aから縦書き文字列を示す画像データを取得すると、文字列回転部120Aは、取得した画像データを90度回転することによって、縦書き文字列を示す画像データを横向きの縦書き文字列を示す画像データに変換する。例えば、
図7に示されるように、文字列回転部120Aは、縦書き文字列「真珠の養殖」を示す画像データを反時計回りに90度回転し、横向きの縦書き文字列「真珠の養殖」を示す画像データを取得する。図示された例では、回転方向は反時計回りとして示されているが、本開示による回転方向は、これに限定されず、時計回りであってもよく、文字認識モデル10Aの訓練データに適用された回転方向と整合させて設定されうる。
【0029】
文字認識部130Aは、横向きの縦書き文字列を示す画像データを文字認識モデル10Aに入力し、文字認識モデル10Aから当該文字列の認識結果を取得する。具体的には、文字列回転部120Aから横向きの縦書き文字列を示す画像データを取得すると、文字認識部130Aは、取得した横向きの縦書き文字列を示す画像データを文字認識モデル10Aに入力し、文字認識モデル10Aから認識結果として当該文字列のテキストデータを取得する。
【0030】
ここで、文字認識モデル10Aは、縦書き文字列を横向きに回転した横向きの縦書き文字列を示す画像データと、当該文字列の認識結果とから構成される訓練データによって訓練されうる。例えば、文字認識モデル10Aは、辞書の例文、刊行物等の様々な文章から複数の縦書き文字列を抽出し、抽出した縦書き文字列を示す画像データを反時計回り又は時計回りに90度回転した横向きの縦書き文字列を示す画像データと、縦書き文字列のテキストデータとのペアから構成される訓練データを利用して訓練されてもよい。文字認識モデル10Aは、例えば、畳み込みニューラルネットワークとして実現されてもよく、横向きの縦書き文字列を示す訓練用画像データに対して、誤差逆伝播法などの公知の訓練アルゴリズムに従って、その出力結果と正解の認識結果との差分に応じて文字認識モデル10Aのパラメータが更新されうる。このようにして訓練された文字認識モデル10Aは、
図8に示されるように、縦書きの文字列を示す画像データを横向きに回転した横向きの縦書き文字列を示す画像データを取得し、当該文字列の認識結果を出力しうる。すなわち、文字認識モデル10Aは、画像データにおける横向きの縦書き文字列の形状に基づいて、当該文字列の認識結果を推定している。
【0031】
なお、文字認識モデル10Aは、縦書き文字列の文字認識だけでなく、横書き文字列の文字認識も対応可能であってもよい。すなわち、文字認識モデル10Aはまた、横書き文字列を示す画像データを取得すると、当該文字列の認識結果を出力してもよい。
【0032】
なお、文字認識モデル10Aは、文字認識装置100Aに搭載されてもよいし、あるいは、通信接続された外部のサーバ(図示せず)に格納されてもよい。文字認識モデル10Aが外部のサーバに格納される場合、文字認識部130Aは、横向きの縦書き文字列を示す画像データを当該サーバに送信し、サーバ上で実行された文字認識モデル10Aの認識結果を取得するようにしてもよい。
【0033】
このようにして、認識対象の文字列の認識結果を取得すると、文字認識部130Aは、認識対象の文字列の認識結果をテキストデータなどの何れかのデータ形式により出力してもよい。
【0034】
図9は、本開示の第1の実施形態による文字認識処理を示すフローチャートである。当該文字認識処理は、例えば、文字認識装置100Aによって実行され、より詳細には、文字認識装置100Aのプロセッサ104がメモリ装置103に格納されたコンピュータプログラム又は指示を実行することによって実現されてもよい。
【0035】
ステップS101において、文字認識装置100Aは、縦書きの文字列を示す画像データを取得する。例えば、認識対象の文字列を含む画像データを取得すると、文字認識装置100Aは、文字であると想定される画像部分を認識し、画像部分の大きさと間隔から一行又は一列ずつ領域を特定し、特定した一塊の文字列領域の縦横比が縦長か横長かに応じて、特定した文字列領域を回転するか否かを判定する。文字列領域の縦横比が縦長である場合、文字認識装置100Aは、特定した文字列領域を回転させることを決定する。
【0036】
ステップS102において、文字認識装置100Aは、縦書き文字列を示す画像データを回転し、横向きの縦書き文字列を示す画像データを生成する。具体的には、文字認識装置100Aは、文字列領域が縦長又は縦書き文字列を検出した際に縦書き文字列を示す画像データを回転した横向きの縦書き文字列を示す画像データを生成する。例えば、文字認識装置100Aは、縦書き文字列を示す画像データを反時計回りに90度回転し、横向きの縦書き文字列を示す画像データを取得してもよい。
【0037】
ステップS103において、文字認識装置100Aは、文字認識モデル10Aを利用して、横向きの縦書き文字列を示す画像データから当該文字列の認識結果を取得する。ここで、文字認識モデル10Aは、横向きに回転された縦書き文字列を示す画像データと、当該文字列の認識結果とのペアから構成される訓練データを利用して訓練されてもよい。このようにして訓練された文字認識モデル10Aは、縦書き文字列を示す画像データを横向きに回転した横向きの縦書き文字列を示す画像データを取得すると、当該文字列のテキストデータを認識結果として出力しうる。文字認識モデル10Aから認識結果を取得すると、文字認識装置100Aは、取得した認識結果を出力する。
【0038】
上述した第1の実施形態によると、縦書きの文字列を示す画像データを90度回転した横向きの縦書き文字列を示す画像データを取得すると、当該文字列の文字認識結果を出力する文字認識モデル10Aを利用して、文字認識装置100Aは、横向きの縦書き文字列の形状から当該文字列を認識することができ、横書きの文字列を認識する従来の文字認識モデルと比較して、日本語に特有の縦書きの文字列に対する文字認識精度を向上させうる。
【0039】
[第2の実施形態]
次に、
図10を参照して、本開示の第2の実施形態による文字認識装置100Bを説明する。上述したように、本開示の第2の実施形態による文字認識装置100Bは、ルビ付きの文字及び/又は文字列に対して文字認識を実行し、当該文字及び/又は文字列の認識結果を取得する。例えば、カメラやスキャナなどによって撮像されたルビ付きの文字及び/又は文字列を示す画像データを取得すると、文字認識装置100Bは、取得した画像データを文字認識モデル10Bに入力し、文字認識モデル10Bからルビを削除した当該文字列の認識結果を取得する。
【0040】
図10は、本開示の第2の実施形態による文字認識装置100Bの機能構成を示すブロック図である。
図10に示されるように、文字認識装置100Bは、データ取得部110B及び文字認識部120Bを有する。データ取得部110B及び文字認識部120Bの各機能部は、文字認識装置100Bのメモリ装置103に格納されているコンピュータプログラムがプロセッサ104によって実行されることによって実現されてもよい。
【0041】
データ取得部110Bは、ルビが付された文字を示す画像データを取得する。具体的には、データ取得部110Bは、認識対象の文字及び/又は文字列を含む画像データを取得すると、取得された画像データを文字認識部120Bにわたす。
【0042】
文字認識部120Bは、画像データを文字認識モデル10Bに入力し、文字認識モデル10Bから文字の認識結果を取得する。ここで、文字認識モデル10Bは、ルビが付された文字及び/又は文字列を示す画像データと、当該文字及び/又は文字列の認識結果とのペアから構成される訓練データによって訓練されうる。例えば、文字認識モデル10Bは、辞書の例文、刊行物等の文章から抽出されたルビ付きの文字/文字列について、抽出したルビ付き文字/文字列を示す画像データと、ルビが削除された当該文字/文字列のテキストデータとのペアから構成される訓練データを利用して訓練されてもよい。
【0043】
図11に示されるように、ルビ付き文字及び/又は文字列を示す画像データを受け付けると、文字認識モデル10Bは、当該文字及び/又は文字列の認識結果をテキストデータなどにより出力する。文字認識モデル10Bは、例えば、畳み込みニューラルネットワークとして実現されてもよく、ルビ付き文字及び/又は文字列を示す訓練画像データに対して、誤差逆伝播法などの公知の訓練アルゴリズムに従って、その出力結果と正解の認識結果との差分に応じて文字認識モデル10Bのパラメータが更新されうる。このようにして訓練された文字認識モデル10Bは、ルビ付き文字及び/又は文字列を示す画像データを取得し、当該文字列の認識結果を出力しうる。すなわち、文字認識モデル10Bは、画像データにおけるルビ付きの文字及び/又は文字列の形状に基づいて、ルビを削除した当該文字及び/又は文字列の認識結果を推定している。
【0044】
また、文字認識モデル10Bは、ルビ付き文字及び/又は文字列を示す画像データだけでなく、ルビのない文字及び/又は文字列を示す画像データもまた文字認識できるよう訓練されてもよい。この場合、文字認識モデル10Bは、
図12に示されるように、ルビ付き文字及び/又は文字列を示す画像データだけでなく、ルビのない文字及び/又は文字列を示す画像データもまた取得すると、当該文字列の認識結果を出力する。
【0045】
なお、文字認識モデル10Bは、文字認識装置100Bに搭載されてもよいし、あるいは、通信接続された外部のサーバ(図示せず)に格納されてもよい。文字認識モデル10Bが外部のサーバに格納される場合、文字認識部120Bは、ルビが付された文字及び/又は文字列を示す画像データを当該サーバに送信し、サーバ上で実行された文字認識モデル10Bから認識結果を取得するようにしてもよい。
【0046】
このようにして、認識対象の文字列の認識結果を取得すると、文字認識部120Bは、ルビを削除した文字及び/又は文字列の認識結果をテキストデータなどの何れかのデータ形式により出力してもよい。
【0047】
一実施例では、データ取得部110Bは、ルビが付された縦書きの文字を示す画像データを取得すると、ルビが付された縦書きの文字を示す画像データを回転した横向きのルビが付された縦書き文字を示す画像データを生成し、文字認識部120Bは、横向きのルビが付された縦書き文字を示す画像データを文字認識モデル10Cに入力し、文字認識モデル10Cから当該文字の認識結果を取得してもよい。ここで、文字認識モデル10Cは、横向きのルビが付された縦書き文字を示す画像データと、文字の認識結果とのペアから構成される訓練データによって訓練されうる。例えば、文字認識モデル10Cは、ルビを含む縦書きの文字及び/又は文字列を90度回転した横向きのルビを含む縦書きの文字及び/又は文字列を示す画像データと、ルビを削除した文字及び/又は文字列の認識結果とのペアから構成される訓練データを利用して訓練されてもよい。
【0048】
図13に示されるように、ルビを含む縦書きの文字及び/又は文字列を90度回転させた横向きのルビを含む縦書きの文字及び/又は文字列を示す画像データを受け付けると、文字認識モデル10Cは、当該文字及び/又は文字列の認識結果をテキストデータなどにより出力する。文字認識モデル10Cは、例えば、畳み込みニューラルネットワークとして実現されてもよく、横向きのルビを含む縦書き文字及び/又は文字列を示す訓練画像データに対して、誤差逆伝播法などの公知の訓練アルゴリズムに従って、その出力結果と正解の認識結果との差分に応じて文字認識モデル10Cのパラメータが更新されうる。このようにして訓練された文字認識モデル10Cは、横向きのルビを含む縦書き文字及び/又は文字列を示す画像データを取得し、当該文字列の認識結果を出力しうる。すなわち、文字認識モデル10Cは、横向きのルビが付された縦書き文字及び/又は文字列の形状に基づいて、ルビを削除した当該文字及び/又は文字列の認識結果を推定している。
【0049】
図14は、本開示の第2の実施形態による文字認識処理を示すフローチャートである。当該文字認識処理は、例えば、文字認識装置100Bによって実行され、より詳細には、文字認識装置100Bのプロセッサ104がメモリ装置103に格納されたコンピュータプログラム又は指示を実行することによって実現されてもよい。
【0050】
ステップS201において、文字認識装置100Bは、ルビが付された文字を示す画像データを取得する。
【0051】
ステップS202において、文字認識装置100Bは、文字認識モデル10Bを利用して、ルビが付された文字を示す画像データから、ルビを削除した当該文字の認識結果を取得する。ここで、文字認識モデル10Bは、ルビ付きの文字及び/又は文字列を示す画像データと、当該文字及び/又は文字列の認識結果とのペアから構成される訓練データを利用して訓練されてもよい。このようにして訓練された文字認識モデル10Bは、ルビ付きの文字及び/又は文字列を示す画像データを取得すると、ルビを削除した当該文字及び/又は文字列のテキストデータを認識結果として出力しうる。文字認識モデル10Bから認識結果を取得すると、文字認識装置100Bは、取得した認識結果を出力する。
【0052】
第2の実施形態によると、ルビ付きの文字及び/又は文字列を示す画像データを取得すると、ルビを削除した当該文字及び/又は文字列の文字認識結果を出力する文字認識モデル10Bを利用して、文字認識装置100Bは、ルビ付きの文字及び/又は文字列の形状から当該文字及び/又は文字列を認識することができ、従来の文字認識モデルと比較して、日本語に特有のルビ付きの文字及び/又は文字列に対する文字認識精度を向上させうる。
【0053】
なお、上述した実施形態では、認識対象の文字及び/又は文字列は画像データによって提供されているが、本開示による文字認識処理は、これに限定されず、認識対象の文字及び/又は文字列を含む他の何れかの形式のデータによって提供されてもよい。
【0054】
以上、本開示の実施例について詳述したが、本開示は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本開示の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0055】
10,10A,10B,10C 文字認識モデル
100,100A,100B 文字認識装置
110A,110B データ取得部
120A 文字列回転部
120B,130 文字認識部