JP3964134B2 - 言語文法を作成するための方法 - Google Patents

言語文法を作成するための方法 Download PDF

Info

Publication number
JP3964134B2
JP3964134B2 JP2000512155A JP2000512155A JP3964134B2 JP 3964134 B2 JP3964134 B2 JP 3964134B2 JP 2000512155 A JP2000512155 A JP 2000512155A JP 2000512155 A JP2000512155 A JP 2000512155A JP 3964134 B2 JP3964134 B2 JP 3964134B2
Authority
JP
Japan
Prior art keywords
cell
cells
grammar
utterance
cpu
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
JP2000512155A
Other languages
English (en)
Other versions
JP2003517647A (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 JP2003517647A publication Critical patent/JP2003517647A/ja
Application granted granted Critical
Publication of JP3964134B2 publication Critical patent/JP3964134B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Description

【0001】
【発明の分野】
この発明は、一般に、コンピュータ化された自然言語システムに関する。より特定的には、この発明は、文法を創出し、その文法における有効発話のコーパスと、その文法を定義する規則の集合を含むファイルとを発生させるコンピュータシステムおよび方法に関する。さらに、この発明は、そのようなコーパスにトークン情報を含むことにより、その文法を用いて音声可能化システムへの各発話の意味を表現することに関する。
【0002】
【関連技術の説明】
コンピュータは我々の日常生活において頼みの綱となっている。私たちの多くは1日に何時間も、仕事、家庭、およびさらには買物中もコンピュータを用いて過ごしている。コンピュータを用いることは、しかしながら、常にコンピュータ側の条件で行なわれてきた。マウス、プッシュボタン、およびキーボードは、コンピュータに我々が望むことを伝えるには常にいくらか不自然な方法であった。しかしながら、コンピュータ技術が進歩し続けるにつれ、コンピュータは我々の側の条件、つまり話し言葉で人間と通信する方向に少しずつ動かされつつある。
【0003】
人間と話すことができるコンピュータを作り出すには、本質的に2つのステップがある。第1に、そのコンピュータは、話し言葉を検知してそれらを何らかの形式のコンピュータ読取可能データ、たとえば単純なテキストなどに変換するために、自動音声認識システムを必要とする。第2に、そのコンピュータは、そのコンピュータ読取可能データを分析して、それらの言葉がそれらが使われるとおりにおいて何を意味したのかを判断する何らかの方法を必要とする。
【0004】
伝統的な音声認識装置は話し言葉を認識することにおいて非常に能率がよくなってきており、いくつかの優れた音声認識装置が市場にて入手可能となっている。Lernout & Hauspieにより製造されるASR-1500、AT&Tにより製造されるWatson 2.0、およびNuanceによるNuance 5.0は、効果的な連続音声・発話者非依存型音声認識装置である。音声認識装置は、発話者に対して語と語の間にポーズを入れることを要求しない場合、それは「連続的」であり、発話者の言葉を理解するためにこの発話者の声を事前に聞いておく必要がない場合、それは「発話者非依存型」である。たとえば、ある音声認識装置では、それが言葉を理解し得るようになる前に、まずユーザの声を学習しなければならない。ユーザの声を学習することとは、ユーザが鍵となる音声学上の言葉または言語音のリストを読み上げる間に、音声識別装置にそのユーザの声を記録させ記憶させることを意味する。
【0005】
上記したASR-1500およびWatson 2.0のような認識装置は、通常は、それらが聞くように要求される文法の事前通知を必要とする。この事前通知は、その文法の規則および内容を記述する販売者特有ASR文法ファイルの形式で入来する。しかしながら、このデータファイルを作成する容易な方法はない。上記の音声認識装置の製造業者らはデータファイルが書き込まれなければならないフォーマットをユーザに提供するが、そのデータファイルの実際の書込みはそのユーザ次第である。
欧州特許(EP) 0681 284 A2には、汎用マイクロプロセッサに基づくコンピュータ上にて実行するソフトウェア上にて実時間で動作することができる音声理解インタプリタシステムが図示され記載されている。この特許には、公知の音声認識装置のための大量語彙音声認識文法と、多くの先行技術システムにおいて用いられる自然言語プロセッサのための別個の自然言語文法とを提供することの複雑さについて記載されている。自然言語文法を発生させるために用いられる同じコンパイラをさらに音声認識装置の文法を準備するためにも用いる。両方の文法を発生させるために用いられるこの統合されたコンパイラは、音声認識装置(SR)がありそうにもない語または文章の連なりを、語のパターンを語または語の連なりの意味へと抽出する自然言語(NL)プロセッサに送るのを制限する。一旦コンパイラがSRおよびNL文法ファイルを発生させると、それらは次いでSWIFTUS NLプロセッサにロードされ、次いでそれは動作可能となるが、それより前には動作可能とはならない。この引用例には、コンパイラの構造および動作モードは記載されてはいない。
PCT WIPO国際公開第WO 96/26484号には、図形表示装置を用いてアプリケーションのプログラムモジュールを編集するための方法および手段が記載されている。この国際公開では、スプレッドシステムを用いることによって、複数の領域をセルの中に含む視覚的セルフォーマットにおいてモジュールを表示することにより、視覚的フォーマットではよりよく理解されしたがって図形エディターでより簡単に編集されるようなモジュールの内容を表現する文またはテキストを表示する。この図形エディターはコンパイラではないが、視覚表現ディスプレイによって補助される場合にソフトウェアに関連する判断をなすことができることの重要性を示す。
これら引例のいずれにも、対話型音声応答システムにおいて用いられる文法およびファイルを作成する方法および手段は考慮されてはいない。
【0006】
このファイルを書込まなければならないユーザはいくつかの問題に直面する:1)このファイルフォーマットは通常その音声認識装置ソフトウェアにとってベストなものであり、したがって、あまり直観的または容易には理解されない;2)単純な文法であっても大きな文法ファイルをもたらす結果となり得、誤りに対する可能性を増大させる;3)ほどほどな大きさの文法ファイルでも数百(または数千)の規則を有し得、これらの規則における論理的誤りは犯しやすい一方で発見されにくい;4)そのファイルを書込み誤りを検査するのに長時間を要する。かくして、音声認識装置のユーザにとっては、文法を定義し、その音声認識措置と整合性がある文法ファイルを発生させるより単純な方法が求められる。
【0007】
さらに、本出願は、その文法に対し注釈付きコーパスを用いる音声可能化システムを開示する。この注釈付きコーパスは、本質的には、その文法における有効発話(文)をリスト化したもの、および各有効発話の意味を表現するトークンデータ値である。このようなコーパスは何百万ものエントリを含み得、文法とならんでこの注釈付きコーパスを発生させるためのより単純化された方法が必要とされる。
【0008】
この発明はこれらの要求を両方とも満足させるものである。
【0009】
【発明の概要】
この発明の一般的な目的は、文脈自由文法を発生させるためのツールキットを提供することである。
【0010】
この発明の別の目的は、文脈自由文法およびその文法における発話の注釈付きコーパスを発生させるタスクを単純化するためのツールキットを提供することである。
【0011】
この発明のさらなる目的は、文法によってサポートされるコーパスであって、その中にある各項目の意味を表現するトークンデータを含むコーパスを作成するためのシステムおよび方法を提供することである。
【0012】
これらおよび他の目的は、対話型音声認識システム開発者に、文法コーパスを発生させる単純かつ直観的な方法、または言語を構成する語および句(発話)のリストを提供するこの発明によって達成される。セルの行列からなるテーブルをまず用いて文法を定義する。
【0013】
好ましい実施例において用いられるテーブルの単純化された説明として、ある有効発話が、最も左側の列にあるあるセルで始まって、その右側のある列で終わり、それらの間の各列からの1つのセルの内容を含まなければならない。この左から右への進行は上記のテーブルを通るある経路を辿るが、この経路自体がその有効発話である。全く異なる意味を持つ有効発話が最も左側の列の同じセルで始まる可能性もあるため、コラム内の太い線を用いることにより、当該経路内の次のセルを考える際にその経路が交差し得ない境界を形成する。したがって、1つの意味を有する発話の経路は、全く異なる意味を持つ発話の経路にあるセルとともには続き得ない。
【0014】
最終的に、有効発話の経路は、その発話における最後の語に到達すると終わる。好ましい実施例では、その発話の最後の語としてのその同じ行内にある次の空白でないセルにトークンデータが含まれる。このトークンデータは、開発中の音声可能化アプリケーションに対する、その有効発話の意味を表現する。
【0015】
セルは他のタイプのデータも含み得る。あるセルには他のテーブルへのリファレンスが含まれてもよい。他のセルには、音声可能化アプリケーションに別個のデータ値を返す句(たとえば数字、日付、時間およびドルの額)である変数が含まれてもよい。セルには、音声認識装置によって理解される指示またはコマンドが含まれてもよい。あるセルは、任意選択セルの内容を伴ってまたは伴わずに発話が有効であるような、任意選択として識別されてもよい。
【0016】
開発者がテーブルにデータを入力し終わると、その文法が定義される。次いで、このテーブルを探査することによってその文法における有効発話の列挙されたリスト(コーパス)が発生されるが、そのコーパスにおける各発話にはさらにトークンが含まれる。さらにこのテーブルをもう一度処理することによって、自動音声認識(ASR)システムへの入力として働く文法ファイルを発生させる。さらに、この第2の処理中においては、そのASR音声認識装置の性能特性を利用するよう、その文法が最適化される。これらの処理は、それらが記載される順序で生ずる必要はない。
【0017】
次いで、このコーパスおよび文法ファイルを、好ましい実施例では対話型音声認識システム(IVR)において用いるが、このシステムが実際には発話者と対話している。音声認識装置によって聞き取られた有効発話はIVRに報告され、次いでIVRがそれら有効発話を実行時インタプリタ(上述の同時係属出願の主題)に送り、そこで、その音声認識装置によって検知された有効発話がその文法内の有効発話のコーパスと比較される。一致が見つかると、それに関連付けられるトークンが検索されIVRに戻される。一旦トークンが与えられると、IVRはその検知された有効発話が何を意味するかを理解し、それに従って反応し得る。
【0018】
【好ましい実施例の説明】
本発明を記載する前に、いくつかの用語を定義する必要がある。これらの用語およびそれらの定義は以下のものを含む:
注釈付きASRコーパスファイル − ある文法における有効発話をリスト化したもの、および、対話型音声認識システム(IVR 130)への各有効発話の意味を表現する、各有効発話に対するトークンデータを含むデータファイル。
【0019】
自動音声認識(ASR) − 話し言葉を識別してそれらをたとえばテキスト(文字)のようなコンピュータ読取可能フォーマットにて報告する能力があるコンピュータハードウェアおよびソフトウェアに対する包括的な用語。
【0020】
セル − テーブル内における別個であり区別される要素(このテーブルはセルの行列からなる)。下記の「規則」の定義とともに与えられる例示的規則においては、“I want”、“I need”および“food”の各々があるセルに置かれることになる。さらに、好ましい実施例では、“I want”および“I need”を含むセルは縦方向に互いに隣接する(同じ列)。縦方向に隣接するセルは概して併せてORされる。しかしながら、“food”を含むセルは“I want”および“I need”の列の右の列に生じて、“food”は“I want”または“I need”のいずれかに続かなければならないという事実を示し、したがって、“food”を含むセルはANDされることにより、“I want”および“I need”を含むセルに続くことになる。
【0021】
制約付き文法 − 発話者の言語における各およびすべての考えられ得る文は含まず、受入れ可能な文の範囲を限定する文法。
【0022】
コーパス − 大きなリスト。
文法 − 理解されるべき言語全体。規則の集合を用いることにより、またはその文法内にて許される各およびすべての文をリスト化することによって、さまざまな文法を表現し得る。
【0023】
文法開発ツールキット(104) − 文法およびその文法を表現する規則の集合を作成するために用いられるソフトウェア。
【0024】
自然言語理解 − 通常の態様にて話される文にある意味を識別すること。
句 − 文法の「基礎単位」であり、テーブル内のあるセル全体を占める語、語の群、または変数。
【0025】
規則 − これらは文法の論理を定義する。ある例示的な規則は:(“I want”|“I need”)(“food”)であり、これによって、“I want”OR“I need”で始まりANDで直後に“food”が続く文のみからなる文法を定義する。
【0026】
実行時インタプリタ(124) − 有効発話が聞こえる度に注釈付きコーパス(122)を検索して、その有効発話の意味を表わすトークンを返すソフトウェア。
【0027】
実行時インタプリタアプリケーションプログラムインターフェイス(RIAPI) − 対話型音声応答システム(130)が実行時インタプリタを用いる際のインターフェイスとして働くソフトウェア機能の組合せ。
【0028】
音声認識装置(116) − 話し言葉を検知し識別することができるハードウェアとソフトウェアとの組合せ。
【0029】
音声認識装置コンパイラ(114) − 音声認識装置(116)とともに含まれ、入力として販売者特有ASR文法ファイル(112)を受入れ、そのファイル(112)を実行時中に音声認識装置(116)にて用いるために処理するソフトウェア。
【0030】
テーブル − 文法を表現するために用いられる2次元格子。テーブルの内容は、好ましい実施例においては、左から右へ読まれる。
【0031】
トークン − テーブル内の各有効発話の後にはトークンを含むセルが続くが、このトークンは、対話型音声応答システム(130)への有効発話の意味を表現する独立のデータ値(開発者が当該文法を開発する際にその開発者によって作成される)である。
【0032】
発話 − 文。
発話(話される) − 声に出された発話。話された発話は、それが文法の規則に従う場合には、有効発話であるかもしれない。
【0033】
発話(有効) − 文法内に見出される発話。有効発話は文法を定義する規則に従う。
【0034】
変数 − 完全に列挙するには多くの可能性がありすぎる句を表現するためにコーパス(122)にて用いられる「集合指定子」。たとえば、“My favorite number between one and a million is xxx(1と100万と間で私の好きな数字はxxxである)”という発話の結果は、1つが各考えられ得る数に対する、999,998のコーパスエントリであり得る。この発明では、しかしながら、変数は、コーパス(122)内の数を表現するべく用いられる。したがって、ある低減されたコーパス(122)には“My favorite number between one and a million is [INTEGER](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。文法開発ツールキット(104)がこの出願の焦点であり、以下に詳細に論じられる。上記の他の構成要素は上に引用した同時係属出願にて詳細に論じられる。しかしながら、この音声可能化システムの概観を知ることは、ツールキット(104)の動作および目的を十分に理解する上で役に立つであろう。
【0037】
1.埋込アーキテクチャの概観
以下の概観では埋込アーキテクチャについて論ずるが、これは、RIAPI(128)内に埋込まれてもよい単一の実行時インタプリタ(124)を用いるものである。複数の実行時インタプリタを用いる第2の分散型アーキテクチャもあるが、これは上記の引用した同時係属出願にて論じられている。
【0038】
自然言語システムを実現する第1のステップは、文法における有効発話を司る規則の集合を作成することである。たとえば、“What do you want for lunch?(お昼に何が食べたい?)”という質問に対する応答に対する文法は次のように表現されるかもしれない:
<応答>:((“I want”|“I'd like”)(“hotdogs”|“hamburgers”));この規則の集合の下では、すべての有効応答が1)“I want”または“I'd like”に、2)“hotdogs”または“hamburgers”のいずれかが続くという2つの部分からなる。この表記法はバッカス・ナウア形式(Backus−Naur-Form)(BNF)と称されるが、それによると、隣接する要素は併せて論理ANDされ、“|”は論理ORを表現する。この発明の好ましい実施例ではこのタイプの文法が発生される。
【0039】
図1を参照して、開発者により、文法開発ツールキット(104)を用いて文法が発生される。
【0040】
このツールキット(104)は、文法を発生させるための単純化された方法を自然言語アプリケーションの開発者に提供するような、新規なスプレッドシート指向型ソフトウェアパッケージである。好ましい実施例では、このツールキット(104)は、中央処理装置(102)とアプリケーション特定ソフトウェア(106)とメモリファイル108とキーボードなどの入力装置(110)とを含むコンピュータにある。
【0041】
開発者がツールキット(104)を用いて文法を完成させると、ツールキット(104)はその自然言語システムにて用いるための2つの出力を発生させる。第1の出力は販売者特有ASR文法ファイル(112)であるが、これは音声認識装置(116)によって認識可能なフォーマットにて保存される。音声認識装置(116)は、連続音声・発話者非依存型音声認識装置である。市場で入手可能な音声認識装置(116)としては、Lernout & Hauspie製造のASR-1500、AT&T製造のWatson 2.0、Nuance製造のNuance 5.0などがある。ツールキット(104)の好ましい実施例は、これら認識装置のうちいずれに対しても文法ファイルを発生することができる。
【0042】
販売者特有ASR文法ファイル(112)は、音声認識装置(116)と整合性がある形式にて書かれる、その認識装置が認識することを要求される語および句に関する情報を含む。さらに、このファイルは、選択された音声認識装置(116)に関する特性を利用すべく最適化される。たとえば、L&H認識装置を用いた実験では、L&H文法は、それが同じ始まりを伴う複数の規則(“I want”で始まる3つの規則)を有することを回避する場合にはうまく働くことがわかった。L&H認識装置の場合に文法を最適化することは、規則の集合を<規則1>:(ab)|(ac)|(ad)を<規則2>:a(b|c|d)に書換えることになる。ここでは、「規則1」の3つの規則が「規則2」の1つのルールに書換えられ組合せられた。
【0043】
音声を操作し認識するためには、音声認識装置は、その音声認識装置の販売者によって供給されるコンパイラツール(114)を用いて販売者特有ASR文法ファイル(112)をコンパイルする必要がある。ツールキット(104)の好ましい実施例は、文法がまず発生されたときに、どの音声認識装置(116)が使用されしたがってその販売者特有ASR文法ファイル(112)をフォーマット化できるかを知っている。
【0044】
ツールキット(104)からの第2の出力は注釈付きASRコーパス(122)であるが、これは実際にはフラットファイルの対である。この対のうち第1のファイルはコーパスファイルであり、その文法におけるすべての考えられ得る論理的な文章または句(ただし以下で論じる変数は除く)をリスト化したものと、それらが現れるコンパートメント(テーブルの群)と、聞こえる発話(文章)のクラスを表現する値とを含む。第2のファイルは、各発話クラスを、トークン、またはその発話の意味を表現するデータ値とともにマッピングする応答ファイルである。これら2つのファイルは実行時インタプリタ(124)によって用いられる。
【0045】
実行時中、発話者は、音声認識装置(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)が、究極的には、音声能力を用いて発話者と実行時中に対話するのである。
【0046】
2.文法開発ツールキット
好ましい実施例では、このツールキットは、“Pentium”-based(商標 Intel Corp.)コンピュータシステム上にて動作する“Visual Basic”(商標 Microsoft Corp.)を用いて開発される。このツールキットは“Windows NT”(商標 Microsoft Corporation)上にて動作するよう設計される。しかしながら、この発明は、異なるソフトウェアを用いる他のコンピュータシステムにて開発され得動作し得ることを理解されたい。
【0047】
簡潔に言えば、このツールキットは、開発者が、音声を認識するためのBNFに基づく言語モデルを用いる特定の音声認識装置に対し最適化されたASR文法を視覚化し作成することを可能にするようなソフトウェアツールである。このツールキットの1つの新規な局面は、作成中の文法を視覚化するために用いられるスプレッドシートフォーマットである。図2は典型的なメインツールキットスクリーンを示す。
【0048】
好ましい実施例では、このツールキットメインスクリーン(図2)は、あるプロジェクト内のテーブル(206)を表示する。プロジェクトは、特定の音声アプリケーションの基礎をなすコンパートメントとテーブルとの集合として定義される。コンパートメントには、あるプロジェクト内の特定のタスクに関係する1つ(以上)のテーブルが含まれる。テーブルには、本質的には、有効発話に対するツリーが含まれる。したがって、ある典型的なプロジェクトといえる「銀行業務」には、「口座問合せ」および「ローン問合せ」といった銀行業務に関連するさまざまなタスクに対するコンパートメントが含まれるであろう。「口座問合わせ」コンパートメント内のテーブルは、したがって、ある口座問合せの話題に関する有効発話を定義するであろう。
【0049】
テーブル(206)は、開発者が文法を発生させるために用いられるデータを入力するマトリックスであり、セルの行列からなる。各セルには以下のタイプのうちの1つのデータが含まれ得る:終端シンボル、非終端シンボル、変数およびASR指示。終端シンボルは任意のASCII記号列であり(ただし、実行時インタプリタ124または音声認識装置116に対し特定の意味を有する特別の文字は除く)、それらはテキスト形式にて書かれる言語の基本語句である。好ましい実施例における特別の文字には、L&H認識装置に対しては「!」、「/*」および「♯」が含まれ、一般には、括弧、角型括弧、ブレースおよび脱字記号が含まれる。
【0050】
非終端シンボルは他のテーブルに対する相互参照として働く。たとえば、メインテーブル206の第1行第3列および第7行第3列の“LOAN(ローン)”は、サブテーブル205aを参照する非終端である。このメインテーブルを処理することによって上述のコーパスファイル(122)が発生されると、非終端シンボルがその参照されたテーブルで置換される。“LOAN”はサブテーブル205の内容で置換される。
【0051】
変数は、別のテーブルを参照することに加えて、ある値を制御ソフトウェア(つまりIVR)に対し実行時中に返す、あるタイプの非終端シンボルである。メインテーブル206の第3列第4行は、サブテーブル205bを参照する変数“YEARS(年)”を含むセルである。変数によって参照されるテーブルはその変数に対する文法を定義し、販売者特有ASR文法(112)が作成されると他の任意の参照されるテーブルとして処理される。しかしながら、コーパスファイル(122)が発生される場合には、変数は完全には列挙されない。これは、効率性を保つ場合には、リスト化するにはあまりに多くの可能性がありすぎることになるからである。たとえば、“My favorite number between 1 and a thousand is xxx(1から1000までのうち私の好きな数はxxxである)”という有効発話は1000の異なる可能性をもたらす結果となる。これらの可能性をすべて列挙する代わりに、変数を含む発話を、変数がその発話のどこに生ずるかの「集合を指定する」特別な文字とともに、コーパスファイル(122)に書込む。したがって、我々の例示的な発話の場合には、単一のコーパスファイル(112)エントリ“My favorite number between 1 and a thousand is [INTEGER1](1から1000のうち私の好きな数は[整数1]である)”となる。実行時インタプリタ(124)が変数を含む検出された発話に対するコーパスファイル(122)を検索すると、その検出された発話の非変数部分のみが一致しなければならない。変数部分は、実行時インタプリタ(124)にあるアルゴリズムを用いて別途解釈され(この例ではINTEGER1に対するアルゴリズム)、結果として得られる値はIVR(130)が検索できるようにシステムメモリに記憶される。本実施例では、そのようなアルゴリズムでサポートされる変数のタイプを図5に示す。
【0052】
コーパスファイル(122)においては、変数は通常のテキストからは角型括弧(「[」および「]」)でもって離されて設定される。これら括弧間の文字は、当該変数のタイプと、その変数が聞こえた場合に実行時において処理されるアルゴリズムとを識別する。
【0053】
ASR指示は音声識別装置(116)にとって意味を持つ特別なコマンドである。これらのセルは、文法ファイル(112)には現れるが、コーパスファイル(122)には現れない。たとえば、ASR指示を文法ファイル(112)にて用いることにより、認識装置に対し、発話内に変数が存在し別のテーブルを参照すべきである旨が通知される。
【0054】
任意として、セルにマークしたり、下線を引いたり、またはセルを特徴づけたりすることもできる。こうした特徴については、以下でテーブル探査について論じる際に説明する。
【0055】
テーブルにおいて表わされた文法におけるすべての有効発話は、テーブルを左から右へと探査することによって得ることができる。
有効発話は、列1に示した句のうち1つが聞こえたときに始まる。列2以上においてこれに続き得る句の範囲は、例「I think」が発生する行1よりも上および下の行にある境界線によって決まる。境界線に関わらず、句は右に移動して隣接する列に入ることができるが、セルの句に下線を引くことによって記された境界線を越えて上昇または下降して隣接する行に入ることはできない。文字の大きさの制約があるので図示していないが「you give me」という句に下線が引かれていると仮定する。有効発話の存在を求めるために左から右に向かって列を探査しているときは、この境界線に垂直方向で出会ったり交差したりしない。
したがって、列2において可能な句は、行1から6(行7は境界を有する)のセルを含む。探査プロセスは、「TOKEN(トークン)」を含む「マークされた」列に達するまで、列3他まで続けられる。
各コンパートメントはメインテーブルを有し、このメインテーブルの最も右側の列は、テーブルの列を探査することにより生成される各有効発話についてIVR(130)に戻されるトークンを含む。
【0056】
たとえば、図2に示したテーブルを用いると、図3に示したツリーが生成される。行1、列1の「I think」という句が聞こえる。列2の次の有効な句についての行の値の範囲は行1から6を含む。なぜなら行7は横切ることのできない境界を有するからである。この行の範囲(空白のものはスキップする)内のエントリを含む次の列は列2であるため、次の有効な句は列2において行1と6との間にあるはずである。次に「I want」という句が聞こえた場合、これは有効である。なぜならこの句は列2の行2(1と6との間)にあるからである。次の有効な句を求めるプロセスを列3で開始する。列2の行2に入ると、次の行の有効範囲はまた境界線のない行1から6にわたる。次に「the term to be」が聞こえると、これは有効である。列4に進むと次の行の有効範囲は4から6である。行3および6に境界線がある(図示せず)。次に列4に進むと次の列は行3から6にエントリがある。次にこのシステムは「YEARS」変数(20、30または60など)という用語を聞こうとし、これは発話全体が処理されマークされた列(列7−「TOKEN」)に達するまで続けられる。
【0057】
上記のような探査中、非終端のセルに出会うたびに第2の「ミニ探査」が行なわれる。上記のように、非終端セルは単に、非終端セルの代わりに現われるべき別のテーブルを識別する。探査中に非終端セルに出会うと、参照するテーブルを同じ態様で探査し、この「サブテーブル」からの発話を、メイン探査の現在の発話内の非終端セルに置くことができる。機能的には、現在のテーブルの非終端セルを参照するテーブルで置換えたようなものである。
【0058】
任意選択としてセルを特徴づけてもよい。任意選択セルを含む各発話はセルの内容があってもなくても有効である。したがって、このような発話を処理して注釈付のASRコーパス(122)にしたとき、この発話における任意選択セルは複数のコーパスアイテム(発話)となり種々の可能性に対処する。販売者特有文法ファイル(112)におけるASR指示を用いて音声認識装置(116)に特定のセルが任意選択であることを知らせる。
【0059】
最後に、上記の探査は、どのようにしてテーブルを用いて所与の発話の有効性を検査できるのかを示していることに注意されたい。実際は、他の種類の探査がツールキット(104)ソフトウェアを用いて行なわれる。この第2の種類の探査を用いて、起こり得る有効な発話(変数などのいくつかの例外がある)をテーブルからすべて列挙する。言い換えれば、列挙探査は、「テーブルを通るすべての有効経路の終端に何があるのかを知り」、各経路により形成される有効発話を記録しようとするものである。
【0060】
好ましい実施例では、列挙探査を行なうとき、ソフトウェアは、ある経路が(マークされた列で)終わるまで、その経路全体を論理的に辿り、通過したセルの内容を記録する。その時点で、ある有効経路が完成し、経路と交差するセルの内容が、出会った順序で有効発話として書込まれる。この探査では次に、経路の最後の「分岐」(ここでは2つ以上のセルが有効である)までバックアップし、分岐に至る経路におけるセルの記録を維持し、終端まで他の「分岐」を辿り、バックアップし、といった処理を、起こり得る有効経路がすべて列挙されるまで行なう。
【0061】
例として図2のテーブルをもう一度用いると、列挙探査は、有効発話「I think I need a mortgage with a twenty year term」(「twenty」はYEAR変数である)で始まることもある。最初の有効発話の終わりから分岐まで「バックアップ」した後の、次の有効発話は、「I think I need a mortgage that has a twenty year term」である。分岐は列4で生じ、ここでは「with a」および「that has a」双方は結果として有効発話である。これは、この発明の好ましい実施例で行なうタイプの列挙探査に過ぎず、種々の探査方法によっても完全な列挙が得られることがわかる。好ましい実施例では、コーパス(122)における有効発話のリストは特定の順序である必要はなく、いかなる列挙探査方法でも機能するであろう。なお、好ましい実施例では「thirty」および「sixty」は考慮しない。なぜならこれらはすべて1つの変数YEARの一部であり、変数をすべて列挙するわけではないからである。また「I think」は任意選択セルにあるので、先に列挙した有効発話は「I think」を削除しても有効であり、第2の有効発話が同じように列挙されるであろう。
【0062】
ツール(202)は、図2のツールキットメイン画面の最上部に表示される。ユーザはこのツールによりコンパートメントおよびプロジェクトを管理することができる。ユーザは「ファイル」メニューの下にプロジェクトを作成し、開きまたは閉じ、プロジェクトにおけるコンパートメントのための注釈付コーパスを構築し、出力ファイルの宛先を選択し、音声認識装置フォーマットを選択することができる。「コンパートメント」メニューの下に、ユーザは文法ファイルまたはコーパスファイルを現在のコンパートメントについて生成することができる。組合せボックス202aによりユーザは現在のプロジェクト内で種々のコンパートメントから表示および選択を行なうことができる。
ツール(202)の下には、コンパートメントウィンドウ(203)があり、これを用いてコンパートメント内のテーブルを生成および編集する。コンパートメントウィンドウ(203)の中の「ファイル」メニューオプションにより、ユーザは、コンパートメント文法およびコーパスを生成し、文法およびコーパスを最適化し、プリンタのセットアップを変更し、コンパートメントを保存する。「テーブル」メニューにより、ユーザは、選択されたテーブルを生成し、開き、インポートし、その名称を変更し、保存し、削除しまたは印刷する。ユーザは組合せボックス(204a)により現在のコンパートメント内の特定のテーブルを選択および表示し、サイズ決定ボタン(204b)により選択されたテーブルにおける行または列の数を変更する。
好ましい実施例では、セルの属性(任意選択、ASR指示、非終端またはサブ文法、変数)を、最初にマウスを用いて修正すべき属性を有するセルを指し示すことによって設定し、次に右側のマウスボタンを押す。こうすることによって図2bに示したメニューが得られる。この発明の好ましい実施例ではマウスを用いているが、他の手段(たとえばコントロールキー)を用いてセルを選択したりメニューを開いたりすることもできることがわかるであろう。メニューから、セルに下線を引くための「下線」、セルを変数にするための「変数挿入」、非終端を特定し非終端が参照するテーブル(またはサブ文法)を挿入するための「サブ文法挿入」、およびASR指示を挿入するための「ASRオプション挿入」を含めて、種々のセルの機能を利用できる。
【0063】
セルの属性が変数、非終端またはASR指示に設定されているとき、図4a−cの対話が現われる。図4aは、非終端特定対話(400)を示す。上記で規定したように、非終端セルタイプは別のテーブルを参照する。この対話(400)では単に、開発者の注意を参照されたテーブルの名称に促している。
【0064】
図4bは、現在の音声認識装置(116)のために利用可能なASR指示のリストボックスをユーザに与えるASR指示対話(410)を示す。選択されたASR指示にさらなる引き数データが必要であれば、開発者はこのさらなる引き数データを対話に与えることができる。
【0065】
図4cは、開発者が変数セルを指定するときに表示される変数特定対話(420)を示す。対話(420)は、開発者の注意を、変数の名称、変数が参照するテーブル、および変数のタイプに促す。好ましい実施例が提示する変数のタイプのリストおよび変数が戻す値のタイプが図5に示される。
【0066】
図6は、開発者がツールキット(104)を用いて文法を生成するときに用いるステップを示す。開発者は、ステップ600においてツールキット(104)プログラムを開くことによって開始する。典型的な窓あけ環境では、これはアイコンを選択することを含む。ツールキット(104)の好ましい実施例は、別の販売者開発ツールキットに含み入れるためのOLEサーバであるが、ツールキットを独立型バージョンで製作することも可能である。
【0067】
プログラムが始まると、ステップ602で、開発者は取組むべき新しいプロジェクトを開く必要がある。開発者は次に、ステップ604でコンパートメントを生成し、ステップ606でコンパートメントのメインテーブルについて行および列の数を規定する。これはサイズ決定ボタン(204b)を用いて行なうことができる。コンパートメントのメインテーブルのサイズが確立すると、次のステップ(608)では終端データを含むことになるセルを埋める。上記のように、終端データは単に、文法において有効な非変数の句(「I'd like」、「I want」など)を規定するテキストデータである。
【0068】
ステップ610で、開発者はテーブルの変数セル(もしあれば)を埋める。好ましい実施例では、図4cに示した変数対話を用いて、変数の名称および変数を処理するときに行なわれるであろうアルゴリズムへの参照(実際のアルゴリズムは実行時インタプリタ124内にある)を含む変数を規定する。
【0069】
ステップ612で、開発者はASR指示を含むセル(もしあれば)を満たす。好ましい実施例では、図4bの対話を用いて、現在の音声認識装置(116)(現在の音声認識装置はツール202の「ファイル」メニューのリストから選択される)について、サポートされているASR指示のリストから、ASR指示を選択する。
【0070】
ステップ614で、開発者は、右側のマウスボタンおよび図2bに示したメニューの「任意選択指定」オプションを用いてどのセルを(もしあれば)任意選択とするかを識別する。
【0071】
ステップ616で、開発者は、コンパートメントメインテーブルにおいてトークン(token)データを含む列を識別しこれを埋める。好ましい実施例では、コンパートメントメインテーブルの右端の列がトークンデータを有するものとしてデフォルトでマークされる。
【0072】
ステップ618で、開発者は、上記のような探査中に用いられる境界を識別する。好ましい実施例では、これは図2bに示したメニューを用い、あるセルに下線を引くことによって行なわれる。
【0073】
ステップ620で、開発者は非終端セルを埋める。好ましい実施例では、これは図4aに示した対話を用いて行なわれる。開発者は、サブ文法を含む新しいテーブルを生成する必要もあり、これは「テーブル」メニューを用いて行なうことができる。このテーブルはまた、先に延べたような終端、非終端、変数、任意選択およびASR指示セルステップを、もし参照するテーブルが上記のようなセルのタイプを必要とするのであれば、必要とする。しかしながら好ましい実施例では、参照するテーブルがマークされた列を有しておらずトークンを戻さない。
【0074】
ステップ622で、コンパートメントは完成する。このプロジェクトについて別のコンパートメントが必要であれば、開発者はステップ604に進み新しいコンパートメントを生成する。他のコンパートメントが不要であれば、開発者は624および626のふたつのうちいずれかのステップに進むことができる。ステップ624では、ASR(114、116)について文法ファイル(112)を生成する。好ましい実施例では、このプロセスはコンパートメントウィンドウ(203)の「ファイル」メニューオプションを用いて開始される。この生成は、テーブルの解析を行なうことによってなされ、その結果メモリに記憶されるファイル(112)が得られる。このファイル(112)は、テーブルで実施される文法規則を含み、音声認識装置(116)がコンパイルし使用することができる形式である。
【0075】
文法ファイル(112)の生成中に行なわれる解析では、文法の有効発話に先行する1組のBNF規則を生成しようとする。BNF規則の生成は、非終端のないテーブルで始まる。すべての非終端は参照するテーブルと置換えられ、結果として完全でかつ拡張されたメインテーブルが得られる。
【0076】
以下のテーブル1a−1eについて検討する。
【0077】
【表1】
Figure 0003964134
【0078】
好ましい実施例の、テーブルを表わす文法規則を生成するメインプロセスが、図10a−dのフロー図に示される。このフロー図のタイトルは「領域処理」であり、使用する再帰的アルゴリズムを示す。領域処理そのものは、テーブルまたはテーブルの一部を入力として受ける。好ましい実施例では、領域処理に与えられたテーブルにおいて元々存在した非終端は、領域処理を呼出す前に参照するサブテーブルと置換えられる。テーブルは、2次元アレイで表わされ、角(すなわち行1、列1−行4、列4)により規定される。領域処理では、「単純な」領域が形成されるまで再帰的にテーブルをより小さなテーブル(「領域」)に分割することによって、テーブルが規定する文法規則を集める。単純領域とは、太線(境界)のないセルの領域である。テーブル1aは単純領域を示す。
【0079】
領域処理が始まると(ステップ1002)、検査が行なわれて処理する領域が単純なものであるかどうかが判断される。テーブル1aから規則を引き出すのであれば、この検査は続けられる。領域が単純なものであるとき、論理「OR」を用いて、垂直方向に隣接するセルをグループ化する(ステップ1006)。テーブル1aでは、各列に1つずつ4つのグループが形成される。これらのグループは、(A|E|I|M)、(B|F|J|N)、(C|G|K|O)および(D|H|L|P)であり、ここで「|」は論理「OR」を表わしている。次に、これらのグループを論理「AND」を用いて左から右へと組合わせると(ステップ1008)、「(A|E|I|M)(B|F|J|N)(C|G|K|O)(D|H|L|P)」となる。ステップ1010でこの規則を戻し、領域処理はステップ1072で終了する。
【0080】
処理する領域がテーブル1bに示したように単純なものでない場合、ステップ1004の検査は失敗し、このプロセスはステップ1012に進む。ステップ1012で、処理する領域を検査して「接頭語付」領域であるかどうかを調べる。接頭語付領域には最初の「n」列において境界線がない(単純な列である)ので、テーブル1bは接頭語付領域である。なぜならその最初の列1には境界線がないからである。ステップ1014で、接頭語付領域を2つのサブ領域に分割する。第1のサブ領域は左端のn列である(A、E、IおよびMを含む)、第2のサブ領域は接頭語付領域の残りである。ステップ1016で、接頭語付領域についての規則が、第1の領域についての規則AND第2の領域についての規則として規定される。再帰的に領域処理を1回呼出して第1の領域についての規則を発見し、もう一度呼び出して第2の領域についての規則を発見する。ステップ1018で、この規則は戻され、領域処理はステップ1072で終了する。
【0081】
ステップ1012で、もし領域が接頭語付領域でなければ、これに対して検査を行ない(ステップ1020)「接尾語付」領域かどうかを調べる。接尾語付領域は接頭語付領域の逆であり、最後の「n」列に境界線のないものである。この領域が接尾語付領域であれば、ステップ1022において、一方が右端のn列についてのものであり、もう一方がその残りのものについてのものである2つのサブ領域に分割される。ステップ1024では、接頭語付領域に対するステップ1016と同じようにして、領域についての規則を2つのサブ領域の論理ANDとして規定する。この規則を再び戻し(ステップ1026)領域処理はステップ1072で終了する。
【0082】
ステップ1020において、もしこの領域が接尾語付領域でなければ、これに対して検査を行ない(ステップ1028)、この領域において「重複する」境界があるかどうかを調べる。2つ以上の境界のある列において重複境界が生じるので、テーブル1cは重複する列(列2)を含む。領域において重複する列が存在すれば、セルごとにアプローチを行なって含まれている単純な領域を求める。ステップ1030で、このプロセスは処理する領域における左上端のセルで始まる。このセル(「A」)の内容を、規定している現在の単純領域に追加する。
【0083】
次に、ステップ1032で、このプロセスでは境界線に出会うまで現在の列を下降しようとする。このプロセスが進入したセルを現在の単純領域に追加する。テーブル1cでは、プロセスはセル「I」まで下降可能で、進入した各セルを現在の単純領域に追加する(ここまでは現在の単純領域に「A」、「E」および「I」がある)。このとき、「天井」および「地面」に注意する。「天井」は現在のセルよりも上の、現在の列における最初の境界または区切り(「A」よりも上の区切り)であり、「地面」は、現在の列において現在のセルよりも下にある最初の境界または区切りである(行3の「I」の下の区切り)。ステップ1034で、このプロセスでは、右隣のセルの「天井」または「地面」が異なるまで右に向かって進もうとする。テーブル1cを用いた例では、1032の後に、このプロセスはセル「I」にある。次は右に進んでセル「J」に向かおうとする。「J」の下の「地面」は同じである(区切りは行3の下にある)が、「天井」は異なる。「J」の上の最初の境界または区切りは、「A」の上の区切りではなく(「I」の場合はそうである)、「F」の下の境界である。
【0084】
このようにしてこのプロセスは、「天井」が変わるまで右に進む。このプロセスは、領域の右端の境界に出会った場合または右のセルが既に重複プロセスにより単純領域に割当てられている場合に右に進むことをやめる。
【0085】
プロセスが右に進むのをやめたときに、ステップ1036で、既に単純領域に割当てられている次の境界、区切りまたはセルまで上昇しようとする。現在の例では、このプロセスは「I」から出ない。なぜなら「J」(次のセル)の「天井」が異なるからである。このプロセスが上昇しようとしたとき、次のセルは「E」であり、これは既に現在の単純領域に割当てられているため、プロセスは「I」に残り、上昇は終了する。
このプロセスが上昇をやめたとき、次はステップ1038で「天井」または「地面」が変わるまで、領域の左の境界に出会うまで、または左隣のセルが既に単純領域に割当てられている場合まで左に進む。この例では、プロセスはまだ「I」にあり、領域の左側の境界に出会うので左に進むことができない。ステップ1038で左に進もうとした後、このプロセスはステップ1032−1038を、プロセスが「捉えられる」まで繰返す。これ以上下降、右への進行、上昇または左への進行ができなくなったときにプロセスは「捉えられる」。この例では、プロセスは既に「I」で捉えられている。「I」の下に境界があるためにこれ以上下降することはできず、天井が変わっているため右に進むことができず、「E」が既に単純領域に割当てられているため(これは事実である)上昇することができず、領域の左の境界のため左に進むことができない。このプロセスは、最初の単純領域にどのセルがあるのかを求めるために行なわれ、セル「A」、「E」および「I」が最初の領域にあるということを記録する(ステップ1040)。
【0086】
ステップ1042で、重複プロセスでは、すべてのセルが単純領域に割当てられているかどうかを検査する。そうでなければ、このプロセスはステップ1044に進み、単純領域に割当てる次のセルを選択する。この選択は現在の行を横切って左から右へと行なわれ、1行が終了すると、次の行の最初のセルが選択される。この例では、第1の単純領域は左上端のセル(「A」)で始まる。まだ単純領域の一部になっていない右隣のセルは「B」なので、「B」が次の開始点である。
【0087】
「B」で始めてステップ1032−1040を再び行なうと、このプロセスは「F」(これを含む)まで下降し、「H」(これを含む)まで右に進み、「D」(これを含む)まで上昇し、「C」で捉えられる前に「C」(これを含む)まで左に進むことになる。したがって、第2の単純領域は「B」、「C」、「D」、「F」、「G」および「H」を含む。第2の単純領域は「B」で始まるので、このプロセスでは「C」を次の開始セルとみなす。「C」は既に割当てられているので、「D」、「E」、「F」、「G」、「H」および「I」である。したがって次の開始セルは「J」である。
【0088】
「J」で始めてステップ1032−1040を行なうと、このプロセスは境界のために下降することができず、地面が変わるので右に進むことができず、境界があるので上昇することができず、「I」が既に単純領域に割当てられているので左に進むことができない。したがって「J」はそれ自身の単純領域である。
【0089】
「K」で始めてステップ1032−1040を行なうと、このプロセスは「O」まで下降し、「P」まで右に進み、「L」で捉えられる前に「L」まで上昇している。第4の単純領域は、「K」、「L」、「O」および「P」を含む。次の開始点は[M]であり、最後の単純領域は「M」および「N」を含む。
単純領域の規定後、ステップ1046で、各単純領域について単純規則を求める。これは本質的にステップ1006および1008と同じ機能を果たし、垂直方向に隣接するセルを論理「OR」を用いて組み合わせてグループにし、水平方向に隣接するグループを論理「AND」を用いて組み合わせる。
ステップ1048で、共通する少なくともひとつの垂直方向の境界を共有する単純領域を求めて、隣接する組を計算する。一対の単純領域がこのような境界を共有しているとき、隣接する組において左側の領域が右側の領域を「指す」。テーブル1cはまた、この例における種々の単純領域を示す。単純領域1は単純領域2および3双方と境界を共有するので、隣接する組は1−>2を連結するエントリおよび1−>3についてのエントリを含む。「−>」は「…を指す」を表わす。この例では、計算した隣接組は1−>2、1−>3、3−>4および5−>4を含む。右端の領域についてもエントリを計算すると、これらのエントリはEND(終了)を指す。この例では、さらなるエントリは2−>ENDおよび4−>ENDである。
次に、ステップ1050で、左端の領域を識別する。これはBEGIN(開始)−>1およびBEGIN−>5で表わされる。ステップ1052で、BEGINからENDまでの「経路」を、連結されたリストからの要素を互いに入れ替えることによって生成する。この例では、ある経路はBEGIN−>1−>2−>ENDであり、別の経路はBEGIN−>5−>4−>ENDであり、最後の経路はBEGIN−>1−>3−>4−>ENDである。最後にステップ1054で、BEGINおよびENDを廃棄し、「−>」を論理「AND」で置換え、領域番号をステップ1046で生成した単純領域規則で置換えることによって、各経路を規則に変換する。経路1つ当たり1つである規則は、論理「OR」を用いて組合わされ、重複領域に対し1つの規則を形成する。この1つの規則はステップ1056で戻され、領域処理プロセスはステップ1072で終了する。
【0090】
ステップ1028で、処理する領域が重複領域でなければ、領域処理プロセスはステップ1058に進み、ここで処理する領域における最長の境界線を求める。もしタイがあれば、任意で選択される。ステップ1060でこの線を検査し、領域の一方端から他方端に延びているかどうかを判断する。そうでなければ、処理する領域を垂直方向分割して2つの水平方向に隣接するサブ領域にする。この分割は最長の境界線の任意の一端で行なわれる。好ましい実施例では、左側の端部を用いるが、最長の線の左側の端部が領域の左の境界であれば、右側の端部を用いる。テーブル1dでは、「O」および「P」の下の境界ではなく「A」および「B」の下の境界を任意で選択する。さらに、この境界の右端で分割を行ない2つのサブ領域を形成する。第1のサブ領域は列1および2を含み、第2のサブ領域は列3および4を含む。ステップ1064で、領域処理プロセスを各サブ領域について一度ずつ呼出し、サブ領域について戻した規則を論理「AND」を用いて組合わせる。
【0091】
ステップ1060で最長の境界線が領域全体にわたって延在していれば、ステップ1066では単に領域を最長の線に基づいて2つのサブ領域に分割する。次に各サブ領域について一度ずつ領域処理を呼出し、これらの領域を論理「OR」を用いてステップ1068で組合わせる。ステップ1070では生成した規則を戻し(ステップ1064または1068)、1072で領域処理プロセスが終了する。
【0092】
文法ファイル(112)が構築されると、これについて最適化も行なわれる。最適化中に、テーブルが表わす文法規則を変形し、選択した音声認識装置(116)の特質に合わせるようにして性能を高めてもよい。たとえば、同じ語で始まるかまたは終了する複数の規則を組合わせて1つの規則にし、ある認識装置についての効率を高める。2つの規則が同じ語で始まるのであれば(すなわちABおよびAC)、さらなる論理「OR」を用いて2つの規則を組合わせて1つの規則にすることができる(すなわちA(B|C))。同様に、同じ語で終わる2つの規則(すなわちACおよびBC)を組合わせて1つの規則にする(すなわち(A|B)C)。
【0093】
ステップ624の前または後に起こり得るステップ626で、注釈付ASRコーパスファイルを生成する。好ましい実施例では、これはコンパートメントウィンドウ(203)の「ファイル」メニューの「コーパス生成」で開始される。好ましい実施例では、最初に個々のコーパスを生成し各コンパートメントについてメモリに記憶し、個々のコーパスはツール(202)の「ファイル」メニューのこのオプションを選択することによって併合される。このオプションを選択したとき、図7に示した注釈付コーパス対話が現われ、開発者は、併合するコーパスおよび新たに併合したコーパスの名称を選択する。本来併合では種々のコーパスのリストを1つのリストに加える。結果として得られるコーパスファイル(122)はメモリに記憶され、実行時にインタプリタ(124)がこれを用いて音声認識装置(116)が聞く発話を処理する。
【0094】
コンパートメントコーパスを生成したときに、上記の列挙探査をコンパートメント内のテーブルについて行なう。好ましい実施例では、コンパートメント内の有効発話がコンパートメントメインテーブルにおいて開始および終了するが、有効発話「経路」は非終端が参照するいくつかのテーブルを通過するであろう。テーブルを通過する各有効経路が(テキスト形式で)コンパートメントコーパスに書込まれる。各有効経路もまた、コンパートメントのメインテーブルの有効経路の端部(マークされた列)にあるトークンデータ(トークンクラス識別子の役割を果たす)を含むであろう。コンパートメントコーパスを生成したとき、種々の有効発話の論理も検査し、結果として得られる文法が確実に意味をなすようにする(空の発話がない、1つの有効発話につき1つのトークンクラスがあるなど)。
【0095】
実際には、こうして得られたコーパス(122)は好ましい実施例では1対のファイルであり、ツールキット(104)は、種々のコンパートメントコーパスが1つのコーパスに併合されたときにこれらのファイル双方を生成する。これらのファイルについての好ましいフォーマットは以下のとおりである。
【0096】
コーパスファイル
[1]:comp1−comp1の第1の発話、トークンクラス1
[1−1]:comp1−comp1の第2の発話、トークンクラス1
[1−2]:comp1−comp1の第3の発話、トークンクラス1
[2]:comp1−comp1の第1の発話、トークンクラス2など。
最初の数字は発話のクラスを示す。第2の数字がある場合これはこのクラスのメンバーを示す。このすぐ後に続くテキスト「comp1」はコンパートメントを識別する。残りのラインは実際のテキスト形式の発話である。
【0097】
アンサーファイル:
[1]:
years(年数)
[2]:
days(日数)
−−−
最初の数は発話クラスであり、次のラインは戻すトークンを含む。この例では、クラス「1」の発話はトークン「years」をIVR(130)に戻し、クラス「2」の発話はトークン「days」を戻す。
【0098】
コーパスの併合後、得られたコーパスファイル(122)を実行時に実行時インタプリタ(124)が用いることができる。生成したコーパスファイル(122)および文法ファイル(112)を用いて、開発者は文法開発ツールキット(104)を用いた開発を終了する。ツールキットはステップ628において、ファイルメニューから「終了」オプションを選択するかまたはツールキットウィンドウの右上隅の「x」をクリックすることによって終了する。
【0099】
上記の教示から判断すれば、これらの教示において実施されるこの発明の範囲から逸脱することなく変形が可能であることがわかるであろう。発明者らの好ましい実施例の一部として挙げた例はいずれも例示のみを目的として示したものであり、この発明の範囲を限定することを意図したものではない。それよりもむしろ、この発明の範囲は前掲の特許請求の範囲によって定められるものである。
【図面の簡単な説明】
【図1】 埋込自然言語理解システムの全体図を示す。
【図2】 文法開発ツールキットのメイン画面を示す。
【図3】 図2の文法テーブルをツリーで表現したものを示す。
【図4】 種々のセル対話を示す。
【図5】 好ましい実施例で提示される変数のタイプを示すテーブルである。
【図6】 文法開発ツールキットの使用を示すフロー図である。
【図7】 注釈付コーパス対話を示す。
【図8】 図8aおよび8bはそれぞれ注釈付ASRコーパスファイルおよび販売者特有ASR文法ファイルのためのサンプルフォーマットを示す。
【図9】 IVRが実行時インタプリタにアクセスするときの動作を示すフロー図である。
【図10】 図10a−dはテーブルから文法規則を引き出すためにツールキットが行なうステップを示すフロー図である。

Claims (9)

  1. CPUとメモリとを備え、複数のセルの行列からなるメインテーブルを表示可能なコンピュータにおいて使用される方法であり、各前記セルに入力されるデータに基づいて、対話型音声応答(IVR)システムおよび前記IVRシステムに結合される自動音声認識(ASR)システムにおいて用いるための言語文法を自動的に作成する方法であって、
    開発者による入力に基づいて、前記CPUが、前記コンピュータに前記メインテーブルを表示させるステップと、
    前記開発者による、発話が期待される句データの前記セルへの入力に基づいて、前記CPUが、前記メモリに前記句データを記憶させるステップと、
    認識対象として理解されるべき言語において許されるすべての文のリストに含まれる発話である有効発話の意味を表わし前記IVRシステムの応答を特定するためのトークンデータの、前記有効発話の終わりを表す句データに対応するセルへの、前記開発者による入力に基づいて、前記CPUが、前記メモリに前記トークンデータを記憶させるステップとを含み、
    前記方法はさらに、
    前記CPUが、前記句データが入力された最前の列から前記トークンデータが入力された列まで、前記メインテーブルにおいて前記有効発話を形成するすべての経路を辿り、各前記経路に含まれるセルの内容を記録することにより、前記メインテーブル中の前記セルの行列に対して行方向に、前記メインテーブルの列の列挙探査を行なうステップを含み、それによって、前記CPUが前記メインテーブルのセル内のうち句データが存在するセルにおいて見出される有効発話を自動的に列挙し、
    前記CPUが、前記自動的に列挙された有効発話および当該有効発話に対応するトーク
    ンデータを前記メモリの第1の出力ファイルに書込むステップと、
    前記CPUが、前記メインテーブルにおいて隣接する各前記セルから複数の前記句データのグループを形成し、各前記グループを組合わせることにより、前記メインテーブルを分析するステップとを含み、それによって、前記メインテーブル内に見出され前記第1の出力ファイルに記憶される有効発話を定義する文法規則の集合が抽出され、
    前記IVRに結合される前記ASRシステムによって用いるために、前記CPUが、前記ASRシステムにおけるフォーマットに基づいて、前記分析された文法規則を前記メモリの第2の出力ファイルに自動的に書込むステップとを含む、方法。
  2. 記開発者による前記セルに対する入力に基づいて、前記CPUが、前記メインテーブル内の前記セルのうちのいくつかにおいて作成された、前記列挙探査中に横断されることのない境界である可視境界を識別するステップをさらに含む、請求項1に記載の方法。
  3. 前記開発者による前記セルに対する入力に基づいて、前記CPUが、前記セルのいくつかを非終端セルとして識別するステップをさらに含み、前記非終端セルの内容は別のテーブルを参照する、請求項1に記載の方法。
  4. 前記開発者による前記セルに対する入力に基づいて、前記CPUが、前記非終端セルのいくつかを変数セルとして識別するステップをさらに含み、前記変数セルの内容も、話される発話において前記対話型音声応答システムが変数を検出すると実行されるアルゴリズムを参照する、請求項3に記載の方法。
  5. 前記開発者による前記セルに対する入力に基づいて、前記CPUが、前記セルのうちいくつかを任意選択セルとして識別するステップをさらに含み、前記任意選択セルを含む有効発話は前記任意選択セルの内容を伴うおよび伴わないの両方において有効である、請求項1に記載の方法。
  6. 前記開発者による前記セルに対する入力に基づいて、前記CPUが、前記セルのうちいくつかを自動音声認識(ASR)システム指示セルとして識別するステップをさらに含み、前記ASR指示セルの内容はASRシステムにとって特別の意味を有する、請求項1に記載の方法。
  7. 前記列挙探査を行なうステップは、
    a) 前記メインテーブルにおいて最も上側で最も左側の空白でないセルで始めるステップと、
    b) 前記最も上側で最も左側の空白でないセルの内容を発話バッファにて記録するステップと、
    c) その右側の次の空白でないセルに移動して、前記セルの内容を前記発話バッファに付加するステップと、
    d) マークされた列またはTOKEN列に達するまでステップ(c)を繰返すステップと、
    e) 前記発話バッファの内容を前記第1の出力ファイルに書込むステップと、
    f) 前記発話バッファにその内容がある先の空白でないセルに向かって左に移動し、前記先の空白でないセルの内容を発話バッファから消去するステップと、
    g) 現在のセルが下の縦方向に隣接する空白でないセルを有し、現在のセルが前記現在のセルと前記縦方向に隣接する空白でないセルとの間に境界線を全く有さない状態になるまで、ステップ(f)を繰返すステップと、
    h) 前記縦方向に隣接する空白でないセルに向かって下方に移動して、前記縦方向に隣接する空白でないセルの内容を前記発話バッファに付加するステップと、
    i) 有効発話のメインテーブル全体が探査されるまでステップ(b)〜(h)を繰返すステップとを含む、請求項1に記載の方法。
  8. 前記分析するステップはさらに、前記CPUが
    j) 論理ORを用いて、縦方向に隣接するセルの内容をグループ分けするステップと、
    k) 論理ANDを用いて、横方向に隣接する前記グループ分けされた内容を組合せるステップとを含む、請求項1に記載の方法。
  9. 前記識別するステップは、前記開発者による前記セルに対する入力に基づいて、前記CPUが、その境界を形成するセルにおける句に下線が引かれたことを識別することを含む、請求項2に記載の方法。
JP2000512155A 1997-09-17 1998-09-17 言語文法を作成するための方法 Expired - Fee Related JP3964134B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/932,937 US5995918A (en) 1997-09-17 1997-09-17 System and method for creating a language grammar using a spreadsheet or table interface
US08/932,937 1997-09-17
PCT/US1998/019432 WO1999014689A1 (en) 1997-09-17 1998-09-17 System and method for creating a language grammar

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004125503A Division JP2004258674A (ja) 1997-09-17 2004-04-21 言語文法を作成するためのシステム

Publications (2)

Publication Number Publication Date
JP2003517647A JP2003517647A (ja) 2003-05-27
JP3964134B2 true JP3964134B2 (ja) 2007-08-22

Family

ID=25463176

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000512155A Expired - Fee Related JP3964134B2 (ja) 1997-09-17 1998-09-17 言語文法を作成するための方法
JP2004125503A Pending JP2004258674A (ja) 1997-09-17 2004-04-21 言語文法を作成するためのシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2004125503A Pending JP2004258674A (ja) 1997-09-17 2004-04-21 言語文法を作成するためのシステム

Country Status (7)

Country Link
US (1) US5995918A (ja)
EP (1) EP1016001B1 (ja)
JP (2) JP3964134B2 (ja)
AT (1) ATE222008T1 (ja)
CA (1) CA2304251C (ja)
DE (1) DE69807091T2 (ja)
WO (1) WO1999014689A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004258674A (ja) * 1997-09-17 2004-09-16 Unisys Corp 言語文法を作成するためのシステム

Families Citing this family (111)

* 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
US6094635A (en) * 1997-09-17 2000-07-25 Unisys Corporation System and method for speech enabled application
US6499013B1 (en) * 1998-09-09 2002-12-24 One Voice Technologies, Inc. Interactive user interface using speech recognition and natural language processing
US6434523B1 (en) * 1999-04-23 2002-08-13 Nuance Communications Creating and editing grammars for speech recognition graphically
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
JP2003505778A (ja) 1999-05-28 2003-02-12 セーダ インコーポレイテッド 音声制御ユーザインタフェース用の認識文法作成の特定用途を有する句ベースの対話モデル化
US20020032564A1 (en) * 2000-04-19 2002-03-14 Farzad Ehsani Phrase-based dialogue modeling with particular application to creating a recognition grammar for a voice-controlled user interface
US6301554B1 (en) * 1999-09-23 2001-10-09 Wordstream, Inc. Language translation using a constrained grammar in the form of structured sentences formed according to pre-defined grammar templates
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
US6684183B1 (en) 1999-12-06 2004-01-27 Comverse Ltd. Generic natural language service creation environment
US8645137B2 (en) 2000-03-16 2014-02-04 Apple Inc. Fast, language-independent method for user authentication by voice
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
US7024350B2 (en) * 2000-07-20 2006-04-04 Microsoft Corporation Compact easily parseable binary format for a context-free grammer
US7024348B1 (en) 2000-09-28 2006-04-04 Unisys Corporation Dialogue flow interpreter development tool
US6937986B2 (en) * 2000-12-28 2005-08-30 Comverse, Inc. Automatic dynamic speech recognition vocabulary based on external sources of information
US20020156616A1 (en) * 2001-02-16 2002-10-24 Russell Dale W. Interactive tool for semi-automatic creation of a natural language grammar from a domain model
US6985862B2 (en) * 2001-03-22 2006-01-10 Tellme Networks, Inc. Histogram grammar weighting and error corrective training of grammar weights
US7146308B2 (en) * 2001-04-05 2006-12-05 Dekang Lin Discovery of inference rules from text
US7257529B2 (en) * 2001-09-10 2007-08-14 Intel Corporation Apparatus and method for an automated grammar file expansion tool
JP3542578B2 (ja) * 2001-11-22 2004-07-14 キヤノン株式会社 音声認識装置及びその方法、プログラム
US7080004B2 (en) * 2001-12-05 2006-07-18 Microsoft Corporation Grammar authoring system
US7324942B1 (en) 2002-01-29 2008-01-29 Microstrategy, Incorporated System and method for interactive voice services using markup language with N-best filter element
US20030144846A1 (en) * 2002-01-31 2003-07-31 Denenberg Lawrence A. Method and system for modifying the behavior of an application based upon the application's grammar
US7054813B2 (en) * 2002-03-01 2006-05-30 International Business Machines Corporation Automatic generation of efficient grammar for heading selection
FR2842923B1 (fr) * 2002-07-26 2004-09-24 Thales Sa Generateur d'un corpus specifique a un domaine
AU2002951244A0 (en) 2002-09-06 2002-09-19 Telstra New Wave Pty Ltd A development system for a dialog system
US6907397B2 (en) * 2002-09-16 2005-06-14 Matsushita Electric Industrial Co., Ltd. System and method of media file access and retrieval using speech recognition
US7783475B2 (en) * 2003-01-31 2010-08-24 Comverse, Inc. Menu-based, speech actuated system with speak-ahead capability
AU2003900584A0 (en) 2003-02-11 2003-02-27 Telstra New Wave Pty Ltd System for predicting speech recognition accuracy and development for a dialog system
US20040190774A1 (en) * 2003-03-28 2004-09-30 Baker Daniel P. Method for classifying and accessing writing composition examples
AU2003902020A0 (en) * 2003-04-29 2003-05-15 Telstra New Wave Pty Ltd A process for grammatical inference
US7996223B2 (en) * 2003-10-01 2011-08-09 Dictaphone Corporation System and method for post processing speech recognition output
CN1864203A (zh) * 2003-10-10 2006-11-15 皇家飞利浦电子股份有限公司 用于对话系统的对话控制
US7739117B2 (en) * 2004-09-20 2010-06-15 International Business Machines Corporation Method and system for voice-enabled autofill
US7426688B2 (en) 2004-11-02 2008-09-16 Hewlett-Packard Development Company, L.P. Embedded spreadsheet commands
US7921011B2 (en) * 2005-05-20 2011-04-05 Sony Computer Entertainment Inc. Structure for grammar and dictionary representation in voice recognition and method for simplifying link and node-generated grammars
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US8607147B2 (en) * 2005-12-09 2013-12-10 International Business Machines Corporation System and methods for previewing alternative compositions and arrangements when composing a strictly-structured flow diagram
US7835911B2 (en) * 2005-12-30 2010-11-16 Nuance Communications, Inc. Method and system for automatically building natural language understanding models
US8229733B2 (en) * 2006-02-09 2012-07-24 John Harney Method and apparatus for linguistic independent parsing in a natural language systems
US7725308B2 (en) * 2006-06-07 2010-05-25 Motorola, Inc. Interactive tool for semi-automatic generation of a natural language grammar from a device descriptor
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8149999B1 (en) * 2006-12-22 2012-04-03 Tellme Networks, Inc. Generating reference variations
US7954047B2 (en) * 2007-08-06 2011-05-31 Apple Inc. Cutting and copying discontiguous selections of cells
JP2009229529A (ja) * 2008-03-19 2009-10-08 Toshiba Corp 音声認識装置及び音声認識方法
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US8086444B2 (en) * 2008-05-21 2011-12-27 Resolvity, Inc. Method and system for grammar relaxation
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
KR101597289B1 (ko) * 2009-07-31 2016-03-08 삼성전자주식회사 동적 화면에 따라 음성을 인식하는 장치 및 방법
US8515734B2 (en) * 2010-02-08 2013-08-20 Adacel Systems, Inc. Integrated language model, related systems and methods
JP5718084B2 (ja) * 2010-02-16 2015-05-13 岐阜サービス株式会社 音声認識用文法作成支援プログラム
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US8560318B2 (en) 2010-05-14 2013-10-15 Sony Computer Entertainment Inc. Methods and system for evaluating potential confusion within grammar structure for set of statements to be used in speech recognition during computing event
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9330090B2 (en) * 2013-01-29 2016-05-03 Microsoft Technology Licensing, Llc. Translating natural language descriptions to programs in a domain-specific language for spreadsheets
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
US9582608B2 (en) 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3937002A1 (en) 2013-06-09 2022-01-12 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US9502031B2 (en) * 2014-05-27 2016-11-22 Apple Inc. Method for supporting dynamic grammars in WFST-based ASR
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9582498B2 (en) 2014-09-12 2017-02-28 Microsoft Technology Licensing, Llc Actions on digital document elements from voice
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10176157B2 (en) 2015-01-03 2019-01-08 International Business Machines Corporation Detect annotation error by segmenting unannotated document segments into smallest partition
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US9875235B1 (en) * 2016-10-05 2018-01-23 Microsoft Technology Licensing, Llc Process flow diagramming based on natural language processing
WO2018085760A1 (en) 2016-11-04 2018-05-11 Semantic Machines, Inc. Data collection for a new conversational dialogue system
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
WO2018148441A1 (en) 2017-02-08 2018-08-16 Semantic Machines, Inc. Natural language content generator
US11069340B2 (en) 2017-02-23 2021-07-20 Microsoft Technology Licensing, Llc Flexible and expandable dialogue system
US10586530B2 (en) 2017-02-23 2020-03-10 Semantic Machines, Inc. Expandable dialogue system
US10762892B2 (en) 2017-02-23 2020-09-01 Semantic Machines, Inc. Rapid deployment of dialogue system
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US11132499B2 (en) 2017-08-28 2021-09-28 Microsoft Technology Licensing, Llc Robust expandable dialogue system
US10496382B2 (en) * 2018-02-22 2019-12-03 Midea Group Co., Ltd. Machine generation of context-free grammar for intent deduction
US11837004B1 (en) * 2023-02-24 2023-12-05 Oracle Financial Services Software Limited Searchable table extraction

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US33597A (en) * 1861-10-29 Improvement in the manufacture of springs from rubber and steel
US4156868A (en) * 1977-05-05 1979-05-29 Bell Telephone Laboratories, Incorporated Syntactic word recognizer
USRE33597E (en) 1982-10-15 1991-05-28 Hidden Markov model speech recognition arrangement
US4914704A (en) * 1984-10-30 1990-04-03 International Business Machines Corporation Text editor for speech input
JPH05197389A (ja) * 1991-08-13 1993-08-06 Toshiba Corp 音声認識装置
EP0543329B1 (en) * 1991-11-18 2002-02-06 Kabushiki Kaisha Toshiba Speech dialogue system for facilitating human-computer interaction
EP0578207B1 (en) * 1992-07-06 1999-12-01 Microsoft Corporation Method for naming and binding objects
US5390279A (en) * 1992-12-31 1995-02-14 Apple Computer, Inc. Partitioning speech rules by context for speech recognition
US5544298A (en) * 1993-01-22 1996-08-06 Data Management Corp. Code generation and data access system
US5652897A (en) * 1993-05-24 1997-07-29 Unisys Corporation Robust language processor for segmenting and parsing-language containing multiple instructions
US5623609A (en) * 1993-06-14 1997-04-22 Hal Trust, L.L.C. Computer system and computer-implemented process for phonology-based automatic speech recognition
US5642519A (en) * 1994-04-29 1997-06-24 Sun Microsystems, Inc. Speech interpreter with a unified grammer compiler
CA2214972C (en) * 1995-02-22 2000-07-18 Agust Sverrir Egilsson Graphical environment for managing and developing applications
US5799276A (en) * 1995-11-07 1998-08-25 Accent Incorporated Knowledge-based speech recognition system and methods having frame length computed based upon estimated pitch period of vocalic intervals
US5850629A (en) * 1996-09-09 1998-12-15 Matsushita Electric Industrial Co., Ltd. User interface controller for text-to-speech synthesizer
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
JP2004258674A (ja) * 1997-09-17 2004-09-16 Unisys Corp 言語文法を作成するためのシステム

Also Published As

Publication number Publication date
JP2003517647A (ja) 2003-05-27
DE69807091T2 (de) 2003-05-08
WO1999014689A1 (en) 1999-03-25
JP2004258674A (ja) 2004-09-16
EP1016001A1 (en) 2000-07-05
CA2304251A1 (en) 1999-03-25
ATE222008T1 (de) 2002-08-15
CA2304251C (en) 2005-04-26
EP1016001B1 (en) 2002-08-07
DE69807091D1 (de) 2002-09-12
US5995918A (en) 1999-11-30

Similar Documents

Publication Publication Date Title
JP3964134B2 (ja) 言語文法を作成するための方法
Klemmer et al. Suede: a wizard of oz prototyping tool for speech user interfaces
US7546529B2 (en) Method and system for providing alternatives for text derived from stochastic input sources
US7191119B2 (en) Integrated development tool for building a natural language understanding application
US6434523B1 (en) Creating and editing grammars for speech recognition graphically
US7930182B2 (en) Computer-implemented tool for creation of speech application code and associated functional specification
US6173266B1 (en) System and method for developing interactive speech applications
EP1366490B1 (en) Hierarchichal language models
US7024348B1 (en) Dialogue flow interpreter development tool
US20050096909A1 (en) Systems and methods for expressive text-to-speech
US11538466B2 (en) Development of voice and other interaction applications
US20210056962A1 (en) Development of Voice and Other Interaction Applications
US11749256B2 (en) Development of voice and other interaction applications
EP4018436A1 (en) Development of voice and other interaction applications
Gruenstein et al. Scalable and portable web-based multimodal dialogue interaction with geographical databases
EP1352317B1 (en) Dialogue flow interpreter development tool
Di Fabbrizio et al. AT&t help desk.
KR19990047859A (ko) 도서 문헌 데이터베이스 검색을 위한 자연언어 대화 시스템
Brondsted The CPK NLP Suite for Spoken Language Understanding
Paternò et al. Model-based customizable adaptation of web applications for vocal browsing
JP2023181684A (ja) 応対フロー作成支援装置、及び応対フロー作成支援方法
Damper et al. Experiences of usability evaluation of the IMAGINE speech-based interaction system
Alshawi et al. Variant transduction: A method for rapid development of interactive spoken interfaces
Horacek Natural language processing
JPH08235177A (ja) 情報処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040421

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040426

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070327

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070523

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees