説明

インデックス生成方法

【課題】文字を含む画像と特定の単語との間の関連性の高さの程度を数値化する。
【解決手段】(1)画像内で一定の範囲を占める領域中の文字ごとに当該文字との類似度の高い方から順に所定数の文字候補が類似度の高い順に整列されている文字候補群を記憶している。例えば、領域110の1番目の文字に対する文字候補群は「眼」,「限」,「眠」,…である。(2)連続する文字候補群中に単語の構成文字が1文字ずつ同順で含まれることを選出条件として、当該選出条件を満たす領域ごとに、各文字候補群中における各構成文字の順位の合計スコアを算出する。例えば、単語「眼精疲労」,「疲れ目」,「眼病予防」との関係で、領域110,120,130の合計スコアはそれぞれ4,4,7となる。(3)算出した合計スコアを単語と対応付けてスコアインデックスに格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像検索用のインデックスを生成する仕組みに関し、特に、文字を含む画像と特定の単語との間の関連性の高さの程度を数値化する処理に関するものである。
【背景技術】
【0002】
<先行技術1>
Webページ内に表示される画像を検索するサービスがインターネット上で提供されている(例えば、非特許文献1,2等参照)。
従来の画像検索サービスには、例えば次のような特徴がある(非特許文献3の「画像検索はどのように使用しますか?」及び「画像検索の仕組みは?」,非特許文献4の「ヒント」,非特許文献5等参照)。なお、個々の画像検索サービスが下記の特徴を全て備えているとは限らない。
【0003】
(a)検索語入力欄にキーワードを入力し、「検索」ボタンをクリックするか、キーボードで「Enter」を押すと、検索結果ページが表示される。
(b)画像のファイル名,画像の代替テキスト(alt属性の値),画像に隣接するテキスト等に使用される文字情報を検索対象とする。
(c)複数のキーワードを指定することができる。また、画像のサイズ,画像のファイル形式等の検索条件を指定することができる。
(d)検索結果ページには、縮小画像(サムネイル)や当該画像に関する情報が、何らかの順序で一覧表示される。このとき、画像の重複は排除される。
【0004】
<先行技術2>
キーワードの含まれた画像データを高い精度で抽出する手法が知られている(例えば、特許文献1参照)。
具体的には、検索の対象とする文書の検索データを生成し、記憶装置に予め登録しておく。検索データとは、スキャナで読み取った文書のテキスト領域に対する文字認識処理により候補となった複数のテキストデータ(検索用テキスト)と、当該文書の全体を圧縮した画像データとのペアにヘッダ情報を付加したものである(同文献図2〜図4等参照)。
その上で、登録されている全ての検索データを対象として、概ね下記(a)及び(b)の要領でキーワードとのマッチング処理を実行する(同文献図7のS203,図8,段落0017〜0026等参照)。
【0005】
(a)キーワードの1番目の文字に一致する文字を、検索データの全検索用テキストを対象として検索する(図8のS301〜S309,段落0021〜0022)。
(b)いずれかの検索テキスト中のn番目の文字がキーワードのj番目の文字に一致するとき、いずれかの検索テキスト中の(n+1)番目の文字がキーワードの(j+1)番目の文字に一致するか否かを判定する(図8のS310〜S319,段落0023〜0025)。以降、(b)を繰り返す。
【0006】
<先行技術3>
検索キーワードとの相関度の高い画像を検索し、検索結果を当該相関度の高い順に表示する手法が知られている(例えば、特許文献2参照)。
具体的には、まず、次の手順により検索用のインデックス行列を生成する(同文献図9,図8等参照)。
(1)入力された画像文書中にある文字画像を複数の文字よりなる文字列単位で切り出す。
(2)切り出された文字列の文字画像を1文字ごとに分割し、M個の文字画像の画像特徴をそれぞれ抽出する。
(3)抽出された文字画像の画像特徴を基に、画像特徴の適合度が高い順にN個の文字画像を候補文字として選択し、M行N列のインデックス行列を作成する。
(4)インデックス行列の各要素に、位置に応じた相関値を設定しておく。
【0007】
その上で、次の手順により検索キーワードとインデックス行列との相関度を算出する(同文献図10,図11等参照)。
(5)検索キーワードを構成する1検索文字単位にインデックス行列を検索し、検索文字を含むインデックス行列を検出する。
(6)インデックス行列内における検索文字の適合位置の情報を、インデックス行列を有する画像文書の情報と共に格納する。
(7)格納された適合位置の情報より、各検索文字の相関値を累積して、検索キーワードとインデックス行列との相関度を算出する。
【0008】
その他、同文献には、次の各点が開示されている。
(a)検索キーワードをキーボードから入力する構成であれば、候補文字を文字コード等の情報で格納する(同文献[0114])。
(b)「相関値」は、検索文字とインデックス行列内の候補文字との相関値であり、候補文字の順に応じて設定され、通常は列番号の若い要素ほど大きい値に設定される(同文献[0039])。
(c)相関度の算出において、適合位置の情報よりインデックス行列における隣接する行に適合していると判断すると、隣接する各行の相関値を行の相関度加重因子にて加重した上で累積する。これにより、検索キーワードの各検索文字が連続して含まれるような場合には、そのインデックス行列を有する画像文書の検索結果が上位となる(同文献[0043]〜[0044])。
【0009】
<先行技術4>
ロボット型検索エンジンの仕組みが知られている(例えば、非特許文献6の第1章等参照)。
同文献によれば、ロボット型検索エンジンの主要な構成要素は、(1)「検索サーバ」(利用者からのリクエストに応えて検索を行うコンピュータ),(2)「検索バックエンド」(インターネットから情報を集めて整理するコンピュータ)及び(3)「インデックス」(「検索サーバ」及び「検索バックエンド」の間で利用されるデータベース)の3つである(同文献図1.3)。
【0010】
(1)「検索サーバ」の役割は、(1a)通信の管理,(1b)リクエストの解析,(1c)インデックスの検索,(1d)検索結果の送信等である(同文献図1.5)。
(2)「検索バックエンド」の役割は、主として、(2a)クローリング(インターネット上のあらゆるWebページを収集する処理),(2b)インデックス生成(検索用のインデックスを作成する処理)である(同文献図1.6)。
(3)「インデックス」の役割は、(3a)データの格納,(3b)データの抽出である(同文献図1.7)。
【0011】
<先行技術5>
文書をスキャンした画像に含まれる文字の認識精度を高めるため、予め限定した一定範囲の文字候補群に対して高精度な文字認識処理を実行する手法が知られている(例えば、特許文献3参照)。
具体的には、文字の特徴ベクトルを定義する「辞書」と、当該「辞書」に登録されている各文字に対する所定数の類似文字(平均ベクトル距離の小さい文字)を定義する「類似文字種テーブル」とを用いて、次の手順により文字ごとの文字候補群を決定する(同文献図2,段落0003〜0005,段落0027〜0031,段落0038,段落0042等参照)。
【0012】
(1)画像データを2値化し、1文字ごとの領域(文字領域)を取り出す。
(2)文字領域を一定数(縦8×横8=計64)の小領域に分割し、当該小領域内の黒画素数を集計して、特徴ベクトルを生成する。
(3)生成した特徴ベクトルとの平均ベクトル距離が小さい所定数の文字(第1の候補文字)を「辞書」より抽出する。
(4)第1の候補文字のうち、生成した特徴ベクトルとの平均ベクトル距離が小さい方から所定数の文字(又は生成した特徴ベクトルとの平均ベクトル距離が所定範囲内の文字)に対応する類似文字(第2の候補文字)を「類似文字種テーブル」より抽出する。
(5)第1の候補文字と第2の候補文字のうち少なくともいずれかに含まれる文字を文字認識処理の対象とする。
【0013】
<先行技術6>
文書をスキャンした画像に含まれる文字列の認識率を高めるため、文字ごとに記憶している誤認識しやすい類似文字,異字体(旧字・俗字・人名漢字等)の文字集合を利用する手法が知られている(例えば、特許文献4参照)。
上記の手法では、入力した文字列を構成する文字ごとに複数の候補文字を得て、これらの候補文字を組み合わせて辞書に登録されている単語と照合する。このとき、候補文字に対応付けられた文字集合(同文献段落0011の第1表,第2表)を当該候補文字と等価とみなして辞書に登録されている単語と照合することにより、認識対象の文字列と同一の単語が辞書内に記憶されていなくても、これと類似する単語が辞書内に発見される可能性が高まる(同文献図7のS20等参照)。
【0014】
<先行技術7>
製品又はその梱包に印刷された文字(製造番号等)の良否判定に利用する文字候補を、検査対象の文字との類似度の高い順に整列する手法が知られている(例えば、特許文献5参照)。
具体的には、検査対象の文字を撮像して得られる画像に対して認識処理を実行し、1文字ごとに基準文字データベースを検索し、検査対象の文字との類似度の値が大きい方から所定数の候補文字をピックアップし、類似度の値の降順に整列する(同文献図8のS2,図9のS23〜S24及び段落0029,図19及び段落0041〜0067等参照)。
なお、類似度は、ユークリッド距離計算を用いて算出される(同文献段落0066の[数3]等参照)。
【0015】
<先行技術8>
検索エンジンを構成する各要素を複数のコンピュータで構成し、分散処理を実行する手法が知られている(例えば、非特許文献6の第2章,図2.12等参照)。
例えば、次の手法が知られている。
(a)検索エンジンの各構成要素を「クラスタ」とする(同文献図2.4)。「クラスタ」とは、複数の「ラック」(複数のPCに相当する部品を組み込んだもの)を結合したものであり、互いに強調して動作し1の機能を提供するコンピュータの集まりをいう。
(b)一定数のページごとに検索用のインデックスを分割する(同文献図2.10)。これにより、1回の検索を全てのインデックスに分散することが可能となる(同文献図2.11)。また、検索にかかる時間や負荷が予測可能になる。
【先行技術文献】
【特許文献】
【0016】
【特許文献1】特開平08−272811号公報
【特許文献2】特開2008−171379号公報
【特許文献3】特開平08−016728号公報
【特許文献4】特開2004−272396号公報
【特許文献5】特開2002−163637号公報
【非特許文献】
【0017】
【非特許文献1】Google, Inc.、「Google画像検索」、[online]、インターネット<URL: http://images.google.co.jp/>
【非特許文献2】ヤフー株式会社、「Yahoo!画像検索」、[online]、インターネット<URL: http://image-search.yahoo.co.jp/>
【非特許文献3】Google, Inc.、「Googleイメージ検索に関するFAQ」、[online]、インターネット<URL: http://images.google.co.jp/intl/ja/help/faq_images.html>
【非特許文献4】ヤフー株式会社、「Yahoo!検索ヘルプ−画像を検索するには」、[online]、インターネット<URL: http://help.yahoo.co.jp/help/jp/search/multimedia/multimedia-01.html>
【非特許文献5】ヤフー株式会社、「Yahoo!検索ヘルプ−画像検索の結果の見方」、[online]、インターネット<URL: http://help.yahoo.co.jp/help/jp/search/multimedia/multimedia-02.html>
【非特許文献6】西田圭介著、「Googleを支える技術−巨大システムの内側の世界」、第1版、株式会社技術評論社、平成20年4月25日第1刷発行、第1章・第2章等
【発明の概要】
【発明が解決しようとする課題】
【0018】
上記<先行技術1>の画像検索サービスは、画像のファイル名,画像の代替テキスト(alt属性の値),画像に隣接するテキスト等にキーワードが含まれている画像を検索結果ページに表示する。
したがって、画像中に文字が含まれていても、検索結果には全く反映されない。
【0019】
上記<先行技術2>の検索手法は、照合処理(マッチング処理)により、検索キーワードを構成する各文字が、画像中の文字情報から生成した複数の検索用テキストのうちいずれかに含まれるか否かを判定する(特許文献1の図8参照)。
しかしながら、特許文献1には、検索結果の出力に関する具体的な記載がない。
【0020】
上記<先行技術3>の検索手法は、検索キーワードを構成する1検索文字単位にインデックス行列を検索した上で、インデックス行列内における検索文字の適合位置ごとに設定された相関値を累積することにより検索キーワードとインデックス行列との相関度を算出する(特許文献2の図10,図11参照)。
したがって、検索キーワードの構成文字を連続する文字列として含まないインデックス行列が、検索結果の中に常に含まれてしまう。
【0021】
本発明が解決しようとする課題は、文字を含む画像と特定の単語との間の関連性の高さの程度を数値化する、という点である。
【課題を解決するための手段】
【0022】
上記課題を解決するため、本発明は、単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、文字を含む画像の識別情報に対応させて、該画像中の文字ごとに、類似度が付与された文字候補群を、該画像中の文字の順序を保持して記憶している文字候補記憶手段と、前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段とを有するコンピュータが、前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出ステップと、連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす画像の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出ステップと、前記選出条件を満たす画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納ステップとを実行することを特徴とするスコアインデックス生成方法である。
【0023】
前記スコアインデックス記憶手段は、前記単語の識別情報に対応させて、前記画像の識別情報ごとにさらにキーワード出現数を記憶することができ、前記コンピュータは、前記スコア算出ステップにおいて、前記選出条件を満たす画像の識別情報ごとに、キーワードの出現数をカウントするとともに前記合計スコアの最小値を選択し、前記スコア格納ステップにおいて、前記抽出した単語の識別情報に対応させて、前記選出条件を満たす画像の識別情報と、前記選択した合計スコアの最小値と、前記カウントしたキーワードの出現数とを前記スコアインデックス記憶手段に格納してもよい。
【0024】
また、上記課題を解決するため、本発明は、単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、文字を含む画像の識別情報と、該画像内で文字を含む一定範囲を占める領域の識別情報とに対応させて、該領域中の文字ごとに、類似度が付与された文字候補群を、該領域中の文字の順序を保持して記憶している文字候補記憶手段と、前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段とを有するコンピュータが、前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出ステップと、連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす領域の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出ステップと、前記選出条件を満たす領域に対応する画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納ステップとを実行することを特徴とするスコアインデックス生成方法である。
【0025】
前記コンピュータは、前記スコア格納ステップにおいて、前記画像の識別情報ごとに対応する合計スコアの中から最小値を1つ選択し、前記画像の識別情報の重複を排除し、前記画像の識別情報と該選択した最小値とを、前記単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納してもよい。
前記スコアインデックス記憶手段は、前記単語の識別情報に対応させて、前記画像の識別情報ごとにキーワード出現数をさらに記憶することができ、前記コンピュータは、前記スコア格納ステップにおいて、前記画像の識別情報ごとに重複数を集計し、該重複数を前記キーワード出現数として前記画像の識別情報及び前記合計スコアとともに前記スコアインデックス記憶手段に格納してもよい。
【0026】
前記文字候補記憶手段は、前記類似度が付与された文字候補群に代えて、類似度の順位が保持された文字候補群を記憶しており、前記コンピュータは、前記スコア算出ステップにおいて、前記類似度の合計スコアに代えて、前記各文字候補群中における前記各構成文字の順位の合計スコアを算出してもよい。
前記文字候補群は、前記対応する文字との類似度が高い複数の文字候補が類似度の高い順に整列されている文字候補群であってもよい。
前記文字候補群は、前記対応する文字との類似度が高い方から順に所定数の文字候補が類似度の高い順に整列されている文字列であってもよい。
【0027】
また、上記課題を解決するため、本発明は、単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、文字を含む画像の識別情報に対応させて、該画像中の文字ごとに、類似度が付与された文字候補群を、該画像中の文字の順序を保持して記憶している文字候補記憶手段と、前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段とを有するコンピュータに、前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出ステップと、連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす画像の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出ステップと、前記選出条件を満たす画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納ステップとを実行させるためのスコアインデックス生成プログラムである。
【0028】
また、上記課題を解決するため、本発明は、単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、文字を含む画像の識別情報と、該画像内で文字を含む一定範囲を占める領域の識別情報とに対応させて、該領域中の文字ごとに、類似度が付与された文字候補群を、該領域中の文字の順序を保持して記憶している文字候補記憶手段と、前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段とを有するコンピュータに、前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出ステップと、連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす領域の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出ステップと、前記選出条件を満たす領域に対応する画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納ステップとを実行させるためのスコアインデックス生成プログラムである。
【0029】
また、上記課題を解決するため、本発明は、単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、文字を含む画像の識別情報に対応させて、該画像中の文字ごとに、類似度が付与された文字候補群を、該画像中の文字の順序を保持して記憶している文字候補記憶手段と、前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段とを有し、前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出手段と、連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす画像の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出手段と、前記選出条件を満たす画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納手段とを備えることを特徴とするスコアインデックス生成システムである。
【0030】
また、上記課題を解決するため、本発明は、単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、文字を含む画像の識別情報と、該画像内で文字を含む一定範囲を占める領域の識別情報とに対応させて、該領域中の文字ごとに、類似度が付与された文字候補群を、該領域中の文字の順序を保持して記憶している文字候補記憶手段と、前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段とを有し、前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出手段と、連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす領域の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出手段と、前記選出条件を満たす領域に対応する画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納手段とを備えることを特徴とするスコアインデックス生成システムである。
【発明の効果】
【0031】
本発明のスコアインデックス生成方法によれば、文字を含む画像と特定の単語との間の関連性の高さの程度を数値化したスコアインデックスを生成することができる。
【図面の簡単な説明】
【0032】
【図1】文字候補群の特徴の説明図である。(実施形態1,2)
【図2】スコア算出の特徴の説明図である。(実施形態1,2)
【図3】ハードウェア構成を示すブロック図である。(実施形態1,2)
【図4】データ項目の説明図である。(実施形態1)
【図5】画像の検索手順を示すシーケンス図である。(実施形態1)
【図6】スコア算出処理の手順を示すフロー図である。(実施形態1)
【図7】スコア算出処理の手順を示すフロー図である。(実施形態1)
【図8】データ項目の説明図である。(実施形態1,2)
【図9】検索結果ページの表示例を示す図である。(実施形態1,2)
【図10】スコアインデックスの生成手順を示すシーケンス図である。(実施形態2)
【図11】画像の検索手順を示すシーケンス図である。(実施形態2)
【図12】データ項目の説明図である。(変形例1)
【図13】文字候補群及び合計スコアの特徴の説明図である。(変形例2)
【図14】データ項目の説明図である。(変形例2)
【図15】スコア算出処理の手順を示すフロー図である。(変形例3)
【図16】スコア算出処理の手順を示すフロー図である。(変形例3)
【図17】スコア算出処理の手順を示すフロー図である。(変形例3)
【図18】データ項目の説明図である。(補足等)
【発明を実施するための形態】
【0033】
<実施形態>
[1.概要]
[1−1.検索エンジンの特徴]
本実施形態の検索エンジンの主要な特徴を、図1及び図2を参照して説明する。
本実施形態の検索エンジンは、インターネット上で画像検索サービスを提供する画像検索エンジンである。本実施形態の検索エンジンは、例えば次のような特徴を有しており、キーワードと関連性の高い文字を含む画像を当該キーワードとの関連性の高い順に検索結果ページに表示させることができる。
【0034】
[(a)文字候補群]
本実施形態の検索エンジンは、画像内で一定の範囲を占める領域中の文字ごとに当該文字との類似度の高い方から順に所定数の文字候補が類似度の高い順に整列されている文字候補群を記憶している。
例えば、図1に示すように、画像100内に領域110,領域120及び領域130があるとする。このとき、「眼」,「限」,「眠」,「阻」,「咀」,「服」,「隈」,…が、領域110の1番目の文字に対する文字候補群111である。他の文字に対応する文字候補群も同様である。
【0035】
[(b)合計スコア]
本実施形態の検索エンジンは、連続する文字候補群中にキーワード(単語)の構成文字が1文字ずつ同順で含まれることを選出条件として、当該選出条件を満たす領域ごとに、各文字候補群中における各構成文字の順位の合計スコアを算出する。
例えば、図2に示すように、キーワード「眼精疲労」,「疲れ目」,「眼病予防」との関係で、画像100中の領域110,120,130の合計スコアはそれぞれ4,4,7となる(下表参照)。
【0036】
【表1】

