(58)【調査した分野】(Int.Cl.,DB名)
複数のスロットにより前記タスクに関連付けられた前記タスクパラメータの状態を示し、場面事前情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルに示すこと
を特徴とする請求項1に記載の方法。
前記予め設定された検査条件は、スロットデフォルト値検査条件、パラメータ間のプロパティ依存検査条件、パラメータ間のプロパティトリガ検査条件、およびパラメータ明確化条件をさらに含むこと
を特徴とする請求項1に記載の方法。
前記データ衝突は、対話パラメータの値域を超えた衝突、対話パラメータ間で発生する従属関係衝突、および対話パラメータ間で発生するパラメータ値比較関係衝突のうちの少なくとも1つの衝突を含むこと
を特徴とする請求項8に記載の方法。
前記対話状態更新装置は、さらに、複数のスロットにより前記タスクに前記予め設定された、関連付けられたタスクパラメータの状態を示し、且つ、場面事前情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルに示すために構成されること
を特徴とする請求項13に記載のシステム。
前記予め設定された検査条件は、スロットデフォルト値検査条件、パラメータ間のプロパティ依存検査条件、パラメータ間のプロパティトリガ検査条件、およびパラメータ明確化条件をさらに含むこと
を特徴とする請求項13に記載のシステム。
前記テキスト生成装置は、更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから、応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するために構成されること
を特徴とする請求項16または17に記載のシステム。
【発明を実施するための形態】
【0011】
本発明の全体的な構想は、タスクに関連する対話管理システムを提供し、具体的なタスクに関連するビジネスロジック機能モジュールに対してタスク設定を行って具体的なタスクに関連する対話管理を実現することにより、前記対話管理システムを利用して新たなタスクの対話カスタマイズを実現することができ、前記新たなタスクに関連する対話サービスの再開発を必要としなく、ユーザが迅速にカスタマイズの対話管理システムを使用することを可能にさせる。一方、対話のインタラクティブな処理において、前記対話管理システムによりユーザの対話状態を管理し、且つ、既存のタスク設定に基づいて応答テキストを生成することができる。
【0012】
ここでいわゆるタスク設定は、タスクに関連する対話状態のパラメータ設定、およびタスクに関連するビジネスルール設定を含む。
【0013】
以下、本発明の例示的な実施例に係る対話処理方法、対話管理システム、およびコンピュータ機器について、図面を参照して詳細に説明する。
【0014】
本発明に係るデータ、ルール、および本発明の構想を直観的に説明するために、本明細書において、単に航空券の予約タスクのみを例としてサービスのカスタマイズ、対話のインタラクティブな処理、および対話管理を具体的に説明する。本発明に係るアプリケーションは、航空券の予約に限らず、食事の予約、ホテルの予約、映画チケットの予約などの様々な複数回の対話に関連する対話タスクに適用されていることを、当業者にとって理解すべきである。
【0015】
図1は、本発明の例示的な実施例に係る対話管理システムが使用された対話サービスのカスタマイズの全般的枠組みを示す。本発明に係る対話サービスのカスタマイズは、主にブロック130〜160に関連する。
【0016】
図1に示すように、ブロック110は、ユーザから入力された自然言語表現のユーザ要求テキストを受信するために構成される。ブロック120は、自然言語分析により前記ユーザ要求テキストの分析結果を得るために構成される。
【0017】
この後、ブロック130は、前記分析結果と、環境特徴パラメータと組み合わせてユーザの対話状態を更新するために構成される。当該モジュールは、主に対話管理システムの状態を記録・メンテナンスするために構成される。
【0018】
例えば、ユーザが「私は上海への航空券を予約したい」というと、前記テキストに対して自然言語分析を行った後に、「航空券予約」というユーザの意図(すなわち、タスク)を得ることができる。次に、対話時の現在時間、ユーザ所在地、動作履歴などの情報を含む環境情報を抽出する。
【0019】
対話カスタマイズを行う場合、当該タスクに関連するタスクパラメータの状態を示すためのスロットリストを予め設定してもよい。例えば、「航空券予約」のサービスをカスタマイズする場合、関連するスロットには、出発地、目的地、出発日期、出発時刻、座席のタイプ、飛行機のタイプ、航空券の価格、航空会社、出発空港、到着空港などを含む。また、前記タスクに関連付けられた場面事前情報、例えば、時間事前情報(何月、何曜日、何時などを含み)、地域事前情報(工業都市か否か、観光地か否か、都市の規模タイプなどを含み)、および動作履歴情報(例えば、前回のクエリから今までのインタラクティブなラウンド数、前回の確認から今までのインタラクティブなラウンド数など)を設定してもよい。
【0020】
必要に応じて、複数のスロットにより前記タスクに関連付けられた前記タスクパラメータの状態を示し、事前場面情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルとして示す。
【0021】
図3は、本発明の例示的な実施例に係る対話パラメータの例を示す。その中で、複数のプロパティのスロットを介してタスクパラメータの状態を示し、前記スロットの状態は、ヌル(null)、デフォルト値、多値、エラー値および正常値から選ばれる1つであってもよく、特徴ベクトルにより時間事前情報、地域事前情報、および動作履歴情報を示す。
【0022】
この後、ブロック140は、更新された対話状態を検査し、且つ少なくとも1つの候補動作データ(140)を生成するために構成される。当該モジュールは、主な目的として、現在の対話状態に基づき、システムの全ての動作から現在有効なシステム動作のみを濾し取り、システム動作の決定段階のエラー率を減少し、候補動作リストを出力する。
【0023】
当該モジュールで行われた検査は、スロットのデフォルト値の検査、要求詳細化の検査(パラメータ間のプロパティ依存の検査、およびパラメータ間のプロパティトリガの検査を含み)、パラメータ値確認の検査、およびパラメータの明確化を含んでもよいが、これらに限定されていない。以下、前記複数の検査を具体的に説明し、且つ対話カスタマイズにおいて前記検査のルールを設定する。
【0024】
スロットのデフォルト値の検査
特定のタスクに対して、一定の対話状態において、いくつかの特徴/プロパティについて、デフォルト値を取ってもよく、値の源は、タスクカスタマイズに由来してもよく、ユーザモデル(例えば、ユーザプロファイル、およびインタラクチィブな履歴など)に由来してもよい。
【0025】
タスクカスタマイズの条件またはユーザモデル情報を検査することにより、条件を満たすデフォルト値が存在する場合、候補スロット値のデフォルト動作を生成する。例えば、1人のユーザが常にエコノミークラス航空券を予約する場合、チケット予約の対話を新たに起動する時に、航空券座席のタイプが「エコノミークラス」である1つのスロット値デフォルト動作を生成してもよい。
【0026】
サービスのカスタマイズを行う場合、当該動作を必要とするアプリケーションタスクに対して、開発者は、デフォルト値の設定、およびユーザモデルサービスの設定を行いてもよく、設定デフォルトがこのような動作を使用しないことを表示する。デフォルト値の設定は、宛先スロット、デフォルト値、およびデフォルト条件を含む。例えば、航空券タスクにおいて、次のように設定してもよく、
flightflight_leave_date [today] TARGET=flight_status
(フライト状況をクエリする場合、出発日は、今日をデフォルトとする)
【0027】
ユーザモデルサービスのインターフェース(サービスのIPアドレスおよびポートを含み)を、前記ユーザモデルによりスロットデフォルト値の検査を行うように設定してもよい。例えば、
user_model_ip:10.81.14.98
user_model_port:6101
【0028】
要求詳細化検査
宛先タスクを達成するために、ユーザに必要な特徴情報を自発的にクエリすることを必要とする場合がある。
【0029】
例えば、航空券の予約を達成するために、ユーザによって目的地が提供された場合、ユーザに出発地および出発日をクエリする必要がある。現在の状態では、プロパティ依存の検査、およびプロパティトリガの検査によりユーザの要求を詳細化処理することができる。
【0030】
プロパティ依存とは、宛先タスクの達成に依存するパラメータ(スロット)を意味し、例えば、航空券の検索は、出発地、目的地、出発日に依存してもよく、航空券の価格は、フライト番号および座席タイプなどに依存してもよく、アプリケーション開発者は、これらの依存情報を容易に予め設定することができる。プロパティトリガとは、連続性要求を有するユーザに対し、1つの要求を満たした後に、次の1つの要求を達成するために、次の要求に依存するパラメータ(スロット)を自発的にクエリする必要があることを意味する。例えば、航空券とホテルとの混合タスクにおいて、ユーザが航空券を予約した後に、対話サービスは、目的地にどこかのホテルを予約したいかとユーザにクエリしてみてもよい。
【0031】
サービスのカスタマイズを行う場合、アプリケーション開発者は、要求に基づいてプロパティ依存、およびプロパティトリガを設定してもよく、設定デフォルトが、このような動作を使用しないことを表示する。例えば、フライトの価格検索のプロパティ依存関係は、
flightflight_price flight_num| flight_seat_grade
を含んでもよい。
(フライトの価格は、フライト番号、および座席タイプに依存する)
flightflight_price
flight_origin|flight_destination|flight_leave_date|flight_seat_grade
(フライトの価格は、出発地、目的地、出発日、座席タイプに依存する)
【0032】
プロパティトリガ関係:
Flight END hotel=hotel_place
(航空券の検索が終了した後に、ホテルの場所のクエリをトリガする)
【0033】
パラメータ値確認の検査
受信されたあるスロット値の信頼度がそんなに高くない場合、当該値であるか否かを、ユーザに確認する必要がある。確認の必要があるパラメータは、自然言語処理で出力された低信頼度のスロット値、ユーザモデルで推奨されたスロット値などを含む。
【0034】
このため、現在の対話状態が低信頼度のスロットまたはユーザモデルで推奨されたスロットを含むか否かをチェックすることができる。低信頼度のスロットまたはユーザモデルで推奨されたスロットを含む場合、パラメータ値が確認された候補動作データを生成する。
【0035】
パラメータ明確化の検査
前記パラメータ明確化とは、現在の対話状態に曖昧さを含んでいる際に、対話サービスは、パラメータに関する具体的な意味をユーザにクエリすることを指す。このような問題は、主に、1つの値が複数の意味を持っている可能性のあるケース、またはあるスロットが複数の値を取る可能性のあるケースにつながっている。例えば、対話サービスが「お客さんは、どこからどこへの航空券を予約したいですか」とクエリすると、ユーザが「北京」と答えた場合、「北京」は、出発地か目的地か、どれも可能があるため、ユーザに明確化する必要がある。また、例えば、ユーザが「私は広東への航空券を予約したい」という要求を提出した場合、広東が複数の都市に空港を有するため、ユーザが具体的にどこの都市へ行きたいかをクエリする必要がある。
【0036】
このため、パラメータ明確化検査処理において、現在ユーザの対話状態が曖昧なスロットまたは曖昧な値を含むか否かを検査する。曖昧なスロットまたは曖昧な値を含んだ場合、明確化候補動作を生成する。
【0037】
この後、好ましくは、前記ユーザの対話状態および決定ルールに基づいて、前記少なくとも1つの候補動作データから好適な動作データを選択するためのブロック150をさらに設定する。
【0038】
ブロック140が複数の候補動作データを生成した場合、予め設定された決定ルールにより前記複数の候補動作データから1つを選択して確定された好適な動作データとしてもよい。
【0039】
前記決定ルールは、所定の動作優先順位、または予め設定された動作決定のモデルであってもよい。
【0040】
例えば、明確化動作、確認動作、スロット値デフォルト動作、要求詳細化動作(プロパティ依存、またはプロパティトリガ)のような(優先順位が高から低への)順序にしたがって好適な動作を選択するように予め設定してもよい。
【0041】
一方、訓練サンプルで訓練された動作決定モデルにより、前記複数の候補動作に対して特徴関数の値を計算し、計算された特徴関数の値が最も高い候補動作データを選択し、前記好適な動作データとする。
【0042】
ブロック160は、前記好適な動作データに基づいて応答テキストデータを生成し、且つ、前記応答テキストデータをユーザに返すために構成される。その中で、デフォルト動作として確定された好適な動作に対してデフォルト値を付与してもよく、前記好適な動作データに基づいてデータソースをアクセスし、所望のデータを呼び出して前記応答テキストデータを生成する。
【0043】
ここで、前記データソースは、ローカルデータソース、HTTPネットワークデータソース、および/またはデータベースデータソースであってもよい。
【0044】
サービスのカスタマイズにおいて、開発者は、タスクの需要、およびリソース態様に基づいて、好適なデータアクセス形態または複数種類のアクセス形態の組合せを選択してもよい。
【0045】
例えば、ローカルファイル登録の形態によってリソースファイルを対話管理システムに入れて、登録ファイルにおいて行ごとに1つのローカルリソースファイルを登録し、ファーマットの例は次の通りである。
flight:flight.data flight_num|flight_origin|flight_destination|…
(領域名:データファイル名\tデータファイルにおける行ごとの形式)
【0046】
HTTPネットワークデータソースのアクセスは、通常、JSONフォーマットのデータの戻りだけをサポートし、設定の時には、HTTPサービスのドメイン名およびパラメータリストフォーマット、および結果JSONデータフォーマットを明記する必要がある。例えば、
図4は、本発明の例示的な実施例に係るHTTPデータアクセスのアクセス設定の例を示す図である。その中で、タスクのタイプは航空券予約であり、ネットワークアドレスのプレフィックスは、
url_domain:rec.baidu.com/travel/ctrip/domestic_flight?であり、パラメータファーマットは、dcity=[flight_origin]&acity=[flight_destination]&date=[flight_leave_date]であり、且つ、データファーマットをJSONとする。
図5は、本発明の例示的な実施例に係るデータベースアクセスのアクセス設定の例を示し、ここで、その中におけるデータフィールドの詳細な説明を省略する。
【0047】
また、生成された応答テキストデータは、結果の要約、目標の結果、および/またはインタラクティブな問題テキストであってもよい。結果の要約は、複数のDATAから戻されたデータの要約表示であり、例えば航空券予約タスクにおいて、ある日に北京から上海へのフライトが20便がある場合、結果の要約は、これらの結果に対して重要な情報を一括に表示させる。目標の結果が以下のようなデータであり、すなわち、確かなスロット要求を有する場合、情報結果表示の生成を正確にさせ、例えば、ユーザは、北京から上海への格安航空券がいくらであるかと聞いた場合、提供される具体的なデータである。インタラクティブな問題とは、要求詳細化、値の確認、明確化の際に、システムがユーザに対して自発的に問題を生成し、例えばユーザに「お客さんは、いつ出発したいですか」、「お客さんは、エコノミークラス航空券を予約したいですか」、「お客さんの目的地は具体的にどちらですか、例えば広州、深セン、東莞など」。
【0048】
前記の全般的枠組みにおいて、ブロック150を設定しなく、ブロック160により、生成された任意の候補動作データに基づいて、前記応答テキストデータを生成してもよい。
【0049】
また、好ましくは、前記全般的枠組みにおいて、さらに、衝突検査および/または数値推定(ブロック170)を設定してもよい。前記ブロック170は、ブロック2において更新しようとする対話状態データに対して衝突検査および/または数値推定を行い、および/または、ブロック160においてデータソースアクセスにより呼び出されたデータに対して衝突検査および/または数値推定を行うために構成されてもよい。
【0050】
以下、
図6を参照しながら、衝突検査および/または数値推定のルール設定およびカスタマイズについて、具体的に説明する。
図6は、本発明の例示的な実施例に係る対話パラメータのプロパティ設定の例を示す。
【0051】
ブロック170において、対話パラメータの値域を超えた衝突、対話パラメータ間で発生する従属関係衝突、および対話パラメータ間で発生するパラメータ値比較関係衝突のうちの少なくとも1つのデータ衝突を設定してもよい。
【0052】
値域を超えた
値域を超えたこととは、スロット値(特性値)が予め定義された値の範囲を超えたことを指す。例えば、航空券予約タスクにおいて、ユーザは、「濮陽への航空券を予約したい」という要求を提出したが、濮陽に空港がないので、目的地の都市が値の範囲を超えた。
【0053】
サービスのカスタマイズの過程において、各スロットの値域が定義されてもよい。例えば、
図6に示すように、flight_origin(フライト出発地)の値の範囲をファイルflight_origin_rangeに設定する。[]を用いて整数、浮動小数点数(Int、float)タイプなどのデータを示す。
【0054】
従属関係衝突
2つの互いに従属関係を持っているスロットは、それぞれ対応した値の間に、このような従属関係を満たしていない場合、衝突が発生することになる。例えば、ユーザは、「北京への航空券を予約したい」、「虹橋空港へ行きたい」という要求をそれぞれ提出した場合、空港および都市の間に従属関係を持っているため、スロット値の間にそのような関係の衝突発生があるかどうかをチャックする必要がある。
【0055】
サービスのカスタマイズにおいて、スロット間の従属関係データが定義されてもよい。例えば、
図6に示すように、「flight_origin>flight_ori_airport」は、出発空港が出発都市に従属することを示し、そして、具体的な従属関係データは、ファイルorigin_airportから検索できる。
【0056】
パラメータ値比較衝突
いくつかのスロット(特徴)の間に、一定の比較関係、例えば、より大きい関係、より小さい関係、不等関係などを持っている。特定のスロットに対応した値の間にこのような関係を満たさない場合、衝突が発生することになる。例えば、ユーザは、それぞれ「私は、上海への航空券を予約したい」、「上海から出発します」という要求を提出した場合、出発地を目的地と同じに設定することができなく、この場合に、いずれも上海であるため、衝突が発生した。
【0057】
サービスのカスタマイズにおいて、より大きい関係スロット、より小さい関係スロット、不等関係スロットなどを含む、スロット間の比較関係のカスタマイズが定義されてもよい。例えば、
図6に示すように、「uneq:flight_destination」は、「flight_origin(フライト出発地)」を「flight_destination(フライト目的地)」と同じに設定してはいけないことを示す。
【0058】
ブロック170において、さらに、下記の少なくとも1種のデータ推定ルールを設定してもよい。
【0059】
算術演算
プロパティの間に算術演算関係を持っている場合、既存の値に基づいて、加減乗除などを含む演算により新規なスロット値が得られる。例えば、航空券価格の割引は、航空券の原価を航空券の現価で割って得られた値に等しい。このため、航空券の原価1000元、航空券の現価300元である場合、除算により、航空券の割引は3.0割引の結果が得られる。
【0060】
サービスのカスタマイズにおいて、スロット間の算術演算関係(arithmetic_operations)が定義されてもよい。例えば、
図6に示すように、チケット価格の割引スロットを、次のように設定してもよく、
arithmetic_operations:flight_ticket_price/flight_ticket_ori_price。
【0061】
新しい値の導入
タスクにおいて、1つのスロットの値は、その他の1つのスロットの値により完全に確定されることができる場合、依存されたスロット値が確定された後に、その依存スロットの値を相応に更新することができる。例えば、航空券予約のタスクにおいて、ユーザがフライト3u8994便に乗りたいと言った場合、対話サービスは、出発地が南京で目的地が成都であることを、直接にバックエンドから取得することができる。
【0062】
サービスのカスタマイズにおいて、スロット間のトリガ関係(trigger)が定義されてもよい。例えば、
図6に示すように、フライト番号スロットを、
trigger: flight_origin|flight_destination {air_line}として表示されてもよい。
【0063】
古い値の消去
2つのスロット値の間に相互排除関係が存在し、その中の1つのスロットを更新した後に、領域スロット値との相互排除が現われた場合、その中の1つのスロットの値を消去する必要がある。例えば、列車乗車券予約のタスクにおいて、ユーザが寝台列車に乗りたいと言った場合、履歴プロパティにおいて高速鉄道列車のタイプを有すれば、列車タイプと座席タイプとが衝突し、その中の1つのプロパティ値を消去する必要がある。
【0064】
サービスのカスタマイズにおいて、スロット間の相互排除関係(exclusion)が定義されてもよい。例えば、 座席タイプスロット(train_seat_grade)は、
e xclusion: train_seat_grade {ticket_seat_map}として表示されてもよい。
【0065】
以上、
図1を参照しながら、対話管理システムにおいて具体的なタスクに関連する対話サービスのカスタマイズについて詳細に説明した。当該対話管理システムにより、新規なタスクの対話サービスを設計する場合、前記タスクの対話サービスを再開発する必要がなく、新しいタスクに関連する対話状態パラメータおよびルールに対する設定/カスタマイズだけを必要とすることで、前記対話管理システムの拡張性を大幅に向上させ、且つ、開発や配置のコストを節約した。
【0066】
以下、
図2を参照しながら、本発明の例示的な実施例に係る対話処理方法を詳細に説明する。
【0067】
図2は、本発明の例示的な実施例に係る対話処理方法を示すフローチャートである。
図1に示すカスタマイズされたブロック130〜ブロック160により、前記対話処理方法を実行する。
【0068】
図2を参照し、ステップS210において、タスクに関連付けられたユーザ要求データを取得する。
【0069】
本発明の例示的な実施例に基づいて、前記ユーザ要求データは、ユーザ要求テキストデータに対して自然言語分析を行って得られた分析結果、例えば
図1におけるブロック120による自然言語分析処理により得られた分析結果を含む。
【0070】
ステップS220において、前記ユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新する。
【0071】
前記ブロック130に対して既にカスタマイズしたため、前記分析結果に基づいてブロック130にカスタマイズされた対話パラメータを更新することができる。
【0072】
具体的には、本発明の例示的な実施例に基づいて、前記分析結果が、対話の初回インタラクションを表わす場合、前記分析結果に基づいて予め設定された、前記タスクに関連付けられたタスクパラメータを取得し、且つ、前記タスクに関連付けられた前記予め設定のタスクパラメータ、および事前場面情報に基いて対話パラメータを生成する。
【0073】
本発明の選択可能な実施例に基づいて、複数のスロットにより前記タスクに関連付けられた前記タスクパラメータの状態を表示し、事前場面情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルとして示す。
【0074】
例えば、初回のインタラクションにおいて、ユーザの意図/タスクが航空券予約であることを知った場合、ブロック130のカスタマイズに基づいて、出発地、目的地、出発日、出発時刻、航空券座席、現在時刻、現在場所、何月、何曜日、何時、工業都市か否か、観光地か否か、都市の規模タイプ、前回のクエリから今までのインタラクティブなラウンド数、前回の明確化から今までのラウンド数などを含む対話パラメータを生成し、且つ、分析結果に含まれたデータ、および環境情報に基づいて、前記対話パラメータを更新する。
【0075】
この後、ステップS230において、前記対話状態に基づいて少なくとも1つの候補動作データを生成する。
【0076】
具体的に、ステップS230は、予め設定された検査条件に基づいて前記対話パラメータに状態検査を行って、且つ、前記状態検査の結果に基づいて前記少なくとも1つの候補動作データを生成することを含んでもよい。
【0077】
前記のように、ブロック140において、既に複数の検査条件がカスタマイズされた。前記予め設定された検査条件は、スロットデフォルト値検査条件、パラメータ間のプロパティ依存検査条件、パラメータ間のプロパティトリガ検査条件、パラメータ値確認検査条件、およびパラメータ明確化条件のような検査条件のうちの少なくとも1つを含んでもよい。
【0078】
例えば、航空券予約のタスク対話の初回のインタラクションにおいて、航空券座席をデフォルトとして「エコノミークラス」に設定してもよく、また、例えば、航空券予約のタスク対話の初回のインタラクションにおいて、航空券の検索が出発地、目的地、出発日に依存し、航空券の価格がフライトの便名および航空券座席に依存するため、これらの情報をクエリする候補動作を生成する必要があり、また、例えば、前回のインタラクションにおいて「お客さんは、どこからどこへの航空券を予約したいですか」とクエリした後に、ユーザが「北京」と答えた場合、北京は、出発地か目的地か、どれも可能であるため、ユーザに目的地か出発地かを明確化する候補動作を生成する必要がある。
【0079】
ステップS240において、前記少なくとも1つの候補動作データに基づいて応答テキストデータを生成する。ここで、前記少なくとも1つの候補動作データにおける任意の候補動作データに基づいて、前記応答テキストデータを生成する。動作のタイプに基づいて、生成された応答テキストデータは、結果の要約、目標の結果、および/またはインタラクティブな問題テキストであってもよい。
【0080】
応答テキストデータを生成する過程において、前記応答テキストデータに必要なパラメータデータを呼び出して生成する(例えば、出発地、目的地、出発日に基づいてフライト情報を検索する)ように、ローカルまたは外部データソースへのアクセスに関連してもよい。本発明の例示的な実施例によれば、ステップS240においては、更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから、応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップをさらに含んでもよい。
【0081】
応答テキストデータを生成する過程において、さらに、デフォルト値を用いる対話パラメータに関連してもよく、この場合に、前記対話パラメータのデフォルト値を充填する必要がある。
【0082】
本発明の好適な実施例によれば、前記方法においては、前記ユーザの対話状態および決定ルールに基づいて、前記少なくとも1つの候補動作データから好適な動作データを選択するステップをさらに含んでもよい。前記決定ルールは、予め設定された動作優先順位、および予め設定された動作決定のモデルの1つであってもよい。
【0083】
前記決定ルールが、予め設定された動作決定モデルである場合、前記の少なくとも1つの候補動作データから好適な動作データを選択するステップにおいては、前記動作決定モデルに基づいて各前記候補動作データに対応した特徴関数値をそれぞれ取得し、前記特徴関数値における最大値に対応した候補動作データを選択して前記好適な動作データとするステップを含む。予め訓練された動作決定モデルにより候補動作を選択することで、前記タスクに適し、且つ現在対話状態に適する動作データをより確実に確定することができる。
【0084】
本発明の前記好適な実施例によれば、ステップS240において、前記好適な動作データに基づいて応答テキストデータを生成する。ステップS240においては、更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから、応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップを含んでもよい。ステップS240においては、前記好適な動作データに必要なパラメータデータがデフォルト値である場合、相応のデフォルト値で前記パラメータデータを充填するステップをさらに含んでもよい。
【0085】
図1に示す対話カスタマイズ処理において、さらに、ブロック170をカスタマイズしてもよい。このため、本発明の好適な実施例によれば、ステップS220においては、更新しようとする対話パラメータの値に対して、それぞれデータ衝突を検出し、且つ、データ衝突が検出された場合、更新された対話パラメータの値を消去し、または、更新しようとする対話パラメータの値が正確であるか否かを確認するためのメッセージを送信するステップをさらに含む。
【0086】
その中で、前記データ衝突は、対話パラメータの値域を超えた衝突、対話パラメータ間で発生する従属関係衝突、および対話パラメータ間で発生するパラメータ値比較関係衝突のうちの少なくとも1つの衝突を含んでもよい。
【0087】
本発明の他の好適な実施例によれば、ステップS220においては、更新しようとする対話パラメータの値に対して、それぞれパラメータ値を推定し、且つ、推定された値により前記対話パラメータを更新するステップをさらに含む。
【0088】
前記パラメータ値の推定は、パラメータ値の算術演算、新しいパラメータ値の導入、およびパラメータ値の古い値の消去などを含んでもよい。前記パラメータ値の推定の処理については、既に
図1におけるブロック170の設定およびカスタマイズを参照して具体的に説明した。
【0089】
本発明の他の好適な実施例によれば、ステップS240においては、取得されたパラメータデータに対して、それぞれデータ衝突を検出し、且つ、データ衝突が検出された場合、データ衝突が検出されたパラメータデータを捨てるステップをさらに含んでもよい。同様の理由で、ステップS240においては、取得されたパラメータデータに対して、それぞれパラメータ値を推定し、且つ、推定された値および前記好適な動作データにより前記応答テキストデータを生成するステップをさらに含んでもよい。
【0090】
上記のように、
図1〜
図6を参照しながら、本発明の実施例に係る対話管理システムの複数のモジュールの設定、およびカスタマイズ、並びに本発明の実施例に係る対話処理方法に対する詳細な説明からわかるように、本発明に係る対話処理方法は、対話システムにおいて係る具体的なタスクの対話サービスをカスタマイズすることができ、且つ対話管理システムにより、カスタマイズの対話サービスに対して対話のインタラクティブな処理をすることができ、したがって、新たなタスクの対話サービスが導入された場合、対話サービスを再開発する必要がなく、対話状態パラメータおよび処理ルールを設定する必要があるだけで、前記対話管理システムの拡張性を大幅に向上させ、且つ、開発や配置のコストを節約した。
【0091】
図7は、本発明の例示的な実施例に係る対話管理システムを示す論理図である。
【0092】
図7を参照し、本発明の例示的な実施例に係る対話管理システムは、要求取得装置710と、対話状態更新装置720と、動作生成装置730と、テキスト生成装置740とを備える。
【0093】
要求取得装置710は、タスクに関連付けられたユーザ要求データを取得するために構成される。本発明の例示的な実施例に基づいて、前記ユーザ要求データは、ユーザ要求テキストデータに対して自然言語分析を行って得られた分析結果を含む。
【0094】
対話状態更新装置720は、要求取得装置710で取得されたユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新するために構成される。
【0095】
本発明の例示的な実施例によれば、前記分析結果が、対話の初回インタラクションを表わす場合、対話状態更新装置720は、前記分析結果から前記タスクに関連付けられた予め設定のタスクパラメータを取得し、予め設定た、前記タスクに関連付けられたタスクパラメータと場面事前情報に基いて対話パラメータを生成し、且つ、前記分析結果に基づいて前記対話パラメータを更新するために構成される。
【0096】
本発明の例示的な実施例によれば、対話状態更新装置720は、さらに、複数のスロットにより前記予め設定た、前記タスクに関連付けられたタスクパラメータの状態を示し、且つ、場面事前情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルに示すために構成される。
【0097】
動作生成装置730は、対話状態更新装置720で更新された対話状態に基づいて少なくとも1つの候補動作データを生成するために構成される。
【0098】
具体的に、動作生成装置730は、予め設定された検査条件に基づいて前記対話パラメータに状態検査を行って、且つ、前記状態検査の結果に基づいて前記少なくとも1つの候補動作データを生成するために構成される。
【0099】
前記予め設定された検査条件は、スロットデフォルト値検査条件、パラメータ間のプロパティ依存検査条件、パラメータ間のプロパティトリガ検査条件、パラメータ値確認検査条件、およびパラメータ明確化条件からなる検査条件のうちの少なくとも1つを含む。
【0100】
テキスト生成装置740は、動作生成装置730で生成された少なくとも1つの候補動作データに基づいて応答テキストデータを生成するために構成される。
【0101】
本発明の好適な実施例によれば、前記システムは、動作決定装置(図示せず)をさらに備え、前記動作決定装置は、前記ユーザの対話状態および決定ルールに基づいて、前記少なくとも1つの候補動作データから好適な動作データを選択するために構成され、且つ、テキスト生成装置740は、前記好適な動作データに基づいて応答テキストデータを生成するために構成される。
【0102】
前記決定ルールは、予め設定された動作優先順位、および予め設定された動作決定のモデルの1つであってもよい。
【0103】
その中で、前記動作決定装置は、前記動作決定モデルに基づいて各前記候補動作データに対応した特徴関数値をそれぞれ取得し、前記特徴関数値における最大値に対応した候補動作データを選択して前記好適な動作データとするために構成される。
【0104】
本発明の好適な実施例によれば、テキスト生成装置740は、更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するために構成される。
【0105】
本発明の選択可能な実施例によれば、前記好適な動作データに必要なパラメータデータがデフォルト値である場合、テキスト生成装置740は、相応のデフォルト値で前記パラメータデータを充填する。
【0106】
本発明の好適な実施例によれば、前記システムは、データ衝突検出装置(図示せず)をさらに備える。対話状態更新装置720および/またはテキスト生成装置740は、前記データ衝突検出装置によりデータ衝突を検出することができる。
【0107】
前記データ衝突検出装置は、対話パラメータの値域を超えた衝突、対話パラメータ間で発生する従属関係衝突、および対話パラメータ間で発生するパラメータ値比較関係衝突のうちの少なくとも1つのデータ衝突を検出する。
【0108】
前記データ衝突検出装置は、対話状態更新装置720の更新しようとする対話パラメータに対してデータ衝突を検出する。データ衝突が検出された場合、対話状態更新装置720は、既に更新された対話パラメータの値を消去したり、更新しょうとする対話パラメータの値が正確であるか否かを確認するためのメッセージを送信したりする。
【0109】
前記データ衝突検出装置は、テキスト生成装置740で取得されたパラメータデータに対してそれぞれデータ衝突を検出する。前記データ衝突検出装置がデータ衝突が検出された場合、テキスト生成装置740は、データ衝突が検出されたパラメータデータを捨てる。
【0110】
本発明の他の好適な実施例によれば、前記システムは、データ推定装置(図示せず)をさらに備える。対話状態更新装置720および/またはテキスト生成装置740は、前記データ推定装置によりデータ値を推定することができる。
【0111】
前記データ推定装置は、対話状態更新装置720の更新しようとする対話パラメータの値に対して、それぞれパラメータ値を推定し、対話状態更新装置720は、推定された値により前記対話パラメータを更新する。
【0112】
前記データ推定装置は、テキスト生成装置740で取得されたパラメータデータを、それぞれパラメータ値を推定し、テキスト生成装置740は、推定された値と前記好適な動作データにより前記応答テキストデータを生成する。
【0113】
上記のように、図面を参照しながら、本発明の実施例に係る対話管理システムの複数のモジュールの設定およびカスタマイズ、本発明の実施例に係る対話処理方法、並びに対話管理システムに対する詳細な説明からわかるように、本発明に係る対話処理方法、および対話管理システムは、対話システムにおいて具体的なタスクに係る対話サービスをカスタマイズすることができ、且つ対話管理システムにより、カスタマイズの対話サービスに対して対話のインタラクティブな処理をすることができ、したがって、新たなタスクの対話サービスが導入された場合、対話サービスを再開発する必要がなく、対話状態パラメータおよび処理ルールを設定する必要があるだけで、前記対話管理システムの拡張性を大幅に向上させ、且つ、開発や配置のコストを節約した。
【0114】
図8は、本発明の例示的な実施例に係る対話管理に用いられるコンピュータ機器を示す論理図である。
【0115】
図8を参照し、前記コンピュータ機器は、前記実施例で提供された対話処理方法を実施するために構成されてもよい。具体的には、次の通りである。
【0116】
コンピュータ機器には、入力ユニット810、オーディオ回路820、コンピュータ読み取り可能な記録媒体を1つ以上含むメモリ830、処理コアを1つ以上含むプロセッサ840、表示ユニット850、通信ユニット860、および電源870などの部品を備えてもよい。図面に示すコンピュータ機器の構成は、コンピュータ機器を限定するものではなく、当該コンピュータ機器は、図示した部品よりも多いまたは少ない部品を備えてもよく、あるいは、いくつかの部品とを組み合わせてもよく、または異なる部品配置にしてもよいことを、当業者は理解すべきである。
【0117】
入力ユニット810は、デジタルまたはキャラクター情報の入力を受信し、且つ、ユーザ設定および機能制御に関連するキーボード、マウス、ジョイスティック、光学ボールやトラックボールによる信号入力を発生させるために構成されてもよい。好ましくは、入力ユニット810は、タッチセンシティブ表面811、および他の入力装置812を備えてもよい。タッチセンシティブ表面811は、タッチパネルやタッチパッドとも呼ばれ、ユーザがその表面上や付近のタッチ操作(例えば、ユーザが指やタッチペンなどの任意の適した物や付属品を使用して、タッチセンシティブ表面811上やタッチセンシティブ表面811付近に対して行う操作)を収集し、且つ予め設定されたプログラムにしたがって、関連の接続装置を駆動することができる。必要に応じて、タッチセンシティブ表面811は、タッチ検出装置と、タッチ制御器との2つの部分を備えてもよい。ここで、タッチ検出装置は、ユーザのタッチ方位を検出するとともに、タッチ操作による信号を検出し、信号をタッチ制御器に送信する。タッチ制御器は、タッチ検出装置からタッチ情報を受信し、当該情報を接触点座標に変換し、さらに、プロセッサ840に送信するとともに、プロセッサ840からの命令を受信して実行する。入力ユニット810は、タッチセンシティブ表面811に加えて、他の入力装置812をさらに備えてもよい。好ましくは、その他の入力装置812には、物理キーボード、ファンクションキー(例えば、ボリュームボタン、スイッチボタンなど)、トラックボール、マウス、ジョイスティックなどのうちの1種以上を備えてもよいが、これらに限らない。
【0118】
オーディオ回路820、スピーカ821、およびマイク822は、ユーザと、コンピュータ機器との間のオーディオインターフェースを提供することができる。オーディオ回路820は、受信されたオーディオデータから変換された電気信号をスピーカ821に転送し、スピーカ821により音声信号に変換して出力する。一方、マイク822は、収集した音声信号を電気信号に変換し、オーディオ回路820が当該電気信号を受信した後でオーディオデータに変換し、オーディオデータをプロセッサ840に転送して処理してから、通信ユニット860を介して例えば他のコンピュータ機器に転送したり、オーディオデータをさらに処理するようにメモリ830に送信したりする。オーディオ回路820は、外部のイヤホンとコンピュータ機器との通信を提供するように、イヤホン挿入口を備えてもよい。
【0119】
メモリ830は、ソフトウェアプログラムおよびデータを記憶するために構成されてもよく、プロセッサ840は、メモリ830に記憶されたソフトウェアプログラムおよびデータを実行することで、各種の機能のアプリケーションおよびデータ処理を実施する。メモリ830には、主に、プログラム記憶領域とデータ記憶領域とを含有してもよい。その中で、プログラム記憶領域には、OS、少なくとも1つの機能を実行するためのアプリケーション(例えば、音声再生機能、画像再生機能など)などが記憶されてもよい。データ記憶領域には、コンピュータ機器の使用で作成されたデータ(例えば、オーディオ・データ、電話帳など)などが記憶されてもよい。また、メモリ830は、高速RAMを備えてもよく、さらに、例えば少なくとも1つの磁気ディスクメモリ、フラッシュメモリなどの不揮発性メモリ、または他の揮発性のSSDメモリを備えてもよい。相応に、メモリ830は、プロセッサ840および入力ユニット810がメモリ830にアクセスできるように、メモリ制御器をさらに備えてもよい。
【0120】
プロセッサ840は、コンピュータ機器の制御センターであり、各種のインタフェースおよび回路を介してコンピュータ機器全体の各部と接続され、メモリ830内に記憶されたソフトウェアプログラムおよび/またはモジュールを実行または作動させるとともに、メモリ830内に記憶されたデータを呼び出すことによって、コンピュータ機器の各種機能の実行およびデータの処理を実現することで、コンピュータ機器全体をコントロールする。
【0121】
表示ユニット850は、ユーザが入力した情報やユーザに提供する情報、およびコンピュータ機器の各種のグラフィカル・ユーザ・インターフェースを表示するためのものであり、これらのグラフィカル・ユーザ・インターフェースは、図形、テキスト、アイコン、ビデオ、およびそれらの任意の組合せで構成されてもよい。表示ユニット850は、表示パネルを備えてもよい。必要に応じて、表示パネルは、LCD(Liquid Crystal Display:液晶ディスプレイ)、OLED(Organic Light−Emitting Diode:有機発光ダイオード)等の形態で構成されてもよい。図に示すように、入力ユニット810と表示ユニット850とが2つの独立した部品として入力および出力の機能を実現するように構成されているが、いくつかの実施例において、入力ユニット810と表示ユニット850とを集積して入力および出力の機能を実現するように構成されてもよい。
【0122】
通信ユニット860は、情報の送受信または通話の過程において信号の受信・送信をするために構成されている。当該通信ユニット860は、RF(Radio Frequency:無線周波数)回路、ルータ、モデムなどのネットワーク通信機器であってもよい。また、通信ユニット860は、さらに、無線通信により、ネットワーク、および他の機器と通信してもよい。無線通信として、GSM(Global System of Mobile communication)、GPRS(General Packet Radio Service)、CDMA(Code Division Multiple Access、符号分割多重接続)、WCDMA(Wideband Code Division Multiple Access)、LTE(Long Term Evolution)、電子メール、SMS(Short Messaging Service)などを含む任意の通信規格またはプロトコルを利用してもよいが、これらに限らない。
【0123】
コンピュータ機器は、さらに、各部に電力を供給する電源870(例えば、バッテリー)を備え、好ましくは、電源は、電源管理システムを介してプロセッサ840にロジック的に接続されることにより、電源管理システムを介して充電・放電管理、および消費電力管理などの機能を実現することができる。電源870は、さらに、1つ以上の直流または交流電源、再充電システム、電源故障検出回路、電源コンバータまたはインバータ、電源状態インジケータ等の任意のアセンブリを含んでもよい。
【0124】
コンピュータ機器は、図示されていないが、カメラ、ブルートゥースモジュール、センサ(例えば、光センサ、運動センサ、およびその他のセンサなど)、オーディオ回路、および無線通信ユニットなどをさらに含んでもよいが、ここで具体的な説明は省略する。
【0125】
本実施例において、コンピュータ機器は、1つ以上のプロセッサ840、メモリ830、および1つ以上のプログラムを備え、1つ以上のプログラムは、メモリ830に記憶され、且つ1つ以上のプロセッサ840により、1つ以上のプログラムに含まれた対話処理方法を実行するための命令が実行されるように構成され、前記命令は、タスクに関連付けられたユーザ要求データを取得し、前記ユーザ要求データと、予め設定た、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新し、前記対話状態に基づいて少なくとも1つの候補動作データを生成し、前記少なくとも1つの候補動作データに基づいて応答テキストデータを生成する命令である。
【0126】
また、前記ユーザ要求データは、ユーザ要求テキストデータに対して自然言語分析を行って得られた分析結果を含む。
【0127】
さらに、前記の前記ユーザ要求データと、予め設定された、前記タスクに関連付けられたタスクパラメータに基づいて、ユーザの対話状態を更新するステップにおいては、前記分析結果が、対話の初回インタラクションを表わす場合、前記分析結果に基づいて、前記タスクに関連付けられた予め設定のタスクパラメータを取得し、前記予め設定た、前記タスクに関連付けられたタスクパラメータ、および場面事前情報に基いて対話パラメータを生成し、前記分析結果に基づいて前記対話パラメータを更新するステップを含む。
【0128】
また、複数のスロットにより前記タスクに関連付けられた前記タスクパラメータの状態を示し、事前場面情報に基づいて生成された対話パラメータを、それぞれ特徴ベクトルに示す。
【0129】
さらに、前記の前記対話状態に基づいて少なくとも1つの候補動作データを生成するステップにおいては、予め設定された検査条件に基づいて前記対話パラメータに状態検査を行って、前記状態検査の結果に基づいて前記少なくとも1つの候補動作データを生成するステップを含む。
【0130】
また、前記予め設定された検査条件は、スロットデフォルト値検査条件、パラメータ間のプロパティ依存検査条件、パラメータ間のプロパティトリガ検査条件、パラメータ値確認検査条件、およびパラメータ明確化条件を含む。
【0131】
さらに、メモリ830において、下記処理の命令を実行することを含む。前記命令は、前記ユーザの対話状態および決定のルールに基づいて、前記少なくとも1つの候補動作データから好適な動作データを選択し、且つ、前記少なくとも1つの候補動作データに基づいて応答テキストデータを生成するステップにおいては、前記好適な候補動作データに基づいて応答テキストデータを生成するステップを含む。
【0132】
また、前記決定ルールは、予め設定された動作優先順位、および予め設定された動作決定のモデルの1つであり、その中で、前記の前記少なくとも1つの候補動作データから好適な動作データを選択するステップにおいては、前記動作決定モデルに基づいて各前記候補動作データに対応した特徴関数値をそれぞれ取得し、前記特徴関数値における最大値に対応した候補動作データを選択して前記好適な動作データとするステップを含む。
【0133】
また、前記好適な候補動作データに基づいて応答テキストデータを生成するステップにおいては、更新された対話パラメータおよび前記好適な動作データに基づいて、データソースから、応答に必要なパラメータデータを取得し、且つ、取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップを含む。
【0134】
また、前記の前記好適な候補動作データに基づいて応答テキストデータを生成するステップにおいては、前記好適な動作データに必要なパラメータデータがデフォルト値をである場合、相応のデフォルト値で前記パラメータデータを充填するステップをさらに含む。
【0135】
また、前記分析結果に基づいて前記対話パラメータを更新するステップにおいては、更新しようとする対話パラメータの値に対して、それぞれデータ衝突を検出し、データ衝突が検出された場合、更新された対話パラメータの値を消去し、または、更新しようとする対話パラメータの値が正確であるか否かを確認するためのメッセージを送信するステップをさらに含む。
【0136】
また、前記データ衝突は、対話パラメータの値域を超えた衝突、対話パラメータ間の発生する従属関係衝突、および対話パラメータ間の発生するパラメータ値比較関係衝突のうちの少なくとも1つの衝突を含む。
【0137】
また、前記分析結果に基づいて前記対話パラメータを更新するステップにおいては、更新しようとする対話パラメータの値に対して、それぞれパラメータ値を推定し、且つ、推定された値により前記対話パラメータを更新するステップをさらに含む。
【0138】
また、前記取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップにおいては、取得されたパラメータデータに対して、それぞれデータ衝突を検出し、データ衝突が検出された場合、データ衝突が検出されたパラメータデータを捨てるステップをさらに含む。
【0139】
また、前記取得されたパラメータデータおよび前記好適な動作データに基づいて前記応答テキストデータを生成するステップにおいては、取得されたパラメータデータに対して、それぞれパラメータ値を推定し、且つ、推定された値および前記好適な動作データにより前記応答テキストデータを生成するステップをさらに含む。
【0140】
上記のように、図面を参照しながら、本発明の実施例に係るコンピュータ機器の設定およびカスタマイズ、本発明の実施例に係る対話処理方法、対話管理システム、およびコンピュータ機器に対する詳細な説明からわかるように、本発明に係る対話処理方法、対話管理システム、およびコンピュータ機器は、対話システムにおいて具体的なタスク係る対話サービスをカスタマイズすることができ、且つ対話管理システムにより、カスタマイズの対話サービスに対して対話のインタラクティブな処理をすることができ、したがって、新たなタスクの対話サービスが導入された場合、対話サービスを再開発する必要がなく、対話状態パラメータおよび処理ルールを設定する必要があるだけで、前記対話管理システムの拡張性を大幅に向上させ、且つ、開発や配置のコストを節約した。
【0141】
実施の必要に応じて、本発明に記載の各ステップを、より多くのステップに分割してもよく、2つ以上のステップまたはステップの一部の操作を新規なステップに組み合わせて本発明の目的を実現してもよいと、留意すべきである。
【0142】
前記本発明に係る方法は、ハードウェア、ファームウェアにおいて実現されることができ、あるいは、記録媒体(例えば、CD ROM、RAM、フロッピーディスク、ハードディスク、または光磁気ディスク)に記憶されることができるソフトウェア、もしくはコンピュータコードとして実現され、あるいは、元にリモート記録媒体や非一時的機械可読媒体に記憶され、ネットワークによりダウンロードされた、且つローカル記録媒体に記憶されるコンピュータコードとして実現され、したがって、ここで記載の方法は、汎用コンピュータ、専用プロセッサまたはプログラム可能なもしくは専用なハードウェア(例えば、ASICまたはFPGA)が用いられる記録媒体に記憶されたソフトウェアにより処理されることができる。コンピュータ、プロセッサ、マイクロプロセッサ制御器、またはプログラム可能なハードウェアは、ソフトウェアまたはコンピュータコードを記憶もしくは受信可能な記憶アセンブリ(例えば、RAM、ROM、フラッシュメモリなど)を含んでおり、前記ソフトウェア、またはコンピュータコードは、コンピュータ、プロセッサ、またはハードウェアでアクセスされて実行される場合、ここで記載の処理方法を実現する。また、汎用コンピュータが、ここで示された処理を実現するためのコードをアクセスした場合、コードの実行は、汎用コンピュータを、ここで示された処理を実行するための専用コンピュータに変換させる。
【0143】
以上で説明したのは、本発明の具体的な実施形態だけであり、本発明の保護範囲は、これらに限定されるものではない。いかなる当業者が本発明に開示された技術範囲内に容易に想到できる変更または置換の全ては、本発明の保護範囲内に入るべきである。従って、本発明の保護範囲は、添付される特許請求の範囲を基準としているものである。