..電話によるヘルプサービス。通常、クライアントは電話をかけ、ヘルプオペレーターは一連の質問と回答のペアをドリルダウンしてクライアントの問題を修正し、最終的に解決策を見つけます。
このタイプのユーザーインターフェイス用のアルゴリズムまたはテンプレートはありますか?
これを効率的に実装する方法についてのさらなるアイデアは大歓迎です。
Structured Matcherパターンとその実装の使用を提案したいと思います。
構造化マッチャーは、小さな個別の選択肢のセットから選択を行うときに役立ちます。複雑な決定を関連する要素に関するより簡単な決定に分解し、これらの要素に関する決定を使用して決定を行います。
すべての決定タイプをview(UIコントロール、Webページ、フォームなど)として表示することは可能だと思います。 (クライアントの)作業中にこの決定木を構築するには、決定木(事前定義済み)を用意するか、すべての情報を収集する必要があります。 2番目のケースでは、 Sponsor-Selector パターン(たとえば)を使用して、以前の統計に基づいて作成された統計を使用して最適な決定を選択できます。
詳細 を確認してください。
エキスパートシステムが必要なようです。
私がこれについて何かをしたのは久しぶりですが、あなたは最も基本的な質問から始めて、そこから作業します-ゲーム「20の質問」のように。
私が好む方法は、結果を絞り込むために複数のフィルターを適用するeコマースサイトに似ています。
最初に(単一の質問が行われる前に)、データベース内のすべてのソリューションが適合することを考慮してください。
1つの質問に答えると(答えは「はい/いいえ」または小さな有限数のいずれかと見なされます)、ソリューションのリストが絞り込まれます。さらにいくつか答えて、さらに絞り込みます。
視覚的に私はそれを2つの列として想定しています。1つは質問(および可能な回答、質問ごとに1つ選択)と2つ目の列は考えられる解決策です。
利点:
類推に戻って、テレビをオンラインで購入していて、希望の画面サイズを選択できるとします。このモデルでは、「希望する画面サイズは何ですか」という質問があり、さまざまなサイズが答えになります。
別のアプローチは、Windowsのトラブルシューティングのようなものです。提案や質問をしてから、それが役に立ったかどうかを示すことができます。これによると、トラブルシューティング担当者は次の質問をするか、別の修正を提案します。
不利な点は、通常は戻せないステップをスキップした場合、プロセスのどこにいるのか(残っている質問の数)がよく分からないため、結果(可能な解決策)が1つずつ提案されることです。
タイトルでそれを述べているように、UIとアルゴリズムに関する二重の質問です。
ヘルプオペレーターも知識が少ないため、非常にシンプルなUIが必要だと思います。それらに与える最も簡単な方法 ウィザード 一度に1つの質問で。各ステップでは、他のいくつかの質問を排除します。最後のステップは、これ以上質問がない場合の可能な解決策のリストです。
2番目の部分はアルゴリズムであるため、少し外れたトピックです。基本的に各ステップで、他のほとんどの質問を潜在的に排除する質問をする必要があります。実際に尋ねるのに最適な質問は、残りの質問の半分を排除するものです。答えが「はい」の場合、半分が削除され、答えが「いいえ」の場合、残りの半分が削除されます。これは 決定木モデル から着想を得ています。