[go: up one dir, main page]

JP5166661B2 - 計画に基づくダイアログを実行する方法および装置 - Google Patents

計画に基づくダイアログを実行する方法および装置 Download PDF

Info

Publication number
JP5166661B2
JP5166661B2 JP2001279145A JP2001279145A JP5166661B2 JP 5166661 B2 JP5166661 B2 JP 5166661B2 JP 2001279145 A JP2001279145 A JP 2001279145A JP 2001279145 A JP2001279145 A JP 2001279145A JP 5166661 B2 JP5166661 B2 JP 5166661B2
Authority
JP
Japan
Prior art keywords
discourse
meaning
user
engine
score
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001279145A
Other languages
English (en)
Other versions
JP2002259372A5 (ja
JP2002259372A (ja
Inventor
クァンサン・ワン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002259372A publication Critical patent/JP2002259372A/ja
Publication of JP2002259372A5 publication Critical patent/JP2002259372A5/ja
Application granted granted Critical
Publication of JP5166661B2 publication Critical patent/JP5166661B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4938Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals comprising a voice browser which renders and interprets, e.g. VoiceXML

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ユーザ/コンピュータ双方向処理を定義し処理する方法およびシステムに関する。特に、本発明は、ダイアログ・システム(dialog system)に関する。
【0002】
【従来の技術】
最近のコンピュータ・インターフェースは、その殆ど全てがコンピュータ駆動双方向処理を基本としており、その中ではユーザはコンピュータが設定した実行の流れに従うか、あるいはコンピュータが与える(expose)1つ以上のコマンドを習得しなければならない。言い換えると、殆どのコンピュータ・インターフェースは、ユーザが行ないたいようにコンピュータとインターフェースするようにはなっておらず、逆に特定のインターフェース・セットを通じて双方向処理するようにユーザに強制しているのである。
【0003】
しかしながら、ダイアログ・メタファー(dialog metaphor)に基づき、ユーザおよびコンピュータ・システム双方がダイアログを導くかまたはこれに従うようなコンピュータ/ユーザ・インターフェースを有するという理念を目標とする新しい研究が行われている。このメタファーの下では、ユーザは、最初の質問またはコマンドを与えることができ、するとコンピュータ・システムは質問またはコマンドにおいて曖昧さを特定し、質問を具体化するように要求して、適正なアクションの推移を確認することができる。尚、具体化の間、ユーザは自由にダイアログを変更し、それを新たな方向に導けることを注記しておく。したがって、コンピュータ・システムは、ダイアログにおけるこれらの変更に適応的であり、反応しなければならない。システムは、ユーザが当該システムに提供した情報を認識し、その情報からユーザの意図を探り出さなければならない。加えて、システムは、ユーザの意図を、補足質問をしたり、電子メール・メッセージを送るというような、適切なアクションに変換しなければならない。
【0004】
尚、ユーザの経験(experience)の質は、システムがユーザに尋ねる質問数、したがってユーザが目標に到達するのに要する時間量によって殆ど決まってしまうという点で、適正なアクションの選択は重要であることを注記しておく。
【0005】
従来では、このようなダイアログ・システムは、技術の組み合わせによって作成されていた。通例では、確率的モデルを用いて、ユーザが言ったことを確認する。このようなモデルは、1組の仮説句(hypothesis phrases)の各々に対して確率を与える。次いで、確率が最も高い仮説を、ユーザが発話した可能性が最も高い句として選択する。
【0006】
この可能性が最も高い句を自然言語解析アルゴリズムに供給し、1組の自然言語規則を適用し、特定した句の文章構造および意味構造を識別する。
次に、意味構造を計画基礎システム(plan based system)に渡し、意味(semantic meaning)、ならびにユーザおよびコンピュータが作った過去のダイアログ・ステートメントに基づいて、異なる1組の規則を適用する。これらの規則の実行に基づいて、ダイアログ・システムは、取るべきアクションを選択する。
【0007】
システムには、言ったことから言ったことの意味への変換に、確率モデルを用いようとしたものもある。例えば、E.Souvignier et al. の"The Thoughtful Elephant: Strategies for Spoken Dialog Systems"(思慮深い象:発話ダイアログ・システムのための方針)(IEEE Transactions on Speech and Audio Processing, Vol.8, No. 1 (2000年1月))において、言ったことを識別するステップ、および言ったことを意味に変換するステップの双方に確率モデルを適用している。
【0008】
別のシステムには、確率モデルを用いて、与えられた意味に対して取るべきアクションを決定するようにしたものもある。例えば、Levin et al. の"A Stochastic Model for Machine Interaction for Learning Dialog Strategies"(学習ダイアログ方式のマシン双方向処理用確率モデル)(IEEE Transactions on Speech and Audio Processing, Vol. 8, No. 1, pg. 11-23 (2000年1月))では、意味からアクションへの変換に、確率モデルが用いられている。
【0009】
【発明が解決しようとする課題】
確率モデルは各段階に別個に用いられてきたが、ダイアログ・システムの全段階に確率モデルを用い、同じ目的の機能を最適化するように設計したシステムは未だ提案されていない。そのため、これらのダイアログ・システムにおけるサブシステムは、当然互いに統合し合わない。
【0010】
現行のダイアログ・システムに伴う別の問題は、これらは分散型計算環境に余り適しておらず、サービス品質が完全でないことである。例えば、電話を基本とするダイアログ・システムでは、電話リンクに大きく依存する。通常、電話接続における切断は、ダイアログ・コンテクストおよび双方向処理内容の損失を招く。その結果、電話に基づくシステムのために開発されたダイアログ技術は、対話者(interlocutor)が常に接続を維持しないインターネット環境には、直接適用することはできない。加えて、既存のダイアログ・システムは、通例では、単一デバイス上の固定インターフェースにユーザを強制するので、ユーザがダイアログを駆動する方法が制限される。例えば、現行のダイアログ・システムは、通例では、ユーザがインターネット・ブラウザまたは電話機を用いることを要求し、双方向処理の間ユーザが動的に電話インターフェースまたはハンドヘルド・インターフェースに、またはその逆に切り替えることをユーザに許さない。このように、これらのシステムは、望まれるようなユーザ制御を提供する訳ではない。
【0011】
【課題を解決するための手段】
本発明は、単一の技術モデルの下でサブシステムを統合した、ダイアログ・システムを提供する。即ち、サブシステムの各々は、確率モデリングを用いて、そのそれぞれの出力に対する確率を特定する。ユーザからの最新の入力および過去のダイアログ状態から、ダイアログ・システムが取るべき最も確率が高いアクションを、確率の組み合わせによって特定する。
【0012】
具体的には、認識エンジンを設け、ユーザからの入力があると、言語モデルを用いて、表面的意味構造の確率を特定する。また、意味エンジンも設け、表面的意味構造の確率から、談話(discourse)の確率を特定する。最後に、レンダリング・エンジンを設け、挙動モデルを用いて、意味エンジンが与える1つ以上の談話構造に伴う確率から、取るべき最低コストのアクションを決定する。サブシステムの各々において確率モデルを用い、全体として単一の目的機能を最適化するように全ての段階を強制することにより、本発明は、理論的に最適化の簡便化を図った、より良い統合ダイアログ・システムを提供する。
【0013】
本発明の別の態様は、認識エンジン、意味エンジンおよびレンダリング・エンジンがXMLページを通じて互いに通信することにより、ネットワーク全体にこれらのエンジンを分散可能とする実施形態である。XMLを用いることにより、ダイアログ・システムは、インターネット用に開発された大規模なインフラストラクチャを利用することができる。
【0014】
この実施形態では、拡張可能スタイルシート言語(XSL:extensible stylesheet language)を用いて、挙動モデルを書くか、あるいは動的に合成する。XSLによって、挙動モデルは、意味エンジンが生成したXMLページを、意味エンジンのXMLページにおいて見出される談話表現に対して最低コストのアクションであるだけでなく、ユーザが選択した出力インターフェースに適した出力に変換することが可能となる。即ち、挙動エンジンが行なうXSL変換によって、意味エンジンが出力する単一のXMLページを、例えば、インターネット・ブラウザ、電話システム、またはハンドヘルド・システムに適したフォーマットに変換することが可能となる。このように、この実施形態の下では、ユーザは、どのインターフェースを用いてダイアログを実行するか制御することができ、実際にダイアログの間そのインターフェースを動的に変更することができる。
【0015】
【発明の実施の形態】
図1は、本発明を実現可能とするのに相応しい計算システム環境100の一例である。計算システム環境100は、相応しい計算環境の一例に過ぎず、本発明の使用または機能の範囲に関していかなる限定をも示唆しようとするのではない。更に、計算環境100は、例示の計算環境100に示すコンポーネントのいずれの1つまたはその組み合わせに関しても、依存性も要件も有するものとして解釈してはならない。
【0016】
本発明は、多数のその他の汎用または特殊目的計算システム環境またはコンフィギュレーションと共に動作する。公知の計算システム、環境および/またはコンフィギュレーションで、本発明との使用に相応しい例は、限定ではなく、パーソナル・コンピュータ、サーバ・コンピュータ、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサ系システム、セット・トップ・ボックス、プログラマブル消費者電子機器、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、電話システム、上述のシステムまたはデバイスのいずれをも含む分散計算環境等を含む。
【0017】
本発明の説明は、コンピュータが実行するプログラム・モジュールのようなコンピュータ実行可能命令の一般的なコンテキストで行うこととする。一般に、プログラム・モジュールは、特定のタスクを実行したり、あるいは特定の抽象的データ・タイプを使用する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。また、本発明は、分散型計算機環境において、通信ネットワークを通じてリンクしたリモート処理デバイスによってタスクを実行するという実施も可能である。ある分散型計算機環境においては、プログラム・モジュールは、メモリ記憶素子を含むローカルおよびリモート双方のコンピュータ記憶媒体に配置することができる。
【0018】
図1を参照すると、本発明を実施するための例示のシステムは、コンピュータ110の形態とした汎用計算デバイスを含む。コンピュータ110のコンポーネントは、処理ユニット(CPU)120、システム・メモリ130、およびシステム・メモリから処理ユニット120までを含む種々のシステム・コンポーネントを結合するシステム・バス121を含むことができるが、これらに限定される訳ではない。システム・バス121は、種々のバス・アーキテクチャのいずれかを用いたメモリ・バスまたはメモリ・コントローラ、周辺バス、およびローカル・バスを含む、数種類のバス構造のいずれでもよい。限定ではなく一例として、このようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、改良ISA(EISA)バス、ビデオ電子規格協会(VESA)ローカル・バス、およびMezzanineバスとしても知られている周辺素子相互接続(PCI)バスを含む。
【0019】
コンピュータ110は、通例では、種々のコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、コンピュータ110がアクセス可能であれば、入手可能な媒体のいずれでも可能であり、揮発性および不揮発性双方の媒体、リムーバブルおよび非リムーバブル媒体を含む。一例として、そして限定ではなく、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュールまたはその他のデータのような情報の格納のためのあらゆる方法または技術において使用されている揮発性および不揮発性、リムーバブルおよび非リムーバブル双方の媒体を含む。コンピュータ記憶媒体は、限定する訳ではないが、RAM、ROM、EEPROM、フラッシュ・メモリまたはその他のメモリ技術、CD−ROM、ディジタル・バーサタイル・ディスク(DVD)、またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージ、またはその他の磁気記憶装置、あるいは所望の情報を格納するために使用可能であり、コンピュータ100によってアクセス可能なその他のいずれの媒体でも含まれる。通信媒体は、通例では、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他データを、キャリア波またはその他のトランスポート機構のような変調データ信号におけるその他のデータを具体化し、あらゆる情報配信媒体を含む。「変調データ信号」という用語は、信号内に情報をエンコードするように、その1つ以上の特性を設定または変更した信号を意味する。一例として、そして限定ではなく、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、ならびに音響、RF、赤外線およびその他のワイヤレス媒体のようなワイヤレス媒体を含む。前述のいずれの組み合わせでも、コンピュータ読み取り可能媒体の範囲内に当然含まれるものとする。
【0020】
システム・メモリ130は、リード・オンリ・メモリ(ROM)131およびランダム・アクセス・メモリ(RAM)132のような揮発性および/または不揮発性メモリの形態のコンピュータ記憶媒体を含む。基本入出力システム133(BIOS)は、起動中のように、コンピュータ110内のエレメント間におけるデータ転送を補助する基本的なルーチンを含み、通例ではROM131内に格納されている。RAM132は、通例では、処理ユニット120が直ちにアクセス可能であるデータおよび/またはプログラム・モジュール、または現在処理ユニット120によって処理されているデータおよび/またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図1は、オペレーティング・システム134、アプリケーション・プログラム135、その他のプログラム・モジュール136、およびプログラム・データ137を示す。
【0021】
また、コンピュータ110は、その他のリムーバブル/非リムーバブル揮発性/不揮発性コンピュータ記憶媒体も含むことができる。一例としてのみ、図1は、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ141、リムーバブル不揮発性磁気ディスク152からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ151、ならびにCD ROMまたはその他の光媒体のようなリムーバブル不揮発性光ディスク156からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ155を示す。動作環境の一例において使用可能なその他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータ記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリ・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROM等が含まれる。ハード・ディスク・ドライブ141は、通例では、インターフェース140のような非リムーバブル・メモリ・インターフェースを介してシステム・バス121に接続され、磁気ディスク・ドライブ151および光ディスク・ドライブ155は、通例では、インターフェース150のようなリムーバブル・メモリ・インターフェースによってシステム・バス121に接続する。
【0022】
先に論じ図1に示すドライブおよびそれらと連動するコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、およびコンピュータ110のその他のデータを格納する。図1では、例えば、ハード・ディスク・ドライブ141は、オペレーティング・システム144、アプリケーション・プログラム145、その他のプログラム・モジュール146、およびプログラム・データ147を格納するように示されている。尚、これらのコンポーネントは、オペレーティング・システム134、アプリケーション・プログラム135、その他のプログラム・モジュール136、およびプログラム・データ137と同じでも異なっていても可能であることを注記しておく。オペレーティング・システム144、アプリケーション・プログラム145、その他のプログラム・モジュール146、およびプログラム・データ147は、少なくともこれらが異なるコピーであることを示すために、ここでは異なる番号を与えている。
【0023】
ユーザは、キーボード162、マイクロフォン163、およびマウス、トラックボールまたはタッチ・パッドのようなポインティング・デバイス161によって、コマンドおよび情報をコンピュータ110に入力することができる。他の入力デバイス(図示せず)は、ジョイスティック、ゲーム・パッド、衛星ディッシュ、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザ入力インターフェース160を介して、処理ユニット120に接続されている。ユーザ入力インターフェース160は、システム・バスに結合されているが、パラレル・ポート、ゲーム・ポートまたはユニバーサル・シリアル・バス(USB)のようなその他のインターフェースおよびバス構造によって接続することも可能である。モニタ191またはその他の形式の表示装置も、ビデオ・インターフェース190のようなインターフェースを介して、システム・バス121に接続されている。モニタに加えて、コンピュータは、スピーカ197およびプリンタ196のようなその他の周辺出力デバイスを含むこともでき、これらは出力周辺インターフェース190を介して接続することができる。
【0024】
コンピュータ110は、リモート・コンピュータ180のような1つ以上のリモート・コンピュータへの論理接続を用いて、ネットワーク環境において動作することも可能である。リモート・コンピュータ180は、パーソナル・コンピュータ、ハンド・ヘルド・デバイス、サーバ、ルータ、ネットワークPC、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通例では、コンピュータ110に関して先に説明したエレメントの多くまたは全てを含む。図1に示す論理接続は、ローカル・エリア・ネットワーク(LAN)171およびワイド・エリア・ネットワーク(WAN)173を含むが、他のネットワークも含むことができる。このようなネットワーキング環境は、事務所、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットにおいては、一般的である。
【0025】
LANネットワーキング環境で用いる場合、コンピュータ110は、ネットワーク・インターフェースまたはアダプタ170を介してLAN171に接続する。WANネットワーク環境で用いる場合、コンピュータ110は、通例では、モデム172、またはインターネットのようなWAN173を通じて通信を確立するその他の手段を含む。モデム172は、内蔵でも外付けでもよく、ユーザ入力インターフェース160またはその他の適切な機構を介してシステム・バス121に接続することができる。ネットワーク環境では、コンピュータ110に関して図示したプログラム・モジュール、またはその一部は、リモート・メモリ記憶装置に格納することもできる。一例として、そして限定ではなく、図1は、リモート・アプリケーション・プログラム185がメモリ素子181上に常駐するものとして示している。尚、図示のネットワーク接続は一例であり、コンピュータ間で通信リンクを確立する他の手段も使用可能であることは認められよう。
【0026】
図2は、本発明のダイアログ・システムのブロック図を提示する。以下に、図3のフロー図に示すダイアログ方法と関連付けて図2について説明する。
本発明の一実施形態の下では、図2のコンポーネントは、図1に示したもののような、パーソナル・コンピュータ・システム内に位置する。他の実施形態では、分散計算環境全体にコンポーネントを分散し、ネットワーク接続およびプロトコルによって互いに接続する。例えば、コンポーネントは、イントラネットまたはインターネットを通じて分散することができる。このような分散計算環境用に設計した本発明のダイアログ・システムの具体的な実施形態について、図13のブロック図を参照しながら以下で更に詳細に論ずることにする。
【0027】
図2において、ダイアログ・システム200は、ユーザから複数のユーザ・インターフェース202,204を介して入力を受け取る。このようなユーザ入力インターフェースは、ユーザのスピーチをディジタル値に変換可能なスピーチ取り込みインターフェース、キーボード、およびマウスまたはトラックボールのようなポインティング・デバイスを含む。本発明は、これら特定のユーザ入力インターフェースに限定される訳ではなく、追加のユーザ入力インターフェースまたは代わりのユーザ入力インターフェースでも、本発明と共に使用可能である。
【0028】
各ユーザ入力インターフェースは、関連する言語モデル210,212を有する、それ自体の認識エンジン206,208に設けられている。認識エンジン206および208は、それぞれ、言語モデル210および212を用いて、可能な表面的意味構造を識別し、評点を付けてそれぞれの入力を表わす。各認識エンジン206,208は、少なくとも1つの表面的意味出力と、この意味出力の確率を表わすスコアとを与える。実施形態によっては、認識エンジン206,208の少なくとも1つが、1つよりも多い代わりの表面的意味構造に、代わりの構造毎に、関連するスコアを与えることができるようにする場合もある。意味構造および対応するスコアの各々を談話エンジン214に供給する。表面的意味を生成するステップは、図3においてステップ300として示してある。
【0029】
スピーチおよび手書き文字のような、言語系ユーザ入力では、認識エンジンが用いる言語モデルは、多数の公知の確率モデルのいずれでも可能である。例えば、入力にN個の連続する単語から成る1群が与えられた場合、言語モデルは、ある言語における単語の確率をモデル化するN−グラム・モデルとすることができる。また、言語モデルは、意味情報および/または構文情報を特定の単語および句と関連付ける自由コンテクスト文法(context free grammar)とすることも可能である。本発明の一実施形態では、N−グラム言語モデルを自由コンテクスト文法と組み合わせた統一言語モデルを用いる。この統一モデルでは、意味トークンおよび/または構文トークンは、単語に対するプレース値(place value)として扱われ、N−グラム確率は、仮説的な単語およびトークン結合毎に計算する。
【0030】
いくつかの実施形態では、言語モデルは、階層状の表面的意味構造を生成可能である。これは、談話モデル216において定義され、談話エンジン214によって用いられる談話意味構造と同様である。双方のモデルにおいて同様の階層構造を用いることによって、認識した入力値を表面的意味構造から談話意味構造に変換することが一層容易になる。尚、多くの実施形態では、ポインティング・デバイスのような非言語入力と関連する言語モデルでも、意味トークンをポインティング・デバイスの入力に結び付けることができる。殆どの実施形態では、意味トークンは、談話意味構造において発見した1組の意味トークンから取り込まれる。したがって、ユーザがマウスを用いてあるファイル・アイコン上でクリックすると、マウスの認識エンジンは、入力として示されたファイルのIDを指し示しつつ、FileNameトークンをその行為と関連付けることができる。
【0031】
図3のステップ302に示すように、談話エンジン214が認識エンジン206,208から表面的意味を受け取ると、最初に談話意味ツリーを展開する。この展開を行なうには、最初に、談話エンジン214に供給した表面的意味構造を試験する。談話エンジン214に供給した表面的意味構造が以前には見られなかった上位の意味トークン、即ち、ダイアログにおける脱線(digression)を示す場合、談話エンジン214において新たな談話ツリーをインスタンス化する。
【0032】
一方、談話エンジン214に供給した表面的意味が低いレベルの談話トークンを含む場合、談話エンジン214は、最初に、この表面的意味トークンが、現在開いているいずれかの談話ツリーに調和することができるか否か注意して確かめる。意味トークンが、現在開いている談話ツリーに調和することができる場合、トークンおよびそれに関連する入力値を、談話意味構造の適切なスロットに置く。
【0033】
意味トークンが、現在開いている談話構造のいずれにも調和しない場合、談話エンジンは、意味トークンを見つけることができる、可能な談話ツリーを探す。1つよりも多い構造、または構造内の1つよりも多いロケーションに表面的意味トークンを挿入することができる場合、意味的曖昧さとして知られる状況となり、談話エンジン214は、トークンを挿入することができる全ての構造を展開するが、意味トークンを挿入しない。代わりに、意味オブジェクトをどこに置くべきかに関する曖昧さが解明するまで、談話エンジン214は意味トークンおよびそれに関連する入力値を談話メモリ218に保持する。通例では、この曖昧さを解明するには、ユーザからの追加情報を要求する。これについては以下で更に論ずる。
【0034】
殆どの実施形態では、認識エンジンは、単語自体が曖昧であっても、表面的意味トークンを1つ以上の入力単語と関連付けることができる。例えば、"send it to him"(それを彼に送れ)というような句では、認識エンジンは、"it"がメッセージの目的語であり、"him"は受取人であることを識別することができる場合もある。したがって、認識エンジンは、メッセージ・トークンを"it"と関連付け、受取人トークンを"him"と関連付けることができる。しかしながら、単語"it"および"him"からは、何のメッセージを送るべきか、またはどの人がメッセージを受け取るべきか明らかでない。
【0035】
本発明の下では、談話エンジン214は、特定の意味トークン・タイプに対して過去の値を収容した談話メモリ218を用いることによって、このような曖昧さを明確化しようとする。このメモリの意味トークン・タイプに対する過去の参照を引用することによって、本発明のシステムは、過去の談話ステートメントに基づいて、暗示的な参照に対して値を推論することができる。このように、前述の例を用いると、特定のメッセージが論述の中で新しく現れ、この論述において特定の人が引用されている場合、談話エンジン214は句"it"を特定のメッセージIDと置換し、更に"him"を特定の人の名前と置換する。
【0036】
本発明の一実施形態の下では、談話メモリ218を別個の優先順位キューに編成することによって、この推論能力が向上(facilitate)する。即ち、本発明のこの実施形態の下では、談話メモリ218を、現ユーザ入力からの値を収容する短期メモリと、過去のユーザ入力からの値を収容する長期メモリとに分割する。
【0037】
短期メモリは、更に、明示メモリと暗示メモリとに分割する。明示メモリは、ユーザが供給した入力から直接解明した値を保持する。例えば、ユーザが文章の始めにおいて名称で人に言及した場合、人トークン・タイプの下でこの名称を明示メモリに置く。暗示メモリは、行頭反復(直前の単語または句から、項目がその意味を得る)、省略法(項目はないが、自然に推論することができる)、および直示(明確な冠詞または代名詞を用いることによって項目を特定する)のように、ユーザによって行われた間接的な参照から解明した値を保持する。このような暗示的参照の例は、"Send it to Jack"のようなステートメントを含み、この場合、"it"は行頭反復であり、送ることができる品目に対する以前の参照を探すことによって解明することができる。また、"Send the message to John's manager"(ジョンのマネージャにメッセージを送れ)という文章では、"John's manager"は直示であり、後述のデータベース全体を探索し、誰がJohnのマネージャであるか発見することによって解明する。次いで、この名称を暗示メモリに置き、後に使用する。
【0038】
一実施形態の下では、3つのメモリに優先順位を付け、参照を解明しようとする場合、システムは最初に明示メモリ内を見て、次いで長期メモリ、そして最後に暗示メモリを見るようにする。したがって、ユーザからの現入力においてある人に明示的に言及している場合、その人の名称は、長期メモリ内で見つかった人の名称、または解明されて暗示メモリ内に置かれた人の名称よりも優先されることになる。
【0039】
一実施形態の下では、談話メモリ218の優先順位は、より高い優先順位メモリの値に一貫性がない場合、即ち、ユーザが与えた他の入力と矛盾する場合、無視される。例えば、ユーザが"her"(彼女)に言及するが、明示メモリ内の最後の名称が男性の名称である場合、明示メモリの優先順位は無視され、長期メモリまたは暗示メモリ内の最初の女性名を優先的に探す。
【0040】
一実施形態の下では、談話意味構造を展開する前に、談話エンジン214は、ユーザからの現入力における間接的参照を解明しつつ、談話メモリ218を更新する。即ち、談話エンジン214は、現入力内で発見されたあらゆる明示的用語に基づいて、明示メモリを更新し、現入力における間接的参照を解明することによって、暗示メモリを更新する。この実施形態の下では、ユーザからの入力に対して先着順に解明を行い、ユーザ入力の最初の部分にある明示的および暗示的値を用いて、ユーザ入力の後の部分で発見された間接的な参照を解明する。
【0041】
談話メモリ218を用いて暗示的参照を解明した後、メモリ218から検索した値を、展開した談話意味構造におけるそれらの各意味トークンと関連付ける。
一旦談話エンジン214が談話意味構造を展開したなら、ステップ304においてできるだけ談話意味構造を押し潰そうとする。談話意味構造を押し潰すために、談話エンジン214は、各最下位トークンを見て、これが意味トークンに関して、トークンと置換可能な単一のエンティティを特定できるだけの十分な情報を有するか否か判定を行なう。このコンテクストでは、エンティティとは、1つ以上のドメイン・エキスパート(domain expert)222がアクセスする1組のドメイン・テーブル220の内の1つにあるエンティティである。ドメイン・エキスパート222は、どのテーブルにアクセスし更新する必要があるか特定し、テーブルにアクセスする際に伴うオーバーヘッドおよびプロトコルを処理する。
【0042】
例えば、人の一般的表現である人的意味トークンを押し潰すには、談話エンジン214は、人トークンに現在関連のある属性を満たす単一の人を探そうとする。これを行なうために、談話エンジン214は、人の解明に特化したドメイン・エキスパート222に属性およびトークンを渡す。すると、ドメイン・エキスパート222は、人トークンと関連がある複数のドメイン・テーブルにアクセスする。この場合、ドメイン・エキスパート222は、人のリストを収容したドメイン・テーブルにアクセスする。
【0043】
人ドメイン・テーブルでは、各行がエンティティ、即ち、人として識別され、各列が人の属性となる。したがって、トークンを押し潰すことができるか否かの判定は、トークンの属性が十分な情報を提供し、ドメイン・テーブル220内において単一のエンティティを特定することができるか否かについての判定を伴う。ドメイン・テーブル220において単一のエンティティを見つけることができた場合、談話意味構造内にトークンの代わりにこのエンティティを挿入する。
【0044】
談話意味構造にツリー構造を用いる実施形態では、意味トークンは、ツリー上のノードとして現れ、そのトークンの属性はそのノードの子として現れる。このような実施形態では、談話エンジン214は、下から上に談話ツリーを押し潰そうとすることにより、最初に子ノードを押し潰して、ノードの解明を「沸き上げる」(bubble up)。
【0045】
ドメイン・テーブル220内で1つよりも多いエンティティが有効探索基準(available search criteria)を満たすためにトークンを押し潰すことができない場合、談話エンジン214は、ある最大数のエンティティまで、一致するエンティティ全てを検索することを選択してもよい。また、談話エンジン214は、談話モデル216を利用して、ステップ304における評価プロセスを保持し、確率が低い仮説を破棄することもできる。いずれの方法でも、談話エンジン214は、次に、未解明トークンから展開したこれら代わりの可能性によって、談話意味構造を増大させる。
【0046】
図3のステップ306において、談話エンジン214は、談話モデル216を用いて、各談話意味構造の尤度を記述するスコアを生成する。このコンテクストでは、未解明意味トークンから展開した各エンティティは、これらが共通の意味トークンを共有する場合であっても、別個の談話意味構造の一部であると見なす。したがって、談話エンジン214は、未解明トークンから展開した各エンティティ毎に、別個のスコアを生成する。尚、実施形態によっては、性能を考慮してステップ304およびステップ306を効果的に組み合わせて単一のステップにすることも可能であることを注記しておく。
【0047】
一例として、ユーザが、彼らは"Send an e-mail to John"(ジョンに電子メールを送る)ことを望んでいると言ったが、ドメイン・テーブル220がJohn A, John B, およびJohn Cを含む場合、談話エンジン214は、John A, John B, およびJohn Cに電子メールを送るために、別個のスコアを生成する。過去において、ユーザが等しい数の電子メールをJohn A, John B, およびJohn Cに送っていた場合、談話エンジン214および談話モデル216が生成するスコアは、各意味構造に対して等しくなる。しかしながら、ユーザがJohn Aに90パーセントの時間、John Bに8パーセントの時間、そしてJohn Cに2パーセントの時間電子メールを送っている場合、談話モデル216が生成するスコアは、John Aに対して高い重み付けを行い、John BおよびJohn Cに対しては非常に低い重み付けを行なう。
【0048】
多くの実施形態では、意味的曖昧さを解明するのと同じ機構を用いて、認識の曖昧さを解明することができる。例えば、ユーザが"Send e-mail to John A"(ジョンAに電子メールを送れ)と言った場合、スピーチ認識部は、音素およびその他の交絡する要因に基づいて、"John A", "John K" または"John J"に関する発声を認識することができる。多くの実施形態では、システムは、これらの競合する認識仮説を意味的曖昧さとして見なすことも選択可能である。この扱いによって、表面的意味が談話エンジンに与えられる前に認識の曖昧さを解明する場合に必要となる、余分な処理が不要となる。
【0049】
曖昧さの解明が意味的矛盾に展開する可能性もある。これは、多数の認識エンジンの各々が互いに矛盾する表面的意味を与えるという多様式環境において発生する。例えば、ユーザが"Send e-mail to John A"(ジョンAに電子メールを送れ)と言ったが、ディスプレイ上で"John B"の絵の上でクリックする場合である。多くの実施形態では、様式相互間における意味の曖昧さ(cross modality semantic ambiguity)は、様式相互コンフリクトを処理するために特殊な命令を実行することなく、前述と同様に対処することができる。
【0050】
ステップ308において、図2のレンダリング・エンジン224は、談話エンジン214が生成した談話意味構造、およびこの構造を通過する各パスに関連するスコアを受け取る。レンダリング・エンジン224は、談話意味構造および関連するスコアを、挙動モデル226への入力として用いる。挙動モデル226は、使用可能なユーザ・インターフェース、および談話意味構造によって表わされるダイアログの現状態を考慮して、特定のアクションを行なう場合のコストを生成する。
【0051】
異なるアクションのコストは、いくつかの異なる要因に基づいて計算することができる。例えば、ダイアログ・システムの使用可能性は、部分的にユーザが尋ねた質問の数に基づくので、ダイアログ方式(dialog strategy)に伴う1つのコストは、尋ねる質問の数である。したがって、一連の質問を行なうことを伴うアクションは、単一の質問を行なうアクションよりも高いコストを有する。
【0052】
ダイアログ方式に伴う第2のコストは、ユーザが彼らに行われた質問に適正に応答しない尤度である。これは、単一の質問においてユーザに余りに多くの情報を求めた場合、または余りに広いことを述べた質問を行なった場合に、あり得ることである。
【0053】
最後に、使用可能な出力ユーザ・インターフェースに対して、アクションは適切でなければならない。したがって、ユーザに多数の選択を与えるアクションは、出力インターフェースが電話機である場合、高いコストを有する。何故なら、ユーザは、オプションが提示されたとき、これらを暗記しなければならないからである。しかし、出力インターフェースがブラウザである場合、低いコストを有する。何故なら、ユーザは一度にオプションの全てを見ることができ、選択を行なう前にこれらを数回照会することができるからである。
【0054】
図2の実施形態の下では、談話エンジン214は、インターフェース・メモリ230から、使用可能なユーザ・インターフェースをレンダリング・エンジン224に供給する。尚、他の実施形態では、インターフェース・メモリ230を直接レンダリング・エンジン224に接続してもよく、あるいはレンダリング・エンジン224がオペレーティング・システムの機能にアクセスし、使用可能な出力インターフェースを識別してもよいことを注記しておく。
【0055】
アクションのコストを判定するとき、レンダリング・エンジン224および挙動モデル226はレンダリング・エンジンが単に談話意味構造に関連するアクションを行なうことによって高い成功の尤度を有する程、意味構造が十分高いスコアを有するか否か検討する。例えば、先に記した例におけるように、ユーザが"Send this message to John"(このメッセージをジョンに送れ)と言った場合、そして、John Aに対するスコアがJohn BおよびJohn Cに対するスコアよりもはるかに高かった場合、レンダリング・エンジンは、ユーザから更なる明確化を要求することなく、単にメッセージをJohn Aに送る。このような場合、電子メールをJohn Aに送る際にエラーを起こすことのコストは、どのJohnに電子メール・メッセージを送りたいのか明確にするためにユーザに尋ねる場合のコストよりも少ない。一方、電子メールをJohn Aに送る際にエラーを起こすことのコストが高い場合、適正なアクションは、ユーザに確認の問い合わせを生成することであろう。多くの実施形態では、コストおよびスレシホルドは、挙動モデル226において明示的に表現することができる。
【0056】
図3のステップ310において、レンダリング・エンジン224は、最も高いアクション・スコアを選択し、対応するアクションを行なう。多くの場合、これには、ユーザ出力インターフェース228を介して応答をユーザに送ることを伴う。
【0057】
レンダリング・エンジン224がアクションを選択した後、実施形態によっては、1つ以上の言語モデル210および212を修正し、ユーザのそのアクションに対する応答を適正に解釈するために言語モデルを使用できるようにする場合もある。例えば、レンダリング・エンジンが3つの代替案をユーザに提示した場合、言語モデルを更新して、「最初のもの」、「2番目のもの」、のような句を特定のエンティティと関連付けるようにすることができる。これによって、認識エンジンは、その特定した句を特定のエンティティと置換することが可能となり、談話エンジン214は、談話意味構造の適正なスロットにそれらエンティティを挿入することが一層容易となる。
【0058】
図2および図3において説明した談話システムの動作の更に詳しい説明として、図4ないし図12は、表面的意味構造、およびサンプル・ダイアログに対する談話構造の例を与える。以下の論述では、表面的意味構造および談話構造にツリー構造を用いる。先に注記したように、このような構造では、ツリーにおけるノードの「子」は、当該ノードにおけるトークンの属性と見なすことができる。以下の論述では、子ノードのことを、相互交換可能に子および属性と呼ぶことにする。加えて、以下の論述の目的上、認識エンジンは、挙動が明確であり、本発明において適正に処理可能であるにしても、意味的曖昧さや認識の曖昧さの原因となる結果を生じないと仮定する。
【0059】
談話は、ユーザが"Send it to those in the meeting on Wednesday"(水曜日のミーティングのときにこれをそれらに送る)と言ったときに開始する。この句をスピーチ認識エンジンが受け取り、言語モデルを用いて、図4に示す表面的意味構造を生成する。図4の表面的意味構造は、意味トークン<Send mail>を収容するルート・ノード400を含む。これは、句全体"Send it to those in the meeting on Wednesday"と関連がある。<Send mail>トークンは2つの子ノード、即ち、属性402および404を有し、これらは意味トークン<Message>および<Recipient>としてそれぞれ識別される。<Message>トークン402には、単語"it"が関連し、<Recipient>トークン404には句"those in the meeting on Wednesday"が関連する。
【0060】
<Recipient>トークン404は、意味トークン<Meeting attendees>を収容する、更に別の子ノード406を有する。意味トークン<Meeting attendees>は、句"those in the meeting on Wednesday"に関連がある。
【0061】
<Meeting attendees>トークン406は、<Existing meeting>の属性を有する。これは、トークン408によって表わされ、句"meeting on Wednesday"に関連がある。<Existing meeting>トークン408は、意味トークン<Date>を収容する属性410を有する。意味トークン<Date>は、単語<Wednesday>に関連がある。
【0062】
尚、図4の意味ツリー構造と関連する認識エンジンは、システム上で動作することができる唯一の認識システムであることを注記しておく。図5は、スピーチ認識エンジンと並行して動作する認識エンジンが生成する表面的意味構造を示す。即ち、図5の表面的意味構造は、ポインティング・デバイスと関連する認識エンジンによって生成する。この例では、ポインティング・デバイスは、ユーザが、"Send it to those in the meeting on Wednesday"と言いながら、特定のメッセージ上でクリックしたことを示す信号を発生する。このクリック・ジェスチャに基づいて、ポインティング・デバイスと関連する認識エンジンは、ユーザがクリックしたメッセージのメッセージIDと関連がある<Message>意味トークンを収容する単一のノード構造500を生成する。
【0063】
図4および図5の表面的意味構造を談話エンジンに供給し、談話エンジンは、最初に、現入力情報をできるだけ多くのノードに挿入することによって、談話意味構造を展開しようとする。この例では、この結果、図6に示す談話意味ツリーが得られる。
【0064】
図6の談話意味ツリーは、<Send mail>意味トークンを有するルート・ノード600を含む。<Send mail>トークン600は、6つの属性を有し、これらは、<Subject>, <Attachment>, < Blind copy>, <Carbon copy>, <Message>, および<Recipient>の意味トークンをそれぞれ収容する子ノード602,604,606,608,610,および612として現れる。
【0065】
図5および図6の表面的意味構造に基づいて、談話エンジン214は、<Message>トークン610と関連付けることができる、可能な2つの値を有する。これらの値は、"it"、およびポインティング・デバイス認識エンジンによって戻されたメッセージIDである。
【0066】
<Recipient>ノード612は、<Person>トークン614、<Meeting attendees>トークン616、および<Work group>トークン618を含む、更に別の可能な受取人タイプを指し示す。これら3つのトークンの内、<Meeting attendees>616のみが、<Existing meeting>620の子ノードを含むように、更に展開されている。
【0067】
<Existing meeting>トークン620は、データベース内における既存のミーティングを表わす。このような既存のミーティングは、主題、日付、ミーティングの場所、ミーティングのまとめ役、またはミーティングIDによって引用することができる。これらの属性の各々は、別個のトークン622,624,626,628,および630としてそれぞれ示されている。表面的意味に基づいて、談話エンジンは、"Wednesday"の値を<Date>トークン624と関連付けることができる。しかしながら、表面的意味は、<Existing meeting>トークン620の他の属性に対しては値を与えない。
【0068】
属性が満たされていなくても、図6の各意味トークンに対して全ての属性が示ているが、他の実施形態では、れらの属性がより大きな談話ツリーに追加されるべきことを表面的意味が示すまで、これらの属性は談話構造のノードとしては含まれない。
【0069】
談話意味ツリーを展開した後、次に談話エンジンはできるだけツリーを押し潰そうとする。図6のツリーを用いると、談話エンジン214は、最初に間接的参照"it"を解いてメッセージIDの直接的かつ明示的参照とし、次いでドメイン・エキスパートを通じて、このメッセージIDを有するメッセージは1つだけであることを確認することによって、<Message>トークン610を押し潰すことができる。こうして、図7に示すように、一般化した<Message>トークン610を具体的なメッセージIDエンティティと置換する。
【0070】
次に、談話エンジン214は、談話構造の受取人ブランチ上にある最低のノードを押し潰そうとする。これには、<Existing meeting>トークン620を押し潰そうとすることが伴う。これを行なうために、談話エンジンは、ミーティング・ドメイン・エキスパート222を用いて、ドメイン・テーブル220を探索し、<Existing meeting>トークン620に関係する属性を有する既存のミーティングを求める。図6の例では、これには、データベースを探索して水曜日に行われたミーティングを求めることが伴う。水曜日に行われたミーティングが1つのみである場合、<Existing meeting>トークン620を、このミーティングの識別番号と置換する。
【0071】
しかしながら、水曜日に行われたミーティングが1つよりも多い場合、ドメイン・エキスパートは、探索基準を満たすミーティング全てを戻す。談話エンジンは、これらのミーティングを、<Meeting ID>トークン630に対する可能な値として追加する。これは、<Meeting ID>トークン630から展開した代替選択肢800,802,および804として、図8に示されている。
【0072】
既存のミーティング620を押し潰すことができないので、談話エンジン214は次に談話モデル216を用いて、ユーザが3つの可能なミーティング800,802および804の各々の出席者にメールを送りたい確率を判定する。したがって、談話エンジン214は、<Send Mail>ルート・ノードに対し、3つの別個のスコアを生成する。
【0073】
談話モデルに基づいて、可能なミーティングに関連する構造のいずれもが高いスコアを有しておらず、詳細な質問を行なう方が電子メールを送るよりもコストがかからない場合、レンダリング・エンジン224は、ユーザが言及したのはどのミーティングなのか明確にするために、ユーザに質問する。一実施形態の下では、レンダリング・エンジン224は、更に「最初のもの」または「2番目のもの」というような入力を受け入れるように言語モデルを更新し、レンダリング・エンジンがどのようにしてオプションをユーザに与えるかに基づいて、このような入力を特定のミーティングに関連付けることができるようにする。
【0074】
ユーザにミーティングの詳細質問を行なった後、スピーチ認識エンジンは、ユーザから「最初のもの」という句を受け取る。修正言語モデルに基づいて、認識エンジンはこの入力を、最初のミーティングの識別番号と関連のある<Meeting>のルート・トークンを有する表面的意味構造に変換することができる。このような表面的意味構造を図9に示す。
【0075】
この新たな表面的意味構造に基づいて、談話エンジン214は再度送信メール談話構造を展開しようとする。この場合、提供される情報は、<Meeting ID>トークンに対するエンティティであり、したがって<Meeting ID>トークンに関連がある。
【0076】
この小さな展開の後、談話エンジン214は、送信メール談話構造のノードをできるだけ多く押し潰そうとする。押し潰す最初のノードは、<Meeting ID>トークンである。これを行なうには、単に、展開の間これと関連のあったミーティングIDで、そのトークンを置換すればよい。
【0077】
次に、談話エンジン214は、<Existing meeting>トークンを押し潰そうとする。<Existing meeting>トークンの<Meeting ID>属性は、ミーティングIDエンティティと置換されているので、<Existing meeting>トークンは、<Existing meeting>トークンをミーティングIDで置換することによって、押し潰すことができる。
【0078】
押し潰すことができる次のトークンは、<Meeting Attendees>トークン618である。このトークンを押し潰すために、談話エンジン214は、ミーティングIDを、適切なドメイン・テーブルを探索するドメイン・エキスパートに渡し、そのミーティングIDに関連するミーティングに出席した人を特定する。次いで、ドメイン・エキスパートは、ミーティングに出席した人の各々の識別を返す。
これらの人の識別は、次に、図11に示すように、<Meeting Attendees>トークンの代わりに入れられる。
【0079】
次に、談話エンジン214は、下に掲示してある人に基づいて、<Recipient>トークンを押し潰そうとする。これを行なうために、談話エンジン214はこれらの人の識別をドメイン・エキスパートに渡す。ドメイン・エキスパートは、適切なドメイン・テーブルを探索し、これらの人が電子メール・アドレスを有するか否か確認する。これらの人が電子メール・アドレスを有する場合、ドメイン・エキスパートによって、電子メール・アドレスが返される。次いで、<Recipient>トークンの代わりに、電子メール・アドレスが入れられる。これを図12に示す。
【0080】
この段階において、談話エンジン214は談話モデルを用いて、スコアを送信メール談話構造全体に付与する(attribute)。このスコアは、送信メール談話構造を生成するために用いた入力に関連する認識スコア、およびユーザがメールを送りたい尤度双方を考慮する。尚、談話モデルは、曖昧さが少ない談話構造程高いスコアを付与することも注記しておく。この場合、受取人および送信するメッセージ双方が特定されているので、送信メール談話構造は非常に高い確率を有する。何故なら、ユーザはこのメッセージIDを、図12の送信メール談話構造にリストしてある電子メール・アドレスに送ろうと考えている可能性が高いからである。
【0081】
図12の談話構造、およびそれに関係する確率をレンダリング・エンジンに渡し、レンダリング・エンジンは挙動モデルを用いて、送信メール談話構造が表わすアクションを実行できる程確率が高いか否か判定を行なう。送信メール談話構造は完全に押し潰されているので、レンダリング・エンジンが電子メールを送る可能性は非常に高い。
【0082】
前述のように、本ダイアログ・システムのサブシステムの各々は、確率モデルを用いてパターン認識を行なう。したがって、認識エンジン206は、言語モデル210を用いて、種々の異なる表面的意味構造に対して確率を特定する。これは、数学的にP(F|x)として表わすことができる。ここで、xはユーザ入力、Fは特定した表面的意味構造、そしてP(F|x)はユーザ入力が与えられたときの表面的意味構造の確率である。
【0083】
同様に、談話エンジンは、談話モデルを用いて、1組の可能な談話構造の各々に対して、スコアを生成する。包括的に、談話エンジンは、以前のダイアログ状態および表面的意味構造が与えられると、現ダイアログ状態の確率を与えるものとして考えることができる。数学的表現では、これはP(Sn|F,Sn-1)となり、Snは現ダイアログ状態であり、Fは現表面的意味構造であり、Sn-1は直前のダイアログ状態であり、P(Sn|F,Sn-1)は現表面的意味構造および直前のダイアログ状態が与えられたときの現ダイアログ状態の確率である。尚、このコンテクストでは、直前のダイアログ状態は、談話メモリ、および談話エンジンが開いたあらゆる談話構造を含む。
【0084】
したがって、認識エンジン206、言語モデル210、談話エンジン214および談話モデル216全てを併せて、ユーザ入力および過去のダイアログ状態に基づいて、可能な現談話状態に対するスコアを特定するダイアログ状態エンジンを表わす。ダイアログ状態エンジンが、2つのより小さなエンジンを内蔵するものとして記載されたが、別の実施形態では、ダイアログ状態エンジンは、単一のモデルを用いる単一のエンジンとして実施されることを当業者は認めよう。
【0085】
本発明の下では、レンダリング・エンジン224は、挙動モデル226によって表わされる、確率モデルも利用する。即ち、レンダリング・エンジン224は、現ダイアログ状態が与えられると、最低コストのアクションを決定する。これは、現ダイアログ状態または数学的にP(A|Sn)として与えられると、各アクションの確率を判定するものとして表わすことができる。ここで、Aはアクション、Snは現ダイアログ状態である。
【0086】
本発明の下におけるダイアログ・システムの各エレメントは確率モデルを用いているので、ダイアログ・システムのアクションは、単一の確率モデルとして表わすことができる。数式に置き換えると、ダイアログ・システムの機能は次のように表わすことができる。
【0087】
【数1】
Figure 0005166661
ここで、Aoptは、取るべき最適なアクションであり、P(A|x, Sn-1)は、ユーザ入力x,および以前のダイアログ状態Sn-1が与えられた場合のアクションAの確率である。
【0088】
数1によって与えられる全体的確率は、更に、認識エンジン、談話エンジン、およびレンダリング・エンジンに関連する個々の確率に分解することができる。これから次の式が得られる。
【0089】
【数2】
Figure 0005166661
ここで、P(A|Sn)は、レンダリング・エンジンが生成した確率、P(Sn|F,Sn-1)は談話エンジンが生成した確率、そしてP(F|x)は認識エンジンが生成した確率である。ビタビ近似を用いると、数2を更に簡略化することができる。
【0090】
【数3】
Figure 0005166661
ここで、ビタビ近似は、レンダリング・エンジンにおいて最大の確率を選択し、可能なアクション全てに対する確率の和を表わす。
【0091】
単一の数式においてシステム性能全体を表わすことができるので、本システムを最適化するのが一層容易となる。理論的および経験的に、これは、システム全体を訓練し、種々のサブシステムを統合化して単一のシステムを生成するための、一層効率的な手段を提供することが示されている。更に、各サブシステムに関連する別個の確率は、サブシステムをモジュール状ユニットに形成する手段となり、1組の入力値が与えられた際にモジュール状ユニットが、あるスコアを、期待される出力構造に与える限り、各モジュール状ユニットの機能そのものを重視しないようにする。
【0092】
図13は、分散計算環境において実施可能な本発明の第2実施形態のブロック図を示す。図14は、図13の実施形態を用いるダイアログ方法のフロー図を示す。
【0093】
図13において、ユーザは、インターフェース1300および1302で代表する1つ以上のユーザ入力インターフェースを通じて入力を与える。ユーザ入力は、ネットワーク1304および1306で示すように、インターネットまたはイントラネットのようなネットワークを通じて送信することができる。入力は、HTTPおよびFTPを含む種々の公知のネットワーク・プロトコルのいずれの1つに応じても送信することができる。即ち、ユーザからのスピーチ入力はwaveファイル、または特徴ベクトルの集合として送ることができる。また、ユーザ入力は、拡張可能マークアップ言語(XML)フォーマットで送信することも可能である。
【0094】
図14のステップ1400において、認識エンジン1308および1310は、言語モデル1312および1314を用いて、ユーザ入力に基づき最も可能性が高い1組の表面的意味を特定する。本発明のこの実施形態の下では、言語モデル1312および1314は、拡張可能マークアップ言語(XML)フォーマットで著した(author)ものである。このXMLフォーマットの下では、異なる表面的意味オブジェクトが、XMLページにおけるタグとして表わされ、意味オブジェクトの階層が、XMLネスト・タグにおいて見出される階層によって表わされる。
【0095】
認識エンジンによってユーザ入力に関連付けられた言語モデルからのタグを、表面的意味を搬送する別個のXML記述ページ内に置く。一実施形態の下では、意味マークアップ言語またはSMLと呼ぶマークアップ言語を、XMLから展開し表面的意味を表わす。この実施形態の下では、認識エンジン1308および1310の出力は、意味マークアップ言語ページである。例えば、発声"what is the phone number for Kuansan?"(クアンサンの電話番号は何番か)に対する表面的SMLは次の通りである。
【0096】
【表1】
Figure 0005166661
この例では、DirectoryQueryは、表面的意味のルート・ノードを表わし、発声において見出された意図の基本的タイプが何であるかを示す。PersonByNameは、発声の中で明示的に言及された人がいることを示し、DirecotryItemは、ユーザが住所録の項目を探していることを示す。
【0097】
多くの実施形態では、有効なSMLページを生成する命令は、動的に合成され、言語モデルに埋め込まれる。殆どの実施形態では、有効なSMLページを生成する命令は、Worldwide Web Consortiumが設定したextensible stylesheet language transformations (XSLT:拡張可能スタイルシート言語変換)規格に従う。XSLT規格は、2つの統合部分、ソース文書の照合および変換文書の生成から成る。XMLページとしてフォーマット化されているユーザ入力に対して、規格の両部分が言語モデルによって用いられる。しかしながら、waveファイルのように、XMLページとしてフォーマット化されていないユーザ入力に対しては、単純なテキストまたは特徴ベクトル、変換文書を生成するための規格のみを用いることができる。
【0098】
SMLページでは、認識スコアを、XML属性として、SMLノードに結び付ける。DirecotryItemに対する信頼性尺度を渡す一例を先に示した。実施形態によっては、音響モデルおよび言語モデルのスコアを同様に取り付ける場合もある。
【0099】
認識エンジン1308および1310が生成したSMLページは、談話エンジン1314に渡される。図13の実施形態では、談話エンジン1314は、認識エンジンと同じマシン上に位置してもよく、あるいは別個のマシン上に位置してもよい。その場合、SMLページは、図13のネットワーク1350のようなネットワークを通じて、談話エンジンに送信する。
【0100】
図14のステップ1402において、談話エンジン1314は談話モデル1316を用いて、表面的意味SMLページを談話意味SMLページに変換する。本発明の一実施形態の下では、これを行なう際に、特殊化したXMLを用いて、談話モデルを指定する。即ち、談話モデルを意味定義言語(SDL)で書く。意味定義言語は、SML文書の正当な構造を定義し、表面的意味および談話意味において見出された意味オブジェクト間の関係を特定する。SDLを用いてSMLのマークアップ言語シェーマを定義することによって、システムはSMLのシェーマを動的に調節することが可能となり、文書タイプ定義またはXMLシェーマ・フォーマットのいずれにおいても、別個のSMLシェーマ仕様の必要がなくなる。モデルのSLDページは、意味推論規則も与え、談話エンジン1314がこれを利用して談話構造の展開および縮小を行なう。これは、談話メモリ1318およびドメイン・エキスパート1320にアクセスするための規則を含む。尚、本発明の下では、談話メモリ1318、ドメイン・エキスパート1320、およびドメイン・テーブル1324は、先に図2において同様に命名した項目に対して記載した場合と同様に動作することを注記しておく。談話モデル1316のDSLに設けられた規則は、種々の談話意味に対してスコアを生成し、特定の談話意味を選択してレンダリング・エンジン1326に供給するためにも供する。
【0101】
上述の表面的意味の例を続けると、談話エンジンの出力は、次を含むSMLページとなる。
【0102】
【表2】
Figure 0005166661
このSMLページでは、談話エンジンが電話番号を番号エンティティに解明し、Kuansanに対する参照を特定の人Kuansan Wangに解明していることが分かる。
【0103】
談話エンジン1314によって与えられるSMLページには、先に示したように、推論スコアも授けられる。前述の例は挙動が正しい認識および理解のみを実証したが、SMLプロセスのXML順応性は、認識および意味的曖昧さが生じた場合に、これらに注釈を付ける際に十分な表現力を有することを当業者は認めよう。
【0104】
談話エンジン1314が生成したSMLページは、レンダリング・エンジン1326に供給される。実施形態によっては、2つのエンジンを異なるコンピュータ上に配置し、図13のネットワーク1352のようなネットワークで接続する場合もある。
【0105】
図14のステップ1404において、レンダリング・エンジン1326は、受け取ったSMLページを適切なアクションに変換する。最初に、レンダリング・エンジン1326が受け取ったXMLページを挙動モデル1328に適用する。本発明の一実施形態では、挙動モデル1328は、拡張可能スタイルシート言語(XSL)を用いて設計しており、特にXSL−変換(SXLT)を用いて設計している。XSLT規格を用いると、挙動モデルは、SML構造を別のマークアップ言語に、例えば、ハイパーテキスト・マークアップ言語(html)、ワイヤレス・マークアップ言語(wml)、またはテキスト−スピーチ(tts)マークアップ言語に変換することができる。したがって、挙動モデル1328は、談話エンジンが生成する特定的なSML構造を、htmlページ、wmlページ、またはその他の出力のような適切な出力ページに埋め込まれるアクションに変換するための規則を含む。
【0106】
別の実施形態では、挙動モデルは、XSLT規格の文書照合部分のみを使用することができるが、文書生成部分を使用することはできない場合もある。これは、取るべきアクションがマークアップ言語ページの生成を伴わない場合、例えば、アクションがシステム・コマンドである場合に発生する可能性がある。このような場合、挙動モデルは照合機能を実行し、次いで適切なアクションを生成する最良の手段を決定する。
【0107】
したがって、挙動モデルの出力は、明確化する質問をユーザに行なうスクリプト、または特定のアクションを行なうシステム・コマンドのようなものを含むアクション・ページとすることができる。このようにして、レンダリング・システム1326は、図2のレンダリング・システムが適切なアクションを選択した場合と同様に、適切なアクションを選択する。
【0108】
前述のSMLテキストのテキスト−スピーチ・アクション (text-to-speech action)を生成するのに適したXSLTセクションの一例は次の通りである。
【0109】
【表3】
Figure 0005166661
このXSLTテキストから、ユーザに与える応答、"For Kuansan Wang, the phone number is +1(425)703-8377."(クアンサン・ワンの電話番号は、+1(425)703−8377です)が得られる。これは、オーディオ信号としてユーザに与えられる。韻律的操作のような、進んだテキスト−スピーチ・マークアップを前述の例に容易に追加できることを当業者は認めよう。あるいは、挙動モデルはXSLTスタイルシートを選択し、応答をthmlテーブルとすることも可能である。このようなテーブルを生成するスタイルシートの一例を以下に示す。
【0110】
【表4】
Figure 0005166661
尚、レンダリング・エンジンは、インターフェース・メモリ1322内のインターフェース情報、および談話意味構造を記述するSML文書におけるタグに基づいて、適切なスタイルシート・テンプレートを動的に選択可能であることを注記しておく。
【0111】
談話エンジンが与えるSML談話ページは、レンダリング・エンジン1326がどのアクションを行なうべきか判定する際に役立つキューを含むことができる。例えば、クエリが"Derek"という名前の人に対するものであり、データベースの中に27個の一致がある場合、談話SMLページは次のように見える。
【0112】
【表5】
Figure 0005166661
この例では、先の例におけるDirectoryQueryおよびPersonByNameのような、談話エンジンによって押し潰すことができない意味オブジェクトには、"TBD"判定ステータス(status of to-be-determined)のフラグを立てる。また、談話SMLは、ダイアログの現フォーカスにマークし、意味評価が継続している場所を示す。例えば、DirectoryQueryタグでは、フォーカス属性を人と等しくセットし、ディレクトリ・クエリに関連する人が未だ解明されていないことを示す。これら2つのキュー(cue)は、挙動モデルが適切な応答、即ち、適切なXSLTスタイルシートを選択する際に補助となる。
【0113】
この例では、挙動モデルは、ディスプレイ上に27通りの可能性全てを提示するhtmlページを生成するXSLTスタイルシートを選択することができる。しかしながら、これが適切なのは、高機能ブラウザ(full-scale browser)がユーザに使用可能な場合のみである。このようなブラウザがユーザには使用可能でない場合、システムは代わりにテキスト系スタイルシートを用いることができる。しかしながら、このようなスタイルシートは、数回のダイアログのやりとりに基づく、より精巧なダイアログ方式により、曖昧さを解明するために一連の質問をユーザに行なうことを必要とする場合がある。
【0114】
挙動モデル1328によって決定するアクションは、レンダリング・エンジン1326が実施し、多くの場合ユーザ出力インターフェース1330への出力が得られる。この出力は、直接ユーザ出力インターフェースに渡すことができ、あるいは中間ネットワーク1332を通じて渡すこともできる。
【0115】
本発明のこの実施形態の特徴の1つは、ユーザがダイアログ・セッションの最中にユーザ・インターフェースを切り替えられることである。これを行なうために、ユーザは、新たなユーザ・インターフェースに切り替えたいことを伝達する。談話エンジン1314は、このインターフェース情報を最新談話意味SMLページとしてレンダリング・エンジン1326に渡す。挙動モデルは、このSMLページを、インターフェース・メモリ1322を更新するアクションに変換し、新たに選択したインターフェースを反映する。次いで、レンダリング・エンジン1326がこの新たなインターフェースを用いて、今後のSMLページのために適正なスタイルシートを選択し、SMLページを、新たなインターフェースに適した出力フォーマットに変換するようにする。
【0116】
尚、このシステムの下では、談話自体に対する談話意味構造は変化しない。したがって、談話エンジン1314を再コード化したり、ユーザが出力インターフェースを変更するときにもその動作を変更する必要は全くない。これによって、新たなユーザ出力インターフェースが使用可能になったときに、これらに適合化させるのが一層容易になる。
【0117】
ダイアログ方式は、動的に交換可能なXSLTにおいてエンコードするので、システムもダイアログ設計者に対して、動的にダイアログ方式に適合化するための膨大な量の柔軟性を提供する。例えば、システムが経験のあるユーザに遭遇した場合、挙動モデルは、ダイアログ・フローを殆どの時間ユーザに決定させるスタイルシートを適用することを選択することができる。しかしながら、混乱が生じた場合、挙動モデルは、「システム主導」型ダイアログ・スタイルに後退し、より厳密なステップに従うように人のユーザに要求することができる。ダイアログ・セッション最中におけるダイアログ・スタイルの変更は、異なるスタイルシートを適用することと同等であり、システムの残りに対しては、言語や談話モデルの変更を必要としない。
【0118】
XSLTをダイアログ・アプリケーションに適用しなかった理由の1つは、XSLTがメモリ状態を有さないからである。このため、図13の実施形態における挙動モデルおよびレンダリング・エンジンは、ダイアログの過去の状態を格納することができない。図13の実施形態の下では、これは問題とならない。何故なら、談話エンジン1314は、ダイアログの過去の状態を管理し格納することができるからである。そして、談話エンジン1314は、レンダリング・エンジン1326および挙動モデル1328が必要とするあらゆるメモリ・エレメントを、SMLページの談話意味構造を通じて受け渡す。
【0119】
本発明は、好適な実施形態を参照しながら説明してきたが、本発明の精神および範囲から逸脱することなく、形態および詳細において変更も可能であることを当業者は認めよう。即ち、これまでツリー構造を参照しながら本発明の説明を行なってきたが、適当なデータ構造であればいずれでも使用可能であり、本発明はツリーに基づく構造に限定される訳ではない。
【0120】
加えて、前述の実施形態は談話意味エンジンおよび談話モデルを利用したが、他の実施形態では、これらのエレメントは含まれない。このような実施形態では、表面的意味を直接レンダリング・エンジンに供給し、次いでレンダリング・エンジンが表面的意味を直接挙動モデルに適用することによって、アクションを選択する。このような実施形態では、挙動モデルは表面的意味のみに基づき、ダイアログ状態を参照せずに、アクションのコストを決定する。
【図面の簡単な説明】
【図1】図1は、本発明を実施可能なパーソナル計算システムの全体的ブロック図である。
【図2】図2は、本発明のダイアログ・システムのブロック図である。
【図3】図3は、本発明の下におけるダイアログ方法のフロー図である。
【図4】図4は、スピーチ入力に対して認識エンジンが生成した表面的意味ツリー構造のグラフ図である。
【図5】図5は、ポインタ・デバイス入力に対して、認識エンジンが作成した表面的意味構造のグラフ図である。
【図6】図6は、本発明の談話エンジンが生成した談話ツリー構造のグラフ図である。
【図7】図7は、押し潰した後のメッセージ・ノードを示す図6の談話ツリーである。
【図8】図8は、ドメイン・テーブルに見られるミーティング・エントリを含ませるための談話ツリーの展開を示す図7の談話ツリーである。
【図9】システムの質問に対するユーザの応答に基づいて、認識エンジンが生成した表面的意味構造のグラフ図である。
【図10】既存のミーティング・モードがユーザの回答に応答して押し潰された後の図8の談話ツリーである。
【図11】ミーティング参加者ノードが押し潰された後の図10の談話ツリーである。
【図12】受信側ノードが押し潰された後の図11の談話ツリーである。
【図13】本発明のダイアログ・システムの第2実施形態のブロック図である。
【図14】本発明の下におけるダイアログ・システムの、マークアップ言語に基づく実施形態のフロー図である。
【符号の説明】
100 計算システム環境
110 コンピュータ
120 処理ユニット(CPU)
121 システム・バス
130 システム・メモリ
131 リード・オンリ・メモリ(ROM)
132 ランダム・アクセス・メモリ(RAM)
133 基本入出力システム
134 オペレーティング・システム
135 アプリケーション・プログラム
136 プログラム・モジュール
137 プログラム・データ
140 インターフェース
141 ハード・ディスク・ドライブ
144 オペレーティング・システム
145 アプリケーション・プログラム
146 プログラム・モジュール
147 プログラム・データ
151 磁気ディスク・ドライブ
152 リムーバブル不揮発性磁気ディスク
155 光ディスク・ドライブ
156 リムーバブル不揮発性光ディスク
160 ユーザ入力インターフェース
161 ポインティング・デバイス
162 キーボード
163 マイクロフォン
171 ローカル・エリア・ネットワーク(LAN)
172 モデム
173 ワイド・エリア・ネットワーク(WAN)
180 リモート・コンピュータ
181 メモリ素子
185 リモート・アプリケーション・プログラム
190 ビデオ・インターフェース
191 モニタ
196 プリンタ
197 スピーカ
200 ダイアログ・システム
202,204 ユーザ・インターフェース
206,208 認識エンジン
210,212 言語モデル
214 談話エンジン
216 談話モデル
218 談話メモリ
220 ドメイン・テーブル
222 ドメイン・エキスパート
224 レンダリング・エンジン
226 挙動モデル
228 ユーザ出力インターフェース
230 インターフェース・メモリ
400 ルート・ノード
402〜410 子ノード
600 ルート・ノード
602〜630 子ノード
800〜804 選択肢
1300,1302 インターフェース
1304,1306 ネットワーク
1308,1310 認識エンジン
1312,1314 言語モデル
1316 談話モデル
1318 談話メモリ
1320 ドメイン・エキスパート
1324 ドメイン・テーブル
1326 レンダリング・エンジン
1328 挙動モデル
1330 ユーザ出力インターフェース
1332 中間ネットワーク
1350,1352 ネットワーク

Claims (11)

  1. コンピュータ・システムにおいてダイアログ・インターフェースを提供する方法であって、
    ユーザ入力を受け取るステップと、
    前記ユーザ入力を言語モデルに適用するステップであって、前記ユーザ入力の内容を記述する少なくとも1つの表面的意味を生成し、かつ該少なくとも1つの表面的意味の各々に対するスコアを決定し、各前記少なくとも1つの表面的意味が、少なくとも1つの表面的意味トークンを含む、ステップと、
    各前記少なくとも1つの表面的意味を談話モデルに適用するステップであって、ユーザとのダイアログの現状態を記述する少なくとも1つの談話意味を生成し、かつ各該少なくとも1つの談話意味に対するスコアを決定し、各前記少なくとも1つの談話意味が、少なくとも1つの談話意味トークンを含む、ステップと、
    各前記少なくとも1つの談話意味を挙動モデルに適用するステップであって、前記コンピュータ・システムがとる少なくとも1つのアクションを定め、かつ各該少なくとも1つのアクションに対するスコアを決定する、ステップと、
    前記言語モデルが与える前記スコアと前記談話モデルが与える前記スコアとおよび前記挙動モデルが与える前記スコアに部分的に基づいて、前記少なくとも1つのアクションのうちの1つを選択して行なうステップと、
    を備えた方法。
  2. 請求項1記載の方法であって、更に、
    前記ユーザ入力を受け取るステップは、複数のモードのユーザ入力を受け取るステップを含み、
    前記ユーザ入力を言語モデルに適用するステップは、
    各前記モードのユーザ入力を、当該各モードのユーザ入力に対して用意された言語モデルに適用するステップであって、受け取った各前記モードのユーザ入力に対し、少なくとも1つの表面的意味を生成し、かつ各該少なくとも1つの表面的意味に対してスコアを決定する、ステップ、
    を含む、方法。
  3. 請求項1記載の方法において、各前記少なくとも1つの表面的意味を談話モデルに適用するステップは、更に、
    談話意味が含む談話意味トークンに対する可能な置換物として、前記談話意味トークンに関連する属性と同じ属性をもつ複数のエンティティをデータベースから検索するステップと、
    前記談話意味トークンの前記属性を表す子談話意味トークンとして、前記複数のエンティティを追加して、各前記エンティティに対し別個の談話意味構造を形成するステップと、
    各エンティティに関連する各前記談話意味構造に対し、スコアを決定するステップと、を含む、方法。
  4. 請求項1記載の方法において、各前記少なくとも1つの談話意味を挙動モデルに適用するステップは、更に、使用可能なユーザ・インターフェースの識別を前記挙動モデルに適用し、前記使用可能なユーザ・インターフェースと適合するアクションが、前記ユーザ・インターフェースと適合しないアクションよりも総合的に高いスコアを受けるようにするステップを含む、方法。
  5. 請求項1記載の方法であって、
    各前記少なくとも1つの談話意味を挙動モデルに適用するステップは、拡張可能スタイルシート言語を用いて設計された挙動モデルを使うことによって、マークアップ言語を用いて記述されるアクションに、マークアップ言語を用いて記述される各前記少なくとも1つの談話意味を変換するステップを含み、使用可能なユーザ・インターフェースに基づいて、前記アクションに対する前記マークアップ言語が選択される、
    方法。
  6. 請求項5記載の方法において、各前記少なくとも1つの談話意味の前記マークアップ言語は、拡張可能マークアップ言語であり、マークアップ言語を用いて記述されるアクションに各前記少なくとも1つの談話意味を変換することは、各前記少なくとも1つの談話意味を拡張可能スタイルシート言語変換に適用することを含む、方法。
  7. 請求項6記載の方法であって、更に、
    前記使用可能なユーザ・インターフェースを変更する命令をユーザから受け取るステップと、
    各前記少なくとも1つの談話意味を第2の拡張可能スタイルシート言語変換に適用して、各前記少なくとも1つの談話意味を、第2マークアップ言語を用いて記述したアクションに変換するステップと、
    を含む、方法。
  8. コンピュータに基づくダイアログ・インターフェースをユーザに提供するシステムであって、
    ユーザから入力を受け取り、少なくとも1つのモデルを用いて、少なくとも1つの現ダイアログ状態に対すスコアを生成するダイアログ状態エンジンであって、各前記少なくとも1つの現ダイアログ状態が、談話意味構造によって表され、該談話意味構造が、特定のエンティティの一般的な表現を与える意味トークンを含み、前記スコアが、前記ユーザからの入力と以前のダイアログ状態とに基づき、前記ダイアログ状態エンジンが、
    モデルを用いて、前記ユーザ入力に基づいて少なくとも1つの表面的意味に対するスコアを決定する認識エンジンと、
    モデルを用いて、前記認識エンジンからの少なくとも1つの表面的意味および以前のダイアログ状態に基づいて、少なくとも1つの現ダイアログ状態に対するスコアを決定する談話エンジンと、
    を含む、ダイアログ状態エンジンと、
    モデルを用いて、前記少なくとも1つの現ダイアログ状態に基づいて少なくとも1つのアクションに対するスコアを特定するレンダリング・エンジンであって、前記少なくとも1つの表面的意味に対するスコアと前記少なくとも1つの現ダイアログ状態に対するスコアとおよび前記少なくとも1つのアクションに対するスコアが、前記少なくとも1つのアクションのうちから1つを選択するために使用される、レンダリング・エンジンと、
    を備えたシステム。
  9. 請求項8記載のシステムにおいて、前記ダイアログ状態エンジンは、マークアップ言語を用いることによって、前記レンダリング・エンジンに対する前記現ダイアログ状態を記述し、前記レンダリング・エンジンは、前記現ダイアログ状態を記述する前記マークアップ言語を、アクションを記述する第2マークアップ言語に変換する、システム。
  10. 請求項9記載のシステムにおいて、前記現ダイアログ状態は、拡張可能マークアップ言語を用いて記述され、前記レンダリング・エンジンは、拡張可能スタイルシート言語変換を利用して、前記拡張可能マークアップ言語を前記第2マークアップ言語に変換する、システム。
  11. 請求項10記載のシステムにおいて、前記ダイアログ状態エンジンは、更に、ユーザから、前記出力インターフェースを変更したいという指示を受け取り、前記レンダリング・エンジンは、前記出力インターフェースの変更に基づいて、前記拡張可能スタイルシート言語変換を変更して、前記現ダイアログ状態の同じ拡張可能マークアップ言語記述を、前記第2マークアップ言語とは異なる第3マークアップ言語に変換するようにした、システム。
JP2001279145A 2000-09-14 2001-09-14 計画に基づくダイアログを実行する方法および装置 Expired - Lifetime JP5166661B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/662,242 US6785651B1 (en) 2000-09-14 2000-09-14 Method and apparatus for performing plan-based dialog
US09/662242 2000-09-14

Publications (3)

Publication Number Publication Date
JP2002259372A JP2002259372A (ja) 2002-09-13
JP2002259372A5 JP2002259372A5 (ja) 2012-05-10
JP5166661B2 true JP5166661B2 (ja) 2013-03-21

Family

ID=24656958

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001279145A Expired - Lifetime JP5166661B2 (ja) 2000-09-14 2001-09-14 計画に基づくダイアログを実行する方法および装置

Country Status (3)

Country Link
US (2) US6785651B1 (ja)
EP (2) EP1199630A3 (ja)
JP (1) JP5166661B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12353835B2 (en) * 2022-01-26 2025-07-08 Beijing Baidu Netcom Science Technology Co., Ltd. Model training method and method for human-machine interaction

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590224B1 (en) * 1995-09-15 2009-09-15 At&T Intellectual Property, Ii, L.P. Automated task classification system
US7664313B1 (en) * 2000-10-23 2010-02-16 At&T Intellectual Property Ii, L.P. Text-to scene conversion
US7016828B1 (en) 2000-10-23 2006-03-21 At&T Corp. Text-to-scene conversion
US20020133347A1 (en) * 2000-12-29 2002-09-19 Eberhard Schoneburg Method and apparatus for natural language dialog interface
US7711570B2 (en) 2001-10-21 2010-05-04 Microsoft Corporation Application abstraction with dialog purpose
US8229753B2 (en) 2001-10-21 2012-07-24 Microsoft Corporation Web server controls for web enabled recognition and/or audible prompting
US7302394B1 (en) * 2001-12-20 2007-11-27 Ianywhere Solutions, Inc. Front-end device independence for natural interaction platform
US20040203629A1 (en) * 2002-03-04 2004-10-14 Dezonno Anthony J. Intelligent interactive voice response unit
US7398209B2 (en) * 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7401057B2 (en) 2002-12-10 2008-07-15 Asset Trust, Inc. Entity centric computer system
KR100580619B1 (ko) * 2002-12-11 2006-05-16 삼성전자주식회사 사용자와 에이전트 간의 대화 관리방법 및 장치
US7200559B2 (en) * 2003-05-29 2007-04-03 Microsoft Corporation Semantic object synchronous understanding implemented with speech application language tags
US8301436B2 (en) 2003-05-29 2012-10-30 Microsoft Corporation Semantic object synchronous understanding for highly interactive interface
WO2005043386A1 (de) * 2003-09-30 2005-05-12 Siemens Aktiengesellschaft Verfahren und system zur sprachkonfigurierung eines computerprogramms
US7003758B2 (en) * 2003-10-07 2006-02-21 Brion Technologies, Inc. System and method for lithography simulation
US7555533B2 (en) * 2003-10-15 2009-06-30 Harman Becker Automotive Systems Gmbh System for communicating information from a server via a mobile communication device
US7295981B1 (en) * 2004-01-09 2007-11-13 At&T Corp. Method for building a natural language understanding model for a spoken dialog system
EP1555652B1 (en) * 2004-01-19 2007-11-14 Harman Becker Automotive Systems GmbH Activation of a speech dialogue system
EP1560200B8 (en) * 2004-01-29 2009-08-05 Harman Becker Automotive Systems GmbH Method and system for spoken dialogue interface
DE602004014893D1 (de) 2004-01-29 2008-08-21 Daimler Ag Multimodale Dateneingabe
EP1562180B1 (en) * 2004-02-06 2015-04-01 Nuance Communications, Inc. Speech dialogue system and method for controlling an electronic device
US20130304453A9 (en) * 2004-08-20 2013-11-14 Juergen Fritsch Automated Extraction of Semantic Content and Generation of a Structured Document from Speech
US7584103B2 (en) * 2004-08-20 2009-09-01 Multimodal Technologies, Inc. Automated extraction of semantic content and generation of a structured document from speech
US8713025B2 (en) 2005-03-31 2014-04-29 Square Halt Solutions, Limited Liability Company Complete context search system
US7584099B2 (en) * 2005-04-06 2009-09-01 Motorola, Inc. Method and system for interpreting verbal inputs in multimodal dialog system
US8265939B2 (en) 2005-08-31 2012-09-11 Nuance Communications, Inc. Hierarchical methods and apparatus for extracting user intent from spoken utterances
US8731954B2 (en) 2006-03-27 2014-05-20 A-Life Medical, Llc Auditing the coding and abstracting of documents
US7493293B2 (en) * 2006-05-31 2009-02-17 International Business Machines Corporation System and method for extracting entities of interest from text using n-gram models
JP2009541800A (ja) * 2006-06-22 2009-11-26 マルチモダル テクノロジーズ,インク. 音声認識方法
US8059790B1 (en) * 2006-06-27 2011-11-15 Sprint Spectrum L.P. Natural-language surveillance of packet-based communications
US8553854B1 (en) 2006-06-27 2013-10-08 Sprint Spectrum L.P. Using voiceprint technology in CALEA surveillance
US8140267B2 (en) * 2006-06-30 2012-03-20 International Business Machines Corporation System and method for identifying similar molecules
US8073681B2 (en) 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
US9396185B2 (en) * 2006-10-31 2016-07-19 Scenera Mobile Technologies, Llc Method and apparatus for providing a contextual description of an object
US7818176B2 (en) 2007-02-06 2010-10-19 Voicebox Technologies, Inc. System and method for selecting and presenting advertisements based on natural language processing of voice-based input
US8682823B2 (en) 2007-04-13 2014-03-25 A-Life Medical, Llc Multi-magnitudinal vectors with resolution based on source vector features
US7908552B2 (en) 2007-04-13 2011-03-15 A-Life Medical Inc. Mere-parsing with boundary and semantic driven scoping
US7818271B2 (en) * 2007-06-13 2010-10-19 Motorola Mobility, Inc. Parameterized statistical interaction policies
US8799285B1 (en) * 2007-08-02 2014-08-05 Google Inc. Automatic advertising campaign structure suggestion
US9946846B2 (en) 2007-08-03 2018-04-17 A-Life Medical, Llc Visualizing the documentation and coding of surgical procedures
US9305548B2 (en) 2008-05-27 2016-04-05 Voicebox Technologies Corporation System and method for an integrated, multi-modal, multi-device natural language voice services environment
US8296144B2 (en) * 2008-06-04 2012-10-23 Robert Bosch Gmbh System and method for automated testing of complicated dialog systems
US8326637B2 (en) 2009-02-20 2012-12-04 Voicebox Technologies, Inc. System and method for processing multi-modal device interactions in a natural language voice services environment
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
US8959102B2 (en) 2010-10-08 2015-02-17 Mmodal Ip Llc Structured searching of dynamic structured document corpuses
CN103688279A (zh) * 2011-04-25 2014-03-26 韦韦欧股份有限公司 用于智能个人时间表助理的系统和方法
CA2747153A1 (en) * 2011-07-19 2013-01-19 Suleman Kaheer Natural language processing dialog system for obtaining goods, services or information
US9336776B2 (en) * 2013-05-01 2016-05-10 Sap Se Enhancing speech recognition with domain-specific knowledge to detect topic-related content
US10541053B2 (en) 2013-09-05 2020-01-21 Optum360, LLCq Automated clinical indicator recognition with natural language processing
US10133727B2 (en) 2013-10-01 2018-11-20 A-Life Medical, Llc Ontologically driven procedure coding
US9721570B1 (en) 2013-12-17 2017-08-01 Amazon Technologies, Inc. Outcome-oriented dialogs on a speech recognition platform
EP3195145A4 (en) 2014-09-16 2018-01-24 VoiceBox Technologies Corporation Voice commerce
WO2016044321A1 (en) 2014-09-16 2016-03-24 Min Tang Integration of domain information into state transitions of a finite state transducer for natural language processing
US9747896B2 (en) 2014-10-15 2017-08-29 Voicebox Technologies Corporation System and method for providing follow-up responses to prior natural language inputs of a user
US10431214B2 (en) 2014-11-26 2019-10-01 Voicebox Technologies Corporation System and method of determining a domain and/or an action related to a natural language input
US10572810B2 (en) * 2015-01-07 2020-02-25 Microsoft Technology Licensing, Llc Managing user interaction for input understanding determinations
US10353905B2 (en) * 2015-04-24 2019-07-16 Salesforce.Com, Inc. Identifying entities in semi-structured content
US9792281B2 (en) 2015-06-15 2017-10-17 Microsoft Technology Licensing, Llc Contextual language generation by leveraging language understanding
US10249297B2 (en) 2015-07-13 2019-04-02 Microsoft Technology Licensing, Llc Propagating conversational alternatives using delayed hypothesis binding
WO2018023106A1 (en) 2016-07-29 2018-02-01 Erik SWART System and method of disambiguating natural language processing requests
US10546586B2 (en) 2016-09-07 2020-01-28 International Business Machines Corporation Conversation path rerouting in a dialog system based on user sentiment
US20180068012A1 (en) * 2016-09-07 2018-03-08 International Business Machines Corporation Chat flow tree structure adjustment based on sentiment and flow history
US10446137B2 (en) 2016-09-07 2019-10-15 Microsoft Technology Licensing, Llc Ambiguity resolving conversational understanding system
US10621166B2 (en) 2017-03-23 2020-04-14 International Business Machines Corporation Interactive dialog in natural language using an ontology
CA3064565C (en) 2017-05-22 2023-02-28 Greeneden U.S. Holdings Ii, Llc System and method for dynamic dialog control for contact center systems
US10957313B1 (en) * 2017-09-22 2021-03-23 Amazon Technologies, Inc. System command processing
US10600419B1 (en) 2017-09-22 2020-03-24 Amazon Technologies, Inc. System command processing
JP6973157B2 (ja) * 2018-02-16 2021-11-24 日本電信電話株式会社 議論構造拡張装置、議論構造拡張方法、及びプログラム
US11222283B2 (en) 2018-10-23 2022-01-11 International Business Machines Corporation Hierarchical conversational policy learning for sales strategy planning
US11404058B2 (en) 2018-10-31 2022-08-02 Walmart Apollo, Llc System and method for handling multi-turn conversations and context management for voice enabled ecommerce transactions
US11183176B2 (en) 2018-10-31 2021-11-23 Walmart Apollo, Llc Systems and methods for server-less voice applications
US11238850B2 (en) 2018-10-31 2022-02-01 Walmart Apollo, Llc Systems and methods for e-commerce API orchestration using natural language interfaces
US11195524B2 (en) * 2018-10-31 2021-12-07 Walmart Apollo, Llc System and method for contextual search query revision
CN116052664B (zh) * 2023-01-30 2025-10-31 思必驰科技股份有限公司 用于口语对话的实时语义理解方法、系统和电子设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5355444A (en) 1990-01-23 1994-10-11 International Business Machines Corporation Expert system wtih a plurality of independent knowledge bases
JP2804403B2 (ja) 1991-05-16 1998-09-24 インターナショナル・ビジネス・マシーンズ・コーポレイション 質問回答システム
EP0543329B1 (en) * 1991-11-18 2002-02-06 Kabushiki Kaisha Toshiba Speech dialogue system for facilitating human-computer interaction
EP0644483B1 (en) 1993-09-14 1999-01-20 International Business Machines Corporation Computer system and method for performing multiple tasks
US5748974A (en) * 1994-12-13 1998-05-05 International Business Machines Corporation Multimodal natural language interface for cross-application tasks
US5710918A (en) 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US6192110B1 (en) * 1995-09-15 2001-02-20 At&T Corp. Method and apparatus for generating sematically consistent inputs to a dialog manager
US5995921A (en) 1996-04-23 1999-11-30 International Business Machines Corporation Natural language help interface
US5999896A (en) * 1996-06-25 1999-12-07 Microsoft Corporation Method and system for identifying and resolving commonly confused words in a natural language parser
US5872568A (en) 1996-08-14 1999-02-16 International Business Machines Corporation Application and method for creating a list from pre-defined and user values
US5892813A (en) * 1996-09-30 1999-04-06 Matsushita Electric Industrial Co., Ltd. Multimodal voice dialing digital key telephone with dialog manager
US6192354B1 (en) 1997-03-21 2001-02-20 International Business Machines Corporation Apparatus and method for optimizing the performance of computer tasks using multiple intelligent agents having varied degrees of domain knowledge
CA2292959A1 (en) * 1997-05-06 1998-11-12 Speechworks International, Inc. System and method for developing interactive speech applications
EP0895396A3 (en) * 1997-07-03 2004-01-14 Texas Instruments Incorporated Spoken dialogue system for information access
US6044347A (en) * 1997-08-05 2000-03-28 Lucent Technologies Inc. Methods and apparatus object-oriented rule-based dialogue management
WO1999021106A1 (en) * 1997-10-20 1999-04-29 Microsoft Corporation Automatically recognizing the discourse structure of a body of text
US6269336B1 (en) * 1998-07-24 2001-07-31 Motorola, Inc. Voice browser for interactive services and methods thereof
WO2000011571A1 (en) * 1998-08-24 2000-03-02 Bcl Computers, Inc. Adaptive natural language interface
JP3703082B2 (ja) * 1998-10-02 2005-10-05 インターナショナル・ビジネス・マシーンズ・コーポレーション 会話型バーチャル・マシンによる会話型コンピューティング
WO2000021074A1 (en) * 1998-10-05 2000-04-13 Lernout & Hauspie Speech Products N.V. Speech controlled computer user interface
US6246981B1 (en) * 1998-11-25 2001-06-12 International Business Machines Corporation Natural language task-oriented dialog manager and method
US6356869B1 (en) * 1999-04-30 2002-03-12 Nortel Networks Limited Method and apparatus for discourse management
US6421655B1 (en) * 1999-06-04 2002-07-16 Microsoft Corporation Computer-based representations and reasoning methods for engaging users in goal-oriented conversations
TW501046B (en) * 1999-06-11 2002-09-01 Ind Tech Res Inst A portable dialogue manager
US6490560B1 (en) * 2000-03-01 2002-12-03 International Business Machines Corporation Method and system for non-intrusive speaker verification using behavior models
US6567805B1 (en) * 2000-05-15 2003-05-20 International Business Machines Corporation Interactive automated response system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12353835B2 (en) * 2022-01-26 2025-07-08 Beijing Baidu Netcom Science Technology Co., Ltd. Model training method and method for human-machine interaction

Also Published As

Publication number Publication date
US7398211B2 (en) 2008-07-08
US6785651B1 (en) 2004-08-31
US20040249638A1 (en) 2004-12-09
EP1710695A2 (en) 2006-10-11
EP1199630A8 (en) 2002-07-31
EP1710695A3 (en) 2007-06-06
JP2002259372A (ja) 2002-09-13
EP1199630A3 (en) 2005-02-02
EP1199630A2 (en) 2002-04-24

Similar Documents

Publication Publication Date Title
JP5166661B2 (ja) 計画に基づくダイアログを実行する方法および装置
JP6678764B1 (ja) 多言語での自動化されたアシスタントを用いたエンドツーエンドコミュニケーションの促進
JP4267081B2 (ja) 分散システムにおけるパターン認識登録
CN110741364B (zh) 确定自动化助理对话的状态
CN101075435B (zh) 一种智能聊天系统及其实现方法
CN101189659B (zh) 用于认知超负荷的设备用户的交互式对话
US6374224B1 (en) Method and apparatus for style control in natural language generation
JP4849663B2 (ja) 会話制御装置
KR20210158344A (ko) 디지털 어시스턴트를 위한 머신 러닝 시스템
EP1089193A2 (en) Translating apparatus and method, and recording medium used therewith
WO2002073452A1 (en) Method for automated sentence planning
US10713288B2 (en) Natural language content generator
US7742922B2 (en) Speech interface for search engines
JP2001357053A (ja) 対話装置
EP2507722A1 (en) Weight-ordered enumeration of referents and cutting off lengthy enumerations
WO2007005884A2 (en) Generating chinese language couplets
CN116915916A (zh) 通话处理方法、装置、电子设备及介质
Di Fabbrizio et al. AT&t help desk.
JPH07191687A (ja) 自然言語処理装置及びその方法
US8775459B2 (en) Method and apparatus for robust input interpretation by conversation systems
JP3691773B2 (ja) 文章解析方法とその方法を利用可能な文章解析装置
CN110249326A (zh) 自然语言内容生成器
Sinha et al. Transforming interactions: mouse-based to voice-based interfaces
CN1296588A (zh) 开放式全息模板式人机对话语言翻译方法及全息语义标注系统
JP2024085139A (ja) テキスト生成方法、テキスト生成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080910

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110909

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111214

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20120308

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121221

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5166661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term