(57)【要約】【課題】  ユーザの適切な条件指定を導く。【解決手段】  完成品の属性である所定の項目に対応する条件値の組み合わせに対して設定されている制限に従って、ユーザが希望する条件値に合致する完成品を特定するためのカスタムメイド支援方法であって、ユーザに条件値の指定を促す項目を提示項目として特定する提示項目特定ステップと、提示項目に対応する各条件値について、当該条件値が指定されることによって以後の条件値の指定に及ぼす影響を示す影響提示データを、組み合わせの制限に関するデータを格納する制限データ格納部を参照して生成し、追加提示データ格納部に格納する追加提示データ生成ステップと、追加提示データ格納部に格納されたデータを、提示項目に対応する条件値とともにユーザに提示する提示ステップとを含む。【選択図】図１
2005316585.tif 000002
【特許請求の範囲】
【請求項１】
完成品の属性である所定の項目に対応する条件値の組み合わせに対して設定されている制限に従って、ユーザが希望する条件値に合致する完成品を特定するための処理をコンピュータに実行させるためのカスタムメイド支援プログラムであって、
前記ユーザに条件値の指定を促す項目を提示項目として特定する提示項目特定ステップと、
前記提示項目に対応する各条件値について、当該条件値が指定されることによって以後の条件値の指定に及ぼす影響を示す影響提示データを、組み合わせの制限に関するデータを格納する制限データ格納部を参照して生成し、追加提示データ格納部に格納する追加提示データ生成ステップと、
前記追加提示データ格納部に格納されたデータを、前記提示項目に対応する条件値とともに前記ユーザに提示する提示ステップと、
をコンピュータに実行させるためのカスタムメイド支援プログラム。
【請求項２】
前記追加提示データ生成ステップが、
前記提示項目に対応する各条件値について、当該条件値が指定されることによって絞り込まれる完成品の候補数に関するデータを生成し、先読みデータとして先読みデータ格納部に格納する先読みデータ生成ステップと、
前記先読みデータ格納部に格納された前記先読みデータから指標値を算出するステップと、
算出された前記指標値が所定の条件を満たす場合、当該指標値の算出に関連し且つ前記先読みデータに含まれるデータ項目に関するデータを、前記影響提示データとして前記追加提示データ格納部に格納するステップと、
を含む請求項１記載のカスタムメイド支援プログラム。
【請求項３】
前記ユーザからの再検索の指示を受け付けた場合、再検索の指示がなされた時点における提示項目を指定項目として指定項目格納部に格納するステップと、
前記提示項目特定ステップと前記追加提示データ生成ステップと前記提示ステップとを再実行するステップと、
をさらにコンピュータに実行させ、
再実行される前記提示項目特定ステップが、
所定の方法に基づき、検索をやり直す検索段階に対応する項目を戻り先項目として決定する戻り先項目決定ステップと、
決定された前記戻り先項目を提示項目として特定するステップと、
を含み、
再実行される前記追加提示データ生成ステップが、前記提示項目に対応する条件値が指定されることによって前記指定項目に対応する条件値の指定に及ぼす影響を示すデータを生成し、前記追加提示データ格納部に格納するステップを含む
請求項１記載のカスタムメイド支援プログラム。
【請求項４】
前記ユーザからの前記提示項目に対応する条件値の指定データを取得した場合、前記提示項目及び指定された前記条件値に関するデータを検索履歴データとして検索履歴データ格納部に格納するステップ
をさらにコンピュータに実行させ、
前記戻り先項目決定ステップが、
前記検索履歴データ格納部に格納された前記検索履歴データに基づき特定の項目を抽出する抽出ステップと、
抽出された前記特定の項目を、前記戻り先項目として決定するステップと、
を含む
請求項３記載のカスタムメイド支援プログラム。
【請求項５】
完成品の属性である所定の項目に対応する条件値の組み合わせに対して設定されている制限に従って、ユーザが希望する条件値に合致する完成品を特定するためのカスタムメイド支援装置であって、
前記ユーザに条件値の指定を促す項目を提示項目として特定する手段と、
前記提示項目に対応する各条件値について、当該条件値が指定されることによって以後の条件値の指定に及ぼす影響を示す影響提示データを、組み合わせの制限に関するデータを格納する制限データ格納部を参照して生成し、追加提示データ格納部に格納する手段と、
前記追加提示データ格納部に格納されたデータを、前記提示項目に対応する条件値とともに前記ユーザに提示する手段と、
を有するカスタムメイド支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの適切な条件指定を導くための技術に関するものである。
【背景技術】
【０００２】
ユーザの希望条件に従い構成を決定するカスタムメイドの製品（サービスを含む）の販売や見積もりを例えばオンラインで実施する場合、通常、ユーザから指定された条件値をキーとした検索処理を複数回行う。検索処理を効率的に行うための技術は従来より存在しており、以下に例示する。
【０００３】
例えば、検索者（ユーザ）の検索対象が明確でない場合においても、検索過程が進むことに応じて、評価判断すべき検索候補の範囲を自動的に絞り込む技術が存在する（例えば特許文献１参照）。すなわち、データベース（ＤＢ）に基づき提示したデータのうち、ユーザによって検索対象に近いと判断された候補データ間における共通の特徴を、検索過程における履歴全体から捉えられる大域的な第１の文脈情報と各候補データ判断時に対して直近の検索判断における局所的な第２の文脈情報とを用いて動的に判定し、ユーザが評価判断すべき候補データの範囲を、第１の文脈情報と第２の文脈情報とに基づき判定された共通の特徴に応じて絞り込み、検索対象を決定する。
【０００４】
また例えば、検索条件の絞り込みやバックトラック操作を行いやすくするための技術が存在する（例えば特許文献２参照）。すなわち、検索条件管理手段が、複数次にわたる検索の時々に与えられた複数の条件の履歴を樹木構造に管理する。そして、その様子を検索条件履歴表示手段が画像表示する。また、検索手段は、与えられた検索条件に基づいてファイル情報を検索する。
【０００５】
また例えば、探索に関する各種の方針を、対象問題の内容や変数の種類に応じて動的に変更できるようにするための技術が存在する（例えば特許文献３参照）。すなわち、設定点毎探索処理部は、状況スタック格納部内の状況スタックへの設定点の設定及び削除を行い探索処理を進め、関数格納部内の値設定関数、設定点選択関数及び設定点追加関数と、設定点内の各属性値とに基づき、探索に関する各種の方針を決定し、条件検査部を用いて、条件格納部内の制約条件群に関する検査を行う。
【０００６】
また例えば、ハイパー空間における探索において迷子現象に陥りそうになった場合、その旨をユーザに対して警告し、ハイパー空間を無駄に探索して時間を空費することを防止するための技術が存在する（例えば特許文献４参照）。すなわち、現ノード情報保持手段が、ハイパーテキストの探索の過程において現時点で参照している現ノードの情報を保持し、次ノード決定手段が、現ノードの次に辿るべき次ノードを決定し、探索距離算出手段が、現ノードから次ノードへのハイパー空間における探索距離を算出し、算出された探索距離が所定の安全距離を越えた場合、警告情報報知手段が、ハイパー空間における探索状態に関する警告情報を報知する。
【特許文献１】特開平７−６５０１７号公報
【特許文献２】特開平６−３０１７３３号公報
【特許文献３】特開平８−２４９１８７号公報
【特許文献４】特開平９−２５１４７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
一方、組み合わせ方に制限がある複数の部品（オプション等を含む）を組み合わせて完成品を構成しようとする場合、ユーザが充分な知識を持っていないと、各検索段階における条件値の指定を何段階か終えた後で、希望する次の部品を組み合わせられなかったり、希望する仕様にならないことに気付き、前の検索段階に戻って条件値を指定し直すといったことを何度も繰り返すことになる。特に、パーソナル・コンピュータや、分電盤、交換機等、構成が複雑な製品については、通常、ユーザが全ての部品の組み合わせ可否パターンを把握していることはないため、試行錯誤を繰り返しながら構成していかざるを得ず、処理に時間がかかってしまう。しかしながら、上で述べた従来技術では、このような問題点については考慮されていない。
【０００８】
従って、本発明の目的は、ユーザが適切にカスタムメイドの製品を構成可能とするための新規な技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明に係るカスタムメイド支援方法は、完成品の属性である所定の項目に対応する条件値の組み合わせに対して設定されている制限に従って、ユーザが希望する条件値に合致する完成品を特定するためのカスタムメイド支援方法であって、ユーザに条件値の指定を促す項目を提示項目として特定する提示項目特定ステップと、提示項目に対応する各条件値について、当該条件値が指定されることによって以後の条件値の指定に及ぼす影響を示す影響提示データを、組み合わせの制限に関するデータを格納する制限データ格納部を参照して生成し、追加提示データ格納部に格納する追加提示データ生成ステップと、追加提示データ格納部に格納されたデータを、提示項目に対応する条件値とともにユーザに提示する提示ステップとを含む。
【００１０】
これにより、ユーザは、これから指定しようとしている条件値について、どのような指定を行うと、以後の条件値の指定にどのような影響を及ぼすかということを把握することができ、それを踏まえた上で条件値の指定を行うことができる。すなわち、ユーザに適切な条件値指定を行わせることができ、例えば前の段階に戻って条件値の指定をし直すというような無駄な処理を削減させることができる。
【００１１】
また、上記追加提示データ生成ステップが、提示項目に対応する各条件値について、当該条件値が指定されることによって絞り込まれる完成品の候補数に関するデータを生成し、先読みデータとして先読みデータ格納部に格納する先読みデータ生成ステップと、先読みデータ格納部に格納された先読みデータから指標値を算出するステップと、算出された指標値が所定の条件を満たす場合、当該指標値の算出に関連し且つ先読みデータに含まれるデータ項目に関するデータを、影響提示データとして追加提示データ格納部に格納するステップとを含むようにしてもよい。
【００１２】
このように、ユーザに提示するデータを指標値に基づき決定することにより、例えば条件値の指定による影響が比較的小さいと判定されたデータはユーザに提示されず、ユーザ自身が影響の大きさを判断する手間を省くことができる。
【００１３】
また、本発明に係るカスタムメイド支援方法が、ユーザからの再検索の指示を受け付けた場合、再検索の指示がなされた時点における提示項目を指定項目として指定項目格納部に格納するステップと、上記提示項目特定ステップと上記追加提示データ生成ステップと上記提示ステップとを再実行するステップとをさらに含み、再実行される上記提示項目特定ステップが、所定の方法に基づき、検索をやり直す検索段階に対応する項目を戻り先項目として決定する戻り先項目決定ステップと、決定された戻り先項目を提示項目として特定するステップとを含み、再実行される上記追加提示データ生成ステップが、提示項目に対応する条件値が指定されることによって指定項目に対応する条件値の指定に及ぼす影響を示すデータを生成し、追加提示データ格納部に格納するステップを含むようにしてもよい。
【００１４】
これにより、再検索の指示がなされた時点における提示項目については、以後の各検索（条件値指定）段階において、条件値の指定による影響を示すデータが、指標値に関わらず提示されるようになる。再検索の指示がなされたということは、その時点における提示項目についてユーザが希望する条件値を指定できなくなったと推定することができる。そのため、以後の各検索段階において、再検索の指示がなされた時点における提示項目について、条件値の指定による影響を示すデータを提示することにより、効果的なユーザ支援を行うことができる。
【００１５】
また、本発明に係るカスタムメイド支援方法が、ユーザからの提示項目に対応する条件値の指定データを取得した場合、提示項目及び指定された条件値に関するデータを検索履歴データとして検索履歴データ格納部に格納するステップをさらに含み、上記戻り先項目決定ステップが、検索履歴データ格納部に格納された検索履歴データに基づき特定の項目を抽出する抽出ステップと、抽出された特定の項目を戻り先項目として決定するステップとを含むようにしてもよい。
【００１６】
これにより、過去の検索履歴から適切だと判断される戻り先（検索段階）に自動的に移行させることができる。
【００１７】
なお、本発明に係る方法をコンピュータに実行させるためのプログラムを作成することも可能であって、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。また、ネットワークを介してデジタル信号として配信される場合もある。なお、処理途中のデータについては、コンピュータのメイン・メモリ等の記憶装置に一時保管される。
【発明の効果】
【００１８】
本発明によれば、カスタムメイド製品の構成処理における適切なユーザ支援を行うことができる。
【発明を実施するための最良の形態】
【００１９】
本発明の一実施の形態に係るカスタムメイド支援装置の機能ブロック図を図１に示す。カスタムメイド支援装置１００には、入力部１０１と先読み部１０３と評価部１０５と提示情報生成部１０７と出力部１０９と検索履歴分析部１１１と先読みデータ格納部１１３と評価ポイント格納部１１５と提示情報格納部１１７とが含まれている。また、カスタムメイド支援装置１００には、問題定義ＤＢ１１９と条件項目ＤＢ１２１と検索履歴ＤＢ１２３とが接続されている。なお、先読みデータ格納部１１３、評価ポイント格納部１１５及び提示情報格納部１１７は、例えば一連の処理の間だけメモリ上にデータを保持するための一時テーブルである。
【００２０】
入力部１０１は、ユーザからの選択入力データを取得し、場合によって検索履歴ＤＢ１２３にデータを格納する。また、ユーザからの選択入力データに応じて、先読み部１０３、提示情報生成部１０７又は検索履歴分析部１１１に処理の開始を指示するデータを出力する。先読み部１０３は、問題定義ＤＢ１１９と条件項目ＤＢ１２１とを参照して処理を行い、処理結果としての先読みデータを先読みデータ格納部１１３に格納する。また、評価部１０５又は提示情報生成部１０７に処理の開始を指示するデータを出力する。評価部１０５は、先読みデータ格納部１１３を参照して処理を行い、処理結果としての評価ポイントを評価ポイント格納部１１５に格納する。また、処理を終了すると、その旨のデータを提示情報生成部１０７に出力する。提示情報生成部１０７は、条件項目ＤＢ１２１と評価ポイント格納部１１５とを参照して処理を行い、処理結果としての提示情報を提示情報格納部１１７に格納する。また、処理を終了すると、その旨のデータを出力部１０９に出力する。出力部１０９は、提示情報格納部１１７を参照してデータの出力処理を行う。例えば図示しない表示装置やネットワークで接続されたユーザ端末にデータを送信する。検索履歴分析部１１１は、検索履歴ＤＢ１２３を参照して処理を行い、処理を終了すると、処理結果として、特定の項目のデータを先読み部１０３に出力する。
【００２１】
なお、入力部１０１及び出力部１０９が、ウェブ（Ｗｅｂ）サーバに含まれる機能であって、例えばインターネットを介して図示しないユーザ端末とデータの送受信を行うような場合もある。また、条件項目ＤＢ１２１には、ユーザに条件値を指定させる項目と、項目に対応する条件値が格納されている。例えば、「本体」という項目に対して、「本体Ａ」、「本体Ｂ」及び「本体Ｃ」という条件値が対応付けられて格納されている。また、指定させる項目の順序に関するデータが格納されている。例えば、「本体」という項目に対して「１」、「ＣＰＵ」という項目に対して「２」というように、順番を示す数値が対応付けられて格納されている。また例えば、「順番指定なし」という内容のデータが格納されている場合もある。このような場合、ユーザが、次に条件値を指定したい項目を選択入力しながら処理を進めていく。以下、具体例として、パーソナル・コンピュータ（ＰＣ）をカスタムメイドする処理について説明するが、分電盤や交換機等を構成する場合にも同様の処理が適用可能である。
【００２２】
なお、カスタムメイド支援装置１００は、図２に示すようなコンピュータ装置であって、メモリ２０１とＣＰＵ２０３とハードディスク・ドライブ（ＨＤＤ）２０５と表示装置２０９に接続される表示制御部２０７とリムーバブル・ディスク２１１用のドライブ装置２１３と入力装置２１５とネットワークに接続するための通信制御部２１７とがバス２１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施の形態における処理を実現するためのプログラムを含むアプリケーション・プログラムは、ＨＤＤ２０５に格納されており、ＣＰＵ２０３により実行される際にはＨＤＤ２０５からメモリ２０１に読み出される。必要に応じてＣＰＵ２０３は、表示制御部２０７、通信制御部２１７、ドライブ装置２１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２０１に格納され、必要があればＨＤＤ２０５に格納される。本発明の実施の形態における処理を実現するためのプログラムは例えばリムーバブル・ディスク２１１に格納されて頒布されドライブ装置２１３から、又はネットワーク及び通信制御部２１７を介して受信し、ＨＤＤ２０５にインストールされる。このようなコンピュータ装置は、上で述べたＣＰＵ２０３、メモリ２０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、以下で説明する各種機能を実現する。
【００２３】
図３Ａ乃至図３Ｄに、問題定義ＤＢ１１９のテーブル構成及び格納されるデータの一例を示す。図３Ａには、本体の列３００と価格の列３０２とが含まれている。本テーブルには、ＰＣの部品としての本体毎の価格が登録されている。また、図３Ｂには、追加メモリの列３０４と価格の列３０６とが含まれている。本テーブルには、追加メモリの容量毎の価格が登録されている。図示していないが、同様に、ＣＰＵ及びクロック（クロック数）毎の価格が登録されたテーブルや、ＨＤＤ（ＨＤ容量）毎の価格が登録されたテーブル、表示（ディスプレイ）装置毎の価格が登録されたテーブル等、ＰＣを構成する各種部品の価格が登録されたテーブルが、問題定義ＤＢ１１９には格納されている。これらのテーブルに登録された価格を参照して集計することにより、完成品の価格を算出することができる。
【００２４】
図３Ｃには、ＣｅｌＸＸＸの列３０８とＰｅｎＸＸＸの列３１０とＡｔｈＸＸＸの列３１２とが含まれている。これらはＣＰＵの名称であり、本テーブルには、各ＣＰＵに対する本体の組み合わせ可否が「○（可）」及び「×（不可）」で示されている。例えば、ＣｅｌＸＸＸの列３０８の本体Ａの行３１４には、「○」と登録されている。すなわち、ＣｅｌＸＸＸと本体Ａとを組み合わせることは可能である。一方、例えば、ＡｔｈＸＸＸの列３１２の本体Ｂの行３１６には、「×」と登録されている。すなわち、ＡｔｈＸＸＸと本体Ｂとを組み合わせることは不可能である。
【００２５】
図３Ｄには、２．０ＧＨｚの列３２２と２．４ＧＨｚの列３２４と２．６ＧＨｚの列３２６と２．８ＧＨｚの列３２８とが含まれている。これらはＣＰＵのクロック（クロック数）であり、本テーブルには、各クロックに対するＣＰＵの組み合わせ可否が「○（可）」及び「×（不可）」で示されている。例えば、２．０ＧＨｚの列３２２のＣｅｌＸＸＸの行３３０には、「○」と登録されている。すなわち、２．０ＧＨｚとＣｅｌＸＸＸとを組み合わせることは可能である（例えばＣｅｌＸＸＸの２．０ＧＨｚというＣＰＵが存在する）。一方、例えば、２．４ＧＨｚの列３２４のＡｔｈＸＸＸの行３３４には、「×」と登録されている。すなわち、２．４ＧＨｚとＡｔｈＸＸＸとを組み合わせることは不可能である（例えばＡｔｈＸＸＸの２．４ＧＨｚというＣＰＵは存在しない）。
【００２６】
図示していないが、同様に、本体とＨＤＤとの組み合わせ可否が登録されたテーブルや、本体とディスプレイ装置との組み合わせ可否が登録されたテーブル等、ＰＣを構成する各種部品の組み合わせ可否が登録されたテーブルが、問題定義ＤＢ１１９には格納されている。なお、組み合わせ不可（×）が登録されないような部品の組み合わせについてはテーブルが用意されていない場合もある。これらのテーブルに登録された組み合わせの制限を参照することにより、不可能な組み合わせをユーザが指定しないようにすることができる。
【００２７】
図４に、検索履歴ＤＢ１２３のテーブル構成及び格納されるデータの一例を示す。図４には、履歴ＩＤの列４００と順番の列４０２と項目の列４０４と条件値の列４０６とが含まれている。このように、ユーザの選択入力の履歴データが保持される。例えば１行目乃至３行目には、まず、ユーザは「価格帯」という項目に対して「〜１５万円」という条件値を指定し、次に「本体」という項目に対して「本体Ｃ」という条件値を指定し、次に「ＣＰＵ」という項目に対して「ＣｅｌＸＸＸ」という条件値を指定したということが記録されている。なお、図４の例には、条件値の列４０６に「検索し直し」と登録されている行が存在するが、同一の履歴ＩＤで同一の項目が存在する場合には検索し直しがあったと判断することができるので、「検索し直し」の選択入力については登録しないようにしてもよい。以下の説明では「検索し直し」の選択入力については検索履歴ＤＢ１２３に登録しない場合について述べる。
【００２８】
図５に、先読みデータ格納部１１３のテーブル構成及び格納されるデータの例を示す。図５の例には、ＣｅｌＸＸＸの列５００とＰｅｎＸＸＸの列５０２とが含まれている。すなわち、図５の例では、「ＣＰＵ」という項目に対して「ＣｅｌＸＸＸ」と「ＰｅｎＸＸＸ」とのうちいずれかの条件値が指定されることによって絞り込まれる完成品の候補数に関するデータが格納されている。例えば解候補数の行５０４には、「ＣｅｌＸＸＸ」が指定されると、完成品の候補数は１００件に絞り込まれることが示されている。そして、以下の行には、例えば１００件の候補数の内訳となる未指定の条件値に合致する候補数が格納されている。例えばクロックについては、候補数である１００件のうち、２．０ＧＨｚが２０件、２．４ＧＨｚが４０件、２．６ＧＨｚが４０件あり、２．８ＧＨｚがない（０件ある）ことが示されている。すなわち、ユーザは「ＣｅｌＸＸＸ」を指定すると、以後の条件値の指定において、クロックの条件値として２．８ＧＨｚを指定することはできないことになる。また、解候補数の行５０４には、「ＰｅｎＸＸＸ」が指定されると、完成品の候補数は１８０件に絞り込まれることが示されている。すなわち、ユーザは「ＣｅｌＸＸＸ」を指定すると、以後の条件値の指定において１００件の完成品の候補をさらに絞り込んでいくことになるが、「ＰｅｎＸＸＸ」を指定すると、以後の条件値の指定において１８０件の（「ＣｅｌＸＸＸ」の場合より８０件多い）完成品の候補から絞り込んでいくことができる。
【００２９】
図６乃至図１５を用いて、図１に示したカスタムメイド支援装置１００の処理について説明する。まず、カスタムメイド支援装置１００の入力部１０１は、ユーザからの検索（カスタムメイド処理）開始指示入力を受け付ける（図６：ステップＳ１）。そして、カスタムメイド支援装置１００の先読み部１０３は、条件値の選択を促す今回の項目を特定する（ステップＳ３）。例えば、条件項目ＤＢ１２１に格納されている項目の順番に従い、今回の項目を特定する。また例えば、後に述べるバック・トラック先設定処理によって特定された項目を、今回の項目として特定する。
【００３０】
また、先読み部１０３は、特定された今回の項目が最後の項目であるか判定する（ステップＳ５）。今回の項目について条件値が指定されることにより、全ての項目についての条件値が指定されることになる場合には、今回の項目は最後の項目である。最後の項目ではないと判定された場合（ステップＳ５：Ｎｏルート）、端子Ａを介して図７の処理に移行する。
【００３１】
一方、最後の項目であると判定された場合（ステップＳ５：Ｙｅｓルート）、カスタムメイド支援装置１００の出力部１０９は、条件値の選択を促す最後の項目（今回の項目）を含むページ・データを生成し、出力する（ステップＳ７）。具体的には、まず先読み部１０３が、今回の項目は最後の項目であると判定すると、カスタムメイド支援装置１００の提示情報生成部１０７にその旨を示すデータを出力する。提示情報生成部１０７は、条件項目ＤＢ１２１を参照して、条件値の選択を促す最後の項目を含むページ・データの基となる提示情報を生成し、提示情報格納部１１７に格納する。出力部１０９は、提示情報格納部１１７を参照して、条件値の選択を促す最後の項目を含むページ・データを生成し、例えばユーザ端末に送信する。
【００３２】
また、入力部１０１は、ユーザからの選択入力データを取得する（ステップＳ９）。例えばユーザ端末から選択入力データを受信し、ワーク・メモリ領域等の記憶装置に一旦格納する。そして、入力部１０１は、ユーザからの選択入力が再検索（検索し直し）を指示するものであったか判定する（ステップＳ１１）。ユーザからの選択入力が再検索を指示するものであったと判定された場合（ステップＳ１１：Ｙｅｓルート）、カスタムメイド支援装置１００の検索履歴分析部１１１は、最後に条件値の選択を促した項目を指定項目としてワーク・メモリ領域等の記憶装置に格納する（ステップＳ１３）。また、検索履歴分析部１１１は、バック・トラック先設定処理を行う（ステップＳ１５）。バック・トラック先設定処理の詳細については後に述べる。そして、ステップＳ３の処理に戻る。
【００３３】
一方、ユーザからの選択入力が再検索を指示するものではなかったと判定された場合（ステップＳ１１：Ｎｏルート）、入力部１０１は、検索履歴データを生成し、検索履歴ＤＢ１２３に格納する（ステップＳ１７）。
【００３４】
そして、出力部１０９は、既に選択された条件値及び最後の条件値に合致する完成品データを含むページ・データを生成し、出力する（ステップＳ１９）。具体的には、まず入力部１０１が、最後の条件値を取得した旨を示すデータを提示情報生成部１０７に出力する。提示情報生成部１０７は、一連の処理を開始してからこれまでのユーザからの選択入力データに基づき、各項目についてユーザから選択された条件値に合致する完成品データを含むページ・データの基となる提示情報を生成し、提示情報格納部１１７に格納する。出力部１０９は、提示情報格納部１１７を参照して、各項目についてユーザから選択された条件値に合致する完成品データを含むページ・データを生成し、例えばユーザ端末に送信する。
【００３５】
そして、処理を終了する。これにより、ユーザは希望する条件を満たす完成品を特定することができる。
【００３６】
図７に、端子Ａを介して移行した後の処理を示す。まず、先読み部１０３は、今回選択され得る条件値の各々について、当該条件値と既に選択された条件値とに合致する完成品の候補数を算出し、先読みデータ格納部１１３に格納する（図７：ステップＳ３１）。今回選択され得る条件値の各々とは、具体的には、図５の例ではＣｅｌＸＸＸ及びＰｅｎＸＸＸであり、ステップＳ３１の処理によって、ＣｅｌＸＸＸの列５００の解候補数の行５０４及びＰｅｎＸＸＸの列５０２の解候補数の行５０４に値が格納される。なお、完成品の候補数の算出は、問題定義ＤＢ１１９に格納されている組み合わせの制限に従って行う。すなわち、不可能な組み合わせによって構成される完成品をカウントしない。
【００３７】
そして、評価部１０５は、ステップＳ３１の処理によって算出された候補数の条件値間における差に基づき、候補数差ポイントを決定し、評価ポイント格納部１１５に格納する（ステップＳ３３）。本実施の形態においては、候補数差ポイントは以下の（１）式を用いて算出する。
候補数差ポイント＝｜解候補数Ａ−解候補数Ｂ｜／全解候補数  （１）
【００３８】
例えば図５の例では、解候補数ＡはＣｅｌＸＸＸの「１００」、解候補数ＢはＰｅｎＸＸＸの「１８０」であり、候補数差ポイントは０．２８６（＝｜１００−１８０｜／（１００＋１８０））と算出される。なお、今回選択され得る条件値が３種類以上ある場合には、各二値間における候補数差ポイントの平均や最大値、或いは最小値を、最終的な候補数差ポイントとしてもよい。
【００３９】
次に、先読み部１０３は、未だ条件値が選択されていない項目を１件特定する（ステップＳ３５）。なお、今回条件値を選択させる項目を除く。また、一旦条件値が選択された後、再検索の指示によって条件値の選択前の状態になった項目については、未だ条件値が選択されていない項目として扱う。
【００４０】
例えばこれまでに条件値が選択された項目が、「価格帯」及び「本体」であり、今回条件値を選択させる項目が「ＣＰＵ」である場合、未だ条件値が選択されていない項目である「クロック」や「ＤＶＤ／ＣＤ」といった項目から１件、例えば「クロック」を特定する。
【００４１】
そして、先読み部１０３は、今回選択され得る条件値の各々について、当該条件値と既に選択された条件値とに合致する場合における、ステップＳ３５で特定された項目の各条件値の候補数を算出し、先読みデータ格納部１１３に格納する（ステップＳ３７）。図５の例では、例えばＣｅｌＸＸＸの列５００のクロックについての４行（２．０ＧＨｚ乃至２．８ＧＨｚ）及びＰｅｎＸＸＸの列５０２のクロックについての４行に値が格納される。
【００４２】
また、先読み部１０３は、今回選択され得る条件値の各々について、当該条件値と既に選択された条件値とに合致する場合における、ステップＳ３５で特定された項目の選択肢数を算出し、ワーク・メモリ領域等の記憶装置に格納する（ステップＳ３９）。図５の例では、２．８ＧＨｚの候補数が０件であるＣｅｌＸＸＸにおけるクロックの選択肢数は、２．０ＧＨｚ、２．４ＧＨｚ及び２．６ＧＨｚの合計「３」、ＰｅｎＸＸＸにおけるクロックの選択肢数は２．０ＧＨｚ、２．４ＧＨｚ、２．６ＧＨｚ及び２．８ＧＨｚの合計「４」と算出される。
【００４３】
そして、評価部１０５は、ステップＳ３９の処理によって算出された選択肢数の条件値間における差に基づき、ステップＳ３５で特定された項目の選択肢数差ポイントを決定し、評価ポイント格納部１１５に格納する（ステップＳ４１）。本実施の形態においては、選択肢数差ポイントは以下の（２）式を用いて算出する。
選択肢数差ポイント＝｜選択肢数Ａ−選択肢数Ｂ｜  （２）
【００４４】
例えば図５の例では、選択肢数ＡはＣｅｌＸＸＸの「３」、選択肢数ＢはＰｅｎＸＸＸの「４」であり、選択肢数差ポイントは１（＝｜３−４｜）と算出される。なお、今回選択され得る条件値が３種類以上ある場合には、各二値間における選択肢数差ポイントの平均や最大値、或いは最小値を、最終的な選択肢数差ポイントとしてもよい。
【００４５】
また、評価部１０５は、ステップＳ３７の処理によって算出された候補数の条件値間における差に基づき、ステップＳ３５で特定された項目の分布差ポイントを決定し、評価ポイント格納部１１５に格納する（ステップＳ４３）。本実施の形態においては、分布差ポイントは以下の（３）式を用いて算出する。
分布差ポイント＝（（第１の候補数Ａ／解候補数Ａ−第１の候補数Ｂ／解候補数Ｂ）2＋（第２の候補数Ａ／解候補数Ａ−第２の候補数Ｂ／解候補数Ｂ）2＋・・・＋（第ｎの候補数Ａ／解候補数Ａ−第ｎの候補数Ｂ／解候補数Ｂ）2）1／2    （３）
【００４６】
なお、（３）式中の「ｎ」はステップＳ３５で特定された項目の条件値の件数であり、「・・・」という記述は、第ｉ（ｉは３からｎまでの自然数）の候補数Ａ及びＢについての式の記載を省略していることを示している。
【００４７】
例えば図５の例では、ステップＳ３５で特定された項目が「クロック」である場合、第１の候補数ＡはＣｅｌＸＸＸの２．０ＧＨｚで「２０」、第１の候補数ＢはＰｅｎＸＸＸの２．０ＧＨｚで「１０」、第２の候補数ＡはＣｅｌＸＸＸの２．４ＧＨｚで「４０」、第２の候補数ＢはＰｅｎＸＸＸの２．４ＧＨｚで「６０」、第３の候補数ＡはＣｅｌＸＸＸの２．６ＧＨｚで「４０」、第３の候補数ＢはＰｅｎＸＸＸの２．６ＧＨｚで「６０」、第ｎ（４）の候補数ＡはＣｅｌＸＸＸの２．８ＧＨｚで「０」、第ｎ（４）の候補数ＢはＰｅｎＸＸＸの２．８ＧＨｚで「５０」となる。
【００４８】
従って、分布差ポイントは、０．３２７（＝（（２０／１００−１０／１８０）2＋（４０／１００−６０／１８０）2＋（４０／１００−６０／１８０）2＋（０／１００−５０／１８０）2）1／2）と算出される。なお、今回選択され得る条件値が３種類以上ある場合には、各二値間における分布差ポイントの平均や最大値、或いは最小値を、最終的な分布差ポイントとしてもよい。また、ＫＬ（Kullback-Leibler）情報量等を用いて、複数の分布の差を評価するようにしてもよい。
【００４９】
次に、先読み部１０３は、未だ条件値が選択されていない全ての項目についての処理が終了したか判定する（ステップＳ４５）。未だ条件値が選択されていない全ての項目についての処理が終了したと判定されなかった場合（ステップＳ４５：Ｎｏルート）、ステップＳ３５に戻り、次の項目を特定する。例えば「ＤＶＤ／ＣＤ」という項目が特定され、ステップＳ３７乃至ステップＳ４３の処理によって、「ＤＶＤ／ＣＤ」という項目についての選択肢差ポイント及び分布差ポイントが算出される。図５の例では、「ＤＶＤ／ＣＤ」の選択肢差ポイントは０（＝｜４−４｜）と算出され、分布差ポイントは０．０３９（＝（（１０／１００−１５／１８０）2＋（４０／１００−７５／１８０）2＋（２０／１００−４０／１８０）2＋（３０／１００−５０／１８０）2）1／2）と算出される。
【００５０】
一方、未だ条件値が選択されていない全ての項目についての処理が終了したと判定された場合（ステップＳ４５：Ｙｅｓルート）、端子Ｂを介して図８の処理に移行する。このようにして、候補数差ポイント、選択肢差ポイント及び分布差ポイントが算出される。
【００５１】
図８に、端子Ｂを介して移行した後の処理を示す。まず、提示情報生成部１０７は、候補数差ポイント、選択肢差ポイント及び分布差ポイントに基づき、追加提示データを生成し、提示情報格納部１１７に格納する（図８：ステップＳ５１）。
【００５２】
追加提示データとは、ユーザに条件値の選択を促す際にあわせて提示するデータであり、例えば、今回の条件値の選択が以後の条件値の選択に比較的大きな影響を及ぼすと判定された場合、その影響についてユーザに提示するためのデータである。そこで、まずは候補数差ポイント、選択肢差ポイント及び分布差ポイントを用いて、影響の度合いを判定する。例えば、これらのポイントの各々に対応するしきい値を設定しておき、実際のポイントがしきい値以上の場合には、影響の度合いが高いと判定する。具体的には、候補数差ポイントのしきい値を例えば０．５、選択肢差ポイントのしきい値を例えば１、分布差ポイントのしきい値を例えば０．２と設定しておき、ステップＳ３３、ステップＳ４１及びステップＳ４３（図７）において決定された各ポイントについて判定する。上で示した例では、候補数差ポイントは０．２８６、クロックの選択肢数差ポイントは１、クロックの分布差ポイントは０．３２７、ＤＶＤ／ＣＤの選択肢数差ポイントは０、ＤＶＤ／ＣＤの分布差ポイントは０．０３９であった。この場合、ポイントがしきい値以上であるのは、クロックの選択肢数差ポイント（１＝１）及びクロックの分布差ポイント（０．３２７＞０．２）である。従って、ＣＰＵの条件値の選択によるクロックの選択肢数に及ぼす影響及びクロックの候補数の分布に及ぼす影響についてのデータを追加提示データとして生成し、提示情報格納部１１７に格納する。
【００５３】
なお、影響の度合いの判定には、他の基準や方法を用いてもよい。例えば、全解候補数（図５の例では２８０件（＝１００＋１８０））に応じて、影響の度合いの判定に用いるポイントの種類を変更するような場合もある。具体的には、全解候補数が２００件以上の場合には、候補数差ポイント及び選択肢数差ポイントについて判定し、検索段階が進んで全解候補数が２００件未満となった場合には、選択肢数差ポイント及び分布差ポイントについて判定する。このようにすると、上の例では、クロックの選択肢数差ポイント及びクロックの分布差ポイントの影響度合いが高いと特定されたのに対し、分布差ポイントについては判定されず（全解候補数が２００件以上（２８０件）であるため）にクロックの選択肢数差ポイントのみが特定されるようになる。
【００５４】
また、例えば候補数差ポイントのしきい値を条件値選択回数（一旦条件値が選択された後、再検索の指示によって条件値の選択前の状態になった項目についてはカウントしない。）に対する減衰関数で定めておき、絞り込みが進むにつれてしきい値が小さくなるようにしてもよい。
【００５５】
次に、提示情報生成部１０７は、指定項目が設定されているか判定する（ステップＳ５３）。指定項目とは、後に述べるステップＳ６５又はステップＳ７１の処理によって、当該項目に関するデータを常にユーザに提示するように指定される項目である。なお、指定項目が設定されていても、指定項目の条件値が既に選択されている場合又は条件値の選択を促す今回の項目が指定項目である場合には、指定項目に関するデータをユーザに提示する必要はないため、このステップＳ５３ではＮｏルートに進む。
【００５６】
指定項目が設定されていないと判定された場合（ステップＳ５３：Ｎｏルート）、出力部１０９は、条件値の選択を促す今回の項目及び追加提示データを含むページ・データを生成し、出力する（ステップＳ５５）。具体的には、まず提示情報生成部１０７は、指定項目が設定されていないと判定すると、条件項目ＤＢ１２１を参照して、条件値の選択を促す今回の項目を含むページ・データの基となる提示情報を生成し、提示情報格納部１１７に格納する。また、出力部１０９は、提示情報格納部１１７を参照して、条件値の選択を促す今回の項目及び追加提示データ（ステップＳ５１において格納済み）を含むページ・データを生成し、例えばユーザ端末に送信する。そして、後に述べるステップＳ６１の処理に移行する。
【００５７】
一方、指定項目が設定されていると判定された場合（ステップＳ５３：Ｙｅｓルート）、提示情報生成部１０７は、今回選択され得る条件値の各々について、当該条件値と既に選択された条件値とに合致する場合における、指定項目の各条件値の候補数を先読みデータ格納部１１３から抽出し、提示情報格納部１１７に格納する（ステップＳ５７）。そして、出力部１０９は、条件値の選択を促す今回の項目、追加提示データ及び指定項目の各条件値の候補数に関するデータを含むページ・データを生成し、出力する（ステップＳ５９）。具体的には、まず提示情報生成部１０７が、条件項目ＤＢ１２１を参照して、条件値の選択を促す今回の項目を含むページ・データの基となる提示情報を生成し、提示情報格納部１１７に格納する。出力部１０９は、提示情報格納部１１７を参照して、条件値の選択を促す今回の項目、追加提示データ及び指定項目の各条件値の候補数に関するデータを含むページ・データを生成し、例えばユーザ端末に送信する。
【００５８】
次に、入力部１０１は、ユーザからの選択入力データを取得する（ステップＳ６１）。例えばユーザ端末から選択入力データを受信し、ワーク・メモリ領域等の記憶装置に一旦格納する。そして、入力部１０１は、ユーザからの選択入力が再検索（検索し直し）を指示するものであったか判定する（ステップＳ６３）。ユーザからの選択入力が再検索を指示するものであったと判定された場合（ステップＳ６３：Ｙｅｓルート）、検索履歴分析部１１１は、最後に条件値の選択を促した項目（今回提示した項目）を指定項目としてワーク・メモリ領域等の記憶装置に格納する（ステップＳ６５）。また、検索履歴分析部１１１は、バック・トラック先設定処理を行う（ステップＳ６７）。バック・トラック先設定処理の詳細については後に述べる。そして、端子Ｃを介してステップＳ３（図６）の処理に戻る。
【００５９】
一方、ユーザからの選択入力が再検索を指示するものではなかったと判定された場合（ステップＳ６３：Ｎｏルート）、入力部１０１は、ユーザからの選択入力が特定の項目を指定するものであったか判定する（ステップＳ６９）。ユーザからの選択入力が特定の項目を指定するものであったと判定された場合（ステップＳ６９：Ｙｅｓルート）、入力部１０１は、ユーザから指定された項目を指定項目としてワーク・メモリ領域等の記憶装置に格納する（ステップＳ７１）。そしてステップＳ５３の処理に戻る。
【００６０】
一方、ユーザからの選択入力が特定の項目を指定するものはなかったと判定された場合（ステップＳ６９：Ｎｏルート）、入力部１０１は、ユーザに選択された条件値をワーク・メモリ領域等の記憶装置に格納する（ステップＳ７３）。また、入力部１０１は、検索履歴データを生成し、検索履歴ＤＢ１２３に格納する（ステップＳ７５）。そして、端子Ｃを介してステップＳ３（図６）の処理に戻る。
【００６１】
以上のようにして、条件値の選択を促す今回の項目の提示にあわせて、今回の項目の条件値が指定されることによって以後の条件値の指定に及ぼす影響を示すデータが、追加提示データとして提示される。また、ユーザから指定された項目及び再検索の指示があった際に提示していた項目に関するデータが提示される。
【００６２】
図９及び図１０を用いて、バック・トラック先設定処理の詳細について説明する。まず、検索履歴分析部１１１は、検索履歴ＤＢ１２３から、今回の（一連の処理を開始してからこれまでの）検索履歴を抽出し、ワーク・メモリ領域等の記憶装置に格納する（図９：ステップＳ８１）。また、検索履歴分析部１１１は、検索履歴ＤＢ１２３から、今回の検索履歴と同じ項目順序で条件値が選択され且つ例えば１箇所条件値が異なる類似データを抽出し、ワーク・メモリ領域等の記憶装置に格納する（ステップＳ８３）。なお、今回の一連の処理において未だ条件値が選択されていない項目については類似判定の対象としない。すなわち、今回の一連の処理において未だ条件値が選択されていない項目について条件値が指定されている検索履歴であっても、部分的に類似データが含まれていれば、当該部分を類似データとして取り扱う。同様に、再検索により条件値が複数回選択されているような場合であっても、部分的に類似データが含まれていれば、当該部分を類似データとして取り扱う。
【００６３】
例えば、検索履歴ＤＢ１２３に格納されているデータが図１０に示すようになっていた場合、今回の検索履歴の履歴ＩＤが「１６」であったとすると、履歴ＩＤが「１１」、「１２」、「１３」、「１４」及び「１５」のデータが、類似データとして抽出される。
【００６４】
そして、検索履歴分析部１１１は、類似データにおいて今回の検索履歴と異なる条件値が選択されていることが最も多い項目を特定し、バック・トラック先としてワーク・メモリ領域等の記憶装置に格納する（ステップＳ８５）。図１０に示した例では、項目「本体」について今回の検索履歴と異なっている類似データが、履歴ＩＤが「１２」のデータと履歴ＩＤが「１５」のデータとの２件ある（他の項目については０又は１件）ことから、「本体」という項目が、バック・トラック先として設定される。そして元の処理に戻る。
【００６５】
以上のようにしてバック・トラック先の項目が設定される。そして元の処理（ステップＳ３）では、バック・トラック先の項目が、条件値の選択を促す今回の項目として特定される。なお、バック・トラック先の項目の特定方法は、上に示したものに限られない。例えば、類似データにおいて選択されている条件値の種類が最も多い項目をバック・トラック先の項目として設定してもよい。また、必ずしも自動的にバック・トラックする必要はなく、例えばバック・トラック推奨先としてユーザに提示し、バック・トラック先をユーザに選択させるようにしてもよい。さらに、類似データの判定基準に他の基準を用いることも可能である。例えば今回の検索履歴と同じ項目順序で同じ条件値が選択され且つ直後に再検索がなされているデータを類似データとして抽出するようにしてもよい。この場合、バック・トラック先としてユーザに選択された回数が最も多い項目を、バック・トラック推奨先として設定すると適切である。
【００６６】
次に、画面例を用いて、上で述べた処理の具体例について説明する。図１１Ａ乃至図１１Ｃに、異なる検索段階における画面例を示す。図１１Ａの例には、価格帯選択欄１１０１と第１のアドバイス表示欄１１０３と第２のアドバイス表示欄１１０５とが含まれている。この他にも、項目指定欄が含まれている場合もある。価格帯選択欄１１０１には、「価格帯」という項目の条件値である「〜１５万円」、「１５〜２０万円」及び「２０〜２５万円」等が選択可能な状態で示されている。なお、「・・・」という表示は、他の条件値の記述を省略していることを示している。
【００６７】
第１のアドバイス表示欄１１０３には、候補数についてのデータが示されている。上で述べたステップＳ５１（図８）の処理において、候補数差ポイントの影響度合いが高いと判定され、候補数差についての追加提示データが提示情報格納部１１７に格納された結果、このようなデータが示されている。すなわち、今回ユーザが選択可能な条件値から「〜１５万円」を選択すると、完成品の候補数が１５件になってしまうのに対し、他の条件値を選択すると、いずれも１５０件以上の完成品の候補が残るという、候補数に関する情報が提示されている。なお、今回選択可能な条件値毎に候補数を提示するようにしてもよい。
【００６８】
また、第２のアドバイス表示欄１１０５には、「メモリ」という項目における選択肢についてのデータが示されている。上で述べたステップＳ５１（図８）の処理において、項目「メモリ」における選択肢数差ポイントの影響度合いが高いと判定され、項目「メモリ」における選択肢についての追加提示データが提示情報格納部１１７に格納された結果、このようなデータが示されている。すなわち、今回ユーザが選択可能な条件値から「〜１５万円」を選択すると、項目「メモリ」の条件値を選択する際に５１２Ｍ未満の条件値（例えば１種類）しか選択できなくなり、今回の条件値から「１５万円〜２０万円」を選択すると、項目「メモリ」の条件値を選択する際に、５１２Ｍから２．０Ｇまでに該当する条件値（例えば４種類）を選択可能となり、また、今回の条件値から２０万円以上に該当する条件値を選択すると、項目「メモリ」の条件値を選択する際に、７６８Ｍ以上に該当する条件値（例えば７種類）を選択可能となるという、選択肢に関する情報が提示されている。なお、今回選択可能な条件値毎に選択肢数を提示するようにしてもよい。
【００６９】
図１１Ｂの例には、価格帯表示欄１１１１と「検索し直し」ボタン１１１３と本体選択欄１１１５と第１のアドバイス表示欄１１１７と第２のアドバイス表示欄１１１９とが含まれている。この他にも、項目指定欄が含まれている場合もある。図１１Ｂは、図１１Ａに示した画面で「２０〜２５万円」という条件値が選択された後の画面を示している。価格帯表示欄１１１１には、図１１Ａに示した画面で選択された「２０〜２５万円」という条件値が示されている。なお、ユーザは「検索し直し」ボタン１１１３をクリックすることにより、既に行った条件値の選択をやり直すことができる。また、本体選択欄１１１５には、「本体」という項目の条件値である「本体Ａ」及び「本体Ｂ」等が選択可能な状態で示されている。なお、「・・・」という表示は、他の条件値の記述を省略していることを示している。
【００７０】
第１のアドバイス表示欄１１１７には「ＣＰＵ」という項目における選択肢についてのデータが示されている。上で述べたステップＳ５１（図８）の処理において、項目「ＣＰＵ」における選択肢数差ポイントの影響度合いが高いと判定され、項目「ＣＰＵ」における選択肢についての追加提示データが提示情報格納部１１７に格納された結果、このようなデータが示されている。すなわち、今回ユーザが選択可能な条件値から「本体Ａ」又は「本体Ｂ」を選択すると、項目「ＣＰＵ」の条件値を選択する際に「ＣｅｌＸＸＸ」又は「ＰｅｎＸＸＸ」という条件値を選択可能となり、今回の条件値から「本体Ｃ」を選択すると、項目「ＣＰＵ」の条件値を選択する際に、「ＰｅｎＸＸＸ」又は「ＡｔｈＸＸＸ」という条件値を選択可能となるが、今回の条件値から「本体Ｄ」を選択すると、項目「ＣＰＵ」の条件値に「ＰｅｎＸＸＸ」しか選択できなくなるという、選択肢に関する情報が提示されている。なお、今回選択可能な条件値毎に選択肢数を提示するようにしてもよい。
【００７１】
また、第２のアドバイス表示欄１１１９には「ディスプレイ」という項目における選択肢についてのデータが示されている。上で述べたステップＳ５１（図８）の処理において、項目「ディスプレイ」における選択肢数差ポイントの影響度合いが高いと判定され、項目「ディスプレイ」における選択肢についての追加提示データが提示情報格納部１１７に格納された結果、このようなデータが示されている。すなわち、今回ユーザが選択可能な条件値から「本体Ａ」、「本体Ｂ」又は「本体Ｄ」を選択すると、項目「ディスプレイ」の条件値を選択する際に「１５ｉｎｃｈ  ＣＲＴ」、「１７ｉｎｃｈ  ＣＲＴ」又は「１５ｉｎｃｈ  ＬＣＤ」という条件値を選択可能となり、今回の条件値から「本体Ｃ」を選択すると、項目「ディスプレイ」の条件値を選択する際に、全ての条件値（例えば６種類）から選択可能になるという、選択肢に関する情報が提示されている。なお、今回選択可能な条件値毎に選択肢数を提示するようにしてもよい。
【００７２】
図１１Ｃの例には、価格帯表示欄１１１１と本体表示欄１１２１と「検索し直し」ボタン１１１３とＣＰＵ選択欄１１２３とアドバイス表示欄１１２５とが含まれている。この他にも、項目指定欄が含まれている場合もある。図１１Ｃは、図１１Ｂに示した画面で「本体Ａ」という条件値が選択された後の画面を示している。なお、価格帯表示欄１１１１及び「検索し直し」ボタン１１１３は、図１１Ｂと共通の構成要素のため、同一の符番を付している。
【００７３】
本体表示欄１１２１には、図１１Ｂに示した画面で選択された「本体Ａ」という条件値が示されている。また、ＣＰＵ選択欄１１２３には、「ＣＰＵ」という項目の条件値である「ＣｅｌＸＸＸ」及び「ＰｅｎＸＸＸ」が選択可能な状態で示されている。すなわち、図１１Ｂの第１のアドバイス表示欄１１１７には、「本体Ａ」が選択された場合には、項目「ＣＰＵ」の条件値として「ＣｅｌＸＸＸ」又は「ＰｅｎＸＸＸ」を選択可能という旨のデータが示されているが、「本体Ａ」が選択されたため、その通りに「ＣｅｌＸＸＸ」及び「ＰｅｎＸＸＸ」が、選択可能な条件値としてＣＰＵ選択欄１１２３に示されている。
【００７４】
アドバイス表示欄１１２５には「クロック」という項目における選択肢についてのデータ及び候補数の分布についてのデータが示されている。上で述べたステップＳ５１（図８）の処理において、項目「クロック」における選択肢数差ポイント及び分布差ポイントの影響度合いが高いと判定され、項目「クロック」における選択肢及び項目「クロック」における候補数の分布についての追加提示データが提示情報格納部１１７に格納された結果、このようなデータが示されている。すなわち、今回ユーザが選択可能な条件値から「ＣｅｌＸＸＸ」を選択すると、項目「クロック」の条件値を選択する際に２．６ＧＨｚ未満に該当する条件値を選択可能となり、また、クロックが２．０ＧＨｚの完成品の候補数は他の条件値と比べて少なく、一方、今回の条件値から「ＰｅｎＸＸＸ」を選択すると、項目「クロック」の条件値を選択する際に、全ての条件値から選択可能となるが、クロックが２．０ＧＨｚの完成品の候補数は他の条件値と比べて少ないという、選択肢に関する情報及び候補数の分布に関する情報が提示されている。なお、今回選択可能な条件値毎に選択肢数を提示するようにしてもよいし、候補数の分布を示す件数を提示するようにしてもよい。
【００７５】
このような追加提示データ（アドバイス）が提示されることにより、ユーザは条件値の選択を適切に行うことができる。
【００７６】
図１２Ａ及び図１２Ｂに、異なる検索段階における画面例を示す。図１２Ａの例には、価格帯選択欄１１０１と第１のアドバイス表示欄１１０３と第２のアドバイス表示欄１１０５と第３のアドバイス表示欄１２０１とが含まれている。この他にも、項目指定欄が含まれている場合もある。図１２Ａは、例えば、図１１Ａ乃至図１１Ｃに示したように条件値の選択（検索段階）が進み、「ＤＶＤ／ＣＤ」という項目について条件値を選択させる画面において「検索し直し」ボタンがクリックされることにより、バック・トラック先として「価格帯」という項目が自動で設定又はユーザにより選択された後の画面例を示している。なお、価格帯選択欄１１０１と第１のアドバイス表示欄１１０３と第２のアドバイス表示欄１１０５とは、図１１Ａと共通の構成要素のため、同一の符番を付している。
【００７７】
第３のアドバイス表示欄１２０１には、「ＤＶＤ／ＣＤ」という項目における候補数の分布に関する情報が示されている。例えば上で述べたステップＳ５１（図８）の処理において項目「ＤＶＤ／ＣＤ」における分布差ポイントの影響度合いが高いと判定されなくとも、ステップＳ１３（図６）の処理によって項目「ＤＶＤ／ＣＤ」が指定項目として設定され、ステップＳ５７（図８）の処理によって項目「ＤＶＤ／ＣＤ」における候補数の分布に関する情報が提示情報格納部１１７に格納されると、このような情報が示される。
【００７８】
すなわち、今回ユーザが選択可能な条件値から例えば「〜１５万円」を選択すると、項目「ＤＶＤ／ＣＤ」の条件値である「ＣＤ−ＲＯＭ」に合致する完成品の候補が５件、「ＣＤ−ＲＷ」に合致する完成品の候補が３件存在することが示されている。このように、検索し直しの指示がなされた際に条件値の選択を促していた項目については、影響度合いに関わらず情報を提示することにより、同じ検索段階で検索し直しを指示することにならないような条件値の選択をユーザに行わせることができる。なお、提示する内容としては、候補数の分布に関する情報に限らず、選択肢に関する情報や選択肢数等を提示するようにしてもよい。
【００７９】
図１２Ｂの例には、価格帯表示欄１１１１と「検索し直し」ボタン１１１３と本体選択欄１１１５と第１のアドバイス表示欄１１１７と第２のアドバイス表示欄１１１９と第３のアドバイス表示欄１２０３とが含まれている。この他にも、項目指定欄が含まれている場合もある。図１２Ｂは、図１２Ａに示した画面で「２０〜２５万円」という条件値が選択された後の画面を示している。なお、価格帯表示欄１１１１と「検索し直し」ボタン１１１３と本体選択欄１１１５と第１のアドバイス表示欄１１１７と第２のアドバイス表示欄１１１９とは、図１１Ｂと共通の構成要素のため、同一の符番を付している。
【００８０】
第３のアドバイス表示欄１２０３には、「ＤＶＤ／ＣＤ」という項目における候補数の分布に関する情報が示されている。すなわち、検索段階が進んでも、図１２Ａの第３のアドバイス表示欄１２０１と同様、影響度合いに関わらず情報が提示されている。このように、指定項目として設定された「ＤＶＤ／ＣＤ」という項目については、当該項目についての条件値が選択される段階になるまで、候補数の分布等に関する情報が提示される。
【００８１】
図１３Ａ及び図１３Ｂに、異なる検索段階における画面例を示す。図１３Ａの例には、価格帯選択欄１１０１と第１のアドバイス表示欄１１０３と第２のアドバイス表示欄１１０５と第３のアドバイス表示欄１３０１とが含まれている。この他にも、項目指定欄が含まれている場合もある。図１３Ａは、例えば図１１Ａに示した画面において、図示しない項目指定欄を用いて「クロック」という項目が指定された後の画面を示している。なお、価格帯選択欄１１０１と第１のアドバイス表示欄１１０３と第２のアドバイス表示欄１１０５とは、図１１Ａと共通の構成要素のため、同一の符番を付している。
【００８２】
第３のアドバイス表示欄１３０１には、「クロック」という項目における候補数の分布に関する情報が示されている。例えば上で述べたステップＳ５１（図８）の処理において項目「クロック」における分布差ポイントの影響度合いが高いと判定されなくとも、ステップＳ７１（図８）の処理によって項目「クロック」が指定項目として設定され、ステップＳ５７（図８）の処理によって項目「クロック」における候補数の分布に関する情報が提示情報格納部１１７に格納されることにより、このような情報が示される。
【００８３】
すなわち、今回ユーザが選択可能な条件値から例えば「〜１５万円」を選択すると、項目「クロック」の条件値である「２．０ＧＨｚ」に合致する完成品の候補が４件、「２．４ＧＨｚ」に合致する完成品の候補が４件存在することが示されている。このように、ユーザから指定された特定の項目については、影響度合いに関わらず情報を提示することにより、ユーザは当該項目に対する影響を把握しながら条件値の選択を進めていくことができる。なお、提示する内容としては、候補数の分布に関する情報に限らず、選択肢に関する情報や選択肢数等を提示するようにしてもよい。
【００８４】
図１３Ｂの例には、価格帯表示欄１１１１と「検索し直し」ボタン１１１３と本体選択欄１１１５と第１のアドバイス表示欄１１１７と第２のアドバイス表示欄１１１９と第３のアドバイス表示欄１３０３とが含まれている。この他にも、項目指定欄が含まれている場合もある。項目の指定は１件に限らないためである。図１３Ｂは、図１３Ａに示した画面で「２０〜２５万円」という条件値が選択された後の画面を示している。なお、価格帯表示欄１１１１と「検索し直し」ボタン１１１３と本体選択欄１１１５と第１のアドバイス表示欄１１１７と第２のアドバイス表示欄１１１９とは、図１１Ｂと共通の構成要素のため、同一の符番を付している。
【００８５】
第３のアドバイス表示欄１３０３には、「クロック」という項目における候補数の分布に関する情報が示されている。すなわち、検索段階が進んでも、図１３Ａの第３のアドバイス表示欄１３０１と同様、影響度合いに関わらず情報が提示されている。このように、指定項目として設定された「クロック」という項目については、当該項目についての条件値が選択される段階になるまで、候補数の分布等に関する情報が提示される。
【００８６】
図１４Ａ及び図１４Ｂに、異なる検索段階における画面例を示す。図１４Ａの例には、価格帯表示欄１１１１と本体表示欄１１２１と「検索し直し」ボタン１１１３とＣＰＵ選択欄１１２３とアドバイス表示欄１４０１とが含まれている。この他にも、項目指定欄が含まれている場合もある。図１４Ａは、図１１Ｂに示した画面で「本体Ａ」という条件値が選択された後の画面を示している。図１１Ｂに示した画面で「本体Ａ」という条件値が選択された後の画面例については図１１Ｃにも示したが、図１４Ａでは、全解候補数に応じて、影響の度合いの判定に用いるポイントの種類を変更する場合の画面例を示している。ここでは、全解候補数が２００件以上の場合には、候補数差ポイント及び選択肢数差ポイントについて判定し、検索段階が進んで全解候補数が２００件未満となった場合には、選択肢数差ポイント及び分布差ポイントについて判定するようにしている。例えば先読みデータが図５に示したようになっている場合、図１１Ｃに示したように、クロックの選択肢数差ポイント及びクロックの分布差ポイントの影響度合いが高いと特定されて、クロックの選択肢についてのデータ及びクロックの候補数の分布についてのデータが、アドバイス表示欄１１２５（図１１Ｃ）に示される。
【００８７】
これに対し、図１４Ａの例では、分布差ポイントについては影響度合いが判定されず（全解候補数が２００件以上（２８０件）であるため）に、クロックの選択肢数差ポイントのみ影響度合いが高いと特定されるようになる。そのため、第３のアドバイス欄１４０１（図１４Ａ）には、クロックの選択肢についてのデータのみが示されている。
【００８８】
図１４Ｂの例には、価格帯表示欄１１１１と本体表示欄１１２１とＣＰＵ表示欄１４０３と「検索し直し」ボタン１１１３とＨＤＤ選択欄１４０５とアドバイス表示欄１４０７とが含まれている。この他にも、項目指定欄が含まれている場合もある。図１４Ｂは、図１４Ａに示した画面で「ＣｅｌＸＸＸ」という条件値が選択された後の画面を示している。なお、価格帯表示欄１１１１と本体表示欄１１２１と「検索し直し」ボタン１１１３ととは、図１４Ａと共通の構成要素のため、同一の符番を付している。
【００８９】
アドバイス表示欄１４０７には、「クロック」という項目における候補数の分布についてのデータが示されている。図１４Ａに示した画面で「ＣｅｌＸＸＸ」という条件値が選択されたことにより全解候補数が絞り込まれ、例えば先読みデータが図１５に示したようになっている場合、上で述べたステップＳ５１（図８）の処理において、ステップＳ３３、ステップＳ４１及びステップＳ４３（図７）において決定された各ポイントについて判定する。なお、候補数差ポイントのしきい値を例えば０．５、選択肢差ポイントのしきい値を例えば１、分布差ポイントのしきい値を例えば０．２と設定しておく。今回の例では、候補数差ポイントは０．５（＝｜７５−２５｜／１００）、クロックの選択肢数差ポイントは０（＝｜３−３｜）、クロックの分布差ポイントは０．２７５（＝（（１０／７５−１０／２５）2＋（３０／７５−１０／２５）2＋（１０／７５−５／２５）2）1／2）、ＴＶチューナーの選択肢数差ポイントは０（＝｜２−２｜）、ＴＶチューナーの分布差ポイントは０（＝（（１５／７５−５／２５）2＋（６０／７５−２０／２５）2）1／2）である。この場合、ポイントがしきい値以上であるのは、候補数差ポイント（０．５＝０．５）及びクロックの分布差ポイント（０．２７５＞０．２）である。なお、全解候補数が２００件未満（１００＝７５＋２５）であるため、今回のケースでは候補数差ポイントを取り扱わない。従って、ＣＰＵの条件値の選択によるクロックの候補数の分布に及ぼす影響についてのデータ（のみ）を追加提示データとして生成し、提示情報格納部１１７に格納する。その結果、アドバイス表示欄１４０７（図１４Ｂ）に示したようなデータが提示される。
【００９０】
このように、検索段階に応じて提示するデータの種類を変えることにより、検索段階に合った情報をユーザに提示することができる。
【００９１】
以上本発明の一実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、図３Ａ乃至図３Ｄ、図５、図１０及び図１５に示したテーブル構成は一例であって、同様のデータを格納するためであれば別の構成を採用するようにしてもよいし、必要に応じて項目を追加又は削除してもよい。また、図１に示したカスタムメイド支援装置の機能ブロック構成は一例であって、実際のプログラム・モジュール構成とは異なる場合がある。また、図２に示したコンピュータの機能ブロック図も一例であって、実際のハードウェア構成とは異なる場合もある。また、図１１Ａ乃至図１１Ｃ、図１２Ａ及び図１２Ｂ、図１３Ａ及び図１３Ｂ、図１４Ａ及び図１４Ｂに示した画面例も一例であって、同様の表示内容を別の態様で表す場合もある。さらに、図６乃至図９に示した処理フローも一例であって、同様の処理結果が得られる範囲において処理の順序を入れ替えてもよいし、必要に応じてステップを追加又は削除してもよい。
【００９２】
（付記１）
完成品の属性である所定の項目に対応する条件値の組み合わせに対して設定されている制限に従って、ユーザが希望する条件値に合致する完成品を特定するための処理をコンピュータに実行させるためのカスタムメイド支援プログラムであって、
前記ユーザに条件値の指定を促す項目を提示項目として特定する提示項目特定ステップと、
前記提示項目に対応する各条件値について、当該条件値が指定されることによって以後の条件値の指定に及ぼす影響を示す影響提示データを、組み合わせの制限に関するデータを格納する制限データ格納部を参照して生成し、追加提示データ格納部に格納する追加提示データ生成ステップと、
前記追加提示データ格納部に格納されたデータを、前記提示項目に対応する条件値とともに前記ユーザに提示する提示ステップと、
をコンピュータに実行させるためのカスタムメイド支援プログラム。
【００９３】
（付記２）
前記追加提示データ生成ステップが、
前記提示項目に対応する各条件値について、当該条件値が指定されることによって絞り込まれる完成品の候補数に関するデータを生成し、先読みデータとして先読みデータ格納部に格納する先読みデータ生成ステップと、
前記先読みデータ格納部に格納された前記先読みデータから指標値を算出するステップと、
算出された前記指標値が所定の条件を満たす場合、当該指標値の算出に関連し且つ前記先読みデータに含まれるデータ項目に関するデータを、前記影響提示データとして前記追加提示データ格納部に格納するステップと、
を含む付記１記載のカスタムメイド支援プログラム。
【００９４】
（付記３）
前記ユーザからの再検索の指示を受け付けた場合、再検索の指示がなされた時点における提示項目を指定項目として指定項目格納部に格納するステップと、
前記提示項目特定ステップと前記追加提示データ生成ステップと前記提示ステップとを再実行するステップと、
をさらにコンピュータに実行させ、
再実行される前記提示項目特定ステップが、
所定の方法に基づき、検索をやり直す検索段階に対応する項目を戻り先項目として決定する戻り先項目決定ステップと、
決定された前記戻り先項目を提示項目として特定するステップと、
を含み、
再実行される前記追加提示データ生成ステップが、前記提示項目に対応する条件値が指定されることによって前記指定項目に対応する条件値の指定に及ぼす影響を示すデータを生成し、前記追加提示データ格納部に格納するステップを含む
請求項１記載のカスタムメイド支援プログラム。
【００９５】
（付記４）
前記ユーザからの項目選択に関するデータを取得した場合、当該選択された項目を指定項目として指定項目格納部に格納するステップ
をさらにコンピュータに実行させ、
前記ユーザからの項目選択に関するデータを取得した後に実行される前記追加提示データ生成ステップが、前記提示項目に対応する条件値が指定されることによって前記指定項目に対応する条件値の指定に及ぼす影響を示すデータを生成し、前記追加提示データ格納部に格納するステップを含む
付記１記載のカスタムメイド支援プログラム。
【００９６】
（付記５）
前記ユーザからの前記提示項目に対応する条件値の指定データを取得した場合、前記提示項目及び指定された前記条件値に関するデータを検索履歴データとして検索履歴データ格納部に格納するステップ
をさらにコンピュータに実行させ、
前記戻り先項目決定ステップが、
前記検索履歴データ格納部に格納された前記検索履歴データに基づき特定の項目を抽出する抽出ステップと、
抽出された前記特定の項目を、前記戻り先項目として決定するステップと、
を含む
付記３記載のカスタムメイド支援プログラム。
【００９７】
（付記６）
前記先読みデータ生成ステップにおいて、前記提示項目に対応する条件値毎に、当該条件値と前記提示項目とは異なる項目について既に指定された条件値とに合致する完成品の候補数を算出し、前記先読みデータとして前記先読みデータ格納部に格納することを特徴とする
付記２記載のカスタムメイド支援プログラム。
【００９８】
（付記７）
前記先読みデータ生成ステップにおいて、前記提示項目に対応する条件値及び前記提示項目とは異なり且つ条件値が未指定である項目に対応する条件値毎に、前記提示項目に対応する条件値と前記提示項目とは異なる項目について既に指定された条件値と前記条件値が未指定である項目に対応する条件値とに合致する完成品の候補数を算出し、前記先読みデータとして前記先読みデータ格納部に格納することを特徴とする
付記２記載のカスタムメイド支援プログラム。
【００９９】
（付記８）
前記指標値が、前記提示項目に対応する第１の条件値間における、当該第１の条件値に合致する完成品の候補数の差に関する指標値と、前記第１の条件値間における、条件値が未指定である項目に対応する第２の条件値を指定する際の選択肢数の差に関する指標値と、前記第１の条件値間における、条件値が未指定である項目に対応する前記第２の条件値に合致する完成品の候補数の分布の差に関する指標値とのうち、少なくともいずれかであることを特徴とする
付記２記載のカスタムメイド支援プログラム。
【０１００】
（付記９）
前記抽出ステップが、
前記ユーザから今回の検索を開始する指示を受け付けてから前記再検索の指示を受け付けるまでの第１の検索履歴データを前記検索履歴データ格納部から特定するステップと、
特定された前記第１の検索履歴データに所定レベル以上類似する第２の検索履歴データを前記検索履歴データ格納部から特定するステップと、
特定された前記第２の検索履歴データにおいて前記第１の検索履歴データと異なる条件値が指定されていることが最も多い項目を前記特定の項目として抽出するステップと、
を含む付記５記載のカスタムメイド支援プログラム。
【０１０１】
（付記１０）
完成品の属性である所定の項目に対応する条件値の組み合わせに対して設定されている制限に従って、ユーザが希望する条件値に合致する完成品を特定するためのカスタムメイド支援方法であって、
前記ユーザに条件値の指定を促す項目を提示項目として特定するステップと、
前記提示項目に対応する各条件値について、当該条件値が指定されることによって以後の条件値の指定に及ぼす影響を示す影響提示データを、組み合わせの制限に関するデータを格納する制限データ格納部を参照して生成し、追加提示データ格納部に格納するステップと、
前記追加提示データ格納部に格納されたデータを、前記提示項目に対応する条件値とともに前記ユーザに提示するステップと、
を含み、コンピュータにより実行されるカスタムメイド支援方法。
【０１０２】
（付記１１）
完成品の属性である所定の項目に対応する条件値の組み合わせに対して設定されている制限に従って、ユーザが希望する条件値に合致する完成品を特定するためのカスタムメイド支援装置であって、
前記ユーザに条件値の指定を促す項目を提示項目として特定する手段と、
前記提示項目に対応する各条件値について、当該条件値が指定されることによって以後の条件値の指定に及ぼす影響を示す影響提示データを、組み合わせの制限に関するデータを格納する制限データ格納部を参照して生成し、追加提示データ格納部に格納する手段と、
前記追加提示データ格納部に格納されたデータを、前記提示項目に対応する条件値とともに前記ユーザに提示する手段と、
を有するカスタムメイド支援装置。
【図面の簡単な説明】
【０１０３】
【図１】本発明の一実施の形態におけるカスタムメイド支援装置の機能ブロック構成図である。
【図２】本発明の一実施の形態におけるコンピュータの機能ブロックの概要を示す図である。
【図３Ａ】問題定義ＤＢのテーブル構成及び格納されるデータの一例を示す第１の図である。
【図３Ｂ】問題定義ＤＢのテーブル構成及び格納されるデータの一例を示す第２の図である。
【図３Ｃ】問題定義ＤＢのテーブル構成及び格納されるデータの一例を示す第３の図である。
【図３Ｄ】問題定義ＤＢのテーブル構成及び格納されるデータの一例を示す第４の図である。
【図４】検索履歴ＤＢのテーブル構成及び格納されるデータの一例を示す第１の図である。
【図５】先読みデータ格納部に格納されるデータの一例を示す第１の図である。
【図６】本発明の一実施の形態における処理フローを示す第１の図である。
【図７】本発明の一実施の形態における処理フローを示す第２の図である。
【図８】本発明の一実施の形態における処理フローを示す第３の図である。
【図９】バック・トラック先設定処理の処理フローを示す図である。
【図１０】検索履歴ＤＢのテーブル構成及び格納されるデータの一例を示す第２の図である。
【図１１Ａ】表示画面の一例を示す第１の図である。
【図１１Ｂ】表示画面の一例を示す第２の図である。
【図１１Ｃ】表示画面の一例を示す第３の図である。
【図１２Ａ】表示画面の一例を示す第４の図である。
【図１２Ｂ】表示画面の一例を示す第５の図である。
【図１３Ａ】表示画面の一例を示す第６の図である。
【図１３Ｂ】表示画面の一例を示す第７の図である。
【図１４Ａ】表示画面の一例を示す第８の図である。
【図１４Ｂ】表示画面の一例を示す第９の図である。
【図１５】先読みデータ格納部に格納されるデータの一例を示す第２の図である。
【符号の説明】
【０１０４】
１００  カスタムメイド支援装置    １０１  入力部
１０３  先読み部                  １０５  評価部
１０７  提示情報生成部            １０９  出力部
１１１  検索履歴分析部            １１３  先読みデータ格納部
１１５  評価ポイント格納部        １１７  提示情報格納部
１１９  問題定義ＤＢ              １２１  条件項目ＤＢ
１２３  検索履歴ＤＢ
【図１】
2005316585.tif 000003
【図２】
2005316585.tif 000004
【図３Ａ】
2005316585.tif 000005
【図３Ｂ】
2005316585.tif 000006
【図３Ｃ】
2005316585.tif 000007
【図３Ｄ】
2005316585.tif 000008
【図４】
2005316585.tif 000009
【図５】
2005316585.tif 000010
【図６】
2005316585.tif 000011
【図７】
2005316585.tif 000012
【図８】
2005316585.tif 000013
【図９】
2005316585.tif 000014
【図１０】
2005316585.tif 000015
【図１１Ａ】
2005316585.tif 000016
【図１１Ｂ】
2005316585.tif 000017
【図１１Ｃ】
2005316585.tif 000018
【図１２Ａ】
2005316585.tif 000019
【図１２Ｂ】
2005316585.tif 000020
【図１３Ａ】
2005316585.tif 000021
【図１３Ｂ】
2005316585.tif 000022
【図１４Ａ】
2005316585.tif 000023
【図１４Ｂ】
2005316585.tif 000024
【図１５】
2005316585.tif 000025