特許第6663329号(P6663329)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立ビルシステムの特許一覧

<>
  • 特許6663329-文字認識装置、及び、文字認識方法 図000002
  • 特許6663329-文字認識装置、及び、文字認識方法 図000003
  • 特許6663329-文字認識装置、及び、文字認識方法 図000004
  • 特許6663329-文字認識装置、及び、文字認識方法 図000005
  • 特許6663329-文字認識装置、及び、文字認識方法 図000006
  • 特許6663329-文字認識装置、及び、文字認識方法 図000007
  • 特許6663329-文字認識装置、及び、文字認識方法 図000008
  • 特許6663329-文字認識装置、及び、文字認識方法 図000009
  • 特許6663329-文字認識装置、及び、文字認識方法 図000010
  • 特許6663329-文字認識装置、及び、文字認識方法 図000011
  • 特許6663329-文字認識装置、及び、文字認識方法 図000012
  • 特許6663329-文字認識装置、及び、文字認識方法 図000013
  • 特許6663329-文字認識装置、及び、文字認識方法 図000014
  • 特許6663329-文字認識装置、及び、文字認識方法 図000015
  • 特許6663329-文字認識装置、及び、文字認識方法 図000016
  • 特許6663329-文字認識装置、及び、文字認識方法 図000017
  • 特許6663329-文字認識装置、及び、文字認識方法 図000018
  • 特許6663329-文字認識装置、及び、文字認識方法 図000019
  • 特許6663329-文字認識装置、及び、文字認識方法 図000020
  • 特許6663329-文字認識装置、及び、文字認識方法 図000021
  • 特許6663329-文字認識装置、及び、文字認識方法 図000022
  • 特許6663329-文字認識装置、及び、文字認識方法 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6663329
(24)【登録日】2020年2月18日
(45)【発行日】2020年3月11日
(54)【発明の名称】文字認識装置、及び、文字認識方法
(51)【国際特許分類】
   G06K 9/72 20060101AFI20200227BHJP
【FI】
   G06K9/72 B
