(57)【要約】【課題】ランタイム・ダイアログの構築を提供する。【解決手段】最初の質問に対する最初の回答をユーザから受領するステップと、最初の回答に基づいて会話スレッドの状態を作成するステップと、尋ねるべき次の質問を、会話スレッドの更新された状態に基づいて、プロセッサにより自動的に選択するステップと、次の質問をユーザに対して提示するステップと、次の質問に対する次の回答を受領するステップと、次の回答に基づいて、会話スレッドの状態を更新するステップと、基準が満たされるまで、選択するステップ、提示するステップ、次の回答を受領するステップ、および更新するステップを繰り返すステップとを含んでもよい。【選択図】図１
2015526799.tif 000002
【特許請求の範囲】
【請求項１】
ランタイム・ダイアログを構築する方法であって、
最初の質問に対する最初の回答をユーザから受領するステップと、
前記最初の回答に基づいて会話スレッドの状態を作成するステップと、
尋ねるべき次の質問を、前記会話スレッドの前記状態と、質問選択ポリシとに基づいて、プロセッサにより自動的にダイアログ・リポジトリから選択するステップと、
前記次の質問を前記ユーザに対して提示するステップと、
前記次の質問に対する次の回答を受領するステップと、
前記次の回答に基づいて、前記会話スレッドの前記状態を更新するステップと、
基準が満たされるまで、前記選択するステップ、前記提示するステップ、前記次の回答を受領するステップ、および前記更新するステップを繰り返すステップと
を含む方法。
【請求項２】
前記質問選択ポリシは、質問順序づけアルゴリズムを含む、請求項１に記載の方法。
【請求項３】
前記質問順序づけアルゴリズムは、深さ優先、幅方向、使用ベースの加重、教師あり機械学習、もしくはカスタム・スクリプティング、またはその組み合わせを含む、請求項２に記載の方法。
【請求項４】
前記質問選択ポリシは、質問数アルゴリズムを含み、前記質問数アルゴリズムは、固定数、教師あり機械学習、もしくはカスタム・スクリプティング、またはその組み合わせを含む、請求項１に記載の方法。
【請求項５】
前記方法は、
ダイアログをオーサリングして、前記ダイアログを前記ダイアログ・リポジトリに記憶するステップ
をさらに含み、前記オーサリングは、
前記ダイアログを作成するために、電子文書から１以上のノードおよびリンクを抽出する、文書ベースのオーサリング、
２以上のオーサーの作業を統合し同期させることにより、前記２以上のオーサーがリアルタイムで前記ダイアログ・リポジトリ内の前記ダイアログに対して作業できるようにする、リアルタイム共同オーサリング、
前記ダイアログのノードを作成するためにジェスチャを使用できるようにする、スマート・デバイス・ベースのオーサリング、
オーサーが、主題の複数トピックを構造化形式で含むトピック階層を作成して、前記トピック下に追加のダイアログを作成するために他の１以上のオーサーに割り当てることができるようにする、トピック・ベースのオーサリング、もしくは
前記オーサーが、前記ダイアログの作成に参加するよう他の１以上のオーサーを招待できるようにする、クラウドソース・オーサリング、または
その組み合わせ
のうちの１以上を含む、請求項１に記載の方法。
【請求項６】
前記基準は、前記ユーザに提供する解決策に到達することである、請求項１に記載の方法。
【請求項７】
前記基準は、ユーザが前記次の質問に回答しなくなったことである、請求項１に記載の方法。
【請求項８】
前記回答に関する推薦を、前記ユーザに関連するソーシャル・ネットワーキング・サイトの１以上の友人ユーザから受領された１以上の回答に基づいて提供するステップをさらに含む、請求項１に記載の方法。
【請求項９】
インスタント・メッセージング・システム上の１以上のメッセージに基づいて、前記回答に関する推薦を提供するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記ユーザが、前記ダイアログ・リポジトリ内のダイアログのオーサーをフォローすることを可能にするステップをさらに含む、請求項１に記載の方法。
【請求項１１】
前記ダイアログ・リポジトリにおける変更を検出するのに応答して、前記ユーザに通知するステップをさらに含む、請求項１に記載の方法。
【請求項１２】
ローカル・マシン内のローカル・ダイアログ・リポジトリおよび利用データと、リモート・サーバ上のダイアログ・マネージャ・ツールのマスタ・インスタンスからダウンロードされた対応するデータとを同期させるステップと、
前記ローカル・マシンにおいて前記ダイアログ・マネージャ・ツールのローカル・インスタンスを実行するステップであって、前記最初の回答を受領するステップ、前記選択するステップ、前記提示するステップ、前記次の回答を受領するステップ、前記更新するステップ、および前記繰り返すステップは、前記ダイアログ・マネージャ・ツールの前記ローカル・インスタンスを介し、かつ前記ローカル・マシン上の前記ローカル・ダイアログ・リポジトリおよび利用データを使用して実行され、前記ローカル・インスタンスは、前記ダイアログ・マネージャ・ツールのマスタ・インスタンスに接続される必要がない、前記実行するステップと、
前記最初の回答を受領するステップ、前記選択するステップ、前記提示するステップ、前記次の回答を受領するステップ、前記更新するステップ、および前記繰り返すステップを実行する前記ローカル・インスタンスを前記実行するステップから生成される１以上の使用統計を、前記ローカル・インスタンスがサーバ内の前記マスタ・インスタンスに接続されていることを検出するのに応答して、アップロードするステップと、
前記ダイアログ・マネージャ・ツールの前記ローカル・インスタンスおよび関連するローカル・ダイアログ・リポジトリと、前記サーバ内の前記マスタ・インスタンスとを同期させるステップと
をさらに含む、請求項１に記載の方法。
【請求項１３】
ランタイム・ダイアログを構築する方法を実行するためにマシンによって実行可能な命令のプログラムを記憶するコンピュータ可読ストレージ媒体であって、前記方法は、
最初の質問に対する最初の回答をユーザから受領するステップと、
前記最初の回答に基づいて会話スレッドの状態を作成するステップと、
尋ねるべき次の質問を、前記会話スレッドの更新された状態と、質問選択ポリシとに基づいて、プロセッサにより自動的にダイアログ・リポジトリから選択するステップと、
前記次の質問を前記ユーザに対して提示するステップと、
前記次の質問に対する次の回答を受領するステップと、
前記次の回答に基づいて、前記会話スレッドの前記状態を更新するステップと、
基準が満たされるまで、前記選択するステップ、前記提示するステップ、前記次の回答を受領するステップ、および前記更新するステップを繰り返すステップと
を含む、コンピュータ可読ストレージ媒体。
【請求項１４】
前記質問選択ポリシは、質問順序づけアルゴリズムを含み、前記質問順序づけアルゴリズムは、深さ優先、幅方向、使用ベースの加重、教師あり機械学習、もしくはカスタム・スクリプティング、またはその組み合わせを含む、請求項１３に記載のコンピュータ可読ストレージ媒体。
【請求項１５】
前記方法は、
ダイアログをオーサリングして、前記ダイアログを前記ダイアログ・リポジトリに記憶するステップ
をさらに含み、前記オーサリングは、
前記ダイアログを作成するために、電子文書から１以上のノードおよびリンクを抽出する、文書ベースのオーサリング、
２以上のオーサーの作業を統合し同期させることにより、前記２以上のオーサーがリアルタイムで前記ダイアログ・リポジトリ内の前記ダイアログに対して作業できるようにする、リアルタイム共同オーサリング、
前記ダイアログのノードを作成するためにジェスチャを使用できるようにする、スマート・デバイス・ベースのオーサリング、
オーサーが、主題の複数トピックを構造化形式で含むトピック階層を作成して、前記トピック下に追加のダイアログを作成するために他の１以上のオーサーに割り当てることができるようにする、トピック・ベースのオーサリング、もしくは
前記オーサーが、前記ダイアログの作成に参加するよう他の１以上のオーサーを招待できるようにする、クラウドソース・オーサリング、または
その組み合わせ
のうちの１以上を含む、請求項１４に記載のコンピュータ可読ストレージ媒体。
【請求項１６】
前記質問選択ポリシは、質問数アルゴリズムを含む、請求項１３に記載のコンピュータ可読ストレージ媒体。
【請求項１７】
前記質問数アルゴリズムは、固定数、教師あり機械学習、もしくはカスタム・スクリプティング、またはその組み合わせを含む、請求項１６に記載のコンピュータ可読ストレージ媒体。
【請求項１８】
前記基準は、前記ユーザに提供する解決策に到達することである、請求項１３に記載のコンピュータ可読ストレージ媒体。
【請求項１９】
前記方法は、前記回答に関する推薦を、前記ユーザに関連するソーシャル・ネットワーキング・サイトの１以上の友人ユーザから受領された１以上の回答に基づいて提供するステップをさらに含む、請求項１３に記載のコンピュータ可読ストレージ媒体。
【請求項２０】
前記方法は、インスタント・メッセージング・システム上の１以上のメッセージに基づいて、前記回答に関する推薦を提供するステップをさらに含む、請求項１３に記載のコンピュータ可読ストレージ媒体。
【請求項２１】
前記方法は、前記ユーザが、前記ダイアログ・リポジトリ内のダイアログのオーサーをフォローすることを可能にするステップをさらに含む、請求項１３に記載のコンピュータ可読ストレージ媒体。
【請求項２２】
前記方法は、前記ダイアログ・リポジトリにおける変更を検出するのに応答して、前記ユーザに通知するステップをさらに含む、請求項１３に記載のコンピュータ可読ストレージ媒体。
【請求項２３】
前記方法は、
実質的に同じ会話スレッドに遭遇した他の１以上のユーザを特定するために、前記会話スレッドの状態を照合するステップ、
前記実質的に同じ会話スレッドに関連する情報を用いて、１以上のユーザに通知するステップ、
前記最初の回答を受領するステップ、前記選択するステップ、前記提示するステップ、前記次の回答を受領するステップ、前記更新するステップ、および前記繰り返すステップを実行する間、１以上のインスタント・メッセージング・システムの利用を可能にするステップ、
ウェブ上の、ダイアログに関係のある１以上のディスカッション・フォーラムに直接アクセスするステップ、
前記ダイアログ・リポジトリ内の１以上のトピックと、前記１以上のトピックに関連するノードとに関連する変更を検出するのに応答して、通知を送信するステップ、
前記ユーザが、ダイアログ・マネージャ・ツールの他の１以上のユーザをフォローすることを可能にするステップ、もしくは
１以上のインスタント・メッセージング・システムの前記利用と、ダイアログに関係のある１以上のディスカッション・フォーラムへのアクセスと、前記ユーザによる他の１以上のユーザのフォローとに関連する使用をログに記録するステップ、または
その組み合わせ
をさらに含む、請求項１３に記載のコンピュータ可読ストレージ媒体。
【請求項２４】
ランタイム・ダイアログを構築するシステムであって、
プロセッサと、
前記プロセッサ上で実行されるよう動作可能であり、ユーザに複数の質問を提起して、前記ユーザから対応する複数の回答を受領するためのインターフェースを提供するようさらに動作可能な、ダイアログ・ポータルと、
前記受領された回答に基づいて会話状態を維持するよう動作可能なスレッド維持モジュールと、
前記会話状態、質問選択ポリシ、およびダイアログ・リポジトリに基づいて、提起すべき次の質問を選択するよう動作可能な質問選択モジュールと
を含むシステム。
【請求項２５】
前記質問選択ポリシは、深さ優先、幅方向、使用ベースの加重、教師あり機械学習、もしくはカスタム・スクリプティング、またはその組み合わせを含む質問順序づけアルゴリズムを指定する、請求項２４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、全般的に、コンピュータおよびコンピュータ・アプリケーションに関し、特に、ランタイム・ダイアログ構築ツール（ｒｕｎｔｉｍｅ  ｄｉａｌｏｇ  ｂｕｉｌｄｉｎｇ  ｔｏｏｌ）を使用して専門的会話を構築することに関する。
【背景技術】
【０００２】
コール・センタまたはサポート要員は、例えばＰＣネットワーキングの問題修復など、問題を診断または解決する際、機械類の問題を診断および修復する際、顧客の携帯電話の問題を解決する際などに、複雑な多段階手順を顧客にひとつずつ説明する必要があることが多い。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
そのような手順に従う際の課題には、例えば、正確には手順のどこまで進んだのか、どうしてこの話になったのかなど、会話の現状把握における認知的過負荷が含まれ得る。さらに複雑化させる要因は、複数系統の問い合わせが同時にアクティブであることもあるということである。会話は、複数の通話にまたがる可能性があり、会話の再開が冗長となることがある。
【課題を解決するための手段】
【０００４】
ランタイム・ダイアログを構築するシステムは、一側面において、複数の質問をユーザに提起し、対応する複数の回答をユーザから受領するためのインターフェースを提供するよう動作可能なダイアログ・ポータル（ｄｉａｌｏｇ  ｐｏｒｔａｌ）を含んでもよい。スレッド維持モジュールは、受領された回答に基づいて、会話状態を維持するよう動作可能であってもよい。質問選択モジュールは、提起すべき次の質問を、会話状態、質問選択ポリシ、およびダイアログ・リポジトリ（ｄｉａｌｏｇ  ｒｅｐｏｓｉｔｏｒｙ）に基づいて選択するよう動作可能であってもよい。
【０００５】
ランタイム・ダイアログを構築する方法は、一側面において、最初の質問に対する最初の回答をユーザから受領するステップを含んでもよい。本方法はさらに、最初の回答に基づいて会話スレッド（ｃｏｎｖｅｒｓａｔｉｏｎ  ｔｈｒｅａｄ）の状態を作成するステップを含んでもよい。本方法は、尋ねるべき次の質問を、会話スレッドの状態と、質問選択ポリシとに基づいて、ダイアログ・リポジトリから選択するステップをさらに含んでもよい。本方法はさらに、次の質問をユーザに提示するステップを含んでもよい。本方法は、次の質問に対する次の回答を受領するステップをさらに含んでもよい。本方法は、次の回答に基づいて会話スレッドの状態を更新するステップをさらに含んでもよい。本方法はさらに、基準が満たされるまで、選択するステップと、提示するステップと、次の回答を受領するステップと、更新するステップとを繰り返すステップを含んでもよい。
【０００６】
さらに、本願明細書に記載された１以上の方法を実行するべくマシンにより実行可能な命令のプログラムを記憶する、コンピュータ可読ストレージ媒体が提供されてもよい。
【０００７】
添付の図面を参照して、様々な実施形態のさらなる特徴、ならびに構造および動作について、下記に詳しく記載する。図面では、同じ参照番号は、同一、または機能的に類似した構成要素を示す。
【図面の簡単な説明】
【０００８】
【図１】本開示の一実施形態における質問選択システムのアーキテクチャを示す。
【図２】本開示の一実施形態における会話スレッドを有するサンプル・ダイアログ構造を示す。
【図３】本開示の一実施形態における質問選択の方法を示すフロー図である。
【図４】本開示の一実施形態における独立（ｄｅｔａｃｈｅｄ）動作システムのアーキテクチャを示す。
【図５】本開示の一実施形態における独立動作の方法のフロー図を示す。
【図６】本開示の一実施形態におけるソーシャル・ネットワーキング・システムのアーキテクチャを示す。
【図７】本開示の一実施形態における専門的会話ビルダ・システムを実施し得る例示のコンピュータまたは処理システムの概略図を示す。
【発明を実施するための形態】
【０００９】
ダイアログ・マネージャは、構造化ダイアログのオーサリング（ａｕｔｈｏｒ）および実行に使用されるウェブ・ベースのツールである。典型的な用途は、複雑なハードウェアおよびソフトウェアの診断および修復などの複雑な手順をコール・センタ要員が実行する支援をすることである。セルフサービス・アプリケーションも可能であり、実用性は診断手順に限定されない。組み込みのオーサリング・ツールは、ダイアログ・コンテンツをオーサリングするために主題の専門家により直接使用されるよう設計される。特殊なデスクトップ・ソフトウェアは必要とされない。ダイアログ・マネージャは、例えばＷａｔｓｏｎ（ＴＭ）（Ｄｅｅｐ  Ｑ＆Ａ）の使用事例とは逆で、システムがイニシアチブをとる会話アプリケーションに適切である。
【００１０】
２０１１年１月５日出願の、共同出願された米国特許出願第１２／９８５，０５０号（代理人整理番号ＹＯＲ９２０１００４５８）は、専門的会話ビルダを開示している。当該出願は、参照によりその内容全体を本願明細書に引用したものとする。専門的会話ビルダは、複数のダイアログを含むダイアログ・リポジトリを含む知識データベースを含んでもよく、各ダイアログは、少なくとも１つの専門的会話を作成するためのフレームワークを表現し、複数のノードおよびノードのペア間に延びた複数のエッジを含む。ランタイム・ダイアログ・システムは、コンピューティング・システム上で実行され、知識データベースと通信してもよく、ランタイム・ダイアログ・システムは、所与のダイアログ内のノードから得られるコメントおよび質問をユーザに提示し、提示されたコメントおよび質問に応答するユーザからのデータを入力し、入力されたデータに基づいて各ノードにて適切なエッジを特定することによって、複数のダイアログから選択された所与のダイアログに基づいてランタイム・ダイアログ・システムとユーザとの間の専門的会話を実行するよう構成されてもよい。ウェブ・ベースのブラウザが、ランタイム・ダイアログ・システムと通信し、所与のダイアログ内のノードから得られたコメントおよび質問をユーザに対して表示するよう構成されてもよい。専門的会話は、選択されたダイアログのノードおよびエッジから構築される有向非巡回グラフを含んでもよい。
【００１１】
本開示では、「ダイアログ」という用語は、ノードのネットワークを含むデータ構造を全般的に指す。「会話」という用語は、人（または例えば質問に回答する別のもの）と、ダイアログ・マネージャ・ツール（ｄｉａｌｏｇ  ｍａｎａｇｅｒ  ｔｏｏｌ）またはシステムとの間のデータの特定のやり取りを全般的に指す、運用上の用語である。
【００１２】
本開示では、深さ優先（ｄｅｐｔｈ−ｆｉｒｓｔ）、幅優先、または目的指向型質問選択が適用され得る質問選択ポリシを提示でき、さらに、ダイアログにかかわる問題の解決までのダイアログの長さを短縮するよう、機械学習が利用されてもよい。別の側面では、ユーザがそのコンピュータにおいて、専門的会話ビルダ（例えば知識ベース（ＫＢ：ｋｎｏｗｌｅｄｇｅ  ｂａｓｅ）およびランタイムの両方）をオフラインに設定する、独立モデル（疎結合動作モデル）が提示される。ユーザはさらに、必要または希望に応じて、ＫＢおよびランタイムへの変更を徐々にダウンロードしてもよい。オフラインの専門的会話ビルダは、使用データが使用データ分析に反映されるように、ネットワーク接続性が利用可能なとき、定期的にユーザのコンピュータからサーバへ使用データをアップロードする。さらに別の側面では、（例えば進行中および過去の）類似の会話およびその関連情報（例えばトピック、会話に関与する参加者）をリアルタイムで発見することを含む、ソーシャル・ネットワーキング拡大メカニズムが提供されてもよい。そのようなソーシャル・ネットワーキング拡大メカニズムは、ユーザがその情報を使用して、ダイアログを改善するための追加情報を求めて関係参加者にアクセスできるようにしてもよい。
【００１３】
質問選択ポリシ
ダイアログは、有向非巡回グラフとして表現または構造化されてもよい。ノードは、概して会話の転換点を表現する。エッジは、ユーザにより提出された回答に関係するアクションを表現する。いくつかのタイプのノードがあってもよい。すなわち、複数選択肢・単一回答、複数選択肢・複数回答、およびテキスト分類の各ノードである。ノードは、外部データベースおよびウェブ・サービスまたは同様のものに対する呼び出しを可能にする付加されたスクリプト（実行可能プログラム・コードまたはコンピュータ命令）を含むことができる。そのようなダイアログ表現は、決定木と類似性があると考えられる。なぜなら、どちらの種類のシステムも、質問を尋ね、回答を使用して結論を導き出すためである。違いは、順序づけおよび配列の点にあるかもしれない。ダイアログは、順序づけの要素が強い。決定木は、典型的には、任意の順序で尋ねることができる質問のセットを表現する。Ｃ４．５などのアルゴリズムは、例えば情報エントロピーを使用して、ユーザにより回答される質問の数を最小限にするために質問を並べ替えることができる。たとえダイアログを単純なグラフで表現できるとしても、会話状態は複雑である。例えば、複数のノードが、同時にアクティブであることもある。ユーザは質問に対する回答を変更でき、結果は首尾一貫している必要がある。例えば、どのようないきさつで会話がこの論点にきたのかなど、ユーザに説明を提供する必要があるかもしれない。さらに、例えばコール・センタで有用となるには、会話状態が保存されて、他のユーザにより再開される必要があるかもしれない。
【００１４】
図２は、本開示の一実施形態における会話スレッドが重ねられたサンプル・ダイアログ構造を示す。スレッドとは、ダイアログ・グラフ中の経路であり、例えば、ノードがアクティブ化されるのに伴い作成される。会話状態とは、スレッドのセットであり、例えば、スレッドの順序付きリストである。一実施形態において、本開示の会話スレッドは、ノード・アクティビティの簡潔な説明を提供して、回答に対する変更を扱う首尾一貫した方法を提供し得る。この例は、特定された２つの開始ノード２０２、２０４を示しており、これらは会話の開始を表現する。アクティブな会話スレッドは複数あってもよい。例えば、２０２、２０６を含む会話スレッド、２０２、２０８、２１０を含む別の会話スレッド、２０４を含むさらに別の会話スレッドなどである。アクティブなスレッドの最後のノードは、回答されていない質問を有する。２１２のノードは、終端ノードと見なされてもよい。会話中、または会話における特定時点において、複数のスレッドがアクティブであってもよい。本開示の一実施形態では、スレッド・メカニズムは、ある質問が尋ねられるのに必要な条件を定義する。質問選択ポリシは、例えば、いくつの質問がユーザに対して表示されるか、どの質問がユーザに対して表示されるか、表示された質問のいずれかに対するユーザの回答拒否にどう対処するかなど、質問条件を決定するためのメカニズムである。質問選択ポリシは、スレッド維持アルゴリズムとは無関係（ｏｒｔｈｏｇｏｎａｌ）であってもよい。可能なポリシを多数使用することができる。例えば、深さ優先ポリシは、一度に１つの質問を示し、スレッドをそれ以上拡張できなくなるまで１つのスレッドにとどまり、それから別のスレッドに切り替える。幅優先または類似のポリシは、複数の質問を表示して、可能な質問をすべて示してもよい。動的質問ポリシは、会話の現状に基づき質問を選択してもよい。
【００１５】
図１は、本開示の一実施形態における質問選択システムのアーキテクチャを示す。ランタイム・ダイアログ・システム１０２は、プロセッサまたは同様のものなどで実行されてもよく、ランタイム・ダイアログ・システム１０２とユーザ１１８との間の会話を実施するよう構成されてもよく、質問に応答するユーザからのデータを入力して、入力されたデータに基づいて各ノードにて適切なエッジを特定する。ウェブ・ベースのブラウザ１１６が、ランタイム・ダイアログ・システムと通信し、所与のダイアログ内のノードから得られたコメントおよび質問をユーザに対して表示するよう構成されてもよい。専門的会話は、例として１１４に示されているように、選択されたダイアログのノードおよびエッジから構築される有向非巡回グラフを含んでもよい。ダイアログ・リポジトリ１１４は、１以上のデータベース内に１以上のダイアログを（例えば有向非巡回グラフ・データ構造形式で）記憶する。これは、ダイアログの静的イメージである。ユーザがダイアログ・マネージャと会話を開始すると、ランタイム１０２が作動する。会話は、リポジトリ１１４に記憶された１以上のダイアログを通過する１以上のダイアログ・スレッドを有する。会話は、ユーザとシステムとのやり取りにより動的に展開していき、それをランタイム・システム１０２が、会話状態を記憶することにより管理する。ランタイム・システム１０２はさらに、１０２の中にある他のモジュールを管理する。
【００１６】
本開示のランタイム・ダイアログ・システム１０２またはダイアログ・マネージャは、例えば会話状態データベースまたは同様のもの１０６の中の会話スレッドの状態を更新、作成、および管理するために、ユーザにより提出される回答を処理するスレッド維持モジュール１０４を含んでもよい。会話状態データベース１０６は、図２に示されているものなどの会話状態を記憶してもよい。質問選択モジュール１０８は、会話状態（すなわちスレッドのリスト）１０６および質問選択ポリシ１１０に基づいて会話の中の特定の時点で尋ねる質問を判断してもよい。質問選択ポリシ１１０は、ダイアログのオーサーにより指定されてもよく、質問選択モジュール１０８によって解釈されてもよい。ダイアログのオーサーは、例えばダイアログ・マネージャがユーザの会話に使用される前などの構築時にダイアログを作成する、主題の１以上の専門家であってもよい。オーサーは、ウェブ・ベースのオーサリング・ツール１２０を使用して、ダイアログ・リポジトリ１１４内のコンテンツ／ダイアログをオーサリングしてもよい。オーサーは、ダイアログの一部として、質問選択に関する１以上の提案および助言を含めてもよい。例えば、オーサーは、深さ優先手法は問題をより迅速に解決するかもしれないが、より理解が難しいかもしれないということを示唆してもよい。この情報は、例えば拡張可能なマーク付け言語（ＸＭＬ：ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）などのマーク付け言語など、マシンに理解可能な形式で記憶されてもよい。質問選択モジュール１０８は、提案を利用してもよく、または使用しないことを選んでもよい。
【００１７】
本開示の一実施形態では、質問選択ポリシは、質問順序づけアルゴリズム（ｑｕｅｓｔｉｏｎ  ｏｒｄｅｒｉｎｇ  ａｌｇｏｒｉｔｈｍ）および質問数アルゴリズム（ｑｕｅｓｔｉｏｎ  ｎｕｍｂｅｒ  ａｌｇｏｒｉｔｈｍ）を含んでもよい。質問順序づけアルゴリズムは、深さ優先、幅方向（ｂｒｅａｄｔｈ  ｗｉｓｅ）、使用ベースの加重（ｕｓａｇｅ  ｂａｓｅｄ  ｗｅｉｇｈｔｉｎｇ）、教師あり機械学習、およびカスタム・スクリプティング（ｃｕｓｔｏｍ  ｓｃｒｉｐｔｉｎｇ）を含んでもよい。質問数アルゴリズムは、定数、教師あり機械学習、およびカスタム・スクリプティングを含んでもよい。質問数は、ダイアログの各ステップにてユーザが尋ねられる質問の数を指す。ダイアログ・マネージャは、多項選択式の質問を許し、複数のダイアログ・スレッドの存続を許すので、ダイアログの中の各箇所にて、尋ねることができる質問は複数あるかもしれない。質問数アルゴリズムは、例えば固定数であるか、または例えば動的にアルゴリズムにより判断される、ユーザに対して表示する質問の数を決定してもよい。
【００１８】
深さ優先質問順序づけアルゴリズムは、ユーザが回答を提供しなくなるか、または終端ノードに到達するまで、１つのスレッドにとどまってもよい。このアルゴリズムは、作成とは逆の順序で、次のスレッドを選んでもよい。このアクションは、ユーザが回答を提供しなくなるか、または現在のノードにおいて終端ノードに到達すると、発生してもよい。アルゴリズムは、存続している任意のスレッドがさらにあるかどうかを確認する。あれば、アルゴリズムは、作成と逆の順序でそのスレッドを選択してもよい。深さ優先質問順序づけアルゴリズムは、単一の質問の選択表示を意味する。幅方向質問順序づけアルゴリズムは、尋ねることができるすべての質問を表示してもよく、複数の質問の選択を意味し得る。使用ベースの加重による質問順序づけアルゴリズムは、以前の会話で当該の質問が回答された頻度に基づいて質問を順序づけてもよい。教師あり機械学習質問順序づけアルゴリズムは、アクティブなノードの特定のセットを所与として質問を順序づけるよう、機械学習（ＭＬ：ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）分類器を訓練してもよい。スクリプト・ベースの質問順序づけアルゴリズムは、質問の順序づけを明確に指定するために使用されてもよく、会話状態に基づくアルゴリズムの切り替えを可能にしてもよい。例えば、質問選択は、幅方向選択の質問から開始してもよく、続いて、ユーザが特定のスレッドに関心がある兆候を示すのに伴い、深さ優先に切り替わってもよい。ダイアログ・マネージャ・ポータル１１２はインターフェースであり、これを介してユーザは、本開示のランタイム・ダイアログ・システムにアクセスしてもよい。ポータル１１２は、ダイアログの中の各箇所にて尋ねられる、ランタイム・システム１０２によって判断された質問の表示を管理する。ポータルは、例えば、ユーザのウェブ・ブラウザによりアクセス可能である。ポータル１１２は、表示された質問に対する回答を受領し、それをランタイム・システム・モジュールのスレッド維持モジュール１０４へ伝送する。
【００１９】
図３は、本開示の一実施形態における質問選択の方法を示すフロー図である。３０２にて、最初の質問に対する回答がユーザから受領されてもよい。最初の質問は、例えば、ダイアログ・マネージャのホームページ上でユーザに提起または提示されてもよい。３０４にて、ダイアログ・マネージャのポータルは、回答を受領し、回答をスレッド維持モジュールに伝達してもよい。３０６にて、スレッド維持モジュールは、回答を処理して、会話スレッドの状態を更新、作成、および管理してもよい。例えば、受領された回答によっては、アクティブなスレッドのステータスが更新される必要があるかもしれない。さらに、１以上の新規スレッドが作成される必要があるかもしれない。スレッドおよびその状態に対する変更はすべて、後から参照するために、会話状態データベース１０６に記録されるべきである。３０８にて、質問選択モジュールは、会話状態もしくは質問選択ポリシまたはその両方に基づいて、尋ねるべき次の質問を判断してもよい。質問は、有向非巡回ネットワーク／グラフとして表現されたダイアログ内のノードとして表現される。会話の状態とは、図２において矢印および「スレッド・リスト」で示されているように、会話の中で現在アクティブなスレッド、およびスレッドそれぞれの状態の集合である。
【００２０】
３１０にて、次の質問がＮＩＬであるかどうかが判断される。例えば、すべてのアクティブなスレッドの終端ノードに到達すると、尋ねる質問はそれ以上残っていない。次の質問がＮＩＬであると判断されれば、本方法の論理は終了する。
【００２１】
３１２にて、質問がさらにあれば、質問選択モジュールは、次の質問をダイアログ・マネージャのポータル（または同様のもの）に伝達する。３１４にて、ダイアログ・マネージャのポータルは、次の質問をユーザに対して提示するために、その質問をユーザ・ブラウザまたは同様のものに伝達する。３１６にて、ユーザが回答を提供し、本方法は３０４に戻って、例えばそれ以上質問がなくなるまでこの処理を繰り返す。
【００２２】
独立動作
図４は、本開示の一実施形態における独立動作システムのアーキテクチャを示す。ダイアログ・マネージャは、複数のユーザにより共有されることから恩恵を受け、集中オーサリング、使用統計、およびソーシャル・ネットワーキング機能を実現する集中システムである。ネットワーク接続性が限定されているモバイル・ユーザでさえも、ダイアログ・マネージャを使用できてもよい。集中ダイアログ・マネージャ・システムの利点が保持される一方で、独立ユーザに対してある程度の機能性が実現され得る。独立ダイアログ・マネージャ４０４は、マスタ・ダイアログ・マネージャ４０２の独立ローカル・インスタンス・バージョンである。マスタ・サーバ・ユーザは、例えば、そのウェブ・ブラウザ４０６または同様のものを介して、マスタ・ダイアログ・マネージャ４０２の機能性を利用してもよい。ローカル・インスタンス・ユーザは、例えばそのウェブ・ブラウザ４０８または同様のもの、例として接続性が断続的なものを介して、ダイアログ・マネージャのローカル・インスタンス４０４を利用してもよい。
【００２３】
本開示の一実施形態では、すべてのオーサリングがマスタ４０２上で実行されてもよい。ユーザは、マスタ・サーバ４０２および独立サーバ４０４の両方からダイアログを実行してもよい。独立ダイアログ・マネージャ４０４が、マスタ・ダイアログ・マネージャ４０２への直接ネットワーク接続によりネットワークに接続されると、収集された使用統計が、ダイアログ・マネージャのローカル・インスタンス４０４からマスタ・ダイアログ・マネージャ４０２へアップロードされてもよい。さらに、ダイアログおよびダイアログ質問選択ポリシのパラメータがダウンロードされてもよい。ダウンロードされるデータは、例えば、ユーザが独立バージョンを使用している間に作成されたダイアログなどの新規作成ダイアログがダイアログ・リポジトリ内にあれば、それを含む。
【００２４】
ダイアログは、構築時に主題の専門家によって作成されてもよい。なお、本開示の一実施形態では、ダイアログ・マネージャが企業環境で使用される場合、複数のオーサーおよび複数のユーザが、同時に、または並行して存在してもよい。したがって、構築時およびランタイムは、時間的に同じであっても、または重なり合ってもよい。したがって、ダイアログは、複数のユーザに使用されながら、絶えず作成および修正されてもよい。質問（および回答）中に作成されるのは、１以上のアクティブなスレッドを含む会話である。
【００２５】
図５は、本開示の一実施形態における独立動作の方法のフロー図を示す。５０２にて、ユーザがユーザのコンピュータに、ダイアログ・マネージャのローカル・インスタンスをダウンロードしてインストールしてもよい。５０４にて、ダイアログ・マネージャのローカル・インスタンスが、ブックキーピングのためにマスタ・ダイアログ・マネージャに関連付けられる。ダイアログ・マネージャのバージョンが、後からの同期のために記録されてもよい。バージョンは、すべてのダイアログ、そのすべてのパラメータおよび設定を示す。この処理に関し、独立システムがネットワークおよびマスタ・システムに再度接続されると、バージョン管理システムが、同期およびデータ管理を促進するために利用されてもよい。５０６にて、ユーザは、例えばネットワークおよびマスタ・サーバへの断続的な接続を用いてダイアログ・マネージャのローカル・インスタンスを使用してもよい。５０８にて、マスタ・サーバに対するローカル・インスタンスのネットワーク接続が確立された後、ユーザは、通信する選択肢を有する。５１０にて、ローカル・ユーザは、任意選択で、ダイアログおよび質問選択ポリシのパラメータをダウンロードしてもよい。
【００２６】
５１２にて、ローカル・ユーザは、任意選択で、ダイアログ・マネージャのローカル・インスタンスの使用ログに収集された使用統計をアップロードしてもよい。使用統計は、例えば誰が、リポジトリ内のどのダイアログの中のどのノードにアクセスして、それに対してどのような回答を提供したかなど、ダイアログ・マネージャ・システムにおける一連のユーザ・アクティビティを、そのタイムスタンプとともに、例えば分析およびレポートのため、ダイアログおよびシステムを後から再調整するために含んでもよい。
【００２７】
ローカル・ユーザのコンピュータとマスタ・サーバとの間にネットワーク接続があるときはいつでも、５０６、５０８、５１０、５１２にあるように使用が続いてもよい。したがって、５１４にて、ユーザは、ネットワークおよびマスタ・サーバへの接続が断続的であっても、ダイアログ・マネージャのローカル・インスタンスを使用し続けることができる。
【００２８】
ソーシャル・ネットワーキング
本開示の一実施形態におけるソーシャル・ネットワーキング機能は、ダイアログ・マネージャを中心とする効果的なユーザ・コミュニティを構築してもよい。一実施形態における本開示のソーシャル・ネットワーキング機能は、ユーザ対ユーザのやり取り、ユーザ対オーサーのやり取り、およびオーサー対オーサーのやり取りを促進してもよい。
【００２９】
図６は、本開示の一実施形態におけるソーシャル・ネットワーキング・システムのアーキテクチャを示す。本開示の一実施形態におけるソーシャル・ネットワーキング・メカニズムは、ノードおよびトピック・ベースのディスカッション・フォーラムを含んでもよく、これは、ユーザがオーサーにフィードバックを提供すること、および相互に意見交換することを可能にする。別のソーシャル・ネットワーキング・メカニズムは、会話状態照合を含んでもよく、これは、会話の現状に基づいてもよく、類似の状態を有するアーカイブされた他の会話を読み出してもよい。会話状態照合は、ユーザが、類似の状況に遭遇した他のユーザを特定する助けとなってもよく、チャット、すなわちインスタント・メッセージング機能への自然な移行を提供してもよい。（例えばＴｗｉｔｔｅｒ（ＴＭ）のように）アクティビティをフォローするタイプのソーシャル・ネットワーキング・メカニズムは、例えば会話が指定のノードまたはトピックに遭遇する度に通知を受けるなど、トピックまたはノードをフォローすること；例えば指定のユーザが会話を開始する度に通知を受けるなど、特定のユーザをフォローすること；および、例えば指定されたオーサーがダイアログに変更を加える度に通知を受けるなど、オーサーをフォローすることを含んでもよい。
【００３０】
本開示のソーシャル・ネットワーキング・モジュールは、ノードを中心とする組み込みのディスカッション・システムを利用してもよい。ユーザは、会話の中のノードを閲覧しているとき、コメントすること、または改善を提案することができる。モジュールは、ダイアログ・リポジトリ内のダイアログの使用を追跡してもよく、ソーシャル・ネットワークにおける「友人候補」機能と同様に、類似の使用パターンを有する他のユーザを提案することができる。ダイアログ・マネージャの場合、リポジトリ内のこのダイアログを使用するユーザは別のダイアログも使用する傾向にある、などと推薦してもよく、目下の問題、または１以上の関連問題の解決に取り組んでもよい。推薦は、ソーシャル・ネットワーキング・サイトの１以上の友人、オンライン・ショッピング・サイトの買い物客、もしくはダイアログ・マネージャのダイアログ・ユーザ、またはそのいずれかの組み合わせの社会的行動に基づいてなされてもよい。
【００３１】
ソーシャル・ネットワーキング・モジュールは、例えば、そのような他のユーザとのチャット・ウィンドウを開く、インスタント・メッセージング・ユーティリティと統合されてもよい。
【００３２】
図６を参照する。ランタイム・ダイアログ・システム６２０のソーシャル・ネットワーキング・モジュールは、会話状態照合モジュール６０４、通知モジュール６０６、インスタント・メッセージング・モジュール６０８、ディスカッション・フォーラム・モジュール６１０、ノードおよびトピック・フォロー・モジュール６１２、ユーザ・フォロー・モジュール６１４、およびオーサー・フォロー・モジュール６１６を含んでもよい。ソーシャル・ネットワーキング・モジュールは、ソーシャル・ネットワーキング・データ６１８と通信する。
【００３３】
会話状態照合モジュール６０４は、現在の会話状態と類似した状態を有する、アーカイブされた他の会話（例えば、ダイアログ・リポジトリの以前の会話スレッド）を読み出してもよい。質問のタイプおよび数、ならびにその回答など、会話の特徴が計算によりとらえられてもよい。会話は、機械学習、教師付きもしくは教師なしのクラスタ化アルゴリズム、または両方の組み合わせを使用することで、比較およびクラスタ化することができる。閾値レベルを設定することによって、モジュールは、現在の会話のプロファイルと一致する、データベース内のゼロ以上の会話を特定してもよい。
【００３４】
通知モジュール６０６は、プロファイルに一致する特定された会話を、例えば「類似の会話をしたユーザは別の会話もしました」など、推薦の形で通知してもよい。通知は、電子メールで送られても、または推薦としてポータルに表示されてもよい。
【００３５】
インスタント・メッセージング・モジュール６０８は、ダイアログ・マネージャのユーザが、ダイアログ・マネージャを使用して会話している間に、１以上のインスタント・メッセージング・システムを利用することを可能にしてもよい。例えば、ユーザは、ダイアログ・マネージャにより尋ねられる質問にどう回答するのが最良かを尋ねるために、インスタント・メッセージング機能を介して、例えば主題およびダイアログ・マネージャについてより精通していると思われるユーザ、ダイアログ・マネージャで類似のダイアログを使用したことがあるかもしれないユーザなどの別のユーザに、連絡したいかもしれない。つまり、マシン（ダイアログ・マネージャ）との会話を行っている間に、インスタント・メッセージングを介した人間の会話が実行されてもよい。
【００３６】
同じく、ディスカッション・フォーラム・モジュール６１０は、ダイアログ・マネージャのユーザが、例えばダイアログ・マネージャのダイアログでは入手できない情報を発見するために、ダイアログ・マネージャから直接、ウェブ上の１以上のディスカッション・フォーラムにアクセスすることを可能にしてもよい。これは、ウェブの検索エンジンとすることができる。検索結果は、リポジトリ内の１以上のダイアログに関係付けられてもよく、その結果、ユーザは、フォーラムおよび検索エンジンを併用して、ダイアログ・マネージャを最大限に使用することができる。
【００３７】
ノードおよびトピック・フォロー・モジュール６１２は、ソーシャル・ネットワーキング・サイトにおける「フォローする」ボタンと同様に機能してもよい。このモジュールは、ダイアログ・マネージャのユーザが、ダイアログ・リポジトリ内の１以上のトピック、およびそのトピック下のノードに対する追加もしくは修正またはその両方がある度に、（例えば電子メール、ウェブ・ブラウザ、モバイル・デバイスなどを介して）通知を受けることを可能にしてもよい。有向非巡回ネットワーク内の各ノードは、質問を含む。リポジトリ内のダイアログ内の質問は、一実施形態において、トピックまたは話題別に分類またはタグ付けされてもよい。タグ付けは、人間であるダイアログのオーサーもしくは編集者またはその両方により手動で行われることが可能である。さらに、機械学習、テキスト・マイニング、もしくはその他のテクニック、またはそのいずれかの組み合わせなどのテクニックを使用することにより、アルゴリズムにより行われることも可能である。
【００３８】
ユーザ・フォロー・モジュール６１４は、ダイアログ・マネージャのユーザが、システムにおいて１以上のユーザをフォローすることを可能にしてもよい。フォローされるユーザは、同じ部門で働いているユーザ、類似の種類のシステムおよびソフトウェアをサポートしているユーザなど、フォローしてそのユーザが何をしているのかを知ることが有用かもしれないとフォローする側が考え得るユーザであってもよい。
【００３９】
オーサー・フォロー・モジュール６１６は、ダイアログ・マネージャのユーザが、システムにおいて１以上のダイアログ・オーサーをフォローすることを可能にする。オーサーは、フォローする側のユーザが問題解決する際に有用であったダイアログを書いた人であってもよい。例えばユーザは、オーサーが最近何をしているか、オーサーがどのような新規ダイアログを書くか、およびその新規ダイアログはフォローする側のユーザに生じる将来の問題を解決するのに有用と考えられるかを知りたいかもしれない。
【００４０】
ソーシャル・ネットワーキング・データベース６１８は、上記のソーシャル・ネットワーク・モジュールの使用すべて、すなわち、インスタント・メッセージの使用（例えば、誰が、誰に、何を、いつ）、フォーラムおよび検索エンジンの使用（例えば、どのような検索キーワードで、いつ、誰が）、トピック・フォローの使用（例えば、誰が、どのトピックを、いつ）、ユーザ・フォローの使用（例えば、どのユーザを、誰が、何を、いつ）、およびオーサー・フォローの使用（例えば、どのオーサーを、誰が、何を、いつ）を、ログに記録してもよい。このデータはすべて、例えばダイアログ・マネージャの実行および動作を設定するため、さらに例えばターゲット・マーケティングおよび広告を提供するために、ソーシャル・ネットワーク機能モジュールおよびその動作、ならびにそれらが使用するコンテンツを再調整するための、分析およびレポートに使用されてもよい。
【００４１】
図１の１２０（図４および６にも示されている）を再び参照する。ウェブ・ベースのオーサリング・ツールは、ユーザが、例えばウェブ・ブラウザまたは同様のもの１１６を介してダイアログをオーサリングすることを可能にするインターフェースおよび機能性を提供してもよい。オーサリングされた当該のダイアログは、コンピュータ可読ストレージ媒体などのダイアログ・リポジトリ１１４に記憶されてもよい。本開示の一実施形態では、オーサリング・ツールは、文書ベースのオーサリング（ｄｏｃｕｍｅｎｔ−ｂａｓｅｄ  ａｕｔｈｏｒｉｎｇ）、オーサリングのためのタッチ・スクリーン・インターフェース、リアルタイムの共同オーサリング（ｒｅａｌ−ｔｉｍｅ  ｃｏｌｌａｂｏｒａｔｉｖｅ  ａｕｔｈｏｒｉｎｇ）、ならびにコンテンツ・オーサリングのためのコンテンツの索引付けおよびクラウド・ソーシングなどのオーサリング機能性を含んでもよい。
【００４２】
文書ベースのオーサリングは、ワードプロセッサの文書、スプレッドシート、図形描画文書、および様々な文書形式のその他電子文書などの電子文書からノードおよびリンクを自動的または半自動的に抽出することにより、複数のダイアログをオーサリングすることを含んでもよい。文書ベースのオーサリングは、逆に、ダイアログ・マネージャのオーサリング・ツール１２０を用いてオーサリングされたダイアログ（ダイアログ・ツリーの示されているノード）１１４から、（例えば内部リンクを埋め込んだＭｉｃｒｏｓｏｆｔ（Ｒ）Ｗｏｒｄ（Ｒ）またはハイパーテキスト・マーク付け言語（ＨＴＭＬ：ｈｙｐｅｒｔｅｘｔ  ｍａｒｋ−ｕｐ  ｌａｎｇｕａｇｅ）で、よくある質問の）テキスト文書を生成することも含み得る。
【００４３】
オーサリングのためのタッチ・スクリーン・インターフェースは、タッチ・スクリーン・インターフェースに、複数のダイアログを有向非巡回グラフで表示して、１以上のオーサーが、ズーミング、パニング(panning)、魚眼など、視覚的操作およびタッチ操作を使用して、リポジトリ（例えば図１の１１４）を探索およびナビゲート(navigate)すること、ならびに同じくタッチ操作を使用して、１以上のダイアログを編集し、ノードの統合、ノードのパニング、ノード間のエッジの追加／削除などを行うことを可能にすることを含んでもよい。
【００４４】
リアルタイムの共同オーサリングは、ダイアログ・リポジトリ１１４内のダイアログに対して２以上のオーサー１１８がリアルタイムで作業（例えば作成、変更）できるようにし、変更がリアルタイムで統合、同期、および表示される、オーサリング・システムを含んでもよい。
【００４５】
コンテンツ・オーサリングのためのコンテンツの索引付けおよびクラウド・ソーシングは、トピック別にダイアログ・リポジトリ１１４内のノードを分類して索引付けし、オーサリングおよび質問の下位区分を選ぶ簡単な方法を提供することを含んでもよい。
【００４６】
ウェブ・ブラウザを、ダイアログ・マネージャのオーサリング・インターフェースとしてもよい。しかし、企業内では、ダイアログのような資料の多くは、例えばＷｏｒｄ（ＴＭ）文書、ＰＤＦファイルおよびテキスト・ファイル、Ｖｉｓｉｏ（ＴＭ）ダイアグラム、Ｅｘｃｅｌ（ＴＭ）スプレッドシート、フォーラム、ＦＡＱ、ウィキなどとして、その場その場に応じた様々な形式で記憶されることが多い。ダイアログ・マネージャの採用を促進するために、そのような資料に基づいてダイアログの骨子を作成するダイアログ・インポート機能が提供されてもよい。上記種類の文書はそれぞれ、知識の抽出を促進するために特殊な手法を必要とする。本開示の手法の利点は、ノード・コンテンツをソース文書から容易に作成できるということである。例えば、ユーザ１１８に、テキスト文書の画面またはビューが提示されてもよく、その１部分以上にユーザがマーク付けしてもよい。マーク付けされた部分が、ダイアログ・ツリーのノードとして作成される。同じく、ユーザ１１８は、図形コンポーネントまたは要素（例えばＶｉｓｉｏ（ＴＭ）またはＰｏｗｅｒＰｏｉｎｔ（ＴＭ）のチャート要素）を含む図表文書を提示され、ダイアログ・ツリー内のノードとして作成される１以上のコンポーネントを選択できてもよい。さらに、別の実施形態では、ユーザは、ダイアログ・ツリーのビューを提示され、ツリーから１以上のノードを選択できてもよく、そのコンテンツがテキスト文書として生成されてもよい。
【００４７】
文書からダイアログを抽出するために、オーサーは、文書をインポートして、それを画面に表示させてもよい。オーサーは、任意選択で、拡大のために（ダイアログ・リポジトリから）ダイアログをアップロードしてもよく、または新規ダイアログの作成を開始してもよい。オーサーは、ダイアログ内のノードのコンテンツを表現する、テキストまたは図表領域の一部分を選択すること、例えばそれを囲むボックスを描写することもできる。ボックスのテキスト・コンテンツは、ノードの初期の文字コンテンツになる。オーサーは任意選択で、例えばテキストの編集、イメージの更新など、ノードのコンテンツの編集を行ってもよい。ダイアログ・マネージャは、例えば修正、検査、およびその他の目的で後から使用するために、ダイアログからソース文書への後方リンクを維持することができる。ダイアログ・マネージャは、例えば、テキスト内のブロックの連続的な発生、および図表内の線を検出することにより、ノード間のリンクを推測することができる。オーサーは、手動でリンクの追加、消去、もしくは変更、またはそのいずれかの組み合わせを行うことができる。オーサーは、文書のコンテンツの選択およびダイアログのノードの作成を繰り返してもよい。オーサーは、例えば後から使用して編集するために、ダイアログ・リポジトリに作成されたダイアログを保存してもよい。
【００４８】
さらに、オーサリングは、スマート・デバイス・ベースであってもよい。タッチ・スクリーン・ベースの強力な新型タブレットおよびその他スマート・デバイスが利用可能であれば、マルチタッチ・インターフェースを使用してノードを作成、リンク、およびレイアウトし、タッチ・ジェスチャならびにジャイロスコープおよび加速度計のようなデバイス・センサを使用してダイアログの様々な部分へ迅速にナビゲートし、内蔵カメラを使用してダイアログ・ノードのコンテンツとして使用できる写真またはビデオを撮ることにより、ダイアログのオーサリングを実行できる。スマートホンなど、タッチ・インターフェースを提供する、より小型のフォームファクタのデバイスの場合、ダイアログ・ノードに視覚的コンテンツを追加するためにデバイスのカメラを使用できる。
【００４９】
タッチ・スクリーン・ベースのオーサリングは、例えば画面の空いている部分をタップするなどのジェスチャを使用してノードを作成すること、および例えば複数のノードを選択して明示的にリンクを指定することにより２つのノードをリンクすることを含んでもよい。ノードは、リンクが望まれる別のノードのすぐ近くにドラッグされてもよい。ダイアログは、視覚的にレイアウトされてもよい。個々のノードは、指でドラッグして移させることができる。ノードを移動すると、他のノードにも影響を与えてもよい。コイルばねのメタファ(metaphor)では、各リンクは、コイルばねとして扱われ、各ノードは質量を有し、移動に対して摩擦抵抗を示す。移動の影響を局部にとどめることが、その意図である。剛性リンクのメタファでは、ノードが移動されれば近隣のノードもドラッグされることになる。個々のノードは、例えば、ノードをダブルタップするなどのジェスチャによって、固定されてもよい。これらのノードは、近隣のノードが移動しても移動しない。さらに、ピンチして拡大する(pinch-expand)ジェスチャおよびパニングが、大きなダイアログを扱うために使用されてもよい。ノードを別のノードの上にドラッグすることによって複数ノードが統合されてもよい。ノードを引き裂くことによってノードの複製が作成されてもよい。
【００５０】
デバイス・センサがオーサリングに使用されてもよい。一部のタブレットは、デバイスの移動を３次元で検出するために、ジャイロスコープおよび加速度計を提供する場合がある。ダイアログのオーサリングのために、ユーザは、タブレットを傾けてパニングしていってもよい。迅速なナビゲーション(navigation)のために、ダイアログの３次元（３Ｄ：３−ｄｉｍｅｎｓｉｏｎａｌ）仮想現実レンダリングが実行されてもよい。タブレットを四方に動かすことにより、ユーザは、パノラマ写真と同じように、ダイアログの種々の部分を閲覧できる（例えば、ｈｔｔｐコロン−スラッシュ−スラッシュ（：／／）ｏｃｃｉｐｉｔａｌドット・コム・スラッシュ（／）参照）。
【００５１】
ダイアログ・ノードはさらに、視覚的コンテンツを含むようオーサリングされてもよい。ノード・コンテンツ内に写真およびビデオを埋め込むことは有用である。視覚的コンテンツは、ＡＴＭ（Ａｕｔｏｍａｔｅｄ  Ｔｅｌｌｅｒ  Ｍａｃｈｉｎｅ：現金自動預け払い機）およびＣＲＵ（Ｃａｓｈ  Ｒｅｃｙｃｌｉｎｇ  Ｕｎｉｔ：現金還流装置）などの複雑な機械類に関するダイアログにおいて特に関連性があると考えられる。一体型カメラ付きタブレットの場合、オーサリング・ツールは、タブレット・ベースのダイアログ・エディタを使用して、写真またはビデオをノードのコンテンツに直接インポートできる。ダイアログを編集するには画面が小さすぎるモバイル・スマートホンの場合、スマートホンで実行されるアプリケーションが、無線ネットワーク上で通信して視覚的コンテンツをダイアログ・サーバにアップロードしてもよい。ユーザは、どのノードにコンテンツを適用するかを選択してもよい。視覚的コンテンツは、ノード内のテキスト本文の中に埋め込むことができる。視覚的コンテンツは、回答の中の選択肢を表現することができる。写真およびビデオのいずれも使用され得る。
【００５２】
スマート・デバイス・ベースのオーサリング（ｓｍａｒｔ  ｄｅｖｉｃｅ−ｂａｓｅｄ  ａｕｔｈｏｒｉｎｇ）では、ユーザは、アプリケーションのタッチ・スクリーン・インターフェース機能、アプリケーションの移動センサ・インターフェース機能、アプリケーションのカメラおよびビデオ・インターフェース機能、およびアプリケーションのオーディオ・インターフェース機能を使用して、ダイアログのコンテンツ（ダイアログを表現するノードのコンテンツ）を作成、変更し、注釈を付けることができる。
【００５３】
さらに、オーサリングは、リアルタイムの共同によるものであってもよい。ダイアログ・オーサリングは、高度に共同的なアクティビティであってもよい。非リアルタイム・モードの共同作業も可能であり、その場合、ダイアログが各トピックに分割され、各トピックが、作業のためにオーサーに与えられてもよい。これは、オーサーが、ロックを使用して排他的アクセスのためにトピックを確保できるようにすることを必要とするかもしれない。リアルタイム・モードの共同作業では、２人のオーサーが、２人ともまったく同じ資料を見ている状態で、ダイアログに対し同時に作業してもよい。リアルタイムの共同オーサリングでは、文書の編集はすべて、参加ユーザ全員の画面上で即座に可視になってもよい。さらに、リアルタイムの共同オーサリングは、付加価値をもたらす特徴、色分けされた編集、履歴再生、および元に戻す機能を提供するよう、テキスト、ビデオ、オーディオ・コンテンツに対して共同作業を行う新しい生産的な方法を実現してもよい。
【００５４】
リアルタイムの共同オーサリングは、クライアント−サーバ・モデルを含んでもよい。例えば、文書が開かれると、エディタ・インスタンスの１つに、共同作業サーバの役割が割り当てられる。このサーバは、ネットワーク・レイテンシを判断して、時刻同期サーバとしての機能を果たすことにより、他の各エディタの同期が確実に保たれるようにする。サーバは、クライアントとして実行中の任意のオーサーにより文書に対して加えられたローカル変更の、タイムスタンプ付きの通知を受領する。サーバは、それらの変更が、そのローカル・コピーにどのように影響すべきかを判断し、その変更を、共同作業プールにブロードキャストする。各ローカル・コピーは、正式な応答がサーバから返されると、変更を反映する。ローカルのリアルタイム共同オーサリング・ツールは、ローカル・コピーにおいて、例えば色分けして、変更を表示してもよい。オーサーは、ダイアログの最終バージョンをダイアログ・リポジトリに保存してもよい。
【００５５】
さらに、オーサリングはトピック・ベースとすることもできる。「トピック」または「話題」は、ダイアログ内のノードを分類および整理するために利用されてもよい。例えば、あらゆるノードは、関連するトピックを有する。トピックは、ダイアログの領域を特定する働きをする。トピックは、包含階層を有する。話題は、他の話題を含むことができ、したがって、ノードの構造を提供する。トピック・ベースのオーサリング（ｔｏｐｉｃ−ｂａｓｅｄ  ａｕｔｈｏｒｉｎｇ）は、オーサリング時に複数のオーサー間に大きなダイアログを配分する自然な方法を提供し得る。ランタイムに、トピックが与えられると、ユーザは最良の開始ノードに直接移ることができる。
【００５６】
トピックは、非リアルタイム共同作業のサポートを可能にする。例えば、あるオーサーが、新規ダイアログに対する作業を開始してもよい。ダイアログが大きくなりサブトピックが特定されるのに伴い、もとのオーサーは、ダイアログ作成作業に参加するよう他のオーサーを招待してもよい（「クラウド・ソーシング」）。オーサリング・システムは、新規オーサーへ招待を送信する能力をサポートしてもよい。招待は、トピックと、拡張のためのルート・ノードとを指定してもよい。新規オーサーが、サブトピックを作成してもよい。招待はさらに、単一のオーサー限定ではなく、コミュニティにブロードキャストされてもよい。クラウド・ソーシングのサポートは、関心がある人であれば誰でもオーサリング・タスクを引き受けることができるようにしてもよい。競争心を生むために、オーサリング・システムは、オーサーによるダイアログの貢献を追跡してランク付けする、スコアボードなどのソーシャル・インセンティブ・メカニズムを維持してもよい。
【００５７】
トピック・ベースのオーサリングは、主題の複数のトピックを構造化形式で含むトピック階層をオーサーが作成することを含んでもよい。トピック下にダイアログを作成するために、階層内の１以上のトピックが１以上のオーサーに割り当てられる。オーサーが（例えばダイアログ・オーサリング・ツールを用いて）作成する各ノードに対して、トピックが推薦され、割り当てられる。オーサーは、（例えば後から使用して編集するために）ダイアログの最終バージョンをダイアログ・リポジトリに保存する。トピック・オーサリング・ツールは、ダイアログ・ノードを階層内のトピックにマッピングすることにより、ノードの索引を生成する。トピック・オーサリング・ツールは、実行時に使用するために、階層構造のトピック索引をダイアログ・リポジトリに保存する。
【００５８】
ランタイムに、解決すべき問題がダイアログ・マネージャのユーザに与えられる。選択肢は他にもあるが、ユーザは、与えられた問題を解決するために、トピック索引階層を閲覧して、１以上のダイアログを開始することができる。ユーザは、選択された１以上のダイアログを、問題の解決策が発見されるまでフォローする。
【００５９】
図７は、本開示の一実施形態における専門的会話ビルダ・システムを実施し得る例示のコンピュータまたは処理システムの概略図を示す。コンピュータ・システムは、適切な処理システムの一例でしかなく、本願明細書に記載される方法論の実施形態の用途または機能性の範囲について、いかなる制限を示唆することも目的としていない。示された処理システムは、他の多数の汎用または専用コンピューティング・システム環境または構成とともに動作可能であってもよい。図７に示された処理システムとともに使用するのに適していると考えられる周知のコンピューティング・システム、環境、もしくは構成、またはそのいずれかの組み合わせの例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドもしくはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムもしくはデバイスのいずれかを含む分散型クラウド・コンピューティング環境、ならびに同様のものがあるが、これらに限定はされない。
【００６０】
コンピュータ・システムについては、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的文脈において記載することができる。一般に、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含み得る。コンピュータ・システムは、通信ネットワークを介してリンクされているリモート処理デバイスによってタスクが実行される、分散型クラウド・コンピューティング環境において実施されてもよい。分散型クラウド・コンピューティング環境では、プログラム・モジュールは、メモリ・ストレージ・デバイスを含むローカルおよびリモート両方のコンピュータ・システム・ストレージ媒体に位置し得る。
【００６１】
コンピュータ・システムのコンポーネントは、１以上のプロセッサまたは処理ユニット１２、システム・メモリ１６、およびシステム・メモリ１６を含む様々なシステム・コンポーネントをプロセッサ１２に結合するバス１４を含み得るが、これらに限定はされない。プロセッサ１２は、本願明細書に記載された方法を実行するランタイム・ダイアログ・システムまたはモジュール１０を含んでもよい。モジュール１０は、プロセッサ１２の集積回路にプログラムされてもよく、または、メモリ１６、ストレージ・デバイス１８、もしくはネットワーク２４、もしくはその組み合わせからロードされてもよい。
【００６２】
バス１４は、メモリ・バスまたはメモリ・コントローラ、周辺機器用バス、アクセラレーテッド・グラフィックス・ポート、および様々なバス・アーキテクチャのいずれかを使用するプロセッサもしくはローカル・バスを含む、いくつかのタイプのバス構造の任意のもの１つ以上を表現し得る。限定ではなく例として、そのようなアーキテクチャには、業界標準アーキテクチャ（ＩＳＡ：Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、マイクロ・チャネル・アーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、拡張ＩＳＡ（ＥＩＳＡ：Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション（ＶＥＳＡ：Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカル・バス、およびペリフェラル・コンポーネント・インターコネクト（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔｓ）バスがある。
【００６３】
コンピュータ・システムは、様々なコンピュータ・システム可読媒体を含んでもよい。そのような媒体は、コンピュータ・システムによってアクセス可能な任意の利用可能な媒体としてよく、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体の両方を含み得る。
【００６４】
システム・メモリ１６は、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）もしくはキャッシュ・メモリもしくはその両方など、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システムはさらに、その他リムーバブル／非リムーバブルの揮発性／不揮発性コンピュータ・システム・ストレージ媒体を含み得る。単なる例として、非リムーバブルの不揮発性磁気媒体（例えば「ハード・ドライブ」）に対する読み取りおよび書き込みのために、ストレージ・システム１８を提供することができる。図示してはいないが、リムーバブル不揮発性磁気ディスク（例えば「フレキシブル・ディスク」）に対する読み取りおよび書き込みのための磁気ディスク・ドライブ、およびＣＤ−ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ：コンパクト・ディスク読み取り専用メモリ）、ＤＶＤ−ＲＯＭ、またはその他の光媒体などのリムーバブル不揮発性光ディスクに対する読み取りもしくは書き込みのための光ディスク・ドライブを提供することができる。そのような場合には、それぞれを１以上のデータ媒体インターフェースによってバス１４に接続できる。
【００６５】
コンピュータ・システムはさらに、キーボード、ポインティング・デバイス、ディスプレイ２８などの１以上の外部デバイス２６、ユーザがコンピュータ・システムとやり取りすることを可能にする１以上のデバイス、もしくはコンピュータ・システムが１以上の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス（例えばネットワーク・カード、モデムなど）、またはそのいずれかの組み合わせと通信してもよい。そのような通信は、入出力（Ｉ／Ｏ：Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インターフェース２０を介して生じることが可能である。
【００６６】
さらに、コンピュータ・システムは、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、一般的な広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、もしくはパブリック・ネットワーク（例えばインターネット）、またはそのいずれかの組み合わせなどの１以上のネットワーク２４と、ネットワーク・アダプタ２２を介して通信できる。図示されているように、ネットワーク・アダプタ２２は、コンピュータ・システムの他のコンポーネントと、バス１４を介して通信する。図示されてはいないが、当然のことながら、他のハードウェアもしくはソフトウェアまたはその両方のコンポーネントが、コンピュータ・システムとともに使用される可能性がある。例として、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、ＲＡＩＤシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどがあるが、これに限定はされない。
【００６７】
当業者であれば当然のことであるが、本発明の各側面は、システム、方法、またはコンピュータ・プログラム製品として具現化され得る。したがって、本発明の各側面は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または本願明細書においてすべて概して「回路」、「モジュール」、もしくは「システム」と呼ばれ得る、ソフトウェアおよびハードウェアの側面を兼ね備えた実施形態の形態をとり得る。さらに、本発明の各側面は、コンピュータ可読プログラム・コードが具現化された１以上のコンピュータ可読媒体（単数または複数）において具現化された、コンピュータ・プログラム製品の形態をとることもできる。
【００６８】
１以上のコンピュータ可読媒体（単数または複数）の任意の組み合わせが利用され得る。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読ストレージ媒体とされ得る。コンピュータ可読ストレージ媒体は、例えば、電子、磁気、光学、電磁気、赤外線、もしくは半導体のシステム、装置、もしくはデバイス、または前述のものの任意の適切な組み合わせとされ得るが、これらに限定はされない。コンピュータ可読ストレージ媒体のより具体的な例（包括的でないリスト）には、１以上のワイヤを有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）もしくはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光学式ストレージ・デバイス、磁気ストレージ・デバイス、または前述のものの任意の適切な組み合わせが含まれるであろう。この文書の文脈では、コンピュータ可読ストレージ媒体は、命令実行システム、装置、もしくはデバイスによって、またはそれに関連して使用されるプログラムを含むことまたは記憶することができる任意の有形の媒体としてよい。
【００６９】
コンピュータ可読信号媒体は、例えば、ベースバンドに、または搬送波の一部として、コンピュータ可読プログラム・コードが具現化された伝搬データ信号を含み得る。そのような伝搬信号は、電磁気、光学、またはその任意の適切な組み合わせを含むがこれらに限定はされない、様々な形態のいずれかをとってよい。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体でなく、かつ命令実行システム、装置、もしくはデバイスによって、またはそれに関連して使用されるプログラムの伝達、伝搬、または搬送をすることができる、任意のコンピュータ可読媒体としてよい。
【００７０】
コンピュータ可読媒体上に具現化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、ＲＦなど、または前述のものの任意の適切な組み合わせを含むがこれらに限定はされない、任意の適切な媒体を使用して伝送されてもよい。
【００７１】
本発明の各側面の動作を実行するコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋、または同様のものなどのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語、もしくは同様のプログラミング言語などの従来の手続きプログラミング言語、Ｐｅｒｌ、ＶＢＳ、もしくは同様の言語などのスクリプト言語、もしくはＬｉｓｐおよびＭＬなどの関数型言語ならびにＰｒｏｌｏｇなどの論理型言語、またはそのいずれかの組み合わせを含む、１以上のプログラミング言語の任意の組み合わせで書かれていてよい。プログラム・コードは、完全にユーザのコンピュータ上で実行されても、部分的にユーザのコンピュータ上で実行されても、スタンド・アロン・ソフトウェア・パッケージとして実行されても、または部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で実行されても、または完全にリモート・コンピュータもしくはサーバ上で実行されてもよい。最後のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくは広域ネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してリモート・コンピュータがユーザのコンピュータに接続されてもよく、または（例えばインターネット・サービス・プロバイダを使用しインターネットを介して）外部コンピュータに接続されてもよい。
【００７２】
本発明の各側面は、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図、またはその両方を参照して記載される。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方の複数ブロックの組み合わせは、コンピュータ・プログラム命令により実施可能である。マシンを生じるよう、こうしたコンピュータ・プログラム命令が、汎用コンピュータ、専用コンピュータ、またはその他プログラム可能データ処理装置のプロセッサに提供されて、この命令が、コンピュータまたはその他プログラム可能データ処理装置のプロセッサにより実行されて、フローチャートもしくはブロック図またはその両方の１つもしくは複数のブロックにおいて指定された機能／動作を実施する手段を作り出すようにすることもできる。
【００７３】
さらに、特定の形で機能するようコンピュータ、その他プログラム可能データ処理装置、またはその他デバイスに指示することができるこうしたコンピュータ・プログラム命令は、コンピュータ可読媒体に格納されて、コンピュータ可読媒体に格納されたこの命令が、フローチャートもしくはブロック図またはその両方の１つもしくは複数のブロックにおいて指定された機能／動作を実施する命令を含む製品を生じるようにすることもできる。
【００７４】
さらに、コンピュータ・プログラム命令は、コンピュータ、その他プログラム可能データ処理装置、またはその他デバイスにロードされて、コンピュータ、その他プログラム可能装置、またはその他デバイス上で一連の動作ステップが実行されるようにしてコンピュータで実施される処理を生じさせ、コンピュータまたはその他プログラム可能装置上で実行される命令が、フローチャートもしくはブロック図またはその両方の１つもしくは複数のブロックにおいて指定された機能／動作を実施するための処理を提供するようにすることもできる。
【００７５】
各図面のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の考えられる実施のアーキテクチャ、機能性、および動作を示す。この関連で、フローチャートまたはブロック図内の各ブロックは、指定の論理機能（単数または複数）を実施する１以上の実行可能命令を含むモジュール、セグメント、またはコードの一部を表すこともできる。さらに、他のいくつかの実施では、ブロック内に示されている機能が、図面に示されているのとは異なる順序で生じてもよいということに留意されたい。例えば、関連する機能性次第で、連続して示されている２つのブロックが実際には事実上同時に実行されてもよく、または、各ブロックが逆順で実行されることがあってもよい。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方の複数ブロックの組み合わせは、指定の機能もしくは動作を実行する専用ハードウェア・ベース・システム、または専用ハードウェアおよびコンピュータ命令の組み合わせにより実施することができるということに留意されたい。
【００７６】
コンピュータ・プログラム製品は、本願明細書に記載され、コンピュータ・システムにロードされると本方法を実行できる方法論の実施を可能にする個々の特徴すべてを含んでもよい。コンピュータ・プログラム、ソフトウェア・プログラム、プログラム、またはソフトウェアは、現在の文脈では、情報処理能力を有するシステムに、直接、または（ａ）別の言語、コード、もしくは表記法への変換と、（ｂ）異なる有形形態での複製とのいずれかもしくは両方の後に、特定の機能を実行させることを目的とした、命令のセットの任意の言語、コード、もしくは表記法での任意の表現を意味する。
【００７７】
本願明細書で使用される専門用語は、特定の実施形態を説明するためのものでしかなく、本発明の限定となることは目的としていない。文脈により明確に別途示されていない限り、本願明細書で使用される単数形の「ある」（ａ、ａｎ）および「該」（ｔｈｅ）は、複数形も含むものとする。さらに、当然のことながら、「含む」もしくは「含んでいる」という用語、またはその両方は、本明細書で使用される場合、記載された機能、完全体、ステップ、動作、構成要素、もしくはコンポーネント、またはそのいずれかの組み合わせの存在を指定するが、他の１以上の機能、完全体、ステップ、動作、構成要素、コンポーネント、もしくはそのグループ、またはそのいずれかの組み合わせの存在または追加を除外するものではない。
【００７８】
添付の特許請求の範囲のミーンズまたはステップ・プラス・ファンクション構成要素がある場合、それらすべての対応する構造、材料、動作、および等価物は、明確に請求されている他の請求される構成要素とともに機能を実行する任意の構造、材料、または動作を含むものとする。本発明の記載は、例証および説明のために示されたものであるが、包括的であることも、開示された形態の発明に限定されることも目的としていない。当業者には、本発明の範囲および意図から逸脱することのない、多数の改変および変形が明らかであろう。実施形態は、本発明の原理および実際の応用をもっともよく説明して、当業者が、意図される特定の用途に適する様々な改変を用いた様々な実施形態に関して、本発明を理解できるように選ばれ、記載された。
【００７９】
本開示の様々な側面が、コンピュータ、プロセッサ、もしくはマシン、またはそのいずれかの組み合わせにおいて実行されるとコンピュータまたはマシンに方法のステップを実行させる、コンピュータまたはマシン使用可能もしくは可読媒体において具現化されたプログラム、ソフトウェア、またはコンピュータ命令として具現化されてもよい。本開示において記載された様々な機能性および方法を実行するためにマシンにより実行可能な命令のプログラムを有形に具現化する、マシンにより読み取り可能なプログラム・ストレージ・デバイスも提供される。
【００８０】
本開示のシステムおよび方法は、汎用コンピュータまたは専用コンピュータ・システム上で実施および実行されてもよい。本願で使用され得る「コンピュータ・システム」および「コンピュータ・ネットワーク」という用語は、固定もしくは携帯用、またはその両方のコンピュータ・ハードウェア、ソフトウェア、周辺装置、およびストレージ・デバイスの様々な組み合わせを含み得る。コンピュータ・システムは、共同して動作するよう、ネットワーク化された、またはその他の形でリンクされた個別の複数のコンポーネントを含んでもよく、１以上のスタンドアロン・コンポーネントを含んでもよい。本願のコンピュータ・システムのハードウェアおよびソフトウェア・コンポーネントは、デスクトップ、ラップトップ、もしくはサーバ、またはそのいずれかの組み合わせなどの固定デバイスおよび携帯用デバイスを含んでもよく、その中に含まれてもよい。モジュールは、何らかの「機能性」を実施するデバイス、ソフトウェア、プログラム、またはシステムのコンポーネントであってもよく、これは、ソフトウェア、ハードウェア、ファームウェア、電子回路などとして具現化できる。
【００８１】
上述の実施形態は、説明に役立つ例であり、本発明は、これらの特定の実施形態に限定されると解釈されてはならない。したがって、様々な変更および改変が、当業者によって、添付の特許請求の範囲に定義された本発明の意図または範囲から逸脱することなくもたらされ得る。
【図１】
2015526799.tif 000003
【図２】
2015526799.tif 000004
【図３】
2015526799.tif 000005
【図４】
2015526799.tif 000006
【図５】
2015526799.tif 000007
【図６】
2015526799.tif 000008
【図７】
2015526799.tif 000009
【手続補正書】
【提出日】平成27年1月28日(2015.1.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ランタイム・ダイアログを構築する方法であって、
最初の質問に対する最初の回答をユーザから受領するステップと、
前記最初の回答に基づいて会話スレッドの状態を作成するステップと、
尋ねるべき次の質問を、前記会話スレッドの前記状態と、質問選択ポリシとに基づいて、プロセッサにより自動的にダイアログ・リポジトリから選択するステップと、
前記次の質問を前記ユーザに対して提示するステップと、
前記次の質問に対する次の回答を受領するステップと、
前記次の回答に基づいて、前記会話スレッドの前記状態を更新するステップと、
基準が満たされるまで、前記選択するステップ、前記提示するステップ、前記次の回答を受領するステップ、および前記更新するステップを繰り返すステップと
を含む方法。
【請求項２】
前記質問選択ポリシは、質問順序づけアルゴリズムを含む、請求項１に記載の方法。
【請求項３】
前記質問順序づけアルゴリズムは、深さ優先、幅方向、使用ベースの加重、教師あり機械学習、もしくはカスタム・スクリプティング、またはその組み合わせを含む、請求項２に記載の方法。
【請求項４】
前記質問選択ポリシは、質問数アルゴリズムを含み、前記質問数アルゴリズムは、固定数、教師あり機械学習、もしくはカスタム・スクリプティング、またはその組み合わせを含む、請求項１に記載の方法。
【請求項５】
前記方法は、
ダイアログをオーサリングして、前記ダイアログを前記ダイアログ・リポジトリに記憶するステップ
をさらに含み、前記オーサリングは、
前記ダイアログを作成するために、電子文書から１以上のノードおよびリンクを抽出する、文書ベースのオーサリング、
２以上のオーサーの作業を統合し同期させることにより、前記２以上のオーサーがリアルタイムで前記ダイアログ・リポジトリ内の前記ダイアログに対して作業できるようにする、リアルタイム共同オーサリング、
前記ダイアログのノードを作成するためにジェスチャを使用できるようにする、スマート・デバイス・ベースのオーサリング、
オーサーが、主題の複数トピックを構造化形式で含むトピック階層を作成して、前記トピック下に追加のダイアログを作成するために他の１以上のオーサーに割り当てることができるようにする、トピック・ベースのオーサリング、もしくは
前記オーサーが、前記ダイアログの作成に参加するよう他の１以上のオーサーを招待できるようにする、クラウドソース・オーサリング、または
その組み合わせ
のうちの１以上を含む、請求項１に記載の方法。
【請求項６】
前記基準は、前記ユーザに提供する解決策に到達することである、請求項１に記載の方法。
【請求項７】
前記基準は、ユーザが前記次の質問に回答しなくなったことである、請求項１に記載の方法。
【請求項８】
前記回答に関する推薦を、前記ユーザに関連するソーシャル・ネットワーキング・サイトの１以上の友人ユーザから受領された１以上の回答に基づいて提供するステップをさらに含む、請求項１に記載の方法。
【請求項９】
インスタント・メッセージング・システム上の１以上のメッセージに基づいて、前記回答に関する推薦を提供するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記ユーザが、前記ダイアログ・リポジトリ内のダイアログのオーサーをフォローすることを可能にするステップをさらに含む、請求項１に記載の方法。
【請求項１１】
前記ダイアログ・リポジトリにおける変更を検出するのに応答して、前記ユーザに通知するステップをさらに含む、請求項１に記載の方法。
【請求項１２】
ローカル・マシン内のローカル・ダイアログ・リポジトリおよび利用データと、リモート・サーバ上のダイアログ・マネージャ・ツールのマスタ・インスタンスからダウンロードされた対応するデータとを同期させるステップと、
前記ローカル・マシンにおいて前記ダイアログ・マネージャ・ツールのローカル・インスタンスを実行するステップであって、前記最初の回答を受領するステップ、前記選択するステップ、前記提示するステップ、前記次の回答を受領するステップ、前記更新するステップ、および前記繰り返すステップは、前記ダイアログ・マネージャ・ツールの前記ローカル・インスタンスを介し、かつ前記ローカル・マシン上の前記ローカル・ダイアログ・リポジトリおよび利用データを使用して実行され、前記ローカル・インスタンスは、前記ダイアログ・マネージャ・ツールのマスタ・インスタンスに接続される必要がない、前記実行するステップと、
前記最初の回答を受領するステップ、前記選択するステップ、前記提示するステップ、前記次の回答を受領するステップ、前記更新するステップ、および前記繰り返すステップを実行する前記ローカル・インスタンスを前記実行するステップから生成される１以上の使用統計を、前記ローカル・インスタンスがサーバ内の前記マスタ・インスタンスに接続されていることを検出するのに応答して、アップロードするステップと、
前記ダイアログ・マネージャ・ツールの前記ローカル・インスタンスおよび関連するローカル・ダイアログ・リポジトリと、前記サーバ内の前記マスタ・インスタンスとを同期させるステップと
をさらに含む、請求項１に記載の方法。
【請求項１３】
ランタイム・ダイアログを構築する方法を実行するためにマシンによって実行可能な命令のプログラムであって、前記方法は、
最初の質問に対する最初の回答をユーザから受領するステップと、
前記最初の回答に基づいて会話スレッドの状態を作成するステップと、
尋ねるべき次の質問を、前記会話スレッドの更新された状態と、質問選択ポリシとに基づいて、プロセッサにより自動的にダイアログ・リポジトリから選択するステップと、
前記次の質問を前記ユーザに対して提示するステップと、
前記次の質問に対する次の回答を受領するステップと、
前記次の回答に基づいて、前記会話スレッドの前記状態を更新するステップと、
基準が満たされるまで、前記選択するステップ、前記提示するステップ、前記次の回答を受領するステップ、および前記更新するステップを繰り返すステップと
を含む、コンピュータプログラム。
【請求項１４】
前記質問選択ポリシは、質問順序づけアルゴリズムを含み、前記質問順序づけアルゴリズムは、深さ優先、幅方向、使用ベースの加重、教師あり機械学習、もしくはカスタム・スクリプティング、またはその組み合わせを含む、請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記方法は、
ダイアログをオーサリングして、前記ダイアログを前記ダイアログ・リポジトリに記憶するステップ
をさらに含み、前記オーサリングは、
前記ダイアログを作成するために、電子文書から１以上のノードおよびリンクを抽出する、文書ベースのオーサリング、
２以上のオーサーの作業を統合し同期させることにより、前記２以上のオーサーがリアルタイムで前記ダイアログ・リポジトリ内の前記ダイアログに対して作業できるようにする、リアルタイム共同オーサリング、
前記ダイアログのノードを作成するためにジェスチャを使用できるようにする、スマート・デバイス・ベースのオーサリング、
オーサーが、主題の複数トピックを構造化形式で含むトピック階層を作成して、前記トピック下に追加のダイアログを作成するために他の１以上のオーサーに割り当てることができるようにする、トピック・ベースのオーサリング、もしくは
前記オーサーが、前記ダイアログの作成に参加するよう他の１以上のオーサーを招待できるようにする、クラウドソース・オーサリング、または
その組み合わせ
のうちの１以上を含む、請求項１４に記載のコンピュータプログラム。
【請求項１６】
前記質問選択ポリシは、質問数アルゴリズムを含む、請求項１３に記載のコンピュータプログラム。
【請求項１７】
前記質問数アルゴリズムは、固定数、教師あり機械学習、もしくはカスタム・スクリプティング、またはその組み合わせを含む、請求項１６に記載のコンピュータプログラム。
【請求項１８】
前記基準は、前記ユーザに提供する解決策に到達することである、請求項１３に記載のコンピュータプログラム。
【請求項１９】
前記方法は、前記回答に関する推薦を、前記ユーザに関連するソーシャル・ネットワーキング・サイトの１以上の友人ユーザから受領された１以上の回答に基づいて提供するステップをさらに含む、請求項１３に記載のコンピュータプログラム。
【請求項２０】
前記方法は、インスタント・メッセージング・システム上の１以上のメッセージに基づいて、前記回答に関する推薦を提供するステップをさらに含む、請求項１３に記載のコンピュータプログラム。
【請求項２１】
前記方法は、前記ユーザが、前記ダイアログ・リポジトリ内のダイアログのオーサーをフォローすることを可能にするステップをさらに含む、請求項１３に記載のコンピュータプログラム。
【請求項２２】
前記方法は、前記ダイアログ・リポジトリにおける変更を検出するのに応答して、前記ユーザに通知するステップをさらに含む、請求項１３に記載のコンピュータプログラム。
【請求項２３】
前記方法は、
実質的に同じ会話スレッドに遭遇した他の１以上のユーザを特定するために、前記会話スレッドの状態を照合するステップ、
前記実質的に同じ会話スレッドに関連する情報を用いて、１以上のユーザに通知するステップ、
前記最初の回答を受領するステップ、前記選択するステップ、前記提示するステップ、前記次の回答を受領するステップ、前記更新するステップ、および前記繰り返すステップを実行する間、１以上のインスタント・メッセージング・システムの利用を可能にするステップ、
ウェブ上の、ダイアログに関係のある１以上のディスカッション・フォーラムに直接アクセスするステップ、
前記ダイアログ・リポジトリ内の１以上のトピックと、前記１以上のトピックに関連するノードとに関連する変更を検出するのに応答して、通知を送信するステップ、
前記ユーザが、ダイアログ・マネージャ・ツールの他の１以上のユーザをフォローすることを可能にするステップ、もしくは
１以上のインスタント・メッセージング・システムの前記利用と、ダイアログに関係のある１以上のディスカッション・フォーラムへのアクセスと、前記ユーザによる他の１以上のユーザのフォローとに関連する使用をログに記録するステップ、または
その組み合わせ
をさらに含む、請求項１３に記載のコンピュータプログラム。
【請求項２４】
ランタイム・ダイアログを構築するシステムであって、
プロセッサと、
前記プロセッサ上で実行されるよう動作可能であり、ユーザに複数の質問を提起して、前記ユーザから対応する複数の回答を受領するためのインターフェースを提供するようさらに動作可能な、ダイアログ・ポータルと、
前記受領された回答に基づいて会話状態を維持するよう動作可能なスレッド維持モジュールと、
前記会話状態、質問選択ポリシ、およびダイアログ・リポジトリに基づいて、提起すべき次の質問を選択するよう動作可能な質問選択モジュールと
を含むシステム。
【請求項２５】
前記質問選択ポリシは、深さ優先、幅方向、使用ベースの加重、教師あり機械学習、もしくはカスタム・スクリプティング、またはその組み合わせを含む質問順序づけアルゴリズムを指定する、請求項２４に記載のシステム。
【国際調査報告】
2015526799.tif 000010