JP4112171B2 - 音声制御アプリケーションのために自然言語理解を用いるシステムおよび方法 - Google Patents

音声制御アプリケーションのために自然言語理解を用いるシステムおよび方法 Download PDF

Info

Publication number
JP4112171B2
JP4112171B2 JP2000512200A JP2000512200A JP4112171B2 JP 4112171 B2 JP4112171 B2 JP 4112171B2 JP 2000512200 A JP2000512200 A JP 2000512200A JP 2000512200 A JP2000512200 A JP 2000512200A JP 4112171 B2 JP4112171 B2 JP 4112171B2
Authority
JP
Japan
Prior art keywords
utterance
asr
valid
grammar
detected
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 - Fee Related
Application number
JP2000512200A
Other languages
English (en)
Other versions
JP2001516905A (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.)
Unisys Corp
Original Assignee
Unisys 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 Unisys Corp filed Critical Unisys Corp
Publication of JP2001516905A publication Critical patent/JP2001516905A/ja
Application granted granted Critical
Publication of JP4112171B2 publication Critical patent/JP4112171B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/26Speech to text 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/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)

Description

【0001】
【発明の分野】
この発明は一般に、コンピュータ化された自然言語体系に関する。この発明は特に、対話式音声応答システムに音声理解能力を与えるためのコンピュータシステムおよび方法に関する。この発明はさらに、制限された音声認識アプリケーションにおいて発話を解釈するためのコンピュータシステムおよび方法に関する。
【0002】
【関連技術の説明】
コンピュータは我々の日常生活において欠かせないものとなっている。我々の多くは職場、家庭において、さらには買い物のときに、1日に何時間も機械を使用している。しかしながら、コンピュータの使用では常にコンピュータが主体となっている。コンピュータに我々の要求を伝達するためにマウス、押しボタンおよびキーボードを使用することは常に多少不自然なものであった。しかしながら、コンピュータの技術進歩に伴い、コンピュータは人間が主体となって行なう通信、すなわち発話された言葉による通信に近づきつつある。
【0003】
人間と会話ができるコンピュータを生み出すためのステップは基本的に2つある。第1に、コンピュータは発話された言葉を検知して、単純なテキストなどの何らかの形式のコンピュータで読取可能なデータに変換するために自動音声認識を必要とする。第2に、コンピュータには、コンピュータで読取可能なデータを分析してそれらが使用される際に何を意味するかを判断するための何らかの方法が必要である。この第2のステップでは典型的に、何らかの形式の人工知能が採用されており、言葉から意味を抽出し得るシステムを開発するために研究者がいくつかの基本的なアプローチを試みている。
【0004】
このようなアプローチの1つは、統計的なコンピュータ言語に関わる。このアプローチは、人間の音声が持つ比較的推測可能な性質に依存する。統計的コンピュータ言語はコーパスから始まり、これは文法に含まれるサンプルとしての発話のリストである。このコーパスが分析されて文法の統計的特性が抽出される。これらの統計的特性はルールとして実現され、これらのルールは発話されたことの意味を統計的に「推測」するために新しい発話に適用される。
【0005】
すべての言語(英語、中国語、およびドイツ語など)には多数の発話があり得、その言語における有効な発話をすべて含むものを列挙する試みは、コーパスに基づいた言語システムではなされていない。しかしながらシステムの中には、有効な発話を予め規定された文法の発話に制限または限定することにより、可能な発話数を低減する試みがなされている。たとえば、Linebarger, et al.に発行され、ペンシルベニア州ブルーベル(Blue Bell, Pa.)にあるユニシス・コーポレイション(Unisys Corporation)に譲渡され、引用によって援用される米国特許(1996年12月13日に特許が付与された出願番号第08/066,747号)には、航空交通管制命令だけを理解する言語プロセッサが教示されている。ここでは、航空交通管制官の文章が分割されて個々の命令になり、これらの命令が後に個別に処理されてそれらの意味を判断するようにする。不都合にも、このタイプの処理では、有効な文法が航空交通管制に関する比較的制限された語彙から、たとえばあらゆる取引を扱い得る自動化された銀行員の機械にまで増加すると、多大な演算能力をすぐに消費してしまう。
【0006】
他の自然言語体系では全範囲の発話に関して余裕が持たせてあるが、この高度な一般性にもまた多大な演算能力が要求される。自然言語体系に全範囲の一般性を要求することのない制限された文法の音声を解釈し得る言語理解システムが必要である。
【0007】
【発明の概要】
この発明の一般的な目的は、対話式音声認識システムに、制限された音声理解能力を与えるためのシステムおよび方法を提供することである。
【0008】
この発明の別の目的は、発話の背後にある意味を解釈する作業を単純化するためのシステムおよび方法を提供することである。
【0009】
この発明のさらなる目的は、発話の背後にある意味の解釈において非常に精度が高いコーパスに基づいた音声認識システムを生み出すためのシステムおよび方法を提供することである。
【0010】
この発明のさらなる目的は、コンピュータネットワークによって対話式音声応答システムに接続された複数の実行時インタプリタ(runtime interpreter)を採用するためのシステムおよび方法を提供することである。
【0011】
これらおよび他の目的は、単純な検索リストによって発話の背後にある意味を判断するための実行時インタプリタを提供するこの発明によって達成される。実行時インタプリタは入力として、有効な発話のリストである注釈付コーパスと、有効な発話の各々に関する文脈識別子と、発話の背後にある意味を表す有効な発話の各々に関するトークンデータとを受信する。実行時インタプリタはさらに、コーパスにおいて検出され得るテキスト形式での発話を入力として受信する。
【0012】
解釈すべき発話が実行時インタプリタに与えられると、実行時インタプリタはコーパスを検索し、検索された有効な発話の場所を突き止め、有効な発話の意味を表すトークンを戻す。
【0013】
実行時インタプリタはさらに、コーパスのサイズを低減するための変数の使用を支持する。発話の中には、コーパスにおいて数え切れないほどの多くの組合せがある、数、日付、時間または他の要素を含み得る。たとえば、「私の誕生日はxxxです」という発話で「xxx」が1年のうちのある日付を表す場合、1年のうち可能な日付(閏日を含む)の各々に1つずつ対応する、366個のコーパスエントリがある。しかしながらこの発明では、日付を表すために変数が使用され得る。したがって、低減されたコーパスにはこの発話、すなわち「私の誕生日は[日付]です」という発話に対して1つしかエントリを含まない。実行時インタプリタはコーパスにおいてこれらの変数を識別することができ、変数を解釈するために実行時にさらなる処理を行なう。変数値は、解釈されると、その発話が変数を含んでいたトークンに関連した予め規定されたデータ構成でストアされる。この変数値は後に対話式音声応答システムによって取出すことができる。
【0014】
この発明はさらに、対話式音声応答システムの開発者に、インタプリタ自体を実際に変形することなく実行時インタプリタの動作をカスタマイズする能力を与える、カスタムプロセッサインタフェースを提供する。
【0015】
さらに、この発明は、コンピュータネットワークに接続された複数のインタプリタを使用するためのシステムおよび方法を提供する。分散式インタプリタが提供され、これらは同じカスタムプロセッサインタフェースと、上述の実行時インタプリタとを含む。しかしながら、分散式インタプリタは、分散式インタプリタとコンピュータネットワークとの間のメッセージ送信を制御するための付加的なマネージャを含む。リソースマネージャがさらに提供され、これはネットワークに接続された分散式インタプリタを追跡し、対話式音声応答システムによってそれらの使用を管理する。
【0016】
【好ましい実施例の説明】
この発明を説明する前に、いくつかの用語を定義する必要がある。これらの用語および定義には下記のものが含まれる。
【0017】
注釈付ASRコーパスファイル−ある文法における有効な発話のリストと、対話式音声認識システム(IVR130)への有効な発話の意味を表す、有効な発話の各々に関するトークンデータとを含むデータファイル。
【0018】
自動音声認識(ASR)−発話された言葉を識別し、それらをテキスト(文字)などのコンピュータで読取可能な形式で報告することができる、コンピュータハードウェアおよびソフトウェアのための一般的な用語。
【0019】
セル−表(表はセルからなる行および列で構成される)内の別個の要素。後に「rules」の定義によって提示される例としてのルールでは、「I want」、「I need」および「food」の各々がセルに入れられる。さらに、好ましい実施例では、「I want」および「I need」を含むセルは縦方向に互いに隣接している(同じ列)。縦方向に隣接するセルすべての論理和がとられる。しかしながら、「food」を含むセルは「I want」および「I need」の列の右の列にあり、「food」が「I want」または「I need」に後続すべきことを示しており、そのようなものとして、「food」を含むセルの論理積がとられ、「I want」および「I need」を含むセルに後続する。
【0020】
制限された文法−発話者の言語における可能な陳述文の各々およびすべてを含まない文法。これにより、許容できる陳述文の範囲が制限される。
【0021】
コーパス−大きなリスト
文法−理解されるべき言語全体。文法は1組のルールを用いて、または文法の範囲内で許容される陳述文の各々およびすべてを列挙することにより表現され得る。
【0022】
文法開発ツールキット(104)−文法および文法を表すルールの組を作成するために使用されるソフトウェア。
【0023】
自然言語理解−通常の態様で発話される、発話された陳述文の背後にある意味を識別すること。
【0024】
句−文法の「基礎単位」。句は、表内のセル全体を占める言葉、言葉のグループ、または変数である。
【0025】
ルール−これらは文法の論理を規定する。一例としてのルールは(「I want」|「I need」「food」)であり、これは「I want」または「I need」で始まり「food」が直後に来る陳述文だけを含む文法を規定する。
【0026】
実行時インタプリタ(124)−有効な発話が聞こえるたびに注釈付コーパス(122)を検索し、有効な発話の意味を表すトークンを戻すソフトウェア。
【0027】
実行時インタプリタアプリケーションプログラムインタフェース(RIAPI)−それを介して対話式音声応答システム(130)が実行時インタプリタを使用する、インタフェースとしての役割を果たすソフトウェア機能の組。
【0028】
音声認識装置(116)−発話された言葉を検出して識別することができるハードウェアおよびソフトウェアの組合せ。
【0029】
音声認識器コンパイラ(114)−入力としてベンダ特有ASR文法ファイル(112)を受入れ、ファイル(112)を処理して実行時に音声認識装置(116)で使用するようにするための、音声認識装置(116)とともに含まれるソフトウェア。
【0030】
表−文法を表すために使用される2次元の表。表の内容は、好ましい実施例では左から右へと読まれる。
【0031】
トークン−表のうち有効な発話の各々の後に、トークンを含むセルが後続し、トークンは対話式音声応答システム(130)への、有効な発話の意味を表す(文法を開発する際に開発者が作成する)独特なデータ値である。
【0032】
発話−陳述文。
話された発話−大きな声で発せられた発話。発話が文法のルールに従う場合には発話は有効な発話でもあり得る。
【0033】
有効な発話−文法の中に検出される発話。有効な発話は文法を規定するルールに従う。
【0034】
変数−可能性が多くありすぎて全ては列挙できない句を表すためにコーパス(122)で使用される「プレースホルダ(place holder)」。たとえば、「1と100万との間で私の好きな数はxxxです」という発話によって、可能な数各々に1つずつ対応する、999,998個のコーパスエントリがある。しかしながらこの発明では、コーパス(122)の数を表すための変数が使用され得る。したがって、低減されたコーパス(122)には「1と100万との間で私の好きな数は[整数]です」という発話に対して1つしかエントリがない。実行時インタプリタ(124)はコーパスにおけるこの変数を識別することができ、数を解釈するために実行時にさらなる処理を行なう。
【0035】
ベンダ特有ASR文法ファイル(112)−文法を表すルールの組を含み、音声認識器コンパイラ(114)によって認識されることとなる形式で書込まれるデータファイル。
【0036】
次に、いくつかの図面に示される要素には図面を通して同じ参照番号が記される図面を参照して、埋込式自然言語理解システム(100)の好ましい実施例を実現するために必要な構成が図1に示される。基本的な要素は、
対話式音声応答システム(130)またはIVRと、
文法開発ツールキット(104)と、
自動音声認識(ASR)システム(118)の部分であるコンパイラ(114)および音声認識装置(116)と、
注釈付自動音声認識(ASR)コーパスファイル(122)と、
ベンダ特有ASR文法ファイル(112)と、
実行時インタプリタ(124)と、
カスタムプロセッサインタフェース(126)またはCPと、
実行時インタプリタアプリケーションプログラムインタフェース(128)またはRIAPIとを含む。これらの要素は後に詳細に説明するが、埋込式アーキテクチャの概要を最初に見ておくと、これらの要素および役割のが十分に理解できるであろう。
【0037】
1.埋込式アーキテクチャの概要
以下の概要では単一の実行時インタプリタ(124)を採用する埋込式アーキテクチャを説明する。複数の実行時インタプリタを採用する、分散式第2のアーキテクチャがある。分散アーキテクチャを以下にさらに説明する。
【0038】
自然言語体系を実現する第1のステップは、文法における有効な発話を支配するルールの組を作成することである。一例として、「what do you want for lunch?」という質問に対する返答に関する文法は下記のとおりであろう。
【0039】
<reply>:((「I want」|「I'd like」)(「hotdogs」|「hamburgers」))
このルールの組のもとでは、有効なすべての返答は2つの部分、すなわち1)「I want」または「I'd like」と、それに後続する2)「hot dogs」または「hamburgers」とを含む。この表記は「Backus−Naur−Form(BNF)と呼ばれ、これは論理積および論理和を使用する文法形式である。この発明の好ましい実施例ではこのタイプの文法が作成される。
【0040】
図1を参照して、文法は文法開発ツールキット(104)を使用して開発者によって作成される。好ましい実施例では、ツールキット(104)は、ソフトウェア開発プログラムとしてMicrosoft Visual Basic(商標)を備えたIntelベースの中央処理装置(CPU102)(たとえばIntel Pentium(商標))を有するコンピュータを用いて開発される。コンピュータはさらに、ランダムアクセスメモリ(RAM106)と、システムメモリにストアされたメモリファイル(108)と、キーボード(110)とを含む。
【0041】
ツールキット(104)は、自然言語アプリケーションの開発者に簡単な文法作成方法を提供する新規な表計算指向ソフトウェアパッケージである。
【0042】
ツールキット(104)を用いて開発者が文法作成を完了すると、ツールキット(104)によって2つの出力が生成され、自然言語体系で使用される。このような出力のうち第1のものはベンダ特有ASR文法ファイル(112)であり、これは自動音声認識システム、すなわちASR(118)によって認識可能である形式で保存される。ASRシステム(118)は2つの部分、すなわちコンパイラ(114)と、実際音声認識装置(116)とを含む。好ましい実施例において、音声認識装置(116)は連続音声発話者独立型の音声認識装置である。市場で入手可能な音声認識装置(116)には、Lernout & Hauspieによって製造されているASR−1500と、AT & Tによって製造されているWatson 2.0と、NuanceによるNuance 5.0とが含まれる。ツールキット(104)の好ましい実施例は、これらの音声認識装置のうちいずれの場合でも文法ファイルを作成することができる。
【0043】
ベンダ特有ASR文法ファイル(112)は音声認識装置(116)が認識することが要求され、音声認識装置と互換性のある形式で書込まれる言葉および句に関する情報を含む。ファイルはさらに、選択された音声認識装置(116)に関する詳細を利用するよう最適化される。たとえば、L&Hの認識装置を用いると、L&Hの文法は、始まりが同じである多数のルール(「I want」で始まる3つのルール)を文法が持たないようにすれば、うまく機能を果たす。L&Hの認識装置に関する文法を最適化すると、<rule1>:(ab)|(ac)|(ad)から<rule2>:a(b|c|d)にルールの組が書き換えられるだろう。ここで、「rule1」の3つのルールは、書き換えられ、組合せられて「rule2」の1つのルールになっている。
【0044】
音声に作用してそれぞれを認識するために、音声認識装置はASRシステム(118)のベンダによって供給されているコンパイラツール(114)を用いてベンダ特有ASR文法ファイル(112)をコンパイルする必要がある。ツールキット(104)の好ましい実施例は、文法がいつ作成されるか、およびどの音声認識装置(116)が使用され、ベンダ特有ASR文法ファイル(112)をそれに応じてフォーマット化し得るかを認識している。
【0045】
ツールキット(104)からの第2の出力は注釈付ASRコーパス(122)であり、これは実際には1対のフラットファイル(flat file)である。ファイルのサンプル形式が図3に示される。この対のうち第1のものはコーパスファイルであり、(以下に説明するように変数を除いて)文法内の可能なすべての論理的文章または句のリストと、それらが現れるコンパートメント(表のグループ)と、聞こえた発話(文章)の分類を表す値とを含む。第2のものは、トークンまたは発話の意味を表すデータ値によって各発話の分類をマッピングする回答ファイルである。これらの2つのファイルは実行時インタプリタ(124)によって使用され得る。
【0046】
実行時に、発話者は音声認識装置(116)に取付けられたマイクロフォン(または電話)(120)に向かって発話する。認識装置(116)は聞こえた言葉および句を識別し、有効な発話が聞こえたときにIVR(130)に通知する。IVR(130)は音声理解能力を必要とするシステムであり、必要な外部接続および機能のためのハードウェアを含む(たとえばバンキングIVR−130は、銀行のデータベースへの接続と、データ入力のためのキーパッドと、情報の表示のための視覚表示装置と、預金引出のための引出装置と、ユーザに対して返答するためのスピーカとを含み得る)。この有効な発話が、テキストといったコンピュータで読取可能な形式でIVR(130)に送られ、このIVR(130)は聞こえた発話を実行時インタプリタ(124)に通知する。実行時インタプリタ(124)は注釈付ASRコーパス(122)を参照し、認識装置(116)が聞いた有効な文章に対する適切なトークンをIVR(130)に戻す。このトークンは認識装置(116)が聞いた発話の意味を表し、IVR(130)はこれで発話に対して適切に応答することができる。CP(126)およびRIAPI(128)は、それを介してIVR(130)が実行時インタプリタ(124)にアクセスし得るソフトウェアインタフェーストしての役割を果たす。実行時に発話者と対話するために音声能力を最終的に使用するのはIVR(130)である。
【0047】
3.実行時インタプリタ
実行時インタプリタ(124)はソフトウェアコンポーネントであって、聞こえた有効な発話と、検索されるコンパートメントを特定する文脈情報をテキスト形式で受信するものである。実行時インタプリタ(124)は有効な発話を検出するためにコーパスファイル(122)(検索を早めるためにRAMにロードされている)を検索する。コーパスにおいて有効な発話が検出されると、関連のトークンがメモリにストアされ、IVR(130)によって取出される。埋込式アプリケーションでは、実行時インタプリタ(124)に対する呼出は、カスタムプロセッサ(126)すなわちCP内での機能によって行なわれる。CP(126)は本来、実行時インタプリタ(124)とRIAPI(128)との間の透過てきな「媒介物」である、別のソフトウェアコンポーネントである。開発者によって生み出されたIVR(130)はRIAPI(128)の機能にアクセスするだけである。RIAPI(128)は必要なCP(126)の呼出を行ない、これはさらに、必要な実行時インタプリタ(124)の呼出を行なう。
【0048】
CP(126)を設ける目的はカスタマイズ可能性(customizability)にある。CP(126)は発話の処理を向上させるために開発者がカスタマイズすることができる。たとえば、開発者は実行時インタプリタ(124)によって実際に処理される前に発話に対して何らかのタイプの処理を施すことを希望するであろう。この前処理は、実行時インタプリタ(124)を実際に変形することなく開発者によってCP(126)に施すことができる。CP(126)の使用は、基礎となるIVR(130)がVos(パリティによる)またはBlaBla(メディアソフトによる)などの低レベルのスクリプト言語によって行なわれるときに特に好都合であり、これは発話テキストの前処理を直接支持しない。IVR(130)がC++などの高レベル言語で書かれる場合、発話テキストの前処理はCP(126)を必要とすることなくIVR(130)コード自体で行なうことができる。
【0049】
実行時インタプリタ(124)は発話から変数を抽出するための機能をさらに提供する。コーパスファイルがまずロードされると、変数を含むコーパスアイテムがフラグ付される。コーパスに対する最初のバイナリ検索によって正確な発話が検出されない場合、発話の部分照合を検出するために2回目の検索が行われる。このときは、フラグ付されたコーパスアイテムのみが検索され、コーパスアイテムの少なくとも非変数部分が発話に含まれる場合には部分照合が検出される。
【0050】
たとえば、好ましい実施例のコーパスファイル(122)の形式では有効な発話における通常の言葉から変数をセットオフするために[ および ]が使用される。したがって、「I want to transfer [CURRENCY1, money] to savings」という発話がコーパスファイルに検出されるであろう。認識装置(116)によって聞かれる発話が「I want to transfer ten dollars to savings」であれば、最初のバイナリ検索では、発話はコーパスアイテムのうちいずれとも照合しない。この最初の検索で照合しなければ、インタプリタ(124)はフラグ付されたすべてのコーパスアイテムに対して2回目の検索を行なう。聞かれた発話は少なくとも「I want to transfer ... to savings」を含み、部分照合が達成される。照合しない言葉「ten dollars」は[CURRENCY1, money]というタイプの変数として別のアルゴリズムによって処理され、これにより句「ten dollars」を10.00に変換し、10.00をトークン「money」に関連した変数として戻す。この変数データは後に、トークンがストアされたメモリ場所に関連した予め規定されたデータ構成でストアされる。IVR(130)がトークンを処理する場合、それは、変数データも戻されたことを認識しており、変数データをメモリから取出す。発話の変数を変数データに変換するためのアルゴリズムは変数内に含まれるデータのタイプに依存する。図2は、好ましい実施例によって支持される変数のタイプを示す。以下の擬似コードは、発話(テキスト形式)の変数部分を変数データ(数字形式)に変換するために好ましい実施例において使用されるステップを示す。
【0051】
【数1】
Figure 0004112171
【0052】
【数2】
Figure 0004112171
【0053】
【数3】
Figure 0004112171
【0054】
【数4】
Figure 0004112171
【0055】
【数5】
Figure 0004112171
【0056】
【数6】
Figure 0004112171
【0057】
【数7】
Figure 0004112171
【0058】
図示され、対話式音声応答(IVR)システムによって使用される実行時インタプリタ(124)の基本的な動作が図4に示される。以下の説明では、用いられる特定的な機能の名称は好ましい実施例で見られるものである。まず、ステップ400においてIVR(130)を起動する必要がある。IVR(130)は自動化された銀行員用機械といった他の仕事を行なうためのソフトウェアシステムであり、この発明の音声理解能力を利用する。たとえば、銀行は会話式自動化行員用機械を提供するためにIVR(130)を開発し得る。好ましい実施例において、IVR(130)は実行時に音声認識装置(116)を管理する責任を担う。
【0059】
IVR(130)がまず希望することには、ステップ402において音声認識装置を初期化することがある。音声認識装置を初期化するために必要な厳密なステップは、使用される市販の音声認識装置に依存するが、一般的なステップには、ツールキット(104)を用いて作成されたベンダ特有ASR文法(112)をコンパイルすること、およびコンパイルされたものを、音声認識装置(116)にアクセス可能なローカルメモリに何らかの形式でロードすることを伴う。
【0060】
次に、ステップ404において、実行時インタプリタ(124)を初期化する必要がある。これはIVR(130)がNL_Init機能を呼出すと行なわれる。この機能は本質的に、現在のアプリケーションに使用され得る注釈付ASRコーパス(122)に関するファイル経路および名称を入力として受信し、このファイル経路および名称をメモリにストアするものである。
【0061】
ステップ406において、IVR(130)はNL_OpenApp機能を呼出すことにより実行時インタプリタ(124)のセットアップを終える。この機能は、その名称およびファイル経路がステップ404においてNL_Init機能によってストアされたコーパスファイルにアクセスし、検索に備えてコーパスをシステムメモリ(RAM)にロードする。検索を最適にするために、コーパスファイル(さまざまな有効な発話)の内容を、RAMにロードする際にアルファベット順に整理する。有効な発話をアルファベット順に整理することにより検索性能が高まる。これは、好ましい実施例において発話とトークンとを照合するためにバイナリ検索が使用されるからである。バイナリ検索は目標とする要素を検出するために分類化されたリストに対して検索を行なう一般的な方法であり、基本的に、目標とするアイテムが検出されるまで検索されるリストアイテムの範囲を徐々に半分にすることを伴う。
【0062】
このロードプロセス時に、コーパスデータはさらに、1)変数を含むコーパスアイテムにフラグ付すること、および2)2回目の検索時にコーパスアイテムが処理される順番(大きい順)を特定するリストを作成することによって最適化される。最適化の際のこの最後のビットは、2回目の検索によりフラグメントが検索されるため、小さなフラグメント(少ない言葉)が、大きなフラグメントの方が適切な場合に不本意に照合してしまうため、重要である。たとえば、アイテム「I want to transfer ... to savings」はアイテム「I want to transfer ... British pounds to savings」よりも小さい。発話が「I want to transfer ten British pounds to savings」であり、小さなアイテムが最初に処理される場合、それは誤って照合し(「I want to transfer ... to savings」が検出される)、残りの言葉(「ten British pounds」)を送信して、「ten」が第2のアイテムの変数として実際に処理されるべき場合に、第1のアイテムの変数として処理する。2回目の検索が行なわれるときには大きなアイテムを最初に処理することが重要であり、この順序づけは、RAMメモリにコーパスを最初にロードする際に行なわれる。ポインタの別個のリストが作成され、コーパスがロードされる際にメモリにストアされ、このリストは変数を有するアイテムを処理すべき順(大きい順)を特定する。フラグ付されたコーパスアイテムのリストもメモリにストアされる。
【0063】
一旦音声認識装置(116)および実行時インタプリタ(124)の両方が初期化され、実行時インタプリタ(124)がコーパスをロードした後、実行時インタプリタがそのジョブを行なう準備が整う。この時点でIVR(130)は行なうべき他の処理を有してもよく、実行時インタプリタ(124)は待機する。
【0064】
未来のある時点で、IVR(130)は話者との会話が今にも始まろうとしていることを検出する。これが起こると、IVR(130)は実行時インタプリタ(124)内のセションを開く必要がある(セションとは話者とのダイヤモンドログのやり取りである)。IVR(130)はこれをステップ406においてNL_OpenSession機能を呼出すことによって行なう。この機能はセションハンドルを生み出し、セションハンドルを開かれたセションに関連づける。このセションに関連した将来の機能呼出しはセションを参照するためにセションハンドルを用いる。
【0065】
次に、ステップ408において、音声認識装置(116)は完全な発話が聞こえたかもしれないことをIVR(130)に知らせる。好ましい実施例では、音声認識装置(116)はNBest形式のデータを戻すタイプである。NBest形式は単に、音声認識装置(116)によって聞かれる起こり得る有効発話(テキスト形式)のリストを各有効発話が聞かれた可能性を示す信頼性数値とともに含む出力データである。
【0066】
NBest形式は、複数の有効発話が同様に聞こえる場合に役立つ。たとえば有効な文法が“I want honey”および“I want money”を含み、話者が“I want mfhoney”と不明瞭に話せば、音声認識装置は、最も正しく聞こえたと信じる単一の有効発話を単に戻すのではなく、両方の有効発話を可能性として戻す。信頼性数値も各有効発話ごとに含められ、特定の有効発話が確かに聞こえたものであったという音声認識装置の確信を示す。この複数の可能性は、実行時インタプリタ(124)もまた現在の議論の文脈を知っており、どの有効発話が意味されるのかをより正確に判断するために文脈情報を用いることができる場合に有益である。後述するように、実行時インタプリタ(124)の好ましい実施例は、何が意味されるかの判断においてこのような文脈情報を用いる。
【0067】
IVR(130)が音声認識装置(116)からの出力を受取った後、この出力は次にステップ410において解釈のために実行時インタプリタ(124)に渡される。これを行なうため、IVR(130)は好ましい実施例ではNL_AnalyzeNBest機能を呼出す。この機能は、IVR(130)が受取るNBestデータと、セションハンドルと、検索されるべきコンパートメントを示す文脈ポインタとを入力として受入れる。
【0068】
NL_AnalyzeNBest機能が実行されると、実行時インタプリタ(124)は次に、メモリへとロードされているコーパスを検索して有効発話を探す。照合があれば、リターントークンがメモリに記憶される。照合がなければ、前述の変数検索が行なわれ、変数データが予め規定されたデータ構造に記憶される。この検索はステップ412に示される。
【0069】
NL_AnalyzeNBestを呼出した後、IVR(130)はステップ416においてNL_GetResultを呼出して、NL_AnalyzeNBestによって記憶されているトークンをメモリから引出す必要がある。変数が発話に含まれていることをトークンが示せば、IVR(130)はステップ416においてNL_GetVariableを呼出して、NL_AnalyzeNBestが変数データを記憶するために用いたメモリ内の予め規定されたデータ構造から変数値を引出す。
【0070】
一旦トークンと任意の必要なデータとがメモリに記憶されると、実行時インタプリタ(124)は(今のところでは)そのセションに対して終了する。ステップ418において、実行時インタプリタ(124)は別の発話またはセションの終了のいずれかを待つ。
【0071】
別の発話が起これば、音声認識装置(116)はステップ408においてIVR(130)に再び通知し、IVR(130)はステップ410においてNL_AnalyzeNBestを呼出し、このプロセスは前のように続行する。
【0072】
セションが終了すべきであれば、IVR(130)はステップ420においてNL_CloseSessionを呼出す。セションの閉鎖によってセションハンドルの関連が解かれる。
【0073】
この時点のステップ422において、実行時インタプリタ(124)は新たなセションが始まるのかコマンドが現在のアプリケーションを停止するのかを待つ。新たなセションが始まるべきであれば、IVR(130)はステップ404において再びNL_OpenSessionを呼出し、処理はこれまでどおりステップ404から続行する。現在のアプリケーションが閉鎖されるべきであれば、IVR(130)はステップ424においてNL_CloseAppを呼出して、アプリケーションが開かれたときに割当てられていたメモリを解放する。
【0074】
次にステップ426において、IVR(130)はNL_Shutdownを呼出してNL_Initの効果を取消す。
【0075】
最後に、ステップ428および430において、IVR(130)は音声認識装置(116)およびIVR(130)自体を停止する責任を有する。必要な実際のステップは選択された音声認識装置(116)とIVR開発者とによって変化する。
【0076】
実行時インタプリタ(124)はまた、CP(126)が渡すNbestデータを管理することを望む開発者のための機能を与える。機能は、Nbestバッファを生み出す(NB_CreateBuffer)、1つの発話だけでのNbestバッファを生み出す(NB_CreateOneBest)、Nbestバッファ内に発話を設定する(NB_SetUtterance)、Nbestバッファ内に発話のためのスコアを設定する(NB_SetScore)、Nbestバッファ内に発話/スコアの対を設定する(NB_SetUtteranceScore)、Nbestバッファ内に記憶できる発話の数を定める(NB_GetNumResponses)、Nbestバッファから発話を得る(NB_GetUtterance)、Nbestバッファからスコアを得る(NB_GetScore)、特定のNbestバッファのために割当てられていたメモリを解放する(NB_DestroyBuffer)ことが有効である。
【0077】
4.実行時インタプリタアプリケーションプログラムインタフェース
実行時インタプリタアプリケーションプログラムインタフェース(128)またはRIAPIはIVR(130)の開発者が実行時インタプリタ(124)と相互作用するために実際に用いられるソフトウェア機能の集合である。RIAPI(128)の好ましい実施例に含まれる機能は、NL_Init(),NL_OpenApp(),NL_OpenSession(),NL_AnalyzeNbest(),NL_GetResult(),NL_GetVariabl(),NL_CloseSession(),NL_CloseApp()およびNL_Shutdown()を含む。
【0078】
NL_Initは、初期化情報を処理し、かつセション用にメモリを割当てるために起動時に一度呼出される初期化機能である。初期化情報は、ローカルログファイルのための名前と、セションの最大数と、経路選択モード(埋込式または分散式−分散式アーキテクチャを後述する)とを含み得る。例示的実施例では、NL_Initの呼出しによってCP_Init(CP等価物)が呼出され、それによってSAI_Init(実行時インタプリタ124等価物)が呼出される。以下のRIAPI(128)の機能のほとんどもCP(126)の機能呼出しにつながり、それによって対応の実行時インタプリタ(124)機能が呼出される。好ましい実施例による2つの例外は、変数または結果を取出すためにメモリに直接的にアクセスするNL_GetVariableおよびNL_GetResult機能である。
【0079】
NL_OpenAppはインタプリタ(124)内にアプリケーションを確立するために呼出される。前述のように、アプリケーションはプロジェクトのインスタンスまたは実現である。アプリケーションを開くと、インタプリタ(124)がそのアプリケーションに関連したコーパスファイル(122)をロードする。
【0080】
NL_OpenSessionは開いたアプリケーションのもとでセションが所望されるときに呼出される。セションは本質的に話者との会話であり(IVR130がたとえばいくつかの音声認識装置を管理する場合)、いくつかのセションが同じアプリケーションに対して存在することが可能である。
【0081】
NL_AnalyzeNbestは、音声認識装置がNbest出力の用意ができていることを示すときにIVR(130)によって呼出される。IVR(130)はこの機能を呼出して、このNbest出力と文脈情報とを分析のために実行時インタプリタ(124)に送る。
【0082】
NL_GetResultは、実行時インタプリタ(124)がメモリに記憶したトークンを読出すためにIVR(130)によって呼出される。
【0083】
NL_GetVariableは、インタプリタ(124)が記憶したトークンがそれに関連した変数データを有するタイプであるときに呼出される。NL_GetVariableの呼出しによって、インタプリタ(124)がデータを記憶するために用いたメモリデータ構造からこの変数データが引出される。
【0084】
NL_CloseSessionは、特定のセションを閉じ、かつそのセションに関連した任意の割当てられたリソースを戻すために呼出される。この機能を呼出すと、セションを閉じるためにこれもまた必要であるほかの機能も呼出され得る。たとえば、埋込式アーキテクチャでは、NL_CloseSessionはCP_CloseSessionを呼出して、CP(126)および実行時インタプリタ(124)に、それらのそれぞれのセションを適切に閉じ、かつもはや必要ではない割当てられたリソースを戻すための機会を与える。
【0085】
NL_CloseAppは特定のアプリケータを閉じるために呼出される。この機能は全セションが閉じたことを確認し、CP_CloseAppのような他の機能をも呼出して、CP(126)およびインタプリタ(124)に「それら自身の後をクリーンアップする」ための機会を与える。
【0086】
NL_Shutdownは、NL_Initが呼出される前に存在していた状態にシステムを本質的に戻すために呼出される。CP_Shutdownも、CP(126)およびインタプリタ(124)にそれらのリソースの割当てを解除させるために呼出される。
【0087】
これらの基本的機能に加えて、RIAPI(128)にはインターネット/イントラネット性能も設けられる。自然言語体系がTCP/IPを介してネットワークに接続されれば、TcpCallback機能が非同期TCP/IPソケット事象を処理するために用いられ得る。サーバインタフェースプロセス(SIP)を介するインターネットへの接続を支持するための以下のRIAPIの呼出しもまた有効である(ただし、非SIPシステムには不必要である)。それらは、(遠隔ウェブブラウザユーザとのセションを開くための)NL_WEBConnectと、(テキスト応答をインタプリタ124に渡すための)NL_ReportWEBTextと、(遠隔ユーザにファイル内容を提示または表示するための)NL_WEBPlayと、(NL_WEBConnectによって接続されたSIPインスタンスからの入力を受入れるようあるセションを導くための)NL_WEBListenと、(NL_WEBListen呼出しの結果を引出すための)NL_GetWEBResultと、(セションを閉じるための)NL_CloseWEBSessionとである。
【0088】
IVR(130)と(最終的には)実行時インタプリタ(124)との間のインタフェースとして、RIAPI(128)に対して行なわれる特定の呼出しは、IVR(130)の、実行時インタプリタ(124)の機能に対する必要性によって指図される。
【0089】
5.分散式アーキテクチャの概観
この明細書は埋込式システムアーキテクチャの要素をこれまでに説明した。埋込式アーキテクチャでは、実行時インタプリタ(124)およびRIAPI(128)の両方が同じコンピュータ上にあるソフトウェア要素である。
【0090】
分散式アーキテクチャでは、複数の分散式実行時インタプリタ(508)がコンピュータネットワーク内の複数の場所の中に配置される(好ましい実施例では、UnixネットワークおよびWindows NTネットワークの両方がサポートされる)。この複数のインタプリタ(508)を有することによって、IVR(130)は多数の発話を同時に処理させることができる。これに対する最も明かな利点は同時に多数のセションを行なう能力である。
【0091】
図5は分散式システムアーキテクチャの要素を示す。ほとんどの要素が埋込式アーキテクチャに見られるものと同じである。文法(112)およびコーパス(122)の両方が埋込式アーキテクチャにおいて用いられるものと同じである。異なるのは、複数の分散式インタプリタ(508)と、リソースマネージャ(510−RM)と、ロガー(512)と、オペレータディスプレイ(514)と、ログビューア(516)とである。分散式インタプリタ(508)およびRM(506)についてはさらに後述する。
【0092】
ロガー(512)は単に、リソースマネージャ(510)とさまざまなインタプリタ(508)との間で送られるさまざまなメッセージを記録するソフトウェアデバイスである。オペレータディスプレイ(514)およびログビューア(516)は、開発者がシステムに接続されるIVR(130)とさまざまなインタプリタとの動作をそれによって監視できる手段である。好ましい実施例では、ロガー(512)、オペレータディスプレイ(514)およびログビューア(516)はユーザまたはオペレータにIVR(130)アプリケーションのコントロールを行わせない。これらのデバイスはアプリケーションの動作に関する情報を与えるのみである。
【0093】
6.分散式インタプリタ
この発明の代替的実施例では、分散式システムが用いられる。分散式システムはネットワークコンピュータシステムに対して作用する。ネットワークコンピュータシステムは単に、通信ネットワークを介して互いに相互接続される複数のコンピュータまたはノードを意味する
分散式システムでは、解釈義務を行なう各ノードがDIマネージャ(504)、DICP(506)およびDI実行時インタプリタ(508)を有する。DICP(506)およびDI実行時インタプリタ(508)は前述の埋込式アーキテクチャに見られるCP(126)および実行時インタプリタ(124)と同じ機能を有する。DIマネージャ(504)は、ノードの解釈義務のメッセージ処理および調整に責任を持つ別のソフトウェアである。メッセージ処理はノードをリソースマネージャ(510)に接続するために用いられるネットワークのタイプに依存する。しかしながら、同じ一般的なメッセージタイプが用いられる。メッセージタイプおよび目的については後述する。
【0094】
マネージャ(504)自体はソフトウェア構成要素であり、それが何らかのメッセージを処理できるようになるにはまず解釈ノードに対して実行しなければならない。マネージャ(504)は開始すると、初期化ファイル内で、マネージャ(504)がサポートするアプリケーションに関する情報を探す。この情報は、サポートされるアプリケーションの名前と、サポートされるアプリケーションのために用いられるべき注釈付コーパス(122)の場所へのファイル経路とを含む。
【0095】
<initiarize>メッセージはCP_Initを呼出すことによってDIマネージャ(504)にDICP(506)を初期化させ、DICP(506)はSAI_Initを呼出すことによってDI実行時インタプリタ(508)を初期化する。このメッセージはまた、アプリケーションを開くためのCP_OpenAppおよびSAI_OpenAppを呼出すことによって、サポートされるべきアプリケーションをDIマネージャ(504)に初期化させる。前述のように、アプリケーションを開くにはコーパス(122)のロードが必要である。ロードされるべきコーパス(122)の場所はDI実行時インタプリタ(508)に渡される。DI実行時インタプリタ(508)がその初期化を完了すると(そして、コーパス122がロードされると)、それは、現在のアプリケーションを参照するデータオブジェクトであるアプリケーションハンドルを発生する。このハンドルはDICP(506)に戻され、DICP(506)はそれをDIマネージャ(504)に戻す。DI(502)内でエラーが起こるごとに、DIマネージャ(504)はエラーを記述する<tell error>メッセージを構成し、それをRM(510)に戻す。
【0096】
セションはDIマネージャ(504)が<start session>メッセージを受取るときに開かれる。このメッセージは送り手の(sending)IVR(130)とセション識別子とを識別するリソースアドレスを含む。DIマネージャ(504)は同じリソースアドレスで開かれたセションがこれまでにないか確認し、なければ、セションを表すセションオブジェクトを生み出す。セションオブジェクトは本質的に、このセションを参照する前述のアプリケーションハンドルに類似したハンドルである。DIマネージャ(504)は次に、SAI_OpenSession機能を呼出すCP_OpenSession機能を呼出すことによって、DICP(506)およびDI実行時インタプリタ(508)内でセションを開く。SAI_OpenSessionのリターン値はCP_OpenSessionに戻され、これはそれをDIマネージャ(504)に戻す。ここでもまた、エラーは<tell error>メッセージでDIマネージャ(504)によって報告される。
【0097】
一旦セションが開かれると、DI(502)は解釈を行なう準備が整っている。解釈プロセスを開始できる2つのメッセージがある。最初に、DIマネージャ(504)は<analyze>メッセージを受取ることができる。<analyze>メッセージはCP_AnalyzeNbestのために通常は必要な文脈およびnbest情報のすべてを含む。DIマネージャ(504)は次にDI実行時インタプリタ(508)の便利な機能であるNB_CreateBufferおよびNB_SetUtteranceScoreを呼出して、文脈およびNbestデータでの構造を準備する。DIマネージャ(504)は次にこのデータ構造を入力としてCP_AnalyzeNbestへ与え、それは埋込式アーキテクチャに対して前述した検索を行なうSAI_AnalyzeNbestを呼出す。これらの機能が完了すると、それらのリターン値がDIマネージャ(504)へと伝播して戻り、DIマネージャ(504)は<reply>メッセージを構成し、それをRM(510)へと送り戻す。
【0098】
<analyze>メッセージの受取りは、解釈が開始され得る1つの方法にすぎない。他の方法は文脈およびnbsetデータが別個のメッセージにおいて送られるときに起きる。これが生じると、RM(510)は第1のメッセージまたは<state>メッセージを送る。これは文脈と発話が聞かれたセションを識別するリソースアドレスとを含む。このメッセージが受取られると、DIマネージャ(504)は、リソースアドレスが確かに既存のセションのものであることを初めに確認する。そうであれば、DIマネージャ(504)はリソースアドレスに関連してセションハンドルを引出し、メッセージからの文脈情報を一時記憶領域に記憶してさらなる処理を待つ。
【0099】
さらなる処理は、第2のメッセージがDIマネージャ(504)によって受取られるときに起きる。第2のメッセージまたは<nbest>メッセージはリソースアドレスといくつかのnbestデータとを含む。<nbest>メッセージが受取られると、DIマネージャ(504)は、<nbest>メッセージに含まれるリソースアドレスが既存のセションのものであることを再び確認する。そうであれば、DIマネージャ(504)は次にセションと関連した一時記憶領域に注意し、これまでに記憶された文脈情報を探す。nbestデータおよび文脈データをとり、DIマネージャ(504)は次にCP_AnalyzeNbestを呼出し、それは次にSAI_AnalyzeNbestを呼出し、ここで、nbestデータにおける発話と関連したトークンを探すためにコーパス(122)が検索される。
【0100】
セションが終了するのは、DIマネージャ(504)が<lost call>メッセージを受取るときである。このメッセージはリソースアドレスを含み、DIマネージャ(504)はそのリソースアドレスが確かに開いたセションを参照することを確認する。そうであれば、DIマネージャ(504)はCP_CloseSessionを呼出し、それは次にSAI_CloseSessionを呼出し、セションは埋込式アーキテクチャにおいてセションが閉じられるのと同じように閉じられる。
【0101】
アプリケーション全体が停止されるべきであれば、DIマネージャ(504)は<terminate>メッセージを受取る。各マネージャ(504)が一度に1つだけのアプリケーションをサポートできるので、アプリケーションの停止はマネージャ(504)の停止と同じである。DIマネージャ(504)がこのメッセージを受取ると、それは必要なCP_CloseSessionの呼出しを行なって、開いている残りのセションを閉じ、最後にCP_Shutdownを呼出す。それはSAI_Shutdownを呼出し、マネージャ(504)、DICP(506)およびDI実行時インタプリタ(508)に割当てられている全リソースが解放される。
【0102】
7.リソースマネージャ
リソースマネージャ(510)はネットワークに接続されているさまざまな分散式インタプリタ(508)の動作を監視し、インタプリタ(508)間にRIAPI(128)の要求を分散する。好ましい実施例では、RM(510)は、分散式インタプリタ(508)が初期化されるごとにメッセージを受取り、分散式インタプリタ(508)によってサポートされるアプリケーションを記録する。次に、リソースマネージャがRIAPI(128)を介して単数または複数のIVR(130)から要求を受取ると、それはどの分散式インタプリタ(508)がその要求を扱うことができる(そのアプリケーションをサポートすることができる)かを確認し、IVR(130)の要求を含むメッセージを作り、それを処理のために適切なマネージャ(504)へと送る。リソースマネージャ(510)は前述のメッセージを用いてマネージャ(504)と通信する。
【0103】
以上の教示を鑑み、これらの教示において実現されるこの発明の範囲から逸脱せずに変形が行なわれ得ることが理解される。発明者の好ましい実施例の一部として与えられるどの例も例示としてのみ提示され、この発明の範囲を限定するものとは意図されない。むしろ、この発明の範囲は前掲の請求の範囲を用いて決定されるべきである。
【図面の簡単な説明】
【図1】 埋込式自然言語理解システムの全体図である。
【図2】 好ましい実施例において支持される変数のタイプを示す表である。
【図3】 注釈付ASRコーパスファイルおよびベンダ特有ASR文法ファイルに関するサンプル形式を示す図である。
【図4】 実行時インタプリタへのアクセス時のIVRの動作を示すフロー図である。
【図5】 分散式システムアーキテクチャを示す図である。

