(57)【特許請求の範囲】
【請求項１】
タスクに関連付けられたユーザ要求データを取得するステップと、
前記ユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新するステップと、
前記対話状態に基づいて少なくとも１つの候補動作データを生成するステップと、
前記少なくとも１つの候補動作データに基づいて応答テキストデータを生成するステップとを含み、
前記ユーザ要求データは、ユーザ要求テキストデータに対して自然言語分析を行って得られた分析結果を含み、
前記の前記ユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新するステップにおいては、
前記分析結果が、対話の初回インタラクションを表わす場合、前記分析結果に基づいて、予め設定された、前記タスクに関連付けられたタスクパラメータを取得し、前記予め設定された、前記タスクに関連付けられたタスクパラメータ、および場面事前情報に基いて対話パラメータを生成するステップと、
前記分析結果に基づいて前記対話パラメータを更新するステップを含み、
前記の前記対話状態に基づいて少なくとも１つの候補動作データを生成するステップにおいては、
予め設定された検査条件に基づいて前記対話パラメータの状態検査を行うステップと、
前記状態検査の結果に基づいて前記少なくとも１つの候補動作データを生成するステップを含み、
前記予め設定された検査条件は、ユーザモデルで推奨された、低信頼度の前記対話パラメータを前記ユーザに確認するパラメータ値確認検査条件を含むこと
を特徴とする対話処理方法。
【請求項２】
複数のスロットにより前記タスクに関連付けられた前記タスクパラメータの状態を示し、場面事前情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルに示すこと
を特徴とする請求項１に記載の方法。
【請求項３】
前記予め設定された検査条件は、スロットデフォルト値検査条件、パラメータ間のプロパティ依存検査条件、パラメータ間のプロパティトリガ検査条件、およびパラメータ明確化条件をさらに含むこと
を特徴とする請求項１に記載の方法。
【請求項４】
前記ユーザの対話状態および決定ルールに基づいて、前記少なくとも１つの候補動作データから好適な動作データを選択するステップをさらに含んでおり、
且つ、前記の前記少なくとも１つの候補動作データに基づいて応答テキストデータを生成するステップにおいては、
前記好適な候補動作データに基づいて応答テキストデータを生成するステップを含むこと
を特徴とする、請求項１〜３のいずれか１項に記載の方法。
【請求項５】
前記決定ルールは、予め設定された動作優先順位、および予め設定された動作決定のモデルの１つであり、
その中で、前記の前記少なくとも１つの候補動作データから好適な動作データを選択するステップにおいては、前記動作決定モデルに基づいて各前記候補動作データに対応した特徴関数値をそれぞれ取得し、前記特徴関数値における最大値に対応した候補動作データを選択して前記好適な動作データとするステップを含むこと
を特徴とする請求項４に記載の方法。
【請求項６】
前記の前記好適な候補動作データに基づいて応答テキストデータを生成するステップにおいては、
更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから、応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップを含むこと
を特徴とする請求項４または５に記載の方法。
【請求項７】
前記の前記好適な候補動作データに基づいて応答テキストデータを生成するステップにおいては、
前記好適な動作データに必要なパラメータデータがデフォルト値である場合、相応のデフォルト値で前記パラメータデータを充填するステップをさらに含むこと
を特徴とする請求項６に記載の方法。
【請求項８】
前記の前記分析結果に基づいて前記対話パラメータを更新するステップにおいては、
更新しようとする対話パラメータの値に対して、それぞれデータ衝突を検出し、データ衝突が検出された場合、更新された対話パラメータの値を消去し、または、更新しようとする対話パラメータの値が正確であるか否かを確認するためのメッセージを送信するステップをさらに含むこと
を特徴とする請求項１〜７のいずれか１項に記載の方法。
【請求項９】
前記データ衝突は、対話パラメータの値域を超えた衝突、対話パラメータ間で発生する従属関係衝突、および対話パラメータ間で発生するパラメータ値比較関係衝突のうちの少なくとも１つの衝突を含むこと
を特徴とする請求項８に記載の方法。
【請求項１０】
前記の前記分析結果に基づいて前記対話パラメータを更新するステップにおいては、
更新しようとする対話パラメータの値に対して、それぞれパラメータ値を推定し、且つ、推定された値により前記対話パラメータを更新するステップをさらに含むこと
を特徴とする請求項１〜９のいずれか１項に記載の方法。
【請求項１１】
前記の前記取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップにおいては、
取得されたパラメータデータに対して、それぞれデータ衝突を検出し、データ衝突が検出された場合、データ衝突が検出されたパラメータデータを捨てるステップをさらに含むこと
を特徴とする請求項６または７に記載の方法。
【請求項１２】
前記の前記取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップにおいては、
取得されたパラメータデータに対して、それぞれパラメータ値を推定し、且つ、推定された値および前記好適な動作データにより前記応答テキストデータを生成するステップをさらに含むこと
を特徴とする請求項１１に記載の方法。
【請求項１３】
タスクに関連付けられたユーザ要求データを取得するための要求取得装置と、
前記要求取得装置で取得されたユーザ要求データと、予め設定された前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新するための対話状態更新装置と、
前記対話状態更新装置で更新された対話状態に基づいて少なくとも１つの候補動作データを生成するための動作生成装置と、
前記動作生成装置で生成された少なくとも１つの候補動作データに基づいて応答テキストデータを生成するためのテキスト生成装置とを備え、
前記ユーザ要求データは、ユーザ要求テキストデータに対して自然言語分析を行って得られた分析結果を含み、
前記分析結果が、対話の初回インタラクションを表わす場合、前記対話状態更新装置は、前記分析結果に基いて、予め設定された前記タスクに関連付けられたタスクパラメータを取得し、予め設定された、前記タスクに関連付けられたタスクパラメータと場面事前情報に基いて対話パラメータを生成するために構成されており、且つ、
前記対話状態更新装置は、前記分析結果に基づいて前記対話パラメータを更新するために構成され、
前記動作生成装置は、予め設定された検査条件に基づいて前記対話パラメータの状態検査を行って、且つ、前記状態検査の結果に基づいて前記少なくとも１つの候補動作データを生成するために構成され、
前記予め設定された検査条件は、ユーザモデルで推奨された、低信頼度の前記対話パラメータを前記ユーザに確認するパラメータ値確認検査条件を含むこと
を特徴とする対話管理システム。
【請求項１４】
前記対話状態更新装置は、さらに、複数のスロットにより前記タスクに前記予め設定された、関連付けられたタスクパラメータの状態を示し、且つ、場面事前情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルに示すために構成されること
を特徴とする請求項１３に記載のシステム。
【請求項１５】
前記予め設定された検査条件は、スロットデフォルト値検査条件、パラメータ間のプロパティ依存検査条件、パラメータ間のプロパティトリガ検査条件、およびパラメータ明確化条件をさらに含むこと
を特徴とする請求項１３に記載のシステム。
【請求項１６】
前記システムは、動作決定装置をさらに備えており、
前記動作決定装置は、前記ユーザの対話状態および決定ルールに基づいて、前記少なくとも１つの候補動作データから好適な動作データを選択するために構成され、且つ、
前記テキスト生成装置は、前記好適な動作データに基づいて応答テキストデータを生成するために構成されること
を特徴とする請求項１３〜１５のいずれか１項に記載のシステム。
【請求項１７】
前記決定ルールは、予め設定された動作優先順位、および予め設定された動作決定のモデルの１つであり、
その中で、前記動作決定装置は、前記動作決定モデルに基づいて各前記候補動作データに対応した特徴関数値をそれぞれ取得し、前記特徴関数値における最大値に対応した候補動作データを選択して前記好適な動作データとするために構成されること
を特徴とする、請求項１６に記載のシステム。
【請求項１８】
前記テキスト生成装置は、更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから、応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するために構成されること
を特徴とする請求項１６または１７に記載のシステム。
【請求項１９】
１つ以上のプロセッサと、メモリと、１つ以上のプログラムとを備えており、
前記１つ以上のプログラムは、前記メモリに記憶され、且つ、前記１つ以上のプロセッサにより、前記１つ以上のプログラムに含まれた、請求項１から１２のいずれか１項に記載の前記対話処理方法を実行するための命令が実行されるように構成され、
前記命令は、
タスクに関連付けられたユーザ要求データを取得し、
前記ユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新し、
前記対話状態に基づいて少なくとも１つの候補動作データを生成し、
前記少なくとも１つの候補動作データに基づいて応答テキストデータを生成し、
前記ユーザ要求データは、ユーザ要求テキストデータに対して自然言語分析を行って得られた分析結果を含み、
前記の前記ユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新する際には、
前記分析結果が、対話の初回インタラクションを表わす場合、前記分析結果に基づいて、予め設定された、前記タスクに関連付けられたタスクパラメータを取得し、前記予め設定された、前記タスクに関連付けられたタスクパラメータ、および場面事前情報に基いて対話パラメータを生成し、
前記分析結果に基づいて前記対話パラメータを更新し、
前記の前記対話状態に基づいて少なくとも１つの候補動作データを生成する際には、
予め設定された検査条件に基づいて前記対話パラメータの状態検査を行い、
前記状態検査の結果に基づいて前記少なくとも１つの候補動作データを生成し、
前記予め設定された検査条件は、ユーザモデルで推奨された、低信頼度の前記対話パラメータを前記ユーザに確認するパラメータ値確認検査条件を含む命令であること
を特徴とするコンピュータ機器。
【発明の詳細な説明】
【優先権の主張】
【０００１】
本出願は、２０１４年１０月２９日に、中国に出願された、出願番号が２０１４１０５９３６８４．０で、発明の名称が「対話処理方法、および対話管理システム」である中国特許出願の優先権を主張し、当該特許出願の全文を援用するように本願に組み込んだ
【技術分野】
【０００２】
本発明は、人間とコンピュータの相互作用に関し、特に対話処理方法、対話管理システム、およびコンピュータ機器に関する。
【背景技術】
【０００３】
従来のタスク型対話システムには、音声認識モジュール、自然言語理解モジュール、対話管理モジュール、バックエンドデータ処理モジュール、自然言語生成モジュール、および音声合成モジュールを備える。具体的なタスク指向対話システムを構築する場合、音声認識モジュールと音声合成モジュール以外、他の４つのモジュールのいずれも具体的なアプリケーションタスクに基づいてカスタマイズ開発を必要となっている。
【０００４】
タスクのカスタマイズ開発は、これまで、主に２つの形態があり、
１．具体的なタスクのビジネスロジックに基づいて各モジュールを再開発する。このようにカスタマイズされたシステムは、一般的には、具体的なタスクの要求をよく満足することができるが、開発量が大きい。
２．対話システム状態表示、およびシステム動作を抽象化し、学習を強化する方法を用い、環境との対話型学習により対話システムを構築する。このようにカスタマイズされたシステムは、対話戦略を改善するために多くの対話コーパスを必要となり、実現の難易度も比較的大きく、且つ、学習された戦略の理解性が悪く、システムの制御可能性が低くなる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、対話処理技術を提供することを目的とし、対話システムにおいて係るタスクの対話サービスをカスタマイズすることにより、対話管理システムの拡張性を向上する。
【課題を解決するための手段】
【０００６】
本発明の一態様によれば、タスクに関連付けられたユーザ要求データを取得するステップと、前記ユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新するステップと、前記対話状態に基づいて少なくとも１つの候補動作データを生成するステップと、前記少なくとも１つの候補動作データに基づいて応答テキストデータを生成するステップとを含む対話処理方法を提供する。
【０００７】
本発明のもう１つの態様によれば、タスクに関連付けられたユーザ要求データを取得するための要求取得装置と、前記要求取得装置で取得されたユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新するための対話状態更新装置と、前記対話状態更新装置で更新された対話状態に基づいて少なくとも１つの候補動作データを生成するための動作生成装置と、前記動作生成装置で生成された少なくとも１つの候補動作データに基づいて応答テキストデータを生成するためのテキスト生成装置とを備える対話管理システムを提供する。
【０００８】
本発明のもう１つの態様によれば、コンピュータ機器を提供する。このコンピュータ機器は、１つ以上のプロセッサと、メモリと、１つ以上のプログラムとを備え、その中で、前記１つ以上のプログラムは、前記メモリに記憶され、且つ前記１つ以上のプロセッサにより前記１つ以上のプログラムに含まれた対話処理方法を実行するための命令が実行されるように構成され、前記命令は、タスクに関連付けられたユーザ要求データを取得し、前記ユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新し、前記対話状態に基づいて少なくとも１つの候補動作データを生成し、前記少なくとも１つの候補動作データに基づいて応答テキストデータを生成する命令である。
【発明の効果】
【０００９】
本発明に係る対話処理方法、対話管理システム、およびコンピュータ機器は、対話システムにおいて係る具体的なタスクの対話サービスをカスタマイズすることができ、且つ対話管理システムにより、カスタマイズの対話サービスに対して対話のインタラクティブな処理をすることができ、したがって、新たなタスクの対話サービスが導入された場合、対話サービスを再開発する必要がなく、対話状態パラメータおよび処理ルールを設定する必要があるだけで、前記対話管理システムの拡張性を大幅に向上させ、且つ、開発や配置のコストを節約した。
【図面の簡単な説明】
【００１０】
【図１】本発明の例示的な実施例に係る対話管理システムが使用された対話サービスのカスタマイズの全般的枠組みを示す図である。
【図２】本発明の例示的な実施例に係る対話処理方法を示すフローチャートである。
【図３】本発明の例示的な実施例に係る対話パラメータの例を示す図である。
【図４】本発明の例示的な実施例に係るＨＴＴＰデータアクセスのアクセス設定の例を示す図である。
【図５】本発明の例示的な実施例に係るデータベースアクセスのアクセス設定の例を示す図である。
【図６】本発明の例示的な実施例に係る対話パラメータのプロパティ設定の例を示す図である。
【図７】本発明の例示的な実施例に係る対話管理システムを示す論理図である。
【図８】本発明の例示的な実施例に係るコンピュータ機器を示す論理図である。
【発明を実施するための形態】
【００１１】
本発明の全体的な構想は、タスクに関連する対話管理システムを提供し、具体的なタスクに関連するビジネスロジック機能モジュールに対してタスク設定を行って具体的なタスクに関連する対話管理を実現することにより、前記対話管理システムを利用して新たなタスクの対話カスタマイズを実現することができ、前記新たなタスクに関連する対話サービスの再開発を必要としなく、ユーザが迅速にカスタマイズの対話管理システムを使用することを可能にさせる。一方、対話のインタラクティブな処理において、前記対話管理システムによりユーザの対話状態を管理し、且つ、既存のタスク設定に基づいて応答テキストを生成することができる。
【００１２】
ここでいわゆるタスク設定は、タスクに関連する対話状態のパラメータ設定、およびタスクに関連するビジネスルール設定を含む。
【００１３】
以下、本発明の例示的な実施例に係る対話処理方法、対話管理システム、およびコンピュータ機器について、図面を参照して詳細に説明する。
【００１４】
本発明に係るデータ、ルール、および本発明の構想を直観的に説明するために、本明細書において、単に航空券の予約タスクのみを例としてサービスのカスタマイズ、対話のインタラクティブな処理、および対話管理を具体的に説明する。本発明に係るアプリケーションは、航空券の予約に限らず、食事の予約、ホテルの予約、映画チケットの予約などの様々な複数回の対話に関連する対話タスクに適用されていることを、当業者にとって理解すべきである。
【００１５】
図１は、本発明の例示的な実施例に係る対話管理システムが使用された対話サービスのカスタマイズの全般的枠組みを示す。本発明に係る対話サービスのカスタマイズは、主にブロック１３０〜１６０に関連する。
【００１６】
図１に示すように、ブロック１１０は、ユーザから入力された自然言語表現のユーザ要求テキストを受信するために構成される。ブロック１２０は、自然言語分析により前記ユーザ要求テキストの分析結果を得るために構成される。
【００１７】
この後、ブロック１３０は、前記分析結果と、環境特徴パラメータと組み合わせてユーザの対話状態を更新するために構成される。当該モジュールは、主に対話管理システムの状態を記録・メンテナンスするために構成される。
【００１８】
例えば、ユーザが「私は上海への航空券を予約したい」というと、前記テキストに対して自然言語分析を行った後に、「航空券予約」というユーザの意図（すなわち、タスク）を得ることができる。次に、対話時の現在時間、ユーザ所在地、動作履歴などの情報を含む環境情報を抽出する。
【００１９】
対話カスタマイズを行う場合、当該タスクに関連するタスクパラメータの状態を示すためのスロットリストを予め設定してもよい。例えば、「航空券予約」のサービスをカスタマイズする場合、関連するスロットには、出発地、目的地、出発日期、出発時刻、座席のタイプ、飛行機のタイプ、航空券の価格、航空会社、出発空港、到着空港などを含む。また、前記タスクに関連付けられた場面事前情報、例えば、時間事前情報（何月、何曜日、何時などを含み）、地域事前情報（工業都市か否か、観光地か否か、都市の規模タイプなどを含み）、および動作履歴情報（例えば、前回のクエリから今までのインタラクティブなラウンド数、前回の確認から今までのインタラクティブなラウンド数など）を設定してもよい。
【００２０】
必要に応じて、複数のスロットにより前記タスクに関連付けられた前記タスクパラメータの状態を示し、事前場面情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルとして示す。
【００２１】
図３は、本発明の例示的な実施例に係る対話パラメータの例を示す。その中で、複数のプロパティのスロットを介してタスクパラメータの状態を示し、前記スロットの状態は、ヌル（ｎｕｌｌ）、デフォルト値、多値、エラー値および正常値から選ばれる１つであってもよく、特徴ベクトルにより時間事前情報、地域事前情報、および動作履歴情報を示す。
【００２２】
この後、ブロック１４０は、更新された対話状態を検査し、且つ少なくとも１つの候補動作データ（１４０）を生成するために構成される。当該モジュールは、主な目的として、現在の対話状態に基づき、システムの全ての動作から現在有効なシステム動作のみを濾し取り、システム動作の決定段階のエラー率を減少し、候補動作リストを出力する。
【００２３】
当該モジュールで行われた検査は、スロットのデフォルト値の検査、要求詳細化の検査（パラメータ間のプロパティ依存の検査、およびパラメータ間のプロパティトリガの検査を含み）、パラメータ値確認の検査、およびパラメータの明確化を含んでもよいが、これらに限定されていない。以下、前記複数の検査を具体的に説明し、且つ対話カスタマイズにおいて前記検査のルールを設定する。
【００２４】
スロットのデフォルト値の検査
特定のタスクに対して、一定の対話状態において、いくつかの特徴／プロパティについて、デフォルト値を取ってもよく、値の源は、タスクカスタマイズに由来してもよく、ユーザモデル（例えば、ユーザプロファイル、およびインタラクチィブな履歴など）に由来してもよい。
【００２５】
タスクカスタマイズの条件またはユーザモデル情報を検査することにより、条件を満たすデフォルト値が存在する場合、候補スロット値のデフォルト動作を生成する。例えば、１人のユーザが常にエコノミークラス航空券を予約する場合、チケット予約の対話を新たに起動する時に、航空券座席のタイプが「エコノミークラス」である１つのスロット値デフォルト動作を生成してもよい。
【００２６】
サービスのカスタマイズを行う場合、当該動作を必要とするアプリケーションタスクに対して、開発者は、デフォルト値の設定、およびユーザモデルサービスの設定を行いてもよく、設定デフォルトがこのような動作を使用しないことを表示する。デフォルト値の設定は、宛先スロット、デフォルト値、およびデフォルト条件を含む。例えば、航空券タスクにおいて、次のように設定してもよく、
flightflight_leave_date    [today]    TARGET＝flight_status
（フライト状況をクエリする場合、出発日は、今日をデフォルトとする）
【００２７】
ユーザモデルサービスのインターフェース（サービスのＩＰアドレスおよびポートを含み）を、前記ユーザモデルによりスロットデフォルト値の検査を行うように設定してもよい。例えば、
user_model_ip:10.81.14.98
user_model_port:6101
【００２８】
要求詳細化検査
宛先タスクを達成するために、ユーザに必要な特徴情報を自発的にクエリすることを必要とする場合がある。
【００２９】
例えば、航空券の予約を達成するために、ユーザによって目的地が提供された場合、ユーザに出発地および出発日をクエリする必要がある。現在の状態では、プロパティ依存の検査、およびプロパティトリガの検査によりユーザの要求を詳細化処理することができる。
【００３０】
プロパティ依存とは、宛先タスクの達成に依存するパラメータ（スロット）を意味し、例えば、航空券の検索は、出発地、目的地、出発日に依存してもよく、航空券の価格は、フライト番号および座席タイプなどに依存してもよく、アプリケーション開発者は、これらの依存情報を容易に予め設定することができる。プロパティトリガとは、連続性要求を有するユーザに対し、１つの要求を満たした後に、次の１つの要求を達成するために、次の要求に依存するパラメータ（スロット）を自発的にクエリする必要があることを意味する。例えば、航空券とホテルとの混合タスクにおいて、ユーザが航空券を予約した後に、対話サービスは、目的地にどこかのホテルを予約したいかとユーザにクエリしてみてもよい。
【００３１】
サービスのカスタマイズを行う場合、アプリケーション開発者は、要求に基づいてプロパティ依存、およびプロパティトリガを設定してもよく、設定デフォルトが、このような動作を使用しないことを表示する。例えば、フライトの価格検索のプロパティ依存関係は、
flightflight_price    flight_num|  flight_seat_grade
を含んでもよい。
（フライトの価格は、フライト番号、および座席タイプに依存する）
flightflight_price
flight_origin|flight_destination|flight_leave_date|flight_seat_grade
（フライトの価格は、出発地、目的地、出発日、座席タイプに依存する）
【００３２】
プロパティトリガ関係：
Flight  END  hotel=hotel_place
（航空券の検索が終了した後に、ホテルの場所のクエリをトリガする）
【００３３】
パラメータ値確認の検査
受信されたあるスロット値の信頼度がそんなに高くない場合、当該値であるか否かを、ユーザに確認する必要がある。確認の必要があるパラメータは、自然言語処理で出力された低信頼度のスロット値、ユーザモデルで推奨されたスロット値などを含む。
【００３４】
このため、現在の対話状態が低信頼度のスロットまたはユーザモデルで推奨されたスロットを含むか否かをチェックすることができる。低信頼度のスロットまたはユーザモデルで推奨されたスロットを含む場合、パラメータ値が確認された候補動作データを生成する。
【００３５】
パラメータ明確化の検査
前記パラメータ明確化とは、現在の対話状態に曖昧さを含んでいる際に、対話サービスは、パラメータに関する具体的な意味をユーザにクエリすることを指す。このような問題は、主に、１つの値が複数の意味を持っている可能性のあるケース、またはあるスロットが複数の値を取る可能性のあるケースにつながっている。例えば、対話サービスが「お客さんは、どこからどこへの航空券を予約したいですか」とクエリすると、ユーザが「北京」と答えた場合、「北京」は、出発地か目的地か、どれも可能があるため、ユーザに明確化する必要がある。また、例えば、ユーザが「私は広東への航空券を予約したい」という要求を提出した場合、広東が複数の都市に空港を有するため、ユーザが具体的にどこの都市へ行きたいかをクエリする必要がある。
【００３６】
このため、パラメータ明確化検査処理において、現在ユーザの対話状態が曖昧なスロットまたは曖昧な値を含むか否かを検査する。曖昧なスロットまたは曖昧な値を含んだ場合、明確化候補動作を生成する。
【００３７】
この後、好ましくは、前記ユーザの対話状態および決定ルールに基づいて、前記少なくとも１つの候補動作データから好適な動作データを選択するためのブロック１５０をさらに設定する。
【００３８】
ブロック１４０が複数の候補動作データを生成した場合、予め設定された決定ルールにより前記複数の候補動作データから１つを選択して確定された好適な動作データとしてもよい。
【００３９】
前記決定ルールは、所定の動作優先順位、または予め設定された動作決定のモデルであってもよい。
【００４０】
例えば、明確化動作、確認動作、スロット値デフォルト動作、要求詳細化動作（プロパティ依存、またはプロパティトリガ）のような（優先順位が高から低への）順序にしたがって好適な動作を選択するように予め設定してもよい。
【００４１】
一方、訓練サンプルで訓練された動作決定モデルにより、前記複数の候補動作に対して特徴関数の値を計算し、計算された特徴関数の値が最も高い候補動作データを選択し、前記好適な動作データとする。
【００４２】
ブロック１６０は、前記好適な動作データに基づいて応答テキストデータを生成し、且つ、前記応答テキストデータをユーザに返すために構成される。その中で、デフォルト動作として確定された好適な動作に対してデフォルト値を付与してもよく、前記好適な動作データに基づいてデータソースをアクセスし、所望のデータを呼び出して前記応答テキストデータを生成する。
【００４３】
ここで、前記データソースは、ローカルデータソース、ＨＴＴＰネットワークデータソース、および／またはデータベースデータソースであってもよい。
【００４４】
サービスのカスタマイズにおいて、開発者は、タスクの需要、およびリソース態様に基づいて、好適なデータアクセス形態または複数種類のアクセス形態の組合せを選択してもよい。
【００４５】
例えば、ローカルファイル登録の形態によってリソースファイルを対話管理システムに入れて、登録ファイルにおいて行ごとに１つのローカルリソースファイルを登録し、ファーマットの例は次の通りである。
flight:flight.data    flight_num|flight_origin|flight_destination|…
（領域名：データファイル名＼ｔデータファイルにおける行ごとの形式）
【００４６】
ＨＴＴＰネットワークデータソースのアクセスは、通常、ＪＳＯＮフォーマットのデータの戻りだけをサポートし、設定の時には、ＨＴＴＰサービスのドメイン名およびパラメータリストフォーマット、および結果ＪＳＯＮデータフォーマットを明記する必要がある。例えば、図４は、本発明の例示的な実施例に係るＨＴＴＰデータアクセスのアクセス設定の例を示す図である。その中で、タスクのタイプは航空券予約であり、ネットワークアドレスのプレフィックスは、
url_domain：rec.baidu.com/travel/ctrip/domestic_flight?であり、パラメータファーマットは、dcity＝[flight_origin]&acity＝[flight_destination]&date＝[flight_leave_date]であり、且つ、データファーマットをＪＳＯＮとする。図５は、本発明の例示的な実施例に係るデータベースアクセスのアクセス設定の例を示し、ここで、その中におけるデータフィールドの詳細な説明を省略する。
【００４７】
また、生成された応答テキストデータは、結果の要約、目標の結果、および／またはインタラクティブな問題テキストであってもよい。結果の要約は、複数のＤＡＴＡから戻されたデータの要約表示であり、例えば航空券予約タスクにおいて、ある日に北京から上海へのフライトが２０便がある場合、結果の要約は、これらの結果に対して重要な情報を一括に表示させる。目標の結果が以下のようなデータであり、すなわち、確かなスロット要求を有する場合、情報結果表示の生成を正確にさせ、例えば、ユーザは、北京から上海への格安航空券がいくらであるかと聞いた場合、提供される具体的なデータである。インタラクティブな問題とは、要求詳細化、値の確認、明確化の際に、システムがユーザに対して自発的に問題を生成し、例えばユーザに「お客さんは、いつ出発したいですか」、「お客さんは、エコノミークラス航空券を予約したいですか」、「お客さんの目的地は具体的にどちらですか、例えば広州、深セン、東莞など」。
【００４８】
前記の全般的枠組みにおいて、ブロック１５０を設定しなく、ブロック１６０により、生成された任意の候補動作データに基づいて、前記応答テキストデータを生成してもよい。
【００４９】
また、好ましくは、前記全般的枠組みにおいて、さらに、衝突検査および／または数値推定（ブロック１７０）を設定してもよい。前記ブロック１７０は、ブロック２において更新しようとする対話状態データに対して衝突検査および／または数値推定を行い、および／または、ブロック１６０においてデータソースアクセスにより呼び出されたデータに対して衝突検査および／または数値推定を行うために構成されてもよい。
【００５０】
以下、図６を参照しながら、衝突検査および／または数値推定のルール設定およびカスタマイズについて、具体的に説明する。図６は、本発明の例示的な実施例に係る対話パラメータのプロパティ設定の例を示す。
【００５１】
ブロック１７０において、対話パラメータの値域を超えた衝突、対話パラメータ間で発生する従属関係衝突、および対話パラメータ間で発生するパラメータ値比較関係衝突のうちの少なくとも１つのデータ衝突を設定してもよい。
【００５２】
値域を超えた
値域を超えたこととは、スロット値（特性値）が予め定義された値の範囲を超えたことを指す。例えば、航空券予約タスクにおいて、ユーザは、「濮陽への航空券を予約したい」という要求を提出したが、濮陽に空港がないので、目的地の都市が値の範囲を超えた。
【００５３】
サービスのカスタマイズの過程において、各スロットの値域が定義されてもよい。例えば、図６に示すように、flight_origin（フライト出発地）の値の範囲をファイルflight_origin_rangeに設定する。[]を用いて整数、浮動小数点数（Int、float）タイプなどのデータを示す。
【００５４】
従属関係衝突
２つの互いに従属関係を持っているスロットは、それぞれ対応した値の間に、このような従属関係を満たしていない場合、衝突が発生することになる。例えば、ユーザは、「北京への航空券を予約したい」、「虹橋空港へ行きたい」という要求をそれぞれ提出した場合、空港および都市の間に従属関係を持っているため、スロット値の間にそのような関係の衝突発生があるかどうかをチャックする必要がある。
【００５５】
サービスのカスタマイズにおいて、スロット間の従属関係データが定義されてもよい。例えば、図６に示すように、「flight_origin>flight_ori_airport」は、出発空港が出発都市に従属することを示し、そして、具体的な従属関係データは、ファイルorigin_airportから検索できる。
【００５６】
パラメータ値比較衝突
いくつかのスロット（特徴）の間に、一定の比較関係、例えば、より大きい関係、より小さい関係、不等関係などを持っている。特定のスロットに対応した値の間にこのような関係を満たさない場合、衝突が発生することになる。例えば、ユーザは、それぞれ「私は、上海への航空券を予約したい」、「上海から出発します」という要求を提出した場合、出発地を目的地と同じに設定することができなく、この場合に、いずれも上海であるため、衝突が発生した。
【００５７】
サービスのカスタマイズにおいて、より大きい関係スロット、より小さい関係スロット、不等関係スロットなどを含む、スロット間の比較関係のカスタマイズが定義されてもよい。例えば、図６に示すように、「uneq:flight_destination」は、「flight_origin（フライト出発地）」を「flight_destination（フライト目的地）」と同じに設定してはいけないことを示す。
【００５８】
ブロック１７０において、さらに、下記の少なくとも１種のデータ推定ルールを設定してもよい。
【００５９】
算術演算
プロパティの間に算術演算関係を持っている場合、既存の値に基づいて、加減乗除などを含む演算により新規なスロット値が得られる。例えば、航空券価格の割引は、航空券の原価を航空券の現価で割って得られた値に等しい。このため、航空券の原価１０００元、航空券の現価３００元である場合、除算により、航空券の割引は３．０割引の結果が得られる。
【００６０】
サービスのカスタマイズにおいて、スロット間の算術演算関係（arithmetic_operations）が定義されてもよい。例えば、図６に示すように、チケット価格の割引スロットを、次のように設定してもよく、
arithmetic_operations:flight_ticket_price/flight_ticket_ori_price。
【００６１】
新しい値の導入
タスクにおいて、１つのスロットの値は、その他の１つのスロットの値により完全に確定されることができる場合、依存されたスロット値が確定された後に、その依存スロットの値を相応に更新することができる。例えば、航空券予約のタスクにおいて、ユーザがフライト３ｕ８９９４便に乗りたいと言った場合、対話サービスは、出発地が南京で目的地が成都であることを、直接にバックエンドから取得することができる。
【００６２】
サービスのカスタマイズにおいて、スロット間のトリガ関係（trigger）が定義されてもよい。例えば、図６に示すように、フライト番号スロットを、
trigger：  flight_origin|flight_destination    {air_line}として表示されてもよい。
【００６３】
古い値の消去
２つのスロット値の間に相互排除関係が存在し、その中の１つのスロットを更新した後に、領域スロット値との相互排除が現われた場合、その中の１つのスロットの値を消去する必要がある。例えば、列車乗車券予約のタスクにおいて、ユーザが寝台列車に乗りたいと言った場合、履歴プロパティにおいて高速鉄道列車のタイプを有すれば、列車タイプと座席タイプとが衝突し、その中の１つのプロパティ値を消去する必要がある。
【００６４】
サービスのカスタマイズにおいて、スロット間の相互排除関係（exclusion）が定義されてもよい。例えば、  座席タイプスロット(train_seat_grade)は、
e  xclusion：  train_seat_grade  {ticket_seat_map}として表示されてもよい。
【００６５】
以上、図１を参照しながら、対話管理システムにおいて具体的なタスクに関連する対話サービスのカスタマイズについて詳細に説明した。当該対話管理システムにより、新規なタスクの対話サービスを設計する場合、前記タスクの対話サービスを再開発する必要がなく、新しいタスクに関連する対話状態パラメータおよびルールに対する設定／カスタマイズだけを必要とすることで、前記対話管理システムの拡張性を大幅に向上させ、且つ、開発や配置のコストを節約した。
【００６６】
以下、図２を参照しながら、本発明の例示的な実施例に係る対話処理方法を詳細に説明する。
【００６７】
図２は、本発明の例示的な実施例に係る対話処理方法を示すフローチャートである。図１に示すカスタマイズされたブロック１３０〜ブロック１６０により、前記対話処理方法を実行する。
【００６８】
図２を参照し、ステップＳ２１０において、タスクに関連付けられたユーザ要求データを取得する。
【００６９】
本発明の例示的な実施例に基づいて、前記ユーザ要求データは、ユーザ要求テキストデータに対して自然言語分析を行って得られた分析結果、例えば図１におけるブロック１２０による自然言語分析処理により得られた分析結果を含む。
【００７０】
ステップＳ２２０において、前記ユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新する。
【００７１】
前記ブロック１３０に対して既にカスタマイズしたため、前記分析結果に基づいてブロック１３０にカスタマイズされた対話パラメータを更新することができる。
【００７２】
具体的には、本発明の例示的な実施例に基づいて、前記分析結果が、対話の初回インタラクションを表わす場合、前記分析結果に基づいて予め設定された、前記タスクに関連付けられたタスクパラメータを取得し、且つ、前記タスクに関連付けられた前記予め設定のタスクパラメータ、および事前場面情報に基いて対話パラメータを生成する。
【００７３】
本発明の選択可能な実施例に基づいて、複数のスロットにより前記タスクに関連付けられた前記タスクパラメータの状態を表示し、事前場面情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルとして示す。
【００７４】
例えば、初回のインタラクションにおいて、ユーザの意図／タスクが航空券予約であることを知った場合、ブロック１３０のカスタマイズに基づいて、出発地、目的地、出発日、出発時刻、航空券座席、現在時刻、現在場所、何月、何曜日、何時、工業都市か否か、観光地か否か、都市の規模タイプ、前回のクエリから今までのインタラクティブなラウンド数、前回の明確化から今までのラウンド数などを含む対話パラメータを生成し、且つ、分析結果に含まれたデータ、および環境情報に基づいて、前記対話パラメータを更新する。
【００７５】
この後、ステップＳ２３０において、前記対話状態に基づいて少なくとも１つの候補動作データを生成する。
【００７６】
具体的に、ステップＳ２３０は、予め設定された検査条件に基づいて前記対話パラメータに状態検査を行って、且つ、前記状態検査の結果に基づいて前記少なくとも１つの候補動作データを生成することを含んでもよい。
【００７７】
前記のように、ブロック１４０において、既に複数の検査条件がカスタマイズされた。前記予め設定された検査条件は、スロットデフォルト値検査条件、パラメータ間のプロパティ依存検査条件、パラメータ間のプロパティトリガ検査条件、パラメータ値確認検査条件、およびパラメータ明確化条件のような検査条件のうちの少なくとも１つを含んでもよい。
【００７８】
例えば、航空券予約のタスク対話の初回のインタラクションにおいて、航空券座席をデフォルトとして「エコノミークラス」に設定してもよく、また、例えば、航空券予約のタスク対話の初回のインタラクションにおいて、航空券の検索が出発地、目的地、出発日に依存し、航空券の価格がフライトの便名および航空券座席に依存するため、これらの情報をクエリする候補動作を生成する必要があり、また、例えば、前回のインタラクションにおいて「お客さんは、どこからどこへの航空券を予約したいですか」とクエリした後に、ユーザが「北京」と答えた場合、北京は、出発地か目的地か、どれも可能であるため、ユーザに目的地か出発地かを明確化する候補動作を生成する必要がある。
【００７９】
ステップＳ２４０において、前記少なくとも１つの候補動作データに基づいて応答テキストデータを生成する。ここで、前記少なくとも１つの候補動作データにおける任意の候補動作データに基づいて、前記応答テキストデータを生成する。動作のタイプに基づいて、生成された応答テキストデータは、結果の要約、目標の結果、および／またはインタラクティブな問題テキストであってもよい。
【００８０】
応答テキストデータを生成する過程において、前記応答テキストデータに必要なパラメータデータを呼び出して生成する（例えば、出発地、目的地、出発日に基づいてフライト情報を検索する）ように、ローカルまたは外部データソースへのアクセスに関連してもよい。本発明の例示的な実施例によれば、ステップＳ２４０においては、更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから、応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップをさらに含んでもよい。
【００８１】
応答テキストデータを生成する過程において、さらに、デフォルト値を用いる対話パラメータに関連してもよく、この場合に、前記対話パラメータのデフォルト値を充填する必要がある。
【００８２】
本発明の好適な実施例によれば、前記方法においては、前記ユーザの対話状態および決定ルールに基づいて、前記少なくとも１つの候補動作データから好適な動作データを選択するステップをさらに含んでもよい。前記決定ルールは、予め設定された動作優先順位、および予め設定された動作決定のモデルの１つであってもよい。
【００８３】
前記決定ルールが、予め設定された動作決定モデルである場合、前記の少なくとも１つの候補動作データから好適な動作データを選択するステップにおいては、前記動作決定モデルに基づいて各前記候補動作データに対応した特徴関数値をそれぞれ取得し、前記特徴関数値における最大値に対応した候補動作データを選択して前記好適な動作データとするステップを含む。予め訓練された動作決定モデルにより候補動作を選択することで、前記タスクに適し、且つ現在対話状態に適する動作データをより確実に確定することができる。
【００８４】
本発明の前記好適な実施例によれば、ステップＳ２４０において、前記好適な動作データに基づいて応答テキストデータを生成する。ステップＳ２４０においては、更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから、応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップを含んでもよい。ステップＳ２４０においては、前記好適な動作データに必要なパラメータデータがデフォルト値である場合、相応のデフォルト値で前記パラメータデータを充填するステップをさらに含んでもよい。
【００８５】
図１に示す対話カスタマイズ処理において、さらに、ブロック１７０をカスタマイズしてもよい。このため、本発明の好適な実施例によれば、ステップＳ２２０においては、更新しようとする対話パラメータの値に対して、それぞれデータ衝突を検出し、且つ、データ衝突が検出された場合、更新された対話パラメータの値を消去し、または、更新しようとする対話パラメータの値が正確であるか否かを確認するためのメッセージを送信するステップをさらに含む。
【００８６】
その中で、前記データ衝突は、対話パラメータの値域を超えた衝突、対話パラメータ間で発生する従属関係衝突、および対話パラメータ間で発生するパラメータ値比較関係衝突のうちの少なくとも１つの衝突を含んでもよい。
【００８７】
本発明の他の好適な実施例によれば、ステップＳ２２０においては、更新しようとする対話パラメータの値に対して、それぞれパラメータ値を推定し、且つ、推定された値により前記対話パラメータを更新するステップをさらに含む。
【００８８】
前記パラメータ値の推定は、パラメータ値の算術演算、新しいパラメータ値の導入、およびパラメータ値の古い値の消去などを含んでもよい。前記パラメータ値の推定の処理については、既に図１におけるブロック１７０の設定およびカスタマイズを参照して具体的に説明した。
【００８９】
本発明の他の好適な実施例によれば、ステップＳ２４０においては、取得されたパラメータデータに対して、それぞれデータ衝突を検出し、且つ、データ衝突が検出された場合、データ衝突が検出されたパラメータデータを捨てるステップをさらに含んでもよい。同様の理由で、ステップＳ２４０においては、取得されたパラメータデータに対して、それぞれパラメータ値を推定し、且つ、推定された値および前記好適な動作データにより前記応答テキストデータを生成するステップをさらに含んでもよい。
【００９０】
上記のように、図１〜図６を参照しながら、本発明の実施例に係る対話管理システムの複数のモジュールの設定、およびカスタマイズ、並びに本発明の実施例に係る対話処理方法に対する詳細な説明からわかるように、本発明に係る対話処理方法は、対話システムにおいて係る具体的なタスクの対話サービスをカスタマイズすることができ、且つ対話管理システムにより、カスタマイズの対話サービスに対して対話のインタラクティブな処理をすることができ、したがって、新たなタスクの対話サービスが導入された場合、対話サービスを再開発する必要がなく、対話状態パラメータおよび処理ルールを設定する必要があるだけで、前記対話管理システムの拡張性を大幅に向上させ、且つ、開発や配置のコストを節約した。
【００９１】
図７は、本発明の例示的な実施例に係る対話管理システムを示す論理図である。
【００９２】
図７を参照し、本発明の例示的な実施例に係る対話管理システムは、要求取得装置７１０と、対話状態更新装置７２０と、動作生成装置７３０と、テキスト生成装置７４０とを備える。
【００９３】
要求取得装置７１０は、タスクに関連付けられたユーザ要求データを取得するために構成される。本発明の例示的な実施例に基づいて、前記ユーザ要求データは、ユーザ要求テキストデータに対して自然言語分析を行って得られた分析結果を含む。
【００９４】
対話状態更新装置７２０は、要求取得装置７１０で取得されたユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新するために構成される。
【００９５】
本発明の例示的な実施例によれば、前記分析結果が、対話の初回インタラクションを表わす場合、対話状態更新装置７２０は、前記分析結果から前記タスクに関連付けられた予め設定のタスクパラメータを取得し、予め設定た、前記タスクに関連付けられたタスクパラメータと場面事前情報に基いて対話パラメータを生成し、且つ、前記分析結果に基づいて前記対話パラメータを更新するために構成される。
【００９６】
本発明の例示的な実施例によれば、対話状態更新装置７２０は、さらに、複数のスロットにより前記予め設定た、前記タスクに関連付けられたタスクパラメータの状態を示し、且つ、場面事前情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルに示すために構成される。
【００９７】
動作生成装置７３０は、対話状態更新装置７２０で更新された対話状態に基づいて少なくとも１つの候補動作データを生成するために構成される。
【００９８】
具体的に、動作生成装置７３０は、予め設定された検査条件に基づいて前記対話パラメータに状態検査を行って、且つ、前記状態検査の結果に基づいて前記少なくとも１つの候補動作データを生成するために構成される。
【００９９】
前記予め設定された検査条件は、スロットデフォルト値検査条件、パラメータ間のプロパティ依存検査条件、パラメータ間のプロパティトリガ検査条件、パラメータ値確認検査条件、およびパラメータ明確化条件からなる検査条件のうちの少なくとも１つを含む。
【０１００】
テキスト生成装置７４０は、動作生成装置７３０で生成された少なくとも１つの候補動作データに基づいて応答テキストデータを生成するために構成される。
【０１０１】
本発明の好適な実施例によれば、前記システムは、動作決定装置（図示せず）をさらに備え、前記動作決定装置は、前記ユーザの対話状態および決定ルールに基づいて、前記少なくとも１つの候補動作データから好適な動作データを選択するために構成され、且つ、テキスト生成装置７４０は、前記好適な動作データに基づいて応答テキストデータを生成するために構成される。
【０１０２】
前記決定ルールは、予め設定された動作優先順位、および予め設定された動作決定のモデルの１つであってもよい。
【０１０３】
その中で、前記動作決定装置は、前記動作決定モデルに基づいて各前記候補動作データに対応した特徴関数値をそれぞれ取得し、前記特徴関数値における最大値に対応した候補動作データを選択して前記好適な動作データとするために構成される。
【０１０４】
本発明の好適な実施例によれば、テキスト生成装置７４０は、更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するために構成される。
【０１０５】
本発明の選択可能な実施例によれば、前記好適な動作データに必要なパラメータデータがデフォルト値である場合、テキスト生成装置７４０は、相応のデフォルト値で前記パラメータデータを充填する。
【０１０６】
本発明の好適な実施例によれば、前記システムは、データ衝突検出装置（図示せず）をさらに備える。対話状態更新装置７２０および／またはテキスト生成装置７４０は、前記データ衝突検出装置によりデータ衝突を検出することができる。
【０１０７】
前記データ衝突検出装置は、対話パラメータの値域を超えた衝突、対話パラメータ間で発生する従属関係衝突、および対話パラメータ間で発生するパラメータ値比較関係衝突のうちの少なくとも１つのデータ衝突を検出する。
【０１０８】
前記データ衝突検出装置は、対話状態更新装置７２０の更新しようとする対話パラメータに対してデータ衝突を検出する。データ衝突が検出された場合、対話状態更新装置７２０は、既に更新された対話パラメータの値を消去したり、更新しょうとする対話パラメータの値が正確であるか否かを確認するためのメッセージを送信したりする。
【０１０９】
前記データ衝突検出装置は、テキスト生成装置７４０で取得されたパラメータデータに対してそれぞれデータ衝突を検出する。前記データ衝突検出装置がデータ衝突が検出された場合、テキスト生成装置７４０は、データ衝突が検出されたパラメータデータを捨てる。
【０１１０】
本発明の他の好適な実施例によれば、前記システムは、データ推定装置（図示せず）をさらに備える。対話状態更新装置７２０および／またはテキスト生成装置７４０は、前記データ推定装置によりデータ値を推定することができる。
【０１１１】
前記データ推定装置は、対話状態更新装置７２０の更新しようとする対話パラメータの値に対して、それぞれパラメータ値を推定し、対話状態更新装置７２０は、推定された値により前記対話パラメータを更新する。
【０１１２】
前記データ推定装置は、テキスト生成装置７４０で取得されたパラメータデータを、それぞれパラメータ値を推定し、テキスト生成装置７４０は、推定された値と前記好適な動作データにより前記応答テキストデータを生成する。
【０１１３】
上記のように、図面を参照しながら、本発明の実施例に係る対話管理システムの複数のモジュールの設定およびカスタマイズ、本発明の実施例に係る対話処理方法、並びに対話管理システムに対する詳細な説明からわかるように、本発明に係る対話処理方法、および対話管理システムは、対話システムにおいて具体的なタスクに係る対話サービスをカスタマイズすることができ、且つ対話管理システムにより、カスタマイズの対話サービスに対して対話のインタラクティブな処理をすることができ、したがって、新たなタスクの対話サービスが導入された場合、対話サービスを再開発する必要がなく、対話状態パラメータおよび処理ルールを設定する必要があるだけで、前記対話管理システムの拡張性を大幅に向上させ、且つ、開発や配置のコストを節約した。
【０１１４】
図８は、本発明の例示的な実施例に係る対話管理に用いられるコンピュータ機器を示す論理図である。
【０１１５】
図８を参照し、前記コンピュータ機器は、前記実施例で提供された対話処理方法を実施するために構成されてもよい。具体的には、次の通りである。
【０１１６】
コンピュータ機器には、入力ユニット８１０、オーディオ回路８２０、コンピュータ読み取り可能な記録媒体を１つ以上含むメモリ８３０、処理コアを１つ以上含むプロセッサ８４０、表示ユニット８５０、通信ユニット８６０、および電源８７０などの部品を備えてもよい。図面に示すコンピュータ機器の構成は、コンピュータ機器を限定するものではなく、当該コンピュータ機器は、図示した部品よりも多いまたは少ない部品を備えてもよく、あるいは、いくつかの部品とを組み合わせてもよく、または異なる部品配置にしてもよいことを、当業者は理解すべきである。
【０１１７】
入力ユニット８１０は、デジタルまたはキャラクター情報の入力を受信し、且つ、ユーザ設定および機能制御に関連するキーボード、マウス、ジョイスティック、光学ボールやトラックボールによる信号入力を発生させるために構成されてもよい。好ましくは、入力ユニット８１０は、タッチセンシティブ表面８１１、および他の入力装置８１２を備えてもよい。タッチセンシティブ表面８１１は、タッチパネルやタッチパッドとも呼ばれ、ユーザがその表面上や付近のタッチ操作（例えば、ユーザが指やタッチペンなどの任意の適した物や付属品を使用して、タッチセンシティブ表面８１１上やタッチセンシティブ表面８１１付近に対して行う操作）を収集し、且つ予め設定されたプログラムにしたがって、関連の接続装置を駆動することができる。必要に応じて、タッチセンシティブ表面８１１は、タッチ検出装置と、タッチ制御器との２つの部分を備えてもよい。ここで、タッチ検出装置は、ユーザのタッチ方位を検出するとともに、タッチ操作による信号を検出し、信号をタッチ制御器に送信する。タッチ制御器は、タッチ検出装置からタッチ情報を受信し、当該情報を接触点座標に変換し、さらに、プロセッサ８４０に送信するとともに、プロセッサ８４０からの命令を受信して実行する。入力ユニット８１０は、タッチセンシティブ表面８１１に加えて、他の入力装置８１２をさらに備えてもよい。好ましくは、その他の入力装置８１２には、物理キーボード、ファンクションキー（例えば、ボリュームボタン、スイッチボタンなど）、トラックボール、マウス、ジョイスティックなどのうちの１種以上を備えてもよいが、これらに限らない。
【０１１８】
オーディオ回路８２０、スピーカ８２１、およびマイク８２２は、ユーザと、コンピュータ機器との間のオーディオインターフェースを提供することができる。オーディオ回路８２０は、受信されたオーディオデータから変換された電気信号をスピーカ８２１に転送し、スピーカ８２１により音声信号に変換して出力する。一方、マイク８２２は、収集した音声信号を電気信号に変換し、オーディオ回路８２０が当該電気信号を受信した後でオーディオデータに変換し、オーディオデータをプロセッサ８４０に転送して処理してから、通信ユニット８６０を介して例えば他のコンピュータ機器に転送したり、オーディオデータをさらに処理するようにメモリ８３０に送信したりする。オーディオ回路８２０は、外部のイヤホンとコンピュータ機器との通信を提供するように、イヤホン挿入口を備えてもよい。
【０１１９】
メモリ８３０は、ソフトウェアプログラムおよびデータを記憶するために構成されてもよく、プロセッサ８４０は、メモリ８３０に記憶されたソフトウェアプログラムおよびデータを実行することで、各種の機能のアプリケーションおよびデータ処理を実施する。メモリ８３０には、主に、プログラム記憶領域とデータ記憶領域とを含有してもよい。その中で、プログラム記憶領域には、ＯＳ、少なくとも１つの機能を実行するためのアプリケーション（例えば、音声再生機能、画像再生機能など）などが記憶されてもよい。データ記憶領域には、コンピュータ機器の使用で作成されたデータ（例えば、オーディオ・データ、電話帳など）などが記憶されてもよい。また、メモリ８３０は、高速ＲＡＭを備えてもよく、さらに、例えば少なくとも１つの磁気ディスクメモリ、フラッシュメモリなどの不揮発性メモリ、または他の揮発性のＳＳＤメモリを備えてもよい。相応に、メモリ８３０は、プロセッサ８４０および入力ユニット８１０がメモリ８３０にアクセスできるように、メモリ制御器をさらに備えてもよい。
【０１２０】
プロセッサ８４０は、コンピュータ機器の制御センターであり、各種のインタフェースおよび回路を介してコンピュータ機器全体の各部と接続され、メモリ８３０内に記憶されたソフトウェアプログラムおよび／またはモジュールを実行または作動させるとともに、メモリ８３０内に記憶されたデータを呼び出すことによって、コンピュータ機器の各種機能の実行およびデータの処理を実現することで、コンピュータ機器全体をコントロールする。
【０１２１】
表示ユニット８５０は、ユーザが入力した情報やユーザに提供する情報、およびコンピュータ機器の各種のグラフィカル・ユーザ・インターフェースを表示するためのものであり、これらのグラフィカル・ユーザ・インターフェースは、図形、テキスト、アイコン、ビデオ、およびそれらの任意の組合せで構成されてもよい。表示ユニット８５０は、表示パネルを備えてもよい。必要に応じて、表示パネルは、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶ディスプレイ）、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ−Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ：有機発光ダイオード）等の形態で構成されてもよい。図に示すように、入力ユニット８１０と表示ユニット８５０とが２つの独立した部品として入力および出力の機能を実現するように構成されているが、いくつかの実施例において、入力ユニット８１０と表示ユニット８５０とを集積して入力および出力の機能を実現するように構成されてもよい。
【０１２２】
通信ユニット８６０は、情報の送受信または通話の過程において信号の受信・送信をするために構成されている。当該通信ユニット８６０は、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ：無線周波数）回路、ルータ、モデムなどのネットワーク通信機器であってもよい。また、通信ユニット８６０は、さらに、無線通信により、ネットワーク、および他の機器と通信してもよい。無線通信として、ＧＳＭ（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｏｆ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ）、ＧＰＲＳ（Ｇｅｎｅｒａｌ  Ｐａｃｋｅｔ  Ｒａｄｉｏ  Ｓｅｒｖｉｃｅ）、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ、符号分割多重接続）、ＷＣＤＭＡ（Ｗｉｄｅｂａｎｄ  Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、電子メール、ＳＭＳ（Ｓｈｏｒｔ  Ｍｅｓｓａｇｉｎｇ  Ｓｅｒｖｉｃｅ）などを含む任意の通信規格またはプロトコルを利用してもよいが、これらに限らない。
【０１２３】
コンピュータ機器は、さらに、各部に電力を供給する電源８７０（例えば、バッテリー）を備え、好ましくは、電源は、電源管理システムを介してプロセッサ８４０にロジック的に接続されることにより、電源管理システムを介して充電・放電管理、および消費電力管理などの機能を実現することができる。電源８７０は、さらに、１つ以上の直流または交流電源、再充電システム、電源故障検出回路、電源コンバータまたはインバータ、電源状態インジケータ等の任意のアセンブリを含んでもよい。
【０１２４】
コンピュータ機器は、図示されていないが、カメラ、ブルートゥースモジュール、センサ（例えば、光センサ、運動センサ、およびその他のセンサなど）、オーディオ回路、および無線通信ユニットなどをさらに含んでもよいが、ここで具体的な説明は省略する。
【０１２５】
本実施例において、コンピュータ機器は、１つ以上のプロセッサ８４０、メモリ８３０、および１つ以上のプログラムを備え、１つ以上のプログラムは、メモリ８３０に記憶され、且つ１つ以上のプロセッサ８４０により、１つ以上のプログラムに含まれた対話処理方法を実行するための命令が実行されるように構成され、前記命令は、タスクに関連付けられたユーザ要求データを取得し、前記ユーザ要求データと、予め設定た、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新し、前記対話状態に基づいて少なくとも１つの候補動作データを生成し、前記少なくとも１つの候補動作データに基づいて応答テキストデータを生成する命令である。
【０１２６】
また、前記ユーザ要求データは、ユーザ要求テキストデータに対して自然言語分析を行って得られた分析結果を含む。
【０１２７】
さらに、前記の前記ユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新するステップにおいては、前記分析結果が、対話の初回インタラクションを表わす場合、前記分析結果に基づいて、前記タスクに関連付けられた予め設定のタスクパラメータを取得し、前記予め設定た、前記タスクに関連付けられたタスクパラメータ、および場面事前情報に基いて対話パラメータを生成し、前記分析結果に基づいて前記対話パラメータを更新するステップを含む。
【０１２８】
また、複数のスロットにより前記タスクに関連付けられた前記タスクパラメータの状態を示し、事前場面情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルに示す。
【０１２９】
さらに、前記の前記対話状態に基づいて少なくとも１つの候補動作データを生成するステップにおいては、予め設定された検査条件に基づいて前記対話パラメータに状態検査を行って、前記状態検査の結果に基づいて前記少なくとも１つの候補動作データを生成するステップを含む。
【０１３０】
また、前記予め設定された検査条件は、スロットデフォルト値検査条件、パラメータ間のプロパティ依存検査条件、パラメータ間のプロパティトリガ検査条件、パラメータ値確認検査条件、およびパラメータ明確化条件を含む。
【０１３１】
さらに、メモリ８３０において、下記処理の命令を実行することを含む。前記命令は、前記ユーザの対話状態および決定のルールに基づいて、前記少なくとも１つの候補動作データから好適な動作データを選択し、且つ、前記少なくとも１つの候補動作データに基づいて応答テキストデータを生成するステップにおいては、前記好適な候補動作データに基づいて応答テキストデータを生成するステップを含む。
【０１３２】
また、前記決定ルールは、予め設定された動作優先順位、および予め設定された動作決定のモデルの１つであり、その中で、前記の前記少なくとも１つの候補動作データから好適な動作データを選択するステップにおいては、前記動作決定モデルに基づいて各前記候補動作データに対応した特徴関数値をそれぞれ取得し、前記特徴関数値における最大値に対応した候補動作データを選択して前記好適な動作データとするステップを含む。
【０１３３】
また、前記好適な候補動作データに基づいて応答テキストデータを生成するステップにおいては、更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから、応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップを含む。
【０１３４】
また、前記の前記好適な候補動作データに基づいて応答テキストデータを生成するステップにおいては、前記好適な動作データに必要なパラメータデータがデフォルト値をである場合、相応のデフォルト値で前記パラメータデータを充填するステップをさらに含む。
【０１３５】
また、前記分析結果に基づいて前記対話パラメータを更新するステップにおいては、更新しようとする対話パラメータの値に対して、それぞれデータ衝突を検出し、データ衝突が検出された場合、更新された対話パラメータの値を消去し、または、更新しようとする対話パラメータの値が正確であるか否かを確認するためのメッセージを送信するステップをさらに含む。
【０１３６】
また、前記データ衝突は、対話パラメータの値域を超えた衝突、対話パラメータ間の発生する従属関係衝突、および対話パラメータ間の発生するパラメータ値比較関係衝突のうちの少なくとも１つの衝突を含む。
【０１３７】
また、前記分析結果に基づいて前記対話パラメータを更新するステップにおいては、更新しようとする対話パラメータの値に対して、それぞれパラメータ値を推定し、且つ、推定された値により前記対話パラメータを更新するステップをさらに含む。
【０１３８】
また、前記取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップにおいては、取得されたパラメータデータに対して、それぞれデータ衝突を検出し、データ衝突が検出された場合、データ衝突が検出されたパラメータデータを捨てるステップをさらに含む。
【０１３９】
また、前記取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップにおいては、取得されたパラメータデータに対して、それぞれパラメータ値を推定し、且つ、推定された値および前記好適な動作データにより前記応答テキストデータを生成するステップをさらに含む。
【０１４０】
上記のように、図面を参照しながら、本発明の実施例に係るコンピュータ機器の設定およびカスタマイズ、本発明の実施例に係る対話処理方法、対話管理システム、およびコンピュータ機器に対する詳細な説明からわかるように、本発明に係る対話処理方法、対話管理システム、およびコンピュータ機器は、対話システムにおいて具体的なタスク係る対話サービスをカスタマイズすることができ、且つ対話管理システムにより、カスタマイズの対話サービスに対して対話のインタラクティブな処理をすることができ、したがって、新たなタスクの対話サービスが導入された場合、対話サービスを再開発する必要がなく、対話状態パラメータおよび処理ルールを設定する必要があるだけで、前記対話管理システムの拡張性を大幅に向上させ、且つ、開発や配置のコストを節約した。
【０１４１】
実施の必要に応じて、本発明に記載の各ステップを、より多くのステップに分割してもよく、２つ以上のステップまたはステップの一部の操作を新規なステップに組み合わせて本発明の目的を実現してもよいと、留意すべきである。
【０１４２】
前記本発明に係る方法は、ハードウェア、ファームウェアにおいて実現されることができ、あるいは、記録媒体（例えば、ＣＤ  ＲＯＭ、ＲＡＭ、フロッピーディスク、ハードディスク、または光磁気ディスク）に記憶されることができるソフトウェア、もしくはコンピュータコードとして実現され、あるいは、元にリモート記録媒体や非一時的機械可読媒体に記憶され、ネットワークによりダウンロードされた、且つローカル記録媒体に記憶されるコンピュータコードとして実現され、したがって、ここで記載の方法は、汎用コンピュータ、専用プロセッサまたはプログラム可能なもしくは専用なハードウェア（例えば、ＡＳＩＣまたはＦＰＧＡ）が用いられる記録媒体に記憶されたソフトウェアにより処理されることができる。コンピュータ、プロセッサ、マイクロプロセッサ制御器、またはプログラム可能なハードウェアは、ソフトウェアまたはコンピュータコードを記憶もしくは受信可能な記憶アセンブリ（例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリなど）を含んでおり、前記ソフトウェア、またはコンピュータコードは、コンピュータ、プロセッサ、またはハードウェアでアクセスされて実行される場合、ここで記載の処理方法を実現する。また、汎用コンピュータが、ここで示された処理を実現するためのコードをアクセスした場合、コードの実行は、汎用コンピュータを、ここで示された処理を実行するための専用コンピュータに変換させる。
【０１４３】
以上で説明したのは、本発明の具体的な実施形態だけであり、本発明の保護範囲は、これらに限定されるものではない。いかなる当業者が本発明に開示された技術範囲内に容易に想到できる変更または置換の全ては、本発明の保護範囲内に入るべきである。従って、本発明の保護範囲は、添付される特許請求の範囲を基準としているものである。
【図１】
0006514711.tif 000002
【図２】
0006514711.tif 000003
【図３】
0006514711.tif 000004
【図４】
0006514711.tif 000005
【図５】
0006514711.tif 000006
【図６】
0006514711.tif 000007
【図７】
0006514711.tif 000008
【図８】
0006514711.tif 000009