説明

検索装置、検索プログラム、および検索方法

【課題】情報検索において、ユーザにとって参考となり得る情報を提供すること。
【解決手段】検索装置100は、第1の検索条件を受け付ける。つぎに、検索装置100は、受け付けた第1の検索条件で指定された対象と同一の属性を有する他の対象を指定する第2の検索条件を作成する。このあと、検索装置100は、作成された第2の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する。また、検索装置100は、受け付けた第1の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する。そして、検索装置100は、検索された検索結果を出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報を検索する検索装置、検索プログラム、および検索方法に関する。
【背景技術】
【0002】
従来より、情報検索の技術として、情報群の中から、入力されたキーワードを含む情報を検索するものがある(例えば、下記特許文献1参照。)。また、文書を特徴付ける文書ベクトルを生成し、文書ベクトル間から文書間の類似度を生成し、生成された類似度によって類似文書を検索するものがある(例えば、下記特許文献2参照。)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−62691号公報
【特許文献2】特開2003−6214号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来技術では、検索対象となる情報群の中から、ユーザが指定した検索条件に一致しない情報は検索されない。このため、検索条件に一致する情報がなかった場合、ユーザにとって参考となる情報を得ることができないという問題がある。
【0005】
本発明は、上述した従来技術による問題点を解消するため、情報検索において、ユーザにとって参考となり得る情報を提供することができる検索装置、検索プログラム、および検索方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するため、開示の検索装置、検索プログラム、および検索方法は、任意の属性の属性情報を指定する検索条件を受け付け、受け付けた検索条件で指定された属性情報と関連する他の属性情報を規定するテーブルを参照することにより、前記他の属性情報を指定する他の検索条件を作成し、作成された他の検索条件に基づいて、検索対象となるデータ群の中からデータを検索し、検索された検索結果を出力する。
【発明の効果】
【0007】
本検索装置、検索プログラム、および検索方法によれば、情報検索において、ユーザにとって参考となり得る情報を提供することができるという効果を奏する。
【図面の簡単な説明】
【0008】
【図1】実施の形態1にかかる検索装置の機能的構成を示すブロック図である。
【図2】属性テーブルの記憶内容の一例を示す説明図である。
【図3】実施の形態1にかかる検索装置の検索処理手順の一例を示すフローチャートである。
【図4】実施の形態2にかかる検索システムの一実施例を示す説明図である。
【図5】実施の形態2にかかるコンピュータのハードウェア構成を示すブロック図である。
【図6】品目マスタの記憶内容の一例を示す説明図である。
【図7】文書マスタの記憶内容の一例を示す説明図である。
【図8】ユーザ分類テーブルの記憶内容の一例を示す説明図である。
【図9】作成理由分類テーブルの記憶内容の一例を示す説明図である。
【図10】作成方法分類テーブルの記憶内容の一例を示す説明図である。
【図11】検索条件入力画面の具体例を示す説明図である。
【図12】検索条件の入力例を示す説明図である。
【図13】実施の形態2にかかる検索装置の機能的構成を示すブロック図である。
【図14】類似度定義テーブルの記憶内容の一例を示す説明図である。
【図15】類似度テーブルの記憶内容の一例を示す説明図である。
【図16】ベクトル間距離の算出例を示す説明図(その1)である。
【図17】軸定義テーブルの記憶内容の一例を示す説明図である。
【図18】ベクトル間距離の算出例を示す説明図(その2)である。
【図19】品質テーブルの記憶内容の一例を示す説明図である。
【図20】検索結果画面の具体例を示す説明図である。
【図21】実施の形態2にかかる検索装置の検索処理手順の一例を示すフローチャートである。
【図22】ステップS2102の類似度特定処理の具体的な処理手順の一例を示すフローチャートである。
【図23】ステップS2103のベクトル間距離算出処理の具体的な処理手順の一例を示すフローチャートである。
【図24】ステップS2104の検索処理の具体的な処理手順の一例を示すフローチャートである。
【図25】検索結果リストの具体例を示す説明図である。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、この発明にかかる検索装置、検索プログラム、および検索方法の好適な実施の形態を詳細に説明する。
【0010】
(実施の形態1)
まず、実施の形態1にかかる検索装置100の機能的構成について説明する。実施の形態1では、ユーザが指定した検索条件を、関連する特徴を持つ他の検索条件に変換して検索を行うことで、検索条件に完全に合致しなくてもユーザにとって参考となる可能性がある情報を提供する。
【0011】
図1は、実施の形態1にかかる検索装置の機能的構成を示すブロック図である。図1において、検索装置100は、受付部101と、作成部102と、検索部103と、出力部104と、を含む構成である。各機能部(受付部101〜出力部104)は、具体的には、例えば、後述の図5に示すROM502、RAM503、磁気ディスク505、光ディスク507などの記憶装置に記憶されたプログラムをCPU501に実行させることにより、または、I/F508により、その機能を実現する。
【0012】
受付部101は、任意の属性の属性情報を指定する検索条件を受け付ける。ここで、検索条件とは、検索対象となるデータ群の中から所望のデータを検索するための条件である。検索条件は、例えば、文字や記号を用いて指定してもよく、また、予め用意されている複数の検索条件の中から指定することにしてもよい。
【0013】
検索対象となるデータとは、文書や図面などに関するデータである。データとしては、例えば、仕様書データ、設計データ、顧客データ、会計データ、電子メールなどがある。また、データは、該データを特徴付ける属性の属性情報を有している。データの属性としては、例えば、データの作成者、種類、作成日、作成場所、作成理由、作成方法などがある。
【0014】
ユーザは、例えば、所望のデータを特徴付ける任意の属性の属性情報を検索条件として指定する。具体的には、例えば、受付部101が、入力装置を用いたユーザの操作入力により、任意の属性の属性情報を検索条件として受け付ける。入力装置は、例えば、後述の図5に示すキーボード510やマウス511などである。
【0015】
作成部102は、受け付けた検索条件(以下、「第1の検索条件」という)で指定された属性情報と関連する他の属性情報を指定する検索条件(以下、「第2の検索条件」という)を作成する。具体的には、例えば、作成部102が、属性テーブル110を参照することにより、第1の検索条件で指定された属性情報と同一の属性を有する他の属性情報を指定する第2の検索条件を作成する。ここで、属性テーブル110の記憶内容について説明する。
【0016】
図2は、属性テーブルの記憶内容の一例を示す説明図である。図2において、属性テーブル110は、属性および属性情報のフィールドを有し、各フィールドに情報を設定することで、属性ごとに、該属性を有する属性情報群が示されている。
【0017】
属性とは、検索対象となる各データを特徴付ける属性A1〜Amである。属性情報とは、各属性A1〜Amの具体的な内容、例えば、作成者、種類、作成日、作成場所、作成理由、作成方法などである。図2の例では、属性A1の属性情報として、属性情報T1−1,T1−2が示されている。また、属性A2の属性情報として、属性情報T2−1,T2−2,T2−3,T2−4が示されている。
【0018】
ここで、上記受付部101が、第1の検索条件として属性A1の属性情報T1−1を受け付けた場合を想定する。この場合、作成部102が、属性テーブル110を参照して、検索条件で指定された属性情報T1−1と同一の属性A1を有する他の属性情報T1−2を指定する第2の検索条件を作成する。
【0019】
なお、同一の属性を有する他の属性情報が複数存在する場合、検索部103は、複数存在する他の属性情報の中から任意の属性情報を指定する第2の検索条件を作成してもよい。また、検索部103は、複数存在する他の属性情報それぞれを指定する第2の検索条件を作成してもよい。
【0020】
図1の説明に戻り、検索部103は、作成された第2の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する。具体的には、例えば、検索部103が、検索対象となるデータ群の中から、第2の検索条件で指定された他の属性情報を有するデータを検索する。
【0021】
また、検索部103は、受け付けた第1の検索条件に基づいて、検索対象となるデータ群の中からデータを検索することにしてもよい。具体的には、例えば、検索部103が、検索対象となるデータ群の中から、第1の検索条件で指定された属性情報を有するデータを検索する。
【0022】
また、受付部101は、検索対象となる各データが有する属性ごとに、該属性の属性情報をそれぞれ指定する第1の検索条件を受け付けてもよい。具体的には、例えば、受付部101が、各データが有する属性A1〜Amごとに、該属性A1〜Amの属性情報をそれぞれ指定する第1の検索条件を受け付ける。
【0023】
この場合、作成部102は、属性テーブル110を参照して、属性A1〜Amごとに、第1の検索条件で指定された属性情報と同一の属性を有する他の属性情報を指定する第2の検索条件をそれぞれ作成する。そして、検索部103は、属性A1〜Amごとにそれぞれ作成された第2の検索条件に基づいて、データ群の中からデータを検索する。
【0024】
具体的には、例えば、検索部103が、属性A1〜Amごとに作成された第2の検索条件のうちのいずれかの第2の検索条件で指定された他の属性情報を有するデータを検索してもよい。また、検索部103が、属性A1〜Amごとに作成された第2の検索条件で指定された他の属性情報のすべてを有するデータを検索してもよい。
【0025】
出力部104は、検索された検索結果を出力する。具体的には、例えば、出力部104が、検索された検索結果を表示画面に表示することにしてもよい。表示画面は、例えば、後述の図5に示すディスプレイ509である。この際、出力部104は、第1の検索条件の検索結果と第2の検索条件の検索結果を、ユーザが識別可能な状態で表示することにしてもよい。このように、第1の検索条件の検索結果と第2の検索条件の検索結果とを併せて表示することで、ユーザは、自らが指定した検索条件に合致する情報以外にも、ユーザにとって有益かもしれない情報も取得することができる。
【0026】
また、出力部104は、第2の検索条件の検索結果に比べて、第1の検索条件の検索結果を優先的に表示することにしてもよい。より具体的には、例えば、出力部104が、第1および第2の検索条件の検索結果を羅列して表す検索結果リストにおいて、第1の検索条件の検索結果を第2の検索条件の検索結果に比べて上位に表示することにしてもよい。
【0027】
(検索装置100の検索処理手順)
図3は、実施の形態1にかかる検索装置の検索処理手順の一例を示すフローチャートである。図3のフローチャートにおいて、まず、受付部101により、任意の属性の属性情報を指定する第1の検索条件を受け付けたか否かを判断する(ステップS301)。
【0028】
ここで、第1の検索条件を受け付けるのを待って(ステップS301:No)、受け付けた場合(ステップS301:Yes)、作成部102により、属性テーブル110を参照して、第1の検索条件で指定された属性情報と同一の属性を有する他の属性情報を指定する第2の検索条件を作成する(ステップS302)。
【0029】
つぎに、検索部103により、作成された第2の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する(ステップS303)。また、検索部103により、受け付けた第1の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する(ステップS304)。そして、出力部104により、検索された検索結果を出力して(ステップS305)、本フローチャートによる一連の処理を終了する。
【0030】
以上説明したように、実施の形態1にかかる検索装置100によれば、ユーザが指定した検索条件を、関連する特徴を持つ他の検索条件に変換して検索を行うことができる。これにより、ユーザが指定した検索条件に完全に合致しなくてもユーザにとって参考となる可能性がある情報を提供することができる。
【0031】
例えば、属性A1を『作成者』とし、属性情報T1−1を『山田太郎』とし、属性情報T1−2を『鈴木次郎』とする。この『山田太郎』と『鈴木次郎』は、同じ部署に所属する人である。ここで、第1の検索条件として、属性『作成者』の属性情報『山田太郎』を受け付けた場合を想定する。
【0032】
この場合、属性情報『山田太郎』と同一の属性『作成者』を有する他の属性情報『鈴木次郎』を指定する第2の検索条件が作成されることになる。すなわち、『鈴木次郎』が作成した文書は、『山田太郎』とは異なる部署に所属する人が作成した文書よりも、ユーザにとって参考となる情報の可能性が高い。
【0033】
そこで、実施の形態1では、『山田太郎』と同じ部署に所属する『鈴木次郎』を指定する第2の検索条件を作成する。これにより、例えば、『山田太郎』が作成した文書以外にも、同じ部署に所属する『鈴木次郎』が作成した文書を検索することができ、ユーザが指定した検索条件に完全に合致しなくてもユーザにとって参考となる可能性がある情報を提供することができる。
【0034】
(実施の形態2)
つぎに、実施の形態2にかかる検索システム400について説明する。実施の形態2では、検索システム400の一実施例として、PDM(Product Data Management)システムを例に挙げて説明する。なお、実施の形態1で説明した箇所と同一箇所については、同一符号を付して説明を省略する。
【0035】
図4は、実施の形態2にかかる検索システムの一実施例を示す説明図である。図4において、検索システム400は、検索装置401および複数のクライアント端末402を含む構成である。検索システム400において、検索装置401と複数のクライアント端末402は、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などのネットワーク410を介して通信可能に接続されている。
【0036】
ここで、検索システム400は、例えば、工業製品の開発工程において、設計・開発に関わる情報を一元化して管理し、開発工程の効率化や期間の短縮化を図るPDMシステムである。具体的には、例えば、検索システム400では、CAD(Computer Aided Design)データなどの図面データ、仕様書データなどの文書データ、製品に含まれる部品の構成データなどを管理する。
【0037】
検索装置401は、検索対象となるデータ群を格納するデータベースを備え、データベースの中からデータを検索するコンピュータである。データベースは、例えば、品目マスタ403および文書マスタ404である。具体的には、例えば、検索装置401は、ネットワーク410を介して、クライアント端末402から検索条件を受け付けて、検索対象となるデータ群の中から検索条件に適合するデータを検索する。なお、品目マスタ403および文書マスタ404についての詳細な説明は、図6および図7を用いて後述する。
【0038】
クライアント端末402は、検索システム400を利用するユーザが用いるコンピュータである。クライアント端末402は、ユーザによる検索条件の入力を受け付けて、検索条件を検索装置401に送信する。その結果、クライアント端末402は、検索装置401から検索結果を受信して、検索結果を表示画面に表示する。
【0039】
以下の説明では、検索対象となるデータ群を「データ群D1〜Dn」と表記し、データ群D1〜Dnのうち任意のデータを「データDi」と表記する(i=1,2,…,n)。
【0040】
つぎに、図5を用いて、図4に示した検索装置401およびクライアント端末402のハードウェア構成について説明する。図5の説明では、図4に示した検索装置401およびクライアント端末402を、単に「コンピュータ」と称する。
【0041】
(コンピュータのハードウェア構成)
図5は、実施の形態2にかかるコンピュータのハードウェア構成を示すブロック図である。図5において、コンピュータは、CPU(Central Processing Unit)501と、ROM(Read‐Only Memory)502と、RAM(Random Access Memory)503と、磁気ディスクドライブ504と、磁気ディスク505と、光ディスクドライブ506と、光ディスク507と、I/F(Interface)508と、ディスプレイ509と、キーボード510と、マウス511と、を備えている。また、各構成部はバス500によってそれぞれ接続されている。
【0042】
ここで、CPU501は、コンピュータの全体の制御を司る。ROM502は、ブートプログラムなどのプログラムを記憶している。RAM503は、CPU501のワークエリアとして使用される。磁気ディスクドライブ504は、CPU501の制御にしたがって磁気ディスク505に対するデータのリード/ライトを制御する。磁気ディスク505は、磁気ディスクドライブ504の制御で書き込まれたデータを記憶する。
【0043】
光ディスクドライブ506は、CPU501の制御にしたがって光ディスク507に対するデータのリード/ライトを制御する。光ディスク507は、光ディスクドライブ506の制御で書き込まれたデータを記憶したり、光ディスク507に記憶されたデータをコンピュータに読み取らせたりする。
【0044】
I/F508は、通信回線を通じてLAN、WAN、インターネットなどのネットワーク410に接続され、このネットワーク410を介して他の装置に接続される。そして、I/F508は、ネットワーク410と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F508には、たとえばモデムやLANアダプタなどを採用することができる。
【0045】
ディスプレイ509は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ509は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【0046】
キーボード510は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス511は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【0047】
なお、検索装置401は、上述したディスプレイ509、キーボード510およびマウス511を含まない構成としてもよい。また、クライアント端末402は、画像を読み取って画像データを取り込むスキャナや、画像データや文書データを印刷するプリンタを含む構成としてもよい。
【0048】
(各種テーブル等の記憶内容)
以下、図6〜図10を用いて、検索装置401が備える各種テーブル等の記憶内容について説明する。各種テーブル等は、例えば、図5に示した検索装置401のROM502、RAM503、磁気ディスク505、光ディスク507などの記憶装置により実現される。
【0049】
<品目マスタ403の記憶内容>
図6は、品目マスタの記憶内容の一例を示す説明図である。図6において、品目マスタ403は、データID、番号、種類、作成日、作成者、作成理由、作成方法、作成場所および品質のフィールドを有する。各フィールドに情報を設定することで、製品の品目に関する品目情報600−1〜600−nがレコードとして記憶されている。
【0050】
ここで、品目情報600−1〜600−nは、検索対象となるデータ群D1〜Dnである。各フィールドの内容は、品目情報600−1〜600−nを特徴付ける各属性の属性情報である。具体的には、データIDは、各品目情報600−1〜600−nの識別子である。番号は、調達、生産、保管、販売する製品の識別子である。
【0051】
種類は、データDiの種類である。種類としては、例えば、製品の種類を特定する機種、ユニット、部品などが設定される。作成日は、データDiの作成日である。作成者は、データDiの作成者である。作成理由は、データDiを作成する契機となった理由である。作成理由としては、例えば、製品の新規作成、製品の修正、製品に対する障害対応、製品の性能改善、製品のコスト削減などがある。
【0052】
作成方法は、データDiを作成した方法である。作成方法としては、例えば、新規作成、他データの流用、他システムからの取り込み、システムによる自動作成などがある。作成場所は、データDiを作成した場所である。作成場所としては、例えば、データDiの作成者が用いたクライアント端末402のIP(Internet Protocol)アドレスなどが設定される。品質は、製品の品質を表す指標値である。ここでは顧客からのクレーム数によって品質を表しており、数値が低いほど品質が高いことを表している。
【0053】
品目情報600−1を例に挙げると、データIDは『D1』、番号は『Part1』、種類は『機種』、作成日は『2010/5/1』、作成者は『U1』、作成理由は『R1』、作成方法は『M1』、作成場所は『10.67.xxx.xx』、品質は『0』である。
【0054】
<文書マスタ404の記憶内容>
図7は、文書マスタの記憶内容の一例を示す説明図である。図7において、文書マスタ404は、データID、番号、種類、作成日、作成者、作成理由、作成方法、作成場所および品質のフィールドを有する。各フィールドに情報を設定することで、製品に関する文書情報700−1〜700−nがレコードとして記憶されている。
【0055】
ここで、文書情報700−1〜700−nは、検索対象となるデータ群D1〜Dnである。各フィールドの内容は、文書情報700−1〜700−nを特徴付ける各属性の属性情報である。具体的には、データIDは、各文書情報700−1〜700−nのレコードの識別子である。番号は、調達、生産、保管、販売する製品に関する電子文書の識別子である。製品に関する電子文書としては、例えば、CADデータ、仕様書データ、契約書データなどがある。
【0056】
種類は、データDiの種類である。種類としては、例えば、製品に関する電子文書の種類を表す部品表、2D図面、3D図面、設計変更連絡表などが設定される。作成日は、データDiの作成日である。作成者は、データDiの作成者である。作成理由は、データDiを作成する契機となった理由である。作成理由としては、例えば、製品の新規作成、製品の修正、製品に対する障害対応、製品の性能改善、製品のコスト削減などがある。
【0057】
作成方法は、データDiを作成した方法である。作成方法としては、例えば、新規作成、他データの流用、他システムからの取り込み、システムによる自動作成などがある。作成場所は、データDiを作成した場所である。作成場所としては、例えば、データDiの作成者が用いたクライアント端末402のIPアドレスなどが設定される。品質は、製品の品質を表す指標値である。ここでは顧客からのクレーム数によって品質を表しており、数値が低いほど品質が高いことを表している。
【0058】
文書情報700−1を例に挙げると、データIDは『D1』、品番は『Doc1』、種類は『部品表』、作成日は『2010/2/1』、作成者は『U1』、作成理由は『R10』、作成方法は『M4』、作成場所は『10.67.xxx.xx』、品質は『0』である。
【0059】
<ユーザ分類テーブル800の記憶内容>
図8は、ユーザ分類テーブルの記憶内容の一例を示す説明図である。図8において、ユーザ分類テーブル800は、グループIDおよびユーザIDのフィールドを有し、各フィールドに情報を設定することで、グループ情報(例えば、グループ情報800−1,800−2)をレコードとして記憶している。
【0060】
ここで、グループIDは、検索システム400を利用するユーザ群を分類するグループの識別子である。ユーザIDは、検索システム400を利用するユーザの識別子である。一分類例として、検索システム400を利用するユーザ群は、例えば、会社内の部署などの組織上の区分や、本店、支店などの地理的な区分によって分類される。
【0061】
すなわち、ユーザ分類テーブル800内のグループ情報は、例えば、業務内容が類似しているため直面する課題が類似している可能性が高いユーザの集合を表している。グループ情報800−1を例に挙げると、グループ『UG1』に属するユーザは『U1,U2,U3』である。これは、ユーザU1,U2,U3は、業務内容が類似し、直面する課題が互いに類似している可能性が高いことを表している。
【0062】
<作成理由分類テーブル900の記憶内容>
図9は、作成理由分類テーブルの記憶内容の一例を示す説明図である。図9において、作成理由分類テーブル900は、グループIDおよび作成理由のフィールドを有し、各フィールドに情報を設定することで、グループ情報(例えば、グループ情報900−1〜900−3)をレコードとして記憶している。
【0063】
ここで、グループIDは、図6および図7に示した品目マスタ403、文書マスタ404内の各データDiの作成理由を分類するグループの識別子である。作成理由は、各データDiを作成する契機となった理由である。一分類例として、『製品の修正』と『製品に対する障害対応』の作成理由が同一グループに分類され、また、『製品の性能改善』と『製品のコスト削減』の作成理由が同一グループに分類される。
【0064】
すなわち、作成理由分類テーブル900内のグループ情報は、各データDiを作成する契機となった理由が類似している作成理由の集合を表している。グループ情報900−2を例に挙げると、グループ『RG2』に属する作成理由は『R2,R3』である。これは、作成理由R2,R3は、データDiを作成する契機となった理由が類似していることを表している。
【0065】
<作成方法分類テーブル1000の記憶内容>
図10は、作成方法分類テーブルの記憶内容の一例を示す説明図である。図10において、作成方法分類テーブル1000は、グループIDおよび作成方法のフィールドを有し、各フィールドに情報を設定することで、グループ情報(例えば、グループ情報1000−1〜1000−3)をレコードとして記憶している。
【0066】
ここで、グループIDは、図6および図7に示した品目マスタ403、文書マスタ404内の各データDiの作成方法を分類するグループの識別子である。作成方法は、各データDiの作成方法である。一分類例として、『新規作成』と『他製品の流用』の作成方法が同一グループに分類される。
【0067】
すなわち、作成方法分類テーブル1000内のグループ情報は、各データDiを作成した方法が類似している作成方法の集合を表している。グループ情報1000−1を例に挙げると、グループ『MG1』に属する作成方法は『M1,M2』である。これは、作成方法M1,M2は、データDiを作成する方法が類似していることを表している。
【0068】
なお、上述した説明では、各種テーブル等は検索装置401が備えることにしたが、これに限らない。例えば、検索システム400が各種テーブル等を備えるデータベースサーバを含むことにしてもよい。この場合、検索装置401は、データベースサーバにアクセスすることで、各種テーブル等の記憶内容を参照する。
【0069】
(検索条件入力画面の具体例)
つぎに、図11を用いて、クライアント端末402のディスプレイ509に表示される検索条件入力画面1100について説明する。検索条件入力画面1100は、検索システム400を利用するユーザが所望のデータを検索するための検索条件を入力する際にクライアント端末402のディスプレイ509に表示される。
【0070】
図11は、検索条件入力画面の具体例を示す説明図である。図11において、検索条件入力画面1100は、検索条件を指定するためのボックス1101〜1107と、検索ボタンB1と、クリアボタンB2とを有する。
【0071】
検索条件入力画面1100において、図5に示したキーボード510やマウス511を用いたユーザの操作入力により、カーソルCを移動させて各ボックス1101〜1107をクリックすることにより、属性ごとの検索条件を入力することができる。
【0072】
具体的には、カーソルCを移動させてボックス1101をクリックすると、検索条件として、製品の番号や製品に関する電子文書の番号を入力することができる。カーソルCを移動させてボックス1102をクリックすると、検索条件として、検索対象となるデータDiの種類を入力することができる。
【0073】
カーソルCを移動させてボックス1103をクリックすると、検索条件として、検索対象となるデータDiの作成者を入力することができる。カーソルCを移動させてボックス1104をクリックすると、検索条件として、検索対象となるデータDiの作成日を入力することができる。カーソルCを移動させてボックス1105をクリックすると、検索条件として、検索対象となるデータDiの作成理由を入力することができる。
【0074】
カーソルCを移動させてボックス1106をクリックすると、検索条件として、検索対象となるデータDiの作成方法を入力することができる。カーソルCを移動させてボックス1107をクリックすると、検索条件として、検索対象となるデータDiの作成場所を入力することができる。
【0075】
また、検索条件の入力が終了した場合、カーソルCを移動させて検索ボタンB1をクリックすると、入力した検索条件に基づく検索が行われ、その検索結果がディスプレイ509に表示される。なお、カーソルCを移動させてクリアボタンB2をクリックすると、既に入力済みの検索条件がリセットされる。
【0076】
図12は、検索条件の入力例を示す説明図である。図12において、検索条件入力画面1100のボックス1102に『部品』が入力され、ボックス1103に『U1』が入力され、ボックス1104に『2010/6/1』が入力されている。
【0077】
ここで、検索ボタンB1がクリックされると、検索対象となるデータDiの種類『部品』、作成者『U1』および作成日『2010/6/1』が検索条件1200として指定され、クライアント端末402から検索装置401に検索条件1200が送信される。
【0078】
なお、以下の説明では、検索装置401は、検索条件として、製品の番号(Part♯)や製品の種類(機種、ユニットなど)が指定された場合、品目マスタ403内の品目情報600−1〜600−nを検索対象として検索を行う(♯=1,2,…)。また、検索装置401は、検索条件として、電子文書の番号(Doc♯)や電子文書の種類(部品表、2D図面など)が指定された場合、文書マスタ404内の文書情報700−1〜700−nを検索対象として検索を行う。
【0079】
(検索装置401の機能的構成)
図13は、実施の形態2にかかる検索装置の機能的構成を示すブロック図である。図13において、検索装置401は、受付部101と、検索部103と、出力部104と、特定部1301と、第1の算出部1302と、第2の算出部1303と、を含む構成である。各機能部は、具体的には、たとえば、検索装置401のROM502、RAM503、磁気ディスク505、光ディスク507などの記憶装置に記憶されたプログラムをCPU501に実行させることにより、または、I/F508により、その機能を実現する。また、各機能部の処理結果は、特に指定する場合を除いて、RAM503、磁気ディスク505、光ディスク507などの記憶装置に記憶される。
【0080】
まず、受付部101は、検索条件を受け付ける。ここで、検索条件は、例えば、図12に示した検索条件1200であり、検索対象となるデータDiを特徴付ける属性の属性情報を指定するものである。具体的には、例えば、受付部101が、ネットワーク410を介して、クライアント端末402から検索条件1200を受信することで受け付ける。また、受付部101が、検索装置401のキーボード510やマウス511を用いたユーザの操作入力により、検索装置401に直接入力された検索条件を受け付けてもよい。
【0081】
特定部1301は、検索対象となる各データDiを特徴付ける属性ごとに、受け付けた検索条件で指定された属性の属性情報と各データDiの属性の属性情報との類似度を特定する。具体的には、例えば、特定部1301が、同一の属性を有する属性情報間の類似度を規定するテーブルを参照することにより、各データDiの属性ごとの類似度を特定する。なお、特定部1301の具体的な処理内容については、図14を用いて後述する。
【0082】
第1の算出部1302は、特定された各データDiの属性ごとの類似度に基づいて、検索条件で指定された属性をベクトル要素として検索条件および各データDiを多次元ベクトル化することにより、検索条件と各データDiとのベクトル間距離Liを算出する。ベクトル間距離Liは、検索条件とデータDiとの類似度を表している。ベクトル間距離Liが小さいデータDiほど、検索条件に類似(適合)している。なお、第1の算出部1302の具体的な処理内容については、図16を用いて後述する。
【0083】
検索部103は、算出された各データDiのベクトル間距離Liに基づいて、検索対象となるデータ群D1〜Dnの中からデータを検索する。具体的には、例えば、検索部103が、データ群D1〜Dnの中から、ベクトル間距離Liが最小のデータDiを検索してもよい。検索部103による検索処理は、例えば、予め設定された個数(例えば、m個)の検索結果が得られるまで繰り返し行われる。
【0084】
出力部104は、検索された検索結果を出力する。具体的には、例えば、出力部104が、ネットワーク410を介して、検索された検索結果をクライアント端末402に送信する。この結果、クライアント端末402のディスプレイ509に検索結果が表示されることになる。なお、クライアント端末402のディスプレイ509に表示される画面例については、図20を用いて後述する。
【0085】
また、出力部104の他の出力形式として、例えば、検索装置401のディスプレイ509への表示、不図示のプリンタへの印刷出力などがある。また、出力部104が、RAM503、磁気ディスク505、光ディスク507などの記憶領域に検索結果を記憶することとしてもよい。
【0086】
<特定部1301の具体的処理内容>
ここで、上記特定部1301の具体的な処理内容の一例について説明する。まず、同一の属性を有する属性情報間の類似度を規定する類似度定義テーブル1400について説明する。類似度定義テーブル1400は、例えば、ROM502、RAM503、磁気ディスク505、光ディスク507などの記憶装置に記憶されている。
【0087】
図14は、類似度定義テーブルの記憶内容の一例を示す説明図である。図14において、類似度定義テーブル1400は、属性、関係および類似度のフィールドを有し、各フィールドに情報を設定することで、類似度定義情報1400−1〜1400−6をレコードとして記憶している。
【0088】
ここで、属性は、検索対象となるデータDiを特徴付ける属性である。関係は、同一の属性を有する属性情報間の関係である。類似度は、同一の属性を有する属性情報間の類似度である。類似度は、値が大きいほど類似している度合いが大きいことを表す。類似度の最小値は「0」であり、最大値は「1」である。
【0089】
類似度定義情報1400−1を例に挙げると、『作成者』の属性を有する属性情報間の類似度が示されている。具体的には、属性情報間の関係が、『同一ユーザ』であれば類似度は『1』、『同一グループ』であれば類似度は『0.6』、『その他』であれば類似度は『0』である。上記特定部1301は、例えば、類似度定義テーブル1400を参照することにより、検索対象となる各データDiの属性ごとの類似度を特定する。
【0090】
ここで、検索対象となるデータDiとして品目マスタ403内の品目情報600−1を例に挙げ、検索条件1200を受け付けた場合を例に挙げて、特定部1301の具体的な処理内容の一例について説明する。
【0091】
以下の説明では、検索条件で指定された複数の属性を「属性A1〜AK」と表記し、属性A1〜AKのうち任意の属性を「属性Ak」と表記する(k=1,2,…,K)。また、検索条件とデータDiとの属性Akの属性情報間の類似度を「類似度Ri(k)」と表記する。
【0092】
まず、特定部1301は、検索条件1200で指定された属性A1〜AKを特定する。検索条件1200では、例えば、属性A1は『種類』、属性A2は『作成者』、属性A3は『作成日』となる。つぎに、特定部1301は、属性A1に着目して、検索条件1200で指定された属性A1の属性情報と品目情報600−1の属性A1の属性情報との関係を特定する。
【0093】
ここで、検索条件1200で指定された属性A1の属性情報は『部品』であり、品目情報600−1の属性A1の属性情報は『機種』である。したがって、検索条件1200で指定された属性A1の属性情報と品目情報600−1の属性A1の属性情報との関係は『その他』となる。
【0094】
このあと、特定部1301は、類似度定義テーブル1400を参照して、属性が『種類』でかつ関係が『その他』の類似度を特定する。ここでは、類似度は『0』である。この結果、特定部1301は、検索条件1200で指定された属性A1の属性情報と品目情報600−1の属性A1の属性情報との類似度R1(1)を『R1(1)=0』と特定する。
【0095】
つぎに、特定部1301は、属性A2に着目して、検索条件1200で指定された属性A2の属性情報と品目情報600−1の属性A2の属性情報との関係を特定する。ここで、検索条件1200で指定された属性A2の属性情報は『U1』であり、品目情報600−1の属性A2の属性情報は『U1』である。したがって、検索条件1200で指定された属性A2の属性情報と品目情報600−1の属性A2の属性情報との関係は『同一ユーザ』となる。
【0096】
このあと、特定部1301は、類似度定義テーブル1400を参照して、属性が『作成者』でかつ関係が『同一ユーザ』の類似度を特定する。ここでは、類似度は『1』である。この結果、特定部1301は、検索条件1200で指定された属性A2の属性情報と品目情報600−1の属性A2の属性情報との類似度R1(2)を『R1(2)=1』と特定する。
【0097】
そして、特定部1301は、属性A3に着目して、検索条件1200で指定された属性A3の属性情報と品目情報600−1の属性A3の属性情報との関係を特定する。ここで、検索条件1200で指定された属性A3の属性情報は『2010/6/1』であり、品目情報600−1の属性A3の属性情報は『2010/5/1』である。したがって、検索条件1200で指定された属性A3の属性情報と品目情報600−1の属性A3の属性情報との関係は『2ヶ月以内』となる。
【0098】
このあと、特定部1301は、類似度定義テーブル1400を参照して、属性が『作成日』でかつ関係が『2ヶ月以内』の類似度を特定する。ここでは、類似度は『0.7』である。この結果、検索条件1200で指定された属性A3の属性情報と品目情報600−1の属性A3の属性情報との類似度R1(3)を『R1(3)=0.7』と特定する。
【0099】
・属性『作成者』について
また、特定部1301は、属性『作成者』について、検索条件で指定された属性情報と検索対象となるデータDiの属性情報との関係が『同一ユーザ』ではない場合、図8に示したユーザ分類テーブル800を参照して、属性情報間の関係を特定する。
【0100】
具体的には、例えば、まず、特定部1301が、ユーザ分類テーブル800を参照して、検索条件で指定された属性情報が示すユーザが属するグループUGを特定する。つぎに、特定部1301が、検索対象となるデータDiの属性情報が示すユーザが、特定されたグループUGに属するか否かを判定する。ここで、グループUGに属する場合、特定部1301が、属性情報間の関係『同一グループ』を特定する。一方、グループUGに属さない場合、特定部1301が、属性情報間の関係『その他』を特定する。
【0101】
・属性『作成理由』について
また、特定部1301は、属性『作成理由』について、検索条件で指定された属性情報と検索対象となるデータDiの属性情報との関係が『同一理由』ではない場合、図9に示した作成理由分類テーブル900を参照して、属性情報間の関係を特定する。
【0102】
具体的には、例えば、まず、特定部1301が、作成理由分類テーブル900を参照して、検索条件で指定された属性情報が示す作成理由が属するグループRGを特定する。つぎに、特定部1301が、検索対象となるデータDiの属性情報が示す作成理由が、特定されたグループRGに属するか否かを判定する。ここで、グループRGに属する場合、特定部1301が、属性情報間の関係『同一グループ』を特定する。一方、グループRGに属さない場合、特定部1301が、属性情報間の関係『その他』を特定する。
【0103】
・属性『作成方法』について
また、特定部1301は、属性『作成方法』について、検索条件で指定された属性情報と検索対象となるデータDiの属性情報との関係が『同一方法』ではない場合、図10に示した作成方法分類テーブル1000を参照して、属性情報間の関係を特定する。
【0104】
具体的には、例えば、まず、特定部1301が、作成方法分類テーブル1000を参照して、検索条件で指定された属性情報が示す作成方法が属するグループMGを特定する。つぎに、特定部1301が、検索対象となるデータDiの属性情報が示す作成方法が、特定されたグループMGに属するか否かを判定する。ここで、グループMGに属する場合、特定部1301が、属性情報間の関係『同一グループ』を特定する。一方、グループMGに属さない場合、特定部1301が、属性情報間の関係『その他』を特定する。
【0105】
特定された各データDiを特徴付ける属性Akごとの類似度Ri(k)は、例えば、図15に示す類似度テーブル1500に記憶される。類似度テーブル1500は、例えば、ROM502、RAM503、磁気ディスク505、光ディスク507などの記憶装置により実現される。
【0106】
図15は、類似度テーブルの記憶内容の一例を示す説明図である。図15において、類似度テーブル1500は、検索対象となる各データDiの属性Akごとの類似度Ri(k)を有している。
【0107】
上述した検索条件1200と品目情報600−1の例では、類似度テーブル1500内のデータD1の属性A1の類似度R1(1)は、『R1(1)=0』である。また、データD1の属性A2の類似度R1(2)は、『R1(2)=1』である。また、データD1の属性A3の類似度R1(3)は、『R1(3)=0.7』である。
【0108】
<第1の算出部1302の具体的処理内容>
つぎに、検索条件とデータDiとのベクトル間距離Liを算出する第1の算出部1302の具体的な処理内容の一例について説明する。ここでは、検索条件として、図12に示した検索条件1200を、データDiとして、品目マスタ403内の品目情報600−1を例に挙げて説明する。
【0109】
図16は、ベクトル間距離の算出例を示す説明図(その1)である。(i)第1の算出部1302は、図17に示す軸定義テーブル1700を参照することにより、検索条件で指定された各属性Akに対応する軸を特定する。ここで、軸定義テーブル1700について説明する。軸定義テーブル1700は、例えば、ROM502、RAM503、磁気ディスク505、光ディスク507などの記憶装置に記憶されている。
【0110】
図17は、軸定義テーブルの記憶内容の一例を示す説明図である。図17において、軸定義テーブル1700は、軸、属性および重要度のフィールドを有し、各フィールドに情報を設定することで、軸定義情報1700−1〜1700−7をレコードとして記憶している。
【0111】
ここで、軸は、直交座標系における各次元のベクトル成分を示す直線である。属性は、検索対象となるデータDiを特徴付ける属性である。重要度は、各属性の重要度を表す指標値である。ここでは、値が小さいほど重要度が高いことを表している。各属性の重要度は任意に設定可能である。具体的には、例えば、各属性の重要度は、検索条件との類似判断において優先すべき属性に高い重要度が設定される。一例を挙げると、『作成者』より『種類』が検索条件と類似しているデータDiを検索したい場合、属性『作成者』に比べて属性『種類』の重要度が高く設定される。
【0112】
各軸は、いわゆる5W1H(Who,When,What,Where,Why,How)と称される意思決定に関わる各要因および製品の品質を表している。具体的には、Who軸は、検索対象となるデータDiを誰が作成したのかを表す属性『作成者』に対応している。
【0113】
When軸は、検索対象となるデータDiをいつ作成したのかを表す属性『作成日』に対応している。What軸は、検索対象となるデータDiは何に関するものかを表す属性『種類』や『番号』に対応している。Where軸は、検索対象となるデータDiをどこで作成したのかを表す属性『作成場所』に対応している。
【0114】
Why軸は、検索対象となるデータDiをなぜ作成したのかを表す属性『作成理由』に対応している。How軸は、検索対象となるデータDiをどのように作成したのかを表す属性『作成方法』に対応している。Quality軸は、製品の品質を表す属性『品質』に対応している。
【0115】
検索条件1200の例では、第1の算出部1302が、軸定義テーブル1700を参照して、検索条件1200で指定された属性A1『種類』に対応する軸『What』を特定する。また、第1の算出部1302が、軸定義テーブル1700を参照して、検索条件1200で指定された属性A2『作成者』に対応する軸『Who』を特定する。
【0116】
また、第1の算出部1302が、軸定義テーブル1700を参照して、検索条件1200で指定された属性A3『作成日』に対応する軸『When』を特定する。これにより、各属性A1〜A3に対応するWhat軸、Who軸およびWhen軸により、3次元の直交座標系1600が定義される。
【0117】
(ii)第1の算出部1302は、特定された各属性Akに対応する軸を原点から放射状に伸ばした直交座標系1600において、検索条件を表すベクトル(以下、「基準ベクトルSV」という)を作成する。具体的には、例えば、第1の算出部1302が、各属性Akに対応する軸の成分を「1」とする基準ベクトルSVを作成する。
【0118】
すなわち、基準ベクトルSVを成分表示すると下記式(1)のように表現することができる。ただし、SVは、基準ベクトルSVの成分表示を表している。また、A1〜AKは、各属性A1〜AKに対応する軸の成分を表している。
【0119】
SV=(A1,A2,…,AK)=(1,1,…,1) ・・・(1)
【0120】
検索条件1200の例では、第1の算出部1302が、直交座標系1600において、各属性A1〜A3に対応するWhat軸、Who軸およびWhen軸の成分を「1」とする基準ベクトルSVを作成する。
【0121】
(iii)第1の算出部1302は、検索対象となるデータDiを表すベクトル(以下、「比較ベクトルVi」という)を作成する。具体的には、例えば、第1の算出部1302が、各属性Akに対応する軸の成分を、属性Akの類似度Ri(k)とする比較ベクトルViを作成する。
【0122】
すなわち、比較ベクトルViを成分表示すると下記式(2)のように表現することができる。ただし、Viは、比較ベクトルViの成分表示を表している。また、A1〜AKは、各属性A1〜AKに対応する軸の成分を表している。また、Ri(1)〜Ri(K)は、検索条件とデータDiとの属性A1〜AKごとの属性情報間の類似度である。
【0123】
Vi=(A1,A2,…,AK)=(Ri(1),Ri(2),…,Ri(K))
・・・(2)
【0124】
品目情報600−1の例では、第1の算出部1302が、直交座標系1600において、各属性A1〜A3に対応するWhat軸、Who軸およびWhen軸の成分をそれぞれ「0」、「1」および「0.7」とする比較ベクトルV1を作成する。
【0125】
(iv)第1の算出部1302は、作成された基準ベクトルSVと比較ベクトルViとのベクトル間距離Liを算出する。具体的には、例えば、第1の算出部1302が、下記式(3)を用いて、基準ベクトルSVと比較ベクトルViとのベクトル間距離Liを算出することができる。ただし、Liは、基準ベクトルSVと比較ベクトルViとのベクトル間距離である。
【0126】
【数1】

【0127】
検索条件1200と品目情報600−1の例では、基準ベクトルSVと比較ベクトルV1とのベクトル間距離L1は『L1≒1.044』となる。上記(iii)および(iv)の処理は、例えば、品目マスタ403内の品目情報600−2〜600−nについても同様に行われる。
【0128】
この結果、検索条件1200と品目マスタ403内の各品目情報600−1〜600−nとのベクトル間距離L1〜Lnが算出される。そして、上記検索部103は、算出されたベクトル間距離L1〜Lnに基づいて、品目マスタ403の中から検索条件1200に適合する品目情報を検索することになる。
【0129】
これにより、ユーザによって指定された検索条件と完全に合致しなくても、ユーザにとって参考となる可能性があるデータDiを検索することができる。この際、人の意思決定に関わる各要因をベクトル要素として多次元ベクトル化して類似度Ri(k)を求めることで、検索者と同様の状況下にあった作成者によって作成された文書や図面などを検索者に提供することができる。
【0130】
・ベクトル間距離が等しいデータ間の優先順位
上記検索部103が、ベクトル間距離Liが最小のデータDiを検索する場合、ベクトル間距離が最小となるデータが複数存在することがある。これでは、検索部103は、ベクトル間距離が最小の複数のデータ(以下、「データD[1]〜D[T]」という)のうち、どのデータが検索条件に最も適合しているのか判断することができない。
【0131】
そこで、データD[1]〜D[T]のうち、検索条件で指定された属性A1〜AKの特定の属性(以下、「属性AP」という)について、より検索条件と類似しているデータを最も検索条件に適合しているデータとして扱う。以下、ベクトル間距離が等しいデータ間の優先順位を決める具体的な処理内容の一例について説明する。
【0132】
図18は、ベクトル間距離の算出例を示す説明図(その2)である。図18において、(i)基準ベクトルSVとのベクトル間距離が等しい比較ベクトルVxと比較ベクトルVyとが示されている。比較ベクトルVxは、データDxを表すベクトルである。比較ベクトルVyは、データDyを表すベクトルである。
【0133】
(ii)第2の算出部1303は、特定の属性APを表す軸をベクトル化する。具体的には、例えば、第2の算出部1303が、属性A1〜AKのうち特定の属性APを表す軸の成分を「1」とし、それ以外の属性を表す軸の成分を「0」とするベクトル(以下、「軸ベクトルPV」という)を作成する。
【0134】
ここで、特定の属性APは、例えば、属性A1〜AKのうちデータ検索における重要度が最も高い属性である。検索条件1200の例では、属性A1〜A3のうち、属性A1『種類』の重要度が最も高いため、特定の属性APは属性A1となる。このため、第2の算出部1303が、属性A1を表す軸の成分を「1」とし、属性A2,A3を表す軸の成分を「0」とする軸ベクトルPVを作成する。
【0135】
(iii)第2の算出部1303は、データD[1]〜D[T]の各データD[t]を表す比較ベクトルV[t]と、作成された軸ベクトルPVとのベクトル間距離L[t]を算出する。具体的には、例えば、第2の算出部1303が、下記式(4)を用いて、比較ベクトルV[t]と軸ベクトルPVとのベクトル間距離L[t]を算出することができる。
【0136】
ただし、L[t]は、比較ベクトルV[t]と軸ベクトルPVとのベクトル間距離である。P(k)は、軸ベクトルPVの属性Akに対応する軸の成分(1または0)である。R[t](k)は、比較ベクトルV[t]の属性Akに対応する軸の成分(類似度)である。
【0137】
【数2】

