(57)【特許請求の範囲】
【請求項１】
文字列の項目を判定するための項目判定装置であって、
入力された前記文字列に含まれる少なくとも１つの第１の部分文字列の各々について、当該第１の部分文字列に含まれる各文字を認識する認識手段と、
各文字を含む少なくとも１つの単語が分類されるべき第１の項目に基づいて予め決定される前記各文字の信頼度が前記第１の項目別に格納された信頼度テーブルと、
前記信頼度テーブルを参照して、前記第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、前記第１の部分文字列の少なくとも１つの文字列信頼度を算出する算出手段と、
前記文字列信頼度に基づいて前記第１の部分文字列の項目を判定する第１の判定手段とを備える、項目判定装置。
【請求項２】
前記各文字の前記第１の項目別の信頼度は、前記各文字を含む単語の種類と、当該単語が使用される程度とに基づいて決定される、請求項１に記載の項目判定装置。
【請求項３】
前記認識手段は、前記文字列に含まれる各文字の位置を取得し、前記各文字の当該文字列中の位置に基づいて前記文字列を少なくとも１つの前記第１の部分文字列に分割し、
前記算出手段は、前記信頼度テーブルを参照して、前記第１の項目毎に、前記第１の部分文字列に含まれる各文字の信頼度に基づいて文字列信頼度を算出し、
前記第１の判定手段は、前記第１の項目毎の前記文字列信頼度に基づいて、前記第１の部分文字列の第１の項目を判定する、請求項１または請求項２に記載の項目判定装置。
【請求項４】
複数の前記第１の項目の並び方に対応付けられた第２の項目を記憶する第１の並び方テーブルと、
前記第１の部分文字列の第１の項目毎の文字列信頼度と前記第１の項目の並び方とに基づいて前記文字列の第２の項目を判定する前記第２の判定手段とをさらに備える、請求項３に記載の項目判定装置。
【請求項５】
複数の前記第１の項目の並び方に対応付けられた第２の項目を記憶する第１の並び方テーブルをさらに備え、
前記算出手段は、前記第１の並び方テーブルに記憶されている前記第１の項目の並び方毎に、前記第１の並び方テーブルに記憶されている前記第１の項目の並び方に基づいて、前記第１の部分文字列の文字列信頼度を算出し、
前記第１の判定手段は、前記第１の並び方テーブルに記憶されている前記第１の項目の並び方毎の前記文字列信頼度に基づいて、前記第１の部分文字列の第２の項目を判定する、請求項１または請求項２に記載の項目判定装置。
【請求項６】
前記第１の項目のいずれかに属する、少なくとも１つの文字から構成される複数の単語を格納する単語辞書と、
前記第１の部分文字列が前記単語辞書に記憶されている単語を含むか否かを判断する判断手段とをさらに備え、
前記算出手段は、
前記第１の部分文字列が前記単語辞書に記憶されている単語を含む場合に、前記信頼度テーブルを参照して、前記第１の部分文字列のうち前記単語辞書に記憶されている単語に含まれる文字を除いた文字から構成される第２の部分文字列に含まれる各文字に対応する信頼度に基づいて、前記第２の部分文字列の第１の項目毎の文字列信頼度を算出し、
前記第１の部分文字列が前記単語辞書に記憶されている単語を含まない場合に、前記信頼度テーブルを参照して、前記第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、前記第１の部分文字列の少なくとも１つの文字列信頼度を算出し、
前記第１の判定手段は、
前記第１の部分文字列が前記単語辞書に記憶されている単語を含む場合に、前記文字列信頼度に基づいて前記第２の部分文字列の第１の項目を判定し、
前記第１の部分文字列が前記単語辞書に記憶されている単語を含まない場合に、前記文字列信頼度に基づいて前記第１の部分文字列の第１の項目を判定する、請求項１または請求項２に記載の項目判定装置。
【請求項７】
複数の前記第１の項目の並び方に対応付けられた第２の項目を記憶する第１の並び方テーブルと、
前記第１の部分文字列が前記単語辞書に記憶されている単語を含む場合に、前記単語辞書の単語が属する第１の項目と、前記第２の部分文字列の第１の項目とに基づいて、前記部分文字列の第２の項目を判定する前記第３の判定手段とをさらに備える、請求項６に記載の項目判定装置。
【請求項８】
前記第１の項目の各々は、姓、名、地名、都道府県名、市町村名、一般単語のいずれかである、請求項１から７のいずれか１項に記載の項目判定装置。
【請求項９】
コンピュータに文字列の項目を判定させるための項目判定プログラムであって、
前記コンピュータは、
各文字を含む少なくとも１つの単語が分類されるべき第１の項目に基づいて予め決定される前記各文字の信頼度が前記第１の項目別に格納された信頼度テーブルを備え、
前記項目判定プログラムは、前記コンピュータに、
入力された前記文字列に含まれる少なくとも１つの第１の部分文字列の各々について、当該第１の部分文字列に含まれる各文字を認識するステップと、
前記信頼度テーブルを参照して、前記第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、前記第１の部分文字列の少なくとも１つの文字列信頼度を算出するステップと、
前記文字列信頼度に基づいて前記第１の部分文字列の項目を判定するステップとを実行させる、項目判定プログラム。
【請求項１０】
コンピュータに文字列の項目を判定させるための項目判定プログラムを記録したコンピュータ読取可能な記録媒体であって、
前記コンピュータは、
各文字を含む少なくとも１つの単語が分類されるべき第１の項目に基づいて予め決定される前記各文字の信頼度が前記第１の項目別に格納された信頼度テーブルを備え、
前記項目判定プログラムは、前記コンピュータに、
入力された前記文字列に含まれる少なくとも１つの第１の部分文字列の各々について、当該第１の部分文字列に含まれる各文字を認識するステップと、
前記信頼度テーブルを参照して、前記第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、前記第１の部分文字列の少なくとも１つの文字列信頼度を算出するステップと、
前記文字列信頼度に基づいて前記第１の部分文字列の項目を判定するステップとを実行させる、コンピュータ読取可能な記録媒体。
【請求項１１】
文字列の項目を判定するための項目判定装置を用いた項目判定方法であって、
項目判定装置は、
各文字を含む少なくとも１つの単語が分類されるべき第１の項目に基づいて予め決定される前記各文字の信頼度が前記第１の項目別に格納された信頼度テーブルと、
制御装置とを備え、
前記制御装置が、入力された前記文字列に含まれる少なくとも１つの第１の部分文字列の各々について、当該第１の部分文字列に含まれる各文字を認識するステップと、
前記制御装置が、前記信頼度テーブルを参照して、前記第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、前記第１の部分文字列の少なくとも１つの文字列信頼度を算出するステップと、
前記制御装置が、前記文字列信頼度に基づいて前記第１の部分文字列の項目を判定するステップとを備える、項目判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、項目判定装置、項目判定プログラム、記録媒体、および項目判定方法に関し、特に画像データから取得された文字列が分類されるに相応しい項目を判定するための項目判定装置、項目判定プログラム、記録媒体、および項目判定方法に関する。
【背景技術】
【０００２】
現在、光学式文字読取装置（ＯＣＲ:Optical Character Reader）技術は、文書読取装置、帳票読取装置などのいろいろな文字読取装置において利用されている。その中には、名刺読取装置のように、名刺に記載された文字列が、姓名（氏名）、地名（住所）、会社名（所属）などのどの項目（属性）に該当する文字列であるのかを、自動で判定する装置も存在する。
【０００３】
たとえば、特開平５−８９２９２号公報（特許文献１）には、スキャナから読取られた画像データを文字認識部において文字コード列データに変換し、このデータを、ＲＯＭにストアされる文字コードのキーワードまたは辞書データを参照しながら該当する項目に確定しながら分類し、その項目を特定するデータを含む項目分類された文字コード列データＤＯを出力するように構成される文字列認識装置が開示されている。
【０００４】
また、特開昭５９−４７６４１号公報（特許文献２）には、名刺に印刷された文字列の最も大きな印刷文字列を姓名であると識別し、データベースに入力するデータベース作成装置が記載されている。
【０００５】
そして、近年ではＯＣＲの小型化が進み、カメラで読取対象を撮影して文字の認識などを行なうカメラ付き携帯電話も発売されている。
【特許文献１】特開平５−８９２９２号公報
【特許文献２】特開昭５９−４７６４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、携帯電話のような小型情報端末に搭載されたＯＣＲは、メールアドレス、ＵＲＬ(uniform resource locator)、電話番号等の英数字文字列を１行分撮影し認識するといった仕様のものが一般的であり、名刺読取装置等のように、日本語の文字列を読み取り、自動で項目に振り分ける機能を備えた小型情報端末は少ない。このように、日本語の文字を読み取り、自動で項目に振り分ける機能を備えた小型情報端末があまり普及していない（商品化されていない）要因の一つには、辞書データ容量が大きいことが挙げられる。
【０００７】
たとえば、姓名、地名等を判別するために単語辞書（たとえば、姓名辞書、地名辞書、一般単語辞書）を利用する名刺読取装置がある。この名刺読取装置は、読み取った文字と辞書とを照合する処理を行うことによって、項目分類を行うものである。この名刺読取装置においては、文字認識処理に必須の文字パターンマッチング辞書の他に、姓名辞書、地名辞書、一般単語辞書等を必要とするため、これらの辞書容量の大きさが、パーソナルコンピュータなどと比べてプログラム容量やデータサイズ容量が少ない小型情報端末への搭載の妨げとなっている。
【０００８】
例えば、３００００件の「姓」辞書を搭載するのに、おおよそどれくらいのサイズが必要かを計算してみる。姓の長さの平均を２文字と仮定する。日本語文字コードを表すには２ｂｙｔｅの記憶容量が必要であるため、姓辞書全体では、
３００００（件）×２（文字）×２（ｂｙｔｅ）＝１２０Ｋｂｙｔｅ
（１Ｋｂｙｔｅ＝１０００ｂｙｔｅ、以下同様。）
の記憶容量が必要となる。「名」辞書、「地名」辞書、「一般単語」辞書に関しても同様に、ある程度実用的な語数を登録する場合、各々少なくとも数百Ｋｂｙｔｅ程度以上の容量が必要になる。
【０００９】
これは、使用される文字の種類自体が数百個しかなくても、それらが組み合わされた単語の種類は数万あるいは数十万にも達するからである。以下では、「姓」辞書、「名」辞書、「地名」辞書、「一般単語」辞書を総称して、単語辞書と記載する。また、一般単語とは、固有名詞、代名詞等を除いた普通名詞のことである。
【００１０】
最近の小型情報端末は、記憶装置の容量が増えてきつつあるが、多機能化（すなわち搭載ソフトの増加）により、現実にはソフト組み込みのための記憶装置の容量は必ずしも十分とは言えない。そのため、小型情報端末への搭載する場合、単語辞書の容量削減が課題となる。
【００１１】
単語辞書の容量を削減するためには、例えば、特開昭５９―４７６４１（特許文献２）に記載されているように、名刺に印刷された文字列の最も大きな印刷文字列を姓名であると識別する方法がある。この手法を用いれば、小型情報端末に姓名辞書を搭載することは不要となる。また、地名の判定についても、「都道府県」「市町村区郡」「丁目、番地」等といったキー文字、キー単語を検出して地名であると判定するようにすれば、地名辞書を使わずに地名の項目判定が可能になる。
【００１２】
しかしながら、これらの姓名辞書、地名辞書を使わない判定方法には、以下の問題がある。すなわち、姓名の判定に関していえば、名刺のデザインは多種多様であって、最も文字サイズが大きい文字から構成される文字が姓名であるとは限らないのである。
【００１３】
また、名刺読取装置には、会社名、部署名、肩書き名を判別するためにキーワード（〜社、〜部、〜長など）を利用するものがある。しかし、この名刺読取装置においては、キーワードが見つからない場合に、項目分類を行えないという不具合がある。たとえば、地名の判定に関しても、住所を表す文字列に、「都道府県」「市町村区郡」「丁目、番地」等といったキー文字、キー単語が含まれているとは限らない。
【００１４】
本発明は前記問題点を解決するためになされたものであって、本発明の主たる目的は、データベースの容量を抑えながら入力された文字列が分類されるに相応しい項目をより適切に判定できる項目判定装置、項目判定プログラム、記録媒体、および項目判定方法を提供することである。
【課題を解決するための手段】
【００１５】
この発明のある局面に従えば、文字列の項目を判定するための項目判定装置は、入力された文字列に含まれる少なくとも１つの第１の部分文字列の各々について、当該第１の部分文字列に含まれる各文字を認識する認識手段と、各文字を含む少なくとも１つの単語が分類されるべき第１の項目に基づいて予め決定される各文字の信頼度が第１の項目別に格納された信頼度テーブルと、信頼度テーブルを参照して、第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、第１の部分文字列の少なくとも１つの文字列信頼度を算出する算出手段と、文字列信頼度に基づいて第１の部分文字列の項目を判定する第１の判定手段とを備える。
【００１６】
好ましくは、各文字の第１の項目別の信頼度は、各文字を含む単語の種類と、当該単語が使用される程度とに基づいて決定される。
【００１７】
好ましくは、認識手段は、文字列に含まれる各文字の位置を取得し、各文字の当該部分文字列中の位置に基づいて文字列を少なくとも１つの第１の部分文字列に分割し、算出手段は、信頼度テーブルを参照して、第１の項目毎に、第１の部分文字列に含まれる各文字の信頼度に基づいて文字列信頼度を算出し、第１の判定手段は、第１の項目毎の文字列信頼度に基づいて、第１の部分文字列の第１の項目を判定する。
【００１８】
好ましくは、項目判定装置は、複数の第１の項目の並び方に対応付けられた第２の項目を記憶する第１の並び方テーブルと、第１の部分文字列の第１の項目毎の文字列信頼度と第１の項目の並び方とに基づいて文字列の第２の項目を判定する第２の判定手段とをさらに備える。
【００１９】
好ましくは、項目判定装置は、複数の第１の項目の並び方に対応付けられた第２の項目を記憶する第１の並び方テーブルをさらに備える。算出手段は、第１の並び方テーブルに記憶されている第１の項目の並び方毎に、第１の並び方テーブルに記憶されている第１の項目の並び方に基づいて、第１の部分文字列の文字列信頼度を算出する。第１の判定手段は、第１の並び方テーブルに記憶されている第１の項目の並び方毎の文字列信頼度に基づいて、第１の部分文字列の第２の項目を判定する。
【００２０】
好ましくは、項目判定装置は、第１の項目のいずれかに属する、少なくとも１つの文字から構成される複数の単語を格納する単語辞書と、第１の部分文字列が単語辞書に記憶されている単語を含むか否かを判断する判断手段とをさらに備える。
【００２１】
好ましくは、算出手段は、第１の部分文字列が単語辞書に記憶されている単語を含む場合に、信頼度テーブルを参照して、第１の部分文字列のうち単語辞書に記憶されている単語に含まれる文字を除いた文字から構成される第２の部分文字列に含まれる各文字に対応する信頼度に基づいて、第２の部分文字列の第１の項目毎の文字列信頼度を算出し、第１の部分文字列が単語辞書に記憶されている単語を含まない場合に、信頼度テーブルを参照して、第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、第１の部分文字列の少なくとも１つの文字列信頼度を算出する。第１の判定手段は、第１の部分文字列が単語辞書に記憶されている単語を含む場合に、文字列信頼度に基づいて第２の部分文字列の第１の項目を判定し、第１の部分文字列が単語辞書に記憶されている単語を含まない場合に、文字列信頼度に基づいて第１の部分文字列の第１の項目を判定する。
【００２２】
好ましくは、項目判定装置は、複数の第１の項目の並び方に対応付けられた第２の項目を記憶する第１の並び方テーブルと、第１の部分文字列が単語辞書に記憶されている単語を含む場合に、単語辞書の単語が属する第１の項目と、第２の部分文字列の第１の項目とに基づいて、部分文字列の第２の項目を判定する第３の判定手段とをさらに備える。
【００２３】
好ましくは、第１の項目の各々は、姓、名、地名、都道府県名、市町村名、一般単語のいずれかである。
【００２４】
この発明の別の局面に従えば、コンピュータに文字列の項目を判定させるための項目判定プログラムが提供される。コンピュータは、各文字を含む少なくとも１つの単語が分類されるべき第１の項目に基づいて予め決定される各文字の信頼度が第１の項目別に格納された信頼度テーブルを備える。項目判定プログラムは、コンピュータに、入力された文字列に含まれる少なくとも１つの第１の部分文字列の各々について、当該第１の部分文字列に含まれる各文字を認識するステップと、信頼度テーブルを参照して、第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、第１の部分文字列の少なくとも１つの文字列信頼度を算出するステップと、文字列信頼度に基づいて第１の部分文字列の項目を判定するステップとを実行させる。
【００２５】
この発明のさらに別の局面に従えば、コンピュータに文字列の項目を判定させるための項目判定プログラムを記録したコンピュータ読取可能な記録媒体が提供される。コンピュータは、各文字を含む少なくとも１つの単語が分類されるべき第１の項目に基づいて予め決定される各文字の信頼度が第１の項目別に格納された信頼度テーブルを備える。項目判定プログラムは、コンピュータに、入力された文字列に含まれる少なくとも１つの第１の部分文字列の各々について、当該第１の部分文字列に含まれる各文字を認識するステップと、信頼度テーブルを参照して、第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、第１の部分文字列の少なくとも１つの文字列信頼度を算出するステップと、文字列信頼度に基づいて第１の部分文字列の項目を判定するステップとを実行させる。
【００２６】
この発明のさらに別の局面に従えば、文字列の項目を判定するための項目判定装置を用いた項目判定方法が提供される。項目判定装置は、各文字を含む少なくとも１つの単語が分類されるべき第１の項目に基づいて予め決定される各文字の信頼度が第１の項目別に格納された信頼度テーブルと、制御装置とを備える。項目判定方法は、制御装置が、入力された文字列に含まれる少なくとも１つの第１の部分文字列の各々について、当該第１の部分文字列に含まれる各文字を認識するステップと、制御装置が、信頼度テーブルを参照して、第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、第１の部分文字列の少なくとも１つの文字列信頼度を算出するステップと、制御装置が、文字列信頼度に基づいて第１の部分文字列の項目を判定するステップとを備える。
【発明の効果】
【００２７】
以上のように、この発明によれば、データベースの容量を抑えながら入力された文字列が分類されるに相応しい項目をより適切に判定できる項目判定装置、項目判定プログラム、記録媒体、および項目判定方法を提供することができる。
【発明を実施するための最良の形態】
【００２８】
以下、図面に基づいて本発明の実施の形態について説明する。なお以下の説明では、同一の部品については同一の符号を付すものとし、前記部品の名称や機能が同一である場合には、前記部品についての詳細な説明は繰り返さない。
【００２９】
［実施の形態１］
＜全体構成＞
まず、本実施の形態に係る項目（属性）判定装置の全体構成について説明する。本実施の形態に係る項目判定装置は認識された文字列の項目判定を行う装置であって、代表的に、カメラ付き携帯電話１００やＰＤＡなどのような小型情報端末や、パーソナルコンピュータやワークステーションなどのコンピュータによって実現される。そして、項目判定装置によって行われる項目判定処理は、カメラ付き携帯電話１００やＰＤＡなどのような小型情報端末の制御装置や、パーソナルコンピュータやワークステーションなどのコンピュータの制御装置が、制御プログラムを実行することによって実現される。
【００３０】
図１は、本実施の形態に係るカメラ付き携帯電話１００を示す外観斜視図である。図１には、小型端末装置として、代表的に折りたたみ式のカメラ付き携帯電話１００を示すが、このような形式に限定されるものではない。図１は、携帯電話１００の筐体１１４，１１６を開いた状態における正面側の斜視図である。
【００３１】
図１に示すように、携帯電話１００は、第１の筐体１１４と、第２の筐体１１６と、第１のスピーカ１７３と、第２のスピーカ１７４と、メインディスプレイ（モニタ１５０）と、第１のカメラ１４２と、第２のカメラ１４３（図２を参照。）と、入力部１２０と、マイク１７２とを含む。第１の筐体１１４と第２の筐体１１６とは、接続部１１５にて折りたたみ可能に接続されている。
【００３２】
入力部１２０は、決定キー１２２Ａなどの複数のキーを含む機能キー群１２２と、数字等の入力のためのテンキーを含むテンキー群１２４とを備える。機能キー群１２２は、メインディスプレイ（モニタ１５０）上の表示の少なくとも一部（表示全体、または、メインディスプレイ（モニタ１５０）上に表示されたカーソル等）を上下左右それぞれに所定の距離だけ移動させるための上キー１２１Ａ，下キー１２１Ｂ，左キー１２１Ｃ，右キー１２１Ｄと、移動したカーソル等に対応する処理に決定したことを入力するための決定キー１２２Ａと、を含む。
【００３３】
＜ハードウェア構成＞
次に、本実施の形態に係る携帯電話１００のハードウェア構成について説明する。図２は、本実施の形態に係る通信装置の一例としての携帯電話１００のハードウェア構成を示すブロック図である。図２に示すように、本実施の形態に係る携帯電話１００は、アンテナ１と、アンテナ１により受信された無線信号の入力を受ける無線通信部１０１と、第１のメモリ１０６と、第２のメモリ１０７と、外部から各種の指示の入力を受け付ける入力部１２０と、携帯電話１００の各動作を制御するための制御装置１０５と、画像を表示するためのモニタ１５０と、外部からの音声を入力するマイク１７２と、電気信号（音声信号）に基づいて音声を出力するスピーカ１７３，１７４と、を備える。
【００３４】
無線通信部１０１は、制御装置１０５による制御に応じて、アンテナ１を介して無線信号を発信するとともに、外部からの無線信号を受信する。
【００３５】
第１のカメラ１４２は、第１の筐体１１４の内側に設けられているカメラであって、たとえばテレビ電話などを行う際に、携帯電話１００の使用者などを撮影するためのものである。第２のカメラ１４３は、第１の筐体１１６の外側に設けられているカメラであって、景色を撮影したり、バーコードなどのような書類上の画像を撮影したりするためのものである。第１のカメラ１４２や第２のカメラ１４３が撮影した画像の画像データは制御装置１０５に送られ、制御装置１０５が当該画像データを第１のメモリ１０６または第２のメモリ１０７に記憶する。
【００３６】
図１および図２に示すように、本実施の形態に係る携帯電話１００は、第１の筐体１１４の外側に設けられた第２のカメラ１４３によって名刺２０２などの書類上の画像を撮影し、当該画像の画像データを第１のメモリ１０６あるいは第２のメモリ１０７に記憶することができるものである。
【００３７】
制御装置１０５は、たとえばＣＰＵ（Central Processing Unit）やその他の演算処理装置と、後述する各種機能を実現するためのプログラムとによって実現されるものであって、制御装置１０５と他の構成要素とは信号線を介して接続されている。より詳細には、上記の各種処理は、たとえば、第２のメモリ１０７に格納された各種の処理手順に関するプログラムが一旦第１のメモリ１０６へと読み出され、読み出されたプログラムが制御装置１０５で実行されることによって、実現されるものである。ただし、制御装置１０５は、各機能を実現する専用のハードウェア回路などによって実現されてもよい。
【００３８】
そして、制御装置１０５は、無線通信部１０１などの他の構成要素と連係しながら、携帯電話１００が有する通話機能を実現する。また、制御装置１０５は、携帯電話１００の各要素を制御するものであって、各種の演算を実施する装置である。特に、制御装置１０５は、後述するように項目判定処理を行うものである。
【００３９】
入力部１２０は、決定キー１２２Ａなどの複数のキーを含む機能キー群１２２と、数字等の入力のためのテンキーを含むテンキー群１２４などによって実現され、キー入力などによってユーザから情報を受付ける。
【００４０】
モニタ１５０は、液晶パネルやＣＲＴから構成されるものであって、制御装置１０５が出力した情報を表示する。
【００４１】
第１のメモリ１０６は、ワークＲＡＭ(Random Access Memory)として使用される。第１のメモリ１０６は、一般的に揮発性のメモリが使用されるが、書き込み可能な不揮発性のメモリであってもよい。より詳細には、本実施の形態に係る第１のメモリ１０６は、代表的に、ＤＲＡＭ(Dynamic Random Access Memory)、ＳＲＡＭ(Static Random Access Memory)、ＰＳＲＡＭ(Pseudo-SRAM、擬似ＳＲＡＭ)、ＳＤＲＡＭ(Synchronous DRAM)などによって実現される。
【００４２】
第２のメモリ１０７は、制御プログラムなどのデータを格納する。第２のメモリ１０７は、一般的に不揮発性のメモリが使用される。第２のメモリ１０７は、代表的に、ＥＥＰＲＯＭ（Electrically EPROM）、ＮＡＮＤ型フラッシュメモリ、ＮＯＲ型フラッシュメモリ、ハードディスクなどによって実現される。なお、制御プログラム以外のデータ（フォントデータ、調整データ、ユーザ設定等）は、主に第２のメモリ１０７に格納されるが、一時的に第１のメモリ１０６に格納される構成であってもよい。
【００４３】
第１のスピーカ１７３は、通話音声が出力されるものであって、筐体１１４の内側に設けられている。一方、第２のスピーカ１７４は、着信音声や、ハンズフリー通話の際の通話音声が出力されるものであって、たとえば筐体１１６の側面に設けられるものである。
【００４４】
本実施の形態に係る項目判定装置および項目判定処理は、カメラ付きの携帯電話１００などのハードウェアと制御プログラムなどのソフトウェアとによって実現される。一般的にこうしたソフトウェアは、製造時に第２のメモリ１０７に格納されたり、ユーザがネットワークなどを介してダウンロードすることによって流通する。そして、ソフトウェアは、第２のメモリ１０７から第１のメモリ１０６に読出されて制御装置１０５により実行される。
【００４５】
＜機能構成＞
図３は、実施の形態１に係る携帯電話１００の機能構成を示すブロック図である。図３に示すように、携帯電話１００は、撮影部１４２−１と、抽出部１０５−２と、認識部１０５−３と、算出部１０５−４と、第１の判定部１０５−５と、第２の判定部１０５−６と、出力部１０５−６と、画像記憶部１０７−２と、文字認識辞書１０７−３と、結果記憶部１０７−４と、信頼度テーブル１０７−５と、並び方テーブル１０７−６とを含む。
【００４６】
ここで、抽出部１０５−２と、認識部１０５−３と、算出部１０５−４と、第１の判定部１０５−５と、第２の判定部１０５−７は、たとえばＣＰＵなどの制御装置１０５が、第２のメモリ１０７に記憶されている制御プログラム（ソフトウェア）を第１のメモリ１０６に読み出して、当該制御プログラム（ソフトウェア）を実行することによって実現される。画像記憶部１０７−２と、文字認識辞書１０７−３と、結果記憶部１０７−４と、信頼度テーブル１０７−５と、並び方テーブル１０７−６とは、たとえば第１のメモリ１０６または第２のメモリ１０７によって実現される記憶部１０７−１に含まれる機能である。
【００４７】
以下、携帯電話１００が有する各種機能について説明する。前述したように以下の各ブロックの機能や各ステップの処理は、制御装置１０５が第２のメモリ１０７に記憶されている制御プログラム（ソフトウェア）を第１のメモリ１０６に読み出して、当該制御プログラム（ソフトウェア）を実行することによって実現される構成としてもよいし、各々を専用のハードウェア回路等によって実現してもよい。
【００４８】
撮影部１４２−１は、たとえば第１のカメラ１４２や第２のカメラ１４３や図示しないスキャナによって実現されるものであって、名刺２０２などの書類や景色などを撮影して、撮影した画像を画像データに変換するものである。撮影部１４２−１は、取得した画像データを画像記憶部１０７−２に一時的に記憶する。より詳細には、撮影部１４２−１が取得した画像データは、一時的に揮発性の第１のメモリ１０６などに記憶された後、外部からの保存命令などに応じて第２のメモリ１０７に記憶される。
【００４９】
抽出部１０５−２は、画像記憶部１０７−２から画像データを読み出して、当該画像データから文字列を抽出する。より詳細には、抽出部１０５−２は、画像記憶部１０７−２に一時記憶された画像データから、画像としての文字列（文字列の位置座標情報など）を抽出する。抽出部１０５−２による抽出結果は、各文字列を構成する黒画素（文字画素）連結成分の外接枠（左上、右下）座標等である。ここで、抽出部１０５−２による抽出結果は、一時的に記憶部１０７−１の結果記憶部１０７−４に記憶される構成であってもよい。
【００５０】
ただし、抽出部１０５−２による文字列の抽出は、画像データからの文字列の抽出に限らない。たとえば、抽出部１０５−２は、項目判定機能を有しないＯＣＲによって名刺や住所録等から読み取られた文字列のデータを、他の装置や記録媒体や他のアプリケーション（制御プログラム）などから取得するものであってもよい。たとえば、抽出部１０５−２は、入力された音声データに基づいて、文字列を生成するものでもよいし、手話への変換や漢字への変換の候補列を取得するものでもよい。たとえば、抽出部１０５−２は、その他の取得方法によって文字列を取得するものであってもよい。
【００５１】
認識部１０５−３は、入力された（取得された）文字列に含まれる少なくとも１つの第１の部分文字列と、当該第１の部分文字列に含まれる文字とを認識する。より詳細には、認識部１０５−３は、文字列に含まれる各文字の位置を取得し、各文字の位置に基づいて文字列を少なくとも１つの第１の部分文字列に分割する。より詳細には、認識部１０５−３は、抽出部１０５−２が抽出した画像情報としての文字列に対して、文字認識辞書１０７−３を参照しながら、文字コード情報から構成される文字列を生成する。ここで、認識部１０５−３による文字列認識結果とは、認識部１０５−３で決定された各文字の文字コード情報（認識候補を含んでもよい）および各文字毎の座標情報などのことである。そして、文字認識辞書１０７−３は、認識部１０５−３にて利用される文字認識用標準パターン辞書である。
【００５２】
図４は、結果記憶部１０７−４に記憶される文字列認識結果データベースのデータ構造を示すイメージ図である。図４に示すように、文字列結果記憶部１０７−４に記憶される情報は、入力画像の文字列の個数Ｌ、第ｎ行目の文字列を構成する文字の文字数（１≦ｎ≦文字行個数Ｌ）、第ｎ行目の文字列の各文字の（外接枠）座標、文字コード、文字列の分離位置の個数、および各々の分離位置（座標を示す情報、または先頭から数えて何番目の文字の後であるかを示す情報など）などである。
【００５３】
前述したように、認識部１０５−３は、結果記憶部１０７−４に記憶された文字列の認識結果から、文字列を幾つかの第１の部分文字列に分離する。文字列を部分文字列に分離する分離方法としては、例えば、各文字間の距離から平均距離を算出後、当該平均距離に比べて大きい（注目している文字間距離が、平均距離×予め定めた閾値以上など）場合に、その位置で文字列を区切って部分文字列を生成する方法などが挙げられる。認識部１０５−３による文字列の分離結果（部分文字列を示す情報）は、どのような形で記録しても構わないが、本実施の形態においては図４に示す結果記憶部１０７−４のように、分離位置の個数および各々の分離位置などを記憶することによって、文字列の分離結果を記録するものとする。
【００５４】
ここで、図５は、画像データにおける文字列と部分文字列とを示すイメージ図である。図５に示すように、認識部１０５−３は、名刺２０１から読み取った画像データから文字列や部分文字列を認識する。たとえば、「早川太郎」という文字列を認識した後、「早川太郎」を構成する各文字の間隔に基づいて、「早川太郎」という文字列を「早川」という部分文字列と「太郎」という部分文字列に分離するのである。そして、認識結果を結果記憶部１０７−４に記憶するのである。
【００５５】
抽出部１０５−２が、音声データに基づいて文字列のデータを取得する場合には、認識部１０５−３は、各文字が入力される時間の間隔に基づいて文字列から部分文字列を区切る。例えば、各文字に対応する音声が入力される時間間隔から平均時間間隔を算出後、当該平均時間間隔に比べて大きい（注目している時間間隔が、平均時間間隔×予め定めた閾値以上など）場合に、その位置で文字列を区切って部分文字列を生成する方法などが挙げられる。
【００５６】
そして、認識部１０５−３は、入力された文字列データ内のスペースに基づいて、文字列から部分文字列を認識することができる。
【００５７】
信頼度テーブル１０７−５は、各文字を含む少なくとも１つの文字列が分類されるべき項目に基づいて決定される各文字の信頼度が第１の項目別に格納されている。そして、各文字の第１の項目別の信頼度は、各文字を含む少なくとも１つの文字列が使用される程度と当該文字列が分類されるべき項目とに基づいて決定される。
【００５８】
図６は、信頼度テーブル１０７−５のデータ構造を示すイメージ図である。図６に示すように、信頼度テーブル１０７−５は、文字毎（文字コード毎）に、「姓」に使用される場合の信頼度、「名」に使われる場合の信頼度、「地名」に使われる場合の信頼度、「一般単語」に使われる場合の信頼度が格納されている（図６では、「一般単語」を「一般」と記載している。）。
【００５９】
＜信頼度テーブル＞
ここで、信頼度テーブルの作成方法について説明する。図６に示したように、信頼度テーブル１０７−５は、信頼度テーブルに格納している漢字の各文字に対して、姓、名、地名、一般単語としてどれだけ使用されるか、という出現程度（使用程度）を記録している。信頼度テーブル１０７−５の具体的な作成方法については、例えば以下のようにすればよい。
【００６０】
姓および名に関しては、日本人の姓および名を集めたデータベース（コーパスデータ）などを利用する。図７は、日本人の姓のデータベースの一例を示すイメージ図である。このデータベースは、日本人の姓が当該姓を持つ人口の割合の多い順から並んでいる。一番右の列が人口１００００人あたり、この姓の人が存在する割合である。このデータベースの各姓（佐藤、鈴木、…）で使用されている漢字１文字に対して、最右列の姓の人口割合値を加算していく。
【００６１】
たとえば、佐藤、鈴木、内藤の３つの姓について説明する。佐藤の姓を持つ人口の割合が１４１、鈴木の姓を持つ人口の割合が１３７、内藤の姓を持つ人口の割合が１６であるので、この３つの姓だけを考慮した各文字の使用の程度は、
佐・・・１４１
藤・・・１５７（１４１＋１６）
鈴・・・１３７
木・・・１３７
内・・・１６
と表される。それぞれの数値の合計は、５８８（１４１＋１５７＋１３７＋１３７＋１６）であるので、各数値を５８８で割ってから１００をかけると、総計が１００（％）となるように正規化される。正規化後の値は、
佐・・・２３．９７
藤・・・２６．７０
鈴・・・２３．２９
木・・・２３．２９
内・・・２．７２
となる。
【００６２】
そして、各文字の各項目別の数値は、前述したように１ｂｙｔｅ（２ｂｙｔｅ）に収めるのが都合がよいため、１ｂｙｔｅの場合は、各文字の使用の程度を５８８で割り、２５６をかけて、小数点１位以下を切り捨てることによって、０から２５５の間の数値とする構成であってもよい。これによって、各文字の各項目毎に１ｂｙｔｅのメモリ容量に抑えることができる。
【００６３】
もしくは、全ての文字および全ての項目における最も大きな数値を２５５として、各文字の各項目毎の使用の程度を正規化してもよい。すなわち、各文字の各項目毎の使用の程度を当該最も大きな数値で割り、２５５をかける構成であってもよい。
【００６４】
さらに、項目毎に、全ての文字における最も大きな数値を２５５として、各文字の各項目毎の使用の程度を正規化してもよい。すなわち、各文字の各項目毎の使用の程度を当該最も大きな数値で割り、２５５をかける構成であってもよい。
【００６５】
以上のような方法を使えば、携帯電話１００で扱う文字全てに、「姓」についての項目別の信頼度が格納された信頼度テーブルを作成することができる。ただし、図７に示すデータベースのように、常に各々の姓の人口の割合を入手できるとは限らない。たとえば、順位情報（姓の人が多い順）のみわかっている場合であれば、当該順位に応じて各姓の重み付けを行い、各文字の姓として使用される程度を計算してもよい。さらに、順位さえも不明な場合は、重みを全て１として計算してもよい。
【００６６】
そして、各文字の「名」や「地名」や「一般」の項目の信頼度も、上述の「姓」の場合と同様にして作成することが可能である。各文字の「地名」の項目の信頼度は、当該地名の人口に応じて地名に重み付けを施して、当該地名を構成する文字の信頼度を計算してもよい。「一般単語」（姓、名、地名以外の単語）については、例えば、携帯電話１００で扱う単語を予め抽出しておき、重みを一定にして、当該単語の種類に応じて各文字の信頼度を計算してもよい。
【００６７】
なお、本実施の形態においては、項目別文字の作成例は、漢字に限定しているが、ひらがな、カタカナも対象に含めてもかまわない。
【００６８】
以上、信頼度テーブルについて説明したが、信頼度テーブルの作成方法は上記のような方法に限らない。すなわち、各文字の信頼度が、各文字を含む単語の種類や、単語の出現頻度などに基づいて決定され、そのようにして決定された各文字の信頼度が参照可能に記憶されていればよい。たとえば、姓、名、地名、一般の間での各文字の差異点（性質，属性）を取得できればよいので、特定の専門分野の辞書に各文字を含む文字列がエントリされているかということに応じて信頼度を決定し、それらの辞書の種類（たとえば、珍名辞書、珍地名辞書など）に応じて倍率（重み付け）を決めることも有効である。
【００６９】
＜機能構成＞
算出部１０５−４は、信頼度テーブルを参照して、第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、第１の部分文字列の少なくとも１つの文字列信頼度を算出して、第１のメモリ１０６などに記憶する。本実施の形態に係る算出部１０５−１は、信頼度テーブル１０７−５を参照して、第１の項目毎に、第１の部分文字列に含まれる各文字の信頼度に基づいて文字列信頼度を算出する。
【００７０】
第１の判定部１０５−５は、文字列信頼度に基づいて第１の部分文字列の第１の項目を判定する。より詳細には、第１の判定部１０５−５は、第１の項目毎の文字列信頼度に基づいて、第１の部分文字列の第１の項目を判定する。
【００７１】
出力部１０５−７は、制御装置１０５だけでなく、モニタ１５０や図示しない周辺Ｉ／Ｆ回路などによっても実現され、結果記憶部１２２に記憶されている認識結果などの各種情報や、判定された第１の項目および第２の項目を、項目判定プログラムから他のアプリケーションへと渡したり、携帯電話１００の外部へと出力したりする。
【００７２】
並び方テーブル１０７−６は、第２の項目を第１の項目の並び方に対応付けて記憶する。図８は、並び方テーブルのデータ構造を示すイメージ図である。図８に示すように、並び方テーブルは、文字間隔が大きい名前などの場合においては、各部分文字列に対して１つの項目が対応させた後に、文字列全体として当該項目の並び方が妥当か否か、また、妥当である場合には文字列全体としてどの項目に分類することが妥当であるかを判定するためのテーブルである。
【００７３】
図８においては、２〜４つの部分文字列を含む文字列に対して、項目の並びとして妥当な組み合わせのみを挙げている。例えば、３つの部分文字列から成る文字列の場合、１つめの部分文字列が「姓」、２つめの部分文字列が「姓」、３つめの部分文字列が「名」の項目となる部分文字列の並び方は妥当であるとして並び方テーブルに記憶されている。図８中の「⇒」の右の欄は、当該部分文字列の並び方の文字列は、全体として「姓名」という項目に分類されるに相応しいことを示している。
【００７４】
一方、図８に示すように、たとえば、１つめの部分文字列が「名」、２つめの部分文字列が「姓」、３つめの部分文字列が「名」となる組み合わせは、部分文字列の並び方としては妥当ではないものとして、並び方テーブル１０７−６に記憶されていない。
【００７５】
ここで、第１の項目としては、たとえば、「姓」、「名」、「地名」、「都道府県名」、「市町村郡名」、「一般単語」、「肩書き」、「部署」などが挙げられる。そして、第２の項目としては、「姓名（氏名）」、「住所（地名）」、「一般単語」、「社名」、「肩書き」、「所属」などが挙げられる。
【００７６】
第２の判定部１０５−６は、第１の部分文字列毎の項目と、並び方テーブル１０７−６に記憶されている並び方とに基づいて、文字列の第２の項目を判定する。より詳細には、第２の判定部１０５−６は、第１の部分文字列の第１の項目毎の文字列信頼度と、並び方テーブル１０７−６に記憶されている第１の項目の並び方とに基づいて、文字列全体の第２の項目を判定する。
【００７７】
＜項目判定処理＞
次に、本実施の形態に係る項目判定処理について説明する。図９は、実施の形態１に係る携帯電話１００における項目判定処理の処理手順を示すフローチャートである。図１０は、実施の形態１に係る項目判定処理の対象となる名刺２０２を示すイメージ図である。また、ここでは、制御装置１０５によって抽出され、制御装置１０５によって認識された文字列認識結果のうち、「早川太郎」が入力された場合の項目判定処理について説明するものとし、「早川太郎」の文字列認識結果は、既に第１のメモリ１０６または第２のメモリ１０７によって実現される記憶部１０７−１に格納されているものとする。
【００７８】
なお、図１０に示すような名刺２０２の場合には、姓および名の「早川太郎」が名刺２０２中央に大きく書かれているわけではないため、従来の手法では、姓、名、地名、一般単語などの各種単語辞書を用いることなく、「早川太郎」が姓名であることを判定することは、容易ではない。
【００７９】
まずは、制御装置１０５が、記憶部１０７−１に記憶されている文字列認識結果に基づいて、認識結果文字列「早川太郎」を、「早川」という部分文字列と「太郎」という部分文字列に分離する（ステップＳ１０１）。文字列を分離する方法は、前述したように、各々の文字間距離と、文字間距離の平均とを比較するなどの方法によって容易に行うことができる。文字列を分離した後の部分文字列の数をＮとすると、「早川太郎」の場合には、Ｎ＝２となる。
【００８０】
なお、この説明では、制御装置１０５が認識文字列を複数に分離した場合の処理を挙げるが、文字間の距離が一定であるなどの理由で制御装置１０５が認識文字列を分離できなかった場合には文字列に１つの部分文字列が含まれているものとして（１つの部分文字列しかなかったものとして）以下の処理を行う。
【００８１】
また、そもそも、制御装置１０５で得られた文字列自体を１つの部分文字列として扱う構成の場合は、抽出した文字列自体を部分文字列として扱う。この場合は、制御装置１０５によって実現される認識部１０５−３は、文字列と当該文字列を構成する文字とを認識するものである。
【００８２】
制御装置１０５はカウンタｎを１に初期化する（ステップＳ１０２）。制御装置１０５は、ｎ≦Ｎであれば（ステップＳ１０３においてＹＥＳの場合）、ｎ番目の部分文字列の信頼度と分類すべき項目とを算出する（ステップＳ１０４〜ステップＳ１０５）。
【００８３】
制御装置１０５は、項目毎に、第ｎ番目の部分文字列の文字列信頼度を求める。文字列信頼度を求める処理は、たとえば、項目毎に、図６に示したような各文字別および各項目別に定められた信頼度テーブルの各文字の信頼度を加算していけばよい（ステップＳ１０４）。
【００８４】
図１１は、実施の形態１に係る第１番目の部分文字列を構成する文字の信頼度と第１番目の部分文字列の文字列信頼度を示したイメージ図である。図１１に示すように、各部分文字列（ここでは第１番目の部分文字列「早川」）について、各文字の信頼度を項目毎に加算する。すなわち、第１番目の部分文字列「早川」の各項目毎の文字列信頼度は、
（姓）・・１１
（名）・・・５
（地名）・１０
（一般）・・３
となる。
【００８５】
制御装置１０５は、文字列信頼度が最大となる第１の項目を、第１番目の部分文字列が分類されるに相応しい第１の項目であるものとして決定する（ステップＳ１０５）。この場合には、第１番目の部分文字列は「姓」という項目に分類されるべき部分文字列である、と判定される。
【００８６】
そして、制御装置１０５は、カウンタをインクリメント（ｎ＝ｎ＋１）する（ステップＳ１０６）。制御装置１０５は、ｎ≦Ｎであるため（ステップＳ１０３においてＹＥＳの場合）、第２番目の部分文字列（ここでは、「太郎」）の信頼度と分類すべき項目とを算出する（ステップＳ１０４〜ステップＳ１０５）。
【００８７】
すなわち、制御装置１０５は、項目毎に、第２番目の部分文字列の文字列信頼度を求める。上記と同様に、制御装置１０５は、項目毎に、信頼度テーブルの各文字の信頼度を加算する（ステップＳ１０４）。
【００８８】
図１２は、実施の形態１に係る第２番目の部分文字列を構成する文字の信頼度と第２番目の部分文字列の文字列信頼度を示したイメージ図である。図１２に示すように、各文字の信頼度を項目毎に加算して算出された、第２番目の部分文字列「太郎」の各項目毎の文字列信頼度は、
（姓）・・・４
（名）・・２１
（地名）・・９
（一般）・・５
である。
【００８９】
制御装置１０５は、文字列信頼度が最大となる第１の項目を、第２番目の部分文字列が分類されるに相応しい第１の項目であるものとして決定する（ステップＳ１０５）。この場合には、制御装置１０５によって、第２番目の部分文字列は「名」という項目に分類されるべき部分文字列である、と判定される。そして、制御装置１０５は、カウンタをインクリメント（ｎ＝ｎ＋１）する（ステップＳ１０６）。
【００９０】
このように、ステップＳ１０４〜ステップＳ１０５において、制御装置１０５は、第１の文字列「早川」について最高の文字列信頼度となる「姓」の項目や、第２の文字列「太郎」についての最高の文字列信頼度となる「名」の項目を判定する。
【００９１】
一方、制御装置１０５は、ｎ＞Ｎであれば（ステップＳ１０３においてＮＯの場合）、ステップＳ１０６において判定された部分文字列の組み合わせ（並び方）から、文字列全体の第２の項目の判定を行う（ステップＳ１０７）。これは、図８に示したような並び方テーブル１０７−６を用いることによって、制御装置１０５が、少なくとも１つの部分文字列からなる文字列がどの項目に分類されるべきかを判定する。具体的には、図８に示すように、「姓」という第１の項目の次に「名」という第１の項目が並ぶ並び方は、「姓名」という第２の項目が該当する。このようにして、「早川太郎」が姓名であることが判定できる。
【００９２】
そして、部分文字列に対する項目の並び方が、並び方テーブル１０７−６に格納されていない並び方であった場合には、たとえば、制御装置１０５が以下の演算を行う。すなわち、制御装置１０５は、文字列全体の信頼度として次に大きな信頼度を有する部分文字列の第１の項目を選択する。そして、制御装置１０５は、当該第１の項目の並び方が並び方テーブル１０７−６に記憶されているかを検索して、当該第１の項目の並び方が並び方テーブル１０７−６に記憶されている場合に、文字列全体としての第２の項目を判定する。
【００９３】
本実施の形態においては、Ｎ＝２の場合のみを説明したが、もちろんＮが１の場合や、Ｎが３以上の場合でも可能である。ただし、Ｎが大きくなるほど、組み合わせ数の増加により、処理量が増えてしまう。文字数が多い場合は、最初の何文字かに絞るなど、少ない文字数に制限してもよい。
【００９４】
［実施の形態２］
次に、項目判定装置の実施の形態２について説明する。本実施の形態においても項目判定装置の一例として携帯電話１００について説明を行う。本実施の形態における携帯電話１００は、機能構成の一部と項目判定処理における処理手順においてのみ実施の形態１における携帯電話１００と異なるものである。つまり、全体構成およびハードウェア構成については、本実施の形態における携帯電話１００は、図１および図２に示した実施の形態１における携帯電話１００と同様であるのでここでは説明を繰り返さない。
【００９５】
本実施の形態に係る項目判定装置および項目判定処理も、カメラ付きの携帯電話１００などのハードウェアと制御プログラムなどのソフトウェアとによって実現される。一般的にこうしたソフトウェアは、製造時に第２のメモリ１０７に格納されたり、ユーザがネットワークなどを介してダウンロードしたりすることによって流通する。そして、ソフトウェアは、第２のメモリ１０７から第１のメモリ１０６に読出されて制御装置１０５により実行される。
【００９６】
＜機能構成＞
図１３は、本実施の形態に係る携帯電話１００の機能構成を示すブロック図である。図１３に示すように、携帯電話１００は、撮影部１４２−１と、抽出部１０５−２と、認識部１０５−３と、算出部１０５−４と、第１の判定部１０５−５と、出力部１０５−７と、画像記憶部１０７−２と、文字認識辞書１０７−３と、結果記憶部１０７−４と、信頼度テーブル１０７−５と、並び方テーブル１０７−６とを含む。
【００９７】
ここで、抽出部１０５−２と、認識部１０５−３と、算出部１０５−４と、第１の判定部１０５−５と、出力部１０５−７とは、たとえばＣＰＵなどの制御装置１０５が、第２のメモリ１０７に記憶されている制御プログラム（ソフトウェア）を第１のメモリ１０６に読み出して、当該制御プログラム（ソフトウェア）を実行することによって実現される。画像記憶部１０７−２と、文字認識辞書１０７−３と、結果記憶部１０７−４と、信頼度テーブル１０７−５と、並び方テーブル１０７−６とは、記憶部１０７−１に含まれる機能である。記憶部１０７−１は、第１のメモリ１０６または第２のメモリ１０７によって実現される。
【００９８】
以下、携帯電話１００が有する各種機能について説明するが、前述したように以下の各ブロックの機能や各ステップの処理は、制御装置１０５が第２のメモリ１０７に記憶されている制御プログラム（ソフトウェア）を第１のメモリ１０６に読み出して、当該制御プログラム（ソフトウェア）を実行することによって実現される構成としてもよいし、各々を専用のハードウェア回路等によって実現してもよい。
【００９９】
なお、本実施の形態における撮影部１４２−１と、抽出部１０５−２と、画像記憶部１０７−２と、文字認識辞書１０７−３と、結果記憶部１０７−４と、信頼度テーブル１０７−５とについては、実施の形態１におけるそれと同様の構成であるためここでは説明を繰り返さない。また、本実施の形態における信頼度テーブル１０７−５の生成方法についても、実施の形態１におけるそれと同様の構成であるためここでは説明を繰り返さない。
【０１００】
まず、並び方テーブル１０７−６は、図８に示すように、第２の項目を第１の項目の並び方に対応付けて記憶する。本実施の形態に係る並び方テーブルは、各文字に対応する項目の並び方を格納しており、当該並び方に基づいて部分文字列全体としてどのような項目に分類すべきかを判定するためのテーブルである。
【０１０１】
図８に示すように、並び方テーブル１０７−６は、２〜４つの文字を含む部分文字列について、各文字に対応する項目の並び方として妥当な並び方のみを格納している。例えば、３つの文字から成る部分文字列の場合、１つめの文字が「姓」、２つめの文字が「姓」、３つめの文字が「名」の項目となる並び方は妥当であるとして並び方テーブルに格納されている。なお、図８中の「⇒」の右の欄は、当該並び方の部分文字列は全体として、「姓名」という項目に分類されるに相応しいことを示している。
【０１０２】
一方、図８においては、例えば、１つめの文字が「名」、２つめの文字が「姓」、３つめの文字が「名」となる組み合わせは、通常の文字列としては妥当でないものとして、並び方テーブル１０７−６に格納されていない。
【０１０３】
認識部１０５−３は、文字列に含まれる少なくとも１つの第１の部分文字列と、当該第１の部分文字列に含まれる文字と、を認識する。そして、認識部１０５−３は、文字列に含まれる各文字の位置を取得し、各文字の位置に基づいて文字列を少なくとも１つの第１の部分文字列に分割する。ただし、本実施の形態に係る認識部１０５−１は、文字列を１つの部分文字列として扱うものとする。
【０１０４】
より詳細には、認識部１０５−３は、抽出部１０５−２が抽出した画像情報としての文字列に対して、文字認識辞書１０７−３を参照して、文字コード情報としての文字列を生成する。ここで、認識部１０５−３による文字列認識結果とは、認識部１０５−３で決定された各文字の文字コード情報（認識候補を含んでもよい）および各文字の座標情報などのことである。
【０１０５】
算出部１０５−４は、信頼度テーブルを参照して、第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、第１の部分文字列の少なくとも１つの文字列信頼度を算出して、第１のメモリ１０６などに記憶する。本実施の形態に係る算出部１０５−１は、並び方テーブル１０７−６に記憶されている第１の項目の並び方毎に、並び方テーブル１０７−６に記憶されている第１の項目の並び方に基づいて、第１の部分文字列の文字列信頼度を算出する。すなわち、算出部１０５−１は、部分文字列を構成する文字の並び方は、第１の項目の並び方として妥当性のある並び方となるもののみについての並び方毎に、部分文字列の信頼度を計算する。
【０１０６】
第１の判定部１０５−５は、文字列信頼度に基づいて第１の部分文字列の第１の項目を判定する。より詳細には、第１の判定部１０５−５は、並び方テーブルに記憶されている第１の項目の並び方毎の文字列信頼度に基づいて、第１の部分文字列の第２の項目を判定する。
【０１０７】
すなわち、図８に示すように、認識部１０５−３が認識した文字列が３つの文字からなる場合、算出部１０５−４が、並び方テーブル１０７−６を参照して、３文字から成る文字列の並び方としては以下の６種類を抽出する。すなわち、
姓＋姓＋名
姓＋名＋名
姓＋単＋単
地＋単＋単
地＋地＋地
単＋単＋単
の６種類である。
【０１０８】
算出部１０５−４は、上記の並び方毎に部分文字列の文字列信頼度を算出して、最大の文字列信頼度を有する並び方に対応する第２の文字列を、部分文字列の第２の項目として判定する。
【０１０９】
出力部１０５−７は、制御装置１０５だけでなく、モニタ１５０や図示しない周辺Ｉ／Ｆ回路などによっても実現され、結果記憶部１２２に記憶されている認識結果などの各種情報や、判定された第２の項目を、項目判定プログラムから他のアプリケーションへと渡したり、携帯電話１００の外部へと出力したりする。
【０１１０】
＜項目判定処理＞
次に、本実施の形態に係る項目判定処理について説明する。図１４は、本実施の形態に係る携帯電話１００における項目判定処理の処理手順を示すフローチャートである。
【０１１１】
以下では、入力される文字列を１つの部分文字列として扱う携帯電話１００における項目判定処理の処理手順について説明する。ただし、制御装置１０５によって実現される認識部１０５−３が、入力される文字列が１文字から成る部分文字列によって構成されているとして扱う、すなわちＮ文字からなる文字列が入力されたときにはＮ個の部分文字列に分離する構成であってもよいものとする。
【０１１２】
ここでも、図１０に示すような名刺２０２の画像データが入力された場合についての説明を行う。そして、対象とする文字列は「南曽根」とする。本実施の形態においては、文字列に１つの部分文字列「南曽根」が含まれるとして説明を行うが、上述したように文字列分離数Ｎを３とする構成であってもよいものとする。本実施の形態においては、図５に示したように、「南曽根」の部分文字列以外に、「早川工業」の部分文字列や、「太郎」の部分文字列などが抽出される。
【０１１３】
図１４を参照して、まずは、制御装置１０５が、記憶部１０７−１に記憶されている文字列認識結果に基づいて、認識結果文字列「南曽根」を、「南曽根」という１つの部分文字列として認識する（ステップＳ２０１）。
【０１１４】
制御装置１０５は、部分文字列に含まれる文字数に応じて、図８に示す並び方テーブルから３文字用の並び方を順に抽出する（ステップＳ２０２）。ただし、ステップＳ２０２においては、並び方の数だけを抽出し、ステップＳ２０５にてｎに対応する第ｎ番目の並び方を抽出する構成であってもよい。そして、並び方毎にカウンタに対応させ、文字数に対応する並び方の総数をＮとして、制御装置１０５はカウンタｎを１に初期化する（ステップＳ２０３）。
【０１１５】
すなわち、図８に示すように、部分文字列が３つの文字からなる場合、制御装置１０５は、並び方テーブル１０７−６に基づいて、３文字から成る文字列に対応する第１の項目の並び方として、以下の６種類を抽出する。すなわち、制御装置１０５は、
姓＋姓＋名
姓＋名＋名
姓＋単＋単
地＋単＋単
地＋地＋地
単＋単＋単
の６種類に応じて、Ｎ＝６として、それぞれの並び方毎の部分文字列に対応した文字列信頼度を算出するのである。ただし、前述したように、ステップＳ２０２においては、並び方の数だけを抽出し、ステップＳ２０５にてｎに対応する並び方を抽出する構成であってもよい。
【０１１６】
制御装置１０５は、ｎ≦Ｎであれば（ステップＳ２０４においてＹＥＳの場合）、ｎ番目の並び方に対する部分文字列の文字列信頼度と分類すべき項目とを算出する（ステップＳ２０５）。すなわち、ステップＳ２０５においては、部分文字列の並び方として妥当性のある組み合わせのみについて、文字列信頼度を計算するのである。換言すれば、ステップＳ２０５において、制御装置１０５は、並び方毎に、第ｎ番目の並び方に対する部分文字列の文字列信頼度を算出して、当該並び方に対応する第２の項目と共に記憶部１０７−１に記憶する。そして、１つの並び方に対する文字列信頼度を算出すると制御装置１０５は、カウンタをインクリメント（ｎ＝ｎ＋１）する（ステップＳ２０６）。
【０１１７】
一方、制御装置１０５は、ｎ＞Ｎであれば（ステップＳ２０４においてＮＯの場合）、ステップＳ２０５において判定された並び方毎の部分文字列の並び方から、部分文字列の第２の項目の判定を行う（ステップＳ２０７）。詳細には、制御装置１０５は、記憶部１０７−１から、並び方毎の部分文字列の文字列信頼度と、当該並び方に対応する第２の項目とを読み出して、最も大きな文字列信頼度を有する並び方に基づいて、部分文字列が分類されるべき第２の項目を判定するのである。
【０１１８】
以下、「南曽根」が抽出された場合について、より詳細に説明する。図１５は、実施の形態２に係る部分文字列を構成する文字の信頼度を示したイメージ図である。図８を参照して、制御装置１０５は、３文字の文字列が該当する可能性がある並び方として６種類の並び方を抽出する（ステップＳ２０２）。制御装置１０５は、当該６種類の並び方の各々について、文字列信頼度を求める（ステップＳ２０５）。
【０１１９】
より詳細には、制御装置１０５は、以下のように、６種類の第１の項目の並び方に対して文字列信頼度を計算して、それぞれの並び方に対応する第２の項目とともに記憶部１０７−１に記憶するのである。
姓＋姓＋名＝６＋４＋１＝１１⇒「姓名」
姓＋名＋名＝６＋１＋１＝  ８⇒「姓名」
姓＋単＋単＝６＋１＋１＝  ８⇒「単語」
地＋単＋単＝６＋１＋１＝  ８⇒「単語」
地＋地＋地＝６＋４＋３＝１３⇒「地名」
単＋単＋単＝１＋１＋１＝  ３⇒「単語」
となる。
【０１２０】
制御装置１０５は、最大の文字列信頼度を有する第１の項目の並び方として地＋地＋地を選択し、地＋地＋地に対応する「地名」を文字列が分類されるべき第２の項目として決定するのである（ステップＳ２０７）。ただし、制御装置１０５が、最後にステップＳ２０７にて、並び方テーブル１０７−６を参照することにより、文字列を「地名」と判定する構成であってもよい。
【０１２１】
本実施の形態においては、図５および図１０に示すように、Ｎ＝６の場合のみを説明したが、もちろん部分文字列の個数Ｎが６以外の場合であっても、文字列の項目判定は可能である。ただし、Ｎが大きくなるほど、組み合わせ数の増加により、処理量が増えてしまう。文字数が多い場合は、最初の何文字かに絞るなど、少ない文字数に制限してもよい。
【０１２２】
［実施の形態３］
次に、項目判定装置の実施の形態３について説明する。本実施の形態においても項目判定装置の一例として携帯電話１００について説明を行う。本実施の形態における携帯電話１００は、機能構成の一部と項目判定処理における処理手順においてのみ実施の形態１における携帯電話１００と異なるものである。つまり、全体構成およびハードウェア構成については、本実施の形態における携帯電話１００は、図１および図２に示した実施の形態１における携帯電話１００と同様であるのでここでは説明を繰り返さない。
【０１２３】
本実施の形態に係る項目判定装置および項目判定処理も、カメラ付きの携帯電話１００などのハードウェアと制御プログラムなどのソフトウェアとによって実現される。一般的にこうしたソフトウェアは、製造時に第２のメモリ１０７に格納されたり、ユーザがネットワークなどを介してダウンロードすることによって流通する。そして、ソフトウェアは、第２のメモリ１０７から第１のメモリ１０６に読出されて制御装置１０５により実行される。
【０１２４】
＜機能構成＞
図１６は、実施の形態３に係る携帯電話１００の機能構成を示すブロック図である。図１６に示すように、携帯電話１００は、撮影部１４２−１と、抽出部１０５−２と、認識部１０５−３と、単語検索部１０５−８と、算出部１０５−４と、第１の判定部１０５−５と、第３の判定部１０５−９と、出力部１０５−７と、画像記憶部１０７−２と、文字認識辞書１０７−３と、結果記憶部１０７−４と、信頼度テーブル１０７−５と、並び方テーブル１０７−６と、単語辞書１０７−７とを含む。
【０１２５】
ここで、抽出部１０５−２と、認識部１０５−３と、単語検索部１０５−８と、算出部１０５−４と、第１の判定部１０５−５と、第３の判定部１０５−９と、出力部１０５−７とは、たとえばＣＰＵなどの制御装置１０５が、第２のメモリ１０７に記憶されている制御プログラム（ソフトウェア）を第１のメモリ１０６に読み出して、当該制御プログラム（ソフトウェア）を実行することによって実現される。画像記憶部１０７−２と、文字認識辞書１０７−３と、結果記憶部１０７−４と、信頼度テーブル１０７−５と、並び方テーブル１０７−６と、単語辞書１０７−７とは、第１のメモリ１０６または第２のメモリ１０７によって実現される記憶部１０７−１に含まれる機能である。
【０１２６】
以下、携帯電話１００が有する各種機能について説明するが、前述したように以下の各ブロックの機能や各ステップの処理は、制御装置１０５が第２のメモリ１０７に記憶されている制御プログラム（ソフトウェア）を第１のメモリ１０６に読み出して、当該制御プログラム（ソフトウェア）を実行することによって実現される構成としてもよいし、各々を専用のハードウェア回路等によって実現してもよい。
【０１２７】
なお、本実施の形態における撮影部１４２−１と、抽出部１０５−２と、画像記憶部１０７−２と、文字認識辞書１０７−３と、結果記憶部１０７−４と、信頼度テーブル１０７−５と、並び方テーブル１０７−６とについては、実施の形態１におけるそれと同様の構成であるためここでは説明を繰り返さない。また、本実施の形態における信頼度テーブル１０７−５の生成方法についても、実施の形態１におけるそれと同様の構成であるためここでは説明を繰り返さない。
【０１２８】
まず、単語辞書１０７−７は、少なくとも１つの文字から構成され、第１の項目に属する複数の単語を格納するものであって、文字コード列としての単語を保持した辞書である。単語辞書１０７−７は、姓辞書、名辞書、地名辞書、一般単語辞書等のうちの少なくともいずれかの項目に属する単語が格納された辞書のことを言う。携帯電話１００の記憶部１０７−１には、これらの辞書のうち、いずれか１つの辞書が格納されていれば良く、当該辞書に含まれる単語は、当該辞書に対応する第１の項目に分類されるに相応しい単語であることが解る。また、単語辞書１０７−７は、例えば名刺の読取を対象としていれば名刺に記載される可能性が高い単語に限る等の調整が行われたものであってもよいものとする。
【０１２９】
認識部１０５−３は、文字列に含まれる少なくとも１つの第１の部分文字列と、当該第１の部分文字列に含まれる文字とを認識する。そして、認識部１０５−３は、文字列に含まれる各文字の位置を取得し、各文字の位置に基づいて文字列を少なくとも１つの第１の部分文字列に分割する。より詳細には、認識部１０５−３は、抽出部１０５−２が抽出した画像情報としての文字列に対して、文字認識辞書１０７−３を参照して、文字コード情報としての文字列を生成する。ここで、認識部１０５−３による文字列認識結果とは、認識部１０５−３で決定された各文字の文字コード情報（認識候補を含んでもよい）および各文字毎の座標情報などのことである。
【０１３０】
そして、認識部１０５−３は、結果記憶部１０７−４に記憶された文字列任意気結果から、文字列を幾つかの第１の部分文字列に分離する。文字列を分離する分離方法については、例えば、各文字間の距離から平均距離を算出後、平均距離に比べて大きい（注目している文字間距離が、平均距離×予め定めた閾値以上など）場合に、その位置で文字列を区切る方法などが挙げられる。この認識部１０５−３による文字列分離結果は、どのような形で記録しても構わないが、本実施の形態においては図４に示す結果記憶部１０７−４のように、分離位置の個数および各々の分離位置などを記憶することによって、文字列分離結果を記録するものとする。
【０１３１】
単語検索部１０５−８は、結果記憶部１０７−４に記憶されたテキスト文字列に対して、当該テキスト文字列内に、単語辞書１０７−７に格納されている単語があるか否かを検索して、当該検索結果を結果記憶部１０７−４に返すものである。すなわち、単語検索部１０５−８は、第１の部分文字列が単語辞書に記憶されている単語を含むか否かを判断する判断部である。
【０１３２】
算出部１０５−４は、信頼度テーブル１０７−５を参照して、第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、第１の部分文字列の少なくとも１つの文字列信頼度を算出して、第１のメモリ１０６などに記憶する。本実施の形態に係る算出部１０５−１は、第１の部分文字列が単語辞書１０７−７に記憶されている単語を含む場合に、信頼度テーブル１０７−５を参照して、第１の部分文字列のうち単語辞書に記憶されている単語に含まれる文字を除いた文字から構成される第２の部分文字列に含まれる各文字に対応する文字信頼度に基づいて、第２の部分文字列の第１の項目毎の文字列信頼度を算出する。そして、本実施の形態に係る算出部１０５−４は、第１の部分文字列が単語辞書１０７−７に記憶されている単語を含まない場合に、信頼度テーブル１０７−５を参照して、第１の部分文字列に含まれる各文字の第１の項目別の信頼度に基づいて、第１の部分文字列の少なくとも１つの文字列信頼度を算出する。
【０１３３】
第１の判定部１０５−５は、文字列信頼度に基づいて第１の部分文字列の第１の項目を判定する。より詳細には、本実施の形態に係る第１の判定部１０５−５は、第１の部分文字列が単語辞書１０７−７に記憶されている単語を含む場合に、文字列信頼度に基づいて第２の部分文字列の第１の項目を判定し、第１の部分文字列が単語辞書１０７−７に記憶されている単語を含まない場合に、文字列信頼度に基づいて第１の部分文字列の第１の項目を判定する。
【０１３４】
出力部１０５−７は、制御装置１０５だけでなく、モニタ１５０や図示しない周辺Ｉ／Ｆ回路などによっても実現され、結果記憶部１２２に記憶されている認識結果などの各種情報や、判定された第１の項目および第２の項目を、項目判定プログラムから他のアプリケーションへと渡したり、携帯電話１００の外部へと出力したりする。
【０１３５】
第３の判定部１０５−９は、第１の部分文字列が単語辞書１０７−７に記憶されている単語を含む場合に、単語辞書１０７−７の単語が属する第１の項目と、第２の部分文字列の第１の項目とに基づいて、部分文字列の第２の項目を判定する。第３の判定部１０５−９は、第１の部分文字列が単語辞書１０７−７に記憶されている単語を含まない場合に、少なくとも１つの第１の部分文字列毎の第１の項目毎の文字列信頼度と、並び方テーブル１０７−６の第１の項目の並び方とに基づいて文字列の第２の項目を判定する。
【０１３６】
＜項目判定処理＞
次に、本実施の形態に係る項目判定処理について説明する。図１７は、実施の形態３に係る携帯電話１００における項目判定処理の処理手順を示すフローチャートである。図１８は、項目判定処理の対象となる名刺２０３を示すイメージ図である。本実施の形態においては、携帯電話１００に、単語辞書１０７−７として、姓に分類されるに相応しい単語のみが格納された姓辞書のみが記憶されているものとする。そして、入力対象画像は、図１８に示す名刺画像であるものとする。
【０１３７】
加えて、図１８に示すように、読み取り対象となる名刺２０３は「（株）」に汚れがあるものとし、以下では「（株）」という文字が認識できなかった場合の項目判定処理について説明する。この他にも、「（株）」の字体が単語辞書に格納されていない特殊な字体であったため、「（株）」が正しく認識できず除去される場合がある。また、「（株）」がカラー文字であったため正しく認識できなかった場合もある。また、顔写真等のように、図の一部として認識対象とならなかった場合もある。本実施の形態に係る携帯電話は、以下に説明するように、文字列の一部分が認識不能である場合であっても、当該文字列が分類されるに相応しい項目を判定できるものである。
【０１３８】
まず、ステップＳ１０１においては、撮影部１４２−１によって抽出された上、制御装置１０５によって認識された文字列の中から、制御装置１０５が「建材製造販売」と「内山田建材」と「神田川建一」とを部分文字列として認識する。そして、制御装置１０５は、「建材製造販売」と「内山田建材」と「神田川建一」の部分文字列の認識結果を、第１のメモリ１０６または第２のメモリ１０７によって実現される記憶部１０７−１に格納する（ステップＳ３０１）。
【０１３９】
すなわち、ステップＳ３０１において、制御装置１０５が、ｎ＝１（第１番目）の部分文字列として「建材製造販売」を認識して記憶部１０７−１に格納する。また、制御装置１０５は、ｎ＝２（第２番目）の部分文字列として「内山田建材」を認識して記憶部１０７−１に格納する。また、制御装置１０５は、ｎ＝３（第３番目）の部分文字列として「神田川建一」を認識して記憶部１０７−１に格納する。すなわち、この場合には、記憶部１０７−１に格納される部分文字列の数は３つ（Ｎ＝３）となる。
【０１４０】
なお、ここでは、制御装置１０５が認識文字列を複数の部分文字列に分離した場合の処理を挙げるが、文字間の距離が一定であるなどの理由で制御装置１０５が認識文字列を分離できなかった場合には文字列に１つの部分文字列が含まれているものとして（１つの部分文字列しかなかったものとして）以下の処理を行う。
【０１４１】
また、そもそも制御装置１０５で得られた文字列自体を部分文字列として扱う構成の場合は、抽出した文字列自体を部分文字列として扱う。
【０１４２】
次に、制御装置１０５はカウンタｎを１に初期化する（ステップＳ３０２）。制御装置１０５は、ｎ≦Ｎであれば（ステップＳ３０３においてＹＥＳの場合）、第ｎ番目の部分文字列に対して、単語辞書１０７−６（姓辞書）内に格納されている単語（姓）を含むか否かを検索する（ステップＳ３０４）。また、ここでは、「内山田」、「神田川」の２つの文字列が単語辞書１０７−７に格納されているものとし、「建材製造販売」内には単語辞書１０７−７が格納する単語（姓）は見つからなかったものとする。
【０１４３】
第ｎ番目の部分文字列が単語辞書に含まれている単語を含むものである場合（ステップＳ３０５にてＹＥＳの場合）、当該単語以外の文字からなる第２の部分文字列の文字列信頼度を算出する（ステップＳ３０６〜ステップＳ３０７）。すなわち、制御装置１０５は、項目毎に、第２の部分文字列の文字列信頼度を求める（ステップＳ３０６）。第２の部分文字列の文字列信頼度を求める処理は、たとえば、項目毎に、図６に示したような各文字別および各項目別に定められた信頼度テーブルの各文字の信頼度を加算していけばよい。そして、制御装置１０５は、文字列信頼度が最大となる第１の項目を、第２の部分文字列が分類されるに相応しい第１の項目であるものとして決定する（ステップＳ３０７）。
【０１４４】
そして、第ｎ番目の部分文字列が単語辞書に含まれている単語を含まないものである場合（ステップＳ３０５にてＮＯの場合）、当該部分文字列自体を第１の部分文字列として信頼度を算出する（ステップＳ３０８〜ステップＳ３０９）。すなわち、制御装置１０５は、項目毎に、第１の部分文字列の文字列信頼度を求める（ステップＳ３０８）。そして、制御装置１０５は、文字列信頼度が最大となる第１の項目を、第１の部分文字列が分類されるに相応しい第１の項目であるものとして決定する（ステップＳ３０９）。
【０１４５】
具体的には、ｎ＝１（第１番目）の部分文字列「建材製造販売」については、部分文字列が単語辞書１０７−７に含まれている単語を含まないものであるので（ステップＳ３０５にてＮＯの場合）、当該部分文字列自体を第１の部分文字列として文字列信頼度を算出する（ステップＳ３０８〜ステップＳ３０９）。すなわち、制御装置１０５は、項目毎に、「建材製造販売」の文字列信頼度を求める（ステップＳ３０８）。そして、制御装置１０５は、文字列信頼度が最大となる第１の項目を、「建材製造販売」が分類されるに相応しい第１の項目であるものとして決定する（ステップＳ３０９）。
【０１４６】
そして、ｎ＝２（第２番目）の部分文字列「内山田建材」については、部分文字列が単語辞書１０７−７に含まれている単語を含むものであるので（ステップＳ３０５にてＹＥＳの場合）、当該単語以外の文字からなる「建材」を第２の部分文字列として文字列信頼度を算出する（ステップＳ３０６〜ステップＳ３０７）。すなわち、制御装置１０５は、項目毎に、「建材」の文字列信頼度を求める（ステップＳ３０６）。そして、制御装置１０５は、文字列信頼度が最大となる第１の項目を、第２の部分文字列としての「建材」が分類されるに相応しい第１の項目であるものとして決定する（ステップＳ３０７）。
【０１４７】
そして、ｎ＝３（第３番目）の部分文字列「神田川建一」については、部分文字列が単語辞書１０７−７に含まれている単語を含むものであるので（ステップＳ３０５にてＹＥＳの場合）、当該単語以外の文字からなる「建一」を第２の部分文字列として文字列信頼度を算出する（ステップＳ３０６〜ステップＳ３０７）。すなわち、制御装置１０５は、項目毎に、「建一」の文字列信頼度を求める（ステップＳ３０６）。そして、制御装置１０５は、文字列信頼度が最大となる第１の項目を、第２の部分文字列としての「建一」が分類されるに相応しい第１の項目であるものとして決定する（ステップＳ３０７）。
【０１４８】
図１９は、ｎ＝２（第２番目）およびｎ＝３（第３番目）の部分文字列を構成する文字の信頼度を示したイメージ図である。図１９に示すように、「建材」については、
姓      ５
名      ９
地名    ７
単語  １０
となり、当該第２の部分文字列は一般単語という項目に分類されるべきであると判断する。
【０１４９】
そして、「建一」については、
姓    １０
名    １６
地名    ９
単語  １１
となるので、当該第２の部分文字列は名という項目に分類されるべきであると判断する。
【０１５０】
このように、第１の部分文字列および第２の部分文字列の各々の文字列信頼度と、各々の第１の項目とが算出されると、制御装置１０５は、文字列信頼度と第１の項目とを記憶部１０７−１に記憶して、カウンタをインクリメント（ｎ＝ｎ＋１）する（ステップＳ３１０）。ただし、後述するように、ここでは、制御装置１０５が、第１の部分文字列および第２の部分文字列の文字列信頼度のみを算出し、文字列信頼度を記憶部１０７−１に記憶する構成であってもよい。
【０１５１】
一方、制御装置１０５は、ｎ＞Ｎであれば（ステップＳ３０３においてＮＯの場合）、ステップＳ３０７およびステップＳ３０９において判定された第１の部分文字列の項目と第２の部分文字列の項目と単語辞書１０７−７に定められた項目との組み合わせ（並び方）から、文字列全体の第２の項目の判定を行う（ステップＳ３１１）。これは、図８に示したような並び方テーブル１０７−６を用いることによって、制御装置１０５が、少なくとも１つの第１の部分文字列や第２の部分文字列からなる部分文字列がどの項目に分類されるべきかを判定する（ステップＳ３１１）。
【０１５２】
たとえば、ｎ＝２（第２番目）の部分文字列である「内山田建材」の場合は、単語辞書１０７−７に定められた「内山田」に対応する「姓」という第１の項目の次に、「建材」に対応する「単語」という第１の項目が並ぶ並び方であるため、制御装置１０５はｎ＝２（第２番目）の部分文字列は「社名」という第２の項目に分類すべきであると判定する。そして、ｎ＝３（第３番目）の「神田川建一」の場合は、単語辞書１０７−７に定められた「神田川」に対応する「姓」という第１の項目の次に、「建一」に対応する「名」という第１の項目が並ぶ並び方であるため、制御装置１０５はｎ＝３（第３番目）の部分文字列は「姓名」という第２の項目に分類すべきであると判定する。
【０１５３】
また、ステップＳ３１１において、制御装置１０５が、姓辞書にヒットした「内山田建材」および「神田川建一」の２つの部分文字列のうち、どちらがより「姓名」の項目に分類されるべきであるかを判定する構成としてもよい。すなわち、第１の項目である「姓」と組み合わされる可能性がある第１項目は「名」であるので、制御装置１０５は、ｎ＝２（第２番目）の部分文字列を構成する第２の部分文字列と、ｎ＝３（第３番目）の部分文字列を構成する第２の部分文字列とのうち、「名」の文字列信頼度がより高い第２の部分文字列を含む部分文字列の第１の項目を「姓名」と判定してもよい。すなわち、第２の部分文字列である「建材」と「建一」との名の項目における文字列信頼度は、
建材・・・９
建一・・１６
であるので、「神田川建一」が「内山田建材」よりも姓名としての信頼度が高いとして、「神田川建一」の項目を「姓名」であると判定する構成であってもよい。
【０１５４】
本実施の形態においては、Ｎ＝３の場合のみを説明したが、もちろんＮが２以下の場合や、Ｎが４以上の場合でも可能である。ただし、Ｎが大きくなるほど、組み合わせ数の増加により、処理量が増えてしまう。文字数が多い場合は、最初の何文字かに絞るなど、少ない文字数に制限してもよい。
【０１５５】
また、本実施の形態においては、ｎ＝２（第２番目）およびｎ＝３（第３番目）の部分文字列が、１つの第１の部分文字列あるいは１つの第２の部分文字列から構成される場合についての説明を行ったが、第ｎ番目の部分文字列がさらに複数の第１の部分文字列と複数の第２の部分文字列とから構成される場合であっても項目判定を行うことが可能である。
【０１５６】
従来の名刺読取装置は、姓辞書を具備していても、名辞書を具備していなければ、「内山田建材」、「神田川建一」のいずれが姓名であるかを判定することができない。これに対して本実施の形態においては、名辞書を持つことなく、「内山田建材」、「神田川建一」のいずれが姓名であるかを判定することができる。逆に、名辞書は従来どおり使用するが、姓辞書を用いるかわりに本実施の形態の係る構成を用いる等、部分的に本実施の形態を適用することも可能である。また、実施の形態１および実施の形態２に係る携帯電話１００に、部分的に本実施の形態のような単語辞書を利用する構成を採用しても良い。
【０１５７】
＜実施の形態１〜３のまとめ＞
使用される文字の種類自体が数百個しかなくても、それらが組み合わされた単語の種類は数万あるいは数十万にも達する。また、例えば、図１０に示す名刺のように、泉大津市南曽根９９９のうち泉大津市の箇所が汚れなどによって認識できなかった場合には、「南曽根」と「９９９」の２つの文字列に基づいて当該文字列が何れの項目であるかを判定する必要がある。しかし、番地である９９９は、丁目、番地といったキーワードを持たないため、キーワードに基づいて「地名」であるか否かを判断することはできない。
【０１５８】
実施の形態１〜３における項目判定装置においては、各文字の信頼度が項目別に記憶されているものであるため、文字の種類×項目数の文字信頼度を記憶しておくだけで、項目判定を行うことができる。また、数十種類の第１の項目の並び方を記憶しておくだけで、項目判定の精度を向上させることができる。つまり、実施の形態１〜３に係る項目判定装置は、少ない記憶容量であっても部分文字列あるいは文字列の項目判定を行うことができる。
【０１５９】
具体的には、上述したように、単語辞書を作成する場合、通常の方法で辞書を作成すれば、姓辞書、名辞書、地名辞書、一般単語辞書等で、各々数百Ｋｂｙｔｅ程度以上の容量が必要である。これに対し、各文字の項目別の信頼度を用いる場合には、信頼度の数値をたとえば、１ｂｙｔｅの範囲(一般的には０〜２５５)、あるいは２ｂｙｔｅの範囲(一般的には０〜６５５３５)に正規化することにより、辞書毎に数Ｋｂｙｔｅ（十数Ｋｂｙｔｅ）程度の記憶容量で済む。例えば、仮に認識対象文字が６０００文字、第１の項目が４種類あったとしても、必要な記憶容量は１×６０００×４＝２４Ｋｂｙｔｅに抑えることができる。このように、実施の形態１〜３においては、従来の単語辞書を用いる手法に比べ、項目判定に必要な辞書（テーブル）容量を大きく低減することができる。
【０１６０】
ただし、珍しい姓などの場合、姓を構成する文字の信頼度は低い値となってしまう恐れがある。あるいは、「山」、「川」、「田」等のように、地名によく使われる文字からなる姓（例えば、「山田」など）の場合、姓よりも地名の信頼度のほうが高くなってしまう危険性がある。このような場合には、例えば、姓辞書のみを使い、名辞書を用いるかわりに本手法を用いることにより、名辞書を搭載することなく判定が可能である。姓辞書は従来と同じように使用するが、名辞書は使用しないことにより、姓辞書の容量は従来と同じであるが、項目判定装置としては名辞書分の記憶容量が削減できるという利点がある。
【０１６１】
＜その他の実施の形態＞
上記の実施の形態１〜３では、各文字の信頼度（または各部分文字列の文字列信頼度）の２位以下の項目を使っていなかったが、部分文字列（文字列）の文字列信頼度の算出に、２位以下の項目を使うことも可能である。このとき、各文字の信頼度の１位の項目を用いるよりも、各文字の信頼度の２位以下の第１の項目を使用したほうが、高い部分文字列の文字列信頼度が得られる場合には、２位以下の信頼度の第１の項目を１位に引き上げた上で、部分文字列の項目を出力する、といった項目判定処理も可能である。
【０１６２】
以上の実施の形態では、項目判定装置の折りたたみ式携帯電話１００への適用例を示したが、それに限らず、ストレート式携帯電話機や、スライド式携帯電話機へも同様に適用することができる。また携帯電話機に限らず、ＰＤＡやノート型ＰＣなどメール送信機能を有する電子機器全般に適用することができることは勿論である。さらに、上記の実施形態ではプログラムに適用して実施したが、ハードロジックで実施することも勿論可能であるし、本発明のプログラムをＣＤ−ＲＯＭやＳＤカードといった外部メモリなどに保存して実施することも可能である。
【０１６３】
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
【０１６４】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６５】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード（ＩＣメモリカード）、ＲＯＭ（マスクＲＯＭ、フラッシュＥＥＰＲＯＭなど）などを用いることができる。
【０１６６】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１６７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１６８】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１６９】
【図１】本実施の形態に係るカメラ付き携帯電話を示す外観斜視図である。
【図２】本実施の形態に係る通信装置の一例としての携帯電話のハードウェア構成を示すブロック図である。
【図３】実施の形態１に係る携帯電話の機能構成を示すブロック図である。
【図４】結果記憶部に記憶される文字列認識結果データベースのデータ構造を示すイメージ図である。
【図５】画像データにおける文字列と部分文字列とを示すイメージ図である。
【図６】信頼度テーブルのデータ構造を示すイメージ図である。
【図７】日本人の姓のデータベースの一例を示すイメージ図である。
【図８】並び方テーブルのデータ構造を示すイメージ図である。
【図９】実施の形態１に係る携帯電話における項目判定処理の処理手順を示すフローチャートである。
【図１０】実施の形態１に係る項目判定処理の対象となる名刺を示すイメージ図である。
【図１１】実施の形態１に係る第１番目の部分文字列を構成する文字の信頼度と第１番目の部分文字列の文字列信頼度を示したイメージ図である。
【図１２】実施の形態１に係る第２番目の部分文字列を構成する文字の信頼度と第２番目の部分文字列の文字列信頼度を示したイメージ図である。
【図１３】実施の形態２に係る携帯電話の機能構成を示すブロック図である。
【図１４】実施の形態２に係る携帯電話における項目判定処理の処理手順を示すフローチャートである。
【図１５】実施の形態２に係る部分文字列を構成する文字の信頼度を示したイメージ図である。
【図１６】実施の形態３に係る携帯電話の機能構成を示すブロック図である。
【図１７】実施の形態３に係る携帯電話における項目判定処理の処理手順を示すフローチャートである。
【図１８】実施の形態３に係る項目判定処理の対象となる名刺を示すイメージ図である。
【図１９】実施の形態３に係るｎ＝２（第２番目）およびｎ＝３（第３番目）の部分文字列を構成する文字の信頼度を示したイメージ図である。
【符号の説明】
【０１７０】
１  アンテナ、１００  携帯電話、１０１  無線通信部、１０５  制御装置、１０５−２  抽出部、１０５−３  認識部、１０５−４  算出部、１０５−５  第１の判定部、１０５−６  第２の判定部、１０５−７  出力部、１０５−８  単語検索部、１０５−９  第３の判定部、１０６  第１のメモリ、１０７  第２のメモリ、１０７−１  記憶部、１０７−２  画像記憶部、１０７−３  文字認識辞書、１０７−４  結果記憶部、１０７−５  信頼度テーブル、１０７−６  並び方テーブル、１０７−７  単語辞書、１１４  第１の筐体、１１６  第２の筐体、１２０  入力部、１４２  第１のカメラ、１４２−１  撮影部、１４３  第２のカメラ、１５０  モニタ、１７２  マイク、１７３  第１のスピーカ、１７４  第２のスピーカ。
【図１】
0005035848.tif 000002
【図２】
0005035848.tif 000003
【図３】
0005035848.tif 000004
【図４】
0005035848.tif 000005
【図５】
0005035848.tif 000006
【図６】
0005035848.tif 000007
【図７】
0005035848.tif 000008
【図８】
0005035848.tif 000009
【図９】
0005035848.tif 000010
【図１０】
0005035848.tif 000011
【図１１】
0005035848.tif 000012
【図１２】
0005035848.tif 000013
【図１３】
0005035848.tif 000014
【図１４】
0005035848.tif 000015
【図１５】
0005035848.tif 000016
【図１６】
0005035848.tif 000017
【図１７】
0005035848.tif 000018
【図１８】
0005035848.tif 000019
【図１９】
0005035848.tif 000020