説明

データベース制御装置、データベース制御方法、プログラム及び記録媒体

【課題】どのようなサービスやアプリケーションから、複数のデータベースのいずれが参照されても再利用可能なように、異なるデータベース間の同一の情報におけるデータ内容の均質化を行うことで、異なるデータベース間で検索される情報のデータ内容の同一性を向上させ、複数のデータベース間における情報検索の精度を向上させるデータベース制御装置、データベース制御方法、プログラム及び記録媒体を提供する。
【解決手段】本発明のデータベース制御装置は、参照用の参照データベースに蓄積されている参照データと、蓄積用の蓄積データベースに蓄積されている蓄積データとのデータ内容を比較し、蓄積データと参照データとの類似度を求め、求められた類似度が予め設定された閾値を超える前記蓄積データを、同様データとして検出する類似度算出部と、同様データとして検出された蓄積データを、蓄積データのデータ内容により更新するデータ内容更新部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベース制御装置、データベース制御方法、プログラム及び記録媒体に関するものである。
【背景技術】
【0002】
データベースは高度情報化社会において、市中に氾濫する情報を蓄積し、必要に応じて情報をユーザに提供する情報処理システムである。
このため、データベースには重要機密から雑多な記録までの、ありとあらゆる情報が格納される性質から、データ検索を行い易くするためにいかに情報を管理するか、という命題は日に日に重要度を増している。
【0003】
また、上述のように管理される複数のデータベースそれぞれに蓄積された情報の再利用性も議論されるべき重要な性質である。
例えば、あるデータベースから検索された情報と同一の情報を、他のデータベースから検索する用途を検討する。この2つのデータベース間において同一の情報が同一の構成で格納されていない場合、単純な検索処理では目的のデータを抽出する事はできず、限られた時間において、データベースから適切な情報を入手する事が困難になり、結果としてシステム全体の利便性を損なう事となる。
【0004】
現在、複数のデータベース間におけるデータ内容を統一する規格、また仕様が存在しておらず、また規格または仕様が制定されたと仮定しても、前述の通り一般的にデータベースというシステムは雑多な記録を格納する構成で用いられる事から、そのような規格または仕様が広く運用される可能性が著しく低いと考えられる。
たとえば、相互に構成、方式の異なる複数のデータベースに対して、共通した情報検索言語を送信し、この共通した情報検索言語により情報検索する情報検索方式が開示されている(例えば、特許文献1参照)。
この情報検索方式においては、エンドユーザが情報検索手続と編集手続とを”共通”情報検索言語の仕様に沿った形式で情報入出力装置から入力すると、生成手段は、対象となるデータ管理システムでの検索処理が可能となるリソース(制御文、ソースプログラム、パラメータ、コマンドなど)を生成し、対応する実行手段を内部起動させる。起動された実行手段は、生成手段によって提供されたリソースを使用し、データベースからの検索処理を行う。検索結果は、送出手段に引き渡され、そこで編集手続に従って編集された結果がエンドユーザの手元にある情報入出力装置に可視表示される。
【0005】
また、互換性のないデータベース同士が双方向にデータ交換する技術が開示されている(例えば、特許文献2参照)。
この交換技術においては、コンピュータに格納されたコンピュータプロセッサ命令により、データベースシステム内のデータセットを更新し、第1のデータベースシステムにおけるデータセットに対して実行された変更によって、第2のデータベースシステムにおけるデータセットが更新される。これにより、第1及び第2のデータベースシステムにおいて、データセットの再利用性を向上させることができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開昭61−234431号公報
【特許文献2】特表2003−511796号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記特許文献1の情報検索方式は、データベースの検索においてのみ情報の再利用性は確保されるが、それぞれのデータベース自体が記憶する情報の精度、すなわち検索キーに対して同様なデータが得られるという情報の均質性が向上しないため、同一の検索キーによる検索以外に流用する際、情報の均質性を向上させる処理として、必ず新規開発コストが発生する。
【0008】
また、上記特許文献2のデータベース間のデータ交換は、相互にデータ交換を行うデータセットを予め指定した上で処理を実行することが必要なため、再利用可能なデータベースのグループに対し、新たなデータベースを追加する毎に、この新たなデータベースに対してデータセット単位で再利用可能なように対応付けを行うコストが発生する。
【0009】
本発明の課題は、このような問題点を解決するデータベース制御装置、データベース制御方法、プログラム及び記録媒体を提供することである。
【課題を解決するための手段】
【0010】
この発明は上述した課題を解決するためになされたもので、本発明のデータベース制御装置は、参照用の参照データベースに蓄積されている参照データと、蓄積用の蓄積データベースに蓄積されている蓄積データとのデータ内容を比較し、当該蓄積データと前記参照データとの類似度を求め、求められた前記類似度が予め設定された閾値を超える前記蓄積データを、同様データとして検出する類似度算出部と、前記同様データとして検出された前記蓄積データを、当該蓄積データのデータ内容により更新するデータ内容更新部とを有することを特徴とする。
【0011】
本発明のデータベース制御装置は、前記蓄積データ及び参照データの各々が複数の構成データから構成されており、構成データ毎に情報の更新を行うか否かを示す可否情報が予め設定され、前記可否情報により、前記参照データのデータ内容により前記蓄積データの更新を行うか否かを、前記構成データ毎に判定する書換項目検出部をさらに有することを特徴とする。
【0012】
本発明のデータベース制御装置は、前記構成データに設定された前記可否情報が可である場合、前記参照データに対して前記同様データとされた前記蓄積データの前記構成データを、当該参照データの対応する構成データにより変更し、一方、前記可否情報が否である場合、前記参照データに対して前記同様データとされた前記蓄積データの構成データを、当該参照データの対応する構成データによる変更を行わないことを特徴とする。
【0013】
本発明のデータベース制御装置は、前記可否情報が可の場合、該構成データを、前記参照データベースの前記データにおける対応する前記構成データを上書きするか、あるいは当該データの前記構成データと前記参照データベースの前記データにおける対応する構成データとの和集合とするかの変更種別が設定されていることを特徴とする。
【0014】
本発明のデータベース制御装置は、前記類似度算出部は、前記構成データの前記データ種類毎に設定された、前記参照データの前記構成データと前記蓄積データの前記構成データとの類似度を求める類似度算出方法により、前記参照データベースと前記蓄積データベースとの前記データにおける前記構成データ毎の前記類似度を算出し、算出された類似度の合計を前記データの類似度とすることを特徴とする。
【0015】
本発明のデータベース制御装置は、前記構成データに含まれるメタ情報がデータ種類を示しており、前記類似度算出部は、関係する前記データ種類と類似度計算方法との関係を示す計算方法テーブルを有し、前記構成データからメタ情報を抽出し、抽出した前記メタ情報に対応する類似度計算方法を前記計算方法テーブルから選択し、前記構成データ毎の前記類似度を算出することを特徴とする。
【0016】
本発明のデータベース制御装置は、前記類似度算出部は、前記類似度計算方法により求めた前記類似度に対し、前記構成データに設定された重み付け係数を乗算して、前記構成データの前記類似度とすることを特徴とする。
【0017】
本発明のデータベース制御装置は、一定期間毎に更新される複数項目からなるデータベースの信頼性を示す信頼性データを前記データベース毎に記憶する信頼性データ記憶部と、前記信頼性データを元に前記データベース毎の信頼度を求め、最も信頼度の高い前記データベースを前記参照データベースに設定する参照データベース設定部とをさらに有することを特徴とする。
【0018】
本発明のデータベース制御装置は、前記信頼性データが、前記データベースを管理するサーバーに対する少なくとも外部リンクの数、アクセス情報の有無、ユーザによるアクセス回数、サイトの更新回数、サイトに表示される広告表示の面積及び占める割合のいずれか、あるいは複数の組合せであることを特徴とする。
【0019】
本発明のデータベース制御方法は、複数のデータベース間において、それぞれのデータベースに蓄積されている蓄積データのデータ内容を均一化するデータベース制御装置を動作させるデータベース制御方法であり、類似度算出部が、参照用の参照データベースに蓄積されている参照データと、蓄積用の蓄積データベースに蓄積されている蓄積データとのデータ内容を比較し、当該蓄積データと前記参照データとの類似度を求め、求められた前記類似度が予め設定された閾値を超える前記蓄積データを、同様データとして検出する類似度算出過程と、データ内容更新部が、前記同様データとして検出された前記蓄積データを、当該蓄積データのデータ内容により更新するデータ内容更新過程とを有する。
【0020】
本発明のプログラムは、複数のデータベース間において、それぞれのデータベースに蓄積されている蓄積データのデータ内容を均一化するデータベース制御装置の機能をコンピュータに実行させるプログラムであり、類似度算出部が、参照用の参照データベースに蓄積されている参照データと、蓄積用の蓄積データベースに蓄積されている蓄積データとのデータ内容を比較し、当該蓄積データと前記参照データとの類似度を求め、求められた前記類似度が予め設定された閾値を超える前記蓄積データを、同様データとして検出する類似度算出処理と、データ内容更新部が、前記同様データとして検出された前記蓄積データを、当該蓄積データのデータ内容により更新するデータ内容更新処理とを有するコンピュータが実行可能なプログラムである。
【0021】
本発明のプログラムを記録した記録媒体は、複数のデータベース間において、それぞれのデータベースに蓄積されている蓄積データのデータ内容を均一化するデータベース制御装置の機能をコンピュータに実行させるプログラムであり、類似度算出部が、参照用の参照データベースに蓄積されている参照データと、蓄積用の蓄積データベースに蓄積されている蓄積データとのデータ内容を比較し、当該蓄積データと前記参照データとの類似度を求め、求められた前記類似度が予め設定された閾値を超える前記蓄積データを、同様データとして検出する類似度算出処理と、データ内容更新部が、前記同様データとして検出された前記蓄積データを、当該蓄積データのデータ内容により更新するデータ内容更新処理とを有するコンピュータが実行可能なプログラムを記録した記録媒体である。
【発明の効果】
【0022】
この発明は、蓄積されたデータの再利用性の高いデータベースを容易に維持することを可能とする。
【図面の簡単な説明】
【0023】
【図1】本発明によるデータベース制御装置を用いた、データベースを有する複数のサービスサーバからなるサービスシステムの概念を説明する図である。
【図2】本実施形態による解析サーバー1を用いたデータベースのデータを均一化するデータベース管理システムの構成例を示す概略ブロック図である
【図3】図2における解析サーバー1の構成例を示すブロック図である。
【図4】サーバーAに設けられた参照データベースのデータと、サーバーBに設けられた蓄積データベースのデータとの一例を示すテーブルである。
【図5】解析サーバー1が参照データベースの参照データにより、対象データベースのデータの蓄積データ更新を行い、データの均一化を行う処理の動作例を示すフローチャートである。
【図6】データ内容更新部14が参照データベースの参照データの情報により、図4における蓄積データベースの蓄積データの内容が更新される処理を説明する図である。
【図7】データベースの信頼性を求めるために用いられる、信頼性データ記憶部18に格納されている信頼性基準が示される基準テーブルの構成例を示す図である。
【図8】図8は、参照データベース設定部15が図7に示す信頼性データ記憶部18に記憶された基準テーブルの各信頼性基準に基づき、複数のデータベースのいずれを、最も信頼性の高い参照データベースとして選択するかの動作例を示すフローチャートである。
【図9】図9は、類似度算出部16が図4の参照データベースの参照データと、対象データベースの蓄積データとの類似度を算出する動作例を示すフローチャートである。
【図10】参照データベースの参照データと対象データベースの蓄積データとの類似度の計算過程を説明する、参照データと蓄積データとのデータ構成を示す図である。
【図11】データの各項目毎の類似度の計算処理を説明する図である。
【発明を実施するための形態】
【0024】
以下、図面を参照して、本発明の概念について説明する。図1は、本発明によるデータベース制御装置を用いた、データベースを有する複数のサービスサーバからなるサービスシステムの概念を説明する図である。図1のサービスシステムは、例えば情報検索システムなどであり、解析サーバ100、複数のサービスサーバ102、105及びユーザ端末107を具備する。
解析サーバー100は、異なるデータベース間のデータ内容の均一化(すなわち均質化)という処理を行う解析モジュール101がアプリケーションとしてインストールされているデータベース制御装置である。
したがって、同様な分野のデータが蓄積されたサービスサーバー102及びサービスサーバー105の各々のデータ103とデータ106との内容の均一化を行う。
【0025】
例えば、サービスサーバー105の方がサービスサーバー102に比較し、より情報検索をしてデータ検索のサービス104を受けるためのユーザ端末107からのアクセス回数が多く、データ103に対してデータ106の内容がより充実し、データの精度が高いと設定されているものとする。
この場合、解析サーバー100は、サービスサーバー105のデータ106と、サービスサーバー102のデータ103とを比較し、類似性の高いデータの組を検出する。
そして、解析サーバー100は、類似性の高い組が同一種類のデータであるとして、サービスサーバー105のデータ106により、サービスサーバー102のデータ103を更新する処理を行う。
【0026】
これにより、サービスサーバー102のデータ103の内容が、精度が高いとされるサービスサーバー105のデータ103と均一化される。
したがって、サービスサーバー105の存在を知らず、サービスサーバー102にアクセスしたユーザ端末107も、サービスサーバー105のデータ106と同等の精度を有する、データ103を得ることができる。すなわち、解析サーバーの100の管理するサービスサーバー群の各々のデータベースにおけるデータが均一化されているため、ユーザはユーザー端末107から、いずれのサービスサーバーをアクセスしても同等の精度の情報を得ることができる。
【0027】
以下、本発明の実施の形態におけるデータベース制御装置としての解析サーバーについて詳細に説明する。
図2は、本実施形態による解析サーバー1を用いたデータベースのデータを均一化するデータベース管理システムの構成例を示す概略ブロック図である。この解析サーバー1は、図1の解析サーバー100に対応している。
これらサービスサーバー21からサービスサーバー2nの各々は、それぞれ同様の分野のデータの検索に用いられるデータベースDB1、DB2、…、DBnを有している。
解析サーバー1は、各データベースDB1からDBn間のデータの均一化処理を、所定の周期(例えば、1日毎)に行う。解析サーバ1と、サービスサーバー21、22、…、2nの各々のとはネットワーク200で接続されている。ネットワーク200は、インターネットなどのデータ通信網で構成されている。
【0028】
図3は、図2における解析サーバー1の構成例を示すブロック図である。この図において、解析サーバー1は、制御部11、データ入力部12、データ送受信部13、データ内容更新部14、参照データベース設定部15、類似度算出部16、書換項目検出部17、信頼性データ記憶部18、記憶部19及び表示装置20を具備する。
データ入力部12は、図示しない入力装置からユーザが入力するデータ(解析サーバー1に対する制御指示を含む)を取り込む。
データ送受信部13は、解析サーバー1の管理下にあり、均一化の対象となるデータベースを有する各サービスサーバーとのデータ及び制御信号の送受信を行う。
参照データベース設定部15は、信頼性データ記憶部18に設けられている、各データベースDB1からDB2nの信頼度を示す基準データ(データベースの信頼性を示す信頼性データ)により、いずれのデータベースのデータが、蓄積用の蓄積データベースに蓄積されているデータの書換の際に参照される参照データとなるかの判定を行う。すなわち、参照データベース設定部15は、データベースのデータの均一化を行う際、いずれのデータベースが、他のデータベースのデータを変更する際に参照される参照データベースとなるかの判定を行い、判定結果により参照データベースを選択し、他のデータベースを対象データベースとする。ここで、参照データベースは、蓄積データベース(対象データベース)に比較して蓄積されたデータのデータ内容が充実し、最も信頼度の高い情報が得られるデータベースが、データベース制御装置が管理するデータベースの中から選定される。選定されたデータベースが参照データベースとされ、参照データベース以外のデータベース制御装置が管理するデータベースが蓄積データベースとされる。
【0029】
類似度算出部16は、参照データベースに蓄積された参照データの各々に対し、複数の参照データから順次一つずつ類似度を算出する参照データを選択し、対象データベースに蓄積された各蓄積データとの類似度を算出する。そして、類似度算出部16は、参照データの各々に対して、それぞれ類似度が最も高く、かつ予め設定した閾値を超えている蓄積データ(対象データベースの蓄積データ)を、類似度の計算を行った参照データと同様の種類の情報内容を有する同様データとして抽出する。ここで、類似度算出部16は、参照データと蓄積データとが同様の種類のデータであるか否かの判定に用いる類似度の算出を、参照データ及び蓄積データの各々を構成する参照項目データ及び蓄積項目データのデータ種類に応じて、いくつかの類似度算出方法によって行っている。例えばデータが文字列で構成されている場合は、参照項目データ及び蓄積項目データの各々の文字列に含まれる同一の単語あるいは一部を含む単語の割合にて求め、数値で示された識別情報の場合は、数値が完全一致であるか否かにより求め、数値が価格など意味を持つ値の場合は、数値の近さ(数値間の差分の量の大小)により求めている(詳細は後述)。
ここで、類似度算出部16は、各構成データに含まれるメタ情報に記載されたデータ種類と、このデータ種類に対して対応してどのような計算によって類似度を計算するかを示す類似度計算方法との関係を示す計算方法テーブル(類似度算出方法がデータの種類毎に設定されたテーブル)を有し、構成データからメタ情報を抽出し、抽出したメタ情報に対応するデータ種類に対応した類似度計算方法を計算方法テーブルから選択し、構成データ毎の類似度を算出する。なお、メタ情報とは、あるデータが付随して持つそのデータ自身についての抽象度の高い付加的なデータを指す。
【0030】
書換項目検出部17は、同様データとして抽出された蓄積データを構成する蓄積項目データから、書き換えを行う蓄積項目データの検出を行う。
データ内容更新部14は、検出された蓄積データにおける書き換えを行う書換蓄積項目データを、対応する参照データの蓄積項目データの情報により書換を行う。
記憶部19は、解析サーバー1の管理下にあるサービスサーバーのデータベースにおいて、いずれのデータベースが参照データベースであり、いずれのデータベースが対象データベースであるかの情報、また類似度算出部16が用いる類似度に対する閾値などが記憶されている。
表示装置20は、ユーザの入力するデータや、各データベースに対して行われている均一化処理の経過などが表示される。制御部11は、上述の各種動作の制御を行う。
【0031】
図7は、データベースの信頼性を求めるために用いられる、信頼性データ記憶部18に格納されている信頼性基準が示される基準テーブルの構成例を示す図である。この基準テーブルは解析サーバー1が管理するデータベース毎に設けられている。
信頼性基準としては、例えば、基準名として正当性、組織情報、専門性、関連人物、アクセス数、更新数、広告領域等が用いられる。これら基準名である正当性、組織情報、専門性、関連人物、アクセス数、更新数、広告領域の各々に対応する変数名として、それぞれ”Validity”、”Organization”、”Specialty”、”Person”、”Access”、”Update”、”Advertisement”が設定されている。
【0032】
この図7の基準テーブルにおいて、各基準の内容として、正当性はサイト情報を担保する根拠の有無を基準とするものであり、基準の判定に用いられるため収集される情報としては明示的な外部リンクの数、すなわち判定するサービスサーバーをリンク先として設定している他のサービスサーバーの数である。
また、組織情報は、実世界での所属組織の有無(実在する組織に対する所属しているか否か)を基準とするものであり、基準の判定に用いられるため収集される情報としては実在する組織へのアクセスデータ(組織名、住所、電話番号、メールアドレスなどの組織に対して連絡するためのアクセス情報)が記載されているか否かを示す情報である。
また、専門性は、所属組織の専門性の証明の有無を基準とするものであり、基準の判定に用いられるため収集される情報としては第三者機関が発行する資格または資格に対する合格基準の開示情報が記載されているか否かを示す情報である。
【0033】
また、関連人物は、実際に実世界に存在する実人物とのリンクの有無を基準とするものであり、基準の判定に用いられるため収集される情報としては実人物に対するアクセスデータ(住所、電話番号、メールアドレスなどの人物に対して連絡するためのアクセス情報)が記載されているか否かを示す情報である。
また、アクセス数は、一般ユーザからのアクセス回数を基準とするものであり、基準の判定に用いられるため収集される情報としてはサービスサーバーの検索サイトにアクセスするユニークユーザ数やPV(page view、ページビュー)数などのアクセスを数値化した情報である。
また、更新数は、サービスサーバーの検索サイトの更新回数を基準とするものであり、基準の判定に用いられるため収集される情報としては検索サイトが作成されてからの更新された更新回数、または予め設定された期間(例えば半年間)における更新の回数を示す更新する更新頻度を示す情報である。
【0034】
また、広告領域は、サービスサーバーのサイトに掲載されている宣伝(広告)の表示面積がサイト全体の表示面積に占める割合を基準とするものであり、基準の判定に用いられるため収集される情報としてはサイトに含まれる広告の表示面積とサイト全体の表示面積と、広告の表示面積のサイト全体の表示面積における比率を示す情報である。
上述した基準に対しては重み付けの係数が設定されており、例えば、本実施形態において、正当性の基準に対しては重み付け「5」、組織情報の基準に関しては重み付け「5」、専門性の基準に関しては重み付け「10」、関連人物の基準に関しては重み付け「5」、アクセス数の基準に関しては「30」、更新数の基準関しては「30」、広告領域の基準に関しては「15」が設定されている。
また、基準テーブルにおいて、各変数名の信頼性基準毎に、収集する情報が数値であるか、または基準に対応しているか否かのいずれであるかを示すデータ種別として、数値あるいはT/F(True/False、真/偽)が記載されている。
上述した基準テーブルの各信頼性基準の収集する情報は、定期的に操作者が調査を行い、得られた信頼性を判定するための収集する情報を、データ入力部12を介して解析サーバー1に入力し、信頼性データ記憶部18の基準テーブルに書き込む。
【0035】
次に、本実施形態の動作を説明する前に、均一化を行うデータの構成例を図4を用いて説明する。以下、説明を簡単にするため、図2における解析サーバー1の管理下にあるサービスサーバーをサービスサーバー21及び22の2つとし、データベースDB1とDB2とにおけるデータの構成について説明する。本実施形態の場合、参照データベースを有するサービスサーバーをサーバーAとし、蓄積データベース(対象データベース)を有するサービスサーバーをサーバーBとして設定される。
図4は、サーバーAに設けられた参照データベースのデータと、サーバーBに設けられた蓄積データベースのデータとの一例を示すテーブルである。参照データベース及び蓄積データベースには、このようなデータが蓄積データとして複数個が蓄積されている。参照データを構成する参照項目データの項目名あるいは蓄積データを構成する蓄積項目データの項目名として、商品名(変数名:item_name)、コメント(変数名:comment)、価格(変数名:price)、検索キー(変数名:keyword)、JAN(Japan Article Number code、日本工業規格に定められている、商品識別番号とバーコードの規格)コード(変数名:jan_code)、貯蔵方式(変数名:bin_kbn)、商品の頭文字(変数名:Initial)が記載されている。
【0036】
商品名は項目のメタ情報として「#」の記号にて複数の単語を連結して構成されていることを示す情報として単語複が記載されている。例えば、蓄積項目データとしてはデータベースDB1において「A社#鳥のからあげ#6個入り#冷凍」が記載され、データベースDB2において「A社#とりのからあげ#6個」が記載されている。
また、コメントは項目のメタ情報として文字の連なった文章であることを示す情報として文字列が記載されている。例えば、蓄積項目データとしてはデータベースDB1において「冷めてもやわらかく、ジューシーなおいしさのからあげです。変わらぬおいしさで愛されつづけているロングセラー」が記載され、データベースDB2において「大人気の冷めてもやわらかいジューシーなからあげです。国産鶏がらのブイヨンとまろやかな旨みが特徴」が記載されている。
【0037】
価格は項目のメタ情報として数であることを示す情報として数値が記載されている。例えば、蓄積項目データとしてはデータベースDB1において「350」が記載され、データベースDB2において「348」が記載されている。
検索キーは項目のメタ情報として、データベースから各蓄積データを検索する複数の単語が「#」の記号にて連結された構成であることを示す情報として単語複が記載されている。例えば、蓄積項目データとしてはデータベースDB1において「とり#鳥#鶏#からあげ#から揚げ#唐揚#から揚げ#カラアゲ#冷凍食品#冷食」が記載され、データベースDB2において「A社#とり#からあげ#6個」が記載されている。
【0038】
JANコードは項目のメタ情報として商品の識別情報であることを示すID(identify、識別)が記載されている。例えば、蓄積項目データとしてはデータベースDB1において「5511000044223333」が記載され、データベースDB2において記載されていない。
貯蔵方式は項目のメタ情報として1つの単語で示されていることを示す単語単が記載されている。例えば、蓄積項目データとしてはデータベースDB1において「冷凍」が記載され、データベースDB2において「冷凍」が記載されている。
商品名の頭文字は1つの単語から構成されることを示す情報として単語単が記載されている。例えば、蓄積項目データとしてはデータベースDB1において、「とりのからあげ」の頭文字の「と」が記載され、データベースDB2において記載されていない。
【0039】
参照データの蓄積項目データと蓄積データの蓄積項目データとの情報が一致した際に乗算される重み付けの係数が項目毎に設定されている。
商品名には、単語複により構成される複数の単語の内、一致した単語の数に対して乗算される重み付け係数として「30」が記載されている。コメントの文字列を構成する単語の内、一致する単語の数に対して乗算される重み付け係数として「5」が記載されている。価格には数値のいずれか大きい方により、小さい方を除算した数値に乗算する重み付け係数として「30」が記載されている。検索キーには、単語複により構成される複数の単語の内、一致した単語の数に対して乗算される重み付け係数として「5」が記載されている。JANコードにはコードの識別番号が一致した際に与えられる数値に乗算される重み係数「10」が記載されている。貯蔵方式には単語単として記載された単語が一致した際に与えられる数値に乗算される重み係数「10」が記載されている。商品名の頭文字には単語単として記載された単語が一致した際に与えられる数値に乗算される重み係数「10」が記載されている。
【0040】
参照データの蓄積項目データにより、蓄積データの蓄積項目データの書き換えを行うか否か、また書き換える場合にどのように処理するかを示す更新情報が項目毎に設定されている。ここで、書き換えを行うか否かは可否情報であり、更新情報が非対象の場合、書き換えは否であることを示し、更新情報が上書き、和集合の場合、書き換えは可であることを示している。
商品名の項には参照データの商品名により、蓄積データの商品名の情報を書き換えることを示す情報として上書きが記載されている。コメントの項には、参照データのコメントにより、蓄積データのコメントの情報を書き換えないことを示す情報として非対象が記載されている。価格の項には参照データの価格により、蓄積データの価格の情報を書き換えないことを示す情報として非対象が記載されている。検索キーの項には、参照データの情報と蓄積データの情報とのオアを取ることを示す情報である和集合が記載されている。JANコードの項には参照データのJANコードのIDの番号により、蓄積データのJANコードのIDの番号を書き換えることを示す情報として上書きが記載されている。貯蔵方式の項には参照データの貯蔵方式により、蓄積データの貯蔵方式の情報を書き換えることを示す情報として上書きが記載されている。商品名の頭文字の項には参照データの商品名の頭文字により、蓄積データの商品名の頭文字の情報を書き換えることを示す情報として上書きが記載されている。
【0041】
次に、図5により本実施形態における解析サーバー1の行うデータベースのデータの均一化処理の動作を説明する。図5は、解析サーバー1が参照データベースのデータにより、対象データベースのデータのデータ更新を行い、データの均一化を行う処理の動作例を示すフローチャートである。解析サーバー1の管理するサービスサーバーがサービスサーバー21及び22の2つとして以下、解析サーバー1における均一化処理の説明を行う。
【0042】
データ入力部12は、操作者(ユーザー)から均一化処理の実行を示す情報が入力された場合、解析サーバー1における均一化処理を開始させる。また、制御部11は予め設定された所定の周期となる時間が経過すると解析サーバー1における均一化処理を開始させる。
参照データベース設定部15は、サービスサーバー21のデータベースDB1と、サービスサーバー22のデータベースDB2とのいずれかが信頼性が高く参照データベースとして用いるかの判定を行う(ステップS1)。
このとき、参照データベース設定部15は、信頼性が高い方を参照データベースとし、この参照データベースを有するサービスサーバーをサーバーAに設定し、低い方を参照データベースのデータにより更新する蓄積データベースとし、この蓄積データベースを有するサービスサーバーをサーバーBに設定し、設定が終了したことを類似度算出部16に対して通知する。
【0043】
次に、類似度算出部16は、サーバーAに設けられた参照データベース内のデータ数を、データ送受信部13を介してサーバーAにアクセスして取得する(ステップS2)。すなわち、解析サーバー1はサーバーAに対し、参照データベースに蓄積されているデータの数(すなわち、レコード数)と各データが記憶されている位置を示すレコード番号を取得する依頼信号を送信する。この依頼信号をデータ送受信部13及びネットワークを介して受信すると、サーバーAは、蓄積データベースに蓄積されている参照データのデータ数であるレコード数と、各データのレコード番号を取得し、参照データの参照データ数及びデータのレコード番号として解析サーバー1に対して送信する。
そして、類似度算出部16は、サーバーAから、参照データベースに蓄積されているデータの参照データ数及びレコード番号がデータ送受信部13を介して供給されると、このデータ数及びレコード番号をサーバーAを識別するサーバー識別情報に対応させ、記憶部19に書き込む。また、類似度算出部16は、後述する参照データ数のチェックが終了したか否かの判定に用いるため、記憶部19に記憶されているチェック数Aを初期化して0とする。
【0044】
次に、類似度算出部16は、記憶部19から参照データ数及びチェック数Aを読み出し、チェック数Aが参照データ数未満であるか否かの判定を行う(ステップS3)。
このとき、類似度算出部16は、チェック数Aが参照データ数未満である場合、処理をステップS4へ進め、チェック数Aが参照データ数以上となった場合、均一化の処理を終了する。
【0045】
次に、類似度算出部16は、記憶部19に記憶されている参照データのレコード番号から、処理終了を示す終了フラグが付与されていないレコード番号を選択し、記憶部19に対してこの参照データのレコード番号に対応して終了フラグを書き込むことで、この参照データに対して終了フラグを付与する(ステップS4)。
そして、類似度算出部16は、サーバーAに対し、参照データの読み出し及び送信を依頼する検索信号を、終了フラグを付与した参照データのレコード番号とともに、データ送受信部13を介して送信する。
サーバーAは、類似度算出部16から参照データを送信する検索信号を受信すると、検索信号に付与されているレコード番号の参照データを読み出し、読み出した参照データを解析サーバ1へ送信する。
【0046】
参照データが送受信部13を介して供給されると、類似度算出部16は、前回書き込んだ参照データを記憶部19から削除し、この供給された参照データを記憶部19に書き込み、チェック数Aをインクリメント(1を加算)する(ステップS5)。
【0047】
次に、類似度算出部16は、サーバーBに設けられた対象データベース内のデータ数を、データ送受信部13を介してサーバーBにアクセスして取得する(ステップS6)。すなわち、解析サーバー1はサーバーBに対し、蓄積データベースに蓄積されているデータの数(すなわち、レコード数)と各データが記憶されている位置を示すレコード番号を取得する依頼信号を送信する。この依頼信号をデータ送受信部13及びネットワークを介して受信すると、サーバーBは、蓄積データベースに蓄積されている蓄積データのデータ数であるレコード数と、各データのレコード番号を取得し、蓄積データの蓄積データ数及びデータのレコード番号として解析サーバー1に対して送信する。
そして、類似度算出部16は、サーバーBから、対象データベースに蓄積されているデータの蓄積データ数及びレコード番号がデータ送受信部13を介して供給されると、この蓄積データ数及びレコード番号をサーバーBを識別するサーバー識別情報に対応させ、記憶部19に書き込む。また、類似度算出部16は、後述するデータ数のチェックが終了したか否かの判定に用いるため、記憶部19に記憶されているチェック数Bを初期化して0とする。
【0048】
次に、類似度算出部16は、記憶部19から蓄積データ数及びチェック数Bを読み出し、チェック数Bが蓄積データ数未満であるか否かの判定を行う(ステップS7)。
このとき、類似度算出部16は、チェック数Bが蓄積データ数未満である場合、処理をステップS8へ進め、チェック数Bが蓄積データ数以上となった場合、処理をステップS3へ進める。
【0049】
次に、類似度算出部16は、記憶部19に記憶されている蓄積データのレコード番号から、処理終了を示す終了フラグが付与されていないレコード番号を選択し、記憶部19に対してこの蓄積データのレコード番号に対応して終了フラグを書き込むことで、この蓄積データに対して終了フラグを付与する(ステップS8)。
そして、類似度算出部16は、サーバーBに対し、蓄積データの読み出し及び送信を依頼する検索信号を、終了フラグを付与した蓄積データのレコード番号とともに、データ送受信部13を介して送信する。
サーバーBは、類似度算出部16から蓄積データを送信する検索信号を受信すると、検索信号に付与されているレコード番号の蓄積データを読み出し、読み出した蓄積データを解析サーバ1へ送信する。
【0050】
蓄積データが送受信部13を介して供給されると、類似度算出部16は、前回書き込んだ蓄積データを記憶部19から削除し、この供給された蓄積データを記憶部19に書き込み、チェック数Bをインクリメントする(ステップS9)。
【0051】
次に、類似度算出部16は、記憶部19に記憶されている参照データ及び蓄積データを読み出し、この参照データ及び蓄積データの類似度SCORE_ALLを算出する(ステップS10)。この類似度算出部16が行う類似度算出の処理についての詳細は後述する。
【0052】
そして、類似度算出部16は、求めた類似度SCORE_ALLが予め設定した閾値を超えるか否かの判定を行い(ステップS11)、類似度SCORE_ALLが予め設定した閾値を超える場合、処理をステップS12へ進め、一方、類似度SCORE_ALLが予め設定した閾値以下の場合、処理をステップS7へ進める。
【0053】
次に、書換項目検出部17は、蓄積データを構成する蓄積項目データの各変数名(item_name、comment、price、Keyword、jan_code、bin_kbn、Initial)を記憶19から読み込み、記憶部19に設定されている書換リストに書き込み(ステップS12)、処理をステップS13へ進める。
【0054】
次に、書換項目検出部17は、記憶部19の書換リストに蓄積項目データの変数名の有無を確認し(ステップS13)、書込リストにいずれの変数名も存在しない場合、処理をステップS14へ進め、一方、いずれかの変数名が書込リストに存在する場合、処理をステップS14へ進める。
【0055】
蓄積データ及び参照データの変更の処理が終了したとして、データ内容更新部14は、記憶部19に記憶されている蓄積データをレコード番号とともに読み出し、読み出した蓄積番号及びレコード番号を書換信号に付与してサーバーBに送信し、同様に、記憶部19に記憶されている参照データをレコード番号とともに読み出し、読み出した参照番号及びレコード番号を書換信号に付与してサーバーAに送信する(ステップS14)。
次に、サーバーBは、解析サーバ1から受信した書換信号により、蓄積データベースにおける書換信号に付与されたレコード番号の蓄積データを、書換信号に付与された蓄積データにより書き換える。
また、サーバーAは、解析サーバ1から受信した書換信号により、参照データベースにおける書換信号に付与されたレコード番号の参照データを、書換信号に付与された参照データにより書き換える。
【0056】
そして、書換項目検出部17は、記憶部19の書換リストから存在する変数名のいずれかを読み出し(ステップS15)、読み出した変数名を記憶部19の書換リストから削除し、処理をステップS16へ進める。
【0057】
次に、書換項目検出部17は、読み出した変数名に対応する蓄積項目データの更新情報を、記憶部19の蓄積データから読み込み(ステップS16)、処理をステップS17へ進める。
【0058】
更新情報を読み込むと、書換項目検出部17は、更新情報として記載された情報が変更の種別として非対象、上書き、和集合のいずれであるかの判定を行う(ステップS17)。ここで、書換項目検出部17は、読み出した種別と、対応する変数名とをデータ内容更新部14へ出力する。
そして、データ内容更新部14は、供給される種別が非対象の場合、データの書換処理を行わずに、処理をステップS13へ進め、種別が上書きの場合、処理をステップS18へ進め、種別が和集合の場合、処理をステップS19へ進める。
【0059】
図6は、データ内容更新部14が参照データベースの参照データの情報により、図4における蓄積データベースの蓄積データの内容が更新される処理を説明する図である。
変数名comment及びpriceは、更新情報が非対象のため、変更処理が行われない。
変数名item_name、jan_code、bin_kbn及びinitialは、更新情報が上書きのため、参照項目データにより蓄積項目データが上書きされることにより変更されている。ここで、変数名bin_kbnの場合、参照項目データと蓄積項目データとの情報が変更前から同一であるため、上書きしても変更されていないように見える。
また、変数名keywordは、更新情報が和集合のため、蓄積項目データ及び参照項目データとの双方が互いの単語のオアをとり、和集合の処理が行われる。
【0060】
更新情報が上書きの場合、データ内容更新部14は、記憶部19において、同様データとして検出された参照データから、変数名に対応した参照項目データを読み出し、この参照項目データにより蓄積データにおける同一の変数名の蓄積項目データを上書きする(ステップS18)。また、データ内容更新部14は、処理をステップS13へ進める。
【0061】
更新情報が和集合の場合、データ内容更新部14は、蓄積項目データの記号#で区切られた単語列から、記号#により各単語を分割して抽出し、抽出した単語を単語リストに書き込む。
続いて、データ内容更新部14は、参照項目データの記号#で区切られた単語列から、記号#により各単語を分割して抽出し、抽出した単語を単語リストに書き込み(ステップS19)、処理をステップS20へ進める。
【0062】
次に、データ内容更新部14は、記憶部19において、単語リストのなかから同一の単語が複数存在するか否かを検出し、同一の単語が複数ある場合、この複数の単語からいずれか一つを残し、他の同一の単語を削除し(ステップS20)、処理をステップS21へ進める。
【0063】
そして、データ内容更新部14は、記憶部19の単語リストに存在する単語を1つずつ順番に読み出し、順次読み出した単語を記号#を単語間に挟むことで各単語を連結し(ステップS21)、処理をステップS22へ進める。
【0064】
次に、データ内容更新部14は、この連結した単語列を、記憶部19に記憶されている蓄積データの対応する蓄積項目データに上書きし、かつ参照データの対応する参照項目データに上書きし(ステップS22)、処理をステップS13へ進める。
本実施形態としては、説明を簡単にするため、2つのサービスサーバー21及び22との構成により、蓄積データの均一化を説明した。また、解析サーバー1は、サービスサーバーが3個以上の複数の場合(サービスサーバー21から2nから構成される場合)も、これらのデータベースの中から、参照データベースとなるデータベースの検索を行う。そして、解析サーバー1は、参照データベースとならなかった蓄積データベースを対象データベースとして、上述したデータベース間における蓄積データの均一化処理を、参照データベースの参照データベースにより、順次データベース毎に行っていく。
【0065】
次に、図8により本実施形態の解析サーバ1における参照データベース設定部15の行う参照データベースの選択処理の動作を説明する。図8は、参照データベース設定部15が信頼性データ記憶部18に記憶された基準テーブル(図7に示す)の各信頼性基準に基づき、複数のデータベースのいずれを、最も信頼性の高い参照データベースとして選択するかの動作例を示すフローチャートである。
解析サーバー1の管理するサービスサーバーがサービスサーバー21及び22の2つとし、以下、参照データベース設定部15による参照データベースの選択処理を説明する。また、このとき、前回の判定において、サービスサーバー21がサーバーAであり、サービスサーバー22がサーバーBとして設定されているとする。
【0066】
参照データベース設定部15は、信頼性データ記憶部18の基準テーブルから、各基準の変数名Validity、Organaization、Specialty、Person、Access、Update及びAdvertisementを読み込み、記憶部19の選択テーブルに順次書き込み(ステップS101)、処理をステップS2へ進める。また、このとき、参照データベース設定部15は、いずれのデータベースの信頼性が高いかを示す評価値VALUE_ALLを0に初期化する。
【0067】
次に、参照データベース設定部15は、記憶部19の選択テーブルにいずれかの変数名が存在するか否かの判定を行い(ステップS102)、いずれの変数名も残っていない場合、処理をステップS103へ進め、一方、いずれかの変数名が存在する場合、処理をステップS105へ進める。
【0068】
そして、参照データベース設定部15は、評価値VALUE_ALLが正または負のいずれであるか(0以上であるか否か)の判定を行う(ステップS103)。評価値VALUE_ALLが正の場合、サーバーAであるサービスサーバー21に設けられたデータベースDB1が、サーバーBであるサービスサーバー22に設けられたデータベースDB2より信頼性が高いとして、参照データベースとしてデータベースDB1を設定し、対象データベースとしてデータベースDB2を設定した状態を変更せず、参照データベース設定処理を終了する。一方、評価値VALUE_ALLが負の場合、サーバーAであるサービスサーバー21に設けられたデータベースDB1が、サーバーBであるサービスサーバー22に設けられたデータベース22より信頼性が低いとして、参照データベースとしてデータベースDB2を設定し、対象データベースとしてデータベースDB1を設定した状態として(サーバーAとサーバBとをスイッチして)、参照データベース設定処理を終了する。
【0069】
選択リストにいずれかの変数名が存在した場合、参照データベース設定部15は、記憶部19の選択リストに存在するいずれかの変数名を読み込み(ステップS105)、処理をステップS106へ進める。このとき、参照データベース設定部15は、読み込んだ変数名を、記憶部19の選択リストから削除する。
【0070】
変数名を読み込むと、参照データベース設定部15は、変数名に対応した信頼性基準の収集する情報を、信頼性データ記憶部18のデータベースDB1、DB2の各々に対応した信頼性テーブルそれぞれから読み出す(ステップS106)。
ここで、参照データベース設定部15は、信頼性テーブルから読み出して収集する情報が、数値であるか、または信頼性基準を満たすか否かを示す有無情報であるかを、データ種別により判定し(ステップS107)、データ種別が数値である場合、処理をステップS108へ進め、一方、データ種別がT/Fである場合、処理をステップS114へ進める。図7において、数値としては基準名として、正当性(外部リンクのリンク数)、アクセス数、更新数及び広告領域(広告の表示面積がサイトの全表示面積に占める割合を示す比率)がある。
【0071】
データ種別が数値の場合、参照データベース設定部15は、データベースDB1の収集する情報の数値を変数Dat_Aに代入し、同様にデータベースDB2の収集する情報の数値を変数Dat_Bに代入し(ステップS108)、処理をステップS109へ進める。
【0072】
次に、参照データベース設定部15は、変数Dat_Aに代入された数値と、変数Dat_Bに代入された数値とが等しいか否かの判定を行い(ステップS109)、変数Dat_Aに代入された数値と変数Dat_Bに代入された数値とが等しい場合、処理をステップS111へ進め、一方、変数Dat_Aに代入された数値と変数Dat_Bに代入された数値とが異なる場合、処理をステップS110へ進める。
【0073】
変数Dat_Aに代入された数値と変数Dat_Bに代入された数値とが等しい場合、参照データベース設定部15は、変数VALUEに0を代入し(ステップS111)、処理をステップS121へ進める。
【0074】
変数Dat_Aに代入された数値と変数Dat_Bに代入された数値とが異なる場合、参照データベース設定部15は、変数Dat_Aに代入された数値が変数Dat_Bに代入された数値より大きいか否かの判定を行い、変数Dat_Aに代入された数値が変数Dat_Bに代入された数値より大きい場合、処理をステップS112へ進める。一方、変数Dat_Aに代入された数値が変数Dat_Bに代入された数値より小さい場合、処理をステップS113へ進める。
【0075】
変数Dat_Aに代入された数値が変数Dat_Bに代入された数値より大きい場合、参照データベース設定部15は、変数VALUEに1を代入し(ステップS112)、処理をステップS121へ進める。
【0076】
変数Dat_Aに代入された数値が変数Dat_Bに代入された数値より小さい場合、参照データベース設定部15は、変数VALUEに−1を代入し(ステップS113)、処理をステップS121へ進める。
【0077】
ステップS107においてデータ種別がT/Fである場合、参照データベース設定部15は、データベースDB1の収集する情報として有無を示すTまたはFの文字を変数Dat_Aに代入し、同様にデータベースDB2の収集する情報として有無を示すTまたはFの数値を変数Dat_Bに代入し(ステップS114)、処理をステップS115へ進める。図7において、T/Fとしては基準名として、組織情報、専門性及び関連人物がある。
【0078】
次に、参照データベース設定部15は、変数Dat_Aに代入された文字と、変数Dat_Bに代入された文字とが等しいか否かの判定を行い(ステップS115)、変数Dat_Aに代入された文字と変数Dat_Bに代入された文字とが等しい場合、処理をステップS116へ進め、一方、変数Dat_Aに代入された文字と変数Dat_Bに代入された文字とが異なる場合、処理をステップS117へ進める。
【0079】
変数Dat_Aに代入された文字と変数Dat_Bに代入された文字とが等しい場合、参照データベース設定部15は、変数Dat_Bに書き込まれた文字がT(True)であるか否かの判定を行い(ステップS116)、変数Dat_Bに書き込まれた文字がTでない場合、処理をステップS118へ進め、一方、変数Dat_Bに書き込まれた文字がTである場合、処理をステップS119へ進める。
【0080】
変数Dat_Aに代入された文字と変数Dat_Bに代入された文字とが等しくない場合、参照データベース設定部15は、変数Dat_Bに書き込まれた文字がT(True)であるか否かの判定を行い(ステップS117)、変数Dat_Bに書き込まれた文字がTである場合、処理をステップS120へ進め、一方、変数Dat_Bに書き込まれた文字がTでない場合、処理をステップS119へ進める。
【0081】
ステップS116において変数Dat_Bに書き込まれた文字がTでない場合、参照データベース設定部15は、変数VALUEに1を代入し(ステップS118)、処理をステップS121へ進める。
【0082】
ステップS116において変数Dat_Bに書き込まれた文字がTである場合、またはステップS117において変数Dat_Bに書き込まれた文字がTでない場合、参照データベース設定部15は、変数VALUEに0を代入し(ステップS119)、処理をステップS121へ進める。
【0083】
次に、参照データベース設定部15は、変数名に対応する信頼性基準に付与された重み付け係数を、信頼性データ記憶部18の基準テーブルから読み込み、読み込んだ重み付け係数を変数VALUEに乗算し、乗算結果を評価値VALUE_ALLに対して加算し、基準テーブルにおける各信頼性基準の積算を行い(ステップS121)、処理をステップS102へ進める。
【0084】
ステップS117において変数Dat_Bに書き込まれた文字がTである場合、参照データベース設定部15は、変数VALUEに−1を代入し(ステップS120)、処理をステップS121へ進める。
【0085】
また、本実施形態においては、各サービスサーバーに設けられたデータベースを並列に扱う、すなわち各データベースに蓄積された蓄積データの均一化の処理を行う際、いずれのデータベースがユーザからの信頼が高いかを判定し、最も信頼性の高いデータベースを参照データベースとして、この参照データベースに蓄積されている参照データにより、他の対象データベースに蓄積されている蓄積データを変更している。
他の構成として、解析サーバー1に、参照される参照データベースが、予め管理下にある複数のデータベースサーバにおいて設定され、この参照データベースに蓄積されている蓄積データを参照データとして用いる構成としても良い。
【0086】
次に、図9、図10及び図11により本実施形態の解析サーバ1における類似度算出部16の行う参照データと蓄積データとの類似度の算出処理の動作を説明する。図9は、類似度算出部16が図4の参照データ(サーバーAの参照データベース)と蓄積データ(サーバーBの対象データベース)との類似度を、参照項目データと蓄積項目データとの、それぞれの項目毎の類似度を算出し、この項目毎の類似度の合計から同様データであるか否かの判定を行う動作例を示すフローチャートである。図10は、参照データベースの参照データと対象データベースの蓄積データとの類似度の計算過程Iを説明する、参照データと蓄積データとのデータ構成を示す図である。図11は、データの各項目毎の類似度の計算過程IIを説明する図であり、変数名毎の類似度の算出式と、各類似度に乗算する重み付けの計数と、例として算出したSCOREの数値が記載されている。
解析サーバー1の管理するサービスサーバーがサービスサーバー21及び22の2つとし、以下、参照データベース設定部15による参照データベースの選択処理を説明する。また、このとき、前回の判定において、サービスサーバー21がサーバーAであり、サービスサーバー22がサーバーBとして設定されているとする。
【0087】
類似度算出部16は、記憶部19に記憶されている蓄積データを形成する各蓄積項目データの項目全ての変数名item_name、comment、price、Keyword、jan_code、bin_kbn及びInitialを読み出し(ステップS201)、記憶部19に設定されている計算テーブルに書き込む。
【0088】
次に、類似度算出部16は、記憶部19の計算テーブルにいずれかの変数名が存在しているか否かの判定を行い(ステップS202)、計算テーブルにいずれかの変数名が存在している場合、処理をステップS203へ進め、一方、計算テーブルに変数名がいずれも存在しない場合、類似度の計算を終了し、この時点の類似度SCORE_ALLを参照データと蓄積データとの類似度として出力する。
【0089】
計算テーブルにいずれかの変数名が存在している場合、類似度算出部16は、記憶部19の計算テーブルからいずれかの項目の変数名を読み出し(ステップS203)、処理をステップS204へ進める。また、このとき、類似度算出部16は、記憶部19の計算テーブルから読み出した変数名を削除する。
【0090】
次に、類似度算出部16は、読み出した変数名に対応する項目の蓄積項目データが存在するか否かの判定を行い(ステップS204)、蓄積項目データが存在していない場合、処理をステップS205へ進め、蓄積項目データが存在している場合、処理をステップS206へ進める。
例えば、図10に示すように、蓄積データにおいて、変数名jan_code及びInitialの蓄積項目データが存在していないため、この変数名の場合、類似度算出部16は、処理をステップS205へ進めることになる。このため、図11に示すように、類似度算出部16は、ステップS205において変数SCOREに1を代入することになる。
一方、他の変数名item_name、comment、price、Keyword及びbin_kbnには蓄積項目データが存在しているため、類似度算出部16は、処理をステップS206へ進めることになる。
【0091】
蓄積項目データが存在していない場合、類似度算出部16は、変数SCOREに1を代入し(ステップS205)、処理をステップS212へ進める。
【0092】
蓄積項目データが存在している場合、類似度算出部16は、変数名の項目のメタ情報を記憶部19の蓄積データから読み出し(ステップS206)、処理をステップS207へ進める。
【0093】
次に、類似度算出部16は、読み出したメタ情報が数値、ID、単語単、文字列及び単語複のいずれを示しているかの判定を行い(ステップS207)、メタ情報が数値の場合、処理をステップS208へ進め、メタ情報がIDの場合、処理をステップS213へ進め、メタ情報が単語単の場合、処理をステップS217へ進め、メタ情報が文字列の場合、処理をステップS222へ進め、メタ情報が単語複の場合、処理をステップS224へ進める。
【0094】
読み出したメタ情報が数値の場合、類似度算出部16は、データベースDB1の参照データの参照項目データの数値を変数Dat_Aに代入し、同様にデータベースDB2の蓄積データの蓄積項目データの数値を変数Dat_Bに代入し(ステップS208)、処理をステップS209へ進める。
【0095】
次に、類似度算出部16は、変数Dat_Aに代入された数値が、変数Dat_Bに代入された数値を超えているか否かの判定を行い(ステップS209)、変数Dat_Aに代入された数値が変数Dat_Bに代入された数値より小さい場合、処理をステップS210へ進め、一方、変数Dat_Aに代入された数値が変数Dat_Bに代入された数値を超える値である場合、処理をステップS211へ進める。
【0096】
変数Dat_Aに代入された数値が、変数Dat_Bに代入された数値より小さい場合、類似度算出部16は、変数SCOREに対して、変数Dat_Aを変数Dat_Bで除算した結果を代入し(ステップS210)、処理をステップS212へ進める。
【0097】
変数Dat_Aに代入された数値が、変数Dat_Bに代入された数値を超える場合、類似度算出部16は、変数SCOREに対して、変数Dat_Bを変数Dat_Aで除算した結果を代入し(ステップS211)、処理をステップS212へ進める。
例えば、変数名priceの場合、参照項目データの数値が350であり、蓄積項目データの数値が348である。
このため、類似度算出部16は、図11に示すように、348/350の計算を行い、得られた0.999…を変数SCOREに代入する。
【0098】
次に、類似度算出部16は、変数名に対応する重み付け係数を記憶部19の蓄積データから読み出し、読み出した重み付け係数を変数SCOREに対して乗算し、得られた乗算結果を類似度SCORE_ALLに対して加算し(ステップS212)、データの項目毎に求め、重み付けを行った変数SCOREの積算処理を行い、類似度を算出する。
【0099】
ステップS207においてメタ情報がIDの場合、類似度算出部16は、データベースDB1の参照データの参照項目データのIDの識別情報を変数Dat_Aに代入し、同様にデータベースDB2の蓄積データの蓄積項目データのIDの識別情報を変数Dat_Bに代入し(ステップS213)、処理をステップS214へ進める。
【0100】
次に、類似度算出部16は、変数Dat_Aと変数Dat_Bとが等しいか否かの判定を行い(ステップS214)、変数Dat_Aと変数Dat_Bとが等しい場合、処理をステップS215へ進め、一方、変数Dat_Aと変数Dat_Bとが等しくない場合、処理をステップS216へ進める。
【0101】
変数Dat_Aと変数Dat_Bとが等しい場合、類似度算出部16は、変数SCOREに対して1を代入し(ステップS215)、処理をステップS212へ進める。
【0102】
変数Dat_Aと変数Dat_Bとが等しくない場合、類似度算出部16は、変数SCOREに対して0を代入し(ステップS216)、処理をステップS212へ進める。
【0103】
ステップS207においてメタ情報が単語単の場合、類似度算出部16は、参照データにおける参照項目データの単語のデータと、蓄積データにおける蓄積項目データの単語のデータとを記憶部19から読み込み(ステップS217)、処理をステップS218へ進める。
【0104】
次に、類似度算出部16は、参照項目データの単語と、蓄積項目データの単語とが完全に一致しているか否か(すなわち同一であるか否か)の判定を行い(ステップS219)、参照項目データの単語と、蓄積項目データの単語とが完全に一致している場合、処理をステップS22へ進め、一方、蓄積項目データの単語とが完全に一致していない場合、処理をステップS221へ進める。
【0105】
参照項目データの単語と、蓄積項目データの単語とが完全に一致している場合、類似度算出部16は、変数SCOREに対して1を代入し(ステップS220)、処理をステップS212へ進める。
【0106】
参照項目データの単語と、蓄積項目データの単語とが完全に一致していない場合、類似度算出部16は、変数SCOREに対して0を代入し(ステップS221)、処理をステップS212へ進める。
例えば、変数名bin_kbnの場合、参照項目データの単語「冷凍」と、蓄積項目データの単語「冷凍」とは完全に一致しているため、類似度算出部16は、ステップS220において、変数SCOREに対して1を代入することになる。
【0107】
ステップS207においてメタ情報が文字列の場合、類似度算出部16は、参照データにおける参照項目データの文字列の単語のデータと、蓄積データにおける蓄積項目データの文字列のデータとを記憶部19から読み込み(ステップS222)、処理をステップS223へ進める。
【0108】
次に、類似度算出部16は、読み込んだ参照項目データの文字列を形態素解析し、単語に分割し、分割した単語を記憶部19に設定された類似単語Aリストに書き込み、同様に、読み込んだ蓄積項目データの文字列を形態素解析し、単語に分割し、分割した単語を記憶部19に設定された類似単語Bリストに書き込み(ステップS223)、処理をステップS226へ進める。このとき、類似度算出部16は、記憶部19における変数COUNTを0に初期化するとともに、記憶部19の類似単語Aリストに存在する単語数と、類似単語Bリストに存在する単語数とを、それぞれ参照データあるいは蓄積データの何れかである識別情報を付与し、この識別情報とともに記憶部19に書き込み記憶させる。
【0109】
そして、類似度算出部16は、類似単語Aリストに単語が存在しているか否かの判定を行い(ステップS226)、類似単語Aリストに単語が存在している場合、処理をステップS227へ進め、一方、類似単語Aリストに単語が存在していない場合、処理をステップS231へ進める。
【0110】
類似単語Aリストに単語が存在している場合、類似度算出部16は、存在している単語のいずれかを読み込み(ステップS227)、処理をステップS228へ進める。このとき、類似度算出部16は、類似度単語Aリストから読み出した単語を、類似度単語Aリストから削除する。
【0111】
次に、類似度算出部16は、類似度単語Aリストから読み込んだ単語と、類似度単語Bリストに存在する単語と比較し(ステップS228)、処理をステップS229へ進める。
【0112】
比較結果において、類似度算出部16は、類似度単語Aリストから読み込んだ単語と、類似度単語Bリストに存在する単語とが、完全一致あるいは同一の語部分がある部分一致であるか、全く一致する部分がないかのいずれであるかの判定を行い(ステップSS229)、類似度単語Aリストから読み込んだ単語と類似度単語Bリストに存在する単語とが完全に一致していない場合、処理をステップS226へ進め、類似度単語Aリストから読み込んだ単語と類似度単語Bリストに存在する単語とが完全一致あるいは部分一致の場合、処理をステップS230へ進める。
【0113】
類似度単語Aリストから読み込んだ単語と類似度単語Bリストに存在する単語とが完全一致あるいは部分一致の場合、類似度算出部16は、変数COUNTをインクリメントし(ステップS230)、処理をステップS226へ進める。
【0114】
ステップS226において類似度単語Aリストに単語が残っていない場合、類似度算出部16は、類似度単語Aリストに存在する単語数と、類似度単語Bリストに存在する単語数を、記憶部19から読み出し、算出された変数COUNTを類似度単語Aリストに存在する単語数で除算した数値COAと、算出された変数COUNTを類似度単語Aリストに存在する単語数で除算した数値COBとを算出する。
そして、類似度算出部16は、算出された数値COAと数値COBとのいずれか大きい方を変数SCOREの値として出力する(ステップS231)。
【0115】
例えば、メタ情報が文字列の変数名commentの場合、参照項目データは<冷めてもやわらかく、ジューシーなおいしさのからあげです。変らぬおいしさで愛されつづけているロングセラーです>の文字列であり、類似度算出部16は、形態素解析により、<「冷め」ても「やわらか」く、「ジューシーな」「おいしさ」の「からあげ」です。「変ら」ぬ「おいしさ」で「愛さ」れ「つづけ」ている「ロングセラー」です>のように、10個の単語に分解する。
また、同様に、類似度算出部16は、蓄積項目データである<大人気の冷めてもやわらかジューシーなからあげです。国産鶏がらのブイヨンとまろやかな旨みが特徴>の文字列を、形態素解析し、<「大人気」の「冷め」ても「やわらか」「ジューシー」な「からあげ」です。「国産」「鶏がら」の「ブイヨン」と「まろやかな」「旨み」が「特徴」>のように、11個の単語に分解する。
【0116】
そして、類似度算出部16は、図11に示すように、完全一致または部分一致の単語が4個、参照項目データを形態素解析して得られた単語数が10個、蓄積項目データを形態素解析して得られた単語数が11個、とそれぞれ算出される。完全一致または部分一致した単語数を参照項目データを形態素解析して得られた単語数で除算した値(0.4)が、蓄積項目データを形態素解析して得られた単語数で、除算した値(0.36)より大きいため、0.4を変数SCOREに代入する。
【0117】
ステップS207においてメタ情報が単語複の場合、類似度算出部16は、参照データにおける参照項目データの単語列のデータと、蓄積データにおける蓄積項目データの単語列のデータとを記憶部19から読み込み(ステップS224)、処理をステップS225へ進める。
【0118】
次に、類似度算出部16は、読み込んだ参照項目データの単語列を単語間に挟まれている記号♯により抽出し、単語に分割し、分割した単語を記憶部19に設定された類似単語Aリストに書き込み、同様に、読み込んだ蓄積項目データの単語列を単語間に介挿されている記号♯により抽出し、単語に分割し、分割した単語を記憶部19に設定された類似単語Bリストに書き込み(ステップS225)、処理をステップS226へ進める。このとき、類似度算出部16は、記憶部19における変数COUNTを0に初期化するとともに、記憶部19の類似単語Aリストに存在する単語数と、類似単語Bリストに存在する単語数とを、それぞれ参照データあるいは蓄積データの何れかである識別情報を付与し、この識別情報とともに記憶部19に書き込み記憶させる。
【0119】
例えば、メタ情報が単語複の変数名item_nameの場合、類似度算出部16は、参照データの参照項目データ<A社#鳥のからあげ#6個入り#冷凍>から、記号#により「A社」、「鳥のからあげ」、「6個入り」及び「冷凍」の4つの単語を抽出する。
同様に、類似度算出部16は、蓄積データの蓄積項目データ<A社#とりのからあげ#6個>から、記号#より「A社」、「とりのからあげ」及び「6個」の3つの単語を抽出する。
【0120】
そして、類似度算出部16は、「A社」が完全一致として検出し、「鳥のからあげ」及び「とりのからあげ」と、「6個入り」及び「6個」とが部分一致として検出することで、変数COUNTが3となる。
このため、類似度算出部16は、参照項目データの単語列から抽出された単語数が4個であり、蓄積項目データの単語列から抽出された単語数が3個のため、完全一致または部分一致した単語の数を、蓄積項目データの単語列から抽出された単語数で除算した値(1.0)が、参照項目データの単語列から抽出された単語数で除算した値(0.75)より大きいため、1を変数SCOREに代入する。
【0121】
上述した構成により、本実施形態の解析サーバ1は、管理下にある複数の異なるデータベース(図2のDB1からDBn)間において、最も検索において信頼性の高いと判定されるデータベースを参照データベースとして設定し、その他のデータベースを更新対象の対象データベースとする。参照データべース及び対象データベースそれぞれに蓄積されているデータ間の類似度を求め、類似度が設定された閾値より高いものを同一のデータと判定する。参照データベースのデータを参照することで、対象データベースのデータを更新することにより、データベース間のデータの内容が均一化され、蓄積されたデータの再利用性が高いデータベースを容易に維持することが可能となる。
【0122】
また、図3におけるデータ内容更新部14、参照データベース設定部15、類似度算出部16及び書換項目検出部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより複数のデータ間の均一化処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0123】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0124】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0125】
この発明の実施形態は、複数のデータベースに対する情報検索の分野において利用することができる。
【符号の説明】
【0126】
1,100…解析サーバー
21,22,2n,102,105…サービスサーバー
DB1,DB2,DBn…データベース
11…制御部
12…データ入力部
13…データ送受信部
14…データ内容更新部
15…参照データベース設定部
16…類似度算出部
17…書換項目検出部
18…信頼性データ記憶部
19…記憶部
20…表示装置