【0037】
[(c)検索結果]
「文字候補群」は、対応する文字との類似度の高い文字を類似度の高い順に並べたデータである。したがって、「合計スコア」が小さいほど、画像とキーワードとの関連性が高いといえる。
本実施形態の検索エンジンは、特定のキーワードが与えられたとき、当該キーワードとの関係で算出された合計スコアを利用して、各領域に対応する画像が合計スコアの昇順に配置されるように検索結果ページを生成する。この点において、キーワードと関連性の高い画像を当該キーワードと関連性の高い順に並べて表示することができる。
【0038】
[1−2.実施形態の特徴]
[(a)実施形態1の検索エンジン]
実施形態1の検索エンジンは、画像を検索するためのキーワードを入力したとき、所定の選出条件を満たす領域ごとに当該キーワードに対する合計スコアをリアルタイムで算出し、当該領域に対応する画像の識別情報を合計スコアの昇順となるように整列し、検索結果ページに配置する。
このように、実施形態1の検索エンジンは、キーワードを入力した後で合計スコアを算出する点に特徴がある。
【0039】
[(b)実施形態2の検索エンジン]
実施形態2の検索エンジンは、所定の単語辞書から単語を読み出し、所定の選出条件を満たす領域ごとに当該単語に対する合計スコアを算出し、単語の識別情報に対応させて画像ごとに合計スコアを記憶しておく。その上で、画像を検索するためのキーワードを入力したとき、当該キーワード(単語)に対応する合計スコアを用いて、画像の識別情報を合計スコアの昇順となるように整列し、検索結果ページに配置する。
このように、実施形態2の検索エンジンは、キーワードを入力する前に予め合計スコアを算出しておく点に特徴がある。
【0040】
[1−3.画像検索サービスを提供するための前提事項]
本実施形態の検索エンジンは、いわゆるロボット型である。すなわち、画像検索サービスを提供する前提として、インターネット上を巡回して種々のWebページを収集し(クローリング)、当該Webページに含まれる画像から画像検索用のデータを生成している(インデックス生成)。
これらは、先行技術として開示されている技術的事項を組み合わせることにより、実現可能である(例えば、上記<先行技術3>〜<先行技術7>参照)。
【0041】
[2.システム構成]
図3に示すように、本実施形態の検索エンジンは、全体として、画像検索サーバ11a,インデックス生成サーバ11b,DBサーバ12a,文字候補サーバ12b,スコアサーバ12c及びユーザ端末20により構成される。また、図示しないクローラ(インターネット上を巡回してWebページをダウンロードするサーバ),リポジトリ(クローラがダウンロードしたWebページを記憶するデータベース)等を含む。
DBサーバ12a,文字候補サーバ12b,スコアサーバ12cは、それぞれ画像検索DB13a,文字候補DB13b,スコアインデックス13cを有している。
【0042】
画像検索サーバ11a,インデックス生成サーバ11b,DBサーバ12a,文字候補サーバ12b及びスコアサーバ12cは、通信回線により又は通信ネットワークを介してそれぞれ互いに接続し、画像検索エンジン10を構成している。
画像検索サーバ11aとユーザ端末20とは、通信ネットワーク(本実施形態では、インターネット30)を介して互いに接続している。
なお、画像検索エンジン10を構成する各要素はそれぞれクラスタを形成しており、図示しないロードバランサにより適切に負荷分散がなされるものとする(上記<先行技術8>等参照)。
【0043】
[2−1.画像検索サーバ]
図3において、画像検索サーバ11aは、画像検索サービスを提供するWebサーバである。画像検索サーバ11aは、例えば、ユーザ端末20から画像検索要求(リクエスト)を受信すると、DBサーバ12a,文字候補サーバ12b,スコアサーバ12cと協働して画像を検索し、検索結果ページ(レスポンス)をユーザ端末20に送信する。
なお、画像検索サーバ11aが単独で画像を検索するように構成してもよい。この場合、画像検索サーバ11aと画像検索DB13a,文字候補DB13b及びスコアインデックス13cとを直接接続しておくとよい。
【0044】
[2−2.インデックス生成サーバ]
図3において、インデックス生成サーバ11bは、画像検索用のインデックスを生成するアプリケーションサーバである。インデックス生成サーバ11bは、例えば、DBサーバ12a,文字候補サーバ12b,スコアサーバ12cと協働して、文字候補DB13bの文字候補テーブルからスコアインデックス13cのスコアテーブルを生成する。
なお、インデックス生成サーバ11bが単独でインデックスを生成するように構成してもよい。この場合、インデックス生成サーバ11bと画像検索DB13a,文字候補DB13b及びスコアインデックス13cとを直接接続しておくとよい。
【0045】
[2−3.DBサーバ及び画像検索DB]
図3において、DBサーバ12aは、画像検索DB13aに記憶しているデータの検索等を行うデータベースサーバである。例えば、DBサーバ12aは、画像検索サーバ11a又はインデックス生成サーバ11bからクエリを受けると、条件を満たすデータを画像検索DB13aより抽出し、画像検索サーバ11a又はインデックス生成サーバ11bに返す。
画像検索DB13aは、画像検索に利用されるデータを記憶するデータベースである。本実施形態では、画像情報及び単語情報をそれぞれ複数件ずつ記憶している。
【0046】
図4(a)に、画像情報の主要な項目を示す。
図4(a)に示すように、1件の画像情報は、「画像ID」,「画像URL」,「サムネイルURL」及び「画像掲載ページURL」を含んでいる。
ここで、「サムネイルURL」は、その画像を縮小した画像(サムネイル)のURLである。サムネイルは、画像検索サーバ11a又はその他のWebサーバに接続された所定の記憶装置に記憶されているものとする。
【0047】
図4(b)に、単語情報の項目を示す。
図4(b)に示すように、1件の単語情報は、「単語ID」と「単語」とを対応させたものである。
なお、単語情報として記憶する単語は、市販の単語辞書・用語辞書等から抽出するとよい。また、記憶していないキーワードを指定した検索要求を受けたときに、当該キーワードを新たな単語として単語情報に追加してもよい。
【0048】
[2−4.文字候補サーバ及び文字候補DB]
図3に戻り、文字候補サーバ12bは、文字候補DB13bを管理するアプリケーションサーバである。文字候補サーバ12bは、例えば、画像検索サーバ11aからキーワードを受け取ると、文字候補DB13bに記憶している文字候補テーブルを利用して、当該キーワードに対する各画像の合計スコアを算出する。
文字候補DB13bは、文字候補テーブルを記憶するデータベースである。
【0049】
図4(c)に、文字候補テーブルの項目を示す。
図4(c)に示すように、文字候補テーブルは、「画像ID」,「領域番号」,「文字番号」及び「文字候補群」を主要な項目とする。
ここで、「文字候補群」は、その文字番号に対応する文字との類似度の高い方から順に所定数の文字候補が類似度の高い順に整列されている文字列である。例えば、その文字とのユークリッド距離が小さいほうから順に所定数の文字候補を当該距離の昇順に整列しておくとよい。
【0050】
本実施形態において、「領域番号」は、その画像内において一定範囲を占める領域に付された当該画像内において一意の識別情報(数値)である。また、「文字番号」は、その領域中の文字に付された当該領域内において一意の識別情報(数値)である。このように、「領域番号」や「文字番号」を相対的な番号とすることにより、桁数を抑え、データ量を削減している。なお、「領域番号」(図4(c))に代えて、全ての領域において一意の識別情報(「領域ID」)を記憶しておいてもよい。
「領域番号」は、その画像内で領域の出現する順(例えば、画像の左上から右方向・下方向に解析したときに出現する順)に付すとよい。同様に、「文字番号」は、その領域中で文字の出現する順(例えば、領域の左上から右方向・下方向に解析したときに出現する順)に付すとよい。
【0051】
[2−5.スコアサーバ及びスコアインデックス]
図3に戻り、スコアサーバ12cは、スコアインデックス13cを管理するアプリケーションサーバである。スコアサーバ12cは、例えば、インデックス生成サーバ11bから単語IDを受け取ると、当該単語IDに対応するデータをスコアインデックス13cより抽出し、画像検索サーバ11aに返す。
スコアインデックス13cは、スコアテーブルを記憶するデータベースである。
【0052】
図4(d)に、スコアテーブルの主要な項目を示す。
図4(d)に示すように、スコアテーブルは、「単語ID」,「画像ID」,「合計スコア」及び「キーワード出現数」を主要な項目とする。
ここで、「キーワード出現数」は、その画像における「単語ID」に対応する単語(キーワード)を含む領域の個数である。
【0053】
[2−6.ユーザ端末]
図3に戻り、ユーザ端末20は、画像検索サービスの提供を受けるユーザが使用する端末である。ユーザ端末20は、Webブラウザを有しており、画像検索サーバ11aから受信したWebページ(HTML形式のデータ等)をディスプレイに表示することができる。
ユーザ端末20は、通信機能を有する既存の情報処理端末(例えば、パソコン等の電子計算機,携帯電話端末等)でよい。なお、ユーザ端末20が有するWebブラウザは、Webページが参照する画像を自動的に読み込むように設定されているのが好ましい。
【0054】
[3.画像の検索手順]
[3−1.実施形態1]
実施形態1の検索エンジンによる画像の検索手順を、図4〜図9(特に、図5のシーケンス図,図6及び図7のフロー図)を参照して説明する。
なお、図5には、参照すべき他の図面の番号が付記されている。必要に応じて、当該他の図面を参照されたい。
【0055】
[(a)画像の検索手順]
図5に示すように、実施形態1の検索エンジンは、概ね下記〔手順11〕〜〔手順13〕により画像を検索する。
〔手順11〕ユーザ端末20は、ユーザの操作に応じて、キーワードを含む検索要求を画像検索サーバ11aに送信する(S505a)。画像検索サーバ11aは、ユーザ端末20から検索要求を受信する(S505b)と、キーワードを指定して文字候補サーバ12bにスコア情報を要求する(S520b)。文字候補サーバ12bは、画像検索サーバ11aからスコア情報の要求を受信する(S520c)と、スコア算出処理を実行し(S525c,図6)、スコア情報Aを画像検索サーバ11aに送信する(S530c,図8(a))。
【0056】
〔手順12〕画像検索サーバ11aは、文字候補サーバ12bから受信したスコア情報Aを抽出し(S530b)、画像IDを合計スコアの昇順に整列した上で(S535b)、画像IDを指定してDBサーバ12aに画像情報を要求する(S540b)。DBサーバ12aは、画像検索サーバ11aから画像情報の要求を受信する(S540d)と、指定された画像IDに対応する画像情報を画像検索DB13aより抽出し(S545d)、画像検索サーバ11aに送信する(S550d,図4(a))。
【0057】
〔手順13〕画像検索サーバ11aは、DBサーバ12aから受信した画像情報を抽出する(S550b)と、検索結果ページを生成し(S555b)、ユーザ端末20に送信する(S560b)。ユーザ端末20は、画像検索サーバ11aから検索結果ページを受信し(S560a)、ディスプレイに表示する(S565a,図9)。
【0058】
[(b)〔手順11〕スコア算出処理について]
上記〔手順11〕において、文字候補サーバ12bはスコア算出処理を実行する(図5のS525c)。
図6に、スコア算出処理の手順を示す。なお、文字候補サーバ12bは、文字候補テーブルを文字候補DB13bより読み出してメモリ上に展開しているものとし、テーブルの先頭から1レコードごとに処理していくものとする。
〔処理111〕受け取ったキーワードを変数wrdに代入し(S605)、変数wrdに格納している文字列の文字数を変数nに代入する(S610)。
〔処理112〕画像IDを変数idに代入する(S615)。
【0059】
〔処理113〕領域番号を変数numに代入し(S620)、領域内の文字数(画像IDがid,領域番号がnumであるレコードの数)を変数mに代入する(S625)。
〔処理114〕判定式「m≧n」の真偽を判定する(S630)。判定式が真のとき(S630でYes)、合計スコアを算出し(図7)、下記〔処理115〕に進む。一方、判定式が偽のとき(S630でNo)、合計スコアを算出せず、下記〔処理115〕に進む。なお、判定式「m≧n」が偽であれば、その領域にはキーワードが含まれないことが分かる。
【0060】
〔処理115〕最後の領域か否かを判定する(S635)。最後の領域であるとき(S635でYes)、下記〔処理116〕に進む。一方、最後の領域でないとき(S635でNo)、次の領域について上記〔処理113〕以降を繰り返す。
〔処理116〕最後の画像か否かを判定する(S640)。最後の画像であるとき(S640でYes)、下記〔処理117〕に進む。一方、最後の画像でないとき(S640でNo)、次の画像について上記〔処理112〕以降を繰り返す。
〔処理117〕画像IDと領域番号との組に対応させて合計スコアを返戻する(S645)。
【0061】
[(c)〔処理114〕合計スコアの算出について]
上記〔処理114〕において、文字候補サーバ12bは合計スコアを算出する。
図7に、スコア算出処理における合計スコアの算出手順を示す。
〔処理121〕変数k(マッチングの先頭位置の文字番号を示すカウンタ)に1を代入する(S701)。
〔処理122〕変数i(領域中の文字番号を示すカウンタ)に変数kの値を代入し(S706)、変数j(キーワード中の文字位置を示すカウンタ)に1を代入し(S708)、変数s(合計スコアが格納される変数)に0を代入する(S710)。
【0062】
〔処理123〕変数yに変数wrd中のj番目の文字を代入し(S712)、変数xに文字番号iの文字候補群(文字列)を代入し(S714)、変数idxに変数x中の変数yに当たる文字の位置番号を代入する(S716)。
〔処理124〕判定式「idx=null」の真偽を判定する(S718)。判定式が偽のとき(S718でNo)、下記〔処理125〕に進む。一方、判定式が真のとき(S718でYes)、下記〔処理126〕に進む。なお、判定式「idx=null」が真となるのは、変数x(文字番号iの文字候補群(文字列))の中に変数y(キーワード中のj番目の文字)が存在しない場合である。
【0063】
〔処理125〕変数sに変数idxの値を加算し(S720)、判定式「j=n」の真偽を判定する(S722)。判定式が偽のとき(S722でNo)、変数jに1を加算する(S724)とともに、変数iに1を加算し(S726)、上記〔処理123〕に戻る。一方、判定式が真のとき(S722でYes)、下記〔処理127〕に進む。なお、判定式「j=n」が真となるのは、その領域にキーワードが含まれる場合である。
〔処理126〕判定式「(m−k)<n」の真偽を判定する(S728)。判定式が偽のとき(S728でNo)、変数kに1を加算し(S730)、上記〔処理122〕に戻る。一方、判定式が真のとき(S728でYes)、上記〔処理115〕(図6のS635)に戻る。なお、判定式「(m−k)<n」が真であれば、その領域にはキーワードが含まれないことが分かる。
〔処理127〕変数sの値を、その領域(画像ID=id,領域番号=numの領域)の合計スコアとする(S744)。なお、id,num,s(id,num)は、画像ID,領域番号,合計スコアを要素とする配列等に格納して対応付けておくとよい。
【0064】
[(d)〔手順11〕スコア情報Aについて]
上記〔手順11〕において、文字候補サーバ12bはスコア情報Aを画像検索サーバ11aに送信する(図5のS530c)。
図8(a)に、スコア情報Aの項目を示す。
図8(a)に示すように、1件のスコア情報Aは、「画像ID」,「領域番号」及び「合計スコア」(ユーザ端末20から検索要求を受けた後に算出される合計スコア)を含んでいる。
【0065】
[(e)〔手順12〕画像IDの整列について]
上記〔手順12〕において、画像検索サーバ11aは、画像IDを合計スコアの昇順に整列する(図5のS535b)。
このとき、画像IDごとに対応する合計スコアの最小値を選択し、画像IDの重複を排除する。
また、画像ID間で合計スコアが同一となるときは、当該画像ID間の順序をキーワードを含む領域の数(すなわち、受信したスコア情報における画像IDの重複数)の降順とする。これにより、検索結果画面における画像の整列順序に、画像内に出現するキーワードの数を反映させることができる。
【0066】
[(f)〔手順12〕画像情報の要求について]
上記〔手順12〕において、画像検索サーバ11aは、画像IDを指定してDBサーバ12aに画像情報を要求する(図5のS540b)。
このとき、画像検索サーバ11aは、ランクの高い(合計スコアの小さい)方から所定数(例えば、検索結果ページに配置する画像(サムネイル)の数の初期値等)の画像IDを指定するとよい。このように、予め画像IDを整列して重複を排除した上で(図5のS535b)、画像情報を検索結果ページへの表示に必要な限度で要求することにより、画像検索サービスの応答速度を向上させることができる。
【0067】
[(g)〔手順13〕検索結果ページについて]
上記〔手順13〕において、ユーザ端末20は、検索結果ページをディスプレイに表示する(図5のS565a)。
図9に、検索結果ページの表示例を示す。検索結果ページ900は、テキストボックス911にキーワードを入力し、「検索」ボタン912をクリックしたときの検索結果の表示例である。
【0068】
検索結果ページ900内の1画像分の表示領域は、DBサーバ12aから受信した1件分の画像情報(図4(a))の項目を用いて構成されている。例えば、最上位の画像の表示領域には、画像ID921a,画像URL922a及びサムネイル923aが表示される。また、サムネイル923aは、「画像掲載ページURL」をリンク先とするリンクになっている。
なお、検索結果ページは、検索結果ページ900に示した形態に限定されない。例えば、画像IDや画像URLは表示しなくてもよい。また、画像タグ(<img>タグ)の参照先として「画像URL」を設定し、サムネイルではなくオリジナルの画像が表示されるようにしてもよい。
【0069】
[3−2.実施形態2]
実施形態2の検索エンジンによる画像の検索手順を、図4,図6〜図11(特に、図10及び図11のシーケンス図)を参照して説明する。
なお、図10,図11には、参照すべき他の図面の番号が付記されている。必要に応じて、当該他の図面を参照されたい。
また、図10又は図11中、図5と同一の符号が付されている処理ステップは、同内容のものである。
【0070】
[3−2−1.スコアインデックスの生成]
[(a)スコアインデックスの生成手順]
図10に示すように、実施形態2の検索エンジンは、概ね下記〔手順21〕〜〔手順24〕によりスコアインデックスを生成する。
〔手順21〕インデックス生成サーバ11bは、DBサーバ12aに単語情報を要求する(S1010a)。DBサーバ12aは、インデックス生成サーバ11bから単語情報の要求を受信する(S1010b)と、指定件数又は所定件数の単語情報を画像検索DB13aより抽出し、インデックス生成サーバ11bに送信する(S1015b,図4(b))。
〔手順22〕インデックス生成サーバ11bは、DBサーバ12aから受信した単語情報を抽出する(S1015a)と、単語(キーワード)を指定して文字候補サーバ12bにスコア情報を要求する(S1020a)。文字候補サーバ12bは、インデックス生成サーバ11bからスコア情報の要求を受信する(S520c)と、スコア算出処理を実行し(S525c,図6)、スコア情報Aをインデックス生成サーバ11bに送信する(S530c,(図8(a)))。
【0071】
〔手順23〕インデックス生成サーバ11bは、文字候補サーバ12bから受信したスコア情報Aを抽出し(S1030a)、スコアテーブルのレコードを生成し(S1035a)、レコード項目をスコアサーバ12cに送信する(S1040a)。スコアサーバ12cは、インデックス生成サーバ11bからレコード項目を受信する(S1040d)と、スコアインデックス13cに格納する(S1045d,図4(d))。
〔手順24〕インデックス生成サーバ11bは、最後の単語か否かを判定する(S1050a)。最後の単語でないとき(S1050aでNo)、次の単語(キーワード)を指定して上記〔手順22〕以降を繰り返す。一方、最後の単語であるとき(S1050aでYes)、処理を終了する。
【0072】
[(b)〔手順21〕単語情報の要求について]
上記〔手順21〕において、インデックス生成サーバ11bは、DBサーバ12aから単語情報を抽出する(図10のS1010a,S1015a)。
単語情報の抽出処理は、スコアインデックス13cに記憶するスコアテーブルを最新の状態に保つため、定期的に又は所定の条件に基づいて継続的に実行するとよい。
【0073】
[(c)〔手順23〕レコードの生成について]
上記〔手順23〕において、インデックス生成サーバ11bは、スコアテーブルのレコードを生成する(S1035a)。
具体的には、指定した単語(キーワード)に対応する「単語ID」に、「画像ID」,「合計スコア」及び「キーワード出現数」を対応付ける。
なお、スコアテーブルの項目は、図4(d)に示した通りである。また、「合計スコア」及び「キーワード出現数」は、画像IDを整列する処理(図5のS535b)と同様に求めるものとする。すなわち、「合計スコア」は画像IDごとの最小の合計スコアであり、「キーワード出現数」は画像IDごとに集計したキーワードを含む領域の数(画像IDの重複数)である。
【0074】
[(d)〔手順23〕レコードの格納について]
上記〔手順23〕において、スコアサーバ12cは、インデックス生成サーバ11bから受信したスコアテーブルのレコードをスコアインデックス13cに格納する(S1045d)。
このとき、「単語ID」と「画像ID」が一致するレコードは上書きし、上書きされないレコードには削除された旨を示すフラグ(削除フラグ)を立てておくとよい。その他、インデックス生成サーバ11bから受信したレコードに共通して含まれる「単語ID」に対応付けられている各レコードを、スコアインデックス13cから予め削除しておいてもよい。
これらにより、スコアインデックス13cに記憶するスコアテーブルを最新の状態に保つことができる。
【0075】
[3−2−2.スコアインデックスを利用した検索]
[(a)画像の検索手順]
図11に示すように、実施形態2の検索エンジンは、上記〔手順21〕〜〔手順24〕により生成したスコアテーブル(図4(d))を用いて、概ね下記〔手順25〕〜〔手順28〕により画像を検索する。
〔手順25〕ユーザ端末20は、ユーザの操作に応じて、キーワードを含む検索要求を画像検索サーバ11aに送信する(S505a)。画像検索サーバ11aは、ユーザ端末20から検索要求を受信する(S505b)と、キーワードを指定してDBサーバ12aに単語IDを要求する(S1110b)。DBサーバ12aは、画像検索サーバ11aから単語IDの要求を受信する(S1110d)と、指定されたキーワードに対応する単語IDを画像検索DB13aより抽出し、画像検索サーバ11aに送信する(S1115d)。
〔手順26〕画像検索サーバ11aは、DBサーバ12aから受信した単語IDを抽出する(S1115b)と、当該単語IDを指定してスコアサーバ12cにスコア情報を要求する(S1120b)。スコアサーバ12cは、画像検索サーバ11aからスコア情報の要求を受信する(S1120c)と、指定された単語IDに対応するすべてのレコードをスコアインデックス13cのスコアテーブルより抽出し(S1125c)、スコア情報Bを画像検索サーバ11aに送信する(S1130c,図8(b))。
【0076】
〔手順27〕画像検索サーバ11aは、スコアサーバ12cから受信したスコア情報Bを抽出し(S1130b)、画像IDを合計スコアの昇順に整列した上で(S1135b)、画像IDを指定してDBサーバ12aに画像情報を要求する(S540b)。DBサーバ12aは、画像検索サーバ11aから画像情報の要求を受信する(S540d)と、指定された画像IDに対応する画像情報を画像検索DB13aより抽出し(S545d)、画像検索サーバ11aに送信する(S550d,図4(a))。
〔手順28〕画像検索サーバ11aは、DBサーバ12aから受信した画像情報を抽出する(S550b)と、検索結果ページを生成し(S555b)、ユーザ端末20に送信する(S560b)。ユーザ端末20は、画像検索サーバ11aから検索結果ページを受信し(S560a)、ディスプレイに表示する(S565a,図9)。
【0077】
[(b)〔手順26〕スコア情報Bについて]
上記〔手順26〕において、スコアサーバ12cはスコア情報Bを画像検索サーバ11aに送信する(図11のS1130c)。
図8(b)に、スコア情報Bの項目を示す。
図8(b)に示すように、1件のスコア情報Bは、「画像ID」,「合計スコア」(ユーザ端末20から検索要求を受ける前に算出された合計スコア)及び「キーワード出現数」を含んでいる。
なお、スコア情報Bは、スコアテーブルの項目(図4(d))から単語IDを除外したものである。
【0078】
[(c)〔手順27〕画像IDの整列について]
上記〔手順27〕において、画像検索サーバ11aは、画像IDを合計スコアの昇順に整列する(図11のS1135b)。
画像ID間で合計スコアが同一となるときに、画像IDごとに集計したキーワードを含む領域の数(スコア情報B(図8(b))の「キーワード出現数」)の降順に整列する点は実施形態1と同様である。
なお、画像IDの重複はスコアインデックスを生成する段階(図10のS1035a)で排除されているから、ここでは考慮していない。
【0079】
[(d)〔手順28〕検索結果ページの生成について]
上記〔手順28〕において、画像検索サーバ11aは、検索結果ページを生成し(図11のS555b)、ユーザ端末20に送信する(図11のS560b)。
なお、画像検索サーバ11aは、上記〔手順25〕においてDBサーバ12aから単語IDが得られないとき、上記〔手順26〕〜〔手順28〕中の一連の処理(図11のS1120b〜S550b)を省略し、「キーワードに関連する画像がない」旨等を表示する検索結果ページを生成してユーザ端末20に送信してもよい。
【0080】
[3−3.実施形態3(実施形態1,2の組み合わせ)]
実施形態2による画像検索手順と実施形態1による画像検索手順とを組み合わせて画像検索サービスを提供してもよい。
例えば、通常は実施形態2の検索手順(図11)により画像を検索し、例外的に(例えば、上記〔手順25〕においてDBサーバ12aから単語IDが得られない場合)実施形態1の検索手順(図5)により画像を検索することとするとよい。これにより、平均的な応答速度を維持しつつ、画像検索サーバ11aがDBサーバ12aから単語IDが得られない場合(例えば、ユーザ端末20から受信したキーワードが単語情報(図4(b))に含まれない場合)にも検索結果を返すことができる。
【0081】
[3−4.その他の実施形態]
検索結果ページを予め生成しておき、検索要求を受けたときに当該検索結果ページを送信するようにしてもよい。これにより、応答速度がさらに向上する。
例えば、次の手順により検索結果ページを送信するとよい。
(1)画像検索サーバ11a又はその他の図示しないサーバが、DBサーバ12aから定期的に単語情報(図4(b))を取得し、上記〔手順26〕〜〔手順28〕中の一連の処理(図11のS1120b〜S555b)を実行し、生成した検索結果ページを単語IDに対応させて所定の記憶装置に予め記憶しておく。
【0082】
(2)画像検索サーバ11aは、ユーザ端末20から検索要求を受信すると、キーワードに対応する単語IDをDBサーバ12aから取得する(上記〔手順25〕(図11のS505b〜S1115b)と同様)。
(3)画像検索サーバ11aは、取得した単語IDに対応する検索結果ページを所定の記憶装置より読み出し、ユーザ端末20に送信する。
【0083】
<変形例>
[1.変形例1]
上述の各実施形態では、画像内の領域に対し画像ごとに一意の番号を付与し(図4(c)の「領域番号」)、画像IDと領域番号との組により領域を特定している。
これに対し、全ての領域に一意の識別情報を付与し、当該識別情報のみにより領域を特定してもよい。
【0084】
[(a)データ項目の変更]
変形例1では、データ項目を次のように変更するとよい(図12)。なお、画像情報(図12(a)),単語情報(図12(b)),スコアテーブル(図12(e)),スコア情報B(図12(g))の項目は、上述の各実施形態に係る項目と同様である。
・「領域ID」と「画像ID」とを対応付ける領域情報(図12(c))を文字候補DB13b又はその他の記憶装置に記憶する。
・文字候補テーブルの「画像ID」と「領域番号」との組を、「領域ID」に変更する(図12(d))。
・スコア情報Aの「画像ID」と「領域番号」との組を、「領域ID」に変更する(図12(f))。
【0085】
[(b)処理手順の変形]
変形例1では、処理手順を次のように変更するとよい。
・スコア算出処理(図5のS525c,図10のS525c,図6〜図7)において、領域IDごとに合計スコアを算出する。
・画像IDを整列する処理(図5のS535b)において、文字候補サーバ12bより取得したスコア情報A(図12(f))中の「領域ID」に対応する「画像ID」を文字候補DB13bの領域情報(図12(c))から取得し、両者を対応付ける。
・スコアテーブルのレコードを生成する処理(図10のS1035a)において、文字候補サーバ12bより取得したスコア情報A(図12(f))中の「領域ID」に対応する「画像ID」を文字候補DB13bの領域情報(図12(c))から取得し、両者を対応付ける。
【0086】
[2.変形例2]
上述の各実施形態では、各画像を領域という単位に分割し(図1及び図2の110,120,130等参照)、当該領域単位で合計スコアを算出している(図6,図7)。変形例1も同様である。
これに対し、画像単位で合計スコアを算出してもよい。なお、次のいずれかのように文字候補DBが生成されていれば、領域を設けた場合と同様に、外観上連続しない文字どうしが連続する文字として認識されてしまう不具合は発生しない(図13参照)。
・領域の境界となるべき位置に所定の値(例えば、null値,スペース1字等)から成る文字候補群を設定する。
・領域の境界となるべき位置の前後で、文字番号を1つ以上飛ばす。
【0087】
[(a)データ項目の変更]
変形例2では、データ項目を次のように変更するとよい(図14)。なお、画像情報(図14(a)),単語情報(図14(b)),スコアテーブル(図14(d))の項目は、上述の各実施形態に係る項目と同様である。
・文字候補テーブルにおいて、「領域番号」を設けない(図14(c))。
・スコア情報Aにおいて、「領域番号」を設けない(図14(e))。
・スコア情報A及びBに「キーワード出現数」を追加する(図14(e)(f))。
【0088】
[(b)処理手順の変形]
変形例2では、処理手順を次のように変更するとよい。
・スコア算出処理(図5のS525c,図10のS525c,図6〜図7)において、画像IDごとに合計スコアを算出する。
・スコア算出処理(図5のS525c,図10のS525c,図6〜図7)において、画像IDごとにキーワードの出現回数をカウントする(後述の変形例3参照)。
【0089】
[3.変形例3]
上述の各実施形態では、画像内の領域ごとに合計スコアを算出した上で(図6〜図7)、画像IDごとにキーワードを含む領域数(画像IDの重複数)を集計し、当該領域数を「キーワード出現数」としている(図5のS535b,図10のS1035a,図4(d),図8(b)等)。
これに対し、スコア算出処理において、領域又は画像ごとにキーワードの出現回数(ヒット数)そのものをカウントし、当該出現回数を当該領域又は画像の「キーワード出現数」としてもよい。これにより、キーワードの出現回数をより正確に検索結果の出力に反映させることができる。なお、キーワードの出現数が複数であれば、領域又は画像ごとに合計スコアの最小値を選択するとよい。
【0090】
[(a)スコア算出処理について]
図15に、スコア算出手順の変形例を示す。
図15は、上記変形例2(領域を設けない形態)においてキーワードの出現回数そのものをカウントする場合の例である。
なお、図15中、図6と同一の符号が付されている処理ステップは、同内容のものである。また、文字候補サーバ12bは、文字候補テーブルを文字候補DB13bより読み出してメモリ上に展開しているものとし、テーブルの先頭から1レコードごとに処理していくものとする。
【0091】
〔処理211〕受け取ったキーワードを変数wrdに代入し(S605)、変数wrdに格納している文字列の文字数を変数nに代入する(S610)。
〔処理212〕画像IDを変数idに代入する(S615)。
〔処理213〕画像内の文字数(画像IDがidであるレコードの数)を変数mに代入する(S1525)。
〔処理214〕判定式「m≧n」の真偽を判定する(S1530)。判定式が真のとき(S1530でYes)、合計スコアを算出し(図16,17)、下記〔処理215〕に進む。一方、判定式が偽のとき(S1530でNo)、合計スコアを算出せず、下記〔処理215〕に進む。なお、判定式「m≧n」が偽であれば、その領域にはキーワードが含まれないことが分かる。
【0092】
〔処理215〕最後の画像か否かを判定する(S640)。最後の画像であるとき(S640でYes)、下記〔処理216〕に進む。一方、最後の画像でないとき(S640でNo)、次の画像について上記〔処理212〕以降を繰り返す。
〔処理216〕画像IDに対応させて合計スコア(最小値)及びキーワードのヒット数を返戻する(S1545)。
【0093】
[(b)〔処理214〕合計スコア算出処理について]
上記〔処理214〕において、文字候補サーバ12bは合計スコアを算出する。
図16〜図17に、合計スコアの算出手順を示す。
なお、図16又は図17中、図7と同一の符号が付されている処理ステップは、同内容のものである。
【0094】
〔処理221〕変数k(マッチングの先頭位置の文字番号を示すカウンタ)に1を代入する(S701)。また、変数min(合計スコアの最小値が格納される変数)に0を代入し(S1602)、変数hit(キーワードのヒット数が格納される変数)に0を代入する(S1604)。
〔処理222〕変数i(画像中の文字番号を示すカウンタ)に変数kの値を代入し(S706)、変数j(キーワード中の文字位置を示すカウンタ)に1を代入し(S708)、変数s(合計スコアが格納される変数)に0を代入する(S710)。
〔処理223〕変数yに変数wrd中のj番目の文字を代入し(S712)、変数xに文字番号iの文字候補群(文字列)を代入し(S714)、変数idxに変数x中の変数yに当たる文字の位置番号を代入する(S716)。
【0095】
〔処理224〕判定式「idx=null」の真偽を判定する(S718)。判定式が偽のとき(S718でNo)、下記〔処理225〕に進む。一方、判定式が真のとき(S718でYes)、下記〔処理226〕に進む。なお、判定式「idx=null」が真となるのは、変数x(文字番号iの文字候補群(文字列))の中に変数y(変数wrd中のj番目の文字)が存在しないときである。
〔処理225〕変数sに変数idxの値を加算し(S720)、判定式「j=n」の真偽を判定する(S722)。判定式が偽のとき(S722でNo)、変数jに1を加算する(S724)とともに、変数iに1を加算し(S726)、上記〔処理223〕に戻る。一方、判定式が真のとき(S722でYes)、下記〔処理227〕に進む。なお、判定式「j=n」が真となるのは、その画像内でキーワードが検出された場合である。
【0096】
〔処理226〕判定式「(m−k)<n」の真偽を判定する(S728)。判定式が偽のとき(S728でNo)、変数kに1を加算し(S730)、上記〔処理222〕に戻る。一方、判定式が真のとき(S728でYes)、判定式「hit=0」が真であれば(S1632でYes)、上記〔処理215〕(図15のS640)に戻る。判定式「hit=0」が偽であれば(S1632でNo)、下記〔処理229〕に進む。なお、判定式「(m−k)<n」が真であれば、その画像の残りの文字内にはキーワードが含まれないことが分かる。
〔処理227〕変数hitに1を加算し(S1634)、判定式「hit≧2」の真偽を判定する(S1636)。判定式「hit≧2」が真のとき(S1636でYes)、さらに判定式「s<min」の真偽を判定する(S1638)。判定式「hit≧2」が偽のとき(S1636でNo)、又は、「判定式s<min」が真のとき(S1638でYes)、変数minに変数sの値を代入し(S1640)、下記〔処理228〕に進む。一方、判定式「s<min」が偽のとき(S1638でNo)、下記〔処理228〕に進む。
【0097】
〔処理228〕判定式「i=m」の真偽を判定する(S1642)。判定式が真のとき(S1642でYes)、下記〔処理229〕に進む。一方、判定式が偽のとき(S1642でNo)、変数kに1を加算し(図16のS730)、上記〔処理222〕に戻る。
〔処理229〕変数minの値を、その画像(画像ID=idの画像)の合計スコアとする(S1644)。また、変数hitの値を、その画像(画像ID=idの画像)のキーワード出現数とする(S1646)。なお、id,s(id),h(id)は、画像ID,合計スコア,キーワード出現数を要素とする配列等に格納して対応付けておくとよい。
【0098】
[4.変形例4]
上述の各実施形態におけるスコア算出処理は、領域内で最初のキーワードが検出された時点でマッチング処理のループから抜けて(図7のS722でYes)、合計スコアを確定する(図7のS744)。
一方、上述の変形例3に例示しているスコア算出処理は、画像ごとにキーワードの出現数をカウントしつつ(図17のS1634等)、合計スコアの最小値を選択する(図17のS1636〜S1640)。
これに対し、領域ごとに又は画像ごとにキーワードの出現数をカウントせずに、領域ごとに又は画像ごとに合計スコアの最小値を選択してもよい。これにより、画像と当該画像中の文字との関連性を、より正確に検索結果に反映させることができる。
【0099】
[5.変形例5]
上述の各実施形態における文字候補群は、対応する文字との類似度の高い方から順に所定数の文字候補が類似度の高い順に整列されている文字列である(図4(c))。
これに対し、文字候補群は、単に対応する文字との類似度の高い複数の文字候補が類似度の高い順に整列されているだけでもよい。例えば、1次元の配列に各文字候補を類似度の高い順に格納しておけば、配列の添字が類似度の順位となる。
また、文字候補群を構成する各文字候補を類似度の値と対応付けて記憶しておいてもよい。例えば、2次元の配列に文字候補と類似度の値とを格納する。この場合、文字候補群を整列しておかなくてもよい。
なお、変形例5のいずれかの場合には、各文字候補群中における各構成文字の類似度の順位の合計値又は類似度の値の合計値を「合計スコア」として算出するとよい。
【0100】
[6.変形例6]
[(a)他のWebサーバに検索結果を出力する形態]
上述の各実施形態の検索エンジンは、ユーザ端末20から検索要求を受信し、ユーザ端末20に検索結果ページを送信している(図3,図5,図11等参照)。
これに対し、通信ネットワーク又は通信回線を介して接続された他のWebサーバ(例えば、電子商取引を管理するWebサーバ等)から検索要求を入力(受信)し、当該Webサーバに検索結果を出力(送信)してもよい。この場合、検索結果(例えば、整列済みの画像IDのリスト等)は、所定の形式(例えば、XML形式等)で送信するとよい。
【0101】
[(b)デスクトップ検索を実行する形態]
上述の各実施形態の検索エンジン及び上記(a)の形態では、他のデータ処理装置から検索要求を受信し、当該データ処理装置に検索結果を出力している(図3,図5,図11等参照)。
これに対し、スタンドアロンのデータ処理装置(例えば、パソコン等の電子計算機)上に画像検索エンジンを構成すれば、デスクトップ検索を実行することができる。
【0102】
<補足等>
[1.画像内の領域について]
上述の各実施形態では、各画像を領域に区分し(図1及び図2の110,120,130等)、当該領域ごとに合計スコアを算出している(図6,図7)。
領域の確定には、画像中の文字の範囲を特定するための情報を利用するとよい。例えば、画像内における各文字の範囲(位置及び大きさ)を特定し、文字どうしの範囲を比較すれば、画像をいくつかの領域に区分することができる。
【0103】
[(a)文字属性情報]
図18(a)に、文字属性情報の主要な項目を示す。
図18(a)に示すように、1件の文字属性情報は、「画像ID」,「領域番号」,「文字番号」,「横位置(x座標)」,「縦位置(y座標)」,「幅(ピクセル)」,「高さ(ピクセル)」を含んでいる。「横位置」,「縦位置」,「幅」,「高さ」の4つにより、各文字の画像内での範囲(各文字の外接矩形の輪郭)を特定することができる。
文字属性情報は、実施形態の検索エンジンがインターネット上で収集したWebページ中の画像を解析する際に生成するとよい。
【0104】
[(b)領域の形成]
具体的には、次のような文字をグループ化して1つの領域を形成するとよい。
・縦位置及び/又は横位置の差分が所定の又は計算により求まるしきい値以内である1又は複数の文字。
・幅及び/又は高さの差分が所定の又は計算により求まるしきい値以内である1又は複数の文字。
【0105】
[(c)領域属性情報]
図18(b)に、領域属性情報の主要な項目を示す。
図18(b)に示すように、1件の領域属性情報は、「画像ID」,「領域番号」,「横位置(x座標)」,「縦位置(y座標)」,「幅(ピクセル)」,「高さ(ピクセル)」を含んでいる。「横位置」,「縦位置」,「幅」,「高さ」の4つにより、各領域の画像内での範囲(各領域の外接矩形の輪郭)を特定することができる。
領域属性情報も、実施形態の検索エンジンがインターネット上で収集したWebページ中の画像を解析する際に生成するとよい。なお、領域の外接矩形が1の画像内で部分的に重なっていてもよい。
【0106】
[2.画像中の文字の強調表示]
検索結果ページにおいて、キーワードに対応する文字等を強調してもよい。
例えば、次のような強調の態様が考えられる。
・キーワードに対応する文字を強調する。
・キーワードに対応する文字を含む領域を強調する。
図9に示す検索結果ページでは、画像を検索するためのキーワード(「楽天」)に対応する文字が画像中で強調されている。
【0107】
[(a)文字を強調する場合]
(1)検索結果ページに表示されるべき画像(サムネイル,オリジナル画像)中の、キーワードの構成文字に対応する各文字の範囲を文字属性情報(図18(a))を用いて特定する。
(2)検索結果ページ内の当該画像が表示されるべき領域の前面に、当該特定した範囲に相当するオブジェクト(例えば、外接矩形)を配置する。オブジェクトの色は任意に設定してよい。
【0108】
[(b)領域を強調する場合]
(1)検索結果ページに表示されるべき画像(サムネイル,オリジナル画像)中の、キーワードに対応する文字を含む領域の範囲を領域属性情報(図18(b))を用いて特定する。
(2)検索結果ページ内の当該画像が表示されるべき領域の前面に、当該特定した範囲に相当するオブジェクト(例えば、外接矩形)を配置する。オブジェクトの色は任意に設定してよい。
【0109】
[3.キーワードが複数の場合のAND検索]
複数のキーワードを入力したとき、AND検索を実行してもよい。
例えば、所定のデータ(例えば、スペース,「*」等)により連結された複数のキーワードを入力したとき、画像検索サーバ11aは、次のように画像IDを整列するとよい。
(1)入力した文字列を上記所定のデータの前後で分割して各キーワードを抽出し、文字候補サーバ12b又はスコアサーバ12cより各キーワードに対する合計スコアを領域ごとに又は画像ごとに得る。
(2)全てのキーワードを含む画像IDのみを対象として、各キーワードに対する合計スコアの和を算出し、画像IDをその和の昇順に整列する。
【0110】
[4.インデックスに格納する情報の性質について]
文字候補DB13bに記憶する文字候補テーブル(図4(c))及びスコアインデックス13cに記憶するスコアテーブル(図4(d))は、いずれも画像検索の処理を実行する装置(画像検索サーバ11a等)に直ちに用いることが可能な状態にされた情報である。したがって、これらはいずれも、当該装置による画像検索の処理の用に供する情報である。
また、文字候補テーブル(図4(c))及びスコアテーブル(図4(d))は、当該装置に対する直接の指令ではないが、これらの情報が有する構造により当該装置による画像検索の処理を規定するものという点でプログラムに類似する性質を有するものである。したがって、これらはいずれも、プログラムに準ずるものである。
なお、文字候補テーブルの変形例(図12(d),図13(c)),スコアテーブルの変形例(図12(e),図13(d))についても同様である。
【符号の説明】
【0111】
10 画像検索エンジン
11a 画像検索サーバ
11b インデックス生成サーバ
12a DBサーバ
12b 文字候補サーバ
12c スコアサーバ
13a 画像検索DB
13b 文字候補DB
13c スコアインデックス
20 ユーザ端末
30 インターネット
900 検索結果ページ

