【実施例】
【0016】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係るデータ検索プログラム及びデータ検索装置について、
図1乃至
図9を参照して説明する。
図1は、本実施例のデータ検索装置の機能を示すブロック図であり、
図2乃至
図5は、本実施例のデータ検索装置の処理を示すフローチャート図である。また、
図6乃至
図9は、各々、検索条件の入力例、検索式の生成例、検索結果の表示画面例、ソースの選択画面例を示す図である。
【0017】
本実施例は、LAN(Local Area Network)やWAN(Wide Area Network)などの通信ネットワーク上に複数のソースが存在し、検索により関連する一連のデータを同一ソースから収集し、検索結果を表示するシステムに関する。なお、本実施例において、ソースは、例えば、発行元毎に管理されたファイル(調査会社毎に管理された市場動向を記した文書など)であり、データは、そのファイルに含まれる情報(会社名と年度と売上高など)を指す。
【0018】
図1は、上記システムの一例としてのデータ検索装置10を示している。このデータ検索装置10は、検索条件入力部20とデータ検索部30と採用ソース選択部40と検索結果生成部50と検索結果表示部60などで構成され、通信ネットワークを介して複数のソース70が接続されている。
【0019】
検索条件入力部20は、キーボードやタッチパネルなどであり、検索者による検索条件の入力を受け付ける。
【0020】
データ検索部30は、検索式生成部31と検索処理部32と検索データ蓄積部33などで構成される。検索式生成部31は、検索条件入力部20で入力された検索条件から検索式を生成する。検索処理部32は、検索式生成部31が生成した検索式を用いて複数のソース70の各々から一連のデータを検索する。検索データ蓄積部33は、HDD(Hard Disk Drive)などであり、各々のソース70から収集した検索データを蓄積する。
【0021】
採用ソース選択部40は、データ信頼度算出部41とソース信頼度算出部42とソース選択処理部43などで構成される。データ信頼度算出部41は、各々のデータの時間に関する情報や各々のデータに付与されたマークに関する情報などを用いて、一連のデータのデータ毎の信頼度を算出する。ソース信頼度算出部42は、データ信頼度算出部41が算出した一連のデータのデータ毎の信頼度を用いてソース毎の信頼度を算出する。ソース選択処理部43は、ソース信頼度算出部42が算出したソース毎の信頼度に基づいて、データ検索装置10に接続される複数のソース70の中から採用するソースを決定する。
【0022】
検索結果生成部50は、データ検索部30に蓄積された検索データの中から、採用ソース選択部40が決定したソース70から収集した検索データを特定し、その検索データを検索結果として出力する。
【0023】
検索結果表示部60は、LCD(Liquid Crystal Display)などであり、検索結果生成部50が出力した検索結果を表示する。
【0024】
なお、データ検索部30や採用ソース選択部40、検索結果生成部50は、ハードウェアとして構成してもよいし、CPU(Central Processing Unit)とROM(Read Only Memory)やRAM(Random Access Memory)などのメモリとで構成される制御部上で動作するソフトウェア(データ検索プログラム)として構成してもよい。
【0025】
また、
図1は、本実施例のデータ検索装置10の一例であり、その構成は適宜変更可能である。例えば、検索条件入力部20や検索結果表示部60は検索者のコンピュータ装置上に設け、データ検索部30や採用ソース選択部40、検索結果生成部50等はサーバやクラウド上に設ける構成としてもよい。また、ソース70は、通信ネットワークを介してデータ検索装置10に接続される構成としてもよいし、データ検索装置10内に含む構成としてもよい。
【0026】
以下、本実施例のデータ検索装置10を用いたデータ検索処理について、
図2乃至
図5のフローチャート図を参照して説明する。
図2は、データ検索装置10の全体処理を示すフローチャート図であり、
図3乃至
図5は、各々、ソース毎の信頼度算出処理、データ毎の信頼度算出処理、採用ソース選択処理を示すフローチャート図である。
【0027】
図2に示すように、検索条件入力部20は、検索条件の入力画面を表示し、検索者による、関連する一連のデータを検索するための検索条件の入力を受け付ける(S100)。検索条件の入力方法は特に限定されないが、例えば、
図6に示すように、検索条件を文章形式で入力させるようにしてもよいし、表形式で入力させるようにしてもよいし、プルダウンメニューから選択させるようにしてもよい。
【0028】
次に、データ検索部30の検索式生成部31は、検索条件入力部20で入力された検索条件を用いて、関連する一連のデータを検索するための検索式を生成する(S110)。検索式の生成方法も特に限定されないが、例えば、文章形式で検索条件が入力された場合は、その検索条件文を構文解析により分解する。具体的には、
図7に示すように、検索条件が「2008、2009、2010、2011、2012年のX、Y、Z社のお茶の売上高を知りたい」のように文章形式で入力された場合は、構文解析により「2008年、2009年、2010年、2011年、2012年」と「X社、Y社、Z社」と「お茶の売上高」に分解し、属性が共通する年と社名は一つにまとめて、「お茶の売上高&(2008年or2009年or2010年or2011年or2012年)&(X社orY社orZ社)」といった検索式を生成する。なお、さらに分解して、「お茶の売上高&2008年&X社」、「お茶の売上高&2008年&Y社」、…、「お茶の売上高&2012年&Z社」といった検索式を生成してもよい。
【0029】
次に、データ検索部30の検索処理部32は、検索式生成部31が生成した検索式を用いてソース70毎に検索処理を実施して一連のデータを収集し、検索データ蓄積部33は、検索データをソース70毎に蓄積する(S120)。表1は、ソース70の一例であり、データはXML(Extensible Markup Language)のようなタグで表現されて保持、若しくは、レコードとして保持されている。また、表2は、ソース70毎の検索データの一例であり、検索データは、一時的なメモリ上に記憶、若しくは、ファイルに書き出してHDDなどに記憶される。
【0030】
[表1]
・調査会社A(2012年4月発行)から抜粋
* アジア地域は含まない
・調査会社B(2011年4月発行)から抜粋
・調査会社C(2011年4月発行)から抜粋
【0031】
[表2]
・調査会社A(2012年4月発行)
・調査会社B(2011年4月発行)
・調査会社C(2011年4月発行)
【0032】
次に、採用ソース選択部41のソース信頼度算出部42は、一連のデータに対するソース毎の信頼度を算出する(S130)。
図3は、このステップの詳細を示しており、まず、対象ソースの蓄積した検索データをメモリやHDDなどから取り出す(S131)。次に、取り出した一連のデータに対してデータ毎に信頼度を算出する(S132)。このステップの詳細は後述する。そして、算出したデータ毎の信頼度を取りまとめる(S133)。具体的には、対象ソースに含まれる一連のデータのデータ毎の信頼度の和や平均値を計算し、その値をソース毎の信頼度として設定する。
【0033】
図4は、上記S132のデータ毎の信頼度算出ステップの詳細を示しており、まず、時間に関するデータの信頼度を設定する(S132a)。例えば、データが時間に関連付けられている場合は、一連のデータが発行された日付情報(ソースの発行年月日)と各々のデータに関連付けられた日付情報とを比較し、一連のデータが発行された日付が各々のデータに関連付けられた日付以降の時は、そのデータ(例えば、表2における調査会社Aの2008〜2011年の売上高、調査会社B、Cの2008〜2010年の売上高など)は実績値であるため、データの信頼度を相対的に高い値(例えば、「1」)に設定する。また、一連のデータが発行された日付が各々のデータに関連付けられた日付より前の時は、そのデータ(例えば、表2における調査会社Aの2012年の売上高、調査会社B、Cの2011年の売上高など)は推定値であるため、データの信頼度を相対的に低い値(例えば、「0.5」)に設定する。また、データが時間に関連付けられていない場合は、データの信頼度を相対的に高い値(例えば、「1」)に設定する。
【0034】
なお、データが時間に関連付けられている場合において、一連のデータが発行された日付が各々のデータに関連付けられた日付より前の時は、その日付の間隔に応じて、1年前は「0.5」、2年前は「0.4」のように年毎に「0.1」ずつ減少させるなど、データの信頼度を細かく設定してもよい。
【0035】
次に、注釈情報のあるソース70(表1における調査会社Aのソース)内の検索データを調べ、特定のマークが付与された検索データを抽出する(S132b)。例えば、調査会社Aのソースは「* アジア地域は含まない」といった注釈情報があるため、調査会社Aのソース内の検索データを調べ、*のマークが付与された検索データ(Z社の2008年及び2009年のデータ)を抽出する。なお、ここでは特定のマークとして*を例示したが、特定のマークは任意であり、例えば、()などとしてもよい。この特定のマークは、XMLのタグを用いて、データ部分(例えば「20*」)を取り出し、その中身が数字のみかどうかをチェックすることにより容易に検出することができる。
【0036】
次に、マークに関するデータの信頼度を設定する(S132c)。例えば、*や()等の特定のマークが付与されている場合は、データの信憑性が低いと考えられることから、データの信頼度を相対的に低い値(例えば、「0.5」)に設定し、特定のマークが付与されていない場合は、データの信憑性が高いと考えられることから、データの信頼度を相対的に高い値(例えば、「1」)に設定する。その後、時間に関するデータの信頼度とマークに関するデータの信頼度とを乗算/加算したり、重み付けして乗算/加算したりして統合する(S132d)。
【0037】
なお、ここでは特定のマークが付与された検索データを抽出する構成としたが、データが文字の場合は、文字がイタリックで記述された検索データを抽出することもできる。例えば、データがXMLのようなタグで表現されている場合、イタリックはタグでは「<i>40</i>」のように記述されることから容易に判断することができる。また、ここでは採用ソース選択部40(データ信頼度算出部41)がソース70に注釈情報があるか否かを判断したが、時間短縮のために、データ検索部30がデータを検索する際に注釈情報も収集し、検索データ蓄積部33が検索データと注釈情報とを関連付けて蓄積するようにしてもよい。
【0038】
また、上記では、時間に関するデータの信頼度とマークに関するデータの信頼度とを設定したが、これらに加えて、若しくは、これらに代えて、履歴情報(例えば、データが検索された頻度)など、信頼度に影響がある任意の要素に関するデータの信頼度を設定してもよい。
【0039】
表3は、
図3及び
図4のフローに従って算出したソース毎の信頼度の一例である。調査会社Aのソースは2012年4月発行であり、2012年のデータは推定値であるため、データの信頼度は「0.5」に設定されている。また、Z社の2008年、2009年のデータには特定のマークとして*が付与されているため、データの信頼度は「0.5」に設定されている。また、調査会社B、Cのソースは2011年4月発行であり、2011年、2012年のデータは推定値であるため、2011年のデータの信頼度は「0.5」に設定され、2012年のデータの信頼度は日付間隔によって重み付けされて「0.4」に設定されている。また、調査会社Cのソースは、Z社の2008年、2009年、2010年のデータがないため、データが存在しない部分はデータの信頼度は「0」に設定されている。
【0040】
[表3]
・調査会社A
・調査会社B
・調査会社C
【0041】
図2のフローチャート図に戻って、採用ソース選択部40のソース選択処理部43は、検索対象として採用するソースを選択する(S140)。
図5は、このステップの詳細を示しており、まず、一連のデータが揃っているソースを採用ソース候補として設定する(S141)。上記の例では、調査会社Cのソースは一連のデータに欠落があるため、採用ソース候補から除外し、調査会社A、Bのソースを採用ソース候補とする。次に、採用ソース候補のソース毎の信頼度を比較し、その中から信頼度が最も高いソースを採用ソースとして決定する(S142)。上記の例では、調査会社Aのソースはデータ毎の信頼度の合計が「12.5」であり、調査会社Bのソースはデータ毎の信頼度の合計が「12.0」であることから、ソース選択処理部43は調査会社Aのソースを採用ソースとして決定する。
【0042】
なお、ここではデータ毎の信頼度を加算した値をソース毎の信頼度としているが、ソース毎の信頼度の算出方法は上記に限定されず、例えば、データ毎の信頼度を乗算した値をソース毎の信頼度としたり、データ毎の信頼度の標準偏差を求め、その値をソース毎の信頼度としたり、データ毎の信頼度の中で最も出現頻度の高い値をソース毎の信頼度としたりすることもできる。データ毎の信頼度を乗算した値をソース毎の信頼度とする場合は、データに欠落があるソースの信頼度は「0」になるため、S141で採用ソース候補を設定する必要がなくなる。
【0043】
次に、検索結果生成部50は、採用ソースとして決定されたソースから収集した検索データを検索結果として出力する(S150)。表4は、検索結果の一例であり、ここでは、データの信頼度が最も高い調査会社Aのソースから収集した一連のデータが検索結果として出力される。なお、表1にてデータに特定のマークが付与されている場合は、検索結果にも特定のマークを付与して出力することが好ましい。
【0044】
[表4]
【0045】
次に、検索結果表示部60は、検索結果生成部50から出力された検索結果を表示する(S160)。
図8は、検索結果の表示画面の一例であり、採用ソースとして決定された調査会社Aのソースから収集した検索データが表示される。なお、当該ソースに注釈情報がある場合は、検索結果の表示画面上にも注釈情報を表示し、検索データに特定のマークが付与されている場合は、その特定のマークも表示することにより、検索者にデータの信憑性を認識させることができる。
【0046】
なお、上記フローではソース選択処理部43が採用ソースを決定する構成としたが、ソース信頼度算出部42が算出したソース毎の信頼度が近い複数のソースが存在する場合に、検索者にどのソースを採用するかを選択させる構成としてもよい。その場合は、
図5の採用ソースの選択処理のS142にて、ソース選択処理部43が、
図9に示すような採用ソースの選択画面を表示し、検索者が当該画面で選択したソースを採用ソースとして決定してもよい。
【0047】
このように、本実施例のデータ検索装置10では、データの時間に関する情報やマークに関する情報などを用いて一連のデータのデータ毎の信頼度を算出し、その一連のデータのデータ毎の信頼度からソース毎の信頼度を算出し、ソース毎の信頼度に基づいて採用ソースを決定し、決定したソースから収集した検索データを検索結果として出力する制御を行うため、一連のデータの整合性を保ちつつ、信頼度の高いデータを収集することができる。
【0048】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である。
【0049】
例えば、上記説明では同じ表の中からデータを収集したが、同じソース内でデータが分散して存在する場合は、同じソース内の複数の表の中から一連のデータを収集するようにしてもよい。
【0050】
また、各々のソースのデータを定期的にチェックし、データが更新された場合はデータ検索装置10に通知し、データ検索装置10は再度データ収集を行って検索結果を更新できるようにしてもよい。
【0051】
また、上記実施例では、ソースから収集するデータが売上高のような数字の場合を示したが、ソースから収集するデータがスペック表のような文字列の場合も、本発明の制御を同様に適用することができる。