Claims (10)

  1. 公知の文法における有効発話の背後の意味を識別するためのコンピュータシステムであって、前記有効発話は前記文法を規定するルールに従うものであり、
    中央処理装置(CPU)と、
    前記CPUに結合されて、メモリファイルを受取り、記憶するためのシステムメモリと、
    前記CPUの動作中にデータを一時的に受取り、記憶するための、前記システムメモリのランダムアクセスメモリ(RAM)部分と、
    前記システムメモリ内に記憶され、かつ、前記公知の文法における予期される全有効発話のリストとそれとともに記憶される前記リストに入れられた予期される各有効発話の意味を表すトークンデータとを含む、予め定められた固定された注釈付自動音声認識(ASR)コーパスファイルとを備え、各前記有効発話と各前記トークンデータとは互いに関連付けられており
    前記CPUに結合され、音声信号の入力を受け付けて、前記音声信号から前記有効発話を検出し、検出された有効発話を示すASRシステムデジタル出力信号を発生するための自動音声認識(ASR)システムと、
    前記ASRシステムにより認識される形式で前記システムメモリ内に記憶され、前記ASRシステムに結合され、かつ、前記ASRシステムによって検出されるべきすべての有効発話をそのASRシステムに互換性のある形式で表すデータを含む、予め定められた固定されたベンダ特有ASR文法ファイルとを備え前記ベンダ特有ASR文法ファイルは、発話を認識して前記ASRシステムデジタル出力信号を発生するための前記ASRシステムに用いられるものであり、
    前記CPUおよび前記注釈付ASRコーパスファイルに結合され、前記CPUが検出された有効発話を示す前記ASRシステムデジタル出力信号を受取る時、前記注釈付ASRコーパスファイルの内容を検索して前記検出された有効発話の背後の意味を識別し、前記識別された意味を、前記検出された有効発話に関連するトークンデータとして、前記入力が受け付けられた音声信号に応答する装置に対して戻すための実行時インタプリタ手段とを含む、システム。
  2. 前記実行時インタプリタ手段は、前記システムメモリ内の前記注釈付ASRコーパスファイルを比較検索して、前記検出された有効発話の背後の意味を識別するトークンデータを探すための手段をさらに含む、請求項1に記載のシステム。
  3. 前記実行時インタプリタ手段は前記比較検索の失敗時に前記注釈付ASRコーパスファイルの内容を部分照合検索するための手段をさらに含み、前記部分検索は前記注釈付ASRコーパスファイル内の前記検出された有効発話の部分照合を探す、請求項2に記載のシステム。
  4. 前記実行時インタプリタ手段は、前記検出された有効発話の照合しない部分を変数として処理して、前記照合しない部分の背後の意味を識別するための変数処理手段をさらに含む、請求項3に記載のシステム。
  5. 前記変数処理手段は、前記検出された有効発話の前記照合しない部分の意味を表す変数データを発生する、請求項4に記載のシステム。
  6. 前記実行時インタプリタ手段に結合され、前記実行時インタプリタ手段にアクセスするための実行時インタプリタアプリケーションプログラムインタフェース(RIAPI)手段をさらに含む、請求項1〜5のいずれかに記載のシステム。
  7. 前記RIAPI手段は、前記RIAPI手段および前記実行時インタプリタ手段に結合されるカスタムプロセッサ(CP)インタフェースと、前記RIAPI手段が前記実行時インタプリタ手段にアクセスするために用いる対話式音声応答(IVR)システムとをさらに含む、請求項6に記載のシステム。
  8. 前記IVRシステムは、前記ASRシステムおよび前記実行時インタプリタ手段に結合され、前記注釈付ASRコーパスファイルを検索して、前記検出された発話の背後の意味を表す前記トークンデータを探す、請求項7に記載のシステム。
  9. 前記コンピュータシステムは、コンピュータシステムネットワーク上の複数のコンピュータに分散された複数の前記実行時インタプリタ手段を有するネットワークシステムを含む、請求項1〜8のいずれかに記載のシステム。
  10. 公知の文法における有効発話の背後の意味を識別するための方法であって、前記有効発話は前記文法を規定するルールに従うものであり、
    予め定められた固定した注釈付自動音声認識(ASR)コーパスファイルをコンピュータのシステムメモリへとロードするステップを含み、前記固定した注釈付ASRコーパスファイルは前記固定した文法における予期される全有効発話のリストと前記リストされた各有効発話の意味を表すトークンデータとを含み、各前記有効発話と各前記トークンデータとは互いに関連付けられており、
    自動音声認識(ASR)システムにより検出されるべきすべての有効発話を、そのASRシステムに互換性のある形式で表すデータを含む、予め定められた固定したベンダ特有ASR文法ファイルを、前記自動音声認識(ASR)システムにより認識される形式で前記システムメモリにロードするステップを含み前記自動音声認識(ASR)システムは、音声信号の入力を受け付けて、前記音声信号から前記有効発話を検出し、検出された有効発話を示すASRシステムデジタル出力信号を発生するものであり、
    前記自動音声認識(ASR)システムにより有効発話を検出するステップと、
    前記検出された有効発話の発生に対して、前記固定した注釈付ASRコーパスファイルを検索するための要求を開始するステップと、
    前記リストされた予期される有効発話の中から前記検出された有効発話に対応する有効発話を探すために、前記システムメモリにロードされた前記固定した注釈付ASRコーパスファイルを、実行時インタプリタ手段により検索し、前記検出された有効発話の背後の意味をその見つけられた有効発話に関連するトークンデータとして識別するステップと、
    前記固定した注釈付ASRコーパスファイル内の前記検出された有効発話の背後の意味に対応する前記トークンデータを要求者に戻すステップとを含む、方法。
