(57)【特許請求の範囲】
【請求項１】
第１のデータベースの何れかの文字列データのフィールドが選択されると、第２のデータベースの文字列データの各フィールドと、前記選択されたフィールドとの、データの類似度を算出し、類似度が最も高いと判定した前記第２のデータベースのフィールドを選択するフィールド選択部と、
前記第１のデータベースの前記選択されたフィールドの各文字列データと、前記第２のデータベースの前記選択されたフィールドの各文字列データとの最長共通部分列を求め、前記第１のデータベースの前記選択されたフィールドの各文字列データ、または、前記第２のデータベースの前記選択されたフィールドの各文字列データのいずれかと、前記最長共通部分列との近似文字列照合における編集距離に基づいて、前記第１のデータベースの前記選択されたフィールドの各データと、前記第２のデータベースの前記選択されたフィールドの各データとの類否判定を行い、類似すると判定したデータを含む前記第１のデータベースのレコードと前記第２のデータベースのレコードとを対応付ける対応関係取得部と、
前記第１のデータベースに格納された情報と、当該情報を含むレコードに対応付けられた前記第２のデータベースのレコードから得られるキーワードとを対応付けるキーワード付与部と、
を具備することを特徴とするキーワード付与装置。
【請求項２】
クライアント装置に提供されるデータであるコンテンツを格納するコンテンツデータベースと、
前記コンテンツデータベースにおける前記コンテンツの検索キーであるコンテンツ検索キーを格納する第１のデータベースと、
第２のデータベースと、
検索キーデータベースと、
キーワード付与装置と、
コンテンツ検索装置と、
を具備するコンテンツ提供システムであって、
前記キーワード付与装置は、
前記第１のデータベースの何れかのフィールドが選択されると、前記第２のデータベースの各フィールドと、前記選択されたフィールドとの、データの類似度を算出し、類似度が最も高いと判定した前記第２のデータベースのフィールドを選択するフィールド選択部と、
前記第１のデータベースの前記選択されたフィールドの各データと、前記第２のデータベースの前記選択されたフィールドの各データとの類否判定を行い、類似すると判定したデータを含む前記第１のデータベースのレコードと前記第２のデータベースのレコードとを対応付ける対応関係取得部と、
前記第１のデータベースに格納された前記コンテンツ検索キーと、当該コンテンツ検索キーを含むレコードに対応付けられた前記第２のデータベースのレコードから得られるキーワードとを対応付けるキーワード付与部と、
前記キーワード付与部による対応付けを示す情報を、前記検索キーデータベースに書き込む対応情報書込部と、
を具備し、
前記コンテンツ検索装置は、
前記コンテンツデータベースに格納されたコンテンツを検索するための検索語が前記クライアント装置から送信されると、前記検索語に基づいて前記検索キーデータベースを検索してコンテンツ検索キーを取得するコンテンツ検索キー取得部と、
前記コンテンツ検索キー取得部の取得する前記コンテンツ検索キーに基づいて前記コンテンツデータベースを検索してコンテンツを取得するコンテンツ取得部と、
前記コンテンツ取得部の取得する前記コンテンツを前記クライアント装置に送信する通信部と、
を具備することを特徴とするコンテンツ提供システム。
【請求項３】
キーワード付与装置のキーワード付与方法であって、
第１のデータベースの何れかの文字列データのフィールドが選択されると、第２のデータベースの文字列データの各フィールドと、前記選択されたフィールドとの、データの類似度を算出し、類似度が最も高いと判定した前記第２のデータベースのフィールドを選択するフィールド選択ステップと、
前記第１のデータベースの前記選択されたフィールドの各文字列データと、前記第２のデータベースの前記選択されたフィールドの各文字列データとの最長共通部分列を求め、前記第１のデータベースの前記選択されたフィールドの各文字列データ、または、前記第２のデータベースの前記選択されたフィールドの各文字列データのいずれかと、前記最長共通部分列との近似文字列照合における編集距離に基づいて、前記第１のデータベースの前記選択されたフィールドの各データと、前記第２のデータベースの前記選択されたフィールドの各データとの類否判定を行い、類似すると判定したデータを含む前記第１のデータベースのレコードと前記第２のデータベースのレコードとを対応付ける対応関係取得ステップと、
前記第１のデータベースに格納された情報と、当該情報を含むレコードに対応付けられた前記第２のデータベースのレコードから得られるキーワードとを対応付けるキーワード付与ステップと、
を具備することを特徴とするキーワード付与方法。
【請求項４】
コンピュータに、
第１のデータベースの何れかの文字列データのフィールドが選択されると、第２のデータベースの文字列データの各フィールドと、前記選択されたフィールドとの、データの類似度を算出し、類似度が最も高いと判定した前記第２のデータベースのフィールドを選択するフィールド選択ステップと、
前記第１のデータベースの前記選択されたフィールドの各文字列データと、前記第２のデータベースの前記選択されたフィールドの各文字列データとの最長共通部分列を求め、前記第１のデータベースの前記選択されたフィールドの各文字列データ、または、前記第２のデータベースの前記選択されたフィールドの各文字列データのいずれかと、前記最長共通部分列との近似文字列照合における編集距離に基づいて、前記第１のデータベースの前記選択されたフィールドの各データと、前記第２のデータベースの前記選択されたフィールドの各データとの類否判定を行い、類似すると判定したデータを含む前記第１のデータベースのレコードと前記第２のデータベースのレコードとを対応付ける対応関係取得ステップと、
前記第１のデータベースに格納された情報と、当該情報を含むレコードに対応付けられた前記第２のデータベースのレコードから得られるキーワードとを対応付けるキーワード付与ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント装置に提供されるデータを検索するためのキーワードを付与するキーワード付与装置、当該キーワード付与装置を具備するコンテンツ提供システム、当該キーワード付与装置のキーワード付与方法およびプログラムに関する。
【背景技術】
【０００２】
クライアント装置から送信されるキーワードに対応付けられたデータを返信する様々なシステムが提案されている。例えば、特許文献１に記載の広告情報検索システムでは、キーワードと関連付けられた広告情報を蓄えるマスターサーバーシステムが、ユーザ端末からのキーワードに応じた広告情報に対して順位付けを行い、順位付けされた広告情報を検索ユーザに対して表示（送信）する。これにより、検索ユーザにとっては広告情報の選択を容易にし、商品等に自信がある広告情報提供者には、効果的な集客を図ることができるとされている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−３８３７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
キーワードに対応付けられたデータを返信するための準備作業である、キーワードとデータとの対応付け作業は、キーワードや返信用データをシステムに入力するデータ入力作業者にとって負担となる。また、当該対応付け作業において入力ミスや表記ゆれが生じ、適切なキーワードの対応付けが行われないおそれがある。
【０００５】
例えば、特許文献１に記載の広告情報検索システムでは、参加店舗が、プロモーション情報やキーワードプログラム情報等を入力するか、あるいは、参加店舗からの申請書類に基づきサービス提供者が代行するとされており、参加店舗の従業員またはサービス提供者が行う情報入力作業に、キーワードとデータとの対応付け作業が含まれると考えられる。かかる対応付け作業は、データ入力作業者である参加店舗の従業員またはサービス提供者の負担となる。また、当該対応付け作業において、行われるべき対応付けが行われない入力ミス、あるいは逆に、行われるべきでない対応付けが行われる入力ミスの生じるおそれがあり、当該入力ミスが生じると検索精度が低下してしまう。
【０００６】
また、例えば、入力すべきキーワード「オレンジジュース」に対して、データ入力作業者が「オレンヂジュース」と入力するような表記ゆれが生じた場合も、本来対応付けられるべきキーワードと異なるキーワードが対応付けられることになり、検索精度の低下につながる。しかも、かかる表記ゆれは、明らかな誤記の場合と比較して、入力データのチェック作業において発見できないおそれが高い。
【０００７】
特に、データベースの規模が大きい場合、作業対象のデータの数が膨大となるため、データ入力作業者の負担が重くなり、また、作業量が増大するにつれて、入力ミスや表記ゆれの生じるおそれが高くなってしまう。
【０００８】
本発明は、このような事情を考慮してなされたものであり、その目的は、データ入力作業者の負担を軽減し、かつ、キーワードとデータとの対応付けを行うことのできるキーワード付与装置、コンテンツ提供システム、キーワード付与方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
この発明は上述した課題を解決するためになされたもので、本発明の一態様によるキーワード付与装置は、第１のデータベースの何れかの文字列データのフィールドが選択されると、第２のデータベースの文字列データの各フィールドと、前記選択されたフィールドとの、データの類似度を算出し、類似度が最も高いと判定した前記第２のデータベースのフィールドを選択するフィールド選択部と、前記第１のデータベースの前記選択されたフィールドの各文字列データと、前記第２のデータベースの前記選択されたフィールドの各文字列データとの最長共通部分列を求め、前記第１のデータベースの前記選択されたフィールドの各文字列データ、または、前記第２のデータベースの前記選択されたフィールドの各文字列データのいずれかと、前記最長共通部分列との近似文字列照合における編集距離に基づいて、前記第１のデータベースの前記選択されたフィールドの各データと、前記第２のデータベースの前記選択されたフィールドの各データとの類否判定を行い、類似すると判定したデータを含む前記第１のデータベースのレコードと前記第２のデータベースのレコードとを対応付ける対応関係取得部と、前記第１のデータベースに格納された情報と、当該情報を含むレコードに対応付けられた前記第２のデータベースのレコードから得られるキーワードとを対応付けるキーワード付与部と、を具備することを特徴とする。
【００１１】
また、本発明の一態様によるコンテンツ提供システムは、クライアント装置に提供されるデータであるコンテンツを格納するコンテンツデータベースと、前記コンテンツデータベースにおける前記コンテンツの検索キーであるコンテンツ検索キーを格納する第１のデータベースと、第２のデータベースと、検索キーデータベースと、キーワード付与装置と、コンテンツ検索装置と、を具備するコンテンツ提供システムであって、前記キーワード付与装置は、前記第１のデータベースの何れかのフィールドが選択されると、前記第２のデータベースの各フィールドと、前記選択されたフィールドとの、データの類似度を算出し、類似度が最も高いと判定した前記第２のデータベースのフィールドを選択するフィールド選択部と、前記第１のデータベースの前記選択されたフィールドの各データと、前記第２のデータベースの前記選択されたフィールドの各データとの類否判定を行い、類似すると判定したデータを含む前記第１のデータベースのレコードと前記第２のデータベースのレコードとを対応付ける対応関係取得部と、前記第１のデータベースに格納された前記コンテンツ検索キーと、当該コンテンツ検索キーを含むレコードに対応付けられた前記第２のデータベースのレコードから得られるキーワードとを対応付けるキーワード付与部と、前記キーワード付与部による対応付けを示す情報を、前記検索キーデータベースに書き込む対応情報書込部と、を具備し、前記コンテンツ検索装置は、前記コンテンツデータベースに格納されたコンテンツを検索するための検索語が前記クライアント装置から送信されると、前記検索語に基づいて前記検索キーデータベースを検索してコンテンツ検索キーを取得するコンテンツ検索キー取得部と、前記コンテンツ検索キー取得部の取得する前記コンテンツ検索キーに基づいて前記コンテンツデータベースを検索してコンテンツを取得するコンテンツ取得部と、前記コンテンツ取得部の取得する前記コンテンツを前記クライアント装置に送信する通信部と、を具備することを特徴とする。
【００１２】
また、本発明の一態様によるキーワード付与方法は、キーワード付与装置のキーワード付与方法であって、第１のデータベースの何れかの文字列データのフィールドが選択されると、第２のデータベースの文字列データの各フィールドと、前記選択されたフィールドとの、データの類似度を算出し、類似度が最も高いと判定した前記第２のデータベースのフィールドを選択するフィールド選択ステップと、前記第１のデータベースの前記選択されたフィールドの各文字列データと、前記第２のデータベースの前記選択されたフィールドの各文字列データとの最長共通部分列を求め、前記第１のデータベースの前記選択されたフィールドの各文字列データ、または、前記第２のデータベースの前記選択されたフィールドの各文字列データのいずれかと、前記最長共通部分列との近似文字列照合における編集距離に基づいて、前記第１のデータベースの前記選択されたフィールドの各データと、前記第２のデータベースの前記選択されたフィールドの各データとの類否判定を行い、類似すると判定したデータを含む前記第１のデータベースのレコードと前記第２のデータベースのレコードとを対応付ける対応関係取得ステップと、前記第１のデータベースに格納された情報と、当該情報を含むレコードに対応付けられた前記第２のデータベースのレコードから得られるキーワードとを対応付けるキーワード付与ステップと、を具備することを特徴とする。
【００１３】
また、本発明の一態様によるプログラムは、コンピュータに、第１のデータベースの何れかの文字列データのフィールドが選択されると、第２のデータベースの文字列データの各フィールドと、前記選択されたフィールドとの、データの類似度を算出し、類似度が最も高いと判定した前記第２のデータベースのフィールドを選択するフィールド選択ステップと、前記第１のデータベースの前記選択されたフィールドの各文字列データと、前記第２のデータベースの前記選択されたフィールドの各文字列データとの最長共通部分列を求め、前記第１のデータベースの前記選択されたフィールドの各文字列データ、または、前記第２のデータベースの前記選択されたフィールドの各文字列データのいずれかと、前記最長共通部分列との近似文字列照合における編集距離に基づいて、前記第１のデータベースの前記選択されたフィールドの各データと、前記第２のデータベースの前記選択されたフィールドの各データとの類否判定を行い、類似すると判定したデータを含む前記第１のデータベースのレコードと前記第２のデータベースのレコードとを対応付ける対応関係取得ステップと、前記第１のデータベースに格納された情報と、当該情報を含むレコードに対応付けられた前記第２のデータベースのレコードから得られるキーワードとを対応付けるキーワード付与ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１４】
この発明によれば、データ入力作業者の負担を軽減し、かつ、キーワードとデータとの対応付けを行うことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態における広告用コンテンツ提供システムの概略構成を示す構成図である。
【図２】同実施形態において、広告情報マスタデータベースが格納しているデータの例を示す説明図である。
【図３】同実施形態において、製品情報マスタデータベースが格納しているデータの例を示す説明図である。
【図４】同実施形態において、広告情報フィールドデータベースが格納しているデータの例を示す説明図である。
【図５】同実施形態において、製品情報フィールドデータベースが格納しているデータの例を示す説明図である。
【図６】同実施形態において、基本データベースが格納しているデータの例を示す説明図である。
【図７】同実施形態において、基本データベースが格納しているデータの、もう１つの例を示す説明図である。
【図８】同実施形態において、キーワードデータベースが格納しているデータの例を示す説明図である。
【図９】同実施形態において、フィールド選択部によって選択される、広告情報マスタデータベースのフィールドの例を示す説明図である。
【図１０】同実施形態における、フィールド選択部による類否判定の例を示す説明図である。
【図１１】同実施形態において、フィールド選択部によって選択される、製品情報マスタデータベースのフィールドの例を示す説明図である。
【図１２】同実施形態において、対応関係取得部が生成する最長共通文字列の例を示す説明図である。
【図１３】同実施形態において、キーワード付与装置が広告用コンテンツの検索キーにキーワードを付与する処理手順の概略を示すフローチャートである。
【図１４】同実施形態において、フィールド選択部が、広告情報マスタデータベースのフィールドおよび製品情報マスタデータベースのフィールドを選択する処理手順を示すフローチャートである。
【図１５】同実施形態において、対応関係取得部が、広告情報フィールドデータベースのデータおよび製品情報フィールドデータベースのデータを生成する処理手順を示すフローチャートである。
【図１６】同実施形態において、対応関係取得部が、広告情報マスタデータベースのレコードと製品情報マスタデータベースのレコードとの対応付けを行う処理手順を示すフローチャートである。
【図１７】同実施形態において、キーワード付与部が、広告情報マスタデータベースの検索キーと、製品情報マスタデータベースの検索キーと、素材ファイルデータベースの検索キーとに、キーワードを対応付ける処理手順を示すフローチャートである。
【図１８】同実施形態において、コンテンツ検索装置が広告用コンテンツを提供する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の一実施形態について説明する。
図１は、本発明の一実施形態における広告用コンテンツ提供システムの概略構成を示す構成図である。同図において、広告用コンテンツ提供システム１は、コンテンツ検索装置１０と、キーワード（Keyword；ＫＷ）付与装置２０と、広告情報マスタデータベース（Database；ＤＢ）３１と、製品情報マスタデータベース３２と、素材ファイルデータベース３３と、広告情報フィールドデータベース３４と、製品情報フィールドデータベース３５と、基本データベース３６と、キーワードデータベース３７とを具備する。コンテンツ検索装置１０は、通信部１０１と、コンテンツ検索キー取得部１０２と、コンテンツ取得部１０３とを具備する。キーワード付与装置２０は、フィールド選択部２０１と、対応関係取得部２０２と、キーワード付与部２０３とを具備する。また、コンテンツ検索装置１０は、クライアント装置９に接続されている。
【００１７】
広告用コンテンツ提供システム１は、コンテンツ提供システムの一例であり、クライアント装置９からキーワードが送信されると、当該キーワードに関連する広告を生成するための素材となる広告用コンテンツを返信する。なお、ここでいう「コンテンツ」は、動画像、静止画像、テキスト、音声あるいはこれらの組み合わせである。
クライアント装置９は、広告用コンテンツ提供システム１（コンテンツ検索装置１０）にキーワードを送信し、広告用コンテンツを取得する。例えば、クライアント装置９は、ウェブページ検索サービスを提供するウェブサーバ装置であり、キーワードを含む検索リクエストを受信すると、検索結果のウェブページ情報と、キーワードに関連する広告とを含むレスポンスを返信する。その際、クライアント装置９は、受信したキーワードを広告用コンテンツ提供システム１に送信（転送）し、広告用コンテンツ提供システム１から返信される広告用コンテンツを用いて広告を生成し、レスポンスに含める。
【００１８】
コンテンツ検索装置１０は、クライアント装置９から送信されるキーワードを受信すると、当該キーワードに基づいて広告情報マスタデータベース３１、製品情報マスタデータベース３２または素材ファイルデータベース３３から広告用コンテンツを取得し、当該広告用コンテンツをクライアント装置９に返信する。
通信部１０１は、クライアント装置９との間で通信を行って、各種データを送受信する。特に、通信部１０１は、クライアント装置９から送信されるキーワードを受信してコンテンツ検索キー取得部１０２に出力し、また、コンテンツ取得部１０３から出力される広告用コンテンツをクライアント装置９に送信する。
【００１９】
コンテンツ検索キー取得部１０２は、クライアント装置９からキーワード（検索語）が送信されると、当該キーワードに基づいてキーワードデータベース３７を検索して、広告情報マスタデータベース３１、製品情報マスタデータベース３２または素材ファイルデータベース３３の検索キーを取得し、当該検索キーをコンテンツ取得部１０３に出力する。
なお、ここでいう「検索キー」は、データベースのレコードを一意に特定する識別子である。この検索キーは、コンテンツ検索装置１０が広告情報マスタデータベース３１、製品情報マスタデータベース３２または素材ファイルデータベース３３を検索して広告用コンテンツを取得する際に、当該広告用コンテンツを格納するレコードを特定するために用いられる。
なお、ここでいう「レコード」は、データベースにおける行である。また、以下では、レコードに含まれる項目を「フィールド」と称する。フィールドは、データベースにおける列を構成する。
【００２０】
また、以下では、特に区別する必要のある場合を除き、検索可能に構成されたデータと、当該データに対する処理を提供する手段とのいずれも「データベース」と称する。なお、データ処理提供手段としてのデータベースは、データベースサーバなどデータベース専用のハードウェアを用いて実現されていてもよい。あるいは、コンテンツ検索装置１０の具備するメモリがデータを格納し、コンテンツ検索装置１０の具備するＣＰＵ（Central Processing Unit、中央処理装置）が所定のプログラムを読み込み実行することによってデータに対する各種処理を行うなど、データベース専用のハードウェア以外のハードウェアを用いて実現されていてもよい。
【００２１】
コンテンツ取得部１０３は、コンテンツ検索キー取得部１０２の取得する検索キーに基づいて、広告情報マスタデータベース３１、製品情報マスタデータベース３２または素材ファイルデータベース３３を検索して広告用コンテンツを取得し、当該広告用コンテンツを通信部１０１に出力する。
【００２２】
キーワード付与装置２０は、広告用コンテンツを格納する広告情報マスタデータベース３１、製品情報マスタデータベース３２および素材ファイルデータベース３３の検索キーを、キーワードに対応付けてキーワードデータベース３７に格納する。より具体的には、キーワード付与装置２０は、広告情報マスタデータベース３１のレコードと製品情報マスタデータベース３２のレコードとの対応付けを行い、対応付けられたレコード毎に、当該レコードから広告情報マスタデータベース３１の検索キーと、製品情報マスタデータベース３２の検索キーと、素材ファイルデータベース３３の検索キーと、これらの検索キーに対応付けるキーワードとを読み出し、キーワードデータベース３７の同一レコードに書き込むことにより検索キーとキーワードとの対応付けを行う。
【００２３】
フィールド選択部２０１は、対応関係取得部２０２が、広告情報マスタデータベース３１のレコードと製品情報マスタデータベース３２のレコードとの対応付けを行う際に、類否判定対象とするフィールドを選択する。
対応関係取得部２０２は、フィールド選択部２０１が選択したフィールドのデータに基づいて、広告情報マスタデータベース３１のレコードと製品情報マスタデータベース３２のレコードとを対応付ける。
【００２４】
キーワード付与部２０３は、広告情報マスタデータベース３１と製品情報マスタデータベース３２とから、対応関係取得部２０２によって対応付けられたレコード毎に、広告情報マスタデータベース３１の検索キーと、製品情報マスタデータベース３２の検索キーと、素材ファイルデータベース３３の検索キーと、これらの検索キーに対応付けるキーワードとを読み出す。そして、キーワード付与部２０３は、読み出した検索キーおよびキーワードを、キーワードデータベース３７に書き込む。その際、キーワード付与部２０３は、広告情報マスタデータベース３１の１つのレコードから読み出した検索キーおよびキーワードと、当該レコードに対応付けられた製品情報マスタデータベース３２のレコードから読み出した検索キーおよびキーワードとを、キーワードデータベース３７の同一レコードに書き込む。
【００２５】
広告情報マスタデータベース３１は、第１のデータベースの一例であり、各種広告に関するデータを予め格納する。
図２は、広告情報マスタデータベース３１が格納しているデータの例を示す説明図である。同図において、広告情報マスタデータベース３１の各レコードが、１つの広告に関する一連のデータを格納しており、各レコードは、広告ＩＤ（Identifier）フィールドと、広告主フィールドと、商品名フィールドと、商品名カナフィールドと、媒体フィールドと、素材ＩＤフィールドとを有する。
【００２６】
広告ＩＤフィールドは、広告情報マスタデータベース３１の検索キーである広告ＩＤを格納する。広告主フィールドは、広告主名を格納する。商品名フィールドは、広告対象の商品名を格納する。商品名カナフィールドは、仮名書きによる商品名を格納する。媒体フィールドは、広告媒体の種別情報を格納する。素材ＩＤフィールドは、素材ファイルデータベース３３の検索キーである素材ＩＤを格納する。
【００２７】
広告情報マスタデータベース３１の格納するデータのうち、広告ＩＤと素材ＩＤとは、コンテンツ検索装置１０が広告用コンテンツを取得する際の検索キーであるコンテンツ検索キーとして用いられる。また、広告主名や商品名等は、検索キーに対応付けられるキーワードとして、キーワード付与装置２０によってキーワードデータベース３７に書き込まれる。
【００２８】
製品情報マスタデータベース３２は、第２のデータベースの一例であり、各種製品に関するデータを予め格納する。
図３は、製品情報マスタデータベース３２が格納しているデータの例を示す説明図である。同図において、製品情報マスタデータベース３２の各レコードが、１つの製品に関する一連のデータを格納しており、各レコードは、製品ＩＤフィールドと、メーカフィールドと、製品名フィールドと、製品名カナフィールドと、種別フィールドと、形態フィールドと、発売日フィールドとを有する。
【００２９】
製品ＩＤフィールドは、製品情報マスタデータベース３２の検索キーである製品ＩＤを格納する。メーカフィールドは、製品の製造メーカ名を格納する。製品名フィールドは、製品名を格納する。製品名カナフィールドは、仮名書きによる製品名を格納する。種別フィールドは、製品の種別情報を格納する。形態フィールドは、製品の形態（「缶」、「ビン」等）情報を格納する。発売日フィールドは、製品の発売日情報を格納する。
【００３０】
製品情報マスタデータベース３２の格納するデータのうち、製品ＩＤは、コンテンツ検索装置１０が広告用コンテンツを取得する際の検索キーであるコンテンツ検索キーとして用いられる。また、メーカ名や製品名等は、検索キーに対応付けられるキーワードとして、キーワード付与装置２０によってキーワードデータベース３７に書き込まれる。
【００３１】
素材ファイルデータベース３３は、テレビ広告画像を格納する動画像ファイルなど、広告用コンテンツを格納するコンテンツファイルを、素材ファイルデータベース３３の検索キーである素材ＩＤと対応付けて予め格納する。
広告情報マスタデータベース３１と、製品情報マスタデータベース３２と、素材ファイルデータベース３３とは、いずれもコンテンツデータベースの一例であり、コンテンツ検索装置１０は、素材ファイルデータベース３３の格納するコンテンツファイルや、広告情報マスタデータベース３１の格納する広告に関するデータや、製品情報マスタデータベース３２の格納する製品に関するデータを、広告用コンテンツとしてクライアント装置９に提供（返信）する。
【００３２】
広告情報フィールドデータベース３４は、広告情報マスタデータベース３１の格納するデータのうち、フィールド選択部２０１によって選択されるフィールドに格納されているデータを、広告ＩＤと対応付けて格納する。
図４は、広告情報フィールドデータベース３４が格納しているデータの例を示す説明図である。同図において、広告情報フィールドデータベース３４の各レコードが、広告情報マスタデータベース３１の各レコードに対応しており、広告情報フィールドデータベース３４は、広告情報マスタデータベース３１の格納するデータのうち、商品名カナフィールドのデータを、広告ＩＤと対応付けて格納している。
後述するように、広告情報フィールドデータベース３４の格納するデータは、フィールド選択部２０１によって書き込まれる。
【００３３】
製品情報フィールドデータベース３５は、対応関係取得部２０２が広告情報マスタデータベース３１のデータと製品情報マスタデータベース３２のデータとから生成する共通部分列を、広告情報マスタデータベース３１の検索キーおよび製品情報マスタデータベース３２の検索キーと対応付けて格納する。ここでいう「部分列」は、文字列から幾つかの文字を取り出し、元の文字列と同じ順番に並べて得られる文字列である。また、「共通部分列」は、複数の文字列に共通する部分列である。また、以下では共通部分列のうち最長のものを「最長共通部分列」と称する。
【００３４】
図５は、製品情報フィールドデータベース３５が格納しているデータの例を示す説明図である。同図において、共通部分列フィールドには、対応関係取得部２０２が生成する共通部分列が格納されている。なお、「（ｎｕｌｌ）」は空文字列（文字列長が０の文字列）を示す。
また、広告ＩＤフィールドには、広告情報マスタデータベース３１において共通部分列生成の元となったデータを格納するレコードの検索キー（広告ＩＤ）が格納されている。また、製品ＩＤフィールドには、製品情報マスタデータベース３２において共通部分列生成の元データとなったもう１つのデータを格納するレコードの検索キー（製品ＩＤ）が格納されている。
対応関係取得部２０２の生成する共通部分列については後述する。
【００３５】
基本データベース３６は、広告情報マスタデータベース３１のレコードと、製品情報マスタデータベース３２のレコードとの対応関係を示すデータを格納する。
図６は、基本データベース３６が格納しているデータの例を示す説明図である。同図において、基本データベース３６の各レコードが、対応関係取得部２０２によって対応付けられた、広告情報マスタデータベース３１のレコードと製品情報マスタデータベース３２のレコードとを示すデータを格納しており、各レコードは、統合ＩＤフィールドと、広告ＩＤフィールドと、商品名カナフィールドと、製品ＩＤフィールドと、製品名カナフィールドと、共通部分列フィールドとを有する。
【００３６】
統合ＩＤフィールドは、基本データベース３６の検索キーである統合ＩＤを格納する。広告ＩＤフィールドは、対応関係取得部２０２によって対応付けられた、広告情報マスタデータベース３１側のレコードを示す広告ＩＤを格納する。商品名カナフィールドは、対応付けの際に用いられた、仮名書きによる商品名を格納する。製品ＩＤフィールドと、製品名カナフィールドとは、それぞれ、対応関係取得部２０２によって対応付けられた、製品情報マスタデータベース３２側のレコードを示す広告ＩＤと、当該レコードに格納されている仮名書きによる製品名とを格納する。共通部分列フィールドは、対応付けの際に用いられた共通部分列を格納する。
【００３７】
なお、基本データベース３６が格納するデータは、広告情報マスタデータベース３１のレコードと製品情報マスタデータベース３２のレコードとを１対１に対応付けるものに限らない。
図７は、基本データベース３６が格納しているデータの、もう１つの例を示す説明図である。同図の行Ｌ１１〜Ｌ１２に示されるように、１つの広告ＩＤに複数の製品ＩＤが対応付けられていてもよい。すなわち、広告情報マスタデータベース３１の１つのレコードに、製品情報マスタデータベース３２の複数のレコードが対応付けられていてもよい。
例えば、「林檎ジュース」という同一の商品名で、３５０ｍｌ（ミリリットル）入りの製品や、１．５Ｌ（リットル）入りの製品が販売されている場合など、１つの商品に対応する複数の製品が存在する場合に、基本データベース３６が、各製品に対応する行を格納するようにする。これにより、「３５０ｍｌ」や「１．５Ｌ」など、製品毎のキーワードを商品（広告）と対応付けることが可能となり、ヒット率を高めることができる。
【００３８】
また、同図の行Ｌ１３と行Ｌ１４とでは、異なる広告ＩＤ（Ｄ１１とＤ２１）に対して、同じ商品名カナ（Ｄ１２とＤ２２）が対応付けられている。ここで、商品名は広告の内容を示す目安として付されるにすぎないため、比較的おおまかな（文字数の少ない）名称が用いられている。このため、行Ｌ１３と行Ｌ１４とに示されるように、異なる広告に同じ商品名が対応付けられ得る。
一方、同じく行Ｌ１３と行Ｌ１４において、異なる製品ＩＤ（Ｄ１３とＤ２３）と、異なる製品名カナ（Ｄ１４とＤ２４）が格納されている。製品名は製品を識別するために用いられるため、比較的詳細な（文字数の多い）名称が用いられている。このため、行Ｌ１３と行Ｌ１４とに示されるように、製品毎に異なる製品名が対応付けられている。
この商品名カナのような、大まかなキーワードを格納しているデータベース（例えば広告情報マスタデータベース３１）のデータに対して、他のデータベース（例えば製品情報マスタデータベース３２）から、製品名カナのような詳細なキーワードを取得して対応付けることにより、キーワード数を増やしてヒット率を高め得る。
【００３９】
また、同図の行Ｌ１５に示されるように、いずれの製品ＩＤとも対応付けられていない広告ＩＤが存在してもよい。すなわち、製品情報マスタデータベース３２のいずれのレコードとも対応付けられていない、広告情報マスタデータベース３１のレコードが存在してもよい。
【００４０】
キーワードデータベース３７は、コンテンツデータベースである広告情報マスタデータベース３１、製品情報マスタデータベース３２および素材ファイルデータベース３３の検索キーと、これらの検索キーに対応付けられるキーワードとを格納する。
図８は、キーワードデータベース３７が格納しているデータの例を示す説明図である。同図において、キーワードデータベース３７の各レコードは、基本データベース３６の各レコードに対応しており、各レコードは統合ＩＤフィールドと、広告ＩＤフィールドと、製品ＩＤフィールドと、素材ＩＤフィールドと、広告主フィールドと、メーカフィールドと、商品名フィールドと、製品名フィールドと、商品名カナフィールドと、製品名カナフィールドと、種別フィールドとを有する。
【００４１】
統合ＩＤフィールドは、基本データベース３６における統合ＩＤを格納する。この統合ＩＤは、キーワードデータベース３７の検索キーとしても用いられる。
広告ＩＤフィールドと製品ＩＤフィールドとは、それぞれ、統合ＩＤによって特定される、基本データベース３６のレコードに格納されている、広告ＩＤと製品ＩＤとを格納する。この広告ＩＤと製品ＩＤとによって、広告情報マスタデータベース３１のフィールドと製品情報マスタデータベース３２のフィールドとの対応関係が示されている。
【００４２】
素材ＩＤフィールドと、広告主フィールドと、商品名フィールドと、商品名カナフィールドとは、それぞれ、広告ＩＤによって特定される、広告情報マスタデータベース３１のレコードに格納されている、素材ＩＤと、広告主名と、商品名と、仮名書きによる商品名とを格納する。
メーカフィールドと、製品名フィールドと、製品名カナフィールドと、種別フィールドとは、それぞれ、製品ＩＤによって特定される、製品情報マスタデータベース３２のレコードに格納されている、メーカ名と、製品名と、仮名書きによる製品名と、製品の種別情報とを格納する。
【００４３】
キーワードデータベース３７に格納されている広告主名と、メーカ名と、商品名と、製品名と、仮名書きによる商品名と仮名書きによる製品名と、製品の種別情報とは、コンテンツ検索装置１０が広告用コンテンツを検索する際に、コンテンツデータベースの検索キーに対応付けられたキーワードとして用いられる。コンテンツ検索装置１０は、クライアント装置９からキーワードが送信されると、当該キーワードに類似するキーワードをキーワードデータベース３７の格納するキーワードの中から取得し、取得したキーワードに対応付けられた検索キーを用いて広告用コンテンツを取得する。
【００４４】
次に、図９〜図１１を参照して、フィールド選択部２０１によるフィールドの選択について説明する。フィールド選択部２０１は、キーワード付与部２０３が行う検索キーとキーワードとの対応付けの前処理として、フィールドの選択を行う。
図９は、フィールド選択部２０１によって選択される、広告情報マスタデータベース３１のフィールドの例を示す説明図である。また、図１０は、フィールド選択部２０１による類否判定の例を示す説明図である。また、図１１は、フィールド選択部２０１によって選択される、製品情報マスタデータベース３２のフィールドの例を示す説明図である。
【００４５】
フィールド選択部２０１は、まず、図９に示されるように、広告情報マスタデータベース３１のフィールドの何れかを選択する。例えば、フィールド選択部２０１は、広告情報マスタデータベース３１のフィールドのうち特定のフィールドを選択するよう予め設定されており、当該フィールドを選択する。本実施形態では、フィールド選択部２０１は、広告情報マスタデータベース３１の商品名カナフィールドを選択する。以下では、フィールド選択部２０１の選択したフィールドを「選択フィールド」と称する。
【００４６】
次に、フィールド選択部２０１は、広告情報マスタデータベース３１の選択フィールドの各データについて、当該データと、製品情報マスタデータベース３２の各データとの類否を判定する。例えば、図１０の例では、フィールド選択部２０１は、広告情報マスタデータベース３１の選択フィールドである商品名カナフィールドのデータＤ１１１「モカムトウ」と、製品情報マスタデータベース３２の各データとの類否を判定する。そして、フィールド選択部２０１は、データＤ１２１「イチバン  モカムトウ  ２００ｍｌ」がデータＤ１１１「モカムトウ」と類似であり、他のデータはデータＤ１１１と非類似であるとの判定結果を得る。さらに、フィールド選択部２０１は、データＤ１１２〜Ｄ１１４など、商品名カナフィールドの他のデータについても同様の判定を行う。
【００４７】
ここで、フィールド選択部２０１は、例えば近似文字列照合において編集距離が所定の閾値以下の文字列（データ）を類似と判定し、編集距離が閾値よりも大きい文字列を非類似と判定する。ここでいう「近似文字列照合」は、編集操作として１文字挿入と１文字削除と１文字置換とのみを行って文字列Ａから文字列Ｂを生成する際に、必要な編集操作の回数を、文字列Ａと文字列Ｂとの編集距離として求める処理である。
例えば、データＤ１１２「イチバン  モカムトウ  ２００ｍｌ」からは、１文字削除を１１回行って、「イ」、「チ」、「バ」、「ン」、「  」（空白）、「  」（空白）、「２」、「０」、「０」、「ｍ」、「ｌ」の各文字を削除することによって、データＤ１１１「モカムトウ」を生成することができる。従って、データＤ１１２とデータＤ１１１との編集距離は１１である。
近似文字列照合のアルゴリズムとしては様々なものが提案されており、フィールド選択部２０１は、公知のアルゴリズムを用いて近似文字列照会を行うことができる。
【００４８】
なお、フィールド選択部２０１が行う類否判定方法としては、上述したものに限らず、２つの文字列の類否を判定可能な様々な方法を用いることができる。例えば、フィールド選択部２０１が、近似文字列照合において距離が最小となる１つの文字列を選択するなど、広告情報マスタデータベース３１の選択フィールドのデータと、製品情報マスタデータベース３２のデータとを１対１対応にて選択する（類似と判定する）ようにしてもよい。
あるいは、フィールド選択部２０１が、最長共通部分列長が所定の閾値以上の文字列を類似と判定し、所定の閾値未満の文字列を非類似と判定するなど、近似文字列照会以外の処理によって文字列の類否判定を行うようにしてもよい。最長共通部分列を求めるアルゴリズムとしては、Hunt-Szymanski LCSアルゴリズムなど様々なものが提案されており、フィールド選択部２０１は、公知のアルゴリズムを用いて最長共通文字列長を求めることができる。
【００４９】
次に、フィールド選択部２０１は、類否判定結果に基づいて、広告情報マスタデータベース３１の選択フィールドの何れかのデータに類似するデータを最も多く含むフィールドを、製品情報マスタデータベース３２のフィールドから選択する。図１１の例では、広告情報マスタデータベース３１の選択フィールドである商品名カナフィールドの何れかのデータに類似するデータを最も多く含むフィールドは、製品名カナフィールドである。そこで、フィールド選択部２０１は、この製品名カナフィールドを製品情報マスタデータベース３２の選択フィールドとする。
【００５０】
このように、フィールド選択部２０１が、広告情報マスタデータベース３１の選択フィールドおよび製品情報マスタデータベース３２の選択フィールドとして、類似するデータを多く含むフィールドを選択することにより、共通性の高いフィールドを選択することが期待される。例えば、図１１の例では、共に仮名書きによる物品の名称を示す商品名カナフィールドと製品名カナフィールドとが選択されている。
この共通性の高いフィールドのデータを用いて、対応関係取得部２０２が、広告情報マスタデータベース３１のレコードと製品情報マスタデータベース３２のレコードとの対応付けを行い、当該対応付けに従って、キーワード付与部２０３が、検索キーにキーワードを付与することにより、適切なキーワードを付与できることが期待される。
【００５１】
例えば、図１１の例において、データＤ１１１とデータＤ１２１とは、同一種類の物品（一番珈琲の製造するモカ無糖）を指す。従って、この物品の広告用コンテンツの検索キーＤ２１１に、メーカ名のデータＤ２２１「一番珈琲」や、製品名のデータＤ２２２「一番  モカ無糖  ２００ｍｌ」や、仮名書きによる製品名のデータＤ１２１「イチバン  モカムトウ  ２００ｍｌ」や、種別情報のデータＤ２２３「缶コーヒー」をキーワードとして付与することにより、広告対象の商品に関連するキーワードを付与できる。従って、コンテンツ検索装置１０がクライアント装置９からのキーワードに基づいて広告用コンテンツを取得する際に、適切なコンテンツを取得できることが期待される。
【００５２】
次に、図１２を参照して、対応関係取得部２０２による製品情報フィールドデータベース３５のデータの生成について説明する。
図１２は、対応関係取得部２０２が生成する最長共通文字列の例を示す説明図である。
対応関係取得部２０２は、広告情報マスタデータベース３１の選択フィールドのデータと、製品情報マスタデータベース３２の選択フィールドのデータとの各組み合わせについて、共通部分列として最長共通部分列を求め、広告ＩＤおよび製品ＩＤと対応付けて製品情報フィールドデータベース３５に書き込む。前述したように、最長共通部分列は、複数の文字列に共通する部分列のうち最長のものであり、ここでは、広告情報マスタデータベース３１の選択フィールドの何れかのデータと、製品情報マスタデータベース３２の選択フィールドの何れかのデータとに共通する部分列のうち最長のものである。
【００５３】
図１２の例では、データＤ１１３「マメタップリノコーヒー」とデータＤ３２２「ボン  マメタップリノコーヒー  ２００ｍｌ」との最長共通部分列は「マメタップリノコーヒー」である。対応関係取得部２０２は、この最長共通部分列と、データＤ１１３を含むレコードの検索キー（広告ＩＤ）Ｄ３１１と、データＤ３２２を含むレコードの検索キー（製品ＩＤ）Ｄ３２１とを対応付けて、製品情報フィールドデータベース３５に書き込む。
対応関係取得部２０２は、広告情報マスタデータベース３１の選択フィールドのデータと、製品情報マスタデータベース３２の選択フィールドのデータとの、他の組み合わせについても同様の処理を行う。これにより、図５に示すデータが、製品情報フィールドデータベース３５に格納される。
【００５４】
この製品情報フィールドデータベース３５に格納されるデータは、対応関係取得部２０２が、広告情報マスタデータベース３１のレコードと製品情報マスタデータベース３２のレコードとの対応付けを行う際に用いられる。
例えば、対応関係取得部２０２は、図２の商品名カナフィールドのデータと、図５の共通部分列フィールドのデータとの類否判定を、近似文字列照合によって行う。そして、対応関係取得部２０２は、図２における広告ＩＤ「Ｍ１０１２」のレコードの商品名カナフィールドのデータ「モカムトウ」と、図５における製品ＩＤ「ＰＩＤ００３４」のレコードの共通部分列フィールドのデータ「モカムトウ」との編集距離が所定の閾値以下であることから、両データが類似すると判定する。そして、対応関係取得部２０２は、広告ＩＤ「Ｍ１０１２」と、商品名カナフィールドのデータ「モカムトウ」と、製品ＩＤ「ＰＩＤ００３４」と、共通部分列フィールドのデータ「モカムトウ」とを基本データベース３６の同一レコードに書き込む。対応関係取得部２０２は、図２の商品名カナフィールドのデータと、図５の共通部分列フィールドのデータとの他の組み合わせについても同様の処理を行い、さらに、基本データベース３６の検索キーとして統合ＩＤを書き込む。これにより、図６に示すデータが、基本データベース３６に格納される。
【００５５】
ここで、対応関係取得部２０２が、広告情報マスタデータベース３１の選択フィールドのデータと、製品情報マスタデータベース３２の選択フィールドのデータとを直接用いて、広告情報マスタデータベース３１のレコードと製品情報マスタデータベース３２のレコードとの対応付けを行うようにも出来る。しかし、製品名カナフィールドのデータには、仮名書きによるメーカ名や内容量情報が付加されているため、編集距離が大きくなり、適切な対応付けを行えなくなるおそれがある。
例えば、商品名カナフィールドのデータ「モカムトウ」（図１１のデータＤ１１１）と、製品名カナフィールドのデータ「イチバン  モカムトウ  ２００ｍｌ」（図１１のデータＤ１２１）との編集距離は１１である。従って、類否判定の閾値が１０以下に設定されている場合、対応関係取得部２０２は、これらのデータが非類似であると判定し、レコードの対応付けを行わなくなってしまう。
【００５６】
そこで、上述のように、対応関係取得部２０２が、最長共通部分列を用いて類否判定を行うようにする。これにより、製品名カナフィールドのデータから、メーカ名や内容量情報を予め削除でき、対応関係取得部２０２は、より適切な類否判定を行い、より適切な対応付けを行うことが出来る。
【００５７】
なお、対応関係取得部２０２が行う類否判定方法としては、上述したものに限らず、２つの文字列の類否を判定可能な様々な方法を用いることができる。例えば、フィールド選択部２０１について上述したのと同様に、対応関係取得部２０２が、近似文字列照合において距離が最小となる１つの文字列を選択するなど、広告情報マスタデータベース３１のレコードと、製品情報マスタデータベース３２のレコードとを１対１対応にて選択する（類似と判定する）ようにしてもよい。あるいは、対応関係取得部２０２が、最長共通部分列長が所定の閾値以上の文字列を類似と判定し、所定の閾値未満の文字列を非類似と判定するなど、近似文字列照会以外の処理によって文字列の類否判定を行うようにしてもよい。
【００５８】
次に図１３〜図１８を参照して、広告用コンテンツ提供システム１の動作について説明する。
図１３は、キーワード付与装置２０が広告用コンテンツの検索キーにキーワードを付与する処理手順の概略を示すフローチャートである。
キーワード付与装置２０は、予め（コンテンツ検索装置１０が、クライアント装置９からのキーワードを受信して広告用コンテンツを取得するための事前の処理として）同図の処理を行う。
【００５９】
まず、フィールド選択部２０１が、広告情報マスタデータベース３１のフィールドの何れかと、製品情報マスタデータベース３２のフィールドの何れかとを選択する（ステップＳ１０１）。次に、対応関係取得部２０２が、広告情報マスタデータベース３１の選択フィールドの各データと、製品情報マスタデータベース３２の選択フィールドの各データとに基づいて、図４で説明した広告情報フィールドデータベース３４のデータと、図５で説明した製品情報フィールドデータベース３５のデータとを生成する（ステップＳ１０２）。そして、対応関係取得部２０２は、広告情報フィールドデータベース３４のデータと製品情報フィールドデータベース３５のデータとの類否に基づいて、広告情報マスタデータベース３１のレコードと製品情報マスタデータベース３２のレコードとの対応付けを行い、対応関係を示すデータを基本データベース３６に書き込む（ステップＳ１０３）。次に、キーワード付与部２０３は、対応関係取得部２０２の行った対応付けに基づいて、広告情報マスタデータベース３１の検索キーと、製品情報マスタデータベース３２の検索キーと、素材ファイルデータベース３３の検索キーとに、広告情報マスタデータベース３１から読み出すキーワードおよび製品情報マスタデータベース３２から読み出すキーワードを対応付け、この対応付けを示すデータをキーワードデータベース３７に書き込む（ステップＳ１０４）。
【００６０】
図１４は、フィールド選択部２０１が、広告情報マスタデータベース３１のフィールドおよび製品情報マスタデータベース３２のフィールドを選択する処理手順を示すフローチャートである。フィールド選択部２０１は、図１３のステップＳ１０１において同図の処理を行う。
まず、フィールド選択部２０１は、広告情報マスタデータベース３１のフィールドの何れかを選択する（ステップＳ２０１）。例えば、フィールド選択部２０１は、広告情報マスタデータベース３１のフィールドのうち特定のフィールドを選択するよう予め設定されており、当該フィールドを選択する。
【００６１】
次に、フィールド選択部２０１は、ステップＳ２０１で選択したフィールドの各データに対する処理のループＬ１１を開始する（ステップＳ２１１）。さらに、フィールド選択部２０１は、製品情報マスタデータベース３２の各データに対する処理のループＬ１２を開始する（ステップＳ２１２）。そして、フィールド選択部２０１は、ステップＳ２０１で選択したフィールドの各データと、製品情報マスタデータベース３２の各データとの類否判定を行う（ステップＳ２１３）。
そして、フィールド選択部２０１は、ステップＳ２０１で選択したフィールドの各データと、製品情報マスタデータベース３２の各データとの全ての組み合わせについて類否判定を行った後、ループＬ１２およびＬ１１を終了する（ステップＳ２１４、Ｓ２１５）。
【００６２】
次に、フィールド選択部２０１は、製品情報マスタデータベース３２の各フィールドに対する処理のループＬ１３を開始する（ステップＳ２２１）。そして、フィールド選択部２０１は、製品情報マスタデータベース３２のフィールド毎に、ステップＳ２１３で広告情報マスタデータベース３１の選択フィールドの何れかのデータに類似すると判定したデータの数を、製品情報マスタデータベース３２の当該フィールドと広告情報マスタデータベース３１の選択フィールドとの類似度として算出（集計）する（ステップＳ２２２）。
そして、フィールド選択部２０１は、製品情報マスタデータベース３２の全てのフィールドについて類似度の算出を行った後、ループＬ１３を終了する（ステップＳ２２３）。
【００６３】
次に、フィールド選択部２０１は、製品情報マスタデータベース３２のフィールドのうち、ステップＳ２２２で算出した類似度が最も高いと判定したフィールドを選択する（ステップＳ２３１）。そして、フィールド選択部２０１は、ステップＳ２０１における広告情報マスタデータベース３１の選択フィールドおよびステップＳ２３１における製品情報マスタデータベース３２の選択フィールドを示す情報を対応関係取得部２０２に出力する。
その後、同図の処理を終了する。
【００６４】
図１５は、対応関係取得部２０２が、広告情報フィールドデータベース３４のデータおよび製品情報フィールドデータベース３５のデータを生成する処理手順を示すフローチャートである。対応関係取得部２０２は、図１３のステップＳ１０２において同図の処理を行う。
まず、対応関係取得部２０２は、製品情報フィールドデータベース３５の初期化として、製品情報フィールドデータベース３５を空行（レコード数０）にする（ステップＳ３０１）。
【００６５】
次に、対応関係取得部２０２は、広告情報マスタデータベース３１の選択フィールドの各データに対する処理のループＬ２１を開始する（ステップＳ３１１）。さらに、対応関係取得部２０２は、製品情報マスタデータベース３２の選択フィールドの各データに対する処理のループＬ２２を開始する（ステップＳ３１２）。そして、対応関係取得部２０２は、広告情報マスタデータベース３１の選択フィールドの各データと製品情報マスタデータベース３２の選択フィールドの各データとの最長共通部分列を生成する（ステップＳ３１３）。そして、対応関係取得部２０２は、製品情報フィールドデータベース３５に１行（１レコード）追加し、追加した行に、ステップＳ３１３で生成した最長共通部分列と、最長共通部分列生成の元となった広告情報マスタデータベース３１のデータを含むフィールドの広告ＩＤと、最長共通部分列生成の元となった製品情報マスタデータベース３２のデータを含むフィールドの製品ＩＤとを書き込む（ステップＳ３１４）。
そして、対応関係取得部２０２は、広告情報マスタデータベース３１の選択フィールドの各データと製品情報マスタデータベース３２の選択フィールドの各データとの全ての組み合わせについてステップＳ３１４の処理を行った後、ループＬ２２およびＬ２１を終了する（ステップＳ３１５、Ｓ３１６）。
【００６６】
次に、対応関係取得部２０２は、広告情報フィールドデータベース３４の初期化処理として、広告情報フィールドデータベース３４を空行にする。そして、対応関係取得部２０２は、広告情報マスタデータベース３１のデータから広告ＩＤフィールドと選択フィールドとを抽出し、これらを対応付けたデータを広告情報フィールドデータベース３４に書き込む（ステップＳ３２１）。
その後、同図の処理を終了する。
【００６７】
図１６は、対応関係取得部２０２が、広告情報マスタデータベース３１のレコードと製品情報マスタデータベース３２のレコードとの対応付けを行う処理手順を示すフローチャートである。対応関係取得部２０２は、図１３のステップＳ１０３において同図の処理を行う。
まず、対応関係取得部２０２は、基本データベース３６の初期化処理として、基本データベース３６を空行にする（ステップＳ４０１）。
【００６８】
次に、対応関係取得部２０２は、広告情報フィールドデータベース３４の各レコードに対する処理のループＬ３１を開始する（ステップＳ４１１）。ここで、ループＬ３１において処理対象となっているレコードをレコードｉにて表す。
対応関係取得部２０２は、製品情報フィールドデータベース３５から、レコードｉの広告ＩＤを格納しているレコードを抽出する（ステップＳ４１２）。
【００６９】
さらに、対応関係取得部２０２は、ステップＳ４１２で抽出した各レコードに対する処理のループＬ３２を開始する（ステップＳ４１３）。ここで、ループＬ３２において処理対象となっているレコードをレコードｊにて表す。
対応関係取得部２０２は、レコードｉの選択フィールドのデータと、レコードｊの共通部分列フィールドのデータとの類似度を算出し（ステップＳ４１４）、類否判定を行う（ステップＳ４１５）。
【００７０】
類似すると判定した場合（ステップＳ４１５：ＹＥＳ）、対応関係取得部２０２は、基本ＤＢに１行追加し、追加した行に、レコードｉに格納されている広告ＩＤと、レコードｉの選択フィールドのデータと、レコードｊに格納されている製品ＩＤと、レコードｊの共通分裂フィールドのデータとを書き込み、さらに当該追加した行を識別する統合ＩＤを生成して当該追加した行に書き込む（ステップＳ４１６）。
その後、ステップＳ４１７に進む。
【００７１】
一方、ステップＳ４１５において、レコードｉの選択フィールドのデータと、レコードｊの共通部分列フィールドのデータとが類似しないと判定した場合（ステップＳ４１５：ＮＯ）、対応関係取得部２０２は、基本データベース３６の行追加やデータの書込を行わずに、そのままステップＳ４１７に進む。
そして、対応関係取得部２０２は、ステップＳ４１２で抽出した全てのレコードに対する処理を完了した後、ループＬ３２を終了し（ステップＳ４１７）、広告情報フィールドデータベース３４の全てのレコードに対する処理を完了した後、ループＬ３１を終了する（ステップＳ４１８）。
その後、同図の処理を終了する。
【００７２】
図１７は、キーワード付与部２０３が、広告情報マスタデータベース３１の検索キーと、製品情報マスタデータベース３２の検索キーと、素材ファイルデータベース３３の検索キーとに、キーワードを対応付ける処理手順を示すフローチャートである。キーワード付与部２０３は、図１３のステップＳ１０４において同図の処理を行う。
まず、キーワード付与部２０３は、キーワードデータベース３７の初期化処理として、キーワードデータベース３７を空行にする（ステップＳ５０１）。
【００７３】
次に、キーワード付与部２０３は、基本データベース３６の各レコードに対する処理のループＬ４１を開始する（ステップＳ５１１）。ここで、ループＬ４１において処理対象となっているレコードをレコードｋにて表す。
キーワード付与部２０３は、レコードｋから広告ＩＤを読み出す。そして、キーワード付与部２０３は、読み出した広告ＩＤに基づいて広告情報マスタデータベース３１を検索し、当該広告ＩＤによって特定されるレコードの、予め定められたフィールドから検索キーやキーワードを読み出す。本実施形態では、キーワード付与部２０３は、検索キーとして広告ＩＤと素材ＩＤとを読み出し、キーワードとして広告主名と、商品名と、仮名書きによる商品名とを読み出す。
そして、キーワード付与部２０３は、キーワードデータベース３７に１行追加し、読み出した検索キーやキーワードを書き込む（ステップＳ５１２）。
【００７４】
また、キーワード付与部２０３は、レコードｋから製品ＩＤを読み出す。そして、キーワード付与部２０３は、読み出した製品ＩＤに基づいて製品情報マスタデータベース３２を検索し、当該製品ＩＤによって特定されるレコードの、予め定められたフィールドから検索キーやキーワードを読み出す。本実施形態では、キーワード付与部２０３は、検索キーとして製品ＩＤを読み出し、キーワードとしてメーカ名と、製品名と、仮名書きによる製品名と、製品の種別情報とを読み出す。
そして、キーワード付与部２０３は、ステップＳ５１２で追加した行に、読み出した検索キーやキーワードを書き込む（ステップＳ５１３）。
そして、キーワード付与部２０３は、基本データベース３６の全てのレコードに対する処理を完了した後、ループＬ４１を終了する（ステップＳ５１４）。
その後、同図の処理を終了する。
【００７５】
図１８は、コンテンツ検索装置１０が広告用コンテンツを提供する処理手順を示すフローチャートである。コンテンツ検索装置１０は、図１３〜図１７で説明したキーワード付与装置２０の処理が完了してキーワードデータベース３７のデータが生成された後、同図の処理を行う。
まず、通信部１０１は、クライアント装置９から送信されるキーワードを待ち受ける（ステップＳ６０１）。そして、通信部１０１は、クライアント装置９からのキーワードを受信すると、当該キーワードをコンテンツ検索キー取得部１０２に出力する。
【００７６】
次に、コンテンツ検索キー取得部１０２は、キーワードデータベース３７の各レコードに対する処理のループＬ１０１を開始する（ステップＳ６１１）。ここで、ループＬ１０１にいて処理対象となっているレコードをレコードｍにて表す。
コンテンツ検索キー取得部１０２は、レコードｍに格納されている各キーワードと、クライアント装置９から送信されたキーワードとの類似度を算出し（ステップＳ６１２）、類否判定を行う（ステップＳ６１３）。例えば、フィールド選択部２０１や対応関係取得部２０２について上述したのと同様、コンテンツ検索キー取得部１０２は、近似文字列照合における編集距離に基づいて類否判定を行う。あるいは、コンテンツ検索キー取得部１０２が最長共通文字列長に基づいて類否判定を行うなど、他の方法によって類否判定を行うようにしてもよい。
【００７７】
レコードｍに格納されているキーワードの何れかと、クライアント装置９から送信されたキーワードとが類似すると判定した場合（ステップＳ６１３：ＹＥＳ）、コンテンツ検索キー取得部１０２が、レコードｍから検索キーを読み出し、コンテンツ取得部１０３が、当該検索キーに基づいてデータベースを検索して広告用コンテンツを取得し、取得したコンテンツを通信部１０１に出力する。本実施形態では、製品名と、素材ファイルデータベース３３に格納されているファイルとを、クライアント装置９に返信することが予め定められている。そこで、コンテンツ検索キー取得部１０２は、レコードｍから製品ＩＤを読み出し、読み出した製品ＩＤをコンテンツ取得部１０３に出力する。コンテンツ取得部１０３は、コンテンツ検索キー取得部１０２から出力される製品ＩＤに基づいて製品情報マスタデータベース３２を検索して製品名を取得し、通信部１０１に出力する（ステップＳ６１４）。また、コンテンツ検索キー取得部１０２は、レコードｍから素材ＩＤを読み出し、読み出した素材ＩＤをコンテンツ取得部１０３に出力する。コンテンツ取得部１０３は、コンテンツ検索キー取得部１０２から出力される素材ＩＤに基づいて素材ファイルデータベース３３を検索してコンテンツファイルを取得し、通信部１０１に出力する（ステップＳ６１５）。
その後、ステップＳ６１６に進む。
【００７８】
一方、ステップＳ６１３において、レコードｍに格納されているキーワードのいずれも、クライアント装置９から送信されたキーワードと類似しないと判定した場合（ステップＳ６１３：ＮＯ）、コンテンツ検索キー取得部１０２は、広告用コンテンツの取得を行わずにそのままステップＳ６１６に進む。
【００７９】
そして、コンテンツ検索キー取得部１０２は、キーワードデータベース３７の全てのレコードに対する処理を完了した後、ループＬ１０１を終了する（ステップＳ６１６）。
そして、通信部１０１は、ステップＳ６１４でコンテンツ取得部１０３から出力される製品名、および、ステップＳ６１５でコンテンツ取得部１０３から出力されるコンテンツファイルを、クライアント装置９に送信（返信）する（ステップＳ６２１）。
その後、ステップＳ６０１に戻り、同図の処理を繰り返す。
【００８０】
以上のように、キーワード付与装置２０が、広告用コンテンツの検索キーと、キーワードとの対応付けを行う。すなわち、キーワード付与装置２０は、広告情報マスタデータベース３１に格納されている検索キーに、製品情報マスタデータベース３２に格納されているキーワードを付与し、製品情報マスタデータベース３２に格納されている検索キーに、広告情報マスタデータベース３１に格納されているキーワードを付与する。これにより、検索キーとキーワードとの対応付けを手作業で行う必要がない。従って、データ入力作業者の負担を軽減し、かつ、キーワードとデータ（広告用コンテンツ）との対応付けを行うことができる。
【００８１】
また、対応関係取得部２０２は、広告情報マスタデータベース３１の選択フィールドのデータと、製品情報マスタデータベース３２の選択フィールドのデータとの最長共通部分列を用いてデータの類否判定を行うので、一方の選択フィールドのデータにのみ文字列が付加されている場合にも、適切に類否判定を行うことができる。これにより、キーワード付与部２０３が、検索キーとキーワードとの対応付けを適切に行うことができ、コンテンツ検索装置１０は、クライアント装置９から送信されるキーワードに対して適切な広告用コンテンツを返信できる。
【００８２】
なお、本発明の適用範囲は、上述した広告用コンテンツに限らない。キーワードと対応付け可能な様々なデータに対して本発明を適用し得る。
【００８３】
なお、広告用コンテンツ提供システム１の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、コンパクトディスク等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００８４】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００８５】
１  広告用コンテンツ提供システム
１０  コンテンツ検索装置
１０１  通信部
１０２  コンテンツ検索キー取得部
１０３  コンテンツ取得部
２０  キーワード付与装置
２０１  フィールド選択部
２０２  対応関係取得部
２０３  キーワード付与部
３１  広告情報マスタデータベース
３２  製品情報マスタデータベース
３３  素材ファイルデータベース
３４  広告情報フィールドデータベース
３５  製品情報フィールドデータベース
３６  基本データベース
３７  キーワードデータベース
【図１】
0005520857.tif 000002
【図２】
0005520857.tif 000003
【図３】
0005520857.tif 000004
【図４】
0005520857.tif 000005
【図５】
0005520857.tif 000006
【図６】
0005520857.tif 000007
【図７】
0005520857.tif 000008
【図８】
0005520857.tif 000009
【図９】
0005520857.tif 000010
【図１０】
0005520857.tif 000011
【図１１】
0005520857.tif 000012
【図１２】
0005520857.tif 000013
【図１３】
0005520857.tif 000014
【図１４】
0005520857.tif 000015
【図１５】
0005520857.tif 000016
【図１６】
0005520857.tif 000017
【図１７】
0005520857.tif 000018
【図１８】
0005520857.tif 000019