以下、図面に基づいて、本願の開示する情報処理装置、部品選定方法および部品選定プログラムの実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
図1は、実施例の情報処理装置の構成の一例を示すブロック図である。図1に示す情報処理装置100は、電子回路設計における部品情報の管理や検索を行う情報処理装置の一例である。情報処理装置100は、設計者の過去の複数の部品選定データ(検索ログ)に対して、部品の仕様の一致度と各部品の価格情報の参照記録とを基に、その部品の選定がEMSなのかEOLなのかを判定し、判定結果を部品選定データに記録する。情報処理装置100は、設計者が、部品の選定を行う際に、選定の条件がEMSならば、判定結果がEMSの部品選定データに対して類似度検索を行う。情報処理装置100は、選定の条件がEOLならば、判定結果がEOLの部品選定データに対して類似度検索を行う。これにより、情報処理装置100は、部品推奨精度を向上できる。
ここで、図2および図3を用いて、検索ログに現れる情報の特徴と判定基準について説明する。図2は、検索ログに現れる情報の特徴の一例を示す図である。図2に示すように、検索ログ、つまり部品情報システムログに現れる情報は、改版目的がEOL対応である場合とEMS対応である場合とで特徴的な違いがある。例えば、ある置換対象部品に対するログでは、改版目的がEOLであると、完全一致スペックが多く、部分一致スペックが少なくなるという特徴がある。また、改版目的がEOLである場合、検索時の単価参照は、スペックが完全一致では行わない割合が高く、部分一致では常に実施するという特徴がある。なお、追加でコスト削減作業が実施される場合は、改版目的がEOLであっても部品単価も参照することがある。
一方、改版目的がEMSである場合には、完全一致スペックが少なく、部分一致スペックが多くなるという特徴がある。また、改版目的がEMSである場合、検索時の単価参照は、常に実施するという特徴がある。本実施例では、この様な特徴を利用して、スペック一致率と単価参照率とに基づいて、改版目的、つまり改版設計がEOLであるかEMSであるのかを判定する。
図3は、判定基準の一例を示す図である。図3に示すように、図2で説明した検索ログに現れる情報の特徴に対する判定基準は、設計者による検索操作の1回のセッション内の検索ログに対して、2つの項目を用いる。ここで、1回のセッションは、標準的なセッションが1時間以内に収まるため、例えば1時間とする。判定基準の1つ目の項目は、部品のスペックが完全一致している割合(スペック一致率)を用いる。つまり、EOLであるかEMSであるのかの判定では、ある置換対象部品と完全一致する部品と部分一致する部品の割合を算出する。判定基準の2つ目の項目は、検索時の単価参照の割合(単価参照率)を用いる。
判定基準の項目が、スペック一致率が50%以上、かつ、単価参照率が100%未満である場合には、判定結果をEOLとする。また、判定基準の項目が、スペック一致率が50%未満、かつ、単価参照率が100%である場合には、判定結果をEMSとする。さらに、判定基準の項目が、スペック一致率が50%以上、かつ、単価参照率が100%である場合と、スペック一致率が50%未満、かつ、単価参照率が100%未満である場合とについては、判定結果をその他とする。
次に、情報処理装置100の構成について説明する。図1に示すように、情報処理装置100は、通信部110と、表示部111と、操作部112と、記憶部120と、制御部130とを有する。なお、情報処理装置100は、図1に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、図示しないネットワークを介して他の情報処理装置と有線または無線で接続され、他の情報処理装置との間で情報の通信を司る通信インタフェースである。通信部110は、例えば、他の情報処理装置から部品情報や部品情報システムログ(検索ログ)を受信する。また、通信部110は、他の情報処理装置に、抽出ログや属性テーブルを送信する。
表示部111は、各種情報を表示するための表示デバイスである。表示部111は、例えば、表示デバイスとして液晶ディスプレイ等によって実現される。表示部111は、制御部130から入力された表示画面等の各種画面を表示する。
操作部112は、情報処理装置100のユーザから各種操作を受け付ける入力デバイスである。操作部112は、例えば、入力デバイスとして、キーボードやマウス等によって実現される。操作部112は、ユーザによって入力された操作を操作情報として制御部130に出力する。なお、操作部112は、入力デバイスとして、タッチパネル等によって実現されるようにしてもよく、表示部111の表示デバイスと、操作部112の入力デバイスとは、一体化されるようにしてもよい。
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、部品情報記憶部121と、システムログ記憶部122と、抽出ログ記憶部123と、属性テーブル記憶部124とを有する。また、記憶部120は、制御部130での処理に用いる情報を記憶する。
部品情報記憶部121は、電子回路設計に用いる部品の情報を記憶する。図4は、部品情報記憶部の一例を示す図である。図4に示すように、部品情報記憶部121は、「部品ID(IDentifier)」、「部品種別」、「部品」、「スペック1」、「スペック2」、「スペック3」、「単価」といった項目を有する。
「部品ID」は、部品を識別する識別子である。「部品種別」は、抵抗やコンデンサといった部品の種別を示す情報である。「部品」は、部品の名称や品番等を示す情報である。「スペック1」〜「スペック3」は、当該部品の代表的なスペックを示す情報である。なお、以下の説明では、各スペックを纏めて代表スペックとも表現する。「単価」は、当該部品の単価を示す情報である。
図1の説明に戻って、システムログ記憶部122は、例えば、複数の設計者が過去に改版設計を行った際に、部品を選定するために部品情報システムで検索した部品情報システムログ(以下、システムログともいう。)を記憶する。つまり、システムログは、過去の複数の部品選定データである検索ログの一例である。図5は、システムログ記憶部の一例を示す図である。図5に示すように、システムログ記憶部122は、「ログ時刻」、「ユーザ」、「部品」、「スペック1」〜「スペック3」、「単価参照」といった項目を有する。
「ログ時刻」は、部品が検索されてログが記録された時刻を示す情報である。「ユーザ」は、部品の検索を行ったユーザを示す情報である。「部品」は、検索対象の部品を示す情報である。「スペック1」〜「スペック3」は、当該部品の代表的なスペックを示す情報である。「単価参照」は、部品の検索の際に、単価が参照されたか否かを示す情報である。
図1の説明に戻って、抽出ログ記憶部123は、システムログから抽出した各ユーザの各セッションのログを記憶する。図6は、抽出ログ記憶部の一例を示す図である。図6に示すように、抽出ログ記憶部123は、セッションごとに、抽出ログと、スペック一致率、単価参照率および判定結果とを対応付けて記憶する。
図6の例では、ログ123aは、ユーザUAのあるセッションについて抽出した抽出ログと、抽出ログにおけるスペック一致率、単価参照率および判定結果とを含む。ログ123aでは、「スペック1」〜「スペック3」までの各一致率を乗算してスペック一致率を算出している。つまり、スペック一致率は、(3/3)×(3/3)×(2/3)=(2/3)=66.6%となる。また、単価参照率は、3つのログデータのうち、単価参照欄が「あり」であるのが1つであるので、1/3=33.3%となる。判定結果は、スペック一致率および単価参照率に基づいた改版設計の判定結果がEOLであったことを示す。同様に、ログ123bは、ユーザUBのあるセッションについて抽出した抽出ログと、抽出ログにおけるスペック一致率、単価参照率および判定結果とを含む。なお、一致するものがないスペックについては、スペック一致率の算出から除外してもよい。
図1の説明に戻って、属性テーブル記憶部124は、ユーザごとにスペック一致率、単価参照率および属性を対応付けて記憶する。図7は、属性テーブル記憶部の一例を示す図である。図7に示すように、属性テーブル記憶部124は、「ユーザ」、「スペック一致率」、「単価参照率」、「属性」といった項目を有する。
「ユーザ」は、過去に部品の検索を行ったユーザを示す情報である。「スペック一致率」は、セッションごとの検索された部品において、スペックが一致した割合を示す情報である。「単価参照率」は、セッションごとの検索された部品において、単価が参照された割合を示す情報である。「属性」は、部品の検索を行ったユーザについて、改版設計の判定結果を示す情報である。すなわち、属性テーブル記憶部124は、抽出ログ記憶部123のユーザおよびセッションごとのスペック一致率、単価参照率および属性を対応付けて記憶したものである。
図8は、属性テーブル記憶部の他の一例を示す図である。図8に示す属性テーブル記憶部124aは、属性テーブル記憶部124をより一般化した一例である。属性テーブル記憶部124aは、「ユーザ」、「特徴種1」〜「特徴種6」、「EOL」、「EMS」といった項目を有する。
「ユーザ」は、過去に部品の検索を行ったユーザを示す情報である。「特徴種1」〜「特徴種6」は、属性テーブル記憶部124の「スペック一致率」および「単価参照率」に対応する。「EOL」は、当該ユーザの改版設計の判定結果がEOLであるか否かを示す情報である。「EMS」は、当該ユーザの改版設計の判定結果がEMSであるか否かを示す情報である。属性テーブル記憶部124aでは、「特徴種1」〜「特徴種6」、「EOL」および「EMS」は、該当する箇所をフラグ「1」とし、該当しない箇所をフラグ「0」としている。なお、各項目の値は、「0/1」で表すフラグだけでなく、例えば、ユーザごとの平均アクセス回数等を用いてもよい。
図1の説明に戻って、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部130は、受付部131と、判定部132と、検索部133と、出力制御部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図1に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
受付部131は、例えば、情報処理装置100の管理者から属性テーブルの生成指示が入力されると、属性テーブル生成処理を実行する。受付部131は、システムログ記憶部122を参照し、システムログからユーザを抽出してユーザ一覧を生成する。受付部131は、生成したユーザ一覧を判定部132に出力する。
また、受付部131は、ユーザのログインを受け付ける。受付部131は、ログインを受け付けると、属性テーブル記憶部124を参照し、ログインユーザの属性を取得する。受付部131は、例えば、部品検索画面において、置換対象部品の選択を受け付ける。受付部131は、取得したログインユーザの属性と、受け付けた置換対象部品とを検索部133に出力する。
受付部131は、出力制御部134から出力済情報が入力されると、ログインユーザがログアウトするか否かを判定する。受付部131は、ログアウトしないと判定した場合には、次の置換対象部品の選択を待機する。受付部131は、ログアウトすると判定した場合には、検索処理を終了する。
判定部132は、受付部131からユーザ一覧が入力されると、ユーザ一覧の全ユーザについて、セッションのログの抽出、スペック一致率および単価参照率の算出、および、改版設計における部品の選定の判定の各処理を行う。
判定部132は、受付部131からユーザ一覧が入力されると、ユーザ一覧の全ユーザの処理が終了したか否かを判定する。判定部132は、全ユーザの処理が終了したと判定した場合には、表示部111に属性テーブルの生成が終了した旨のメッセージを出力し、属性テーブル生成処理を終了する。
判定部132は、全ユーザの処理が終了していないと判定した場合には、ユーザ一覧からユーザを1名選択する。判定部132は、ユーザを1名選択すると、システムログ記憶部122を参照し、システムログから選択したユーザのセッションのログを抽出する。
判定部132は、セッションのログを抽出すると、全セッションの処理が終了したか否かを判定する。判定部132は、全セッションの処理が終了したと判定した場合には、次のユーザの処理に進む。判定部132は、全セッションの処理が終了していないと判定した場合には、セッションを1つ選択する。判定部132は、選択したセッションのログを抽出ログとして抽出ログ記憶部123に記憶する。判定部132は、抽出ログを抽出ログ記憶部123に記憶すると、算出処理を実行する。
判定部132は、算出処理として、まず、抽出ログについて、全スペックの処理が終了したか否かを判定する。判定部132は、全スペックの処理が終了していないと判定した場合には、抽出ログの全スペックからスペックを1つ選択する。判定部132は、選択したスペックについて、最も出現したスペック値の個数と部品個数とから、選択したスペックの一致率を算出する。判定部132は、算出した一致率を抽出ログ記憶部123の対応する抽出ログに記憶する。判定部132は、算出した一致率を記憶すると、全スペックの処理が終了したか否かの判定に戻る。
判定部132は、全スペックの処理が終了したと判定した場合には、抽出ログ記憶部123を参照し、各スペックの一致率からスペック一致率を算出する。判定部132は、例えば、各スペックの一致率を乗算してスペック一致率を算出する。また、判定部132は、抽出ログ記憶部123を参照し、単価参照の有無から単価参照率を算出する。判定部132は、算出したスペック一致率と、単価参照率とを抽出ログ記憶部123の対応する抽出ログに記憶し、算出処理を終了する。
判定部132は、算出処理が終了すると、抽出ログ記憶部123を参照し、スペック一致率と単価参照率を含む属性テーブルを生成する。つまり、判定部132は、属性テーブルのうち、スペック一致率と単価参照率をユーザに対応付ける。このとき、属性テーブルの属性欄は空欄とする。判定部132は、生成した属性テーブルを属性テーブル記憶部124に記憶する。
判定部132は、属性テーブルを属性テーブル記憶部124に記憶すると、判定処理を実行する。判定部132は、判定処理について、全ユーザの処理が終了したか否かを判定する。判定部132は、全ユーザの処理が終了したと判定した場合には、判定処理を終了する。
判定部132は、全ユーザの処理が終了していないと判定した場合には、ユーザを1名選択する。判定部132は、選択したユーザについて、抽出ログ記憶部123を参照し、スペック一致率が50%以上であるか否かを判定する。判定部132は、スペック一致率が50%以上でないと判定した場合には、単価参照率が100%であるか否かを判定する。判定部132は、単価参照率が100%であると判定した場合には、選択したユーザについて、属性テーブル記憶部124の属性テーブルの属性欄に「EMS」を設定する。判定部132は、単価参照率が100%でないと判定した場合には、選択したユーザについて、属性テーブル記憶部124の属性テーブルの属性欄に「その他」を設定する。
判定部132は、スペック一致率が50%以上であるか否かの判定において、スペック一致率が50%以上であると判定した場合には、単価参照率が50%以上であるか否かを判定する。判定部132は、単価参照率が50%以上であると判定した場合には、選択したユーザについて、属性テーブル記憶部124の属性テーブルの属性欄に「その他」を設定する。判定部132は、単価参照率が50%以上でないと判定した場合には、選択したユーザについて、属性テーブル記憶部124の属性テーブルの属性欄に「EOL」を設定する。判定部132は、属性欄を設定すると、全ユーザの処理が終了したか否かの判定に戻る。
言い換えると、判定部132は、設計者の過去の複数の部品選定データに対して、部品の仕様の一致度と各部品の価格情報の参照記録とを基に、その部品の選定がEMSなのかEOLなのかを判定し、判定結果を部品選定データに記録する。また、判定部132は、部品の仕様の一致度(スペック一致率)が所定値未満、かつ、各部品の価格情報の参照記録における参照率(単価参照率)が100%である場合、EMSであると判定する。また、判定部132は、部品の仕様の一致度が所定値以上、かつ、参照率が100%未満である場合、EOLであると判定する。また、判定部132は、過去の複数の部品選定データのうち、1回の部品選定操作に対応する1回のセッションごとに、その部品の選定がEMSなのかEOLなのかを判定する。また、判定部132は、1回の部品選定操作を行った設計者、部品の仕様の一致度と各部品の価格情報の参照記録、および、判定結果を対応付けたテーブルを生成する。
検索部133は、受付部131からログインユーザの属性と、置換対象部品とが入力されると、ログインユーザの属性が「EMS」であるか否かを判定する。検索部133は、ログインユーザの属性が「EMS」であると判定した場合には、抽出ログ記憶部123および属性テーブル記憶部124を参照し、属性が「EMS」であるユーザの抽出ログに対して類似度検索を実行する。検索部133は、類似度検索の結果に基づく代替部品候補と、代替部品候補が含まれる抽出ログに対応するユーザとを取得する。検索部133は、取得したユーザを類似ユーザとし、類似ユーザおよび代替部品候補を出力制御部134に出力する。なお、類似ユーザは、言い換えると、属性テーブル記憶部124の属性テーブルの属性(判定結果)が、ログインユーザの属性と一致する当該属性テーブルに含まれるユーザのうち、代替部品候補が含まれる抽出ログに対応するユーザのことである。
一方、検索部133は、ログインユーザの属性が「EMS」でないと判定した場合には、ログインユーザの属性が「EOL」であるか否かを判定する。検索部133は、ログインユーザの属性が「EOL」であると判定した場合には、抽出ログ記憶部123および属性テーブル記憶部124を参照し、属性が「EOL」であるユーザの抽出ログに対して類似度検索を実行する。検索部133は、類似度検索の結果に基づく代替部品候補と、代替部品候補が含まれる抽出ログに対応するユーザとを取得する。検索部133は、取得したユーザを類似ユーザとし、類似ユーザおよび代替部品候補を出力制御部134に出力する。
検索部133は、ログインユーザの属性が「EOL」でないと判定した場合には、抽出ログ記憶部123および属性テーブル記憶部124を参照し、属性が「その他」であるユーザの抽出ログに対して類似度検索を実行する。検索部133は、類似度検索の結果に基づく代替部品候補と、代替部品候補が含まれる抽出ログに対応するユーザとを取得する。検索部133は、取得したユーザを類似ユーザとし、類似ユーザおよび代替部品候補を出力制御部134に出力する。
言い換えると、検索部133は、設計者(ログインユーザ)が部品の選定を行う際に、選定の条件(ログインユーザの属性)がEMSならば、判定結果がEMSの部品選定データ(抽出ログ)に対して類似度検索を行う。検索部133は、選定の条件がEOLならば、判定結果がEOLの部品選定データに対して類似度検索を行う。また、検索部133は、生成されたテーブルを参照し、部品の選定を行う設計者の属性がEMSなのかEOLなのかを判定する。検索部133は、設計者の属性がEMSならば、セッションの判定結果がEMSである部品選定データに対して類似度検索を行う。検索部133は、設計者の属性がEOLならば、セッションの判定結果がEOLである部品選定データに対して類似度検索を行う。
出力制御部134は、検索部133から類似ユーザおよび代替部品候補が入力されると、例えば、部品検索画面に類似ユーザおよび代替部品候補を出力して表示する。出力制御部134は、類似ユーザおよび代替部品候補を表示すると、出力済情報を受付部131に出力する。
すなわち、出力制御部134は、類似度検索の結果に基づく代替部品候補の情報、および、部品の選定を行う設計者の属性とテーブルの判定結果とが一致する、代替部品候補を含む部品選定データに対応する設計者の情報のうち、1つまたは複数の情報を出力する。
ここで、図9から図11を用いて、協調フィルタリングと代替部品候補の表示の一例とについて説明する。図9は、協調フィルタリングによる推薦の一例を示す図である。図9の例では、ユーザUDの検索結果20には、コンデンサGと、コンデンサGにスペックが類似する部品群21とが含まれる。一方、ユーザUEの検索結果22には、コンデンサGと、コンデンサGにスペックが類似する部品群23とが含まれる。このとき、部品群21は、ユーザUEが検索していない部品群である。また、部品群23は、ユーザUDが検索していない部品群である。ユーザUDとユーザUEとは、コンデンサGという同じ部品がそれぞれの検索結果に含まれるため、類似ユーザであると判定される。協調フィルタリングでは、ユーザUDに対して部品群23がレコメンド(推薦)され、ユーザUEに対して部品群21がレコメンド(推薦)される。
図10は、EOL対応の部品表の更新の一例を示す図である。図10の例は、代替部品候補の表示の一例として、EOL対応の部品表の更新を行う場合である。EOL対応を実施しようとしているユーザUFは、例えば、設計者であり、部品の互換性を重視した検索を行う。まず、ユーザUFは、元の部品表である過去検索部品24のうち、抵抗Xに対応する項目25を選択する。なお、項目25のうち「MMD」は抵抗Xのシリーズ名であるとする。検索部133は、過去にEOL対応を実施しているユーザUG,UHと、ユーザUFとは、EOL対応という点が一致する、つまり同一属性であると判定する。検索部133は、ユーザUG,UHの抽出ログである過去検索部品26,27に対して類似度検索を行うと、それぞれ項目28,29の抵抗Xとともに、同じシリーズ「MMD」に属する抵抗Bがヒットする。検索部133は、EOL対応である、つまりスペック重視であるため、類似スペックの同一シリーズである抵抗Bを代替部品候補とし、出力制御部134に出力して項目25を更新する。つまり、検索部133および出力制御部134は、過去検索部品24を更新した部品表であるEOL用代替部品候補30では、抵抗Xの項目25を抵抗Bの項目31に更新する。これにより、情報処理装置100は、ユーザUFに対して、抵抗XのEOL対応に適する抵抗Bを推奨できる。
図11は、EMS対応の部品表の更新の一例を示す図である。図11の例は、代替部品候補の表示の一例として、EMS対応の部品表の更新を行う場合である。EMS対応を実施しようとしているユーザUIは、例えば、購買部門の担当者であり、部品の単価を重視した検索を行う。まず、ユーザUIは、元の部品表である過去検索部品32のうち、抵抗Xに対応する項目33を選択する。なお、項目33のうち「¥3」は抵抗Xの単価であるとする。検索部133は、過去にEMS対応を実施しているユーザUJ,UKと、ユーザUIとは、EMS対応という点が一致する、つまり同一属性であると判定する。検索部133は、ユーザUJ,UKの抽出ログである過去検索部品34,35に対して類似度検索を行うと、それぞれ項目36,37の抵抗Xとともに、単価が最も安い抵抗Eがヒットする。検索部133は、EMS対応である、つまり単価重視であるため、単純に最安値である抵抗Eを代替部品候補とし、出力制御部134に出力して項目33を更新する。つまり、検索部133および出力制御部134は、過去検索部品32を更新した部品表であるEMS概算用代替部品候補38では、抵抗Xの項目33を抵抗Eの項目39に更新する。これにより、情報処理装置100は、ユーザUIに対して、抵抗XのEMS対応に適する抵抗Eを推奨できる。
次に、実施例の情報処理装置100の動作について説明する。まず、属性テーブル生成処理について説明する。図12は、実施例の属性テーブル生成処理の一例を示すフローチャートである。
受付部131は、例えば、情報処理装置100の管理者から属性テーブルの生成指示が入力されると、システムログ記憶部122を参照し、システムログからユーザを抽出してユーザ一覧を生成する(ステップS1)。受付部131は、生成したユーザ一覧を判定部132に出力する。
判定部132は、受付部131からユーザ一覧が入力されると、ユーザ一覧の全ユーザの処理が終了したか否かを判定する(ステップS2)。判定部132は、全ユーザの処理が終了していないと判定した場合には(ステップS2:否定)、ユーザ一覧からユーザを1名選択する(ステップS3)。判定部132は、ユーザを1名選択すると、システムログ記憶部122を参照し、システムログから選択したユーザのセッションのログを抽出する(ステップS4)。
判定部132は、セッションのログを抽出すると、全セッションの処理が終了したか否かを判定する(ステップS5)。判定部132は、全セッションの処理が終了していないと判定した場合には(ステップS5:否定)、セッションを1つ選択する(ステップS6)。判定部132は、選択したセッションのログを抽出ログとして抽出ログ記憶部123に記憶する(ステップS7)。判定部132は、抽出ログを抽出ログ記憶部123に記憶すると、算出処理を実行する(ステップS8)。
ここで、図13を用いて算出処理について説明する。図13は、算出処理の一例を示すフローチャートである。
判定部132は、抽出ログについて、全スペックの処理が終了したか否かを判定する(ステップS81)。判定部132は、全スペックの処理が終了していないと判定した場合には(ステップS81:否定)、抽出ログの全スペックからスペックを1つ選択する(ステップS82)。判定部132は、選択したスペックについて、最も出現したスペック値の個数と部品個数とから、選択したスペックの一致率を算出する(ステップS83)。判定部132は、算出した一致率を抽出ログ記憶部123の対応する抽出ログに記憶する。判定部132は、算出した一致率を記憶すると、ステップS81に戻る。
判定部132は、全スペックの処理が終了したと判定した場合には(ステップS81:肯定)、抽出ログ記憶部123を参照し、各スペックの一致率からスペック一致率を算出する(ステップS84)。また、判定部132は、抽出ログ記憶部123を参照し、単価参照の有無から単価参照率を算出する(ステップS85)。判定部132は、算出したスペック一致率と、単価参照率とを抽出ログ記憶部123の対応する抽出ログに記憶し(ステップS86)、元の処理に戻る。これにより、判定部132は、ユーザおよびセッションごとのスペック一致率および単価参照率を算出できる。
図12の説明に戻って、判定部132は、算出処理が終了すると、抽出ログ記憶部123を参照し、スペック一致率と単価参照率を含む属性テーブルを生成する(ステップS9)。判定部132は、生成した属性テーブルを属性テーブル記憶部124に記憶すると、判定処理を実行する(ステップS10)。
ここで、図14を用いて判定処理について説明する。図14は、判定処理の一例を示すフローチャートである。
判定部132は、判定処理について、全ユーザの処理が終了したか否かを判定する(ステップS101)。判定部132は、全ユーザの処理が終了していないと判定した場合には(ステップS101:否定)、ユーザを1名選択する(ステップS102)。判定部132は、選択したユーザについて、抽出ログ記憶部123を参照し、スペック一致率が50%以上であるか否かを判定する(ステップS103)。
判定部132は、スペック一致率が50%以上でないと判定した場合には(ステップS103:否定)、単価参照率が100%であるか否かを判定する(ステップS104)。判定部132は、単価参照率が100%であると判定した場合には(ステップS104:肯定)、選択したユーザについて、属性テーブル記憶部124の属性テーブルの属性欄に「EMS」を設定し(ステップS105)、ステップS101に戻る。判定部132は、単価参照率が100%でないと判定した場合には(ステップS104:否定)、選択したユーザについて、属性テーブル記憶部124の属性テーブルの属性欄に「その他」を設定し(ステップS106)、ステップS101に戻る。
一方、判定部132は、ステップS103において、スペック一致率が50%以上であると判定した場合には(ステップS103:肯定)、単価参照率が50%以上であるか否かを判定する(ステップS107)。判定部132は、単価参照率が50%以上であると判定した場合には(ステップS107:肯定)、選択したユーザについて、属性テーブル記憶部124の属性テーブルの属性欄に「その他」を設定し(ステップS106)、ステップS101に戻る。
判定部132は、単価参照率が50%以上でないと判定した場合には(ステップS107:否定)、選択したユーザについて、属性テーブル記憶部124の属性テーブルの属性欄に「EOL」を設定し(ステップS108)、ステップS101に戻る。
判定部132は、ステップS101において、全ユーザの処理が終了したと判定した場合には(ステップS101:肯定)、元の処理に戻る。これにより、判定部132は、ユーザのセッションごとにEMSであるかEOLであるかを判定できる。
図12の説明に戻って、判定部132は、判定処理が終了すると、ステップS5に戻る。判定部132は、ステップS5において、全セッションの処理が終了したと判定した場合には(ステップS5:肯定)、ステップS2に戻り、次のユーザの処理に進む。
判定部132は、ステップS2において、全ユーザの処理が終了したと判定した場合には(ステップS2:肯定)、表示部111に属性テーブルの生成が終了した旨のメッセージを出力し、属性テーブル生成処理を終了する。これにより、情報処理装置100は、過去に部品の選定を行ったユーザに対して、当該選定の条件がEMSであるかEOLであるかを判定した属性テーブルを生成することができる。また、情報処理装置100は、過去に部品の選定を行ったユーザのセッションごとの抽出ログに対して、EMSであるかEOLであるかの判定結果を付与することができる。また、情報処理装置100は、EOL対応とEMS対応とを行ったセッションをシステムログから、それぞれ抽出することができる。また、情報処理装置100は、過去に蓄積されたシステムログ、つまり部品検索ログに対して、EOL/EMS判定を実施していずれかのタグを付与した統計データを生成することができる。
続いて、検索処理について説明する。図15は、実施例の検索処理の一例を示すフローチャートである。
受付部131は、ユーザのログインを受け付けると(ステップS201)、属性テーブル記憶部124を参照し、ログインユーザの属性を取得する(ステップS202)。受付部131は、例えば、部品検索画面において、置換対象部品の選択を受け付ける(ステップS203)。受付部131は、取得したログインユーザの属性と、受け付けた置換対象部品とを検索部133に出力する。
検索部133は、受付部131からログインユーザの属性と、置換対象部品とが入力されると、ログインユーザの属性が「EMS」であるか否かを判定する(ステップS204)。検索部133は、ログインユーザの属性が「EMS」であると判定した場合には(ステップS204:肯定)、抽出ログ記憶部123および属性テーブル記憶部124を参照し、属性が「EMS」であるユーザの抽出ログに対して類似度検索を実行する(ステップS205)。検索部133は、類似度検索の結果に基づいて、類似ユーザおよび代替部品候補を取得する(ステップS206)。検索部133は、類似ユーザおよび代替部品候補を出力制御部134に出力する。
一方、検索部133は、ログインユーザの属性が「EMS」でないと判定した場合には(ステップS204:否定)、ログインユーザの属性が「EOL」であるか否かを判定する(ステップS207)。検索部133は、ログインユーザの属性が「EOL」であると判定した場合には(ステップS207:肯定)、抽出ログ記憶部123および属性テーブル記憶部124を参照し、属性が「EOL」であるユーザの抽出ログに対して類似度検索を実行する(ステップS208)。検索部133は、類似度検索の結果に基づいて、類似ユーザおよび代替部品候補を取得する(ステップS209)。検索部133は、類似ユーザおよび代替部品候補を出力制御部134に出力する。
検索部133は、ログインユーザの属性が「EOL」でないと判定した場合には(ステップS207:否定)、抽出ログ記憶部123および属性テーブル記憶部124を参照し、属性が「その他」であるユーザの抽出ログに対して類似度検索を実行する(ステップS210)。検索部133は、類似度検索の結果に基づいて、類似ユーザおよび代替部品候補を取得する(ステップS211)。検索部133は、類似ユーザおよび代替部品候補を出力制御部134に出力する。
出力制御部134は、検索部133から類似ユーザおよび代替部品候補が入力されると、例えば、部品検索画面に類似ユーザおよび代替部品候補を出力して表示する(ステップS212)。出力制御部134は、類似ユーザおよび代替部品候補を表示すると、出力済情報を受付部131に出力する。
受付部131は、出力制御部134から出力済情報が入力されると、ログインユーザがログアウトするか否かを判定する(ステップS213)。受付部131は、ログアウトしないと判定した場合には(ステップS213:否定)、ステップS203に戻り、次の置換対象部品の選択を待機する。受付部131は、ログアウトすると判定した場合には(ステップS213:肯定)、検索処理を終了する。これにより、情報処理装置100は、部品推奨精度を向上できる。また、情報処理装置100は、ログインユーザと改版設計の傾向が類似する類似ユーザの選定精度を向上できる。
なお、上記実施例では、スペック一致率が50%以上であるか否かに基づいて、EMSであるかEOLであるかを判定したが、これに限定されない。例えば、部品の種類により、完全一致の部品しか検索しないようにしたり、常に不完全一致の部品を検索するようにしてもよい。
また、上記実施例では、抽出ログについて条件を与えずに用いたが、これに限定されない。例えば、抽出ログにおいて、置換対象部品に対して完全一致および不完全一致のスペックの出現率をカウントし、カウント値が所定値以上である抽出ログを用いるようにしてもよい。この場合の所定値は、例えば全部品種に対する平均値を用いることができる。
また、上記実施例では、置換対象部品の単価によらず、スペック一致率の閾値を一定(50%)としたが、これに限定されない。例えば、単価が所定値未満の部品は、スペック一致率の閾値を、例えば30%といった値に下げるようにしてもよい。
また、属性テーブルの各ユーザの属性について、例えば、1ヶ月に1回評価し直すようにしてもよい。これにより、ユーザがEOL対応からEMS対応、または、EMS対応からEOL対応に変わった場合でも、精度の低下を抑止できる。
このように、情報処理装置100は、設計者の過去の複数の部品選定データに対して、部品の仕様の一致度と各部品の価格情報の参照記録とを基に、その部品の選定がEMSなのかEOLなのかを判定し、判定結果を部品選定データに記録する。また、情報処理装置100は、設計者が部品の選定を行う際に、選定の条件がEMSならば、判定結果がEMSの部品選定データに対して類似度検索を行い、選定の条件がEOLならば、判定結果がEOLの部品選定データに対して類似度検索を行う。その結果、情報処理装置100は、過去に部品の選定を行った設計者のセッションごとの抽出ログに対して、EMSであるかEOLであるかの判定結果を付与するので、部品検索における部品推奨精度を向上できる。
また、情報処理装置100は、部品の仕様の一致度が所定値未満、かつ、各部品の価格情報の参照記録における参照率が100%である場合、EMSであると判定する。また、情報処理装置100は、部品の仕様の一致度が所定値以上、かつ、参照率が100%未満である場合、EOLであると判定する。その結果、情報処理装置100は、去に部品の選定を行った設計者のセッションごとの抽出ログに対して、EMSであるかEOLであるかの判定結果を付与することができる。
また、情報処理装置100は、過去の複数の部品選定データのうち、1回の部品選定操作に対応する1回のセッションごとに、その部品の選定がEMSなのかEOLなのかを判定する。また、情報処理装置100は、1回の部品選定操作を行った設計者、部品の仕様の一致度と各部品の価格情報の参照記録、および、判定結果を対応付けたテーブルを生成する。また、情報処理装置100は、生成されたテーブルを参照し、部品の選定を行う設計者の属性がEMSなのかEOLなのかを判定する。また、情報処理装置100は、設計者の属性がEMSならば、セッションの判定結果がEMSである部品選定データに対して類似度検索を行う。また、情報処理装置100は、設計者の属性がEOLならば、セッションの判定結果がEOLである部品選定データに対して類似度検索を行う。その結果、情報処理装置100は、改版設計の部品検索における部品推奨精度を向上できる。
また、情報処理装置100は、類似度検索の結果に基づく代替部品候補の情報、および、部品の選定を行う設計者の属性とテーブルの判定結果とが一致する、代替部品候補を含む部品選定データに対応する設計者の情報のうち、1つまたは複数の情報を出力する。その結果、情報処理装置100は、代替部品候補や設計者の情報を参照して、改版設計における代替部品の選定を行うことができる。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、検索部133と出力制御部134とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものでなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の各実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の各実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図16は、部品選定プログラムを実行するコンピュータの一例を示す図である。
図16に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置204と、各種装置と接続するためのインタフェース装置205と、他の情報処理装置等と有線または無線により接続するための通信装置206とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM207と、ハードディスク装置208とを有する。また、各装置201〜208は、バス209に接続される。
ハードディスク装置208には、図1に示した受付部131、判定部132、検索部133および出力制御部134の各処理部と同様の機能を有する部品選定プログラムが記憶される。また、ハードディスク装置208には、部品情報記憶部121、システムログ記憶部122、抽出ログ記憶部123、属性テーブル記憶部124、および、部品選定プログラムを実現するための各種データが記憶される。入力装置202は、例えば、コンピュータ200のユーザから操作情報等の各種情報の入力を受け付ける。モニタ203は、例えば、コンピュータ200のユーザに対して表示画面等の各種画面を表示する。インタフェース装置205は、例えば印刷装置等が接続される。通信装置206は、例えば、図1に示した通信部110と同様の機能を有し図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
CPU201は、ハードディスク装置208に記憶された各プログラムを読み出して、RAM207に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ200を図1に示した受付部131、判定部132、検索部133および出力制御部134として機能させることができる。
なお、上記の部品選定プログラムは、必ずしもハードディスク装置208に記憶されている必要はない。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ200が読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD−ROMやDVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこの部品選定プログラムを記憶させておき、コンピュータ200がこれらから部品選定プログラムを読み出して実行するようにしてもよい。