【請求項の数】6
【全頁数】19
(21)【出願番号】特願2016-175799(P2016-175799)
(22)【出願日】2016年9月8日
(65)【公開番号】特開2018-41329(P2018-41329A)
(43)【公開日】2018年3月15日
【審査請求日】2019年1月9日
(73)【特許権者】
【識別番号】000232955
【氏名又は名称】株式会社日立ビルシステム
(74)【代理人】
【識別番号】110000279
【氏名又は名称】特許業務法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】高橋 寿一
(72)【発明者】
【氏名】新庄 広
(72)【発明者】
【氏名】主税 雅裕
(72)【発明者】
【氏名】佐々木 一朗
【審査官】 片岡 利延
(56)【参考文献】
【文献】 特開平02−121078(JP,A)
【文献】 特開平09−034889(JP,A)
【文献】 特開平06−259600(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06K 9/72
(57)【特許請求の範囲】
【請求項1】
一般の単語が登録されている一般単語辞書、及び、ユーザ固有の単語が登録されているユーザ単語辞書を保持する記憶部と、
文書を含む画像である文書画像から1以上の文字候補を特定する文字特定部と、
前記一般単語辞書及び前記ユーザ単語辞書に基づいて、前記文字特定部によって特定された1以上の文字候補の組み合わせから1以上の単語候補を特定し、単語候補の採用可能性を示すスコアを各単語候補に付与する単語候補特定部と、
前記単語候補特定部によって特定された1以上の単語候補のうち、所定の条件に適合する単語候補のスコアを調整するスコア調整部と、
各単語候補のスコアに基づいて、採用する単語候補の組み合わせを決定するスコア評価部と
を有し、
前記ユーザ単語辞書では、単語と当該単語を一部に含む合成単語とが関連付けられており、
前記スコア調整部における所定の条件に適合する単語候補とは、前記ユーザ単語辞書に基づいて抽出され、且つ、前記ユーザ単語辞書に登録されている合成単語の一部である単語候補であり、
前記スコア調整部における所定の条件に適合する単語候補とは、さらに、前記単語候補を一部に含む合成単語が前記スコア評価部において採用されている単語候補である
文字認識装置。
【請求項2】
前記スコア調整部は、前記文書画像における、所定の条件に適合する単語候補と当該単語候補を一部に含む合成単語との位置関係に基づいて、当該単語候補のスコアを調整する
請求項に記載の文字認識装置。
【請求項3】
前記スコア調整部は、前記位置関係が近くなるほど大きくなるように、所定の条件に適合する単語候補のスコアを調整する
請求項に記載の文字認識装置。
【請求項4】
前記ユーザ単語辞書に登録する単語を受け付ける単語受付部と、
前記単語受付部が受け付けた単語の一部に前記一般単語辞書に登録されている単語が含まれている場合、当該受け付けた単語を合成単語として前記一般単語辞書に登録されている単語と関連付けて前記ユーザ単語辞書に登録する辞書登録部と
をさらに有する請求項乃至の何れか1項に記載の文字認識装置。
【請求項5】
前記文書画像は、所定の技術分野に関する文書を含む画像であり、
前記合成単語は、当該技術分野で慣習的に使用されている単語である
請求項1乃至の何れか1項に記載の文字認識装置。
【請求項6】
コンピュータが文字認識機能を提供する文字認識方法であって、
記憶部が、一般の単語が登録されている一般単語辞書、及び、ユーザ固有の単語が登録されているユーザ単語辞書を保持し、
文字特定部が、文書を含む画像である文書画像から複数の文字候補を特定し、
単語候補特定部が、前記一般単語辞書及び前記ユーザ単語辞書に基づいて、前記文字特定部によって特定された複数の文字候補の組み合わせから複数の単語候補を特定し、単語候補の採用可能性を示すスコアを各単語候補に付与し、
スコア調整部が、前記単語候補特定部によって特定された複数の単語候補のうち、所定の条件に適合する単語候補のスコアを調整し、
スコア評価部が、各単語候補のスコアに基づいて、採用する単語候補の組み合わせを決定し、
前記ユーザ単語辞書では、単語と当該単語を一部に含む合成単語とが関連付けられており、
前記スコア調整部における所定の条件に適合する単語候補とは、前記ユーザ単語辞書に基づいて抽出され、且つ、前記ユーザ単語辞書に登録されている合成単語の一部である単語候補であり、
前記スコア調整部における所定の条件に適合する単語候補とは、さらに、前記単語候補を一部に含む合成単語が前記スコア評価部において採用されている単語候補である
文字認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像に含まれる文字の認識に関する。
【背景技術】
【0002】
画像に含まれる文字を認識する文字認識技術において、文字認識精度を高めるために、一般的な用語が登録されている一般用語辞書と照合して文字認識の誤りを修正する技術が知られている(特許文献1)。専門用語を多く含む技術文書の文字を認識する場合、一般用語辞書に加えて、専門用語が登録されている専門用語辞書が使用される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−22446号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、専門用語辞書を使用したとしても、文字認識が正しく修正されない、又は、誤って文字認識される場合も多い。例えば、技術文書において専門用語が省略されて記載されている場合、専門用語辞書との照合に失敗したり、専門用語辞書と一般用語辞書との照合が競合したりすることも多い。そこで、本発明の目的は、専門用語など、ユーザ固有の用語を含む文書画像の文字認識精度を高めることにある。
【課題を解決するための手段】
【0005】
一実施形態に係る文字認識装置は、
一般の単語が登録されている一般単語辞書、及び、ユーザ固有の単語が登録されているユーザ単語辞書を保持する記憶部と、
文書を含む画像である文書画像から1以上の文字候補を特定する文字特定部と、
一般単語辞書及びユーザ単語辞書に基づいて、文字特定部によって特定された1以上の文字候補の組み合わせから1以上の単語候補を特定し、単語候補の採用可能性を示すスコアを各単語候補に付与する単語候補特定部と、
単語候補特定部によって特定された1以上の単語候補のうち、所定の条件に適合する単語候補のスコアを調整するスコア調整部と、
各単語候補のスコアに基づいて、採用する単語候補の組み合わせを決定するスコア評価部と、を有する。
【発明の効果】
【0006】
本発明によれば、専門用語など、ユーザ固有の用語を含む文書画像の文字認識精度を高めることができる。
【図面の簡単な説明】
【0007】
図1】文字認識装置の構成例を示す。
図2】ユーザ単語辞書に単語を登録する処理の例を示すフローチャートである。
図3】ユーザ単語辞書の構成例を示す。
図4】文書画像の文字を認識する処理の概要を示すフローチャートである。
図5】第1の文字認識処理の例を示すフローチャートある。
図6】文書画像から文字列画像を抽出する例を示す。
図7】文字抽出対象の文字列画像を選択する例を示す。
図8】文字列画像から文字画像を抽出する例を示す。
図9】各文字候補の文字スコアを算出する例を示す。
図10】文字候補ネットワークの例を示す。
図11】一般単語辞書に基づいて単語候補を特定する例を示す。
図12】ユーザ単語辞書に基づいて単語候補を特定する例を示す。
図13】単語候補ネットワークの例を示す。
図14】接続評価ネットワークの例を示す。
図15】最適経路選択の例を示す。
図16】ユーザ単語照合ログの例を示す。
図17】文字認識結果の例を示す。
図18】リトライ判定処理の例を示すフローチャートである。
図19】重み値の算出例を示す。
図20】第2の文字認識処理の例を示すフローチャートである。
図21】照合スコアを調整後の接続評価ネットワークの例である。
図22】照合スコアを調整後の最適経路選択の例である。
【発明を実施するための形態】
【0008】
以下、実施形態を説明する。以下の説明では、「aaaテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「aaaテーブル」を「aaa情報」と呼ぶことができる。
【0009】
さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いることがあるが、これらについてはお互いに置換が可能である。
【0010】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び通信インターフェイスデバイスのうちの少なくとも1つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。
【0011】
図1は、文字認識装置10の構成例を示す。
【0012】
文字認識装置10は、ハードウェアとして、CPU12、メモリ14、及びストレージ16を有してよい。これらの構成要素は、双方向通信可能な内部バス18で接続されてよい。
【0013】
CPU12は、メモリ14に格納されているプログラムを読み出して実行することにより、本実施形態に係る種々の機能を実現する。メモリ14には、プログラム及びデータが格納される。メモリ14の例は、DRAM(Dynamic Random Access Memory)、磁気抵抗メモリ、強誘電体メモリ、及び相変化メモリなどである。ストレージ16には、プログラム及びデータが格納されてよい。ストレージ16の例は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)などである。
【0014】
文字認識装置10は、情報として、文字識別辞書420、一般単語辞書400、ユーザ単語辞書100、品詞間接続コスト辞書440、ユーザ単語照合ログ200、及び文字認識結果300を有してよい。これらの情報の一部又は全部は、メモリ14又はストレージ16に格納されてよい。
【0015】
文字識別辞書420は、画像の文字を識別するために使用される辞書である。
【0016】
一般単語辞書400は、一般的に使用される単語が登録されている辞書である。一般単語辞書400は、単語の品詞の情報も有して良い。一般単語辞書400は、形態素解析において使用される様々な情報も有して良い。
【0017】
ユーザ単語辞書100は、ユーザ固有の単語が登録されている辞書である。ユーザ固有の単語は、所定の技術分野、業界、会社又は組織などで慣用的に使用されている用語(例えば、技術用語又は専門用語など)であってよい。ユーザは、ユーザ単語辞書100に対して、単語の登録、編集及び削除などが実行できてよい。ユーザ単語辞書100は、ユーザ単語テーブル120及び合成単語テーブル140を有してよい。ユーザ単語テーブル120には、ユーザ固有の単語が格納される。合成単語テーブル140には、ユーザ単語テーブル120における単語と当該単語を一部に含む合成単語とを対応付ける情報が格納される。ユーザ単語テーブル120及び合成単語テーブル140の詳細については後述する(図3参照)。
【0018】
品詞間接続コスト辞書440は、品詞同士の接続可能性の高さを示す情報(「接続コスト」という)が登録されている辞書である。例えば、品詞間接続コスト辞書440には、名詞の次に助詞が接続される接続コストや、接続詞の次に名詞が接続される接続コストなどが登録されている。
【0019】
ユーザ単語照合ログ200には、ユーザ単語辞書100と照合された単語候補が文字認識結果300に採用されたか否かに関する情報が格納される。ユーザ単語照合ログ200の詳細については後述する(図16参照)。
【0020】
文字認識結果300には、文書画像に対して認識結果として採用された文字列(テキストデータ)が格納される。文字認識結果300の詳細については後述する(図17参照)。
【0021】
文字認識装置10は、機能として、単語受付部20、辞書登録部22、文書画像受付部24、レイアウト解析部26、文字特定部28、単語候補特定部30、評価部32、結果出力部34、リトライ判定部36、リトライ実行部38、及び、重み値算出部40を有してよい。これらの機能は、メモリ14又はストレージ16に格納されたプログラムがCPU12で実行されることにより、実現されてよい。
【0022】
単語受付部20は、ユーザ単語辞書100に登録する単語の入力を受け付ける。単語受付部20は、ユーザから単語の入力を受け付けても良いし、登録対象の単語を含むテキストデータを読み込んでもよい。
【0023】
辞書登録部22は、単語受付部20が受け付けた単語(「入力単語」という)を、ユーザ単語辞書100に登録する。辞書登録部22は、入力単語の一部に一般単語辞書400に登録されている単語が含まれている場合、当該入力単語を合成単語として、その一般単語辞書400に登録されている単語と関連付けて、単語をユーザ単語辞書100に登録してよい。
【0024】
文書画像受付部24は、文字認識対象の文書画像を受け付ける。文書画像は、紙文書をイメージスキャナでスキャンした画像データであっても良いし、紙文書をカメラで撮影した画像データであってもよい。文書画像に含まれる文字は、手書き文字であっても良いし、機器によって出力された文字であっても良い。文書画像に含まれる文字は、日本語に限られず、英語やドイツ語など、外国語であってもよい。
【0025】
レイアウト解析部26は、文書画像における文字列のレイアウト構成を解析する。レイアウト構成の例は、縦書き、横書き、及び2段組などである。
【0026】
文字特定部28は、文書画像から1以上の文字候補を特定する。文字候補とは、文字画像に含まれている可能性があると特定された文字の1つである。文字画像は、文書画像の1文字と推定される領域が抽出されたものであってよい。1つの文字画像からは、複数の文字候補が特定されてよい。
【0027】
単語候補特定部30は、文字特定部28によって特定された1以上の文字候補の組み合わせに対して、一般単語辞書400及びユーザ単語辞書100を照合し、1以上の単語候補を特定する。また、単語候補特定部30は、その特定した1以上の単語候補のそれぞれに照合スコアを付与する。照合スコアとは、単語候補が認識結果として採用される可能性の高さを示すスコアである。照合スコアの高い単語候補ほど、認識結果として採用されやすくなる。
【0028】
評価部32は、各単語候補の照合スコアや、単語候補同士の品詞間の接続コストなどに基づいて、認識結果として採用する単語候補の組み合わせを決定する。
【0029】
結果出力部34は、認識結果として採用された単語候補の組み合わせを、文字認識結果300に出力する。また、結果出力部34は、ユーザ単語辞書100から参照された単語候補が認識結果として採用されたか否かに関する情報を、ユーザ単語照合ログ200に出力する。
【0030】
リトライ判定部36は、ユーザ単語照合ログ200に格納された単語候補(すなわち、ユーザ単語候補212)のそれぞれについて、所定の条件に基づいて、文字認識のリトライ対象とするか否かを判定する。所定の条件に適合する場合とは(つまり、リトライ対象と判定される場合とは)、ユーザ単語候補212がユーザ単語辞書に登録されている合成単語の一部(つまり、分割単語)である場合であってもよいし、それに加えて、その合成単語が認識結果として採用されている場合であってもよい。
【0031】
重み値算出部40は、リトライ判定部36においてリトライ対象と判定されたユーザ単語候補212の参照スコアに対する重み値を算出する。重み値は、参照スコアの調整量に関連する値であってよい。参照スコアは、重み値が大きくなるほど、大きくなるように調整されてよい。
【0032】
リトライ実行部38は、リトライ判定部36においてリトライ対象と判定されたユーザ単語候補212の参照スコアを、重み値算出部40によって算出された重み値を用いて調整する。典型的には、このユーザ単語候補212の参照スコアは、重み値によって大きくなってよい。
【0033】
リトライ判定部36、重み値算出部40、及びリトライ実行部38をまとめて、スコア調整部と呼んでもよい。なお、後述においても、上記の各部の更なる機能を説明している。
【0034】
図2は、ユーザ単語辞書100に単語を登録する処理の例を示すフローチャートである。
【0035】
(S10)単語受付部20は、ユーザ単語辞書100に登録する単語の入力を受け付ける。単語は、所定の分野、企業、業界又は組織などで慣用的に使用されている用語(専門用語、技術用語、業界用語、社内用語など)であってよい。単語は、ユーザによって手動で入力されてもよいし、所定のテキスト文書から自動的に入力されてもよい。
【0036】
(S12)辞書登録部22は、S10で入力された単語(「入力単語」という)を、ユーザ単語辞書100に登録する。
【0037】
(S14)辞書登録部22は、一般単語辞書400を参照し、入力単語の一部に一般単語辞書400に登録されている一般単語が1以上含まれているか否かを判定する。辞書登録部22は、当該判定が否定的な場合(S14:NO)、本処理を終了する。すなわち、この入力単語は、一般単語を一部に含む(一般単語の組み合わせからなる)合成単語ではないと判断する、当該判定が肯定的な場合(S14:YES)、S16へ進む。
【0038】
(S16)辞書登録部22は、入力単語に含まれる1以上の一般単語とそれ以外の1以上の単語とに分割し、品詞間接続コスト辞書440を参照して、その分割した単語間に品詞間接続コストを付与する。分割された単語のそれぞれは「分割単語」と呼ばれてよい。入力単語に対する分割単語の組み合わせパターンは、複数存在する場合もある。この場合、辞書登録部22は、パターンのそれぞれに対して品詞間接続コストを付与する。1つのパターンを構成する分割単語の組み合わせは「経路」と呼ばれて良い。
【0039】
(S18)辞書登録部22は、各経路の中から最適経路を選択する。最適経路は、経路上の品詞間接続コストの合計が最大となる経路であってよい。
【0040】
(S20)辞書登録部22は、入力単語と、最適経路を構成する各分割単語とを関連付けて、ユーザ単語辞書100に登録する。この場合の入力単語は、合成単語である。すなわち、合成単語は、分割単語の組み合わせから構成される単語であってよい。
【0041】
図3は、ユーザ単語辞書100の構成例を示す。
【0042】
ユーザ単語辞書100は、ユーザ固有の単語を管理すると共に、分割単語及び合成単語の関係を管理する。ユーザ単語辞書100は、ユーザ単語テーブル120と、合成単語テーブル140とを有してよい。
【0043】
ユーザ単語テーブル120は、データ項目値として、第1ID122、単語124、品詞126、合成単語数128、及び参照第2ID130を有してよい。
【0044】
第1ID122は、ユーザ単語テーブル120のレコードの識別子である。
【0045】
単語124は、ユーザ単語テーブル120に登録されているユーザ固有の単語である。
【0046】
品詞126は、単語124の品詞情報である。
【0047】
合成単語数128は、単語124を含む合成単語の数である。例えば、ユーザ単語テーブル120に、単語124「ブレーキ」を含む合成単語が、「ブレーキドラム」、「ブレーキレバー」及び「マグネットブレーキ」の3つ存在する場合、単語124「ブレーキ」の合成単語数128は「3」となる。合成単語数128「0」の単語124は、何れの合成単語にも含まれていないことを示す。したがって、合成単語数128が1以上の単語124は、分割単語であるといえる。
【0048】
参照第2ID130は、第1ID122と対応付けられている、合成単語テーブル140の第2ID142である。
【0049】
合成単語テーブル140は、データ項目値として、第2ID142、及び参照第1ID144を有してよい。
【0050】
第2ID142は、合成単語テーブル140のレコードの識別子である。
【0051】
参照第1ID144は、第2ID142と対応付けられている、ユーザ単語テーブル120120の第1ID122である。
【0052】
以下、単語受付部20が、入力単語「ブレーキドラム」を受領した場合の処理の一例を、図2も参照しながら説明する。
【0053】
辞書登録部22は、S12において、入力単語「ブレーキドラム」を、例えば、ユーザ単語テーブル120の第1ID122「5」に対応する単語124に登録する。
【0054】
そして、辞書登録部22は、S14〜S18において、「ブレーキドラム」から、一般単語「ブレーキ」と「ドラム」を抽出する。
【0055】
そして、辞書登録部22は、それら抽出した一般単語「ブレーキ」と「ドラム」を、分割単語としてユーザ単語テーブル120120に登録すると共に、「ブレーキドラム」を合成単語として当該分割単語と関連付ける。関連付けは、例えば、次のように行われる。
【0056】
辞書登録部22は、例えば、合成単語テーブル140の第2ID142「2」に対応する参照第1ID144に、ユーザ単語テーブル120の単語124「ブレーキドラム」に対応する第1ID122「5」を登録する。そして、辞書登録部22は、ユーザ単語テーブル120において、単語124「ドラム」に対応する参照第2ID130に、上述の合成単語テーブル140の第2ID142「2」を登録する。
【0057】
同様に、辞書登録部22は、例えば、合成単語テーブル140の第2ID142「3」に対応する参照第1ID144に、ユーザ単語テーブル120の単語124「ブレーキドラム」に対応する第1ID122「5」を登録する。そして、辞書登録部22は、ユーザ単語テーブル120において、単語124「ブレーキ」に対応する参照第2ID130に、上述の合成単語テーブル140の第2ID142「3」を登録する。
【0058】
以上の処理によれば、ユーザ単語辞書100において、単語124が分割単語であるか否か、及び、分割単語が何れの合成単語から派生したものであるかを管理することができる。
【0059】
ユーザ単語辞書100に登録された単語を上記のように分割する理由は、専門用語は、複数の単語の組み合わせである場合が多いからである。
【0060】
図4は、文書画像の文字を認識する処理の概要を示すフローチャートである。
【0061】
(S20)文字認識装置10は、第1の文字認識処理を実行する。この処理については、図5で説明する。
【0062】
(S22)文字認識装置10は、リトライ判定処理を実行する。この処理については、図18で説明する。
【0063】
(S24)文字認識装置10は、重み値算出処理を実行する。この処理については、図19で説明する。
【0064】
(S26)文字認識装置10は、第2の文字認識処理を実行する。この処理については、図20で説明する。
【0065】
以上の処理により、文書画像に含まれる文字がテキストデータとして認識及び出力される。
【0066】
図5は、第1の文字認識処理の例を示すフローチャートある。この処理は、図4のS20の処理に相当する。
【0067】
(S40)文書画像受付部24は、処理対象の文書画像1000(図6参照)の入力を受け付ける。文書画像は、1つであっても良いし、複数であってもよい。
【0068】
(S42)レイアウト解析部26は、S40で取得した文書画像1000に含まれる文書のレイアウト構造を解析する。
【0069】
(S44)文字特定部28は、S42で解析した文書のレイアウト構造に基づいて、図6の例に示すように、文書画像1000から、文字列の部分の画像(「文字列画像」という)1002A、1002Bを抽出する。そして、文字特定部28は、それら抽出した文字列画像1002A、1002Bの中から、図7の例に示すように、文字抽出の対象とする文字列画像1002Bを選択する。以下のS46〜S58の処理は、この選択した1つの文字列画像1002Bに対する処理である。したがって、文書画像の全体について文字認識を行うには、文書画像から抽出された全ての文字列画像について、以下のS46〜S58の処理を実行する必要がある。
【0070】
(S46)文字特定部28は、文字列画像1002Bから、図8の例に示すように、1文字と推測される画像(つまり、文字画像)1004を切り出す。
【0071】
(S48)文字特定部28は、文字識別辞書420に基づいて、S46で切り出した各文字画像1004に、1以上の文字候補1200を対応付ける。文字特定部28は、図9の例に示すように、各文字候補1200の文字スコア1202を算出してよい。文字スコア1202は、その文字候補1200が採用される可能性の高さを示す値である。例えば、文字特定部28は、図9の文字画像1004について、文字候補1200「ク」の文字スコア1202を「0.73」、文字候補1200「チ」の文字スコア1202を「0.71」、文字候補1200「ヂ」の文字スコア1202を「0.69」、文字候補1200「タ」の文字スコア1202を「0.68」と算出してよい。
【0072】
(S50)単語候補特定部30は、S48で文字列画像1002Bの各文字画像1004に対応付けられた複数の文字候補1200の組み合わせから、一般単語辞書400に基づいて1以上の単語候補1210(図11参照)を特定する。文字画像1004は必ずしも1文字が正しく切り出されているとは限らない。したがって、単語候補特定部30は、図10のように、文字の切り出し方の曖昧性を許容した文字候補のネットワーク(組み合わせパターン)を一般単語辞書400と照合することにより、単語候補1210を特定してもよい。図11は、単語候補特定部30が、文字列画像1002に含まれる文字候補の組み合わせ部分1006を一般単語辞書400と照合することにより、「ッ」、「ブチ」、「ブタ」、「チ」、「クラ」、「クラブ」、「クラック」、「ラブ」の単語候補1210を特定した例である。また、単語候補特定部30は、各単語候補1210の照合スコアを算出してよい。照合スコアは、その単語候補が採用される可能性の高さを示す値である。例えば、単語候補特定部30は、図11のように、単語候補1210「クラック」の照合スコアを「3.31」と算出してよい。
【0073】
(S52)単語候補特定部30は、S48で文字列画像1002Bの各文字画像1004に対応付けられた複数の文字候補1200の組み合わせから、ユーザ単語辞書100に基づいて1以上の単語候補を特定する。この処理は、照合する辞書が異なる以外、上記S50と同様の処理であってよい。図12は、単語候補特定部30が、文字列画像1002に含まれる文字候補の組み合わせ部分1006を、ユーザ単語辞書100と照合することにより、「クラッチ」の単語候補1210を特定した例である。また、単語候補特定部30は、図12に示すように、単語候補1210「クラッチ」の参照スコアを「3.29」と算出してよい。
【0074】
(S54)評価部32は、S50及びS52で特定した複数の単語候補1210を組み合わせて、単語候補のネットワーク(単語候補の組み合わせのパターン)を作成する。図13は、単語候補特定部30が、文字候補の組み合わせ部分1006について、「クラ・ブチ」、「クラ・ッ・チ」、「クラブ・チ」、「クラック」、「クラッチ」の単語候補のネットワーク1300を作成した例である。そして、評価部32は、品詞間接続コスト辞書440を参照し、その作成した単語候補のネットワーク1300に接続コストを付与し、接続評価のネットワークを作成する。接続コストは、単語候補の品詞同士が接続する可能性の高さを示す値である。例えば、評価部32は、図14に示すように、接続詞である「ならびに」と名詞である「クラック」との間に、接続詞の次に名詞が接続される接続コストを付与したり、名詞である「クラッチ」と助詞である「が」との間に、名詞の次に助詞が接続される接続コストを付与したりする。
【0075】
(S56)評価部32は、S54で作成した接続評価のネットワーク1400から、図15の例に示すように、最適経路を選択する。評価部32は、単語候補1210の照合スコアと単語候補1210の間の接続コストの合計が最大となる経路を、最適経路として選択してよい。図15の接続評価のネットワーク1400では、単語候補1210「クラック」の照合スコア「3.31」が、単語候補1210「クラッチ」の照合スコア「3.29」よりも大きいので、評価部32は、「ならびに・クラック・が」を最適経路に選択している。
【0076】
(S58)結果出力部34は、S56で選択した最適経路に基づいて、ユーザ単語照合ログ200(図16参照)と文字認識結果300(図17参照)とを出力する。
【0077】
図16は、ユーザ単語照合ログ200の構成例を示す。
【0078】
ユーザ単語照合ログ200には、ユーザ単語辞書100と照合された単語候補が文字認識結果300に採用されたか否かに関する情報が格納される。ユーザ単語照合ログ200は、結果出力部34によって出力されてよい。
【0079】
ユーザ単語照合ログ200は、データ項目値として、ID202、全体行番号204、ページ番号206、行番号208、単語座標210、ユーザ単語候補212、照合スコア214、参照第1ID216、及び、採用有無218を有してよい。
【0080】
ID202は、ユーザ単語照合ログ200のレコードの識別子である。
【0081】
全体行番号204は、全ての文書画像に含まれる行のうちの、ユーザ単語候補212が照合された行の番号である。
【0082】
ページ番号206は、全ての文書画像のうちの、ユーザ単語候補212が照合された文書画像のページ番号である。
【0083】
行番号208は、ページ番号206の文書画像に含まれる行のうちの、ユーザ単語候補212が照合された行の番号である。
【0084】
単語座標210は、ページ番号206の文書画像においてユーザ単語候補212が照合された座標である。単語座標210は、ユーザ単語候補212を含む矩形領域の左上の座標(左220及び上221)と右下の座標(右222及び下223)とによって構成されてよい。
【0085】
ユーザ単語候補212は、全体行番号204によって特定される位置(ページ番号206と単語座標210によって特定される位置、又は、ページ番号206と行番号208によって特定される位置)において、ユーザ単語辞書100によって照合された単語候補である。
【0086】
照合スコア214は、ユーザ単語候補212の照合スコアである。
【0087】
参照第1ID216は、ユーザ単語テーブル120において、ユーザ単語候補212が照合された単語124のレコードの第1ID122である。
【0088】
採用有無218は、ユーザ単語候補212が認識結果として採用されたか否かを示す情報(フラグ)である。図16の例では、「○」は採用されたこと、「×」は採用されなかったことを示す。
【0089】
図17は、文字認識結果300の構成例を示す。
【0090】
文字認識結果300には、文字列画像1002に対して採用された文字列(「採用文字列」という)のテキストデータが格納される。採用文字列は、評価部32が最適経路として選択した単語候補の組み合わせであってよい。文字認識結果300は、結果出力部34によって出力されてよい。
【0091】
文字認識結果300は、データ項目値として、ID302、ページ番号304、行番号306、採用文字列308、単語座標310を有してよい。
【0092】
ID302は、文字認識結果300のレコードの識別子である。
【0093】
ページ番号304は、全ての文書画像のうちの、採用文字列308が位置する文書画像のページ番号である。
【0094】
行番号306は、ページ番号304の文書画像に含まれる行のうちの、採用文字列308が位置する行の番号である。
【0095】
採用文字列308は、ページ番号304と行番号306によって特定される位置において、採用された文字列のテキストデータである。
【0096】
単語座標310は、ページ番号304の文書画像において採用文字列308が位置する座標である。単語座標310は、図16のユーザ単語照合ログ200200の単語座標210と同様、採用文字列308を含む矩形領域の左上の座標(左320及び上322)と右下の座標(右324及び下326)とによって構成されてよい。
【0097】
図18は、リトライ判定処理の例を示すフローチャートである。この処理は、図4のS22の処理に相当する。
【0098】
リトライ判定部36は、ユーザ単語照合ログ200の各ユーザ単語候補212に対して、次のリトライ判定処理を実行してよい。
【0099】
(S70)リトライ判定部36は、ユーザ単語照合ログ200のユーザ単語候補212が、分割単語であるか否かを判定する。例えば、リトライ判定部36は、ユーザ単語候補ログ200のユーザ単語候補212に対応する参照第1ID216を参照し、ユーザ単語テーブルのその参照第1ID216と適合する第1ID122の合成単語数128を参照する。そして、リトライ判定部36は、その合成単語数128が「0」の場合、分割単語でないと判定し、合成単語数128が「0より大きい」場合、分割単語と判定してよい。
【0100】
リトライ判定部36は、ユーザ単語候補212が分割単語であると判定した場合(S70:YES)、S72へ進み、分割単語でないと判定した場合(S70:NO)、このユーザ単語候補212のリトライフラグを「偽」として(S82)、本処理を終了する。
【0101】
(S72)リトライ判定部36は、ユーザ単語候補212が、文字認識結果300として採用されているか否かを判定する。例えば、リトライ判定部36は、ユーザ単語照合ログ200のユーザ単語候補212に対応する採用有無218を参照して、当該判定を行う。
【0102】
リトライ判定部36は、ユーザ単語候補212が採用されていない場合(S72:NO)、S74へ進み、採用されている場合(S72:YES)、このユーザ単語候補212のリトライフラグを「偽」として(S82)、本処理を終了する。
【0103】
(S74)リトライ判定部36は、ユーザ単語候補212(つまり分割単語)を含む合成単語のうち、文字認識結果300として採用されている合成単語が存在するか否かを判定する。例えば、リトライ判定部36は、ユーザ単語テーブル120及び合成単語テーブル140を参照し、このユーザ単語候補212を含む合成単語を特定する。そして、リトライ判定部36は、ユーザ単語照合ログ200から、その特定した合成単語と適合するユーザ単語候補212を有するレコードを特定する。そして、リトライ判定部36は、それら特定したレコードの少なくとも1つの採用有無218が「○」の場合(S74:YES)、S76へ進み、それら特定したレコードの全ての採用有無218が「×」の場合(S74:NO)、このユーザ単語候補212のリトライフラグを「偽」として(S82)、本処理を終了する。
【0104】
(S76)リトライ判定部36は、ユーザ単語候補212に係る単語座標310と、S74に係る採用有無218が「○」の合成単語の単語座標210とが適合するか否かを判定する。リトライ判定部36は、ユーザ単語候補212の単語座標310と合成単語の単語座標210とが適合しない場合(S76:NO)、このユーザ単語候補212のリトライフラグを「真」として、本処理を終了する。リトライ判定部36は、ユーザ単語候補212の単語座標310と合成単語の単語座標210とが適合する場合(S76:YES)、このユーザ単語候補212のリトライフラグを「偽」として、本処理を終了し、
【0105】
すなわち、リトライフラグが「真」となる場合とは、ユーザ単語候補212が文字認識結果300として採用されており、且つ、このユーザ単語候補212を分割単語として含む合成単語が別の単語座標において文字認識結果300として採用されている場合である。このリトライフラグが「真」となったユーザ単語候補を「リトライ分割単語」と呼び、このリトライ分割単語を含む別の単語座標において文字認識結果300として採用されている合成単語を「リトライ参照合成単語」を呼んでもよい。
【0106】
図19は、重み値の算出例を説明する図である。以下、図19を参照しながら、図4のS24の処理を説明する。
【0107】
重み値算出部40は、リトライ分割単語とリトライ参照合成単語との位置関係に基づいて、リトライ分割単語の参照スコアに付与する重み値1100を算出する。位置関係は、例えば、2つの単語座標間の距離、又は、2つの単語間の行数などであってよい。
【0108】
重み値算出部40は、重み値1100を、リトライ分割単語とリトライ参照合成単語の位置関係が近くなるほど、大きくなるように算出してよい。
【0109】
重み値1100の位置関係に対する変化の割合は、リトライ参照合成単語がリトライ分割単語よりも前に位置する場合と、リトライ参照合成単語がリトライ分割単語よりも後に位置する場合とで異なってよい。例えば、図19に示すように、リトライ参照合成単語がリトライ分割単語よりも後に位置する場合の重み値1100の位置関係に対する変化の割合は、リトライ参照合成単語がリトライ分割単語よりも前に位置する場合の重み値1100の位置関係に対する変化の割合よりも、大きくてよい。
【0110】
重み値を上記のように算出する理由は、技術文書の場合、合成単語とその合成単語から派生した分割単語とが近くに記載される場合が多いからである。すなわち、上述のように、ユーザ単語辞書100から特定された単語候補のうち、所定の条件に適合する単語候補の参照スコアに対して適切に重み付けを行うことにより、一般単語辞書400から特定された単語候補とユーザ単語辞書100から特定された単語候補との何れを採用すべきか判断が難しい場合に、より高い確率で正しい方を選択することができるようになる。
【0111】
図20は、第2の文字認識処理の例を示すフローチャートである。本処理は、図4のS26の処理の詳細に相当する。
【0112】
(S100)文書画像受付部24は、図5のS40と同じ文書画像を取得する。
【0113】
(S102)リトライ実行部38は、S100で取得した文書画像から、リトライフラグが「真」のユーザ単語候補(つまり、リトライ分割単語)を含む文字列画像を抽出する。この抽出した文字行画像を「リトライ文字列画像」と呼ぶ。
【0114】
(S104)文字特定部28は、リトライ文字列画像から、S46と同様に、文字画像1004を切り出す。
【0115】
(S106)文字特定部28は、S48と同様に、S104で切り出した各文字画像1004に、文字識別辞書420に基づいて1以上の文字候補1200を対応付ける。
【0116】
(S108)単語候補特定部30は、S50と同様に、S106でリトライ文字列画像の各文字画像1004に対応付けられた複数の文字候補1200の組み合わせから、一般単語辞書400に基づいて1以上の単語候補1210を特定する。
【0117】
(S110)単語候補特定部30は、S52と同様に、S106でリトライ文字列画像の各文字画像1004に対応付けられた複数の文字候補1200の組み合わせから、ユーザ単語辞書100に基づいて1以上の単語候補1210を特定する。
【0118】
(S112)評価部32は、S54と同様に、S108及びS110で特定した複数の単語候補1210を組み合わせて、候補単語のネットワーク1300を作成する。そして、評価部32は、品詞間接続コスト辞書440を参照し、その作成した単語候補のネットワーク1300に接続コストを付与し、接続評価のネットワークを作成する。
【0119】
(S114)リトライ実行部38は、S112で作成した接続評価のネットワークを、重み値算出部40によって算出された重み値を用いて調整する。図21は、図14の接続評価のネットワーク1402を、重み値を用いて調整した後の接続評価のネットワーク1402の例である。ユーザ単語辞書100によって特定された単語候補1210「クラッチ」の照合スコアが、図14では「3.29」であったものが、重み値を付与することで、図21では「3.45」に大きくなっている。
【0120】
(S116)評価部32は、S114で調整された接続評価のネットワーク1402から、図22の例に示すように、最適経路を選択する。図22の接続評価のネットワーク1402では、S114の調整により、単語候補1210「クラッチ」の照合スコア「3.45」が、単語候補1210「クラック」の照合スコア「3.31」よりも大きくなっているので、評価部32は、「ならびに・クラッチ・が」を最適経路に選択している。すなわち、ユーザ単語辞書100に登録されている「クラッチ」が適切に採用されている。
【0121】
(S118)結果出力部34は、S116で選択した最適経路に基づいて、文字認識結果300を修正する。本実施形態の場合、第1の文字認識処理では「ならびに・クラック・が」と認識されていたものが、第2の文字認識処理で「ならびに・クラッチ・が」に修正される。
【0122】
以上の処理によれば、ユーザ単語辞書に登録されている単語及びその単語から派生した分割単語が適切に採用されるので、専門用語など、ユーザ固有の用語を含む文書画像の文字認識精度を高めることができる。
【0123】
上述した実施形態は、本発明の説明のための例示であり、本発明の範囲を実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【0124】
10:文字認識装置 20:単語受付部 22:辞書登録部 24:文書画像受付部 26:レイアウト解析部 28:文字特定部 30:単語候補特定部 32:評価部 34:結果出力部 36:リトライ判定部 38:リトライ実行部 40:重み値算出部 100:ユーザ単語辞書 200:ユーザ単語照合ログ 300:文字認識結果 400:一般単語辞書
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22