(57)【要約】【課題】名刺等に記述されている各部分の文字列が何の情報を示しているのかを予めあるいは認識時に指定する必要がなく、地名に酷似した氏名等が含まれている場合でも、名刺等の各部の文字列を正しい情報として取得すること。【解決手段】情報処理装置１００のＣＰＵが、スキャナ２００で読み取った名刺上の各文字列を意味属性で分類する際に、前記各文字列毎に、ＤＢ１０５〜１０７を参照して、前記文字列を分析して前記文字列の前記各意味属性に対する割り当ての尤らしさを示すスコアを複数のスコア付与方法によりそれぞれ付与し、前記各文字列の前記各意味属性への割り当て組み合わせパターン毎の前記それぞれ付与されたスコアの合計値に基づいて、前記いずれかの組み合わせパターンを選択し、該選択した組み合わせパターンで、前記各文字列を前記各意味属性に分類する構成を特徴とする。【選択図】図１
2006185342.tif 000002
【特許請求の範囲】
【請求項１】
複数の意味属性のいずれかに割り当てられた複数の文字列から構成される文字列群内の各文字列を前記意味属性毎に分類する情報処理装置において、
前記文字列を分析して前記文字列の前記各意味属性に対する割り当ての尤らしさを示すスコアを付与する１又は複数のスコア付与手段と、
前記各文字列の前記各意味属性への割り当て組み合わせパターン毎の前記各スコア付与手段によりそれぞれ付与されたスコアの合計値に基づいて、前記いずれかの組み合わせパターンを選択し、該選択した組み合わせパターンで、前記各文字列を前記各意味属性に分類する分類手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記１又は複数のスコア付与手段は、
文字列と前記各意味属性とを関連付けてスコアを持たせた辞書データを記憶する第１の記憶手段と、前記辞書データに基づいて前記文字列の前記各意味属性に対するスコアを付与する第１の付与手段とから構成される辞書スコア付与手段を、
含むことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記１又は複数のスコア付与手段は、
文字列と前記各意味属性とを関連付ける文字列ルールにスコアを持たせたルールデータを記憶する第２の記憶手段と、前記ルールデータに基づいて前記文字列の前記各意味属性に対するスコアを付与する第２の付与手段とから構成される辞書スコア付与手段を、
含むことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記１又は複数のスコア付与手段は、前記文字列群の書式に応じた確率モデルに基づいて前記文字列の前記各意味属性に対するスコアを付与する第３の付与手段とから構成される確率モデルスコア付与手段を、
含むことを特徴とする請求項１又は２記載の情報処理装置。
【請求項５】
前記文字列分類装置は、
１つの文字列が２つ以上の意味属性を持つ場合にスコア算出を行うことを特徴とする請求項１及び２記載の情報処理装置。
【請求項６】
前記各文字列は、画像データより読み取られた文字列であることを特徴とする請求項１〜５のいずれかに記載の情報処理装置。
【請求項７】
前記各文字列は、名刺に対応する画像データより読み取られた文字列であり、
前記各意味属性は、氏名，役職，住所，電話番号，会社名を含むことを特徴とする請求項１〜５のいずれかに記載の情報処理装置。
【請求項８】
複数の意味属性のいずれかに割り当てられた複数の文字列から構成される文字列群内の各文字列を前記意味属性毎に分類可能な情報処理装置における文字列分類方法において、
前記各文字列毎に、前記文字列を分析して前記文字列の前記各意味属性に対する割り当ての尤らしさを示すスコアを付与する１又は複数のスコア付与ステップと、
前記各文字列の前記各意味属性への割り当て組み合わせパターン毎の前記各スコアステップでそれぞれ付与されたスコアの合計値に基づいて、前記いずれかの組み合わせパターンを選択し、該選択した組み合わせパターンで、前記各文字列を前記各意味属性に分類する分類ステップと、
を有することを特徴とする文字列分類方法。
【請求項９】
請求項８に記載された文字列分類方法をコンピュータが実行するためのプログラム。
【請求項１０】
請求項８に記載された文字列分類方法をコンピュータが実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字認識および文字認識結果として得られる文字列の表す意味的情報区分を分類する情報処理装置および文字列分類方法およびプログラムおよび記録媒体に関する。
【背景技術】
【０００２】
一定形式の画像、即ち、どの位置にどのような意味を持つ文字列が記述されているかをあらかじめ登録されているか、利用者に指定させることで、特定の位置には氏名が、また別の特定の位置には住所が記述されていることを認識するシステムが従来より存在している。
【０００３】
また、特許文献１には、名刺の文字認識を行う際に、名刺の各行において、特定の分類を表す識別子となる単語（人名や「株式」などの特徴的な語）を含むことを利用して、名刺中の情報に特定の分類を与えていく文字認識装置が記載されている。
【特許文献１】特開平１０−７８９９７公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来のシステムにおいては、名刺の中に現れる文字列の位置情報を利用しているため、あらかじめ文字列出現位置パターンを登録する必要があった。そうでない場合には、文字列をブロックに分割し、どれが氏名か住所かを人間が介在して指定する処理をユーザに強いるものであり、非常に煩雑であった。
【０００５】
また、例えば、横型の名刺の場合は、上部左側から真中にかけて会社名があり、また真中に大きく、氏名が印刷されている等のおおよその位置情報を予め登録してあるものもあった。
【０００６】
しかしこの場合、新しいパターンの名刺が出現した場合には、新たな文字列出現位置パターンを登録しなけなければ名刺認識をすることが出来ないと言う問題点があった。
【０００７】
また、上記特許文献１に記載された文字認識装置では、文字列毎にその意味属性を判断しているため、例えば、「秋田県（あきたあがた）」や「吉野村政」のような、地名に酷似した氏名の場合、該氏名を地名と誤認識してしまう可能性が高かった。
【０００８】
従って、上記特許文献１の文字認識技術を利用したとしても、どの文字列が住所であり、別のどの文字列が氏名であるといった分類を、正確に行うためには、結局、ユーザのチェックが不可欠であり、非常に煩雑であるといった問題点があった。
【０００９】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、複数の意味属性のいずれかに割り当てられた複数の文字列から構成される文字列群内の各文字列を前記意味属性毎に分類する際に、前記各文字列毎に、前記文字列を分析して前記文字列の前記各意味属性に対する割り当ての尤らしさを示すスコアを複数のスコア付与方法によりそれぞれ付与し、前記各文字列の前記各意味属性への割り当て組み合わせパターン毎の前記それぞれ付与されたスコアの合計値に基づいて、前記いずれかの組み合わせパターンを選択し、該選択した組み合わせパターンで、前記各文字列を前記各意味属性に分類する（即ち、文字列群全体を考慮して各文字列の意味属性を分類する）ことにより、名刺等に記述されている各部分の文字列が何の情報を示しているのかを予めあるいは認識時に指定する必要がなく、名刺等の各部の文字列を正しい情報として取得することができる情報処理装置および文字列分類方法およびプログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【００１０】
本発明は、複数の意味属性のいずれかに割り当てられた複数の文字列から構成される文字列群内の各文字列を前記意味属性毎に分類する情報処理装置において、前記文字列を分析して前記文字列の前記各意味属性に対する割り当ての尤らしさを示すスコアを付与する１又は複数のスコア付与手段と、前記各文字列の前記各意味属性への割り当て組み合わせパターン毎の前記各スコア付与手段によりそれぞれ付与されたスコアの合計値に基づいて、前記いずれかの組み合わせパターンを選択し、該選択した組み合わせパターンで、前記各文字列を前記各意味属性に分類する分類手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数の意味属性のいずれかに割り当てられた複数の文字列から構成される文字列群内の各文字列を前記意味属性毎に分類する際に、前記各文字列毎に、前記文字列を分析して前記文字列の前記各意味属性に対する割り当ての尤らしさを示すスコアを複数のスコア付与方法によりそれぞれ付与し、前記各文字列の前記各意味属性への割り当て組み合わせパターン毎の前記それぞれ付与されたスコアの合計値に基づいて、前記いずれかの組み合わせパターンを選択し、該選択した組み合わせパターンで、前記各文字列を前記各意味属性に分類するので、名刺等に記述されている各部分の文字列が何の情報を示しているのかを予めあるいは認識時に指定する必要がなく、名刺等の各部の文字列を正しい情報として取得することができる等の効果を奏する。
【００１２】
従って、文字列を名刺等の原稿内における位置によってではなく、文字列群全体を考慮して、文字列の意味属性を特定するので、例えば、「秋田県（あきたあがた）」や「吉野村政」のような、地名に酷似した氏名でも、地名と誤認識することなく、氏名として分類可能である。
【００１３】
結果として、例えば名刺データベースなどの後続のアプリケーションに渡すときに、ある文字列が氏名なのか住所なのか、などを人手によりチェックし指定あるいは修正する必要を省力化することが出来る。
【発明を実施するための最良の形態】
【００１４】
〔第１実施形態〕
以下、図面を参照して、本発明の詳細を説明する。
【００１５】
図１は、本発明の第１実施形態を示す情報処理装置を適用可能なシステムの一例を示すシステム構成図である。
【００１６】
図１において、１００は文字列認識装置としての情報処理装置である。この情報処理装置１００は、画像入力装置２００（例えばスキャナやデジタルカメラ）から入力されるイメージデータ上の文字列をＯＣＲ認識する。そして、情報処理装置１００は、ＯＣＲ認識結果から辞書ＤＢ１０６に格納された辞書データに基づいて文字列情報を決定する。また、情報処理装置１００は、辞書により決定された文字列情報からルールＤＢ１０５に格納されたルールにより文字列情報を決定する。さらに、情報処理装置１００は、ルールにより決定された文字列情報から確率情報ＤＢ１０７に格納された出現確率データに基づいてＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ；隠れマルコフモデル）等の確立計算を利用して文字列情報を決定する。
【００１７】
図２は、図１に示した情報処理装置のハードウェア構成の一例を示すブロック図である。
【００１８】
図２において、１０１はＣＰＵで、ＲＯＭ１０３又はハードディスク（ＨＤ）（その他の記憶装置、例えば、フレキシブルディスク，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ等どのような記憶装置であってもよい）１０４に格納された本発明に係るプログラムをＲＡＭ１０２上にロードして実行することにより、本発明の文字列認識方法を実現するとともに、コンピュータ全体を制御する。ＲＡＭ１０２は、ＣＰＵ１０１の作業領域として使用される。
【００１９】
１０９は通信インタフェースで、ネットワーク又はその他の通信媒体を介して画像入力装置（例えばスキャナやデジタルカメラ）２００とのデータの送受信を可能とする。
【００２０】
１１０は入力装置で、キーボードやマウス等のポインティングデバイス等に相当する。１１１は表示装置で、ＣＲＴ，ＬＣＤ，ＳＥＤ等のモニタに対応する。
【００２１】
なお、図１に示したルールＤＢ１０５，辞書ＤＢ１０６，確率情報ＤＢ１０７は、情報処理装置１００のＨＤ１０４内に構築されている。また、情報処理装置１００が有する各機能（ＯＣＲ機能，各文字列決定機能）は、情報処理装置１００のＣＰＵ１０１が、ＨＤ１０４に格納されるプログラムをＲＡＭ１０２上にロードして実行することにより、実体化される。
【００２２】
また、本発明の情報処理装置は、コンピュータにより構成されるものであってもよいし、スキャナ，複合機等により構成されるものであってもよい。
【００２３】
以下、図３〜図１５を参照して、本発明の情報処理装置における文字列認識方法について説明する。
【００２４】
図３は、本発明の情報処理装置における第１の制御処理手順の一例を示すフローチャートであり、文字列認識処理に対応する。なお、このフローチャートの処理は、情報処理装置１００のＣＰＵ１０１がＨＤ１０４に格納されたプログラムをＲＡＭ１０２にロードして実行することにより実現される。また、図中、Ｓ００１〜Ｓ００８は各ステップを示す。
【００２５】
また、以下、名刺上の文字列を認識する場合を例として説明する。
【００２６】
まず、スキャナやデジタルカメラ等の画像入力装置２００にて読み取られた原稿（ここでは名刺）の画像データ（ＯＣＲ対象画像）３０１が入力される、又は、ＨＤ１０４内に記憶された画像データの文字列認識処理が指示されると、ＣＰＵ１０１は、本フローチャートの処理を開始する。
【００２７】
ステップＳ００１において、ＣＰＵ１０１は、メモリ（ＨＤ又はＲＡＭ等）から文字列認識対象の画像データ３０１を読み込み、該読み込んだ画像データ３０１のＯＣＲ処理を行い、文字列及びその位置情報を抽出する（抽出文字列群３０２）。例えば、名刺が横型であれば同一行、縦型であれば同一列にある文字列は、１つの文字列として扱うように文字列を抽出する。ただし、一定以上の距離がある場合には、別の文字列として扱うように文字列を分ける。
【００２８】
例えば、図４に示すような名刺５００のＯＣＲ処理を行った場合、「課長」と「山形県」（やまがたあがた（人名））は別の文字列として扱うように文字列を抽出する。ただし、文字列に分けられた「課長」と「山形県」が同一行にあったことは後述のルール適用の際に使用するためにメモリ上に記憶しておく。図４に示す例では、名刺５００から７つの文字列５０１〜５０７が抽出される。
【００２９】
図４は、本発明の情報処理装置における文字列認識対象画像および該文字列認識対象画像から抽出された文字列の一例を示す模式図であり、特に名刺から文字列を抽出した場合に対応する。
【００３０】
そして、ＣＰＵ１０１は、ＯＣＲ処理により取得した文字列を抽出文字列分３０２としてメモリ（ＨＤ又はＲＡＭ等）に格納する。
【００３１】
図４に示した例では、「ヤマモト電気株式会社」５０１，「○○事業本部」５０２，「△△研究開発部第一開発課」５０３，「課長」５０４，「山形  県（ただし「課長」と同じ行にあることを記憶）」５０５，「〒１１１-００１１  東京都○○区三好１−２−３」５０６，「ＴＥＬ  ０３-１２３４-５６７８」５０７が格納される。
【００３２】
次に、ＣＰＵ１０１は、ステップＳ００１で抽出した全文字列に対して、以下ステップＳ００２〜Ｓ００６の処理を行って、各文字列に対し、その意味属性を決定する。
【００３３】
意味属性とは「氏名」，「住所」，「電話番号」，「役職」等の情報の分類（ここでは、名刺に記述されている情報の分類）を示すものであり、ステップＳ００１で抽出されたそれぞれの文字列が、これらの意味属性のいずれに所属するものかを判定する。この判定処理を、ステップＳ００１で得られた全ての文字列に対して実行する。以下、ステップＳ００２〜Ｓ００６にて詳細に説明する。
【００３４】
ステップＳ００２において、ＣＰＵ１０１は、ステップＳ００１で抽出した文字列の１つを読み込み（着目し）、該着目中の文字列をキーワードとして、図５に示す辞書ＤＢ１０６を検索し、該検索結果に基づいて着目中の文字列に対してスコアを付与してメモリに保持する。
【００３５】
図５は、本発明の情報処理装置における辞書ＤＢの一例を示す図である。
【００３６】
図５に示すように、辞書ＤＢ１０６は、文字列４０１，読み４０２，分類４０３，スコア（尤もらしさ）４０４の項目で構成される。
【００３７】
この辞書ＤＢ１０６を、例えば「山形県」をキーとして検索すると、分類４０３として「住所（の一部）」あるいは「人名」であることが分かる。また、スコア４０４として住所の場合「８０」、人名の場合「２０」であることが分かる。このため、この処理だけでは「山形県」は住所としての可能性が高いとみなされる。なお、この段階は、最終決定ではなく、「山形県」が住所である可能性と人名である可能性をスコアと共にメモリに保持しておく。
【００３８】
以下、図３のフローチャートの説明に戻る。
【００３９】
次に、ステップＳ００４において、ＣＰＵ１０１は、着目中の文字列に対してルールＤＢ１０３の全ルールを適用してスコアを付与しメモリに保持する。
【００４０】
図６は、本発明の情報処理装置におけるルールＤＢの一例を示す図である。
【００４１】
図６に示すように、ルールＤＢ１０５は、ルール番号６０１，パターン部６０２，スコア付与部６０３，分類６０４，スコア６０５の項目で構成される。
【００４２】
なお、図６中の「○」は文字又は文字列を表し、例えばルール２のパターン部６０２の「○○○3f○株式会社」の「株式会社」の前の「○○○○3f」は、図４に示した「ヤマモト電気株式会社」の「ヤマモト電気」に該当する。また、図６に示すルールのパターン部は、正規表現を用いて記述することを想定しているが、他のルール駆動型エンジン技術に従った記述形式であってもよい。
【００４３】
また、ルール２のスコア付与部６０３にあるように「文字列全体」、即ち「ヤマモト電気株式会社」全体で、ルール２の分類６０４にあるように「会社名」を指し、「会社名」としてスコア６０５にあるようにスコア「１００」を付与する。
【００４４】
「山形県」は「課長」の後ろにあるためルール１のパターン部，スコア付与部から、分類「氏名」としてスコア「１００」が付与される。
【００４５】
なお、「課長」が役職名であることは、図５に示した辞書検索結果により属性として付与されていることで判断可能である。しかし「山形県」が辞書に人名として登録されている事実を利用しないため、この例のルールは、辞書に登録されていない未知の人名に対しても有用である。
【００４６】
同様に「東京都○○区三好１−２−３」の場合はルール９に該当するため、「住所」としてスコア「１００」が付与される。
【００４７】
また、「ヤマモト電気株式会社」の場合は上述したように、ルール２に該当するため「会社名」としてスコア「１００」が付与される。
【００４８】
さらに、「ＴＥＬ  ０３−１２３４−５６７８」の場合はルール４に該当するため、「電話番号」としてスコア「１００」が付与される。
【００４９】
次に、ステップＳ００５において、ＣＰＵ１０１は、着目中の文字列に対して確率モデルを利用したスコア付与を行いメモリに保持する。
【００５０】
公知の技術として特開２００４−４６７７５号公報に記載される確率モデル（ＨＭＭ；隠れマルコフモデル）などを利用し、その文字列が出現する確率を取得することが可能である。
【００５１】
例えば、名刺に記載される文字列の「意味属性」を内部状態と考え、名刺に記載される「文字列」を外部から観測できる記号と考えると、名刺に記載される文字列群の生成過程は隠れマルコフモデルで近似できる。
【００５２】
この隠れマルコフモデルで名刺の書式（各意味属性に対応する文字列の出現パターン）を表現すると、ある意味属性から他の意味属性に遷移する確率（例えば、「役職」の後に「氏名」が記載される確率，「住所」の後に「電話番号」が記載される確率等）や、各意味属性別の文字列の出現確率（例えば、「氏名」における「山形県」の出現確率，「地名」における「山形県」の出現確率等）等で表現される。
【００５３】
このように、隠れマルコフモデルを用いることにより、名刺の記載における「文字列」の接続の自然性を上記状態遷移の確率の大小で表現可能である。
【００５４】
本実施形態では、このような確率モデルを用いて、着目中の文字列が出現する確率を求め、その確率の最大値が（例えば、スコアが「１００」点満点なら）スコア「１００」になるような係数を求め、着目中の文字列の出現確率を「１００」点満点のスコアに正規化する。
【００５５】
なお、本発明に適用可能な確率モデルは、隠れマルコフモデルに限られるものではなく、各意味属性に対応する文字列の出現パターンを確率的に予測するモデルであればどのような確率モデルであってもよい。
【００５６】
また、この確率モデルによるスコア付与の処理は、オプションとして実行しないように構成してもよい。
【００５７】
次に、ステップＳ００６において、着目中の文字列に対して、ステップＳ００３〜Ｓ００５で付与されたスコアを合計するスコア計算処理を行う。以下、図７を参照して説明する。
【００５８】
図７は、本発明の情報処理装置におけるスコア計算処理を説明するための図である。
【００５９】
例えば、着目中の文字列を「山形県」とすると、「山形県」に対しては、辞書ＤＢ１０６により、「住所」としてスコア「８０」、「氏名」としてはスコア「２０」が付与されている。また、「山形県」に対しては、ルールＤＢ１０５により「氏名」としてスコア「１００」が付与されている。なお、ここでは、説明を簡単にするために、確率モデルを利用したスコアは付与されていないものとする。
【００６０】
この場合、スコア計算による合計は、「住所」としてスコア「８０」、「氏名」としてはスコア「１２０（＝２０＋１００）」となる。
【００６１】
なお、本発明の情報処理装置では、この時点だけで、「山形県」が人名であると決定するものではなく、このスコア計算結果に後述するステップＳ００８に示す最適割り当て処理を適用して、最終的な文字列認識結果を決定する。
【００６２】
以下、図３のフローチャートの説明に戻る。
【００６３】
ステップＳ００７において、ＣＰＵ１０１は、抽出文字列群３０２の全文字列に対してステップＳ００２〜００６の処理を終了したか否かを判定し、まだ終了していないと判断した場合には、ステップＳ００２に処理を戻し、次の文字列の処理を行う。
【００６４】
一方、ステップＳ００７で、ＣＰＵ１０１が、抽出文字列群３０２の全文字列に対してステップＳ００２〜００６の処理を終了したと判断した場合には、ステップＳ００８に処理を進める。
【００６５】
以下、図８に、抽出文字列群３０２の全文字列に対する辞書ベースのスコア付与結果を示す。また、この結果にさらに、ルールベースのスコアを付与し、抽出文字列群３０２の全文字列に対するスコア計算を行った結果を図９に示す。
【００６６】
図８，図９に示すように、「ヤマモト電気株式会社」に対してのスコア計算結果は、「氏名」としてスコア「２０（辞書ベース）」（図９の９０１）、「会社名」としてスコア「１００（辞書ベース）＋１００（ルールベース）」（図９の９０３）となる。
【００６７】
また、「課長」に対しては、「役職名」としてスコア「１００（辞書ベース）」となる。
【００６８】
さらに、「山形県」に対しては、「氏名」としてスコア「２０（辞書ベース）＋１００（ルールベース）」（図９の９０２）、「住所」としてスコア「８０（辞書ベース）」（図９の９０４）となる。
【００６９】
また、「〒１１１-００１１  東京都○○区三好１−２−３」に対しては、「住所」としてスコア「８０（辞書ベース）＋１００（ルールベース）」（図９の９０５）となる。
【００７０】
さらに、「ＴＥＬ  ０３-１２３４-５６７８」に対しては、「電話番号」としてスコア「１００（ルールベース）」（図９の９０６）となる。
【００７１】
このように、この例では、「ヤマモト電気株式会社」，「山形県」は、文字列は、複数の意味属性を持つ可能性があることが示されているが、このような場合、以下図１０に示す最適割り当て処理により、いずれかの属性に決定する。
【００７２】
図１０は、本発明の情報処理装置における第２の制御処理手順の一例を示すフローチャートであり、図３のステップＳ００８に示した最適割り当て処理に対応する。なお、このフローチャートの処理は、情報処理装置１００のＣＰＵ１０１がＨＤ１０４に格納されたプログラムをＲＡＭ１０２にロードして実行することにより実現される。また、図中、Ｓ１１０１〜Ｓ１１１０は各ステップを示す。
【００７３】
まず、ステップＳ１１０１において、ＣＰＵ１０１は、抽出文字列群３０２内で１つの文字列に２つ以上の意味属性があるもの（図９に示したスコア計算結果においてスコア「０」でない分類が複数ある文字列）が存在するか否かを判断し、存在しないと判断した場合には、ステップＳ１１１０において、抽出文字列群３０２内の各文字列に該当する意味属性（スコア「０」でない分類）を関連付けて、該関連つけた「文字列」と「意味属性」のペアを、出力情報として、本フローチャートの処理を終了する。
【００７４】
一方、ステップＳ１１０１で、ＣＰＵ１０１が、抽出文字列群３０２内で１つの文字列に２つ以上の意味属性があるもの（スコア「０」でない分類が複数ある文字列）が存在すると判断した場合には、ステップＳ１１０２において、ＣＰＵ１０１は、文字列群の組み合わせのパターンによるスコア合計を計算する。即ち、図１１に示すような総スコアになるパターンを抽出し、各パターンの総スコアを計算する。
【００７５】
図１１は、本発明の情報処理装置におけるパターン毎の総スコアを計算の一例を示す図である。
【００７６】
図１１に示すように、図９に示したスコア計算結果より、Ａ，Ｂ，Ｃ，Ｄの４パターンが抽出される。なお、電話番号，役職等のように、唯一の意味属性しか持たない文字列が既に関連つけられている意味属性は省略してある。
【００７７】
また、パターン抽出の際の文字列の配置は、一つの文字列が、同じパターン内で、複数の意味属性に割り当てられることがないように配置する。
【００７８】
そして、各パターン毎に、総スコアを計算する。
【００７９】
この結果、図１１に示した例では、ＣＰＵ１０１は、ステップＳ１１０３において、最も高スコアになるＣパターンが最も妥当であると判断し、意味属性と文字列の関係にＣパターンを選択する。
【００８０】
そして、ステップＳ１１０４において、ＣＰＵ１０１は、ステップＳ１１０３で選択したパターンの文字列と意味属性を関連付けて、該関連つけた「文字列」と「意味属性」のペアを、出力情報として、本フローチャートの処理を終了する。
【００８１】
よって、最終的に、「ヤマモト電気株式会社」は「会社名」、「課長」は「役職」、「山形県」は「氏名」、「〒１１１-００１１  東京都○○区三好１−２−３」は「住所」、「ＴＥＬ  ０３-１２３４-５６７８」は「電話番号」とそれぞれ文字認識されることとなる。
【００８２】
このように、図４に示した名刺は正しく文字認識される。
【００８３】
なお、図４に示した名刺の例では、「山形県」の前「課長」という役職が記載されていたため、ルールＤＢ１０５によるスコア付与の際に、「氏名」属性のスコアが高くなり、「山形県」が「氏名」属性と認識されることに大なる影響をあたえた。
【００８４】
よって、以下に示す図１２〜図１４を参照して、「山形県」の前「課長」という役職が記載されていない場合について考察してみる。
【００８５】
図１２に、抽出文字列群３０２の全文字列に対する辞書ベースのスコア付与結果の他の例を示す。また、この結果にさらに、ルールベースのスコアを付与し、抽出文字列群３０２の全文字列に対するスコア計算を行った結果の他の例を図１３に示す。
【００８６】
図１２，図１３に示すように、「ヤマモト電気株式会社」に対してのスコア計算結果は、「氏名」としてスコア「２０（辞書ベース）」、「会社名」としてスコア「１００（辞書ベース）＋１００（ルールベース）」となる。
【００８７】
また、「課長」に対してのスコア計算結果は、「役職名」としてスコア「１００（辞書ベース）」となる。
【００８８】
さらに、「山形県」に対してのスコア計算結果は、「氏名」としてスコア「２０（辞書ベース）」、「住所」としてスコア「８０（辞書ベース）」となる（役職名がないためルールＤＢ１０５は適用されない）。
【００８９】
また、「〒１１１-００１１  東京都○○区三好１−２−３」に対してのスコア計算結果は、「住所」としてスコア「８０（辞書ベース）＋１００（ルールベース）」となる。
【００９０】
さらに、「ＴＥＬ  ０３-１２３４-５６７８」に対しては、「電話番号」としてスコア「１００（ルールベース）」となる。
【００９１】
以下、図１４に総スコアパターンを示す。
【００９２】
図１４は、本発明の情報処理装置におけるパターン毎の総スコアを計算の他の例を示す図である。
【００９３】
図１４に示すように、図１３に示したスコア計算結果より、Ａ，Ｂ，Ｃ，Ｄの４パターンが抽出される。
【００９４】
そして、各パターン毎の総スコアを計算の結果、図１４に示した例でも、Ｃパターンが最高スコアになる。
【００９５】
よって、「山形県」の前「課長」という役職が記載されていない場合であっても、「ヤマモト電気株式会社」は「会社名」、「課長」は「役職」、「山形県」は「氏名」、「〒１１１-００１１  東京都○○区三好１−２−３」は「住所」、「ＴＥＬ  ０３-１２３４-５６７８」は「電話番号」とそれぞれ正しく文字認識されるととになる。
【００９６】
以上示したように、画像データ上の文字列が表す意味を特定するための辞書、ルールまたは確率的処理を利用し、また、個々の文字列の意味属性を特定することではなく、複数の（名刺全体の）文字列の意味属性を考慮して、画像データ上の各部分がいずれの意味属性に対応する情報を記述したものか（いずれの意味的情報区分に属するものか）を自動的に（人手を介さず）判断することができる。
【００９７】
従って、例えば名刺データベースなどの後続のアプリケーションに渡すときに、ある文字列が氏名なのか住所なのか、などを人手によりチェックし指定あるいは修正する必要を省力化することができる優れた文字列認識環境を構築することができる。
【００９８】
なお、ルールによるスコア付与，ＨＭＭ等の確率的処理によるスコア付与は、オプションであり、これらの一方又は両方を使用しないシステムも構築可能である。
【００９９】
例えば、ルールを使用しない場合には、図３のステップＳ００４をスキップし、また、確率的処理を使用しない場合には、図３のステップＳ００５をスキップするように、ＣＰＵ１０１が制御する。
【０１００】
なお、上述した例を用いて、辞書ベースのスコアの付与のみを行った場合（ルール及び確立的処理を適用しなかった場合）を以下に考察する。
【０１０１】
図１２に示した辞書ベースのスコア付与例から、この場合も、上述した例と同一のパターンＡ，Ｂ，Ｃ，Ｄが抽出される。
【０１０２】
ただし、パターンＡの総スコアは「１００＝２０＋８０」、パターンＢの総スコアは「１００＝２０＋８０」、パターンＣの総スコアは「２００＝２０＋１００＋８０」、パターンＤの総スコアは「１８０＝１００＋８０」となる。
【０１０３】
よって、辞書ベースのスコアの付与のみを行った場合（ルール及び確立的処理を適用しなかった場合）も、やはりパターンＣが最高スコアと判断され、正しく認識される。
【０１０４】
〔第２実施形態〕
上記第１実施形態では、文字列認識対象となる画像データからＯＣＲ認識を行い、該ＯＣＲ認識した文字列の各意味属性を決定する構成について説明したが、図３のステップＳ００２〜００８の処理の実行は、画像データのＯＣＲ結果に限られるものではなく、複数の文字列データであれば、どのような文字列データであってもよい。
【０１０５】
例えば、図１２に示すようなＣＳＶファイルに適用してもよい。
【０１０６】
図１５は、本発明の情報処理装置において認識対象となる文字列を含むＣＳＶファイルの一例を示す図である。
【０１０７】
図１５に示すように、このＣＳＶファイルは、１行目では、１２０１に示すように１列目に住所、１２０２に示すように２列目に氏名（ここで１２０２は「秋田  県（あがた）」という氏名）、３列目に会社名、４列目に電話番号が入っている。
【０１０８】
また、２行目では、１２０３に示すように３列目に電話番号が入っている。
【０１０９】
さらに、３行目では、１２０５に示すように１列目に氏名（「○○田×子」という指名）、１２０４に示すように２列目に住所が入っている。
【０１１０】
このように、行毎に列項目が異なっていても、また、住所に似た氏名が入っていても、図３に示したステップＳ００２〜Ｓ００８の処理を、各行毎に行うことで、上述した第１実施形態で示した名刺の例と同様に、各行の各列のデータを意味属性（意味的情報区分）で分類することが可能である。
【０１１１】
なお、上述した各実施形態内で示した変形例のいずれか又は全てを組み合わせた構成も全て本発明に含まれるものである。
【０１１２】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１１３】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１１４】
以上より、複数の意味属性のいずれかに割り当てられた複数の文字列から構成される文字列群内の各文字列を前記意味属性毎に分類する際に、前記各文字列毎に、前記文字列を分析して前記文字列の前記各意味属性に対する割り当ての尤らしさを示すスコアを１又は複数の方法によりそれぞれ複数の方法によりそれぞれ付与し、前記各文字列の前記各意味属性への割り当て組み合わせパターン毎の前記それぞれ付与されたスコアの合計値に基づいて、前記いずれかの組み合わせパターンを選択し、該選択した組み合わせパターンで、前記各文字列を前記各意味属性に分類する（即ち、文字列群全体を考慮して各文字列の意味属性を分類する）ことにより、名刺等に記述されている各部分の文字列が何の情報を示しているのかを予めあるいは認識時に指定する必要がなく、名刺等の各部の文字列を正しい情報として取得することができる。
【０１１５】
従って、文字列を名刺等の原稿内における位置によってではなく、文字列群全体を考慮して、文字列の意味属性を特定するので、例えば、「秋田県（あきたあがた）」や「吉野村政」のような、地名に酷似した氏名でも、地名と誤認識することなく、氏名として分類可能である。
【０１１６】
結果として、例えば名刺データベースなどの後続のアプリケーションに渡すときに、ある文字列が氏名なのか住所なのか、などを人手によりチェックし指定あるいは修正する必要を省力化することができる。
【０１１７】
以下、図１６に示すメモリマップを参照して本発明に係る文字認識装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１１８】
図１６は、本発明に係る文字認識装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１１９】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１２０】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１２１】
本実施形態における図３，図１０に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１２２】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１２３】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１２４】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１２５】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２６】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２７】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１２８】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【図面の簡単な説明】
【０１２９】
【図１】本発明の一実施形態を示す情報処理装置を適用可能なシステムの一例を示すシステム構成図である。
【図２】図１に示した情報処理装置のハードウェア構成の一例を示すブロック図である。
【図３】本発明の情報処理装置における第１の制御処理手順の一例を示すフローチャートである。
【図４】本発明の情報処理装置における文字列認識対象画像および該文字列認識対象画像から抽出された文字列の一例を示す模式図である。
【図５】本発明の情報処理装置における辞書ＤＢの構成の一例を示す図である。
【図６】本発明の情報処理装置におけるルールＤＢの構成の一例を示す図である。
【図７】図３に示す文字列に対するスコア計算処理を説明する図である。
【図８】抽出文字列群の全文字列に対する辞書ベースのスコア付与結果を示す図である。
【図９】抽出文字列群の全文字列に対するスコア計算結果を示す図である。
【図１０】本発明の情報処理装置における第２の制御処理手順の一例を示すフローチャートである。
【図１１】本発明の情報処理装置におけるパターン毎の総スコアの計算の一例を示す図である。
【図１２】抽出文字列群の全文字列に対する辞書ベースのスコア付与結果の他の例を示す図である。
【図１３】抽出文字列群の全文字列に対するスコア計算結果の他の例を示す図である。
【図１４】本発明の情報処理装置におけるパターン毎の総スコアの計算結果の他の例を示す図である。
【図１５】本発明の情報処理装置において認識対象となる文字列を含むＣＳＶファイルの一例を示す図である。
【図１６】本発明に係る文字認識装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０１３０】
２００  画像入力装置（スキャナ）
１００  情報処理装置（文字列認識装置）
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  ＨＤ
１０５  辞書ＤＢ
１０６  ルールＤＢ
１０７  確率情報ＤＢ
１０９  通信インタフェース
１１０  入力装置
１１１  表示装置
【図１】
2006185342.tif 000003
【図２】
2006185342.tif 000004
【図３】
2006185342.tif 000005
【図４】
2006185342.tif 000006
【図５】
2006185342.tif 000007
【図６】
2006185342.tif 000008
【図７】
2006185342.tif 000009
【図８】
2006185342.tif 000010
【図９】
2006185342.tif 000011
【図１０】
2006185342.tif 000012
【図１１】
2006185342.tif 000013
【図１２】
2006185342.tif 000014
【図１３】
2006185342.tif 000015
【図１４】
2006185342.tif 000016
【図１５】
2006185342.tif 000017
【図１６】
2006185342.tif 000018