【文献】
山田 剛一、外2名,新聞記事における写真と言語表現の対応の学習,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1998年 3月12日,第97巻,第593号,p.65−70
【文献】
上田 高徳、佐藤 亘、鈴木 大地、打田 研二、森本 浩介、秋岡 明香、山名 早人,Producer−Consumer型モジュールで構成された並列分散Webクローラの開発,情報処理学会論文誌 データベース Vol.6 No.2,日本,一般社団法人情報処理学会,2013年 4月15日,p.85〜97
(58)【調査した分野】(Int.Cl.,DB名)
前記所在情報取得部は、外部装置からエンティティを受信した場合、受信した前記エンティティに関連付けられた画像データの所在情報を前記記憶部から取得し、取得した前記画像データの所在情報を前記外部装置に送信する
請求項2記載の情報処理装置。
前記エンティティ抽出部は、前記ページデータにおける前記画像データが埋め込まれた位置の周辺のテキストを前記テキストデータから取得し、取得した前記テキストから前記エンティティを抽出する
請求項1から3の何れか一項に記載の情報処理装置。
前記生成部は、前記エンティティ抽出部によって抽出された前記エンティティに、前記HTMLデータのタグに記載されている画像データの所在情報を関連付けることで、前記ナレッジデータを生成する
請求項5記載の情報処理装置。
前記生成部は、前記エンティティ抽出部によって抽出された前記エンティティが人名であり、前記特徴抽出部によって画像データから人の顔が一つだけ抽出された場合、前記エンティティに前記画像データの所在情報が関連付けられた前記ナレッジデータを生成する 請求項1記載の情報処理装置。
【発明を実施するための形態】
【0011】
以下、図面を参照して、情報処理装置、情報処理方法、およびプログラムの実施形態について説明する。本実施形態においては、情報処理装置の一例として、ナレッジデータサーバについて説明する。ナレッジデータサーバは、例えば、画像データおよびテキストデータを含むページデータを収集し、収集したデータに基づいてナレッジデータを生成するサーバである。ナレッジデータは、エンティティと、このエンティティに関連する画像データの所在情報とが関連付けられたデータである。エンティティとは、ウェブから収集した画像データに関連するワードを示すデータである。所在情報とは、例えば、ウェブ上の位置を特定するためのURL(Uniform Resource Locator)である。以下、実施形態について詳細に説明する。
【0012】
<1.第1の実施形態>
<1−1.ナレッジデータサーバの使用環境>
図1は、第1の実施形態に係るナレッジデータサーバ100の使用環境を示す図である。ナレッジデータサーバ100は、収集部110と、ナレッジデータ生成部120と、第1記憶部130と、第2記憶部140と、所在情報取得部150とを備える。
【0013】
収集部110、ナレッジデータ生成部120、および所在情報取得部150は、例えば、ナレッジデータサーバ100のプロセッサがプログラムを実行することで実現されてもよいし、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)などのハードウェアによって実現されてもよいし、ソフトウェアとハードウェアが協働することで実現されてもよい。
【0014】
第1記憶部130および第2記憶部140は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ、またはこれらのうち複数が組み合わされたハイブリッド型記憶装置などにより実現される。また、第1記憶部130および第2記憶部140の一部または全部は、NAS(Network Attached Storage)や外部のストレージサーバなど、ナレッジデータサーバ100がアクセス可能な外部装置であってもよい。
【0015】
収集部110は、画像データおよびHTML(HyperText Markup Language)データを含むページデータをウェブWから収集するクローラである。ここで、ページデータは、ウェブW上にあり、ブラウザで閲覧可能なページ単位のデータである。なお、ページデータは、ブラウザに限らず、アプリケーションプログラムによって再生されるデータであってもよい。ウェブWは、ワールドワイドウェブ(World Wide Web)を意味し、インターネットやイントラネットで標準的に用いられるHTML文書などを利用したシステムである。HTMLデータは、HTMLのソースを示すテキストデータである。
【0016】
収集部110は、収集したページデータに含まれるHTMLデータからリンク先のURL(所在情報)を取得し、取得したURLにアクセスして更にページデータを収集する。この処理を繰り返すことにより、収集部110は、ページデータを収集する対象のIPアドレスを広げることができる。収集部110は、収集したページデータをナレッジデータ生成部120に出力する。
【0017】
ナレッジデータ生成部120は、収集部110から入力されたページデータに含まれるHTMLデータから、ページデータに含まれる画像データに関連するエンティティを抽出する。エンティティとは、画像データに関連するワードを示す情報である。また、ナレッジデータ生成部120は、抽出したエンティティに画像データのURLが関連付けられたナレッジデータを生成し、生成したナレッジデータを第2記憶部140に記憶する。これによって、ナレッジデータ生成部120は、収集部110によって収集されたページデータを用いて、ナレッジデータを自動的に生成することができる。
【0018】
詳細は後述するが、ナレッジデータ生成部120は、抽出したエンティティに対応するカテゴリーデータを第1記憶部130から読み出し、読み出したカテゴリーデータに基づいて、ナレッジデータを生成するか否かを判定する。また、ナレッジデータ生成部120は、IPアドレスごとのエンティティの数に基づき、ページデータを収集するIPアドレスの優先順位を決定する。その後、ナレッジデータ生成部120は、決定した優先順位を示すフィードバックデータを収集部110に出力する。
【0019】
収集部110は、ナレッジデータ生成部120から入力されたフィードバックデータによって示される優先順位に従って、ウェブWからページデータを収集する。これによって、多くのエンティティが含まれるIPアドレスから優先的にページデータが収集されるため、エンティティを効率的に抽出することができる。
【0020】
一方、端末装置200とウェブサーバ300は、ネットワークを介して通信可能に接続されており、ナレッジデータサーバ100とウェブサーバ300は、ネットワークを介して通信可能に接続されている。端末装置200は、ユーザによって使用される装置であり、例えば、タブレット型コンピュータ、ノート型コンピュータ、デスクトップ型コンピュータ、またはスマートフォンである。ウェブサーバ300は、検索エンジンを用いて検索結果を表示するための検索結果ページ情報を生成するサーバである。
【0021】
ユーザは、端末装置200を用いて、端末装置200の表示部に表示された検索ページに検索クエリを入力する。検索クエリとは、一つの検索ワードまたは複数の検索ワードの組み合わせである。端末装置200は、ユーザによって入力された検索クエリをウェブサーバ300に送信する。
【0022】
ウェブサーバ300は、端末装置200から受信した検索クエリに基づいて、検索エンジンを用いて検索結果ページデータを生成する。このとき、ウェブサーバ300は、検索結果だけでなく、検索クエリに含まれるエンティティに関連する画像を検索結果ページデータに含める。
【0023】
<1−2.検索結果ページ>
図2は、第1の実施形態に係る端末装置200の表示部210に表示される検索結果ページの一例を示す図である。
図2に示されるように、表示部210には、検索クエリ入力領域211と、ナレッジパネル220と、検索結果230とが含まれる検索結果ページが表示される。ナレッジパネル220には、検索クエリに含まれるエンティティ221と、エンティティ221に関連する画像222と、エンティティ221に関連する情報223とが含まれる。
【0024】
図2に示される例においては、検索クエリとして「女優A」が入力され、ナレッジパネル220には「女優A」に関連する画像や様々な情報が表示されている。このように、検索結果230だけでなく、ナレッジパネル220を表示部210に表示することで、検索結果に対するユーザ満足度を向上させることができる。
【0025】
検索結果ページにナレッジパネル220を表示するため、ウェブサーバ300は、検索クエリに含まれるエンティティに関連する画像を取得する必要がある。このため、ウェブサーバ300は、検索クエリに含まれるエンティティを、ナレッジデータサーバ100に送信する。
【0026】
前述したように、ナレッジデータサーバ100の第2記憶部140には、エンティティに画像データのURLが関連付けられたナレッジデータが記憶されている。所在情報取得部150は、第2記憶部140に記憶されたナレッジデータを参照して、ウェブサーバ300から受信したエンティティに対応する画像データのURLを取得する。その後、所在情報取得部150は、取得した画像データのURLをウェブサーバ300に送信する。
【0027】
このように、所在情報取得部150は、ウェブサーバ300からエンティティを受信した場合、受信したエンティティに関連付けられた画像データのURLを第2記憶部140から取得し、取得した画像データのURLをウェブサーバ300に送信する。これによって、ウェブサーバ300は、検索クエリに含まれるエンティティに関連する画像のURLを取得することができる。
【0028】
ウェブサーバ300は、所在情報取得部150から受信した画像データのURLと、検索エンジンを用いて生成した検索結果とを用いて、検索結果ページデータを生成する。ウェブサーバ300は、生成した検索結果ページデータを端末装置200に送信する。端末装置200は、ウェブサーバ300から検索結果ページデータを受信すると、受信した検索結果ページデータを用いて検索結果ページ(
図2)を表示部210に表示する。
【0029】
<1−3.ナレッジデータ生成部の処理>
図3は、第1の実施形態に係るナレッジデータ生成部120の詳細な構成を示すブロック図である。以下、
図3を用いて、ナレッジデータ生成部120の具体的な処理について説明する。前述したように、画像データおよびHTMLデータを含むページデータが、ナレッジデータ生成部120に入力される。ナレッジデータ生成部120は、エンティティ抽出部121と、特徴抽出部122と、生成部123と、優先順位決定部124とを備える。
【0030】
エンティティ抽出部121は、ページデータに含まれるHTMLデータから、画像データに関連するエンティティを抽出する。例えば、エンティティ抽出部121は、ページデータにおける画像データが埋め込まれた位置の周辺のテキストをHTMLデータから取得し、取得したテキストからエンティティを抽出する。エンティティ抽出部121は、抽出したエンティティおよびHTMLデータを生成部123に出力する。
【0031】
なお、エンティティ抽出部121は、画像データが埋め込まれた位置の周辺のテキストからエンティティを抽出することとしたが、これに限られない。例えば、エンティティ抽出部121は、HTMLデータのタグに記載されているデータから、エンティティを抽出してもよい。
【0032】
具体的には、エンティティ抽出部121は、imgタグのalt属性に記載されているデータからエンティティを抽出してもよい。imgタグの一例を、以下に示す。
<img src=“actress-a.jpg” alt=“映画のヒロイン役に抜擢された女優A” />
この場合、エンティティ抽出部121は、ファイル名が“actress-a.jpg”の画像に関連するエンティティとして、alt属性に記載されているデータから「女優A」を抽出する。
【0033】
また、エンティティ抽出部121は、OGP(Open Graph Protocol)のメタタグに記載されているデータからエンティティを抽出してもよい。OGPのメタタグの一例を、以下に示す。
<meta property=“og:title” content=“映画のヒロイン役に抜擢された女優A” />
<meta property=“og:image” content=“actress-a.jpg” />
この場合、エンティティ抽出部121は、プロパティが“og:image”のメタタグに記載されているファイル名が“actress-a.jpg”の画像に関連するエンティティとして、プロパティが“og:title”のメタタグに記載されているデータから「女優A」を抽出する。
【0034】
特徴抽出部122は、ページデータに含まれる画像データから特徴を抽出する。そして、特徴抽出部122は、抽出した特徴を示す特徴データを生成部123に出力する。例えば、画像データに人物像が含まれる場合、特徴抽出部122は、Viola−Jones法などの顔検出アルゴリズムを用いて、画像データから人の顔を抽出する。そして、特徴抽出部122は、人の顔を抽出したことを示すデータや、抽出した顔の数を示すデータを、特徴データとして生成部123に出力する。
【0035】
図4は、第1の実施形態に係るカテゴリーデータD1の一例を示す図である。カテゴリーデータD1は、第1記憶部130に記憶されている。
図4に示されるように、カテゴリーデータD1は、エンティティとカテゴリーとが関連付けられたデータである。例えば、エンティティ1が人物名である場合、エンティティ1は「人物」のカテゴリーに関連付けられる。エンティティ2が映画のタイトルである場合、エンティティ2は「映画」のカテゴリーに関連付けられる。エンティティnがドラマのタイトルである場合、エンティティnは「ドラマ」のカテゴリーに関連付けられる。なお、カテゴリーデータD1は、エンティティの種類に関連するカテゴリーに限らず、生成部123によって使用されるエンティティに関連する情報を含んでもよい。
【0036】
生成部123は、第1記憶部130に記憶されたカテゴリーデータD1を参照し、エンティティ抽出部121によって抽出されたエンティティに関連付けられたカテゴリーを取得する。また、生成部123は、画像データのURLをHTMLデータのタグ(imgタグまたはメタタグ)から取得する。
【0037】
第1記憶部130から取得されたカテゴリーに関連する特徴が特徴抽出部122によって抽出された場合、生成部123は、エンティティ抽出部121によって抽出されたエンティティに画像データのURLを関連付けることで、ナレッジデータD2を生成する。生成部123は、生成したナレッジデータD2を第2記憶部140に記憶する。
【0038】
図5は、第1の実施形態に係るナレッジデータD2の一例を示す図である。
図5に示されるように、ナレッジデータD2は、エンティティと画像データのURLとが関連付けられたデータである。ナレッジデータD2において、1つのエンティティに複数の画像データのURLが関連付けられていてもよく、1つの画像データのURLに複数のエンティティが関連付けられていてもよい。生成部123は、ナレッジデータD2を生成する度に、生成したナレッジデータD2を第2記憶部に蓄積していく。
【0039】
例えば、エンティティ抽出部121によって抽出されたエンティティが人名であり、特徴抽出部122によって画像データから人の顔が一つだけ抽出された場合、生成部123は、特徴抽出部122によってエンティティに関連する特徴が抽出されたと判断する。この場合、生成部123は、エンティティ抽出部121によって抽出されたエンティティに、HTMLデータのタグ(imgタグまたはメタタグ)に記載されている画像データのURLを関連付けることで、ナレッジデータD2を生成する。
【0040】
なお、生成部123は、エンティティと、画像データのURLとを関連付けることによって、ナレッジデータD2を生成することとしたが、これに限られない。例えば、ナレッジデータ生成部120は、収集部110によって収集されたページデータに含まれる画像データを、第2記憶部140に記憶してもよい。この場合、生成部123は、エンティティと、第2記憶部140における画像データのアドレスとを関連付けることによって、ナレッジデータD2を生成してもよい。
【0041】
図6は、第1の実施形態に係るエンティティEに関連付けられる画像の候補の一例を示す図である。
図6に示されるように、画像IMG1は女優Aの画像であり、画像IMG2は女優Aおよび他の女性の画像であり、画像IMG3は女優Aの所有する車の画像である。このように、HTMLデータに含まれるテキストによっては、様々な種類の画像がエンティティEに関連付けられる候補の画像として取得される。
【0042】
図6に示される例において、エンティティEは人名であるため、生成部123は、特徴抽出部122によって人の顔が一つだけ抽出された画像を、エンティティEに関連付ける。具体的には、生成部123は、画像IMG1のURLをエンティティEに関連付ける。また、IMG2からは人の顔が2つ検出されるため、生成部123は、画像IMG2のURLをエンティティEに関連付けない。また、IMG3からは人の顔が検出されないため、生成部123は、画像IMG3のURLをエンティティEに関連付けない。
【0043】
図7は、第1の実施形態に係るエンティティEに関連付けられた画像の一例を示す図である。
図7に示されるように、エンティティEには、複数の画像IMG4からIMG6が関連付けられている。この場合、検索結果ページのナレッジパネル220(
図2参照)に、どの画像を優先に表示するのかを決定する必要がある。
【0044】
このため、生成部123は、画像の解像度、種類、アスペクト比、ユーザによってクリックされた回数、またはこれらの組み合わせなどに基づいて、複数の画像IMG4からIMG6をランク付けしてもよい。また、最も高いランクが付与された画像を、検索結果ページのナレッジパネル220(
図2参照)に表示してもよい。
【0045】
一方、生成部123は、エンティティ抽出部121によって抽出されたエンティティの数を、画像データのIPアドレスごとに算出する。生成部123は、算出したIPアドレスごとのエンティティの数を、優先順位決定部124に出力する。優先順位決定部124は、生成部123から入力されたIPアドレスごとのエンティティの数に基づいて、収集部110がデータを収集するIPアドレスの優先順位を決定する。
【0046】
例えば、優先順位決定部124は、エンティティ抽出部121によって抽出されたエンティティの数が多いIPアドレスほど、優先順位を高くする。優先順位決定部124は、決定した優先順位を示すフィードバックデータを、収集部110に出力する。
【0047】
収集部110は、優先順位決定部124から入力されたフィードバックデータによって示される優先順位に従って、ウェブWからページデータを収集する。具体的には、収集部110は、優先順位の高いIPアドレスから順に、ページデータを収集する。これによって、多くのエンティティが含まれるIPアドレスから優先的にページデータが収集されるため、エンティティを効率的に抽出することができる。
【0048】
<1−4.ナレッジデータ生成処理のフローチャート>
図8は、第1の実施形態に係るナレッジデータ生成処理を示すフローチャートである。本フローチャートによる処理は、ナレッジデータサーバ100によって実行される。
【0049】
まず、収集部110は、ウェブWからページデータを収集する(S10)。ページデータには、HTMLデータおよび画像データが含まれる。エンティティ抽出部121は、収集部110によって収集されたページデータに含まれるHTMLデータから、画像データに関連するエンティティを抽出する(S11)。
【0050】
特徴抽出部122は、画像データから特徴(例えば、人の顔)を抽出する(S12)。生成部123は、エンティティ抽出部121によって抽出されたエンティティに対応する特徴が抽出されたか否かを判定する(S13)。生成部123は、エンティティ抽出部121によって抽出されたエンティティに対応する特徴が抽出されていないと判定した場合、後述するS15に処理を進める。
【0051】
一方、生成部123は、エンティティ抽出部121によって抽出されたエンティティに対応する特徴が抽出されたと判定した場合、エンティティ抽出部121によって抽出されたエンティティに画像データのURLが関連付けられたナレッジデータを生成する(S14)。
【0052】
その後、生成部123は、収集部110によってページデータが収集された全IPアドレスに対してナレッジデータの生成が完了したか否かを判定する(S15)。生成部123は、全IPアドレスに対してナレッジデータの生成が完了していないと判定した場合、前述のS11に処理を戻す。
【0053】
一方、生成部123は、全IPアドレスに対してナレッジデータの生成が完了したと判定した場合、エンティティ抽出部121によって抽出されたエンティティの数を、画像データのIPアドレスごとに算出する。その後、優先順位決定部124は、生成部123によって算出されたIPアドレスごとのエンティティの数に基づき、収集部110がデータを収集するIPアドレスの優先順位を決定し(S16)、本フローチャートによる処理を終了する。
【0054】
以上説明したように、収集部110は、画像データおよびHTMLデータを含むページデータを収集する。エンティティ抽出部121は、ページデータに含まれるHTMLデータから、ページデータに含まれる画像データに関連するエンティティを抽出する。特徴抽出部122は、ページデータに含まれる画像データから、データ収集対象となり得る所定の特徴を抽出する。特徴抽出部122によって所定の特徴が抽出された場合、生成部123は、エンティティに画像データのURLが関連付けられたナレッジデータD2を生成する。これによって、ウェブから収集した画像と、この画像に関連するエンティティとを関連付けたデータベースを自動的に生成することができる。
【0055】
また、生成部123は、特徴抽出部122によって抽出された特徴(例えば、人の顔)に基づいてナレッジデータD2を生成するため、特徴抽出部122が画像データから特徴を抽出しない場合よりも、高精度にナレッジデータD2を生成することができる。
【0056】
また、優先順位決定部124は、エンティティ抽出部121によって抽出された、画像データの属するIPアドレスごとのエンティティの数に基づいて、収集部110がデータを収集するIPアドレスの優先順位を決定する。これによって、多くのエンティティが含まれるIPアドレスから優先的にページデータが収集されるため、エンティティを効率的に抽出することができる。
【0057】
なお、優先順位決定部124は、画像データの属するIPアドレスごとのエンティティの数のみに基づいてIPアドレスの優先順位を決定することとしたが、これに限られない。例えば、優先順位決定部124は、画像データに関連するエンティティの数に加えて、ページの信頼性を考慮して優先順位を決定してもよい。
【0058】
<2.第2の実施形態>
<2−1.ナレッジデータサーバの使用環境>
第1の実施形態においては、特徴抽出部122は、収集部110から入力された画像データに対して画像処理(例えば、Viola−Jones法などの顔検出処理)を行うことにより、特徴を抽出することとした。これに対し、第2の実施形態において、特徴抽出部122は、収集部110から入力された画像データを特徴量表現に変換することとする。本実施形態においては、特徴量表現の一例としてベクトルデータを使用する。画像データから変換された特徴量表現を用いることで、例えば、人名のエンティティに、同姓同名の他人の画像が関連付けられることを防止することができる。以下、第2の実施形態について詳細に説明する。
【0059】
図9は、第2の実施形態に係るエンティティEに関連付けられる画像の候補の一例を示す図である。
図9に示されるように、画像IMG7は女優Aの画像であり、画像IMG8も女優Aの画像であり、画像IMG9は女優Aと同姓同名のBさんの画像である。このように、女優Aとは異なるBさんの画像が、女優Aを示すエンティティEに関連付けられる候補の画像として取得される場合がある。このため、Bさんの画像IMG9を、女優Aを示すエンティティEに関連付けないようにする必要がある。
【0060】
そこで、特徴抽出部122は、収集部110から入力された画像データを、Auto−Encoder等の変換器を用いて多次元のベクトルデータ(特徴量表現)に変換する。特徴抽出部122は、変換したベクトルデータを生成部123に出力する。
【0061】
図10は、第2の実施形態に係るベクトルデータの分布の一例を示す図である。ここでは、説明を容易にするために、各画像データが2次元のベクトルデータ(x,y)に変換された例について説明する。
図10において、横軸はベクトルデータのxの値を示し、縦軸はベクトルデータのyの値を示す。
【0062】
生成部123は、特徴抽出部122から入力されたベクトルデータを、複数のクラスタC1またはC2に分類する。
図10に示される例においては、クラスタC1に分類されたベクトルデータの方が、クラスタC2に分類されたベクトルデータよりも多い。女優Aの方がBさんよりも有名であるため、ウェブW上の画像の数は、女優Aの方がBさんよりも多いと考えられる。このため、クラスタC1に属するベクトルデータが、女優Aの画像データに対応するベクトルデータであると考えられる。
【0063】
このため、生成部123は、最もデータ数の多いクラスタC1に属するベクトルデータに対応する画像データのURLをエンティティEに関連付けることで、ナレッジデータD2を生成する。一方、生成部123は、クラスタC2に属するベクトルデータに対応する画像データのURLを、エンティティEに関連付けない。
【0064】
以上説明したように、特徴抽出部122は、ページデータに含まれる画像データをベクトルデータに変換する。生成部123は、特徴抽出部122によって変換されたベクトルデータを複数のクラスタC1またはC2に分類する。生成部123は、最もデータ数の多いクラスタに属するベクトルデータに対応する画像データのURLをエンティティEに関連付けることで、ナレッジデータD2を生成する。これによって、エンティティEに対して強い関連性のある画像データのURLを、画像データに関連付けることができる。例えば、本実施形態によれば、人名のエンティティに、同姓同名の他人の画像が関連付けられることを防止することができる。
【0065】
また、生成部123は、特徴抽出部122によって生成された特徴量表現(ベクトルデータ)に基づいてナレッジデータD2を生成するため、特徴抽出部122が特徴量表現(ベクトルデータ)を生成しない場合よりも、高精度にナレッジデータD2を生成することができる。
【0066】
なお、生成部123は、最もデータ数の多いクラスタC1に属するベクトルデータに対応する画像データのURLをエンティティEに関連付けることとしたが、これに限られない。例えば、生成部123は、各クラスタに属するベクトルデータごとにHTMLデータに含まれるワードを抽出し、抽出したワードに基づいて画像データのURLをエンティティEに関連付けるか否かを判別してもよい。例えば、クラスタC1に属するベクトルデータに対応するHMTLデータから「女優」や「映画」などのワードが多く抽出された場合、生成部123は、クラスタC1に属するベクトルデータが、女優Aの画像データに対応するベクトルデータであると判定し、クラスタC1に属するベクトルデータに対応する画像データのURLをエンティティEに関連付けてもよい。
【0067】
また、本実施形態において、特徴抽出部122は、画像データをベクトルデータに変換することとしたが、他の特徴量表現に変換してもよい。
【0068】
<3.ハードウェア構成>
図11は、実施形態に係るナレッジデータサーバ100のハードウェア構成の一例を示す図である。ナレッジデータサーバ100は、例えば、CPU160、RAM161、ROM162、フラッシュメモリやHDDなどの二次記憶装置163、NIC(Network Interface Card)164、ドライブ装置165、キーボード166、およびマウス167が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置165には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置163、またはドライブ装置165に装着された可搬型記憶媒体に記憶されたプログラムがDMA(Direct Memory Access)コントローラ(不図示)などによってRAM161に展開され、CPU160によって実行されることで、ナレッジデータサーバ100の機能部が実現される。
【0069】
以上説明したように、実施形態のナレッジデータサーバ100は、収集部110と、エンティティ抽出部121と、特徴抽出部122と、生成部123とを備える。収集部110は、画像データおよびHTMLデータを含むページデータを収集する。エンティティ抽出部121は、ページデータに含まれるHTMLデータから、ページデータに含まれる画像データに関連するエンティティを抽出する。特徴抽出部122は、ページデータに含まれる画像データから、データ収集対象となり得る所定の特徴を抽出する。特徴抽出部122によって所定の特徴が抽出された場合、生成部123は、エンティティに画像データのURLが関連付けられたナレッジデータD2を生成する。これによって、ウェブから収集した画像と、この画像に関連するエンティティとを関連付けたデータベースを自動的に生成することができる。
【0070】
また、実施形態のナレッジデータサーバ100は、優先順位決定部124を更に備える。優先順位決定部124は、エンティティ抽出部121によって抽出された、画像データの属するIPアドレスごとのエンティティの数に基づいて、収集部110がデータを収集するIPアドレスの優先順位を決定する。これによって、多くのエンティティが含まれるIPアドレスから優先的にページデータが収集されるため、エンティティを効率的に抽出することができる。
【0071】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。