JP2000512200A 1997-09-17 1998-09-17 音声制御アプリケーションのために自然言語理解を用いるシステムおよび方法 Expired - Fee Related JP4112171B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/932,938 1997-09-17
US08/932,938 US6094635A (en) 1997-09-17 1997-09-17 System and method for speech enabled application
PCT/US1998/019433 WO1999014743A1 (en) 1997-09-17 1998-09-17 System and method using natural language understanding for speech control application

Publications (2)

Publication Number Publication Date
JP2001516905A JP2001516905A (ja) 2001-10-02
JP4112171B2 true JP4112171B2 (ja) 2008-07-02

Family

ID=25463178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000512200A Expired - Fee Related JP4112171B2 (ja) 1997-09-17 1998-09-17 音声制御アプリケーションのために自然言語理解を用いるシステムおよび方法

Country Status (7)

Country Link
US (1) US6094635A (ja)
EP (1) EP1016076B1 (ja)
JP (1) JP4112171B2 (ja)
AT (1) ATE239289T1 (ja)
CA (1) CA2304057C (ja)
DE (1) DE69814114T2 (ja)
WO (1) WO1999014743A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7010056B2 (ja) 2018-02-23 2022-01-26 いすゞ自動車株式会社 ブラケット、燃料供給ポンプの組付構造および燃料供給ポンプの組付方法

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292767B1 (en) * 1995-07-18 2001-09-18 Nuance Communications Method and system for building and running natural language understanding systems
US6499013B1 (en) * 1998-09-09 2002-12-24 One Voice Technologies, Inc. Interactive user interface using speech recognition and natural language processing
US7251315B1 (en) * 1998-09-21 2007-07-31 Microsoft Corporation Speech processing for telephony API
US6343116B1 (en) * 1998-09-21 2002-01-29 Microsoft Corporation Computer telephony application programming interface
US9037451B2 (en) * 1998-09-25 2015-05-19 Rpx Corporation Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for implementing language capabilities using the same
WO2000019410A1 (en) * 1998-09-30 2000-04-06 Lernout & Hauspie Speech Products N.V. Graphic user interface for navigation in speech recognition system grammars
US6246981B1 (en) * 1998-11-25 2001-06-12 International Business Machines Corporation Natural language task-oriented dialog manager and method
US6314402B1 (en) * 1999-04-23 2001-11-06 Nuance Communications Method and apparatus for creating modifiable and combinable speech objects for acquiring information from a speaker in an interactive voice response system
US6275792B1 (en) * 1999-05-05 2001-08-14 International Business Machines Corp. Method and system for generating a minimal set of test phrases for testing a natural commands grammar
US7392185B2 (en) * 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US9076448B2 (en) * 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US7050977B1 (en) 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US6434529B1 (en) * 2000-02-16 2002-08-13 Sun Microsystems, Inc. System and method for referencing object instances and invoking methods on those object instances from within a speech recognition grammar
AU2001263138A1 (en) * 2000-05-15 2001-11-26 Infoactiv, Inc. Automated voice-based dialogue with a voice mail system by imitation of the human voice
EP1156649B1 (en) * 2000-05-16 2003-03-26 Swisscom AG Voice portal hosting system and method
US7024348B1 (en) 2000-09-28 2006-04-04 Unisys Corporation Dialogue flow interpreter development tool
US20020169597A1 (en) * 2001-03-12 2002-11-14 Fain Systems, Inc. Method and apparatus providing computer understanding and instructions from natural language
WO2002073451A2 (en) 2001-03-13 2002-09-19 Intelligate Ltd. Dynamic natural language understanding
US20020138656A1 (en) * 2001-03-23 2002-09-26 Neil Hickey System for and method of providing interfaces to existing computer applications
US6697798B2 (en) * 2001-04-24 2004-02-24 Takahiro Nakamura Retrieval system of secondary data added documents in database, and program
US7437295B2 (en) 2001-04-27 2008-10-14 Accenture Llp Natural language processing for a location-based services system
US7970648B2 (en) 2001-04-27 2011-06-28 Accenture Global Services Limited Advertising campaign and business listing management for a location-based services system
US6848542B2 (en) 2001-04-27 2005-02-01 Accenture Llp Method for passive mining of usage information in a location-based services system
CA2783576C (en) * 2001-04-27 2013-03-12 Accenture Global Services Limited Location-based services
US7698228B2 (en) 2001-04-27 2010-04-13 Accenture Llp Tracking purchases in a location-based services system
JP3423296B2 (ja) * 2001-06-18 2003-07-07 沖電気工業株式会社 音声対話インターフェース装置
US7031444B2 (en) * 2001-06-29 2006-04-18 Voicegenie Technologies, Inc. Computer-implemented voice markup system and method
US7242752B2 (en) * 2001-07-03 2007-07-10 Apptera, Inc. Behavioral adaptation engine for discerning behavioral characteristics of callers interacting with an VXML-compliant voice application
GB2379786A (en) * 2001-09-18 2003-03-19 20 20 Speech Ltd Speech processing apparatus
US7133829B2 (en) * 2001-10-31 2006-11-07 Dictaphone Corporation Dynamic insertion of a speech recognition engine within a distributed speech recognition system
US7146321B2 (en) * 2001-10-31 2006-12-05 Dictaphone Corporation Distributed speech recognition system
WO2003042823A1 (en) * 2001-11-14 2003-05-22 Exegesys, Inc. Method and system for software application development and customizable runtime environment
US6785654B2 (en) 2001-11-30 2004-08-31 Dictaphone Corporation Distributed speech recognition system with speech recognition engines offering multiple functionalities
US7203644B2 (en) * 2001-12-31 2007-04-10 Intel Corporation Automating tuning of speech recognition systems
US20030128856A1 (en) * 2002-01-08 2003-07-10 Boor Steven E. Digitally programmable gain amplifier
US7117158B2 (en) * 2002-04-25 2006-10-03 Bilcare, Inc. Systems, methods and computer program products for designing, deploying and managing interactive voice response (IVR) systems
US7236931B2 (en) 2002-05-01 2007-06-26 Usb Ag, Stamford Branch Systems and methods for automatic acoustic speaker adaptation in computer-assisted transcription systems
US7292975B2 (en) * 2002-05-01 2007-11-06 Nuance Communications, Inc. Systems and methods for evaluating speaker suitability for automatic speech recognition aided transcription
DE10220522B4 (de) * 2002-05-08 2005-11-17 Sap Ag Verfahren und System zur Verarbeitung von Sprachdaten mittels Spracherkennung und Frequenzanalyse
DE10220520A1 (de) * 2002-05-08 2003-11-20 Sap Ag Verfahren zur Erkennung von Sprachinformation
DE10220524B4 (de) * 2002-05-08 2006-08-10 Sap Ag Verfahren und System zur Verarbeitung von Sprachdaten und zur Erkennung einer Sprache
EP1363271A1 (de) * 2002-05-08 2003-11-19 Sap Ag Verfahren und System zur Verarbeitung und Speicherung von Sprachinformationen eines Dialogs
DE10220521B4 (de) * 2002-05-08 2005-11-24 Sap Ag Verfahren und System zur Verarbeitung von Sprachdaten und Klassifizierung von Gesprächen
EP1361740A1 (de) * 2002-05-08 2003-11-12 Sap Ag Verfahren und System zur Verarbeitung von Sprachinformationen eines Dialogs
US7493253B1 (en) 2002-07-12 2009-02-17 Language And Computing, Inc. Conceptual world representation natural language understanding system and method
US20050120300A1 (en) * 2003-09-25 2005-06-02 Dictaphone Corporation Method, system, and apparatus for assembly, transport and display of clinical data
US7996223B2 (en) * 2003-10-01 2011-08-09 Dictaphone Corporation System and method for post processing speech recognition output
US7366666B2 (en) * 2003-10-01 2008-04-29 International Business Machines Corporation Relative delta computations for determining the meaning of language inputs
US7697673B2 (en) 2003-11-17 2010-04-13 Apptera Inc. System for advertisement selection, placement and delivery within a multiple-tenant voice interaction service system
US7415101B2 (en) 2003-12-15 2008-08-19 At&T Knowledge Ventures, L.P. System, method and software for a speech-enabled call routing application using an action-object matrix
US7512545B2 (en) * 2004-01-29 2009-03-31 At&T Intellectual Property I, L.P. Method, software and system for developing interactive call center agent personas
US7787601B2 (en) * 2004-03-10 2010-08-31 Convergys Customer Management Group, Inc. System and method for IVR signature detection and event management
US7912206B2 (en) * 2004-07-30 2011-03-22 Miller John S Technique for providing a personalized electronic messaging service through an information assistance provider
US7623632B2 (en) * 2004-08-26 2009-11-24 At&T Intellectual Property I, L.P. Method, system and software for implementing an automated call routing application in a speech enabled call center environment
US7617093B2 (en) * 2005-06-02 2009-11-10 Microsoft Corporation Authoring speech grammars
US7548859B2 (en) * 2005-08-03 2009-06-16 Motorola, Inc. Method and system for assisting users in interacting with multi-modal dialog systems
US8032372B1 (en) 2005-09-13 2011-10-04 Escription, Inc. Dictation selection
US8756057B2 (en) * 2005-11-02 2014-06-17 Nuance Communications, Inc. System and method using feedback speech analysis for improving speaking ability
US8315874B2 (en) * 2005-12-30 2012-11-20 Microsoft Corporation Voice user interface authoring tool
US8229733B2 (en) * 2006-02-09 2012-07-24 John Harney Method and apparatus for linguistic independent parsing in a natural language systems
US7831431B2 (en) 2006-10-31 2010-11-09 Honda Motor Co., Ltd. Voice recognition updates via remote broadcast signal
DE102007055117A1 (de) 2007-03-26 2008-10-02 Boris Kaplan Ein System von Künstlicher Intelligenz von einem Cyborg oder einem Android für das zeigerorientierte Objekterfassungsverfahren von Informationen basierend auf einer natürlichen Sprache und das Arbeitsverfahren von dem System
US9045098B2 (en) * 2009-12-01 2015-06-02 Honda Motor Co., Ltd. Vocabulary dictionary recompile for in-vehicle audio system
US10255914B2 (en) 2012-03-30 2019-04-09 Michael Boukadakis Digital concierge and method
US9361878B2 (en) * 2012-03-30 2016-06-07 Michael Boukadakis Computer-readable medium, system and method of providing domain-specific information
US10776375B2 (en) * 2013-07-15 2020-09-15 Microsoft Technology Licensing, Llc Retrieval of attribute values based upon identified entities
DE102014016968A1 (de) 2014-11-18 2015-01-22 Boris Kaplan Ein Computersystem von einer Künstlichen Intelligenz von einem Cyborg oder einem Android, wobei eine aufgenommene Signal-Reaktion des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, eine entsprechende Assoziation des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, und ein entsprechender Gedanke des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android in dem Computersystem physisch gebaut werden, und ein Arbeitsverfahren von dem Computersystem von der Künstlichen Intelligenz von dem Cyborg oder dem Android
CN105744090A (zh) 2014-12-09 2016-07-06 阿里巴巴集团控股有限公司 语音信息处理方法及装置
US10477028B1 (en) 2018-07-13 2019-11-12 Bank Of America Corporation System for processing voice responses using a natural language processing engine
DE102021005701A1 (de) 2021-11-17 2023-05-17 Boris Kaplan Ein Computersystem von einer Künstlichen Intelligenz von einem Cyborg oder einem Android, wobei eine aufgenommene Signal-Reaktion des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, eine entsprechende Assoziation des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, und ein entsprechender Gedanke des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android in dem Computersystem physisch gebaut werden, und ein Arbeitsverfahren von dem Computersystem von der Künstlichen Intelligenz von dem Cyborg oder dem Android
DE102023000489A1 (de) 2023-02-14 2023-04-13 Boris Kaplan Ein Computersystem von einer Künstlichen Intelligenz von einem Cyborg oder einem Android, wobei eine aufgenommene Signal-Reaktion des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, eine entsprechende Assoziation des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android, und ein entsprechender Gedanke des Computersystems von der Künstlichen Intelligenz von dem Cyborg oder dem Android in dem Computersystem physisch gebaut werden, und ein Arbeitsverfahren von dem Computersystem von der Künstlichen Intelligenz von dem Cyborg oder dem Android.

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390279A (en) * 1992-12-31 1995-02-14 Apple Computer, Inc. Partitioning speech rules by context for speech recognition
JPH074864A (ja) * 1993-06-11 1995-01-10 Kubota Corp ファイアーランス駆動装置
US5642519A (en) * 1994-04-29 1997-06-24 Sun Microsystems, Inc. Speech interpreter with a unified grammer compiler
US5748974A (en) * 1994-12-13 1998-05-05 International Business Machines Corporation Multimodal natural language interface for cross-application tasks
JPH08194600A (ja) * 1995-01-17 1996-07-30 Nec Corp 音声入力端末装置
US5675707A (en) * 1995-09-15 1997-10-07 At&T Automated call router system and method
US5924070A (en) * 1997-06-06 1999-07-13 International Business Machines Corporation Corporate voice dialing with shared directories
US5995918A (en) * 1997-09-17 1999-11-30 Unisys Corporation System and method for creating a language grammar using a spreadsheet or table interface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7010056B2 (ja) 2018-02-23 2022-01-26 いすゞ自動車株式会社 ブラケット、燃料供給ポンプの組付構造および燃料供給ポンプの組付方法