【0138】
検索条件1200とデータDx,Dyの例では、第2の算出部1303が、上記式(4)を用いて、データDx,Dyを表す比較ベクトルVx,Vyと、作成された軸ベクトルPVとのベクトル間距離L[x],L[y]をそれぞれ算出する。この結果、検索条件と各データD[t]とのベクトル間距離L[t]が算出される。
【0139】
上記検索部103は、算出されたベクトル間距離L[t]に基づいて、データD[1]〜D[T]の中から検索条件に適合するデータを検索する。例えば、ベクトル間距離L[x],L[y]の大小関係を『L[x]>L[y]』とすると、検索部103が、データDx,Dyのうちベクトル間距離が最小のデータDyを検索する。
【0140】
これにより、ベクトル間距離が最小となるデータが複数存在する場合であっても、検索すべきデータDiを一意に特定することができる。具体的には、検索条件との類似判断において優先すべき特定の属性APについて、より検索条件と類似しているデータD[t]を検索することができる。
【0141】
・製品の品質を表す軸の追加
つぎに、検索条件で指定された属性A1〜AKに対応する軸のほかに、製品の品質に対応する軸を追加する場合について説明する。
【0142】
第1の算出部1302は、検索条件で指定された各属性Akに対応する軸および品質に対応する軸を原点から放射状に伸ばした直交座標系において、検索条件を表す基準ベクトルSVを作成する。具体的には、例えば、第1の算出部1302が、各軸の成分を「1」とする基準ベクトルSVを作成する。すなわち、基準ベクトルSVを成分表示すると下記式(5)のように表現することができる。ただし、Qは、品質に対応する軸の成分を表している。
【0143】
SV=(A1,A2,…,AK,Q)=(1,1,…,1,1) ・・・(5)
【0144】
つぎに、第1の算出部1302は、検索対象となるデータDiを表す比較ベクトルViを作成する。ここで、比較ベクトルViの各属性Akに対応する軸の成分は、各属性Akの類似度Ri(k)である。また、比較ベクトルViの品質に対応する軸の成分は、例えば、図19に示す品質テーブル1900を参照することにより特定する。品質テーブル1900は、例えば、ROM502、RAM503、磁気ディスク505、光ディスク507などの記憶装置に記憶されている。
【0145】
図19は、品質テーブルの記憶内容の一例を示す説明図である。図19において、品質テーブル1900は、クレーム数ごとの座標値を有している。クレーム数は、製品の品質を表す指標値である。座標値は、比較ベクトルViの品質に対応する軸の成分である。ここでは、クレーム数が少ない、すなわち、製品の品質が高いほど、比較ベクトルViの品質に対応する軸の成分が大きい値に設定されている。
【0146】
品目情報600−1を例に挙げると、品質は『0』のため、比較ベクトルV1の品質に対応する軸の成分は『1』となる。すなわち、比較ベクトルViを成分表示すると下記式(6)のように表現することができる。ただし、qiは、比較ベクトルViの品質に対応する軸の成分である。
【0147】
Vi=(A1,A2,…,AK,Q)
=(Ri(1),Ri(2),…,Ri(K),qi) ・・・(6)
【0148】
そして、第1の算出部1302は、作成された基準ベクトルSVと比較ベクトルViとのベクトル間距離Liを算出する。具体的には、例えば、第1の算出部1302が、下記式(7)を用いて、基準ベクトルSVと比較ベクトルViとのベクトル間距離Liを算出することができる。
【0149】
【数3】

【0150】
上記検索部103は、算出されたベクトル間距離Liに基づいて、データ群D1〜Dnの中から検索条件に適合するデータを検索する。具体的には、例えば、検索部103が、データ群D1〜Dnの中から、ベクトル間距離Liが最小のデータDiを検索する。
【0151】
このように、品質の高い製品に関するデータDiを表す比較ベクトルViの品質に対応する軸の成分を大きい値に設定することで、品質の高い製品に関するデータDiのベクトル間距離Liが小さくなる。このため、品質の高い製品に関するデータDiが検索され易くなり、結果的に、高品質の製品に関する図面や文書をユーザに提供することができる。
【0152】
・累積類似度
上述した説明では、検索条件とデータDiとのベクトル間距離Liに基づいて、検索条件に適合するデータを検索する場合について説明したが、データDiの属性Akごとの類似度Ri(k)を単に累積した値に基づいて、データを検索することにしてもよい。
【0153】
具体的には、例えば、第1の算出部1302は、検索対象となるデータDiごとに、データDiの属性Akごとの類似度Ri(k)を累積した値(以下、「累積類似度Ri」という)を算出する。累積類似度Riは、検索条件とデータDiとの類似度を表している。累積類似度Riが大きいデータDiほど、検索条件に類似(適合)している。
【0154】
そして、検索部103は、算出された各データDiの累積類似度Riに基づいて、検索対象となるデータ群D1〜Dnの中からデータを検索してもよい。具体的には、例えば、検索部103が、データ群D1〜Dnの中から、累積類似度Riが最大のデータを検索してもよい。
【0155】
これにより、ユーザによって指定された検索条件と完全に合致しなくても、ユーザにとって参考となる可能性があるデータDiを検索することができる。この累積類似度Riに基づく検索処理は、上述したベクトル間距離Liに基づく検索処理に比べて、方向の概念が欠落するため、検索条件との類似判断の精度が低下する可能性はある一方で、第1の算出部1302の算出処理にかかる負荷を軽減できる。
【0156】
(検索結果画面の具体例)
図20は、検索結果画面の具体例を示す説明図である。図20において、検索結果画面2000には、ユーザが指定した検索条件に適合する検索結果として、品目情報600−1,600−3,600−4が表示されている。この検索結果画面2000は、例えば、クライアント端末402のディスプレイ509に表示される。
【0157】
検索結果画面2000において、クライアント端末402のキーボード510やマウス511を用いたユーザの操作入力により、カーソルCを移動させて任意の検索結果をクリックすると、該検索結果と関連性を有する文書情報が表示されることにしてもよい。例えば、カーソルCを移動させて品目情報600−1をクリックすると、文書マスタ404内の文書情報700−1が表示される。
【0158】
なお、品目情報と文書情報との対応関係に関する情報は、例えば、ROM502、RAM503、磁気ディスク505、光ディスク507などの記憶装置に記憶されている。具体的には、例えば、品目情報と文書情報との対応関係は、各品目情報、文書情報の品目マスタ403,文書マスタ404への登録時に予め設定される。
【0159】
(検索装置401の検索処理手順)
図21は、実施の形態2にかかる検索装置の検索処理手順の一例を示すフローチャートである。ここでは、検索対象となるデータ群を品目マスタ403内の品目情報600−1〜600−nとする場合を例に挙げて説明する。
【0160】
図21のフローチャートにおいて、まず、受付部101により、クライアント端末402から検索条件を受け付けたか否かを判断する(ステップS2101)。ここで、受付部101により、検索条件を受け付けるのを待つ(ステップS2101:No)。
【0161】
そして、検索条件を受け付けた場合(ステップS2101:Yes)、特定部1301により、検索条件で指定された属性Akの属性情報とデータDiの属性Akの属性情報との類似度Ri(k)を特定する類似度特定処理を実行する(ステップS2102)。
【0162】
つぎに、第1の算出部1302により、属性A1〜AKをベクトル要素として検索条件およびデータDiを多次元ベクトル化することにより、検索条件とデータDiとのベクトル間距離Liを算出するベクトル間距離算出処理を実行する(ステップS2103)。
【0163】
このあと、検索部103により、品目マスタ403の中からデータを検索する検索処理を実行して(ステップS2104)、出力部104により、検索結果リストをクライアント端末402に出力して(ステップS2105)、本フローチャートによる一連の処理を終了する。
【0164】
これにより、ユーザによって指定された検索条件と完全に合致するデータDiとともに、検索条件と完全に合致しなくてもユーザにとって参考となる可能性があるデータDiを検索することができる。
【0165】
<類似度特定処理手順>
つぎに、図21のステップS2102の類似度特定処理の具体的な処理手順について説明する。図22は、ステップS2102の類似度特定処理の具体的な処理手順の一例を示すフローチャートである。
【0166】
図22のフローチャートにおいて、まず、特定部1301により、図21に示したステップS2101において受け付けた検索条件で指定された属性A1〜AKを特定する(ステップS2201)。つぎに、特定部1301により、属性Akの「k」を「k=1」で初期化し(ステップS2202)、検索対象となるデータDiの「i」を「i=1」で初期化する(ステップS2203)。
【0167】
このあと、特定部1301により、品目マスタ403の中からデータDiを選択する(ステップS2204)。そして、特定部1301により、類似度定義テーブル1400を参照することにより、検索条件で指定された属性Akの属性情報とデータDiの属性Akの属性情報との類似度Ri(k)を特定する(ステップS2205)。なお、特定された特定結果は、例えば、図15に示した類似度テーブル1500に記憶される。
【0168】
つぎに、特定部1301により、データDiの「i」をインクリメントして(ステップS2206)、「i」が「n」より大きいか否かを判断する(ステップS2207)。ここで、「i」が「n」以下の場合(ステップS2207:No)、ステップS2204に戻る。
【0169】
一方、「i」が「n」より大きい場合(ステップS2207:Yes)、特定部1301により、属性Akの「k」をインクリメントして(ステップS2208)、「k」が「K」より大きいか否かを判断する(ステップS2209)。
【0170】
ここで、「k」が「K」以下の場合(ステップS2209:No)、ステップS2204に戻る。一方、「k」が「K」より大きい場合(ステップS2209:Yes)、図21に示したステップS2103に移行する。
【0171】
これにより、検索対象となる各データDiの属性Akごとに、検索条件との類似度Ri(k)を特定することができる。つまり、類似度を利用して後述の処理を行うことによって、検索条件と一致しないデータであっても、検索条件から推測して、ユーザにとって有益な可能性が高いデータを、検索することができる。
【0172】
<ベクトル間距離算出処理手順>
つぎに、図21のステップS2103のベクトル間距離算出処理の具体的な処理手順について説明する。図23は、ステップS2103のベクトル間距離算出処理の具体的な処理手順の一例を示すフローチャートである。
【0173】
図23のフローチャートにおいて、まず、第1の算出部1302により、軸定義テーブル1700を参照することにより、検索条件で指定された属性A1〜AKに対応する軸を特定する(ステップS2301)。
【0174】
そして、第1の算出部1302により、特定された各属性A1〜AKに対応する軸を原点から放射状に伸ばした直交座標系において、図21に示したステップS2101において受け付けた検索条件を表す基準ベクトルSVを作成する(ステップS2302)。
【0175】
つぎに、第1の算出部1302により、検索対象となるデータDiの「i」を「i=1」で初期化して(ステップS2303)、品目マスタ403の中からデータDiを選択する(ステップS2304)。このあと、第1の算出部1302により、類似度テーブル1500を参照することにより、データDiを表す比較ベクトルViを作成する(ステップS2305)。
【0176】
そして、第1の算出部1302により、上記式(3)を用いて、作成された基準ベクトルSVと比較ベクトルViとのベクトル間距離Liを算出する(ステップS2306)。つぎに、第1の算出部1302により、データDiの「i」をインクリメントして(ステップS2307)、「i」が「n」より大きいか否かを判断する(ステップS2308)。
【0177】
ここで、「i」が「n」以下の場合(ステップS2308:No)、ステップS2304に戻る。一方、「i」が「n」より大きい場合(ステップS2308:Yes)、図21に示したステップS2104に移行する。
【0178】
これにより、各データDiの属性Akごとの類似度Ri(k)に基づいて、属性A1〜AKをベクトル要素として検索条件および各データDiを多次元ベクトル化して、検索条件と各データDiとのベクトル間距離Liを算出することができる。つまり、ユーザが指定した属性情報とは異なる属性情報を有するデータであっても、ユーザにとって有益となる可能性が高いデータは、ベクトル間距離が近くなる。したがって、本実施例に開示の検索装置は、ベクトル間距離を利用することで、複数のデータのうち、よりユーザにとって有益となる可能性が高いデータを、より正確に特定することができる。
【0179】
<検索処理手順>
つぎに、図21のステップS2104の検索処理の具体的な処理手順について説明する。ここでは、品目マスタ403の中から、検索条件に適合するm個のデータを検索する場合を例に挙げて説明する(n>m)。図24は、ステップS2104の検索処理の具体的な処理手順の一例を示すフローチャートである。
【0180】
図24のフローチャートにおいて、まず、検索部103により、検索されたデータ数を表す「j」を「j=1」で初期化する(ステップS2401)。そして、検索部103により、品目マスタ403の中から、図23のステップS2306において算出されたベクトル間距離Liが最小のデータDiを検索する(ステップS2402)。
【0181】
このあと、検索部103により、検索されたデータDiを検索結果リストに登録する(ステップS2403)。なお、検索結果リストの具体例については、図25を用いて後述する。つぎに、検索部103により、検索されたデータ数を表す「j」をインクリメントして(ステップS2404)、「j」が「m」より大きいか否かを判断する(ステップS2405)。
【0182】
ここで、「j」が「m」以下の場合(ステップS2405:No)、ステップS2402に戻り、検索部103により、品目マスタ403の中から、未検索のベクトル間距離Liが最小のデータDiを検索する(ステップS2402)。一方、「j」が「m」より大きい場合(ステップS2405:Yes)、図21に示したステップS2105に移行する。
【0183】
これにより、検索対象となるデータ群D1〜Dnの中から、ユーザによって指定された検索条件との類似度が高い上位m個の検索結果を得ることができる。
【0184】
図25は、検索結果リストの具体例を示す説明図である。図25において、検索結果リスト2500は、図24に示したステップS2402において検索されたデータDiを記憶している。
【0185】
具体的には、検索結果リスト2500は、品目マスタ403内の品目情報600−1,600−3,600−4を検索結果として記憶している。検索装置401からクライアント端末402に検索結果リスト2500が出力されると、クライアント端末402のディスプレイ509に、例えば、図20に示した検索結果画面2000が表示される。
【0186】
以上説明したように、実施の形態2にかかる検索装置401によれば、類似度定義テーブル1400を参照することにより、各データDiの属性Akごとの類似度Ri(k)を特定することができる。また、検索装置401によれば、各データDiの属性Akごとの類似度Ri(k)に基づいて、属性A1〜AKをベクトル要素として検索条件および各データDiを多次元ベクトル化して、検索条件と各データDiとのベクトル間距離Liを算出することができる。そして、検索装置401によれば、算出された各データDiのベクトル間距離Liに基づいて、データ群D1〜Dnの中からデータDiを検索することができる。これにより、ユーザによって指定された検索条件と完全に合致しなくても、ユーザにとって参考となる可能性があるデータDiを検索することができる。
【0187】
また、検索装置401によれば、人の意思決定に関わる各要因をベクトル要素として多次元ベクトル化して類似度Ri(k)を求めることで、同様の状況下にあった作成者によって作成された文書や図面などをユーザに提供することができる。具体的には、例えば、業務内容や直面する課題が類似し、業務や課題に対する対処方法が類似する作成者によって作成された文書や図面を一括してユーザに提供することができる。これにより、業務内容が類似している他の人たちが直面していた課題に対する対処方法をユーザが参考にすることができ、業務の効率化などを図ることができる。
【0188】
また、検索装置401によれば、ベクトル間距離が最小のデータD[t]が複数存在する場合、さらに、特定の属性APを表す軸をベクトル化して、最小の各データD[t]と特定の属性APを表す軸とのベクトル間距離L[t]を算出することができる。そして、検索装置401によれば、算出された各データD[t]のベクトル間距離L[t]に基づいて、データD[1]〜D[T]の中からデータD[t]を検索することができる。これにより、ベクトル間距離が最小となるデータが複数存在する場合であっても、検索すべきデータDiを一意に特定することができる。
【0189】
また、検索装置401によれば、各データDiの属性Akごとの類似度Ri(k)を累積した累積類似度Riに基づいて、データD1〜Dnの中からデータDiを検索することができる。これにより、ユーザによって指定された検索条件と完全に合致しなくても、ユーザにとって参考となる可能性があるデータDiを検索することができる。
【0190】
なお、本実施の形態で説明した検索方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本検索プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本検索プログラムは、インターネット等のネットワークを介して配布してもよい。
【0191】
また、本実施の形態で説明した検索装置100,401は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、検索装置100,401の機能をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、検索装置100,401を製造することができる。
【0192】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0193】
(付記1)任意の属性の属性情報を指定する検索条件を受け付ける受付部と、
前記受付部によって受け付けた検索条件で指定された属性情報と関連する他の属性情報を規定するテーブルを参照することにより、前記他の属性情報を指定する他の検索条件を作成する作成部と、
前記作成部によって作成された他の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する検索部と、
前記検索部によって検索された検索結果を出力する出力部と、
を備えることを特徴とする検索装置。
【0194】
(付記2)前記検索部は、さらに、前記受付部によって受け付けた検索条件に基づいて、前記データ群の中からデータを検索することを特徴とする付記1に記載の検索装置。
【0195】
(付記3)前記データ群の各データは、当該各データを特徴付ける複数の属性に含まれる属性ごとの属性情報を有しており、
前記受付部は、前記属性ごとの属性情報をそれぞれ指定する検索条件を受け付け、
前記作成部は、前記属性ごとに、前記受付部によって受け付けた検索条件で指定された当該属性の属性情報と同一の属性を有する他の属性情報を規定するテーブルを参照することにより、前記他の属性情報を指定する他の検索条件をそれぞれ作成し、
前記検索部は、前記作成部によって前記属性ごとにそれぞれ作成された他の検索条件に基づいて、前記データ群の中からデータを検索することを特徴とする付記1または2に記載の検索装置。
【0196】
(付記4)前記属性ごとに、当該属性を有する属性情報間の類似度を規定するテーブルを参照することにより、前記検索条件で指定された前記属性の属性情報と前記各データの前記属性の属性情報との類似度をそれぞれ特定する特定部を備え、
前記検索部は、前記特定部によって特定された前記各データの前記属性ごとの類似度に基づいて、前記データ群の中からデータを検索することを特徴とする付記3に記載の検索装置。
【0197】
(付記5)前記各データの前記属性ごとの類似度に基づいて、前記複数の属性をベクトル要素として前記検索条件および前記各データを多次元ベクトル化することにより、前記検索条件と前記各データとのベクトル間距離を算出する算出部を備え、
前記検索部は、前記算出部によって算出された算出結果に基づいて、前記データ群の中からデータを検索することを特徴とする付記4に記載の検索装置。
【0198】
(付記6)前記検索部は、前記データ群の中から、前記算出部によって算出されたベクトル間距離が最小のデータを検索することを特徴とする付記5に記載の検索装置。
【0199】
(付記7)前記算出部(以下、「第1の算出部」という)によって算出されたベクトル間距離が最小のデータが複数存在する場合、さらに、前記複数の属性のうち特定の属性を表す軸をベクトル化することにより、前記最小の各データと前記軸とのベクトル間距離を算出する第2の算出部を備え、
前記検索部は、前記複数の前記最小のデータの中から、前記第2の算出部によって算出されたベクトル間距離が最小のデータを検索することを特徴とする付記6に記載の検索装置。
【0200】
(付記8)前記データごとに、当該データの前記属性ごとの類似度を累積した値を算出する第3の算出部を備え、
前記検索部は、前記データ群の中から、前記第3の算出部によって算出された値が最大のデータを検索することを特徴とする付記4に記載の検索装置。
【0201】
(付記9)コンピュータを、
任意の属性の属性情報を指定する検索条件を受け付ける受付手段、
前記受付手段によって受け付けた検索条件で指定された属性情報と関連する他の属性情報を規定するテーブルを参照することにより、前記他の属性情報を指定する他の検索条件を作成する作成手段、
前記作成手段によって作成された他の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する検索手段、
前記検索手段によって検索された検索結果を出力する出力手段、
として機能させることを特徴とする検索プログラム。
【0202】
(付記10)任意の属性の属性情報を指定する検索条件を受け付ける受付工程と、
前記受付工程によって受け付けた検索条件で指定された属性情報と関連する他の属性情報を規定するテーブルを参照することにより、前記他の属性情報を指定する他の検索条件を作成する作成工程と、
前記作成工程によって作成された他の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する検索工程と、
前記検索工程によって検索された検索結果を出力する出力工程と、
をコンピュータに実行させることを特徴とする検索方法。
【符号の説明】
【0203】
100,401 検索装置
101 受付部
102 作成部
103 検索部
104 出力部
110 属性テーブル
402 クライアント端末
403 品目マスタ
404 文書マスタ
800 ユーザ分類テーブル
900 作成理由分類テーブル
1000 作成方法分類テーブル
1301 特定部
1302 第1の算出部
1303 第2の算出部
1400 類似度定義テーブル
1500 類似度テーブル
1700 軸定義テーブル

【特許請求の範囲】
【請求項1】
任意の属性の属性情報を指定する検索条件を受け付ける受付部と、
前記受付部によって受け付けた検索条件で指定された属性情報と関連する他の属性情報を規定するテーブルを参照することにより、前記他の属性情報を指定する他の検索条件を作成する作成部と、
前記作成部によって作成された他の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する検索部と、
前記検索部によって検索された検索結果を出力する出力部と、
を備えることを特徴とする検索装置。
【請求項2】
前記検索部は、
さらに、前記受付部によって受け付けた検索条件に基づいて、前記データ群の中からデータを検索することを特徴とする請求項1に記載の検索装置。
【請求項3】
前記データ群の各データは、当該各データを特徴付ける複数の属性に含まれる属性ごとの属性情報を有しており、
前記受付部は、
前記属性ごとの属性情報をそれぞれ指定する検索条件を受け付け、
前記作成部は、
前記属性ごとに、前記受付部によって受け付けた検索条件で指定された当該属性の属性情報と同一の属性を有する他の属性情報を規定するテーブルを参照することにより、前記他の属性情報を指定する他の検索条件をそれぞれ作成し、
前記検索部は、
前記作成部によって前記属性ごとにそれぞれ作成された他の検索条件に基づいて、前記データ群の中からデータを検索することを特徴とする請求項1または2に記載の検索装置。
【請求項4】
前記属性ごとに、当該属性を有する属性情報間の類似度を規定するテーブルを参照することにより、前記検索条件で指定された前記属性の属性情報と前記各データの前記属性の属性情報との類似度をそれぞれ特定する特定部を備え、
前記検索部は、
前記特定部によって特定された前記各データの前記属性ごとの類似度に基づいて、前記データ群の中からデータを検索することを特徴とする請求項3に記載の検索装置。
【請求項5】
コンピュータを、
任意の属性の属性情報を指定する検索条件を受け付ける受付手段、
前記受付手段によって受け付けた検索条件で指定された属性情報と関連する他の属性情報を規定するテーブルを参照することにより、前記他の属性情報を指定する他の検索条件を作成する作成手段、
前記作成手段によって作成された他の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する検索手段、
前記検索手段によって検索された検索結果を出力する出力手段、
として機能させることを特徴とする検索プログラム。
【請求項6】
任意の属性の属性情報を指定する検索条件を受け付ける受付工程と、
前記受付工程によって受け付けた検索条件で指定された属性情報と関連する他の属性情報を規定するテーブルを参照することにより、前記他の属性情報を指定する他の検索条件を作成する作成工程と、
前記作成工程によって作成された他の検索条件に基づいて、検索対象となるデータ群の中からデータを検索する検索工程と、
前記検索工程によって検索された検索結果を出力する出力工程と、
をコンピュータに実行させることを特徴とする検索方法。

【図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

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate