以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[第1の実施の形態]
本発明の実施の形態のおいては、印刷物(たとえば、雑誌、新聞、広告チラシ)などの情報媒体、コンピュータなどの表示画面、または、看板に記載された「施設」に関する情報の切り抜きをするように、「施設」に関する情報を読取って項目分類して蓄積する装置である情報クリッピング装置が、携帯電話100であることとして説明する。しかし、情報クリッピング装置は、これに限定されず、PC(Personal Computer)やPDA(Personal Digital Assistants)のような他の情報処理装置であってもよい。また、カーナビゲーションシステムなどの蓄積された「施設」に関する情報を利用する装置の機能の一部として、情報クリッピング装置の機能が組込まれるようにしてもよい。
ここで、「施設」とは、「店」「大型商業施設」などの「商業施設」、「レストラン」「喫茶店」などの「飲食施設」、「遊園地」「公園」「劇場」などの「娯楽施設」、「ホテル」「旅館」などの「宿泊施設」、「駅」「空港」「港湾(施設)」などの「公共施設」、「学校」「幼稚園」などの「教育施設」、「寺」「神社」などの「宗教施設」、「役所」「警察署」「消防署」などの「行政施設」、「病院」「薬局」などの「医療機関」などを含む概念である。
図2は、本発明の実施の形態における情報クリッピング装置としての携帯電話100によって項目分類された分類結果の一例を示す図である。図2を参照して、たとえば、飲食施設に関する情報の項目としては、「施設名称」、「電話番号」、「住所」、「FAX番号」、「URL(Uniform Resource Locator)」、「営業時間」、「定休日」、「交通手段」、「席数」、「ラストオーダー時間」、および、「その他」の項目が含まれる。
図2においては、「施設名称」として「レストラン亜唖」、「電話番号」として「03-1111-1111」、「住所」として「東京都千代田区有楽町000 ××ビル」、「URL」として「http://www.restaurant.htm」、「営業時間」として「AM11:30〜PM4:00」、「定休日」として「水」、「交通手段」として「東京地下鉄千代田線日比谷駅A1出口、または、JR有楽町駅より徒歩10分」、および、「その他」として「ひとりで訪れる客も多い。アットホームな雰囲気。パンが焼きたて、静かな場所にあり、ランチが人気」が、それぞれ、項目分類された分類結果が示されている。
図1は、本発明の実施の形態における情報クリッピング装置としての携帯電話100の構成の概略を示すブロック図である。図1を参照して、携帯電話100は、制御部110と、記憶部120と、データ入力部130と、表示部140と、音声入出力部150と、無線通信部160と、アンテナ161と、赤外線通信部180と、カメラ部190とを含む。
記憶部120は、ROM(Read Only Memory)やフラッシュメモリなどの不揮発性メモリやRAM(Random Access Memory)などの揮発性メモリなどの半導体メモリで構成される。記憶部120は、携帯電話100の各種機能を制御部110に実行させるためのアプリケーションプログラムなどのプログラムやデータを記憶する。
データ入力部130は、電話番号や各種データなどの数字やアルファベットやその他の文字などを入力するためのダイヤルキーや十字操作キーやその他のファンクションキーで構成される。データ入力部130は、ユーザからデータの入力を受付けて、入力されたデータを制御部110に受渡す。
表示部140は、液晶表示装置(Liquid Crystal Display、以下「LCD」という)で構成される。なお、表示部140は、EL(Electro Luminescence)ディスプレイなど他の表示装置で構成されてもよい。表示部140は、制御部110から受けた文字データおよび画像データを表示する。
音声入出力部150は、マイクおよびスピーカで構成される。音声入出力部150は、外部からマイクに入力された音声を電気信号に変えて、制御部110に受渡し、制御部110からの電気信号を音声に変換して、スピーカで外部に出力する。
無線通信部160は、他の携帯電話またはサーバからアンテナ161で受信した信号を制御部110に受渡し、制御部110から他の携帯電話またはサーバへ送信する信号をアンテナ161から出力させる。
赤外線通信部180は、他の携帯電話または赤外線通信部を備えた装置(たとえば、カーナビゲーションシステム)から赤外線で受信した信号を制御部110に受渡し、他の携帯電話または赤外線通信部を備えた装置へ送信する信号を、制御部110から受取り、赤外線で送信する。
カメラ部190は、雑誌191などの情報媒体に記載された施設に関する情報192などの被写体を撮像して、撮像された画像を画像データに変換して、変換された画像データを制御部110に出力する。
制御部110は、CPU(Central Processing Unit)およびその補助回路で構成される。制御部110は、記憶部120に記憶されたアプリケーションプログラムなどのプログラムに従って、記憶部120、データ入力部130、無線通信部160、音声入出力部150、赤外線通信部180、または、カメラ部190から入力されたデータを処理して、記憶部120、表示部140、無線通信部160、音声入出力部150、または、赤外線通信部180に出力する。
図3は、本実施の形態における情報クリッピング装置としての携帯電話100の機能の概略を示す機能ブロック図である。図3を参照して、携帯電話100の制御部110によって所定のプログラムが実行されることによって、制御部110には、画像取得部111と、文字領域抽出部112と、文字認識部113と、項目分類部114と、分類結果蓄積部115と、出力制御部116とが構成される。
画像取得部111は、施設に関する情報が含まれる画像を取得する。具体的には、画像取得部111は、カメラ部190によって撮像された画像データを取込んだり、赤外線通信部180から画像データを受信したり、無線通信部160から画像データを受信したり、記憶部120に記憶された画像データ125を読出したりすることによって、画像データで示される画像を取得する。
図4から図8までは、本実施の形態における携帯電話100によって取得された画像の第1の例から第5の例までをそれぞれ示す図である。図4から図8までを参照して、雑誌などの情報媒体などに記載された施設に関する情報の記載フォーマットは、名刺の記載フォーマットと比較して、多様性がある。
たとえば、図4に示すように、施設名称である店名が、他の項目の文字と比較して大きいゴシック体の反転文字になっていたり、図5に示すように、店名が縦書となっていたり、図6に示すように、電話番号、住所などの情報も縦書となっていたり、図7に示すように、店名が他の項目の文字と同じ大きさで同じ書体であったり、図8に示すように、店名が上端または右端以外の位置に記載されていたりする。
図3に戻って、文字領域抽出部112は、取得された画像から文字領域を抽出する。具体的には、文字領域抽出部112は、取得された画像を2値化して、2値化画像から従来の手法で文字領域を抽出する。
図9は、本実施の形態における携帯電話100によって取得された画像が2値化された例を示す図である。図9を参照して、この画像は、図4で示した取得画像を2値化した画像である。2値化する際に、2値化してしまうと、濃淡反転している反転文字の文字領域の位置、および、フォントや背景の色の情報がなくなってしまうために、文字領域抽出部112は、そのような文字領域の位置を示す座標情報、濃淡反転している領域であることを示す情報、および、フォントや背景の色情報を認識して記憶部120に記憶させる。
たとえば、図9の場合、施設名称である「レストラン亜唖」の文字領域が濃淡反転しているので、文字領域抽出部112は、この文字領域の座標(1232,375)−(2180,508)を記憶させるようにする。
図10は、本実施の形態における携帯電話100によって取得された画像の文字領域の抽出結果を示す図である。図10を参照して、文字領域抽出部112は、取得画像に含まれる分離された文字領域をそれぞれ抽出する。
たとえば、図10の場合、文字領域抽出部112は、「レストラン亜唖」の文字が含まれる文字領域を、「領域1」として、「ひとりで訪れる・・・ランチが人気。」の文字が含まれる文字領域を、「領域2」として、「電話03-1111-1111・・・http://www.restaurant.html」の文字が含まれる文字領域を、「領域3」として抽出する。
図3に戻って、文字認識部113は、抽出された文字領域に含まれる文字列を文字認識する。具体的には、文字認識部113は、文字の種類の認識結果の複数の候補だけでなく、その文字の領域番号、その文字がその領域内の何行目にあるかを示す行番号、その文字が縦書か横書かを示す情報、その文字の位置の座標とその文字のサイズ、その文字の書体(明朝体、ゴシック体、楷書体など)、および、その文字の太さなどのその文字の属性を認識する。
図11は、本実施の形態における携帯電話100によって抽出された文字領域の文字認識結果を示す図である。図11を参照して、文字認識部113は、それぞれの文字領域について、文字認識された各文字について正解候補マトリクスで、行ごとに並べたものを、すべての文字領域について、横書と縦書とを統一した向き(ここでは横書)にして繋げる。
たとえば、図11の場合、文字認識部113は、「領域1」については、「れすとらん亜唖」の文字を正解候補マトリクスとして認識し、「領域2」については、「ひとりで訪れる客も多い。」、「アットフォームな雰囲気。」、「パンが焼きたて、静かな」、「場所にあり、ランチが人」、および、「気。」のそれぞれの行の文字を正解候補マトリクスとして認識し、「領域3」については、「電話03-1111-1111京都」、「千代田区有楽町oooXX」、「ビル 営AM11:30-Ph44:00」、「(18)(丸付き数字の18)(6)(丸付き数字の6)アクセス凍京地下鉄」、「千代田線日比谷駅A1出口、」、「または、JR有楽町駅より徒」、「歩10分」、および、「http://www.restaurant.html」のそれぞれの行の文字を正解候補マトリクスとして認識し、それぞれを、行ごとに並べたものを、すべての文字領域である「領域1」から「領域3」までについて、横書きに統一して繋げる。
図3に戻って、項目分類部114は、文字認識された文字列が含まれる文字領域の属性または当該文字列に含まれる単語もしくは文字もしくは記号に基づいて、当該文字列を、施設の種別に関して予め定められた項目に分類する。項目分類部114の属性取得部1141は、文字認識部113による文字認識の結果から文字の属性を取得して記憶部120に記憶させる。
図12は、本実施の形態における携帯電話100によって文字認識の結果としての文字の属性に関する情報を示す図である。図12を参照して、認識される文字の属性としては、その文字の認識結果候補マトリックス、その文字の領域番号、その文字がその領域内の何行目にあるかを示す行番号、その文字が縦書か横書かを示す情報、その文字の位置の座標とその文字のサイズ、その文字の書体(明朝体、ゴシック体、楷書体など)、および、その文字の太さに加えて、文字領域抽出部112によって認識された濃淡判定しているか否かを示す反転非反転情報、および、フォント、背景の色を示す文字、背景の色情報が含まれる。
たとえば、図12に示されるように、「領域1」の「行1」の1番目の文字の場合、「認識結果候補マトリックス」が「(0)れ82ea_14754」「(1)牲90b5_11881」「(2)札8e44_11861」「(3)壮9173_11713」であり、「縦書か横書かを示す情報」が「横書」であり、「文字座標と文字サイズ」が「(1269-412)-(1345,484)(幅=74,高さ=76)」であり、「反転非反転情報」が「反転」であり、「文字の色情報」が「青」であり、背景の色情報が「白」であり、「フォント」が「ゴシック」であり、「文字太さ」が「10dot」である。
なお、認識結果候補マトリックスにおいて、たとえば、「(0)れ82ea_14754」の場合、最初の括弧付き数字である「(0)」は、その候補文字の優先順位であり、次の文字である「れ」は、その候補文字であり、次の16進数の4桁の数字列である「82ea」は、その文字の文字コード(ここでは、シフトJISコード)であり、次の10進数の5桁の数字である「14754」は、その文字の類似度である。ここで、類似度は、その文字の辞書パターンと入力パターンとが適合する程度を数値化した値である。
項目分類部114の施設領域判定部1142は、属性取得部1141によって取得された文字の属性のいずれかが所定の条件を満たす場合、その文字領域が、施設に関する情報を含む施設情報領域でないと判定する。
ここで、所定の条件は、当該文字領域の文字サイズが他の文字領域の平均文字サイズに対して5倍以上である条件、および、当該文字領域の文字高さが、取得画像の短辺長さの1/5以上である条件である。このような条件により、図形領域または写真領域が誤って文字領域と認識されたような文字領域を除外することができる。
また、所定の条件は、当該文字領域が取得画像の端にしか文字が存在しない文字領域である条件、当該文字領域が取得画像の端と接している条件である。たとえば、図1においては、取得画像に含まれる、他の施設に関する情報192A、および、雑誌の当該ページの見出し193が、これらの条件を満たす文字領域である。携帯電話100のカメラ部190を利用して、施設に関する情報192を取込んで項目分類させたいユーザは、取込みたい施設に関する情報192が取込む画像の中程に配置されるように取得することが期待される。このような条件により、施設に関する情報192などの項目分類の対象となる情報以外の情報を除外することができる。
なお、ここでは、文字サイズおよび文字の位置の1つの属性が所定の条件を満たすときに、施設に関する情報を含む文字領域でないと判定するようにしたが、複数の属性が所定の条件を満たすときに、そのように判定するようにしてもよい。
項目分類部114の施設種別判定部1143は、記憶部120に予め記憶された種別関連単語テーブル122を用いて、文字認識された文字列から施設の種別を判定する。
図13は、本実施の形態における携帯電話100によって施設の種別が判定されるときに用いられる種別関連単語テーブル122を示す図である。図13を参照して、記憶部120には、施設の種別と当該施設の種別に関連のある単語とが対応付けられた種別関連単語テーブル122が予め記憶される。
たとえば、「施設種別」である「飲食」施設に対応付けて、「単語」として「グルメ」、「料理」、「ランチ」、「鮨」、「刺身」、「日本酒」、「ビール」および「ウイスキー」などが、種別関連単語テーブル122として記憶される。
図3に戻って、施設種別判定部1143は、文字認識された文字列に、種別関連単語テーブル122に記憶された単語が含まれる場合、当該単語に対応付けて記憶された施設種別を、施設の種別と判定する。
たとえば、文字認識された文字列に「グルメ」の単語が含まれる場合、施設種別判定部1143によって、「グルメ」に対応付けて記憶された施設種別「飲食」が、施設の種別と判定される。
項目分類部114は、施設種別判定部1143によって判定された種別に基づいて、文字列を項目に分類する。
また、項目分類部114は、文字列を、施設種別判定部1143によって判定された種別に対応付けて記憶部120の種別対応項目テーブル123に予め記憶された項目に分類する。
図14は、本実施の形態における携帯電話100によって種別に対応する項目が特定されるときに用いられる種別対応項目テーブル123を示す図である。図14を参照して、記憶部120には、種別と当該種別に関して予め定められた分類のための項目セットとが対応付けられた種別対応項目テーブル123が予め記憶される。
たとえば、「施設種別」である「飲食」施設に対応付けて、「項目セット」として「店名」、「住所」、「電話」、「ラストオーダー」、「交通」、「定休日」、「席数」、および、「URL」が、種別対応項目テーブル123として記憶される。
図3に戻って、たとえば、施設種別判定部1143によって判定された種別が「飲食」施設である場合、項目分類部114によって、「飲食」に対応付けて予め記憶された「項目セット」である「店名」、「住所」、「電話」、「ラストオーダー」、「交通」、「定休日」、「席数」、および、「URL」の各項目に、文字列が分類される。
そして、項目分類部114は、記憶部121に予め記憶されたキーワード・姓名・住所辞書および種別対応キーワードテーブル124を用いて、項目分類する。項目分類の詳細は、第2の実施の形態で説明する。
項目分類部114の施設名称検索部1144は、項目分類部114による項目の分類の結果、施設に関する情報のうち施設名称が分類できなかった場合、項目に分類できなかった文字列から施設名称を検索する。
そして、項目分類部114は、施設名称検索部1144によって文字列から施設名称が検索された場合、検索された文字列を施設名称の項目に分類する。
分類結果蓄積部115は、項目分類部114によって分類された文字列を、分類された項目に対応付けて記憶部120に分類結果情報125として蓄積する。
出力制御部116は、分類結果蓄積部115によって分類結果情報125として蓄積された項目に対応付けられた文字列を、当該文字列を利用可能な外部装置(たとえば、カーナビゲーションシステム)などに出力する。具体的には、出力制御部116は、表示部140に表示させたり、無線通信部160で送信したり、赤外線通信部180で送信したりすることによって、文字列を出力する。
携帯電話100から出力された項目に対応付けられた文字列が入力されることによって、当該文字列を利用可能な外部装置においては、当該文字列を利用して、施設に関する情報が設定される。
たとえば、カーナビゲーションシステムにおいては、項目に対応付けられた文字列が、携帯電話100から入力されることによって、目的地の施設の住所や名称などの設定が行なわれる。
なお、本実施の形態においては、制御部110によってソフトウェアが実行されることによって、画像取得部111と、文字領域抽出部112と、文字認識部113と、項目分類部114と、分類結果蓄積部115と、出力制御部116とが構成されるようにした。しかし、これに限定されず、画像取得部111と、文字領域抽出部112と、文字認識部113と、項目分類部114と、分類結果蓄積部115と、出力制御部116とが、制御部110に含まれるハードウェア回路で構成されるようにしてもよい。
[第2の実施の形態]
第1の実施の形態においては、携帯電話100の制御部110によって所定のプログラムが実行されることによって構成される画像取得部111と、文字領域抽出部112と、文字認識部113と、項目分類部114と、分類結果蓄積部115と、出力制御部116とによって、情報クリッピング処理が行なわれる場合について説明した。
第2の実施の形態においては、携帯電話100の制御部110によって後述する図15から図22までで説明する情報クリッピングプログラムが実行されることによって情報クリッピング処理が行なわれる場合について説明する。
図15は、本実施の形態における携帯電話100によって実行される情報クリッピングプログラムのメインルーチンの処理の流れを示すフローチャートである。
図15を参照して、まず、ステップS101で、携帯電話100の制御部100は、ユーザによってデータ入力部130が操作されることによって、情報クリッピングプログラムのメニュー画面で、施設に関する情報を取得して項目分類する旨の「情報取得」の選択肢が選択されたか否かを判断する。選択されていないと判断した場合(ステップS101でNOと判断したの場合)、制御部110は、実行する処理をステップS107の処理に進める。
一方、「情報取得」の選択肢が選択されたと判断した場合(ステップS101でYESと判断した場合)、ステップS102で、制御部110は、ユーザによってデータ入力部130が操作されることによって、施設に関する情報を含む画像の携帯電話100への入力方法が選択されたか否かを判断する。選択されていないと判断した場合(ステップS102でNOと判断した場合)、制御部110は、ステップS102の処理を繰返す。
入力方法としては、画像の入力元として、カメラ部190、赤外線通信部180、無線通信部160、および、記憶部120のいずれかを選択することができる。
画像の入力方法が選択されたと判断した場合(ステップS102でYESと判断した場合)、ステップS103で、制御部110は、選択された入力方法で、施設に関する情報が含まれる画像を取得する。
次に、ステップS104で、制御部110は、文字領域抽出処理を実行する。文字領域抽出処理については、第1の実施の形態における文字領域抽出部112によって実行される処理と同様であるので、重複する説明は繰返さない。
次のステップS105では、制御部110は、文字認識処理を実行する。文字認識処理については、第1の実施の形態における文字認識部113によって実行される処理と同様であるので、重複する説明は繰返さない。
次いで、ステップS106で、制御部110は、項目分類処理を実行する。項目分類処理については、後述する図16で詳細に説明する。項目分類処理が実行されることによって、第1の実施の形態で説明したような分類結果情報125が記憶部120に蓄積される。その後、制御部110は、実行する処理をステップS101の処理に戻す。
ステップS107に処理が進められた場合、制御部110は、ユーザによってデータ入力部130が操作されることによって、情報クリッピングプログラムのメニュー画面で、記憶部120に分類結果情報125として蓄積された施設に関する情報を外部装置へ出力する旨の「情報出力」の選択肢が選択されたか否かを判断する。選択されていないと判断した場合(ステップS101でNOと判断したの場合)、制御部110は、実行する処理をステップS101の処理に戻す。
一方、「情報出力」の選択肢が選択されたと判断した場合(ステップS107でYESと判断した場合)、ステップS108で、制御部110は、ユーザによってデータ入力部130が操作されることによって、施設に関する情報の携帯電話100からの出力方法が選択されたか否かを判断する。選択されていないと判断した場合(ステップS108でNOと判断した場合)、制御部110は、ステップS108の処理を繰返す。
出力方法としては、施設に関する情報の出力先として、赤外線通信部180、無線通信部160、および、表示部140のいずれかを選択することができる。
施設に関する情報の出力方法が選択されたと判断した場合(ステップS108でYESと判断した場合)、ステップS109で、制御部110は、ユーザが所望する施設に関する情報を外部装置または表示部140に出力する。その後、制御部110は、実行する処理をステップS101の処理に戻す。
図16は、本実施の形態における携帯電話100によって実行される情報クリッピングプログラムのサブルーチンである項目分類処理の流れを示すフローチャートである。
図16を参照して、まず、ステップS111で、携帯電話100の制御部110は、図13で示した種別関連単語テーブル122を用いて、文字認識結果から施設種別を特定する。この処理については、第1の実施の形態における施設種別判定部1143によって実行される処理と同様であるので、重複する説明は繰返さない。
そして、ステップS112で、制御部110は、施設種別に対応して図14で示した種別対応項目テーブルに記憶されている項目セットを読出す。この処理については、第1の実施の形態における項目分類部114によって実行される処理と同様であるので、重複する説明は繰返さない。
次に、ステップS113、ステップS114、および、ステップS115で、それぞれ、制御部110は、電話番号分類処理、住所分類処理、および、施設名称分類処理を実行する。電話番号分類処理、住所分類処理、および、施設名称分類処理については、後述する図17、図18、図20で詳細に説明する。
図17は、本実施の形態における携帯電話100によって実行される情報クリッピングプログラムのサブルーチンである電話番号分類処理の流れを示すフローチャートである。
図17を参照して、まず、ステップS121で、制御部110は、文字認識された文字の中に、キーワード・姓名・住所辞書121に記憶された、電話番号に関する電話キーワード(たとえば、TEL,電話番号など)、または、電話に関する記号文字(たとえば、受話器記号,電話マーク,●や■などの区切り記号など)が含まれるか否かを判断する。
電話キーワードまたは電話に関する記号文字が含まれると判断した場合(ステップS121でYESと判断した場合)、ステップS122で、制御部110は、その後ろの数字列を電話番号の項目として抽出する。その後、制御部110は、実行する処理をステップS125の処理に進める。
一方、電話キーワードまたは電話に関する記号文字が含まれないと判断した場合(ステップS121でNOと判断した場合)、ステップS123で、制御部110は、文字認識された文字の中に、電話番号の桁数(たとえば、10,11桁)の数字列があるか否かを判断する。ないと判断した場合(ステップS123でNOと判断した場合)、制御部110は、この処理を終了して、実行する処理をこの処理の呼出元の処理に戻す。
一方、電話番号の桁数の数字列があると判断した場合(ステップS123でYESと判断した場合)、ステップS124で、制御部110は、当該数字列を電話番号の項目として抽出する。その後、制御部110は、実行する処理をステップS125の処理に進める。
ステップS125では、制御部110は、抽出された文字列を、分類結果情報125の電話番号の項目として記憶部120に蓄積する。その後、制御部110は、この処理を終了して、実行する処理をこの処理の呼出元の処理に戻す。
図18は、本実施の形態における携帯電話100によって実行される情報クリッピングプログラムのサブルーチンである住所分類処理の流れを示すフローチャートである。
図18を参照して、まず、ステップS131で、制御部110は、文字認識された文字の中に、キーワード・姓名・住所辞書121に記憶された、住所に関する住所キーワード(たとえば、ADDRESS、住所など)が含まれるか否かを判断する。
住所キーワードが含まれないと判断した場合(ステップS131でNOと判断した場合)、ステップS132で、制御部110は、文字認識された文字の中に、キーワード・姓名・住所辞書121に記憶された、地名が含まれるか否かを判断する。地名が含まれないと判断した場合(ステップS132でNOと判断した場合)、制御部110は、実行する処理をこの処理の呼出元の処理に戻す。
一方、住所キーワードが含まれると判断した場合(ステップS131でYESと判断した場合)、および、地名が含まれると判断した場合(ステップS132でYESと判断した場合)、ステップS133で、制御部110は、後述する図19で説明する住所文字列抽出処理を実行する。
図19は、本実施の形態における携帯電話100によって実行される住所分類処理のサブルーチンである住所文字列抽出処理の流れを示すフローチャートである。
図19を参照して、まず、ステップS141で、制御部110は、地名に続く数字があるか否かを判断する。地名に続く数字がないと判断した場合(ステップS141でNOと判断した場合)、ステップS142で、制御部110は、地名の終端を、住所の文字列の末端に設定して、実行する処理をステップS148の処理に進める。
一方、地名に続く数字があると判断した場合(ステップS141でYESと判断した場合)、ステップS143で、制御部110は、当該数字の後に番地関連の文字列(たとえば、丁目,番地,番,号など)があるか否かを判断する。当該数字の後に番地関連の文字列がないと判断した場合(ステップS143でNOと判断した場合)、ステップS144で、制御部110は、当該数字列の終端を、住所の文字列の末端に設定して、実行する処理をステップS148の処理に進める。
一方、当該数字の後に番地関連の文字列があると判断した場合(ステップS143でYESと判断した場合)、ステップS145で、制御部110は、番地関連の文字列の後に建物名称の末尾の文字列(たとえば、ビル、タワーなど)があるか否かを判断する。番地関連の文字列の後に建物名称の文字列がないと判断した場合(ステップS145でNOと判断した場合)、ステップS146で、制御部110は、当該番地関連の文字列の終端を、住所の文字列の末端に設定して、実行する処理をステップS148の処理に進める。
一方、番地関連の文字列の後に建物名称の文字列があると判断した場合(ステップS145でYESと判断した場合)、ステップS147で、制御部110は、当該建物名称の文字列の終端を、住所の文字列の末端に設定して、実行する処理をステップS148の処理に進める。
ステップS148では、制御部110は、住所キーワードの後、または、地名の始端から、設定された末端までの文字列を、住所の文字列として抽出する。その後、制御部110は、この処理を終了して、実行する処理をこの処理の呼出元の処理に戻す。
図18に戻って、ステップS134で、制御部110は、抽出された文字列を、分類結果情報125の住所の項目として記憶部120に蓄積する。その後、制御部110は、実行する処理をこの処理の呼出元の処理に戻す。
図20は、本実施の形態における携帯電話100によって実行される情報クリッピングプログラムのサブルーチンである施設名称分類処理の流れを示すフローチャートである。
図20を参照して、まず、ステップS151で、制御部110は、文字認識された行のうち、最初の対象行について、ステップS152からステップS155までの処理を実行させるための処理を行なう。
ステップS152では、制御部110は、「(1)対象行に種別対応キーワードテーブル124に含まれるキーワードがある」、「(2)対象行の平均文字高さ≧対象行以外のそれぞれの行の平均文字高さのうちの最大値×1.1」、「(3)対象行が明暗反転」、「(4)対象行のみ対象行以外の他の行と縦書・横書が異なる」、「(5)対象行が施設情報領域の上端または右端」のいずれかの条件を、当該行が満たすか否かを判別する。
なお、施設情報領域は、第1の実施の形態において説明した施設領域判定部1142による処理と同様の処理で判定される。
図21は、本実施の形態における携帯電話100によって施設名称が分類されるときに用いられる種別対応キーワードテーブル124を示す図である。図21を参照して、記憶部120には、施設の種別と当該種別の施設の施設名称に含まれることが多いキーワードとが対応付けられた種別対応キーワードテーブル124が予め記憶される。
たとえば、「施設種別」である「飲食」施設に対応付けて、「キーワード」として、「飲食」に関わる、「レストラン」、「庵」、「焼肉」、「楼」、「居酒屋」、「中華料理」、「イタリア料理」、「フランス料理」および「れすとらん」などが、種別対応キーワードテーブル124として記憶される。
そして、ステップS153で、制御部110は、ステップS152での判別の結果、当該行が1つ以上の条件を満たすか否かを判断する。満たすと判断した場合(ステップS153でYESと判断した場合)、ステップS154で、制御部110は、当該行を候補行とする。
当該行が1つも条件を満たさないと判断した場合(ステップS153でNOと判断した場合)、および、ステップS154の後、ステップS155で、制御部110は、条件を未判別の行が残っているか否かを判断する。未判別の行が残っていると判断した場合(ステップS155でYESと判断した場合)、ステップS156で、制御部110は、次の対象行について、ステップS152からステップS155までの処理を実行させるための処理を行なう。
一方、未判別の行が残っていないと判断した場合(ステップS155でNOと判断した場合)、ステップS161で、制御部110は、候補行が複数であるか否かを判断する。候補行が複数であると判断した場合(ステップS161でYESと判断した場合)、ステップS162で、制御部110は、最も多くの条件を満たす候補行の文字列を、分類結果情報125の施設名称の項目として記憶部120に蓄積する。
一方、候補行が複数でないと判断した場合(ステップS161でNOと判断した場合)、ステップS163で、制御部110は、候補行が1つであるか否かを判断する。候補行が1つであると判断した場合(ステップS163でYESと判断した場合)、ステップS164で、制御部110は、候補行の文字列を、分類結果情報125の施設名称の項目として記憶部120に蓄積する。
一方、候補行が1つもないと判断した場合(ステップS163でNOと判断した場合)、および、ステップS162,ステップS164の後、制御部110は、実行する処理をこの処理の呼出元の処理に戻す。
なお、この施設名称分類処理においては、ステップS153で1つ以上の条件を満たすか否かを判断するようにした。しかし、これに限定されず、最初は、2つ以上やそれ以上の条件を満たすか否かを判断するようにして、徐々に条件を緩くして判断するようにしてもよい。
図16に戻って、ステップS116では、制御部110は、ステップS112で読出された項目セットに、施設名称、電話番号、および、住所以外の他の項目が含まれるか否かを判断する。含まれると判断した場合(ステップS116でYESと判断した場合)、ステップS117で、制御部110は、種別毎項目分類処理を実行する。
種別毎項目分類処理においては、制御部110は、その項目の名称に関するキーワード(たとえば、「FAX」,「ファックス番号」,「URL」,「ホームページ」,「営業時間」,「定休日」,「休」,「交通手段」,「アクセス」,「Access」,「席数」,「ラストオーダー時間」など)があれば、その後から次の区切りまでの文字列を、その項目に分類する。
また、制御部110は、その項目の内容に関するキーワード(たとえば、http://,www,htm,(時刻を示す文字列)〜(時刻を示す文字列),(曜日を示す文字列),(鉄道,バスなどの会社名),(鉄道,バスなどの路線を示す文字列),徒歩など)があれば、その文字列の前の区切りからその文字列の後の区切りまでの文字列を、その項目に分類する。
一方、項目セットに他の項目が含まれないと判断した場合(ステップS116でNOと判断した場合)、および、ステップS117の後、ステップS118で、制御部110は、ステップS115で説明した施設名称分類処理で、施設名称が分類済みであるか否かを判断する。具体的には、制御部110は、記憶部120に記憶されている分類結果情報125に、処理の対象となっている取得画像について、施設名称の項目が蓄積されているか否かを確認することによって、施設名称が分類済みであるか否かを判断する。
施設名称が分類済みでないと判断した場合(ステップS118でNOと判断した場合)、ステップS119で、制御部110は、後述する図22で説明する施設名称再分類処理を実行する。
一方、施設名称が分類済みであると判断した場合(ステップS118でYESと判断した場合)、および、ステップS119の後、制御部110は、実行する処理をこの処理の呼出元の処理に戻す。
図22は、本実施の形態における携帯電話100によって実行される情報クリッピングプログラムのサブルーチンである施設名称再分類処理の流れを示すフローチャートである。
図22を参照して、まず、ステップS171で、制御部110は、未分類の行があるか否かを判断する。未分類の行がないと判断した場合(ステップS171でNOと判断した場合)、制御部110は、実行する処理をこの処理の呼出元の処理に戻す。
一方、未分類の行があると判断した場合(ステップS171でYESと判断した場合)、ステップS172で、制御部110は、電話番号の行の直前の行があるか否かを判断する。
電話番号の行の直前の行がないと判断した場合(ステップS172でNOと判断した場合)、ステップS173で、制御部110は、電話番号の行の直後の行があるか否かを判断する。
電話番号の行の直前の行があると判断した場合(ステップS172でYESと判断した場合)、および、電話番号の行の直後の行があると判断した場合(ステップS173でYESと判断した場合)、ステップS174で、制御部110は、当該行の文字列を、分類結果情報125の施設名称の項目として記憶部120に蓄積する。その後、制御部110は、実行する処理をこの処理の呼出元の処理に戻す。
一方、電話番号の行の直後の行がないと判断した場合(ステップS173でNOと判断した場合)、最初の未分類行について、ステップS182からステップS185までの処理を実行させるための処理を行なう。
ステップS182では、制御部110は、「(1)対象行の文字数が最も少ない」、「(2)対象行の平均文字高さ≧対象行以外のそれぞれの行の平均文字高さのうちの最大値×1.05」、「(3)対象行以外の他の行の文字列と対象行の文字列との色差のうち最も小さい値が所定値以上」、および、「(4)対象行に記号や数字がない」のいずれかの条件を、当該行が満たすか否かを判別する。
そして、ステップS183で、制御部110は、ステップS182での判別の結果、当該行が2つ以上の条件を満たすか否かを判別する。満たすと判断した場合(ステップS183でYESと判断した場合)、ステップS184で、制御部110は、当該行を候補行とする。
当該行が2つ以上の条件を満たさないと判断した場合(ステップS183でNOと判断した場合)、および、ステップS184の後、ステップS185で、制御部110は、条件を未判別の行が残っているか否かを判断する。未判別の行が残っていると判断した場合(ステップS185でYESと判断した場合)、ステップS186で、次の未分類行について、ステップS182からステップS185までの処理を実行させるための処理を行なう。
一方、未判別の行が残っていないと判断した場合(ステップS185でNOと判断した場合)、ステップS191で、制御部110は、候補行が複数であるか否かを判断する。候補行が複数であると判断した場合(ステップS191でYESと判断した場合)、ステップS192で、制御部110は、最も多くの条件を満たす候補行の文字列を、分類結果情報125の施設名称の項目として記憶部120に蓄積する。
一方、候補行が複数でないと判断した場合(ステップS191でNOと判断した場合)、ステップS193で、制御部110は、候補行が1つであるか否かを判断する。候補行が1つであると判断した場合(ステップS193でYESと判断した場合)、ステップS194で、制御部110は、候補行の文字列を、分類結果情報125の施設名称の項目として記憶部120に蓄積する。
一方、候補行が1つもないと判断した場合(ステップS193でNOと判断した場合)、ステップS195で、制御部110は、ステップS182での判別の結果、1つの条件を満たす行があるか否かを判断する。
1つの条件を満たす行があると判断した場合(ステップS195でYESと判断した場合)、ステップS196で、制御部110は、当該行の文字列を、分類結果情報125の施設名称の項目として記憶部120に蓄積する。
一方、1つの条件を満たす行がないと判断した場合(ステップS195でNOと判断した場合)、および、ステップS192,ステップS194,ステップS196の後、制御部110は、実行する処理をこの処理の呼出元の処理に戻す。
このように、施設名称再分類処理においては、施設名称分類処理よりも緩い条件で施設名称の分類が行われる。また、施設名称再分類処理においても、徐々に緩い条件にすることで、施設名称の分類が行われるようにする。最初から緩い条件で分類を行なうようにすると、誤分類する可能性が高くなるが、このように徐々に緩い条件にすることによって、誤分類する可能性を減らしつつ、施設名称が正しく分類される可能性を向上させることができる。
[第3の実施の形態]
第2の実施の形態においては、施設に関する情報を含む最初に取得される画像は1つであることとした。第3の実施の形態においては、施設に関する情報を含む最初に取得される画像は1つとは限らないこととする。
図23は、第3の実施の形態における携帯電話100によって実行される情報クリッピングプログラムのメインルーチンの処理の流れを示すフローチャートである。
図23を参照して、この処理は、図15で説明した第2の実施の形態におけるメインルーチンを変更したものである。図23において、図15と同じ処理については、図15と同じステップ番号で示し、重複する説明は繰返さない。
ステップS103Aでは、制御部110は、ステップS102で選択された入力方法で、施設に関する情報が含まれる画像を少なくとも1つ取得する。
そして、ステップS201で、取得された少なくとも1つの画像のうち最初の画像について、ステップS104からステップS106までの処理、および、ステップS202からステップS206までの処理を実行させるための処理を行なう。
ステップS104からステップS106までの処理については、図15で説明した処理と同様である。
次のステップS202では、ステップS106での項目分類の結果、施設名称が分類されたか否かを判断する。
施設名称が分類されていないと判断した場合(ステップS202でNOと判断した場合)、ステップS203で、制御部110は、前の画像の項目分類の結果、施設名称が分類されていたか否かを判断する。
前の画像では施設名称が分類されていたと判断した場合(ステップS203でYESと判断した場合)、ステップS204で、制御部110は、ステップS106での項目分類の結果、対象の画像に分類済みの項目があるか否かを判断する。
分類済みの項目があると判断した場合(ステップS204でYESと判断した場合)、ステップS205で、制御部110は、前画像の施設の分類結果情報125の関連情報として、当該分類済みの項目を記憶部120に蓄積する。
一方、分類済みの項目がないと判断した場合(ステップS204でNOと判断した場合)、ステップS206で、制御部110は、前画像の施設の分類結果情報125の関連情報として、当該画像の画像データを記憶部120に蓄積する。
施設名称が分類されたと判断した場合(ステップS202でYESと判断した場合)、前の画像では施設名称が分類されていなかったと判断した場合(ステップS203でNOと判断した場合)、および、ステップS205,ステップS206の後、ステップS207で、制御部110は、次の取得画像があるか否かを判断する。
次の取得画像があると判断した場合(ステップS207でYESと判断した場合)、ステップS208で、制御部110は、次の画像について、ステップS104からステップS106までの処理、および、ステップS202からステップS206までの処理を実行させるための処理を行なう。
一方、次の取得画像がないと判断した場合(ステップS207でNOと判断した場合)、制御部110は、実行する処理をステップS101の処理に戻す。
以上説明したように、本実施の形態における情報クリッピング装置としての携帯電話100によれば、文字領域の属性情報、および、施設の種別固有の標識(単語,キーワード)と種別とを対応付けた種別関連単語テーブル122、種別対応項目テーブル123および種別対応キーワードテーブル124などのテーブルに基づいて、施設に関する情報を抽出しているので、記載項目、記載内容、記載方法、記載場所などが名刺やフォームなどに比べ多様性がある、雑誌等に記載された施設に関する情報であっても、施設に関する情報を含む画像を、携帯電話100などで取得後、文字認識し、その中から施設に関する情報を的確に抽出し、予め定められた項目に分類して保存する簡便な情報クリッピング装置を提供することができる。
また、施設種別ごとに種別対応キーワードテーブル124を持ち、選択された施設種別に基づいて、種別対応キーワードテーブル124を切替えているので、対象とする施設の属する種別に拘わらず、施設に関する情報の記載に関する多様性を吸収し、再利用できるように自動的に統一して、項目分類して整理して記録することが可能となる。
また、施設種別ごとに種別対応キーワードテーブル124を持ち、選択された施設種別に基づいて、種別対応キーワードテーブル124を切替えているので、項目分類して整理する方法が、ユーザによって、まちまちにならず、他のユーザや異なる情報機器間で、施設に関する情報を共有することが可能になる。
さらに、施設名称の抽出に失敗した場合、異なる基準に基づいて、施設名称を再抽出しているので、施設に関する情報における施設名称のような、抽出する情報の中で最も重要な情報の抽出に失敗した場合であっても、カバー処理が働き、その他の取得した情報が無駄にならないようにすることができる。
また、取得した画像の品質が悪かったり、取得画像と文字認識処理の相性が良くなかったりして、施設に関する情報が抽出されない場合においても、せっかく取得され、認識された画像を無駄にせず、整理して記憶させることができる。
このように、今まで煩雑で、時間が掛かり、間違いの多かった施設に関する情報の取得の負担を軽減し、簡便で、どこでもいつでも使える情報クリッピング装置を提供することができる。
また、2次元コードのようなシンボル記載された施設に関する情報を読取るような場合は、確実に施設に関する情報を取得することができるが、2次元コードの場合、ユーザが施設に関する情報を全く読取れず、また、余計に紙面のスペースを必要とする。しかし、本実施の形態のような情報クリッピング装置を用いれば、紙面に余計なスペースを必要とせず、ユーザも判別可能な施設に関する情報を項目分類することが可能となる。
次に前述した実施の形態の変形例などを説明する。
(1) 前述した実施の形態においては、赤外線通信部180および無線通信部160で項目分類された施設に関する情報が外部装置に出力されるようにした。しかし、これに限定されず、内部バス、USBメモリなどの取外し可能なメモリカードなどを用いて、外部装置に出力するようにしてもよい。
(2) 前述した実施の形態における情報クリッピング装置から地図ソフトウェアを実行する情報処理装置やカーナビゲーションシステムに入力された施設に関する情報に基づいて、それらの装置で、地図上に、施設に関する情報を取込むことが可能なように構成してもよい。
(3) 前述した実施の形態における情報クリッピング装置は、名刺に記載された情報も取得することが可能である。この場合、施設名称は、氏名であるため、「キーワード」になるのは、姓名辞書に登録されている姓名文字列である。
(4) 前述した実施の形態で述べたように施設に関する情報は、たとえば、施設名称、電話番号、住所などの情報等の一塊の情報であると定義した。また、施設に関する情報には、記載のスタイル、フォント、サイズ、色などが、施設、記載媒体、見る人の種別によって多様性があるという特整があることについて述べた。これより、施設に関する情報というのは、比較的狭い範囲に記載されたメッセージ性の強い情報の塊が記載表現上で多様性を持ったものと再定義できる。
したがって、前述した実施の形態で述べた施設に関する情報は、単なる施設に関する情報に留まらず、たとえば、広告、病院情報、各種学校情報等であっても構わない。そのような場合は、たとえば、病院情報であれば、施設名称として店名の代わりに病院名、時間の代わりに、診療日や診療時間などが対応して、本願発明の情報クリッピング装置で項目分類することができる。他の場合も同様である。
(5) 前述した実施の形態においては、雑誌から施設に関する情報を取得する例について述べた。しかし、これに限定されず、薬袋、診察券、会員カード、看板、チラシ、または、テレビやディスプレイの画面に表示された情報など、前述した実施の形態と同様、携帯電話100のカメラ190などで取込み可能なものであれば、本願発明を適用することができる。
(6) 前述した実施の形態における図20のステップS152および図22のステップS182で用いられる条件は、当該条件を満たす行が施設名称の項目に属するかを実験的に統計を取ることによって定めるようにしてもよい。たとえば、当該条件を満たす行が施設名称の項目に属する割合が、50%以上の条件が、ステップS152のような最初の分類で用いられ、25%以上50%未満の条件が、ステップS182のような再分類に用いられるようにしてもよい。
(7) 前述した実施の形態は、情報クリッピング装置としての携帯電話100の発明、携帯電話100で実行される情報クリッピング方法の発明、携帯電話100で実行される情報クリッピングプログラムの発明として捉えることができる。
(8) 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
100 携帯電話、110 制御部、111 画像取得部、112 文字領域抽出部、113 文字認識部、114 項目分類部、1141 属性取得部、1142 施設領域判定部、1143 施設種別判定部、1144 施設名称検索部、115 分類結果蓄積部、116 出力制御部、120 記憶部、121 キーワード・姓名・住所辞書、122 種別関連単語テーブル、123 種別対応項目テーブル、124 種別対応キーワードテーブル、125 分類結果情報、130 データ入力部、140 表示部、150 音声入出力部、160 無線通信部、161 アンテナ、180 赤外線通信部、190 カメラ部、191 雑誌、192 施設に関する情報。