Also Published As

Publication number Publication date
ATE239289T1 (de) 2003-05-15
DE69814114D1 (de) 2003-06-05
JP2001516905A (ja) 2001-10-02
DE69814114T2 (de) 2004-03-18
EP1016076A1 (en) 2000-07-05
CA2304057A1 (en) 1999-03-25
WO1999014743A1 (en) 1999-03-25
EP1016076B1 (en) 2003-05-02
CA2304057C (en) 2007-06-26
US6094635A (en) 2000-07-25

Similar Documents

Publication Publication Date Title
JP4112171B2 (ja) 音声制御アプリケーションのために自然言語理解を用いるシステムおよび方法
US8645122B1 (en) Method of handling frequently asked questions in a natural language dialog service
US7197460B1 (en) System for handling frequently asked questions in a natural language dialog service
EP1076288B1 (en) Method and system for multi-client access to a dialog system
US7742922B2 (en) Speech interface for search engines
US5748974A (en) Multimodal natural language interface for cross-application tasks
EP1016001B1 (en) System and method for creating a language grammar
JP5099953B2 (ja) 情報検索手法による統一化されたタスク依存の言語モデルの生成
US7647228B2 (en) Method and apparatus for speech processing incorporating user intent
US9083798B2 (en) Enabling voice selection of user preferences
US8738384B1 (en) Method and system for creating natural language understanding grammars
US7302383B2 (en) Apparatus and methods for developing conversational applications
US7912726B2 (en) Method and apparatus for creation and user-customization of speech-enabled services
US7184539B2 (en) Automated call center transcription services
US20030061029A1 (en) Device for conducting expectation based mixed initiative natural language dialogs
US20130262106A1 (en) Method and system for automatic domain adaptation in speech recognition applications
US10748526B2 (en) Automated data cartridge for conversational AI bots
US8930296B2 (en) Method and system for programming virtual robots using a template
JPS6048570A (ja) 入力内容判断方法
JP2020135135A (ja) 対話コンテンツ作成支援方法およびシステム
JP3634863B2 (ja) 音声認識システム
US20060136195A1 (en) Text grouping for disambiguation in a speech application
JP3499658B2 (ja) 対話支援装置
Chung et al. A question detection algorithm for text analysis
KR19990047859A (ko) 도서 문헌 데이터베이스 검색을 위한 자연언어 대화 시스템

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040406

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040702

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040709

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060217

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060316

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080409

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110418

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees