JP2009229529A - 音声認識装置及び音声認識方法 - Google Patents

音声認識装置及び音声認識方法 Download PDF

Info

Publication number
JP2009229529A
JP2009229529A JP2008071568A JP2008071568A JP2009229529A JP 2009229529 A JP2009229529 A JP 2009229529A JP 2008071568 A JP2008071568 A JP 2008071568A JP 2008071568 A JP2008071568 A JP 2008071568A JP 2009229529 A JP2009229529 A JP 2009229529A
Authority
JP
Japan
Prior art keywords
word
vocabulary
head
grammar
speech recognition
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.)
Withdrawn
Application number
JP2008071568A
Other languages
English (en)
Inventor
Mitsuyoshi Tatemori
三慶 舘森
Shinichi Tanaka
信一 田中
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008071568A priority Critical patent/JP2009229529A/ja
Priority to CN200910128054A priority patent/CN101540169A/zh
Priority to US12/407,145 priority patent/US20090240500A1/en
Publication of JP2009229529A publication Critical patent/JP2009229529A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (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)

Abstract

【課題】語彙ネットワークの追加/削除を行う計算効率の良い方法を与える音声認識装置を提供すること。
【解決手段】文法記憶部11は、特定の単語又は文から特定の語頭側部分を除いた語中部を複数含んで構成される複数の語彙のデータと、複数の語彙に共通する語頭側部分を表現するために、ラベル付けされた複数の語頭部ノードを含む語頭部を記憶する。文法編集部12は、対象とする語彙と処理が指示されると、語彙を追加する処理が指示された場合、語頭部と、指示された語彙と、該語彙に含まれる複数の語中部にそれぞれ対応する、当該語中部が複数の語頭部ノードのうち予め対応付けられた一つに接続されていることを示す語頭部側接続情報とを含む文法ネットワークを生成する。音声認識部13は、生成された文法ネットワークを用いて音声認識を行う。
【選択図】 図1

Description