【特許請求の範囲】
【請求項1】
単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、
文字を含む画像の識別情報に対応させて、該画像中の文字ごとに、類似度が付与された文字候補群を、該画像中の文字の順序を保持して記憶している文字候補記憶手段と、
前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段と
を有するコンピュータが、
前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出ステップと、
連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす画像の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出ステップと、
前記選出条件を満たす画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納ステップと
を実行することを特徴とするスコアインデックス生成方法。
【請求項2】
請求項1に記載のスコアインデックス生成方法において、
前記スコアインデックス記憶手段は、前記単語の識別情報に対応させて、前記画像の識別情報ごとにさらにキーワード出現数を記憶することができ、
前記コンピュータは、
前記スコア算出ステップにおいて、前記選出条件を満たす画像の識別情報ごとに、キーワードの出現数をカウントするとともに前記合計スコアの最小値を選択し、
前記スコア格納ステップにおいて、前記抽出した単語の識別情報に対応させて、前記選出条件を満たす画像の識別情報と、前記選択した合計スコアの最小値と、前記カウントしたキーワードの出現数とを前記スコアインデックス記憶手段に格納する
ことを特徴とするスコアインデックス生成方法。
【請求項3】
単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、
文字を含む画像の識別情報と、該画像内で文字を含む一定範囲を占める領域の識別情報とに対応させて、該領域中の文字ごとに、類似度が付与された文字候補群を、該領域中の文字の順序を保持して記憶している文字候補記憶手段と、
前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段と
を有するコンピュータが、
前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出ステップと、
連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす領域の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出ステップと、
前記選出条件を満たす領域に対応する画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納ステップと
を実行することを特徴とするスコアインデックス生成方法。
【請求項4】
請求項3に記載のスコアインデックス生成方法において、
前記コンピュータは、前記スコア格納ステップにおいて、前記画像の識別情報ごとに対応する合計スコアの中から最小値を1つ選択し、前記画像の識別情報の重複を排除し、前記画像の識別情報と該選択した最小値とを、前記単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納する
ことを特徴とするスコアインデックス生成方法。
【請求項5】
請求項4に記載のスコアインデックス生成方法において、
前記スコアインデックス記憶手段は、前記単語の識別情報に対応させて、前記画像の識別情報ごとにキーワード出現数をさらに記憶することができ、
前記コンピュータは、前記スコア格納ステップにおいて、前記画像の識別情報ごとに重複数を集計し、該重複数を前記キーワード出現数として前記画像の識別情報及び前記合計スコアとともに前記スコアインデックス記憶手段に格納する
ことを特徴とするスコアインデックス生成方法。
【請求項6】
請求項1〜5のいずれかに記載のスコアインデックス生成方法において、
前記文字候補記憶手段は、前記類似度が付与された文字候補群に代えて、類似度の順位が保持された文字候補群を記憶しており、
前記コンピュータは、前記スコア算出ステップにおいて、前記類似度の合計スコアに代えて、前記各文字候補群中における前記各構成文字の順位の合計スコアを算出する
ことを特徴とするスコアインデックス生成方法。
【請求項7】
請求項6に記載のスコアインデックス生成方法において、
前記文字候補群は、前記対応する文字との類似度が高い複数の文字候補が類似度の高い順に整列されている文字候補群である
ことを特徴とするスコアインデックス生成方法。
【請求項8】
請求項7に記載のスコアインデックス生成方法において、
前記文字候補群は、前記対応する文字との類似度が高い方から順に所定数の文字候補が類似度の高い順に整列されている文字列である
ことを特徴とするスコアインデックス生成方法。
【請求項9】
単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、
文字を含む画像の識別情報に対応させて、該画像中の文字ごとに、類似度が付与された文字候補群を、該画像中の文字の順序を保持して記憶している文字候補記憶手段と、
前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段と
を有するコンピュータに、
前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出ステップと、
連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす画像の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出ステップと、
前記選出条件を満たす画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納ステップと
を実行させるためのスコアインデックス生成プログラム。
【請求項10】
単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、
文字を含む画像の識別情報と、該画像内で文字を含む一定範囲を占める領域の識別情報とに対応させて、該領域中の文字ごとに、類似度が付与された文字候補群を、該領域中の文字の順序を保持して記憶している文字候補記憶手段と、
前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段と
を有するコンピュータに、
前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出ステップと、
連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす領域の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出ステップと、
前記選出条件を満たす領域に対応する画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納ステップと
を実行させるためのスコアインデックス生成プログラム。
【請求項11】
単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、
文字を含む画像の識別情報に対応させて、該画像中の文字ごとに、類似度が付与された文字候補群を、該画像中の文字の順序を保持して記憶している文字候補記憶手段と、
前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段と
を有し、
前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出手段と、
連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす画像の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出手段と、
前記選出条件を満たす画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納手段と
を備える
ことを特徴とするスコアインデックス生成システム。
【請求項12】
単語と該単語の識別情報とを対応させて記憶している単語情報記憶手段と、
文字を含む画像の識別情報と、該画像内で文字を含む一定範囲を占める領域の識別情報とに対応させて、該領域中の文字ごとに、類似度が付与された文字候補群を、該領域中の文字の順序を保持して記憶している文字候補記憶手段と、
前記単語の識別情報に対応させて、前記画像の識別情報ごとに合計スコアを記憶するスコアインデックス記憶手段と
を有し、
前記単語情報記憶手段より単語と該単語の識別情報とを抽出する単語情報抽出手段と、
連続する文字候補群中に前記抽出した単語の構成文字を1文字ずつ同順で含むことを選出条件として、前記文字候補記憶手段に記憶している該選出条件を満たす領域の識別情報ごとに、該各文字候補群中における該各構成文字の類似度の合計スコアを算出するスコア算出手段と、
前記選出条件を満たす領域に対応する画像の識別情報と前記算出した合計スコアとを、前記抽出した単語の識別情報に対応させて、前記スコアインデックス記憶手段に格納するスコア格納手段と
を備える
ことを特徴とするスコアインデックス生成システム。

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図1】
image rotate

【図2】
image rotate

【図9】
image rotate

【図13】
image rotate


【公開番号】特開2011−34232(P2011−34232A)
【公開日】平成23年2月17日(2011.2.17)
【国際特許分類】
【出願番号】特願2009−178323(P2009−178323)
【出願日】平成21年7月30日(2009.7.30)
【出願人】(399037405)楽天株式会社 (416)
【Fターム(参考)】