【特許請求の範囲】
【請求項1】
参照用の参照データベースに蓄積されている参照データと、蓄積用の蓄積データベースに蓄積されている蓄積データとのデータ内容を比較し、当該蓄積データと前記参照データとの類似度を求め、求められた前記類似度が予め設定された閾値を超える前記蓄積データを、同様データとして検出する類似度算出部と、
前記同様データとして検出された前記蓄積データを、当該蓄積データのデータ内容により更新するデータ内容更新部と
を有するデータベース制御装置。
【請求項2】
前記蓄積データ及び参照データの各々が複数の構成データから構成されており、構成データ毎に情報の更新を行うか否かを示す可否情報が予め設定され、
前記可否情報により、前記参照データのデータ内容により前記蓄積データの更新を行うか否かを、前記構成データ毎に判定する書換項目検出部をさらに有する
ことを特徴とする請求項1に記載のデータベース制御装置。
【請求項3】
前記構成データに設定された前記可否情報が可である場合、前記参照データに対して前記同様データとされた前記蓄積データの前記構成データを、当該参照データの対応する構成データにより変更し、一方、前記可否情報が否である場合、前記参照データに対して前記同様データとされた前記蓄積データの構成データを、当該参照データの対応する構成データによる変更を行わないことを特徴とする請求項2に記載のデータベース制御装置。
【請求項4】
また、前記可否情報が可の場合、該構成データを、前記参照データベースの前記データにおける対応する前記構成データを上書きするか、あるいは当該データの前記構成データと前記参照データベースの前記データにおける対応する構成データとの和集合とするかの変更種別が設定されていることを特徴とする請求項3に記載のデータベース制御装置。
【請求項5】
前記類似度算出部は、前記構成データの前記データ種類毎に設定された、前記参照データの前記構成データと前記蓄積データの前記構成データとの類似度を求める類似度算出方法により、前記参照データベースと前記蓄積データベースとの前記データにおける前記構成データ毎の類似度を算出し、算出された類似度の合計を前記データの類似度とすることを特徴とする請求項2から請求項4のいずれか一項に記載のデータベース制御装置。
【請求項6】
前記構成データに含まれるメタ情報がデータ種類を示しており、
前記類似度算出部は、関係する前記データ種類と類似度計算方法との関係を示す計算方法テーブルを有し、前記構成データからメタ情報を抽出し、抽出した前記メタ情報に対応する類似度計算方法を前記計算方法テーブルから選択し、前記構成データ毎の前記類似度を算出する
ことを特徴とする請求項5に記載のデータベース制御装置。
【請求項7】
前記類似度算出部は、前記類似度計算方法により求めた前記類似度に対し、前記構成データに設定された重み付け係数を乗算して、前記構成データの前記類似度とすることを特徴とする請求項6に記載のデータベース制御装置。
【請求項8】
一定期間毎に更新される複数項目からなるデータベースの信頼性を示す信頼性データを前記データベース毎に記憶する信頼性データ記憶部と、
前記信頼性データを元に前記データベース毎の信頼度を求め、最も信頼度の高い前記データベースを前記参照データベースに設定する参照データベース設定部と
をさらに有することを特徴とする請求項1から請求項7いずれか一項に記載のデータベース制御装置。
【請求項9】
前記信頼性データが、前記データベースを管理するサーバーに対する少なくとも外部リンクの数、アクセス情報の有無、ユーザによるアクセス回数、サイトの更新回数、サイトに表示される広告表示の面積及び占める割合のいずれか、あるいは複数の組合せであることを特徴とする請求項8に記載のデータベース制御装置。
【請求項10】
複数のデータベース間において、それぞれのデータベースに蓄積されている蓄積データのデータ内容を均一化するデータベース制御装置を動作させるデータベース制御方法であり、
類似度算出部が、参照用の参照データベースに蓄積されている参照データと、蓄積用の蓄積データベースに蓄積されている蓄積データとのデータ内容を比較し、当該蓄積データと前記参照データとの類似度を求め、求められた前記類似度が予め設定された閾値を超える前記蓄積データを、同様データとして検出する類似度算出過程と、
データ内容更新部が、前記同様データとして検出された前記蓄積データを、当該蓄積データのデータ内容により更新するデータ内容更新過程と
を有するデータベース制御方法。
【請求項11】
複数のデータベース間において、それぞれのデータベースに蓄積されている蓄積データのデータ内容を均一化するデータベース制御装置の機能をコンピュータに実行させるプログラムであり、
類似度算出部が、参照用の参照データベースに蓄積されている参照データと、蓄積用の蓄積データベースに蓄積されている蓄積データとのデータ内容を比較し、当該蓄積データと前記参照データとの類似度を求め、求められた前記類似度が予め設定された閾値を超える前記蓄積データを、同様データとして検出する類似度算出処理と、
データ内容更新部が、前記同様データとして検出された前記蓄積データを、当該蓄積データのデータ内容により更新するデータ内容更新処理と
を有するコンピュータが実行可能なプログラム。
【請求項12】
複数のデータベース間において、それぞれのデータベースに蓄積されている蓄積データのデータ内容を均一化するデータベース制御装置の機能をコンピュータに実行させるプログラムを記録した記録媒体であり、
類似度算出部が、参照用の参照データベースに蓄積されている参照データと、蓄積用の蓄積データベースに蓄積されている蓄積データとのデータ内容を比較し、当該蓄積データと前記参照データとの類似度を求め、求められた前記類似度が予め設定された閾値を超える前記蓄積データを、同様データとして検出する類似度算出処理と、
データ内容更新部が、前記同様データとして検出された前記蓄積データを、当該蓄積データのデータ内容により更新するデータ内容更新処理と
を有するコンピュータが実行可能なプログラムを記録した記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−248661(P2011−248661A)
【公開日】平成23年12月8日(2011.12.8)
【国際特許分類】
【出願番号】特願2010−121623(P2010−121623)
【出願日】平成22年5月27日(2010.5.27)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】