(57)【要約】本発明は、処理システム（１０）と利用者（５）との間の対話を処理する方法を提供する。本方法は、フレーム表現（１００）からＳＱＬ問い合わせ（２００）を自動的に生成する工程と、この問い合わせを関連するドメイン知識を含むリレーショナルデータベース（３００）に提示する工程と、フレーム表現（１００）を更新してこの問い合わせの結果を反映する工程とによって、可能な素性値を推定して問題に対処する。本方法は、本方法を利用するドメインの特定知識に依存しないので、データベースからデータを抽出して可能な素性値を推測することにより利点を得られる、任意の特定の用途について容易に実行され得る。
2004530973.tif 000002
【特許請求の範囲】
【請求項１】
フレーム表現からＳＱＬ問い合わせを生成する方法であって、
（ａ）入力信号を受信する工程と、
（ｂ）型付素性構造を備えた主オブジェクトのフレーム表現を提供する工程と、前記型付素性構造は、第一空白素性の第一空白素性値と、第一複合素性の第一複合素性値と、第一非空白素性の第一非空白素性値とを含む素性値を有する型付素性を備え、前記第一複合素性値は、第一埋め込みオブジェクトによって定義され、前記第一非空白素性値は、入力信号によって提供されることと、
（ｃ）前記フレーム表現の型付素性構造と同一構造の構造を有するリレーショナルデータベースを提供する工程と、該リレーショナルデータベースは、前記フレーム表現の第一非空白値に対応するフィールド値を有するレコードと、前記フレーム表現の第一空白値の値に対応するフィールド値を有するレコードとを備えることと、
（ｄ）前記リレーショナルデータベースと前記フレーム表現との構造的関係に基づいて、前記第一非空白素性値から前記第一空白素性値を決定するためにＳＱＬ問い合わせを生成する工程とからなる方法。
【請求項２】
請求項１に記載の方法であって、前記方法はドメイン携帯性（domain−portable）を有する方法。
【請求項３】
請求項１に記載の方法であって、前記リレーショナルデータベースの構造は、オブジェクトに対応する表と、素性に対応するフィールドとを備える方法。
【請求項４】
請求項３に記載の方法であって、前記ＳＱＬ問い合わせは、オブジェクトをＦＲＯＭ文のデータベース表にマップし、かつ空白の原子素性をＳＥＬＥＣＴ文のデータベースフィールドにマップし、かつ非空白の原子素性を、複合素性と、複合素性の埋め込みオブジェクトを表現する表の一意の識別子フィールドとの結合制限を含むＷＨＥＲＥ文のデータベース表の値にマップする方法。
【請求項５】
請求項４に記載の方法であって、前記主オブジェクトおよび前記第一埋め込みオブジェクトはＦＲＯＭ文のデータベース表にマップされ、第一空白素性はＳＥＬＥＣＴ文のデータベースフィールドにマップされ、第一非空白素性はＷＨＥＲＥ文の値のデータベース表にマップされ、前記ＷＨＥＲＥ文は、第一複合素性と、第一埋め込みオブジェクトを表現する一意の識別子フィールドとの結合制限を含む方法。
【請求項６】
請求項５に記載の方法であって、前記フレーム表現はさらに、第二埋め込みオブジェクトにより定義された第二複合素性を備え、ＷＨＥＲＥ文はさらに、第二複合素性と、前記第二埋め込みオブジェクトを表現する一意の識別子フィールドとの結合制限を含む方法。
【請求項７】
請求項６に記載の方法であって、前記第二複合素性は、前記第一埋め込みオブジェクトの素性である方法。
【請求項８】
フレーム表現の複数のオブジェクトに対応する複数の表と、フレーム表現の素性に対応するフィールドと、フレーム表現の素性値に対応するフィールド値とを備えるリレーショナルデータベース。
【請求項９】
請求項８に記載のリレーショナルデータベースであって、第一の表は、フレーム表現の非空白値に対応するフィールド値を有するレコードを備え、第二の表は、フレーム表現の空白値に対応するフィールド値を有するレコードを備えるリレーショナルデータベース。
【請求項１０】
請求項９に記載のリレーショナルデータベースであって、前記第二の表は、前記第一の表のフィールド値に対応する値を有する一意の識別子フィールドによって第一埋め込みオブジェクトを表現し、前記第一の表は、前記第一埋め込みオブジェクトの素性値によって定義された素性値を有する複合素性を表現するリレーショナルデータベース。
【請求項１１】
請求項１０に記載のリレーショナルデータベースであって、第三オブジェクトを表現する第三の表をさらに備え、ここで前記第一の表は、第三の表のフィールド値によって提供された一意の識別子フィールドによって第二埋め込みオブジェクトを表現し、前記第三の表は、前記第二埋め込みオブジェクトの値によって定義された値を有する複合素性を表現するリレーショナルデータベース。
【請求項１２】
請求項１１に記載のリレーショナルデータベースであって、第四オブジェクトを表現する第四の表をさらに備え、ここで前記第三の表は、第四の表のフィールド値によって提供された一意の識別子フィールドによって第三埋め込みオブジェクトを表現し、前記第四の表は、前記第三埋め込みオブジェクトの値によって定義された値を有する複合素性を表現するリレーショナルデータベース。
【請求項１３】
利用者対話を処理するためのシステムであって、
（ａ）型付素性構造による一連のオブジェクトのフレーム表現と、前記型付素性構造は、一つ以上の空白素性値と、一つ以上の非空白素性値と、一つ以上の複合素性値とを含む素性値を有する型付素性を備えることと、対応する複合素性値の値を提供する埋め込みオブジェクトのフレーム表現と、前記一つ以上の非空白素性値の少なくとも一つは入力信号によって提供されることと、
（ｂ）前記一連のオブジェクトによって操作可能であり、かつ前記フレーム表現の型付素性構造と同一構造である構造を提供する、リレーショナルデータベースとを備えるシステム。
【請求項１４】
請求項１３に記載の利用者対話を処理するためのシステムであって、前記リレーショナルデータベースは、前記フレーム表現の一連のオブジェクトに対応する表と、前記フレーム表現の素性に対応するフィールドと、前記フレーム表現の素性値に対応するフィールド値とを備え、前記リレーショナルデータベースはさらに、前記一つ以上の空白素性値の各々を提供する一つ以上のレコードと、前記一つ以上の非空白素性値の各々を提供する一つ以上のレコードとを備え、一つ以上の埋め込みオブジェクトを表現する一つ以上の表は、対応する複合素性値を表現する表のフィールド値に対応する値を有する、一意の識別子フィールドを備えるシステム。
【請求項１５】
処理システムと利用者との間の対話を処理するための方法であって、
（ａ）利用者からの入力信号を受信する工程と、
（ｂ）主オブジェクトのフレーム表現を型付素性構造によって提供する工程と、該型付素性構造は、第一空白素性の第一空白素性値と、第一複合素性の第一複合素性値と、第一非空白素性の第一非空白素性値とを含む素性値を有し、前記第一複合素性値は第一埋め込みオブジェクトによって定義され、前記第一非空白素性値は入力信号によって提供されることと、
（ｃ）前記フレーム表現の型付素性構造と同一構造の構造を有するリレーショナルデータベースを提供する工程と、該リレーショナルデータベースは第一空白素性値と第一非空白素性値とを備えることと、
（ｄ）リレーショナルデータベースと前記フレーム表現との構造的関係に基づいて、第一非空白素性値から第一空白素性値を決定するためにＳＱＬ問い合わせを生成する工程と、
（ｅ）ＳＱＬ問い合わせを実行して、ＳＱＬ問い合わせの結果を生成する工程と、
（ｆ）前記ＳＱＬ問い合わせの結果を、利用者に送信する工程とからなる方法。
【請求項１６】
請求項１５に記載の方法であって、前記リレーショナルデータベース構造は、オブジェクトに対応する表と、素性に対応するフィールドとを備える方法。
【請求項１７】
請求項１６に記載の方法であって、前記ＳＱＬ問い合わせは、オブジェクトをＦＲＯＭ文のデータベース表にマップし、かつ空白の原子素性をＳＥＬＥＣＴ文のデータベースフィールドにマップし、かつ非空白の原子素性を、複合素性と、埋め込みオブジェクトの複合素性を表現する表の一意の識別子フィールドとの結合制限を含むＷＨＥＲＥ文のデータベース表の値にマップする方法。
【請求項１８】
請求項１７に記載の方法であって、前記主オブジェクトおよび前記第一埋め込みオブジェクトは、ＦＲＯＭ文のデータベース表にマップされ、第一空白素性はＳＥＬＥＣＴ文のデータベースフィールドにマップされ、第一非空白素性はＷＨＥＲＥ文のデータベース表の値にマップされ、前記ＷＨＥＲＥ文は、第一複合素性と、第一埋め込みオブジェクトを表現する一意の識別子フィールドとの結合制限を含む方法。
【請求項１９】
請求項１８に記載の方法であって、前記フレーム表現はさらに、第二埋め込みオブジェクトによって定義された第二の複合素性を備え、前記ＷＨＥＲＥ文はさらに、第二複合素性と、前記第二の埋め込みオブジェクトを表現する一意の識別子フィールドとの結合制限を含む方法。
【請求項２０】
請求項１９に記載の方法であって、前記第二複合素性は、前記第一埋め込みオブジェクトの素性である方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に対話処理システムに関し、より詳細には、ダイアログ処理システムのフレーム表現、ＳＱＬ問い合わせ、およびそれらに関連するデータベースに関する。
【背景技術】
【０００２】
一般に、自然言語による対話は、コンピュータシステムのインターフェースとして、特にインターネットのインターフェースとして益々重要な役割を担うであろう。自然対話システムに大きく依存するであろうコンピュータシステムには、自動化コールハンドラー、チケットマシン、現金自動預け払い機（ＡＴＭ）、予約システム、および特にインタラクティブなオンラインインターネットサービスがある。事実上、対話としての特徴を有し得る人対コンピュータのやり取りに関係する任意の他のシステムにおいて、自然言語による対話は益々重要な役割を担うであろう。しかしながら、この技術の幅広い採用における障壁の一つは、ドメイン携帯性（domain−portable）を有する対話システムが存在しないことである。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
自然言語による対話システムでは、ドメイン知識をフレームの形で表現することが一般的であり、ここでフレームは、ドメインのオブジェクトを表現する一組の素性−値の対を備える。フレームは、素性値の対である単純なリストであるために、素性値の相互依存に関する情報を全く含まない。（一つ以上の素性値を特定することによって可能性のある他の素性値の範囲が制限されるため、素性値は相互依存性を有する）。フレーム表現のもとで、対話システムは、他の素性値に基づいて可能な素性値を推測できることが望ましい。しかしながら、ドメインに関して特定的でない素性値を推測することが可能である技術を開発することは困難であった。
【０００４】
現存する自然言語による対話システムがドメイン推定を実行する範囲において、自然言語による対話システムは、各アプリケーションドメインに対する一連の規則および手順を手動により形成する(hand-crafting) 、ドメイン特定的なヒューリスティックを一般に利用している。簡単に言えば、ドメイン知識を使用して、同一フレーム内の他の素性値に基づいてフレーム表現のある素性の値を特定する、コンピュータ的に効率のよいドメイン携帯性を有する機構をどのように構成するかが問題となっている。
ドメイン特定のヒューリスティックに概ね依存する対話処理システムにおける従来の試みと比較すると、本方法は自動化されており、かつドメインに依存せず、フレーム表現およびそれに関連したレーショナルデータベース(rational database) の構造のみに依存している。本発明の方法はまた、標準的であり幅広く入手可能なリレーショナルデータベース技術に依存した単純かつ効率的なものである。
【課題を解決するための手段】
【０００５】
説明する実施態様は、可能なフィーチャ値の推測に関する問題に対処する、処理システムと利用者との間の対話を処理するための方法を提供する。説明するように、本システムは、フレーム表現から自動的にＳＱＬ問い合わせを生成して、この問い合わせを関連するドメイン知識を含むリレーショナルデータベースに送り込み、フレーム表現を更新して問い合わせの結果を反映する。この方法は、この方法を利用するドメインの特定の情報に依存しないので、データベースからデータを抽出して可能な素性値を推測することにより利点を得る、任意の特定のアプリケーションにて容易に実行することが可能である。
【０００６】
以下に更に述べるように、本システムは、利用者から入力信号を受信して、同入力信号に関係する主オブジェクトのフレーム表現を提供する。主オブジェクトは型付素性構造を有し、該型付素性構造は、第一空白素性の第一空白素性値と、第一複合素性の第一複合素性値と、第一非空白素性の第一非空白素性値とを含む素性値を有する。第一複合素性値は、第一埋め込みオブジェクトによって定義される。第一非空白素性値は、入力信号によって提供される。
【０００７】
本システムは、フレーム表現に加えて、フレーム表現の型付素性構造と同一構造の構造を有するリレーショナルデータベースを提供する。即ち、表、フィールド、およびフィールド値等のデータベース要素は、各々、オブジェクト、素性、および素性値等のフレーム表現の要素に対応する。リレーショナルデータベースは、フレーム表現の第一非空白値に対応するフィールド値を有するレコードと、フレーム表現の第一空白値の値に対応するフィールド値を有するレコードとを含む。
【０００８】
本システムは、その後、リレーショナルデータベースとフレーム表現との構造的関係に基づいて、第一非空白素性から第一空白素性値を決定するためにＳＱＬ問い合わせを生成する。
【０００９】
次に、本システムはＳＱＬ問い合わせを実行して、ＳＱＬ問い合わせの結果を処理システムに送る。
【００１０】
典型的な一連の対話に関して以下に解説するように、開示される技術は、多種多用な他のシステム、および多数の代替的用途における使用に適している。例えば、会話による対話を使用して利用者と対話を行うシステムが図示されているが、本発明は、例えばシステムの質問に対する回答を利用者がキ−ボードでタイプする等、会話によらない対話における使用にも適している。本願で使用されるように、用語「対話」は、２人以上の参加者が関係する通常の会話のようなやり取りを意味する。「エージェント」は、一般に特定の対話における参加者を意味する。用語「イニシアチブ」は、一般にエージェントが、対話中に担い得る特定の役割の種類を意味する。
【発明を実施するための最良の形態】
【００１１】
（ａ）利用者からの入力信号の受信
図１は、本発明の対話を処理するための方法を実行し得る、典型的な対話処理システム１０を示す。例えば、人である利用者５から、例えば携帯電話または携帯情報端末（ＰＤＡ）などの入力デバイス２０へ、音声またはテキストを入力する。音声またはテキストは、入力情報を有する入力信号へ変換される。入力デバイス２０に音声が入力される場合は、入力デバイス２０に関連する音声認識装置が、音声信号をコンピュータ認識可能な入力信号に変換する。入力信号は、対話管理プログラム４０を含むソフトウエア・アプリケーション３０を備えた処理システム１０に受信され、対話管理プログラム４０は、例えばテキストブラウザ（例、モトローラ社製、ＷＡＰブラウザ）または音声ブラウザ（例、モトローラ社製、ＸＭＬブラウザ）等の遠隔インターネットアクセス装置に使用するためにカスタマイズされたブラウザ等を含み得る。特定の実施態様において、対話管理プログラム４０は、対話管理プログラム４０からの出力を利用して他の機能を実行する他のソフトウエア・アプリケーションから独立したコンピュータプログラムである。
【００１２】
対話管理プログラム４０は、サーバとして構成されたコンピュータのメモリ内に格納されて、コンピュータソフトウエアプログラムの形式で実行され得る。下記により詳細に説明するように、対話管理プログラムはフレーム表現（以後、「フレーム」と称する）を含み、本発明に従って、適切な入力信号に応答してフレームからＳＱＬ問い合わせ２００を生成する方法を提供する。ＳＱＬ問い合わせは、リレーショナルデータベース３００を探索して問い合わせ結果を生成し、この問い合わせ結果は、対話管理プログラムのフレームを更新するために使用される。対話管理プログラムは、好ましくは例えば音声合成装置により提供される、音声による言語としての信号を、出力デバイス２２を経由して利用者に返送する。前記出力デバイスは入力デバイス２０に接続されているか、または入力デバイス２０の一部であり得る。
【００１３】
処理システム１０および入出力デバイス２０／２２の様々な要素は、人と機械との間のやり取りが相互対話形式にて実行される、任意のシステムのハードウエアおよび／またはソフトウエア要素を表現し得る。このような要素には、例えばパーソナルコンピュータ、本体コンピュータ、マイクロコンピュータ、作業端末、サーバ、ＡＴＭ、または最も好ましくはインターネットを介して少なくとも一つのサーバに接続された携帯電話または携帯情報端末（ＰＤＡ）等の携帯用電子装置等がある。システム１０は音声信号を処理するよう形成されているが、上述したように本発明の代替的な実施態様は、キーボードおよびディスプレイモニタ等の他の種類の入出力装置を使用して、システム利用者との音声を使用しない対話を実行することも可能である。例えば、利用者がキーボードを介して、対話の利用者部分をシステムに入力し、システムからの応答を、それに対応する対話の利用者部分と伴にまたは伴わずに、ディスプレイモニタ上に表示することも可能である。
【００１４】
本発明の方法を実行する対話管理プログラムのソフトウエアは、ＮｏｘＭＬ（商標）言語（モトローラ社製、［米国イリノイ州ショーンバーグ］）のようなマークアップ言語を使用して書かれ得るが、ＮｏｘＭＬ言語に限定されない。一般に、本発明によれば、プログラム言語は、関連するリレーショナルデータベースのためのＳＱＬ問い合わせを生成し得るフレームを構成するための要素を含む。
（ｂ）フレーム表現の提供
図２および図３に具体化されているように、ここで説明する実施態様の方法は、入力信号のフレーム表現１００を提供する工程を含む。フレームは型付素性構造として形式化されて、本願において時々、主オブジェクトと称するドメインオブジェクト１１０の記述を表現する。型付素性構造は、型付オブジェクトから構成され、この型付オブジェクトは、値１４０を有するラベル付の素性１２０のセットを所有する。素性型１３０は、原子および複合の２種に分類される。原子型素性は、それ自体の素性を有さないものとして定義され、Ｓｔｒｉｎｇ、Ｉｎｔｅｇｅｒ、またはＢｏｏｌｅａｎ等の型を備える。複合素性は、それ自体の素性のセットを有するものとして定義される。即ち、複合素性は、埋め込みオブジェクト１５０によって提供された値を有するものとして定義される。複合型はドメインオブジェクトをモデルにしており、かつドメインモデルの設計者により定義されている。フレーム表現を再帰的に特定することにより、ネスティングタイプが生じる。原則的に、フレーム表現に含まれ得る型と属性の数には制限がない。
【００１５】
例えば、図３は「Ｃｉｔｙ」型１１２のオブジェクト１１０のフレーム表現を示す。図３におけるｃｉｔｙオブジェクトは、ラベル付きの、「ｎａｍｅ」１２２および「ｓｔａｔｅ＿ｌｏｃ」１２４の二つの素性のみを有する。「ｎａｍｅ」１２２の素性は、その値としてＳｔｒｉｎｇ型１３２のオブジェクトを取る。「ｓｔａｔｅ＿ｌｏｃ」１２４の素性は、その値としてＳｔａｔｅ型１３４のオブジェクトを取る。図３において、「ｓｔａｔｅ＿ｌｏｃ」素性は、それ自体の素性のセットを有するため複合型である。換言すれば、「ｓｔａｔｅ＿ｌｏｃ」素性の値は、ｓｔａｔｅ型の埋め込みオブジェクト１５０により定義される。
【００１６】
図３に具体化されているように、ｃｉｔｙ．ｎａｍｅ素性の原子素性値「Ｃｈｉｃａｇｏ」は、上述した入力信号を介して利用者により提供されて、対話管理プログラムによってフレーム１００内のｃｉｔｙ．ｎａｍｅの位置に入力される。従って、ｃｉｔｙ．ｎａｍｅは、非空白のｃｉｔｙ．ｎａｍｅ素性の非空白素性値である。ｓｔａｔｅ．ｎａｍｅの原子素性の素性値は利用者により入力されていず、フレーム内で空白のｓｔａｔｅ．ｎａｍｅ素性の空白素性値である。
【００１７】
フレーム表現のフォーマットは汎用性が十分であるために、フレーム表現が同一の表現フォーマットに一致する限り、任意の複合フレーム表現を取り込む。図５に、ａｉｒｐｏｒｔドメインオブジェクトを表現する「Ａｉｒｐｏｒｔ」フレーム構造を示す。このフレームは内部に、図３に示すものと同一のＣｉｔｙオブジェクトを含む。このＣｉｔｙオブジェクトは、Ａｉｒｐｏｒｔ．ｓｅｒｖｅｓ＿ｃｉｔｙ素性値の型の値として埋め込まれている。従って、Ａｉｒｐｏｒｔ．ｓｅｒｖｅｓ＿ｃｉｔｙ素性は、複合素性である。
（ｃ）リレーショナルデータベースの提供
リレーショナルデータベース３００は、フレーム表現１００の型付素性構造と同一構造の構造を有する。例えば、図２に示すように、リレーショナルデータベースの構造は、オブジェクトの型に対応する表３１０と、素性のラベルに対応するフィールド３２０と、素性値に対応するフィールド値３３０とを備える。埋め込まれたオブジェクトを表現するリレーショナルデータベース表は、対応する複合素性値を表現する表のフィールドと相互参照した値を有する、一意の識別子フィールドを備える。一般的には、埋め込みオブジェクトを表現する表のレコードと、その値が埋め込みオブジェクトによって提供される複合素性によってオブジェクトを表現する表との間には、１対多数の関係が存在する。
【００１８】
本発明のリレーショナルデータベースは、一般に、フレーム表現の非空白値および空白値に対応するフィールド値を有する、一つ以上のレコードを備える。リレーショナルデータベースの一つ以上のレコードに関連するフィールド値は、一般にシステムのセットアップ、サポートおよび管理中に入力および更新される。上述したように、利用者は一般に、入力信号を介してフレーム表現の一つ以上の非空白値を提供し、この入力信号は入力装置によって生成される。リレーショナルデータベースは、一般にフレーム表現の非空白値に対応するフィールド値を有するレコードを含む第一の表と、フレーム表現の空白値に対応するフィールド値を有するレコードを含む第二の表とを備える。特定の好ましい実施態様において、第二の表は、第一の表のフィールド値に対応する値を有する一意の識別子フィールドによって第一埋め込みオブジェクトを表現し、この第一の表は、第一埋め込みオブジェクトの素性値によって定義された素性値を有する複合素性を表現する。リレーショナルデータベースは、埋め込みオブジェクトを表現するリレーショナルデータベース表が、リレーショナルデータベース内の別の対応する複合素性を表現するフィールドと相互参照される値を有する、一意の識別子フィールドを備える限り、追加の埋め込みオブジェクトを表現する無限数の追加の表を備え得る。
【００１９】
実質的に、リレーショナルデータベース３００がＳＱＬ問い合わせまたは同様に構成された問い合わせを受容する限り、任意のリレーショナルデータベース３００が本発明と共に使用され得る。本発明と共に使用され得るリレーショナルデータベースの、限定を目的としない例としては、Ｍｉｃｒｏｓｏｆｔ  Ａｃｃｅｓｓ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ（登録商標）、およびＯｒａｃｌｅ（登録商標）がある。データベースは、ローカルデータベースであってもオンラインデータベースであってもよい。一実施態様において、データベースは、オープンデータベース接続性（Ｏｐｅｎ  Ｄａｔａｂａｓｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ（ＯＤＢＣ））を使用して、Ｗｉｎｄｏｗｓ（登録商標）ＯＤＢＣデータ源アドミニストレータを用いてデータベースをデータ源であると宣言することによってアクセスされる。対話管理プログラム（Ｄｉａｌｏｇ  Ｍａｎａｇｅｒ）４０は、インターネットに基づいたアプリケーション３０の一部である。特定の実施態様において、データベースは、Ｊａｖａ（登録商標）データベース接続性（Ｄａｔａｂａｓｅ  Ｃｏｎｎｅｃｔｉｖｉｔｙ）（ＪＤＢＣ）を使用してアクセスされる。
（ｄ）ＳＱＬ問い合わせの生成
ＳＱＬ問い合わせは、非空白素性値から空白素性値を決定するために生成される。例えば、ＳＱＬ問い合わせは、第一オブジェクトの非空白素性値を使用して、第一オブジェクトの空白素性値を決定するために構成され得る。ＳＱＬ問い合わせは、リレーショナルデータベースとフレーム表現との間の同一構造関係に基づくものである。図２に示すように、フレーム表現１００からのＳＱＬ問い合わせ２００の生成は、フレーム表現１００をＳＱＬ問い合わせ２００の３つの主な構成要素上にマッピングすることにより実行される。即ち、（１）関連データを保有する表の名称を特定するＦＲＯＭ文２２０、（２）これらの表から関連フィールドを特定するＳＥＬＥＣＴ文２１０、（３）データ値に制限のセットを特定するＷＨＥＲＥ文２３０である。
【００２０】
ＳＱＬマッピング工程は、オブジェクトを、ＦＲＯＭ文２２０において使用されるデータベース表の名称の上にマップする。マッピング工程は、原子素性のために、二つラベルの付いた素性のうちの一つに行う。フレーム内の対応する素性値が空白である場合は、マッピング工程は、問い合わせのＳＥＬＥＣＴ２１０文にラベル付けを行う。それに代わって、対応する素性値が値を有し、従って空白ではない場合は、マッピング工程は値の情報を使用してＷＨＥＲＥ２３０文を構成して、フィールド名がこの値を有するレコードへの問い合わせを制限する。素性値の型が複合である場合は、マッピング工程は、複合素性値に対応するフィールドと、複合素性値のための値を提供する埋め込みオブジェクトに対応するデータベース表のプライマリーキーフィールドとのために、ＷＨＥＲＥ２３０文に結合制限２４０を生成する。
【００２１】
例として、図４において、Ｃｉｔｙフレームから生成した２つの潜在的なＳＱＬ問い合わせを、図４Ｂおよび図４Ｃに示す。図４Ａに示すこれらの問い合わせの一番目は、Ｃｉｔｙ．ｎａｍｅの素性値が対話管理プログラムによって「ｃｈｉｃａｇｏ」と設定されて、Ｓｔａｔｅ．ｎａｍｅの素性値が特定されていない場合に生成されるであろう。これは例えば、利用者が入力デバイスによる問い合わせに応答して、「ｃｈｉｃａｇｏ」という単語を入力デバイスに話し、入力デバイスが利用者の入力した「ｃｈｉｃａｇｏ」を表現する信号を対話管理プログラムに送信した場合に発生し得る。この例において、Ｃｉｔｙ．ｎａｍｅは非空白の原子素性値であり、Ｓｔａｔｅ．ｎａｍｅは空白素性値であり、Ｃｉｔｙ．ｓｔａｔｅ＿ｌｏｃは複合素性値である。従って、対話管理プログラムは、以下のように問い合わせを生成する。
【００２２】
空白のＳｔａｔｅ．ｎａｍｅの素性値を、問い合わせのＳＥＬＥＣＴ文２１０に加える。
【００２３】
非空白のＣｉｔｙ．ｎａｍｅの素性値を使用してＷＨＥＲＥ文２３０を構成して、ｃｉｔｙ．ｎａｍｅのフィールド値が「ｃｈｉｃａｇｏ」であるレコードへの問い合わせを制限する。
【００２４】
複合のＣｉｔｙ．ｓｔａｔｅ＿ｌｏｃの素性を使用して、ＷＨＥＲＥ文２３０のための、状態表のＣｉｔｙ．ｓｔａｔｅ＿ｌｏｃフィールドと一意の識別子のＳｔａｔｅ．ｉｄフィールドとの結合制限２４０を生成する。
【００２５】
第二の問い合わせは、Ｃｉｔｙ．ｎａｍｅの素性値が特定されないで、Ｓｔａｔｅ．ｎａｍｅの素性値が「ｃａｌｉｆｏｒｎｉａ」に設定された場合に生成されるであろう。図４Ｂは、特定のフレーム文脈に従った、マッピング工程による異なるＳＱＬ問い合わせの生成方法を示す。即ち、この例では、Ｃｉｔｙ．ｎａｍｅは空白の原子素性値であり、Ｓｔａｔｅ．ｎａｍｅは非空白の原子素性値であり、Ｃｉｔｙ．ｓｔａｔｅ＿ｌｏｃは、複合素性値である。
【００２６】
ＳＱＬマッピング工程は汎用性が十分であるために、複合フレーム表現が同一の表現的フォーマットに一致する限り、任意の複合フレーム表現を取り込むことができる。図５のフレーム表現において、Ｃｉｔｙ．ｎａｍｅの素性値は「ｃｏｌｕｍｂｕｓ」に設定されており、その一方でＡｉｒｐｏｒｔ．ｃｏｄｅおよびＳｔａｔｅ．ｎａｍｅの素性は特定されていない。即ち、Ａｉｒｐｏｒｔ．ｃｏｄｅおよびＳｔａｔｅ．ｎａｍｅの素性値は、空白の原子素性値である。この構成において、ＳＱＬマッピング工程は、図５に示す問い合わせを生成する。マッピング工程は、ＡｉｒｐｏｒｔおよびＣｉｔｙ表、ならびにＣｉｔｙおよびＳｔａｔｅ表の双方について、その間に関係が存在するために、（図４に示すように）一つの結合制限を生成するのではなく二つの結合制限を生成する。
（ｅ）ＳＱＬ問い合わせの実行、およびＳＱＬ問い合わせ結果の処理システムへの送信
この工程は、問い合わせが生成された後、対話管理プログラムまたはアプリケーションの他の機能により実行されて、その結果がアプリケーションまたは対話管理プログラムにより使用されてフレーム表現を更新する。更新されたフレーム表現はその後、出力デバイスに送信される出力信号を開始および／または生成するために使用される。
【００２７】
特定の実施態様において、本発明は、本願で説明したように構成されたリレーショナルデータベースである。他の実施態様において、本発明は、本願で説明したようなリレーショナルデータベースとフレーム表現との対である。
【００２８】
特定の実施態様において、本発明は、本願で説明したようなフレーム表現からＳＱＬ問い合わせを生成するための方法である。
【００２９】
本願で説明する実施例は、本発明の方法および装置を記述するものである。これらの実施例は、本発明を記述することのみを意図し、本発明の範囲または趣旨のいずれも制限することを意図するものではない。当業者は、これらの実施例に説明される構成要素、方法、工程、および装置の変更を使用し得ることを容易に理解するであろう。本願に引用する参照の全ては、その全体が本願に援用される。
【図面の簡単な説明】
【００３０】
【図１】本発明の方法を組み込んだ典型的な対話処理システムを示す図。
【図２】フレーム、ＳＱＬ問い合わせ、およびリレーショナルデータベースの間の関係、並びに図１のサブエレメントを示す図。
【図３】本発明による典型的なＣｉｔｙオブジェクトのフレーム表現を示す図。
【図４】図３のフレーム表現から生成したＳＱＬ問い合わせの例を示す図。
【図５】旅行予約の用途における使用に適した、Ａｉｒｐｏｒｔオブジェクトのフレーム表現の例を示す図。
【図６】図５のフレーム表現から生成したＳＱＬ問い合わせの例を示す図。
【図１】
2004530973.tif 000003
【国際公開パンフレット】
2004530973.tif 000004
2004530973.tif 000005
2004530973.tif 000006
2004530973.tif 000007
2004530973.tif 000008
2004530973.tif 000009
2004530973.tif 000010
2004530973.tif 000011
2004530973.tif 000012
2004530973.tif 000013
2004530973.tif 000014
2004530973.tif 000015
2004530973.tif 000016
2004530973.tif 000017
2004530973.tif 000018
2004530973.tif 000019
2004530973.tif 000020
2004530973.tif 000021
2004530973.tif 000022
2004530973.tif 000023
【国際調査報告】
2004530973.tif 000024