本発明は、音声認識装置及び音声認識方法に関する。
音声認識装置に関する技術として、音声認識用の文法を生成する技術がある。ここで、文法とは、音声認識の対象とする語彙を与えるものを意味している。また、ここで、語彙とは、単語又は文の集合を意味している。音声認識装置は、音声認識を行う時点における文法が与える語彙を、音声認識の対象とすることになる。
文法生成技術の一つに、状況に応じて(例えば、装置の状態又はモードなど、に応じて)語彙を組み合わせることによって、文法を生成する方法がある。そのような方法の具体例として、カーナビゲーションシステムにおける、音声認識用文法の生成方法の一例について説明する。カーナビゲーションシステムにおいて、電源が入れられた直後のモード(すなわち、初期状態)では、文法は、単に、カーナビゲーション操作コマンドの語彙からなる。初期状態において、ユーザからのコマンド入力により他のモード(例えば、地図検索モード又は電話番号検索モードなど)が選択されて、その選択されたモードに移行した場合、初期状態の文法に対して、上記他のモードに固有の操作カテゴリの語彙が追加される。その後も、どのモードからどのモードに遷移したかに応じて、遷移前の文法に対して、必要な語彙が追加され及び/又は不要になった語彙が削除される。
上記例において、音声認識用文法は、単に、語彙の集合である。ここで、文法をXとし、予め用意された語彙をX〜Xとする。X〜Xからk個の語彙{Xi1,Xi2,…,Xik}が選択された場合に、文法X=Xi1+Xi2+…+Xikが生成される。また、状態遷移により、それらk個の語彙{Xi1,Xi2,…,Xik}のうちから、削除するl個の語彙{Xd1,Xd2,…,Xdl}が選択された場合に、上記文法Xから、X←X−Xd1−Xd2−…−Xdlというような削除操作により、文法が更新されることもある。
より一般的なケースとして、予め文型が決まっており且つ文の一部分の語彙が可変である文法を考える。ここでは、「XのY」という文型を例にとって説明する。この「XのY」という文型の例では、X,Yには、任意の語彙が設定可能である。例えば、X={関連会社、子会社}、Y={住所、電話番号}と設定すれば、4つの文「関連会社の住所」「関連会社の電話番号」「子会社の住所」「子会社の電話番号」を表現する文法が得られる。この例においても、上記のカーナビゲーションシステムの例と同様に、予め用意された語彙の中から幾つかの語彙を選択し、例えば、X=Xi1+Xi2+…+Xim,Y=Yi1+Yi2+…+Yinのように、選択した語彙を組み合わせる操作(追加する操作)によって、及び/又は、語彙を削除する操作によって、文法の生成及び更新が可能になる。
ところで、音声認識に用いられる語彙を表現する方法に、語彙をネットワークで表現する方法がある(例えば、非特許文献1参照)。語彙ネットワークを用いる場合にも、上記のように語彙の追加/削除が発生し得る。
語彙ネットワークの追加/削除を行う従来方法の一つに、複数の単語に共通する語頭部分/語尾部分のマージを考慮する方法がある。語頭部分/語尾部分のマージにより、メモリ量や計算量を削減することができる。しかしながら、この方法は、マージを考慮する処理に比較的多くの計算時間を要する問題がある。
一方、語彙ネットワークの追加/削除を行う他の従来方法に、複数の語彙ネットワークを単に並列に接続する方法がある。この方法は、処理は単純である反面、語頭部分/語尾部分のマージを考慮する場合に比較して、より多くのメモリ量や計算量を必要とする問題がある。
Stephen E. Levinson: "Structural Methods in Automatic Speech Recognition", Proceedings of the IEEE, Vol.73, No.11, pp.1625-1650, November 1985
従来、語彙ネットワークの追加・削除とノードのマージを同時に効率良く行う方法がなかった。
本発明は、上記事情を考慮してなされたもので、語彙ネットワークの追加/削除を行う計算効率の良い方法を与える音声認識装置及び音声認識方法を提供することを目的とする。
本発明は、音声認識対象となる単語又は文の集合を与える文法ネットワークを用いる音声認識装置であって、特定の単語又は文から特定の語頭側部分を除いた語中部を複数含んで構成される複数の語彙と、複数の語彙に共通する語頭側部分を表現するために、ラベル付けされた複数の語頭部ノードを含む語頭部とを記憶する記憶部と、前記複数の語彙のうちから、対象とする語彙の選択指示と、その語彙に対する処理の選択指示とを受け付ける指示受付部と、選択指示された前記処理が、語彙を追加する処理である場合に、前記語頭部と、選択指示された前記語彙と、選択指示された前記語彙に含まれる複数の前記語中部にそれぞれ対応する、当該語中部が前記複数の語頭部ノードのうち予め対応付けられた一つに接続されていることを示す語頭部側接続情報とを含む文法ネットワークを生成する文法ネットワーク生成部と、生成された前記文法ネットワークを用いて音声認識を行う音声認識部とを備えたことを特徴とする。
本発明によれば、語彙ネットワークの追加/削除を行う計算効率の良い方法を与えることができる。
以下、図面を参照しながら本発明の実施形態について説明する。
(第1の実施形態)
最初に、語彙をネットワークで表現する方法を説明し、更に、この表現方法に基づいて従来技術の問題点についてより詳細に説明する。
一般的に、音声認識に用いられる語彙を、ネットワークで表現する利点は、主に次の2つである。
(i)共通の語頭部分を持つ単語間で、語頭部分のデータ(ネットワークのノード、アーク)を共有し、及び/又は、共通の語尾部分を持つ単語間で、語尾部分のデータを共有することができる。これによって、より少ないメモリ量で語彙を保持ができる。
(ii)語頭部分及び/又は語尾部分の共有により、音声認識に必要な単語スコア計算も共有できる。これによって、より少ない計算量で単語スコアが計算できる。
なお、木構造により語彙を表現する方法においては、語頭部分が共有され且つ語尾部分が共有されない。よって、木構造はネットワークの一形態である。
ここで、図27に、複数の単語を表現した語彙ネットワークの一例を示す。図27は、「ka−ma−ta」(「蒲田」)(図中、201の系列)、「ka−wa−sa−ki」(「川崎」)(図中、202の系列)、「chi−ga−sa−ki」(「茅ヶ崎」)(図中、203の系列)の3つの単語が表現されている。図27では、語頭部分「ka」が共有されており、また、語尾部分「sa−ki」が共有されている。
図28に、語彙ネットワークの他の例を示す。図28は、「i−ki−sa−ki」( [行き先」)(図中、204の系列)、「ka−ku−te−i」(「確定」)(図中、205の系列)、「se−n−ta−ku」(「選択」)(図中、206の系列)の3つの単語が表現されている。図28では、語頭部分/語尾部分の共有はない。
語彙がネットワークで表現される場合に、語彙の追加(語彙の組み合わせ)を実現する一つの従来方法は、既存の語彙ネットワークに、新たな語彙ネットワークを付け加え、更に語頭部分及び/又は語尾部分をマージする方法である。
例えば、図27の語彙ネットワークに図28の語彙ネットワークをマージすると、図29に例示する語彙ネットワークが得られる。例えば、この語彙ネットワークが、音声認識用の文法(文法ネットワーク)を与える。なお、図27〜図29において、同じ参照番号が付された系列は、同じ単語を示している。
語彙の削除は、上記の逆で、例えば、図29の語彙から図28の語彙を削除することによって、図27の語彙が得られる。
ところが、上記のように、語彙を追加し、語頭及び語尾のマージを行うには、比較的多くの計算時間を要するという問題点がある。また、一旦マージがなされると、今度は、マージされたネットワーク構造を維持したまま、不要な語彙を削除しなければならないため、計算時間が必要になってしまう。よって、このような語彙ネットワークの追加/削除方法は、単語数が多い場合或いは計算機の処理能力が低い場合には適していない。
一方、語彙がネットワークで表現される場合に、語彙の追加を実現するもう一つの従来方法は、予め複数の語彙ネットワークを用意しておき、それらから選択した2以上の語彙ネットワークを単に並列接続する方法である。図30は、2つの語彙ネットワークが選択された場合を例示している。
例えば、図27の語彙ネットワークと図28の語彙ネットワークとが選択された場合、図31に例示する語彙ネットワーク(あるいは、文法ネットワーク)が得られる。
上記方法は、語彙の追加/削除は、ネットワークに/から、操作対象となる語彙を追加/削除するだけであるので、高速に処理可能である(上記方法は、実用的にもよく用いられている)。
しかしながら、この方法では、語頭部分/語尾部分の共有は、予め用意された各々の語彙ネットワーク内に存在し得るだけである。よって、ネットワーク数が増加した場合或いは計算機の処理能力が低い場合においては、マージされていない部分のメモリの無駄或いは単語スコア計算にかかる時間の無駄が無視できなくなるという問題が生じる。
なお、上述のような問題は、単語の和集合でしかない文法の場合だけでなく、「XのY」のような文型構造を持つ文法の場合においても、XやYに着目すれば、同様の問題が存在し、また、他の文法の場合においても同様である。
以下、本実施形態について詳しく説明する。
図1は、本実施形態に係る音声認識装置の構成例を示すブロック図である。
図1に示されるように、本実施形態の音声認識装置は、文法記憶部11、文法編集部12、音声認識部13を備えている。
文法記憶部11は、1個以上の語頭部(図中、112参照)、1個以上の語尾部(図中、114参照)、2個以上の語中部(図中、116参照)、1個以上の文法フレーム(図中、118参照)を記憶する。
語頭部は、詳しくは後述するが、少なくとも2個の語彙に共通する語頭部分を表現するものである。
語尾部は、詳しくは後述するが、少なくとも2個の語彙に共通する語尾部分を表現するものである。
語中部は、詳しくは後述するが、語頭部の適合する部分及び語尾部の適合する部分と組み合わせることにより、語彙を表現するものである。
語彙に含まれる個々の単語又は文の語中部は、詳しくは後述するが、当該単語又は文から語頭部分及び語尾部分を除いたものである。単語又は文の語頭部分は、当該単語又は文における語頭側の或る範囲内の部分(語頭側部分)であり、単語又は文の語尾部分は、当該単語又は文における語尾側の或る範囲内の部分(語尾側部分)である。
なお、語頭部の個数Nと語尾部の個数Nは、いずれも、語中部の個数Nより少ない。つまり、1≦N<Nかつ1≦N<Nである。
文法フレームは、語彙間の接続方法(文型)を定義するネットワークである。
図2に、本実施形態の文法編集部12の内部構成の一例を示す。
なお、図3に、音声認識装置の文法編集部12及び音声認識部13による、文法ネットワークに対する語彙操作から文法ネットワークの登録までの、処理手順の一例を示す。
図2に示されるように、本実施形態の文法編集部12は、指示受付部121、編集処理部122、出力部123を備えている。また、編集処理部122は、追加処理部1221、削除処理部1222を含む。
指示受付部121は、操作対象とする語彙を選択する語彙選択指示と、その語彙に対する操作の内容(すなわち、追加又は削除のいずれか)を選択する操作選択指示とを受ける(ステップS1)。なお、ユーザが所望の指示を入力し、指示受付部121がこれを受ける方法としては、例えば、GUIを利用するなど、どのような方法を用いても構わない。
そして、追加が指示された場合(ステップS2)、編集処理部122の追加処理部1221は、指示された語彙を対象として、その語彙の語中部を、語頭部の予め定められた部分及び語尾部の予め定められた部分に接続する(ステップS3)。一方、削除が指示された場合(ステップS4)、編集処理部122の削除処理部1222は、指示された語彙を対象として、その語彙の語中部と語頭部及び語尾部との接続を解除する(ステップS5)。これら語彙の追加及び/又は削除によって、文法ネットワークが生成(又は更新)される。
出力部123は、生成又は更新された文法ネットワークを、音声認識部13に出力し、文法ネットワークを該音声認識部13に登録する。
なお、指示受付部121への指示の入力は、一つの語彙ごとに行われても良いし、複数の語彙についてまとめて行われても良い。また、後者の場合に、1個以上の語彙の追加と1個以上の語彙の削除とが両方同時に指示されても良いし、複数の語彙の追加と複数の語彙の削除とのいずれか一方のみが同時に指示されても良い。
音声認識部13は、文法編集部12から文法ネットワークを受け取ると、これを最新の文法ネットワークとしてメモリ(図示せず)に登録する(ステップS6)。そして、音声認識部13は、現在登録されている最新の文法ネットワークを用いて、入力音声に対する音声認識を実行して、その音声認識の結果を出力する。なお、音声認識部13は、従来と同様の構成で構わない。
次に、図4〜図11を参照しながら、本実施形態に係る音声認識装置の文法編集部12の動作例について説明する。図4〜図8は、文法記憶部11に記憶されるデータの概念図である。図9〜図11は、文法編集部12の動作例を示すフローチャートである。
ここでは、文法フレームは、音声認識装置が受理可能な文型を表すネットワークの雛形である。文法フレームは、少なくとも1個以上の「語彙が可変である部分」によって構成される。なお、文法フレームにおける「語彙が可変である部分」を、サブネットワークと呼ぶ。文法フレームは、更に、1個以上の「語彙が固定された部分」を含むこともできる。なお、文法フレームにおける「語彙が固定された部分」を語彙固定ノードと呼ぶものとする。
図4に、最もシンプルな文法フレームの例を示す。この文法フレームは、語彙がXに設定されることを表している。なお、図4において、二重丸で図示された先頭のノード(図中、81)は初期状態のノードを示し、二重丸で図示された末尾のノード(図中、82)は最終状態のノードを示す。また、図4において、サブネットワークとノードとを区別するため、サブネットワーク(図中、83)は破線で、ノード(図中、81,82)は実線で示す(なお、この点は、他の図においても同様である)。図4の例の場合、文法編集部12は、サブネットワークXに語彙を追加/削除することによって、文法ネットワークを生成する。
なお、文法フレームには種々の文型があり、例えば、後の説明で使用する図14は、「X−no−Y」(no:所有、所属、性質の状態などを表す格助詞「の」)という文型を表す文法フレームの例である。図14の例の場合、文法編集部12は、サブネットワークX,Yにそれぞれ語彙を設定することによって、文法ネットワークを定義する。
以下では、本実施形態の本質を明確にするために、語頭部が1個(すなわち、N=1)であり、且つ、語尾部が1個(すなわちN=1)であり、且つ、文法フレームが1個のサブネットワークXを保持するものである場合を例にとって説明する。また、ノードラベルが日本語の仮名文字である場合を例にとって説明する。ただし、仮名文字については、ローマ字表記して説明するものとする。また、語彙が単語の集合を与える場合を例にとって説明するが、語彙が単語の集合又は単語・文の集合を与える場合も同様である。
ここで、図5に、一つの語頭部と一つの語尾部の例を示す。なお、図5において、先頭のノード(図中、101)は初期状態のノードを示し、末尾のノード(図中、102)は最終状態のノードを示す。また、図5において、初期状態ノードの5つの子ノード(図中、103参照)がラベル付けされた語頭部ノードであり、最終状態ノードの5つの親ノード(図中、104参照)がラベル付けされた語尾部ノードである。また、hidは語頭部ノード識別子を示し、tidは語尾部ノード識別子を示す。
図5から分かるように、語頭部は、木構造ネットワークである。一方、最終状態ノードからアークの向きを逆向きにすると、木構造ネットワークになるのであり、語尾部は、逆向きの木構造ネットワークである。
詳しくは後で説明するが、図6〜図8に、それぞれ、語彙ネットワークの例を示す。図6〜図8の例では、いずれの語彙ネットワークも、3つの単語を含んでいる。
さて、語中部は、接続すべき語頭部/語尾部のノードの情報と、語頭部/語尾部に含まれていないラベル(例えば、仮名文字列)の情報とを保持することで、単語(又は文)を与えるネットワークを構成する。
具体的には、例えば、一つの語中部は、その語彙ネットワークに属する一つの単語について、その単語の識別情報、接続可能な語頭部のノードの識別情報、接続可能な語尾部のノードの識別情報、語頭部/語尾部に含まれないラベルを表す1個のノード列(アークによって接続されたノードの系列)保持している。アークは、ノードの接続関係、つまり、ノードラベルの接続順序関係を表す。ただし、単語によっては、語頭部及び語尾部のみで構成されるために、ノード列が存在しない場合もある。また、各ノード列は、他のノード列へのアークは持たない直線的な構造である。なお、上記ノード列を「単語の語中部」と呼ぶものとする。
図6〜図8の各単語の語中部の構造において、先頭の矩形のノード(図中、131参照)は、接続可能な語頭部のノードの識別子hidを保持し、末尾の矩形のノード(図中、132参照)は、接続可能な語尾部のノードの識別子tidを保持する(図5参照)。widは、その単語の識別子を示す。語頭部側の破線のアーク(図中、134参照)は、「そのアークが保持する単語識別子wid(図中、133参照)の単語において、そのアークの起点の先頭ノード(図中、131参照)が保持するhidが示す語頭部ノードから、そのアークの終点が示す語中部のノード(図中、135参照)への接続がなされる」ことを表す。語尾部側の破線のアーク(図中、136参照)は、「そのアークが保持する単語識別子wid(図中、133参照)の単語において、そのアークの起点が示す語中部のノード(図中、137参照)から、そのアークの終点の末尾ノード(図中、132参照)が保持するtidが示す語尾部ノードへの接続がなされる」ことを表す。上記両アーク(図中、134,136参照)で挟まれた部分(図中、135,137のノードと138のアークを参照)が、語中部を構成する、ラベル付けされたノードの系列である。なお、語中部の各ノードは、ノードの識別子nidを用いることによって識別することができる(図示せず)。
なお、図6〜図8において、先頭ノード(図中、131参照)及び末尾ノード(図中、132参照)並びに破線で表したアーク(図中、134,136参照)は、ネットワークのノード或いはアークそのものではなく、各単語の語中部に付属する情報(データ)である。よって、それらを(語頭部/語尾部との)「接続情報」と呼ぶものとする。
さて、図6に例示した語彙ネットワーク(1)は、「ka−ma−ta」(「蒲田」)(wid=1)、「ka−wa−sa−ki」(「川崎」)(wid=2)、「chi−ga−sa−ki」(「茅ヶ崎」)(wid=3)を表現している。
図7に例示した語彙ネットワーク(2)は、「i−ki−sa−ki」(「行き先」)(wid=4)、「ka−ku−te−i」(「確定」)(wid=5)、「se−n−ta−ku」(「選択」)(wid=6)を表現している。
図8に例示した語彙ネットワーク(3)は、例えば地名である「se−ta」(「瀬田」)(wid=7)、「a」(「あ」)(wid=8)、「n」(「ん」)(wid=9)を表現している。なお、これらは、語中部のノードが存在しない例、あるいは、語頭部又は語尾部の一部となる例である。図8の先頭ノード(図中、141)が保持する0は、語頭部の初期状態ノードを示し、図8の末尾ノード(図中、142)が保持する0は、語尾部の最終状態ノードを示す。
図5は、語頭部及び語尾部の一例である。なお、図5は、図6〜図8の例に対応する語頭部及び語尾部を例示している。
ここで、図5を参照すると、語頭部については、図6の語彙ネットワーク(1)と図7の語彙ネットワーク(2)に共通する語頭の仮名文字「ka」と、図7の語彙ネットワーク(2)と図8の語彙ネットワーク(3)に共通する仮名文字「se」と、それ以外に3つの語彙ネットワークに含まれる全単語の最初の1文字目を保持している。語尾部については、語彙ネットワーク(1)と語彙ネットワーク(2)に共通する仮名文字「ki」と、それ以外に3つの語彙ネットワークに含まれる全単語の最後の1文字目を保持している。
なお、図5の例では、語頭部/語尾部ともに、仮名文字1文字のみを保持している。しかし、語頭部/語尾部で保持する文字数は、1文字に制限されるものではない。例えば、語彙ネットワーク(1)と語彙ネットワーク(2)に共通する「sa−ki」(すなわち、「ka−wa−sa−ki」「chi−ga−sa−ki」「i−ki−sa−ki」に共通する「sa−ki」)の2つの仮名文字の列を、語尾部に保持してもよい。
次に、図6〜図8を参照すると、例えば、語彙ネットワーク(1)の単語識別子wid=1の語中部「ma」については、hid=3の語頭部ノード(図5の「ka」でラベル付けされたノード)に接続し、tid=4の語尾部ノード(図5の「ta」でラベル付けされたノード)に接続することが表されている。したがって、この語中部をそれら語頭部/語尾部ノードに接続することによって、「ka−ma−ta」という単語が、文法のネットワークに登録されることになる。
ただし、語彙ネットワーク(3)の単語のように、仮名文字数2文字以下の単語は、語頭部及び/又は語尾部に含まれてしまうため、語中部分の仮名文字が存在しない場合がある。このような場合、各単語の語中部分は、語頭部から語尾部へ至る接続情報のみとなる。例えば、wid=7の単語については、hid=4の語頭部ノード(図5の「se」)と、tid=4の語尾部ノード(図5の「ta」)とを直接接続して、「se−ta」という単語が得られる。
なお、本具体例では、各ノードは、ノードラベルとして1個の仮名文字を持っている。しかし、これに制限されるものではなく、ノードラベルは1個の仮名文字でも良いし、1個の仮名文字より大きな単位(例えば、単語、単語列など)でも良いし、1個の仮名文字より小さな単位(例えば、音素、HMMの状態IDなど)でも良いし、それらが混在していても良い。
次に、指示された語彙に対し、指示された操作(追加又は削除のいずれか一方)を行うことによって、文法フレーム、語頭部、語尾部、語中部から文法を生成する処理手順の一例について説明する。
図9〜図11に、この場合のフローチャートの一例を示す。なお、図10は、図9のステップS15の追加ルーチンの処理手順の一例であり、図11は、図9のステップS16の削除ルーチンの処理手順の一例である。
入力は、サブネットワークX(図4参照)、そして、語彙Xと、その語彙Xに対する操作Aとの組のリスト(X,A)である。ここで、Nを語彙数として、i=1,2,…,Nである。
まず、初めての語彙操作のために、文法フレームのサブネットワークX=φとなる場合、つまり、Xに単語が未登録の場合には(ステップS11)、次の初期設定処理を行う(ステップS12)。すなわち、初期設定処理においては、サブネットワークXについて、語頭部の初期状態ノード(図5の101)を取り除き、その代わりに、文法フレームの初期状態ノード(図4の81)と接続し、且つ、語尾部の最終状態ノード(図5の102)を取り除き、その代わりに、文法フレームの最終状態ノード(図4の82)と接続し、これによって、2個の部分に分離したネットワークとする。
図12は、この時点での文法フレームのネットワーク構造を表したものである。なお、図12の破線部分(図中、83)が、サブネットワークXである。
なお、ステップS12の初期設定処理のように、語頭部の初期状態ノード及び語尾部の最終状態ノードを取り除き、文法フレームの初期状態ノード及び最終状態ノードと接続するのは、語頭部及び語尾部を接続した際に、初期状態ノード及び最終状態ノードがそれぞれ重複するのを回避するためであり、本質的な操作ではない。
なお、ステップS11でNoの場合には、ステップS12をスキップする。
さて、次に、ステップS13において、iを1に設定する。以降、N個の語彙をすべて処理するまで、繰り返し処理が行われる。
まず、ステップS14では、i番目の語彙Xに対する操作Aを判定し、追加の場合は、ステップS15で追加ルーチンを実行し、一方、削除の場合は、ステップS16で削除ルーチンを実行する。そして、ステップS17においてi=Nでなければ、ステップS18でiを1増加し、ステップS14に戻って次の語彙に対する操作を実行する。
最後に、ステップS17でi=Nであれば、操作を終了する。これによって、あらたなサブネットワークXが生成される。
次に、図10に示した追加ルーチン(図9のステップS15)について説明する。
追加ルーチンでは、語彙Xに属する全ての単語の語中部分(ノード及びアークの構造)に対し、追加操作を行う。ここで、語彙Xに属する単語数をNで表し、語彙Xに属する各単語をWij(j=1,2,…,Nである)で表す。
まず、ステップS21において、jを1に設定する。以降、N個の単語をすべて処理するまで、繰り返し処理が行われる。
ステップS22において、j番目の単語Wijの先頭ノードに保持された語頭部識別子hidを持つ語頭部ノードから、単語Wijの先頭ノードの次のノードへのアークを生成する。生成されるアークには、語中部が保持する単語識別子widを割り当てる。
ステップS23において、上記単語Wijの末尾ノードの前のノードから、単語Wijの末尾ノードに保持された語尾部識別子tidを持つ語尾部ノードへのアークを生成する。
なお、ステップS22とステップS23は、いずれを先に実行しても良いし、同時に実行しても良い。
そして、ステップS24においてj=Nでなければ、ステップS25でjを1増加し、ステップS22に戻って次の単語に対する追加操作を実行する。
最後に、ステップS24でj=Nであれば、この追加ルーチンを終了する。
一例として、図13に、語頭部/語尾部(図5参照)に対して、単語「ka−wa−sa−ki」(川崎)、「se−ta」(瀬田)、“a”(あ)、“n”(ん)(図6〜図8参照)を接続した状態における、文法フレームのネットワーク構造を示す。図13において、太線部分(図中、151〜155)は、追加操作により生成されたアークを示している。
次に、図11に示した削除ルーチン(図9のステップS16)について説明する。
削除ルーチンでは、語彙Xに属する全ての単語Wijの語中部分に対し、削除操作を行う。
まず、ステップS31において、jを1に設定する。以降、N個の単語をすべて処理するまで、繰り返し処理が行われる。
ステップS32において、j番目の単語Wijの先頭ノードに保持された語頭部識別子hidを持つ語頭部ノードから、単語Wijの先頭ノードの次のノードへのアークを消去する。
ステップS33において、上記単語Wijの末尾ノードの前のノードから、単語Wijの末尾ノードに保持された語尾部識別子tidを持つ語尾部ノードへのアークを消去する。
なお、ステップS32とステップS33は、いずれを先に実行しても良いし、同時に実行しても良い。
そして、ステップS34においてj=Nでなければ、ステップS35でjを1増加し、ステップS32に戻って次の単語に対する削除操作を実行する。
最後に、ステップS34でj=Nであれば、この削除ルーチンを終了する。
以上の追加/削除処理により、文法フレームのサブネットワークXが更新され、次回の追加/削除の際には、この更新されたサブネットワークXに対して、更なる追加/削除操作が行われる。
以上の追加/削除処理により生成された文法フレームを、音声認識用の文法ネットワークとして、音声認識部13に登録する。音声認識部13は、この文法ネットワークを用いて、入力音声に対する音声認識を実行する。なお、文法ネットワークを用いた音声認識の具体的な方法については、ここでは省略するが、例えば非特許文献1に詳しく開示されている。
ところで、図6〜図8の例において、例えば、語彙として、語彙ネットワーク(1)と語彙ネットワーク(2)のみを使用する場合、図5の語頭部の「a」及び語尾部の「n」に接続する語中部が存在しない(語頭部の「a」及び語尾部の「n」は、語彙ネットワーク(3)を使用する場合に必要である)。このことから分かるように、語彙の組み合わせによっては、「そのノードから子ノードを順次辿っていっても、全く語中部のノードに達することが出来ないノード」が存在する。そのようなノードは音声認識時には不要なノードであるため、語頭部/語尾部の各ノードには、音声認識に必要か否かを示すフラグを用意し、音声認識に必要なノードは1、不要なノードに対しては0を設定する。そして、音声認識時には、フラグが1に設定されているノードのみを使用するようにしても良い。
以上のように、語頭部/語尾部を用いることにより、複数の語彙の共通部分がマージされ、各語彙は語中部のみを保持するので、従来法に比べて、語彙を記憶するのに要するメモリサイズが削減可能である。
また、語彙の追加は、語頭部/語尾部の適合する部分と語中部との接続だけであり、語彙の削除は、語頭部/語尾部と語中部との接続解除だけである。よって、比較的高速な語彙の追加/削除が可能である。
なお、本実施形態では、メモリ削減効果を示すことよりも本質を明確にすることを優先して、具体例として、単語数が少なく、また、語頭部/語尾部とも、仮名文字1文字分だけ持つ簡単な例を用いて説明を行ったが、語彙内の単語数が増加した場合、語頭部/語尾部に共有する文字数が増加した場合に、メモリ削減効果が如実に現れてくることは、言うまでもない。
このように本実施形態によれば、高速な語彙追加/削除操作を可能としながら、同時に、語彙ネットワーク間でのマージ(これによる必要なメモリサイズの削減)が可能となる。
(第2の実施形態)
以下、第2の実施形態について、第1の実施形態と相違する点を中心に説明する。
本実施形態は、独立したデータとしての文法フレームを備えなくても良い点が、第1の実施形態と相違する。
第1の実施形態のように、文法フレームが、サブネットワークXを1個だけしか含まないような単純な文型である場合、文法記憶部11に文法フレームを記憶しておく必要はない。すなわち、文法フレームをデータとして記憶していなくても、語頭部/語尾部に対して、直接、語彙を追加/削除して文法ネットワークを生成することによって、文法フレームを用いる場合と同じ文法ネットワークが得られることは、これまでの説明から明らかであり、図9〜図11と同様の処理手順によって、語彙の追加/削除が可能である。
このように、本実施形態でも、第1の実施形態と同様、文法ネットワークの構築が可能であり、第1の実施形態と同様の効果を得ることができる。
(第3の実施形態)
以下、第3の実施形態について、第1の実施形態と相違する点を中心に説明する。
第1の実施形態は、文法フレームにおいて、語彙操作を行うサブネットワークが1個のみ存在する場合を例にとって説明したが、本実施形態では、サブネットワークを複数含む文法フレームを用いる場合について説明する。
図14に、サブネットワークを複数含む文法フレームの一例を示す。図14は、「X−no−Y」(no:「の」)という文型を表す文法フレームの例である。なお、本例は、語彙固定ノードを含む例でもある。
図14において、先頭のノード(図中、161)は初期状態ノードを示し、末尾のノード(図中、162)は最終状態ノードを示す。X(図中、163)とY(図中、165)がサブネットワークである。すなわち、この文法フレームは、XとYのサブネットワークにそれぞれ語彙が設定されることを表している。また、「no」(図中、164)が語彙固定ノードであり、この例では、XとYの間が「no」で接続されることが表されている。
図14の例の場合、文法編集部12は、サブネットワークXとサブネットワークYに対して、それぞれ、語彙操作(追加操作/削除操作)を行うことになる。
本実施形態においては、語頭部には、X用の語頭部とY用の語頭部が必要である。同様に、語尾部には、X用の語尾部とY用の語尾部が必要である。なお、語頭部/語尾部の構造は、図5と同じで良く、それぞれ2個以上の語彙に共通の語頭部分/語尾部分を含むネットワークの一部分である。
語中部に関しては、図6〜図8に追加する点がある。すなわち、語彙には、XとYの両方のサブネットワークに使用する語彙と、XとYのいずれか一方のサブネットワークのみに使用する語彙とがあり得る。従って、本実施形態では、語中部の各単語を表すノード列の先頭ノード/末尾ノードは、それぞれ、第1の実施形態のように接続可能な語頭部ノードの識別子hid/接続可能な語尾部ノードの識別子tidを保持するのに加えて、それが接続可能なサブネットワークを識別する識別情報(sid)も保持する必要がある。
図14の例において、ある語彙がサブネットワークXとYの両方に使用可能な場合、語頭部/語尾部との接続を表す先頭ノード/末尾ノードには、サブネットワークXに使用する場合に接続可能な語頭部ノード識別子hid/語尾部ノード識別子tidと、サブネットワークYに使用する場合に接続可能な語頭部ノード識別子hid/語尾部ノード識別子tidとの両方を保持する。
図15に、この場合の語中部の単語構造の例を示す。
図15の例では、サブネットワークXに使用する場合には、hid=5の語頭部ノード、tid=2の語尾部ノードと接続し、サブネットワークYに使用する場合には、hid=3の語頭部のノードとtid=4の語尾部のノードに接続することを表している(図中、171,172参照)。
文法編集部12における文法生成手順については、入力は、図9〜図11のような語彙と操作との組ではなく、語彙と接続すべきサブネットワーク(本例ではX又はY)と操作との三つ組(語彙、接続サブネットワーク、操作)が必要となる。
次に、指示された語彙及び接続サブネットワークに対し、指示された操作(追加又は削除のいずれか一方)を行うことによって、文法フレーム、語頭部、語尾部、語中部から文法を生成する処理手順の一例について説明する。
図16〜図18に、この場合のフローチャートの一例を示す。なお、図17は、図16のステップS115の追加ルーチンの処理手順の一例であり、図18は、図16のステップS116の削除ルーチンの処理手順の一例である。
入力は、サブネットワークX,Y(図14参照)、そして、語彙Xと、その語彙を接続すべきサブネットワークSと、その語彙Xに対する操作Aとの組のリスト(X,S,A)である。ここで、Nを語彙数として、i=1,2,…,Nである。
図16の流れは、図9の流れと、基本的には、同様である。ただし、ステップS112の初期設定処理が、次のようになる。すなわち、図14の例の場合には、サブネットワークXについて、語頭部の初期状態ノードを取り除き、その代わりに、文法フレームの初期状態ノード(図14の161)と接続し、且つ、語尾部の最終状態ノードを取り除き、その代わりに、文法フレームの語彙固定ノード(図14の164)と接続し、同様に、サブネットワークYについて、語頭部の初期状態ノードを取り除き、その代わりに、文法フレームの語彙固定ノードと接続し、且つ、語尾部の最終状態ノードを取り除き、その代わりに、文法フレームの最終状態ノード(図14の162)と接続する。もちろん、第1の実施形態と同様、この操作は、本質的な操作ではない。
次に、図17に示した追加ルーチン(図16のステップS115)について説明する。
図17の追加ルーチンは、基本的には、図10の追加ルーチンと同様である。ただし、図17の追加ルーチンは、複数のサブネットワークのうちで、Sにより指示されたものを対象として、追加操作を行う。
次に、図18に示した削除ルーチン(図16のステップS116)について説明する。
図18の削除ルーチンは、基本的には、図11の削除ルーチンと同様である。ただし、図18の削除ルーチンは、複数のサブネットワークのうちで、Sにより指示されたものを対象として、削除操作を行う。
以上から分かるように、サブネットワークが1個存在する文法フレームを用いる場合だけでなく、サブネットワークが複数個存在する文法フレームを用いる場合も同様に、高速かつメモリ効率の良い文法ネットワークの生成が可能である。さらに、文法フレームを複数個持つ場合も同様に可能であり、また、この場合にも同様の効果を得ることができることは、明らかである。
なお、本実施形態においても、文法は「X−no−Y」という単純な文型であるので、第2の実施形態と同様、文法記憶部11に文法フレームを記憶しておく必要はない。独立したデータとしての文法フレームを備えない場合、文法編集部12において、XとYのそれぞれを図16〜図18の処理手順に従って生成した後、XとYを仮名文字「no」を表す語彙固定ノードをサブネットワークXとサブネットワークYとの間に挿入することによって、文法ネットワークが生成される。このように文法ネットワークが規則的に生成できる場合には、文法フレームは不要である。
(第4の実施形態)
以下、第4の実施形態について、第1〜第3の実施形態と相違する点を中心に説明する。
一般に、音声認識において、語彙ネットワークに、木構造という特別なネットワークを使用する場合も多い。木構造ネットワークを用いる場合、語彙ネットワークは、複数の単語に共通する語頭部分は共有するが、語尾部分は共有しない、という構造になる。この場合、語尾部は不要になる。また、この場合、語彙に含まれる個々の単語又は文の語中部は、当該単語又は文から語頭部分(語頭側部分)を除いたものになる。
図19〜図22に、図5〜図8の語彙を木構造ネットワークにより実現した例を示す。図19は、語頭部の例であり、図20〜図22は、語彙ネットワークの例である。図19〜図22の例では、図5〜図8の例に比較して、語尾部が存在せず、その代わりに、語中部の語尾は最終状態ノード(図中、181参照)に接続される。
なお、文法フレームについては、これまでの実施形態と同様で構わない(図4、図14参照)。
また、木構造を使う場合、これまでの実施形態において、語尾部に対する操作を行わないようにすれば、同様の処理により文法編集部12での文法生成が可能であることは明らかである。具体的には、語彙の操作のフローチャートは、これまでの実施形態のフローチャートから、語尾部に対する操作(図10のステップS23/図11のステップS33、図17のステップS123/図18のステップS133)を取り除いたものとすれば良い。
さらに、これまでの実施形態と同様、文法フレームが単純な文型である場合には、文法記憶部11に文法フレームを記憶しておく必要はない。
このように、木構造のように語尾部を持たない場合でも、語頭部を共有化することにより、これまでの実施形態と同様のメモリ削減効果が得られる。
(第5の実施形態)
以下、第5の実施形態について、第1〜第5の実施形態と相違する点を中心に説明する。
これまでの実施形態では、語彙ネットワークのノードの持つラベルが、仮名文字1文字である場合を例にとって説明してきたが、すでに言及しているように、これに制限されるものではなく、ノードラベルは、1個の仮名文字でも良いし、1個の仮名文字より大きな単位(例えば、単語、単語列など)でも良いし、1個の仮名文字より小さな単位(例えば、音素、HMMの状態IDなど)でも良い。
ここでは、これまでの実施形態において、語彙ネットワークのノードがHMMの状態になる場合について説明する。
さて、実用上は、語彙ネットワーク、文法ネットワークが、HMM(隠れマルコフモデル)で構成されることが良くある。良く用いられる方法においては、単語は、音素HMMの連結により構成され、文法ネットワークの各ノードは、音素HMMの1状態を表す。この点について、具体的には、例えば参考文献“Lawrence Rabiner, Biing-Hwang Juang: “Fundamentals of Speech Recognition”, Prentice Hall International Editions, 1993”に詳しく開示されている。
第1〜4の実施形態において、上記のようなネットワークを利用する場合、これまでの説明と本質的な相違はなく、これまでの説明において、ノードラベルを、仮名文字から音素HMMの状態に置き換えれば良い。したがって、本実施形態においても、これまでの実施形態と同様に、語頭部/語尾部、語中部を構成し、語彙の追加/削除を効率良く行うことが可能である。
(第6の実施形態)
以下、第6の実施形態について、第1〜第5の実施形態と相違する点を中心に説明する。
これまでの実施形態では、語頭部/語尾部は、予め定められており、固定されていた。
ここで、第1の実施形態のような文法フレームを持つ音声認識装置において、実際にユーザが使用する際には、ユーザAは、サブネットワークXが語彙X1+語彙X2である状況を多用し、ユーザBは、サブネットワークXが語彙X3+語彙X4+語彙X5である状況を多用する、という場合を考える。このような場合、予め与えられた語頭部/語尾部をそのまま使用するよりも、ユーザAは、語彙X1+語彙X2に適したノードの共有化を行った語頭部/語尾部を使用し、ユーザBは、語彙X3+語彙X4+語彙X5に適したノードの共有化を行った語頭部/語尾部を使用する方が、語頭部/語尾部のメモリ効率が向上する。
上記例に限らず、予め固定された語頭部/語尾部をそのまま使用するよりも、必要に応じて語頭部/語尾部のノードの共有化を使用語彙に適合したものに更新すると、さらにメモリ効率が良くなる。本実施形態では、このような語頭部/語尾部の更新方法について説明する。なお、語頭部/語尾部の更新処理は、適当なタイミング、例えば、音声認識装置に対してユーザが直接指示を出したとき、あるいは、音声認識装置が特定の状態になったときなどに、自動的に開始するようにしても良い。
本実施形態に係る音声認識装置の構成例は、図1と同様である。
図23に、本実施形態の文法編集部12の内部構成例を示す。本実施形態の文法編集部12は、図2の構成において、編集処理部122が更に更新処理部1223を含むものである。
以下、更新処理部1223において語頭部を更新する処理手順の一例について説明する。
図24〜図26に、この場合のフローチャートの一例を示す。なお、図25は、図24のステップS217のマージルーチンの処理手順の一例であり、図26は、図25のステップS224のマージ実行ルーチンの処理手順の一例である。
この処理を実行する際の前提として、文法フレームのサブネットワークXは空(X≠φ)、つまり、語彙が設定されている状態とする。また、語頭部においては初期状態の語頭部ノード識別子hidを0とし、語頭部の初期状態以外の各ノードには、それぞれ、1から始まる通し番号によって語頭部ノード識別子hidが割り当てられているものとする。同様に、語尾部においては最終状態の語尾部ノード識別子tidを0とし、語尾部の初期状態以外の各ノードには、それぞれ、1から始まる通し番号によって語尾部ノード識別子tidが割り当てられているものとする。
さて、図24の処理手順において、入力は、サブネットワークである。
最初に、ステップS211において、そのサブネットワークの語頭部のノードのうち、語中部と接続しているものをBAGに登録する。なお、語中部と接続しているノードは、サブネットワークに接続している語中部に属す各単語の、語頭部との接続情報から取得できる。
以降、BAGに登録した全てのノードを処理するまで(すなわち、ステップS218でBAGが空(φ)になるまで)、繰り返し処理が行われる。
まず、ステップS212において、BAGの中から任意のノードVを1個取り出す。
次に、ステップS213において、取り出したノードVの全ての子ノードを取得し、それを集合Cとする。ステップS214ではCが空か否か判定する。Cが空でなければ、ステップS215に進み、任意に1個のノードnを取り出す。ステップS216では、ノードV,集合C、ノードnを入力として、後述するマージルーチンを実行する。マージルーチンによって集合Cは更新される。ステップS217では、マージルーチンによって、新しく生成されたノードxがあれば、それをBAGに追加し、ステップS214に戻る。
ステップS218では、BAGを調べ、BAG=φでなければ、ステップS212へ戻って次のノードVに対する操作を実行する。
最後に、ステップS218においてBAG=φであれば、この語頭部の更新処理を終了する。
なお、実用的には、ステップS216においてBAGが空になるまで処理を繰り返すと、膨大な計算時間を要し、その間、ユーザは音声認識装置を利用できない、という不都合が生じる可能性がある。そのため、ステップS218の停止条件としては、「ステップS212からステップS217までを所定の回数繰り返した場合には、BAGが空でなくとも終了する」、あるいは、「語頭部の更新処理を開始してからX秒以上経過した場合には、BAGが空(φ)でなくとも終了する」という条件を用いても良い。
次に、図25に示したマージルーチン(図24のステップS327)について説明する。
図25の処理手順において、入力は、ノードVと、ノード集合C、およびノードnである。
最初にステップS211において、XをCの中でnと同じノードラベルを持つ全てのノードの集合として、
S←{n}+X
C←C−Xとする。
ステップS222において、ノードnと同じノードラベルを持つノードがない場合、つまり、S={n}である場合には、ステップS223に進む。ステップS223おいては、出力xとして、ノードがないことを示すφを設定する。
ステップS222において、S≠{n}である場合、すなわち、nと同じノードラベルを持つノードが存在する場合には、ステップS224に進む。ステップS224においては、マージ実行ルーチンを実行し、その出力としてノードxを得る。
次に、マージ実行ルーチン(図25のステップS224)について説明する。
図26の処理手順では、ステップS231において、新しく、語頭部のノードxを生成し、ノードxからSのノード達の親ノードであるVからxへのアークを生成する。また、ステップS231において、ノードxのノード識別子hidを、語頭部のノード数+1とする。
以降、Sの全てのノードを処理するまで(すなわち、ステップS236でSが空(φ)になるまで)、繰り返し処理が行われる。
まず、ステップS232において、Sから1個、任意のノードyを取り出す。Vは語頭部のノードであり、yはある単語の語中部のノードであるので、Vからyへのアークは、図13に太線で示したアーク(図13の151〜155参照)のように単語識別子widを持つ。したがって、この単語識別子widからその単語の語中部を取得することができる。また、ノードyは、その単語の語中部の先頭のノードである。
次に、ステップS234において、Vからyへのアークを削除し、そのアークが保持する単語識別子widを参照し、その単語の語中部を取得する。
次に、ステップS235において、語中部の先頭のノードyを削除する。
そして、ステップS236において、その単語の語頭部との接続情報を更新する。すなわち、語中部にノードyの子ノードがある場合には、語中部の語頭部との接続情報を、語頭部からの接続を、新ノードxからのyの子ノードへの接続に変更する。語中部にノードyの子ノードがない場合(つまり、語中部はyのみである場合)には、その語中部の語尾部との接続情報を参照し、新ノードxから語尾部へ直接接続するように、語頭部との接続情報を更新する(図8の語彙ネットワーク(3)の「se−ta」(瀬田)の例を参照)。
そして、ステップS236においてS=φでなければ、ステップS232に戻って次のノードに対する処理を実行する。
最後に、ステップS236においてS=φであれば、このマージ実行ルーチンを終了する。
以上のようにすれば、語中部のうち、同じノードラベルを持つノード同士がマージされ、語頭部のノード(ステップS231のノードx)として集約されるので、メモリ効率が向上する。
以上は1個のサブネットワークに対する処理であったが、サブネットワークが複数個存在する場合には、個々のサブネットワークについてそれぞれ同じ処理を施せばよい。
語頭部の更新を実行するタイミングについて言うと、サブネットワークに利用頻度が高い語彙の組み合わせが設定されているときに、語頭部の更新を行うのが好ましい。そこで、例えば、文法編集部12において、サブネットワークごとに、語彙の組み合わせ方と、その使用頻度とを記録しておき、あるサブネットワークにおいて、語彙の組み合わせが所定の回数を超えた場合に、語頭部を更新するという工夫などを施すようにしても良い。
なお、以上は語頭部に関する更新処理であったが、語尾部についても同様に更新可能であることは明らかであり、ここでの詳細な説明は省略する。
このように本実施形態では、必要に応じて語頭部/語尾部の最適化を行うことにより、さらに効率のよいネットワークが実現できる。
(第7の実施形態)
以下、第7の実施形態について、第6の実施形態と相違する点を中心に説明する。
第6の実施形態に示した更新処理手順から分かるように、この更新処理手順において、語頭部/語尾部は、最初はそれぞれ初期状態/最終状態のみからスタートし、更新処理によって、語頭部/語尾部を生成するようにしてもよい。この方法は、語頭部/語尾部を予め作成しておく必要がないため、簡便な方法である。
なお、この音声認識装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも、実現することが可能である。すなわち、文法編集部及び音声認識部は、上記コンピュータ装置に搭載されたプロセッサに、プログラムを実行させることにより、実現することができる。このとき、音声認識装置は、上記プログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶してあるいはネットワークを介して上記プログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで、実現してもよい。また、文法記憶部11は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
本発明の一実施形態に係る音声認識装置の構成例を示す図 文法編集部の内部構成例を示す図 語彙操作から登録までの処理手順例を示すフレーチャート 文法フレームの例を示す図 語頭部及び語尾部の例を示す図 語彙ネットワークの例を示す図 語彙ネットワークの例を示す図 語彙ネットワークの例を示す図 文法ネットワーク生成の処理手順例を示すフローチャート 図9における追加ルーチンの処理手順の一例 図9における削除ルーチンの処理手順の一例 初期設定処理された文法フレームのネットワーク構造の例を示す図 追加ルーチンを実施された文法フレームのネットワーク構造の例を示す図 文法フレームの例を示す図 2つのサブネットワークにと使用可能な語中部の構造例を示す図 文法ネットワーク生成の処理手順例を示すフローチャート 図16における追加ルーチンの処理手順の一例を示すフローチャート 図16における削除ルーチンの処理手順の一例を示すフローチャート 語頭部の例を示す図 語彙ネットワークの例を示す図 語彙ネットワークの例を示す図 語彙ネットワークの例を示す図 文法編集部の内部構成例を示す図 語頭部更新の処理手順例を示すフローチャート 図24におけるマージルーチンの処理手順の一例を示すフローチャート 図25におけるマージ実行ルーチンの処理手順の一例を示すフローチャート 従来の語彙ネットワークの追加操作/削除操作について説明するための図 従来の語彙ネットワークの追加操作/削除操作について説明するための図 従来の語彙ネットワークの追加操作/削除操作について説明するための図 従来の語彙ネットワークの追加操作/削除操作について説明するための図 従来の語彙ネットワークの追加操作/削除操作について説明するための図
符号の説明
11…文法記憶部、12…文法編集部、13…音声認識部、121…指示受付部、122…編集処理部、123…出力部、1221…追加処理部、1222…削除処理部、1223…更新処理部

Claims (18)

  1. 音声認識対象となる単語又は文の集合を与える文法ネットワークを用いる音声認識装置であって、
    特定の単語又は文から特定の語頭側部分を除いた語中部を複数含んで構成される複数の語彙と、複数の語彙に共通する語頭側部分を表現するために、ラベル付けされた複数の語頭部ノードを含む語頭部とを記憶する記憶部と、
    前記複数の語彙のうちから、対象とする語彙の選択指示と、その語彙に対する処理の選択指示とを受け付ける指示受付部と、
    選択指示された前記処理が、語彙を追加する処理である場合に、前記語頭部と、選択指示された前記語彙と、選択指示された前記語彙に含まれる複数の前記語中部にそれぞれ対応する、当該語中部が前記複数の語頭部ノードのうち予め対応付けられた一つに接続されていることを示す語頭部側接続情報とを含む文法ネットワークを生成する文法ネットワーク生成部と、
    生成された前記文法ネットワークを用いて音声認識を行う音声認識部とを備えたことを特徴とする音声認識装置。
  2. 前記文法ネットワーク生成部は、選択指示された前記処理が、語彙を削除する処理である場合に、前記文法ネットワークから、選択指示された前記語彙と、該語彙に係る前記語頭部側接続情報とを削除することを特徴とする請求項1に記載の音声認識装置。
  3. 前記語中部は、ラベル付けされたノードの系列を含むネットワークにより構成され、
    前記音声認識装置は、前記語中部に含まれる前記ラベル付けされたノードの数を削減するように前記語頭部を更新するとともに、該更新された語頭部に適合するように前記語中部を更新する更新部を更に備えたことを特徴とする請求項2に記載の音声認識装置。
  4. 前記語頭部は、初期状態ノードをルートノードとした、ラベル付けされたノードを含むネットワークにより構成され、
    前記語頭部の初期状態を、前記初期状態ノードのみを含むものとして、前記語頭部の更新及び前記語中部の更新を行うことを特徴とする請求項3に記載の音声認識装置。
  5. 前記記憶部は、前記文法ネットワークにおいて語彙が可変である部分を少なくとも1個定義した、前記文法ネットワークの雛形である文法フレームを更に記憶し、
    前記文法ネットワーク生成部は、前記文法フレームを雛形として、前記文法ネットワークを生成することを特徴とする請求項2に記載の音声認識装置。
  6. 前記語中部は、ラベル付けされたノードの系列を含むネットワークにより構成され、
    前記音声認識装置は、前記語中部に含まれる前記ラベル付けされたノードの数を削減するように前記語頭部を更新するとともに、該更新された語頭部に適合するように前記語中部を更新する更新部を更に備えたことを特徴とする請求項5に記載の音声認識装置。
  7. 前記語頭部は、初期状態ノードをルートノードとした、ラベル付けされたノードを含むネットワークにより構成され、
    前記語頭部の初期状態を、前記初期状態ノードのみを含むものとして、前記語頭部の更新及び前記語中部の更新を行うことを特徴とする請求項6に記載の音声認識装置。
  8. 前記語中部は、特定の単語又は文から特定の語頭側部分及び特定の語尾側部分を除いたものであり、
    前記記憶部は、複数の語彙に共通する語尾側部分を表現するために、ラベル付けされた複数の語尾部ノードを含む語尾部を更に記憶し、
    前記文法ネットワーク生成部は、選択指示された前記処理が、語彙を追加する処理である場合に、前記語頭部と、前記語尾部と、選択指示された前記語彙と、該語彙に係る前記語頭部側接続情報と、該語彙に含まれる複数の前記語中部にそれぞれ対応する、当該語中部が前記複数の語尾部ノードのうち予め対応付けられた一つに接続されていることを示す語尾部側接続情報とを含む文法ネットワークを生成することを特徴とする請求項1に記載の音声認識装置。
  9. 前記文法ネットワーク生成部は、選択指示された前記処理が、語彙を削除する処理である場合に、前記文法ネットワークから、選択指示された前記語彙と、該語彙に係る前記語頭部側接続情報及び前記語尾部側接続情報とを削除することを特徴とする請求項7に記載の音声認識装置。
  10. 前記語中部は、ラベル付けされたノードの系列を含むネットワークにより構成され、
    前記音声認識装置は、前記語中部に含まれる前記ラベル付けされたノードの数を削減するように前記語頭部及び前記語尾部を更新するとともに、該更新された語頭部及び語尾部に適合するように前記語中部を更新する更新部を更に備えたことを特徴とする請求項9に記載の音声認識装置。
  11. 前記語頭部は、初期状態ノードをルートノードとした、ラベル付けされたノードを含むネットワークにより構成され、
    前記語尾部は、最終状態ノードをリーフノードとした、ラベル付けされたノードを含むネットワークにより構成され、
    前記語頭部及び語尾部の初期状態をそれぞれ前記初期状態ノードのみを含むもの及び前記最終状態ノードのみを含むものとして、前記語頭部及び語尾部の更新並びに前記語中部の更新を行うことを特徴とする請求項10に記載の音声認識装置。
  12. 前記記憶部は、前記文法ネットワークにおいて語彙が可変である部分を少なくとも1個定義した、前記文法ネットワークの雛形である文法フレームを更に記憶し、
    前記文法ネットワーク生成部は、前記文法フレームを雛形として、前記文法ネットワークを生成することを特徴とする請求項9に記載の音声認識装置。
  13. 前記語中部は、ラベル付けされたノードの系列を含むネットワークにより構成され、
    前記音声認識装置は、前記語中部に含まれる前記ラベル付けされたノードの数を削減するように前記語頭部及び前記語尾部を更新するとともに、該更新された語頭部及び語尾部に適合するように前記語中部を更新する更新部を更に備えたことを特徴とする請求項12に記載の音声認識装置。
  14. 前記語頭部は、初期状態ノードをルートノードとした、ラベル付けされたノードを含むネットワークにより構成され、
    前記語尾部は、最終状態ノードをリーフノードとした、ラベル付けされたノードを含むネットワークにより構成され、
    前記語頭部及び語尾部の初期状態をそれぞれ前記初期状態ノードのみを含むもの及び前記最終状態ノードのみを含むものとして、前記語頭部及び語尾部の更新並びに前記語中部の更新を行うことを特徴とする請求項13に記載の音声認識装置。
  15. 前記文法ネットワーク生成部は、選択指示された前記処理が、語彙を追加する処理である場合に、初めて文法ネットワークを生成するときは、前記語頭部のみを含む状態の文法ネットワークを生成した後に、該文法ネットワークに、選択指示された前記語彙と、該語彙に係る前記語頭部側接続情報とを追加し、既に文法ネットワークが存在するときは、当該文法ネットワークに、選択指示された前記語彙と、該語彙に係る前記語頭部側接続情報とを追加することを特徴とする請求項1に記載の音声認識装置。
  16. 前記文法ネットワーク生成部は、選択指示された前記処理が、語彙を追加する処理である場合に、初めて文法ネットワークを生成するときは、前記語頭部及び前記語尾部のみを含む状態の文法ネットワークを生成した後に、該文法ネットワークに、選択指示された前記語彙と、該語彙に係る前記語頭部側接続情報及び前記語尾部側接続情報とを追加し、既に文法ネットワークが存在するときは、当該文法ネットワークに、選択指示された前記語彙と、該語彙に係る前記語頭部側接続情報及び前記語尾部側接続情報とを追加することを特徴とする請求項8に記載の音声認識装置。
  17. 記憶部と指示受付部と文法ネットワーク生成部と音声認識部とを備え且つ音声認識対象となる単語又は文の集合を与える文法ネットワークを用いる音声認識装置の文法ネットワーク生成方法であって、
    前記記憶部が、特定の単語又は文から特定の語頭側部分を除いた語中部を複数含んで構成される複数の語彙と、複数の語彙に共通する語頭側部分を表現するために、ラベル付けされた複数の語頭部ノードを含む語頭部とを記憶し、
    前記指示受付部が、前記複数の語彙のうちから、対象とする語彙の選択指示と、その語彙に対する処理の選択指示とを受け付け、
    前記文法ネットワーク生成部が、選択指示された前記処理が、語彙を追加する処理である場合に、前記語頭部と、選択指示された前記語彙と、選択指示された前記語彙に含まれる複数の前記語中部にそれぞれ対応する、当該語中部が前記複数の語頭部ノードのうち予め対応付けられた一つに接続されていることを示す語頭部側接続情報とを含む文法ネットワークを生成し、
    前記音声認識部が、生成された前記文法ネットワークを用いて音声認識を行うことを特徴とする文法ネットワーク生成方法。
  18. 音声認識対象となる単語又は文の集合を与える文法ネットワークを用いる音声認識装置としてコンピュータを機能させるためのプログラムであって、
    特定の単語又は文から特定の語頭側部分を除いた語中部を複数含んで構成される複数の語彙と、複数の語彙に共通する語頭側部分を表現するために、ラベル付けされた複数の語頭部ノードを含む語頭部とを記憶する記憶部と、
    前記複数の語彙のうちから、対象とする語彙の選択指示と、その語彙に対する処理の選択指示とを受け付ける指示受付部と、
    選択指示された前記処理が、語彙を追加する処理である場合に、前記語頭部と、選択指示された前記語彙と、選択指示された前記語彙に含まれる複数の前記語中部にそれぞれ対応する、当該語中部が前記複数の語頭部ノードのうち予め対応付けられた一つに接続されていることを示す語頭部側接続情報とを含む文法ネットワークを生成する文法ネットワーク生成部と、
    生成された前記文法ネットワークを用いて音声認識を行う音声認識部とをコンピュータを実現させるためのプログラム。
JP2008071568A 2008-03-19 2008-03-19 音声認識装置及び音声認識方法 Withdrawn JP2009229529A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008071568A JP2009229529A (ja) 2008-03-19 2008-03-19 音声認識装置及び音声認識方法
CN200910128054A CN101540169A (zh) 2008-03-19 2009-03-19 语音识别设备和方法
US12/407,145 US20090240500A1 (en) 2008-03-19 2009-03-19 Speech recognition apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008071568A JP2009229529A (ja) 2008-03-19 2008-03-19 音声認識装置及び音声認識方法

Publications (1)

Publication Number Publication Date
JP2009229529A true JP2009229529A (ja) 2009-10-08

Family

ID=41089760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008071568A Withdrawn JP2009229529A (ja) 2008-03-19 2008-03-19 音声認識装置及び音声認識方法

Country Status (3)

Country Link
US (1) US20090240500A1 (ja)
JP (1) JP2009229529A (ja)
CN (1) CN101540169A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011191752A (ja) * 2010-02-16 2011-09-29 Gifu Service Kk 音声認識用文法作成支援プログラム
WO2023139770A1 (ja) * 2022-01-21 2023-07-27 ファナック株式会社 文法作成支援装置、及びコンピュータが読み取り可能な記憶媒体
WO2023139769A1 (ja) * 2022-01-21 2023-07-27 ファナック株式会社 文法調整装置、及びコンピュータが読み取り可能な記憶媒体

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8447120B2 (en) * 2008-10-04 2013-05-21 Microsoft Corporation Incremental feature indexing for scalable location recognition
CN102237087B (zh) * 2010-04-27 2014-01-01 中兴通讯股份有限公司 语音控制方法和语音控制装置
TWI508057B (zh) * 2013-07-15 2015-11-11 Chunghwa Picture Tubes Ltd 語音辨識系統以及方法
CN105739321A (zh) * 2016-04-29 2016-07-06 广州视声电子实业有限公司 一种基于knx总线的语音控制系统及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995918A (en) * 1997-09-17 1999-11-30 Unisys Corporation System and method for creating a language grammar using a spreadsheet or table interface
US6397179B2 (en) * 1997-12-24 2002-05-28 Nortel Networks Limited Search optimization system and method for continuous speech recognition
US6574597B1 (en) * 1998-05-08 2003-06-03 At&T Corp. Fully expanded context-dependent networks for speech recognition
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
US20020087309A1 (en) * 2000-12-29 2002-07-04 Lee Victor Wai Leung Computer-implemented speech expectation-based probability method and system
AU2003902020A0 (en) * 2003-04-29 2003-05-15 Telstra New Wave Pty Ltd A process for grammatical inference
JP3991914B2 (ja) * 2003-05-08 2007-10-17 日産自動車株式会社 移動体用音声認識装置
US7571098B1 (en) * 2003-05-29 2009-08-04 At&T Intellectual Property Ii, L.P. System and method of spoken language understanding using word confusion networks
US7599837B2 (en) * 2004-09-15 2009-10-06 Microsoft Corporation Creating a speech recognition grammar for alphanumeric concepts
US7636657B2 (en) * 2004-12-09 2009-12-22 Microsoft Corporation Method and apparatus for automatic grammar generation from data entries
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
US7865357B2 (en) * 2006-03-14 2011-01-04 Microsoft Corporation Shareable filler model for grammar authoring
JP4671898B2 (ja) * 2006-03-30 2011-04-20 富士通株式会社 音声認識装置、音声認識方法、音声認識プログラム
US20090055163A1 (en) * 2007-08-20 2009-02-26 Sandeep Jindal Dynamic Mixed-Initiative Dialog Generation in Speech Recognition

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011191752A (ja) * 2010-02-16 2011-09-29 Gifu Service Kk 音声認識用文法作成支援プログラム
WO2023139770A1 (ja) * 2022-01-21 2023-07-27 ファナック株式会社 文法作成支援装置、及びコンピュータが読み取り可能な記憶媒体
WO2023139769A1 (ja) * 2022-01-21 2023-07-27 ファナック株式会社 文法調整装置、及びコンピュータが読み取り可能な記憶媒体

Also Published As

Publication number Publication date
US20090240500A1 (en) 2009-09-24
CN101540169A (zh) 2009-09-23

Similar Documents

Publication Publication Date Title
JP4322815B2 (ja) 音声認識システム及び方法
JP2009229529A (ja) 音声認識装置及び音声認識方法
JP2005258439A (ja) 文字から音声への変換のための相互情報量基準を用いた大きな文字音素単位の生成
EP1178466B1 (en) Recognition system using lexical trees
US20040172247A1 (en) Continuous speech recognition method and system using inter-word phonetic information
US20050203737A1 (en) Speech recognition device
US7565290B2 (en) Speech recognition method and apparatus
US8639507B2 (en) Voice recognition system, voice recognition method, and program for voice recognition
GB2453366A (en) Automatic speech recognition method and apparatus
JP5274711B2 (ja) 音声認識装置
US9715874B2 (en) Techniques for updating an automatic speech recognition system using finite-state transducers
JPH06295198A (ja) 音声信号の所定の語彙のワードシーケンスを決める方法
CN109087645A (zh) 一种解码网络生成方法、装置、设备及可读存储介质
JP2000293191A (ja) 音声認識装置及び音声認識方法並びにその方法に用いられる木構造辞書の作成方法
US7464033B2 (en) Decoding multiple HMM sets using a single sentence grammar
US8015007B2 (en) Speech recognition apparatus and method thereof
JP2010139745A (ja) 統計的発音変異モデルを記憶する記録媒体、自動音声認識システム及びコンピュータプログラム
Murray Abstractive meeting summarization as a Markov decision process
TW200401262A (en) Device and method for recognizing consecutive speech, and program recording medium
JP4822829B2 (ja) 音声認識装置および方法
JP2006031278A (ja) 音声検索システムおよび方法ならびにプログラム
CN110992939B (zh) 语言模型训练方法、解码方法、装置、存储介质及设备
JP2004534275A (ja) 音声認識における高速検索
US20230117438A1 (en) Intelligent expanding similar word model system and method thereof
JP3484077B2 (ja) 音声認識装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20110607