JPH10319990A - 単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体 - Google Patents

単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体

Info

Publication number
JPH10319990A
JPH10319990A JP9129722A JP12972297A JPH10319990A JP H10319990 A JPH10319990 A JP H10319990A JP 9129722 A JP9129722 A JP 9129722A JP 12972297 A JP12972297 A JP 12972297A JP H10319990 A JPH10319990 A JP H10319990A
Authority
JP
Japan
Prior art keywords
data
dictionary data
word
compressed
compression
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.)
Pending
Application number
JP9129722A
Other languages
English (en)
Inventor
Ichiro Akahori
一郎 赤堀
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP9129722A priority Critical patent/JPH10319990A/ja
Publication of JPH10319990A publication Critical patent/JPH10319990A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Traffic Control Systems (AREA)

Abstract

(57)【要約】 【課題】 単語音声認識に用いて有効なグラフ形式の単
語辞書データへ変換し、さらに転送時に有利かつ容易に
展開可能なようにデータ圧縮を施す。 【解決手段】 図5に示すグラフ辞書データを第2の変
換処理にて「ほ,あ,\,ん,み,\,ま,ちょ,\,
ち,\,W,1,\,う\,J,8,W,2,き,\,
た,\,W,3,\,い,\,お,\,い,\,W,
4,\」という圧縮辞書データに変換する。これは、頂
点に割り付けられたラベルを、「ほ」→「ん」→「ま」
→「ち」→「W」→……という先行順走査を基本としな
がら、「ほ」については兄弟「あ」があり、「ん」につ
いては兄弟「み」があり、「ま」については兄弟「ち
ょ」があるため、それらについてもついでに走査してい
くという「第2の走査順」に従って並びかえている。そ
して、自己の兄弟関係を他と区別するための識別データ
として「\」を設定してある。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えばナビゲーシ
ョンシステムにおける目的地の設定等を音声によって入
力できるようにする場合等に用いる音声認識などに用い
て有効な単語辞書データの圧縮方法、単語辞書データの
展開方法、音声認識装置、音声認識機能付きナビゲーシ
ョンシステム及び記録媒体に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】従来よ
り、入力音声を予め記憶されている複数の比較対象パタ
ーン候補と比較して認識する方法あるいはその方法を用
いた装置が既に実用化されている。例えばカーナビゲー
ションシステムなどにおいて目的地等を音声で入力する
ために用いる音声認識装置などがそうである。この単語
音声の認識に際しては、まず、外部からの入力音声を分
析して音響的特徴量を抽出し、周知のDPマッチング法
等によって、その抽出された音響的特徴量の時系列デー
タを、単語辞書に認識すべき単語毎に登録されている音
響的特徴量を用いて、何れかの単語の音響的特徴量に最
も近似したデータ列毎に区分し、その区分したデータ列
毎に、対応する音響的特徴量が表わす単語を割り当てる
ことによって、入力音声の単語系列を認識する。そし
て、その認識結果はナビゲーション装置側に出力され
る。
【0003】ナビゲーションという性質を考えれば、こ
の指示データの中心を成すのが上述した目的地等を示す
地名データである。そして、この地名データは、ナビゲ
ーション処理に用いる地図データの一部という性質か
ら、新規に追加されたりあるいは更新される状況も多く
想定される。そのため、その新規追加あるいは更新に対
応しようとすると、音声認識装置に対して外部から地名
データに対応する単語辞書データを供給する必要があ
る。
【0004】しかしながら、ナビゲーション装置から音
声認識装置へ大規模な単語辞書データを転送すると、そ
の通信時間が長くなり、実用的でなくなる。また、地名
の場合には、単語を構成する音節データの等しい単語が
複数存在する可能性が高い。その理由の一つとして、あ
る特定の地名以外に、東西南北や上中下などが追加され
たような地名が多く存在することが挙げられる。また、
別の理由として、同じ場所を示す場合に複数の言い換え
が存在する可能性があることも挙げられる。つまり、
「本町」を「ほんまち」といったり「ほんちょう」とい
ったすることなどである。
【0005】そのため、例えば地名のように、音節デー
タの等しい単語が複数存在するような単語群からなる単
語辞書データにおいては、通常の単語毎にテキスト形式
で作成したデータではなく、それらをグラフ形式の単語
辞書データとすることも有利である。つまり、グラフ形
式の代表例である木構造で言えば、同じ音節データを持
つ単語同士を同じ親を持つように割り付ければよいから
である。
【0006】但し、このようなグラフ形式の単語辞書デ
ータに変換するには大量のメモリとなり高性能なCPU
が必要とされる。従って、音声認識装置側にそれらを備
えることは実用的ではなく、やはり、外部で作成した単
語辞書データを転送する必要があり、上述したのと同様
の問題がある。
【0007】本発明は、このような問題を解決するた
め、例えば単語音声認識に用いて有効なグラフ形式の単
語辞書データへ変換し、さらに転送時に有利かつ容易に
展開可能なようにデータ圧縮を施すことのできる単語辞
書データの圧縮方法、そしてその単語辞書データの展開
方法、音声認識装置、音声認識機能付きナビゲーション
システム及び記録媒体を提供することを目的とするもの
である。
【0008】
【課題を解決するための手段及び発明の効果】本発明の
単語辞書データの変換方法は、単語を構成する音節デー
タの等しい単語が複数存在するような単語群をテキスト
形式で作成した単語辞書データを圧縮する方法であっ
て、前記テキスト形式の単語辞書データを、木構造を基
本とするが頂点へ到達する通路の個数は必ずしも1では
ない木構造類似の有向グラフ形式に対応するよう、前記
音節データ及び単語終了を示す識別データを第1の走査
順にしたがって各頂点に割り付けると共に、各頂点毎に
自分の子及び兄弟識別用のデータを持たせたグラフ辞書
データに変換する第1の変換処理と、前記第1の変換処
理によって得た前記グラフ辞書データに対し、前記木構
造類似の有向グラフの頂点に割り付けられた音節及び単
語終了を示す識別データを、前記第1の走査順に基本的
には従いながら前記頂点に兄弟が存在する場合には当該
兄弟についても走査していく第2の走査順に従って並び
かえると共に、自己の兄弟関係を他と区別するための識
別データとを持たせた圧縮辞書データに変換する第2の
変換処理と、を行なうことによって、前記単語辞書デー
タを実質的に圧縮することを特徴とする。
【0009】本発明方法は、単語を構成する音節データ
の等しい単語が複数存在するような単語群をテキスト形
式で作成した単語辞書データを圧縮することを前提とし
ている。この「単語を構成する音節データの等しい単語
が複数存在するような単語群」を持つ単語辞書としては
種々考えられるが、例えば後述するようにナビゲーショ
ンシステムにおいて音声にて目的地などを入力する場合
には、地名を表す単語群が対象となるが、この地名の場
合には特に音節データの等しい単語が複数存在する可能
性が高い。その理由の一つとして、ある特定の地名以外
に、東西南北や上中下などが追加されたような地名が多
く存在することが挙げられる。また、別の理由として、
同じ場所を示す場合に複数の言い換えが存在する可能性
があることも挙げられる。つまり、「本町」を「ほんま
ち」といったり「ほんちょう」といったすることなどで
ある。
【0010】もちろん、このような地名を表す単語群に
限らず、他にも同様の性質を持つ単語群であれば適用で
き、また後述する作用・効果を好適に発揮できる。本発
明方法によれば、テキスト形式で作成された単語辞書デ
ータを、以下に示すように、まず、第1の変換処理によ
ってグラフ辞書データに変換し、続いて、第2の変換処
理によってそのグラフ辞書データをさらに圧縮辞書デー
タに変換する。
【0011】(1)第1の変換処理 グラフ辞書データへの変換は、木構造を基本とするが頂
点へ到達する通路の個数は必ずしも1ではない木構造類
似の有向グラフ形式に対応するよう、音節データ及び単
語終了を示す識別データを第1の走査順にしたがって各
頂点に割り付けると共に、各頂点毎に自分の子及び兄弟
識別用のデータを持たせたグラフ辞書データに変換す
る。
【0012】なお、「木構造類似の有向グラフ形式」と
は、基本的には木構造に準じているが、頂点へ到達する
通路の個数は必ずしも1ではなく複数でもよい、つまり
一旦分岐した頂点がその後「合流」することを許してい
るので、このように呼ぶこととする。
【0013】そして、各頂点に割り付けられた音節デー
タ及び単語終了を示す識別データを毎に自分の子及び兄
弟を識別するためのデータを持たせることで、木構造で
いうところの親子の順番で各音節データをつなげていけ
ば単語データとなる。日本語の場合には音節データは約
110個程度しかなく、特に最初の1つあるいは2つ以
上が同じ音節データとなる単語は多いため、それらの同
じ音節データについては重複して持たなくてよいため、
辞書データとして記憶しておく際などに有利である。も
ちろん、日本語に限らず、音節データ自体は、どの言語
においても極端に多いことはないため、同じ音節データ
については重複して持たなくてよく、辞書データとして
記憶しておく際などに有利であることは同様である。
【0014】また、第1の走査順としては、例えば先行
順走査(preorder traversal)を採用することが考えら
れる。ここでいう「走査」とは、ある順番に従って各頂
点を訪問していくことを指すが、「先行順走査」とは、
根を訪問し、次に子を根とする部分木を順番に走査(こ
の走査も先行順走査である。)していくことを指す。も
ちろん、他の走査として「inorder traversal」や「pos
torder traversal」があるが、これらの走査であっても
実現は可能である。
【0015】(2)第2の変換処理 第2の変換処理では、このようなグラフ辞書データをさ
らに圧縮辞書データに変換する。圧縮辞書データは、グ
ラフ辞書データに対し、木構造類似の有向グラフの頂点
に割り付けられた音節及び単語終了を示す識別データ
を、第1の走査順に基本的には従いながら頂点に兄弟が
存在する場合には当該兄弟についても走査していく第2
の走査順に従って並びかえると共に、自己の兄弟関係を
他と区別するための識別データとを持たせたものであ
る。
【0016】つまり、第1の変換処理によって得たグラ
フ辞書データの状態では、各頂点の音節データ毎に、
自分の子を識別するためのデータと、兄弟を識別する
ためのデータを持っていることとなるが、この第2の変
換処理によって得られる圧縮辞書データの状態では、上
記の自分の子を識別するためのデータは有しておら
ず、それだけでもデータ量が減る。
【0017】さらに、上記のように各音節データ毎に
兄弟を識別するためのデータを持っているのではなく、
その代わりに、自己の兄弟関係を他と区別するための識
別データを持っている。この「自己の兄弟関係を他と区
別するための識別データ」としては、例えば所定の音節
が末弟であることを示すデータを用いたり、兄弟数を示
すデータを用いたりすることが考えられる。このように
すれば、例えば、同一の兄弟関係となる音節データが5
つ存在すれば、その5つの音節データに対して兄弟数5
というデータだけを持たせるか、あるいはその末弟とな
る音節データだけにその末弟であることを示すデータを
持たせるだけでよい。
【0018】この具体例で言えば、第1のグラフ辞書デ
ータの状態では5つの音節データ毎に兄弟を識別するた
めのデータが必要であったが、第2のグラフ辞書データ
の状態では、兄弟数を示す「5」か末弟の音節データだ
けに識別のデータを持たせればよいので、データ量が減
ることとなる。その結果、さらなるデータ圧縮が実現さ
れることとなる。
【0019】このように自分の子を識別するためのデー
タは有しておらず、さらに、兄弟を識別するためのデー
タとしても、データ5つの音節データに対して兄弟数を
示す「5」か末弟の音節データだけに識別のデータを持
たせればよいのは、本第2の変換処理の次のような性質
に起因する。すなわち、第2の変換処理は、構造類似の
有向グラフの頂点に割り付けられた音節データを、基本
的には第1の走査順に従いながら頂点に兄弟が存在する
場合には当該兄弟についても走査していく第2の走査順
に従って並びかえている。それと共に、自己の兄弟関係
を他と区別するための識別データとを持たせている。つ
まり、親子関係や兄弟関係を識別するためのデータを音
節データ毎に設定しなくても、並びかえた音節データの
順番自体が、木構造類似の有向グラフにおける親子や兄
弟の関係を何等かの形で示すこととなるのである。但
し、順番自体だけでは足らないので、自己の兄弟関係を
他と区別するための識別データとを持たせてある。これ
により、まず音節データ毎の兄弟関係を解析することは
可能となり、また、兄弟関係が判れば、並びかえた音節
データの順番と共に解析することで、明示しない親子関
係も判ることとなる。
【0020】したがって、このようにして得た圧縮辞書
データは、データ量としても相対的に少なくなり、例え
ば単語辞書データを用いる装置へ外部から転送しようと
した場合の通信時間が短縮できるなど、種々のメリット
がある。また、その単語辞書データを用いる装置におい
ては、圧縮辞書データを所定の形式のグラフ辞書データ
へ展開して使用することが考えられるが、その展開処理
も容易に行える。
【0021】一方、上述した単語辞書データの圧縮方法
によって圧縮された圧縮辞書データを展開する方法とし
ては、例えば、圧縮辞書データ中の音節及び単語終了を
示す識別データが第2の走査順にしたがって並び替えら
れていると共に、頂点に兄弟が存在する場合にはその兄
弟関係を他と区別するための識別データが存在すること
に基づき、その圧縮辞書データ中の音節及び単語終了を
示す識別データに加え、当該音節及び単語終了を示す識
別データ毎に自分の子を識別するためのデータを設定し
て第2のグラフ辞書データに展開する方法が挙げられ
る。
【0022】これは、上述した単語辞書データの圧縮方
法での第2の変換処理における変換過程を考慮して、逆
に、圧縮辞書データ中の音節及び単語終了を示す識別デ
ータ毎に、自分の子を識別するためのデータを復活させ
るのである。つまり、圧縮辞書データ中の音節及び単語
終了を示す識別データは、第2の走査順にしたがって並
び替えられていると共に、頂点に兄弟が存在する場合に
はその兄弟関係を他と区別するための識別データが設定
されているため、その点を考慮すれば、木構造類似の有
向グラフの頂点の親子関係から自分の子は容易に解析で
きるのである。
【0023】なお、このようにして展開した第2のグラ
フ辞書データは、上述した圧縮方法での第1の変換処理
によって得たグラフ辞書データの状態と必ずしも同じで
はない。上述のグラフ辞書データでは、各頂点に割り付
けられた音節データ及び単語終了を示す識別データ毎に
自分の子及び兄弟を識別するためのデータを持たせてい
たが、本展開処理において得る第2のグラフ辞書データ
では、自分の兄弟を識別するためのデータを各頂点に割
り付けられた音節データ及び単語終了を示す識別データ
毎に持たせなくてはならないことはない。この情報につ
いては、兄弟関係を他と区別するための識別データのま
まで残しておいても構わない。
【0024】いずれにしても、各頂点に割り付けられた
音節データ及び単語終了を示す識別データに加えて、当
該データ毎に自分の子を識別するためのデータと、兄弟
関係を他と区別するための識別データを最低限持つこと
ができるため、この第2の辞書データは単語辞書として
十分用いることができる。
【0025】なお、上述した単語辞書データの圧縮方法
においては、第1の変換処理及び第2の変換処理を経る
ことは実質的にデータ圧縮となるのであるが、これは、
単語を構成する音節データを木構造類似の有向グラフの
頂点に割り付けることを前提とした特殊なデータ圧縮で
ある。つまり、例えば可変長符号化といった一般的なデ
ータ圧縮技法ではなく、圧縮対象の単語群の音節データ
にかかる性質に基づくものである。したがって、第2の
変換処理によって圧縮辞書データに変換された単語辞書
データを、さらに所定のデータ圧縮方法を用いて圧縮し
てもよい。この「所定のデータ圧縮方法」とは、上述し
た例えば可変長符号化といった一般的なデータ圧縮技法
による圧縮方法である。
【0026】このようにすれば、さらなるデータ圧縮を
実現することができる。そして、このように所定のデー
タ圧縮方法によってさらなるデータ圧縮をした場合に
は、圧縮辞書データの展開方法としても、所定の圧縮方
法によって圧縮された状態の前記単語辞書データを、当
該所定の圧縮方法による圧縮前の状態である前記圧縮辞
書データに伸長し、当該伸長した前記圧縮辞書データ中
の前記音節及び単語終了を示す識別データが前記第2の
走査順にしたがって並び替えられていると共に、前記頂
点に兄弟が存在する場合にはその兄弟関係を他と区別す
るための識別データが存在することに基づき、その圧縮
辞書データ中の音節及び単語終了を示す識別データに加
え、当該音節及び単語終了を示す識別データ毎に自分の
子を識別するためのデータを設定して第2のグラフ辞書
データに展開することが考えられる。
【0027】なお、上述したこのような単語辞書データ
の圧縮方法や展開方法を実行するプログラムは、例え
ば、コンピュータシステム側で起動するプログラムとし
て備えられる。このようなプログラムの場合、例えばフ
ロッピーディスク、光磁気ディスクやCD−ROM、ハ
ードディスク等の機械読取り可能な記録媒体に記憶し、
必要に応じてコンピュータシステムにロードして起動す
ることにより用いることができる。この他、ROMやバ
ックアップRAMを機械読み取り可能な記録媒体として
前記プログラムを記憶しておき、このROMあるいはバ
ックアップRAMをコンピュータシステムに組み込んで
用いてもよい。
【0028】一方、上述した単語辞書データの圧縮方法
にて圧縮した単語辞書データを用いる音声認識装置とし
ては、例えば、次に示すような構成を挙げることができ
る。その構成は、認識すべき複数の単語の音響的特徴量
が、各単語毎に予め格納された単語辞書記憶手段と、外
部からの入力音声を分析して音響的特徴量を抽出する音
響分析手段と、該音響分析手段にて抽出された音響的特
徴量の時系列データを、前記単語辞書記憶手段に格納さ
れた音響的特徴量に最も近似したデータ列毎に区分し、
データ列毎に、対応する音響的特徴量が表わす単語を割
り当て、前記入力音声の単語系列を認識する音声認識手
段と、該音声認識手段による認識結果を外部装置に出力
する出力手段と、を備えた音声認識装置において、前記
単語辞書データを、前記請求項1乃至5のいずれかに記
載の単語辞書データの圧縮方法によって前記圧縮辞書デ
ータに変換された状態で外部装置から入力する圧縮辞書
データ入力手段と、前記圧縮辞書データ入力手段を介し
て入力した前記圧縮辞書データを、前記請求項7又は8
に記載の単語辞書データの展開方法によって前記第2の
グラフ辞書データに展開する圧縮辞書データ展開手段と
を備え、前記単語辞書記憶手段には、前記圧縮辞書デー
タ展開手段によって前記第2のグラフ辞書データに展開
された状態の単語辞書データが記憶されていることを特
徴とするものである。
【0029】本音声認識装置においては、単語辞書記憶
手段に、認識すべき複数の単語の音響的特徴量が、音声
認識手段にて認識すべき単語の音響的特徴量として各単
語毎に格納されている。そして、外部から音声が入力さ
れると、まず、音響分析手段が、その入力音声を分析し
て音響的特徴量を抽出する。すると、音声認識手段が、
音響分析手段にて抽出された音響的特徴量の時系列デー
タを、単語辞書記憶手段に格納された単語の音響的特徴
量に最も近似したデータ列毎に区分し、その区分したデ
ータ列毎に、対応する音響的特徴量が表わす単語を割り
当ることによって、入力音声中の単語系列を認識する。
また、このように音声認識手段が入力音声中の単語系列
を認識すると、その認識結果は出力手段を介して外部装
置に出力する。つまり、使用者が音声入力した必要な単
語系列のみが提供されることとなる。
【0030】そして、この音声認識装置においては、単
語辞書記憶手段に単語辞書データは次のようにして記憶
される。つまり、圧縮辞書データ入力手段が、上述した
単語辞書データの圧縮方法によって圧縮辞書データに変
換された状態で単語辞書データを外部装置から入力す
る。そして、圧縮辞書データ展開手段が、その入力した
圧縮辞書データを、上述した単語辞書データの展開方法
によって第2のグラフ辞書データに展開する。この第2
のグラフ辞書データに展開された状態の単語辞書データ
が単語辞書記憶手段に記憶されることとなる。
【0031】このように、圧縮辞書データに変換された
状態で単語辞書データを外部装置から入力することがで
きるので、単語辞書データを外部装置から入力する際の
通信時間を短縮することができる。また、単語辞書記憶
手段には記憶されている単語辞書データは、単語音声の
認識処理にとっては有効な形式であるグラフ辞書形式の
データである。例えばテキスト形式の単語辞書データと
して入力された場合には、それをグラフ形式の辞書デー
タの変換するために要する時間とメモリがかなり多く必
要となるが、そのような不利が生じない。
【0032】なお、上述した音声認識装置においては、
圧縮辞書データに変換された状態で単語辞書データを外
部装置から入力し、それを第2のグラフ辞書データに展
開してから単語辞書記憶手段に記憶するようにしたが、
単語辞書記憶手段には、圧縮辞書データ入力手段によっ
て外部装置から入力した圧縮辞書データの状態で記憶し
ておき、電源投入時又は音声認識処理実行時に、圧縮辞
書データ記憶手段から読み出した圧縮辞書データを第2
のグラフ辞書データに展開するような構成も採用でき
る。
【0033】このようにすれば、記憶しておく必要のあ
る単語辞書データのデータ量が相対的に少なくて済む。
つまり、単語辞書データ記憶手段を例えば不揮発性メモ
リで構成するならば、その不揮発性メモリの容量が少な
くてもよくなる。なお、第2のグラフ辞書データに展開
するのが音声認識処理実行時であるならば、その展開時
にのみ必要な揮発性メモリも少なくて済む。
【0034】また、このような音声認識装置と、ナビゲ
ーション装置とを備えたナビゲーションシステムとして
は、例えば次に示すような構成が考えられる。すなわ
ち、前記音声認識装置の前記音声入力手段は、前記ナビ
ゲーション装置がナビゲート処理をする上で指定される
必要のある所定のナビゲート処理関連データの指示を利
用者が音声にて入力するために用いられるものであり、
前記出力手段は、前記音声認識手段による認識結果を前
記ナビゲーション装置に出力するよう構成されている音
声認識機能付きナビゲーションシステムであって、前記
ナビゲーション装置は、前記単語辞書データを、前記請
求項1乃至4のいずれかに記載の単語辞書データの圧縮
方法によって前記圧縮辞書データに変換された状態で記
憶しておく圧縮辞書データ記憶手段と、所定の辞書転送
必要時に前記圧縮辞書データ記憶手段から前記圧縮辞書
データを読み出し、前記音声認識装置に転送する辞書デ
ータ転送手段と、を備えていることを特徴とする。
【0035】本ナビゲーションシステムによれば、ナビ
ゲーション装置の圧縮辞書データ記憶手段が、単語辞書
データを圧縮辞書データに変換された状態で記憶してお
り、所定の辞書転送必要時に圧縮辞書データ記憶手段か
ら圧縮辞書データを読み出し、音声認識装置に転送す
る。
【0036】本ナビゲーションシステムの場合には、音
声認識装置にて認識されたナビゲート処理関連の指示デ
ータがナビゲーション装置に送られ、その指示データに
基づくナビゲーション処理を行なうこととなる。ナビゲ
ーションという性質を考えれば、この指示データの中心
を成すのが地名データである。そして、この地名データ
は、上述したように音節データの等しい単語が複数存在
する可能性が高いという固有の性質に加え、ナビゲーシ
ョン装置側の地図データの一部という性質から新規追加
あるいは更新される状況も多く想定される。
【0037】そのため、その新規追加あるいは更新に対
応しようとすると、音声認識装置に対して外部から地名
データに対応する単語辞書データを供給する必要があ
る。なぜなら、地名の新規追加あるいは更新は、基本的
にテキスト形式のデータとして実現されることが考えら
れるが、それらを上述のグラフ形式の単語辞書データと
するには大量のメモリとなり高性能なCPUが必要とさ
れる。従って、音声認識装置側にそれらを備えることは
実用的ではなく、外部でそれらの新規追加あるいは更新
に対応して作成されたグラフ形式の単語辞書データを供
給する必要が出て来る。但し、グラフ形式の辞書データ
であってもデータサイズはかなり大きいため、ナビゲー
ション装置から音声認識装置へ単語辞書データを転送す
ることを考えると、大規模な単語辞書データをそのまま
の状態で転送することは通信時間が長くなり、やはり実
用的ではない。そのため、圧縮辞書データの状態にした
上で、音声認識装置側に転送することで、上記通信時間
を短縮することができる。
【0038】なお、「所定の辞書転送必要時」とは、例
えばナビゲーション装置における地図データの更新時や
バッテリオフ時などが考えられる。また、ナビゲーショ
ン装置が音声認識装置側への転送するための単語辞書デ
ータを圧縮辞書データの状態で記憶しているのである
が、この圧縮辞書データへの変換は、ナビゲーション装
置自体が行ってもよいし、あるいは、外部装置にてその
変換を行なうようにし、ナビゲーション装置は外部装置
から圧縮辞書データを入力して記憶するようにしてもよ
い。上述したように、グラフ形式の単語辞書データとす
るには大量のメモリとかなり高性能なCPUが必要とさ
れる。従って、ナビゲーション装置側にそれらを備える
のでなく、外部装置としての例えばワークステーション
などで変換するようにすることが現実的である。
【0039】
【発明の実施の形態】図1は本発明の実施形態としての
カーナビゲーションシステム2の全体構成を示すブロッ
ク図である。本カーナビゲーションシステム2は、位置
検出器4、地図データ入力器6、操作スイッチ群8、こ
れらに接続された制御回路10、制御回路10に接続さ
れた外部メモリ12、表示装置14及びリモコンセンサ
15及び音声認識装置30を備えている。なお制御回路
10は通常のコンピュータとして構成されており、内部
には、周知のCPU、ROM、RAM、I/O及びこれ
らの構成を接続するバスラインが備えられている。
【0040】位置検出器4は、周知の地磁気センサ1
6、ジャイロスコープ18、距離センサ20、及び衛星
からの電波に基づいて車両の位置を検出するGPS(Gl
obalPositioning System)のためのGPS受信機22を
有している。これらのセンサ等16,18,20,22
は各々が性質の異なる誤差を持っているため、複数のセ
ンサにより、各々補間しながら使用するように構成され
ている。なお、精度によっては上述した内の一部で構成
してもよく、更に、ステアリングの回転センサ、各転動
輪の車輪センサ等を用いてもよい。
【0041】地図データ入力器6は、位置検出の精度向
上のためのいわゆるマップマッチング用データ、地図デ
ータ及び目印データを含む各種データを入力するための
装置である。媒体としては、そのデータ量からCD−R
OMを用いるのが一般的であるが、メモリカード等の他
の媒体を用いても良い。
【0042】表示装置14はカラー表示装置であり、表
示装置14の画面には、位置検出器4から入力された車
両現在位置マークと、地図データ入力器6より入力され
た地図データと、更に地図上に表示する誘導経路や後述
する設定地点の目印等の付加データとを重ねて表示する
ことができる。
【0043】また、本カーナビゲーションシステム2
は、リモートコントロール端末(以下、リモコンと称す
る。)15aを介してリモコンセンサ15から、あるい
は操作スイッチ群8により目的地の位置を入力すると、
現在位置からその目的地までの最適な経路を自動的に選
択して誘導経路を形成し表示する、いわゆる経路案内機
能も備えている。このような自動的に最適な経路を設定
する手法は、ダイクストラ法等の手法が知られている。
操作スイッチ群8は、例えば、表示装置14と一体にな
ったタッチスイッチもしくはメカニカルなスイッチ等が
用いられ、各種入力に使用される。
【0044】そして、音声認識装置30は、上記操作ス
イッチ群8あるいはリモコン15aが手動操作により目
的地などを指示するために用いられるのに対して、利用
者が音声で入力することによっても同様に目的地などを
指示することができるようにするための装置である。
【0045】この音声認識装置30は、音声認識部31
と、対話制御部32と、音声合成部33と、音声入力部
34と、「音声入力手段」としてのマイク35と、PT
T(Push-To-Talk)スイッチ36と、スピーカ37とを
備えている。音声認識部31は、音声入力部34から入
力された音声データを、対話制御部32からの指示によ
り入力音声の認識処理を行い、その認識結果を対話制御
部32に返す。対話制御部32は、その認識結果及び自
身が管理する内部状態から、音声合成部33への応答音
声の発声指示や、システム自体の処理を実行する制御回
路10に対して例えばナビゲート処理のために必要な目
的地を通知して設定処理を実行させるよう指示する処理
を実行する。このような処理が確定後処理であり、結果
として、この音声認識装置30を利用すれば、上記操作
スイッチ群8あるいはリモコン15aを手動しなくて
も、音声入力によりナビゲーションシステムに対する目
的地の指示などが可能となるのである。
【0046】また前記音声入力部34は、マイク35に
て取り込んだ周囲の音声をデジタルデータに変換して音
声認識部31に出力するものであり、本実施形態におい
ては、利用者がPTTスイッチ36を押しながらマイク
35を介して音声を入力するようにされている。つま
り、PTTスイッチ36が押されていない場合には、音
声入力部34は音声認識部31へ音声データを出力しな
いようにされている。
【0047】ここで、音声認識部31と対話制御部32
の構成について図2を参照してさらに詳しく説明する。
図2に示すように、音声認識部31は照合部31aと辞
書部31bとで構成されており、対話制御部32は後処
理部32a、通信制御部32b及び辞書制御部32cで
構成されている。
【0048】音声認識部31においては、照合部31a
が、音声入力部34から取得した音声データに対し、辞
書部31b内に記憶されている辞書データを用いて照合
を行ない、入力音声中の単語系列を認識する。詳しく
は、音声入力部34から入力された音声データを順次音
響分析して音響的特徴量(例えばケプストラム)を抽出
し、この音響分析によって得られた音響的特徴量時系列
データを得る。そして、周知のDPマッチング法によっ
て、この時系列データをいくつかの区間に分けて、各区
間が辞書部31bに格納されたどの単語に対応している
かを求める「音声認識手段」としての処理を実行する。
【0049】照合部31aでの認識結果は対話制御部3
2の後処理部32aへ送られる。後処理部32aは、例
えば通信制御部32bを介して制御回路10へデータを
送って所定の処理をするように指示する確定後処理を実
行したり、あるいは音声合成部33へ音声データを送っ
て発音させるように指示する処理を実行する。
【0050】また、対話制御部32の辞書制御部32c
は、通信制御部32bを介して制御回路10から転送さ
れた後述の「圧縮辞書データ」をデータ展開し、さらに
辞書展開してから音声認識部31の辞書部31bへ書き
込む。これら「データ展開」や「辞書展開」については
後述する。
【0051】ここで、カーナビゲーションシステム2の
動作について簡単に説明しておく。カーナビゲーション
システム2の電源オン後に、表示装置14上に表示され
るメニューから、ドライバーがリモコン15a(操作ス
イッチ群8でも同様に操作できる。以後の説明において
も同じ)により、案内経路を表示装置14に表示させる
ために経路情報表示処理を選択した場合、あるいは、音
声認識装置30を介して希望するメニューをマイク35
を介して音声入力することで、対話制御部32から制御
回路10へ、リモコン15aを介して選択されるのを同
様の指示がなされた場合、次のような処理を実施する。
すなわち、ドライバーが表示装置14上の地図に基づい
て、音声あるいはリモコンなどの操作によって目的地を
入力すると、GPS受信機22から得られる衛星のデー
タに基づき車両の現在地が求められ、目的地と現在地と
の間に、ダイクストラ法によりコスト計算して、現在地
から目的地までの最も短距離の経路を誘導経路として求
める処理が行われる。そして、表示装置14上の道路地
図に重ねて誘導経路を表示して、ドライバーに適切なル
ートを案内する。このような誘導経路を求める計算処理
や案内処理は一般的に良く知られた処理であるので説明
は省略する。
【0052】さて、本カーナビゲーションシステム2に
おいては、上述したように、音声認識装置30は制御回
路10から圧縮辞書データを転送してもらい、対話制御
部32の辞書制御部32cがその圧縮辞書データをデー
タ展開し、さらに辞書展開してから音声認識部31の辞
書部31bへ書き込む。この圧縮辞書データは、外部装
置、例えばワークステーションなどを用いて生成され
る。この手順は、図3に示すように、テキスト形式で作
成された単語辞書データを、第1の変換処理によってグ
ラフ辞書データに変換し、続いて、第2の変換処理によ
ってそのグラフ辞書データをさらに圧縮辞書データに変
換する。さらに、本実施形態の場合には例えば可変長符
号化といった一般的なデータ圧縮を施し、そのデータ圧
縮された「圧縮辞書データ」を、地図データ及びその他
のデータと共にナビゲーションシステム用の地図CDに
書き込む。そして、この地図CD内のデータが地図デー
タ入力器6(図1参照)を介して制御回路10に読み込
まれ、上述したように音声認識装置30に転送されるの
である。
【0053】図3の(e)に示す「圧縮辞書データ」に
変換されるまでの処理等について、さらに説明する。ま
ず、図3(a)に示す「テキスト辞書データ」について
説明する。上述したように、これはテキスト形式で作成
された単語辞書データであるが、本実施形態の場合に
は、ナビゲーションにおける目的地などを音声認識する
ためのものなので、単語としては主に地名である。この
地名を表す単語群の性質を考えると、単語を構成する音
節データの等しい単語が複数存在するという点が挙げら
れる。その理由の一つとして、ある特定の地名以外に、
東西南北や上中下などが追加されたような地名が多く存
在することが挙げられる。また、別の理由として、同じ
場所を示す場合に複数の言い換えが存在する可能性があ
ることも挙げられる。つまり、「本町」を「ほんまち」
といったり「ほんちょう」といったすることなどであ
る。
【0054】なお、本実施形態における単語辞書データ
の圧縮方法への理解を容易にするため、テキスト辞書デ
ータとして、次に示す具体例を用いて今後の説明を行な
う。 (1)ほん(まち|ちょう) (2)ほみ (3)ほみきた (4)あいおい この具体例において、数字(1)〜(4)は単語番号を
示している。また、(まち|ちょう)における()は優
先順位を示しており、|は選択肢を示す。つまり、(ま
ち|ちょう)は「まち」あるいは「ちょう」のいずれか
一つを選択することとなり、(1)の「ほん(まち|ち
ょう)」は、「ほんまち」あるいは「ほんちょう」を示
す。但し、「ほんまち」が「ほんちょう」に優先する。
また、本例では使用していないが、[]を付すことで省
略可を示すこともできる。
【0055】次に、図3(b)の、テキスト辞書データ
を第1の変換処理によってグラフ辞書データに変換する
処理について説明する。この第1の変換処理を説明的に
記述すると、「木構造を基本とするが頂点へ到達する通
路の個数は必ずしも1ではない木構造類似の有向グラフ
形式に対応するよう、音節データ及び単語終了を示す識
別データを第1の走査順にしたがって各頂点に割り付け
ると共に、各頂点毎に自分の子及び兄弟識別用のデータ
を持たせたグラフ辞書データに変換する」ということと
なる。
【0056】具体例を参照する方が理解が容易になるの
で、図4に示すテキスト辞書データが第1の変換処理に
よって変換された結果としてグラフ辞書データの具体例
を図5〜図7に示す。なお、図5〜図7は同じグラフ辞
書データを示しており、図5は、「木構造類似の有向グ
ラフ形式」で表現した場合であり、図6は同じものをポ
インタ表現で示し、図7は配列表現で示したものであ
る。
【0057】図5に示す「木構造類似の有向グラフ形
式」は、基本的には木構造に準じているが、頂点へ到達
する通路の個数は必ずしも1ではなく複数でもよい、つ
まり一旦分岐した頂点がその後「合流」することを許し
ているので、このように呼ぶこととする。そして、この
場合の「第1の走査順」はいわゆる「先行順走査(preo
rder traversal)を採用している。ここでいう「走査」
とは、ある順番に従って各頂点を訪問していくことを指
すが、「先行順走査」とは、根を訪問し、次に子を根と
する部分木を順番に走査(この走査も先行順走査であ
る。)していくことを指す。なお、ここで、「親」とは
直前の頂点、「子」とは次の頂点、「兄弟」とは同じ親
を持つ頂点同士をそれぞれ意味する。
【0058】つまり、例えば上述したテキスト辞書デー
タの単語(1)〜(3)は全て「ほ」で始まるため同じ
親を持つ。また、「ほんまち」と「ほんちょう」は「ほ
ん」まで同じなので、次の「ま」と「ちょ」が兄弟関係
となる。また、「ほん(まち|ちょう)」と「ほみ」を
考えると、「ほ」の次の「ん」と「み」が兄弟関係とな
る。なお、図5において、矢印(→)は辺を表し、一重
丸(○)は頂点を表し、二重丸(◎)は受理頂点、すな
わち単語に対する頂点を表す。なお、受理頂点における
数字は単語番号を示している。
【0059】例えば、「ほんまち」と「ほんちょう」は
同じ地名を表す単語であるので、最終的には合流させて
同一の単語を意味させている。つまり同じ受理頂点1に
至るようにしている。また、「ほみ」と「ほみきた」は
「ほみ」が共通であり、さらに「ほみ」だけで単語が終
了しているので、「ほみ」と表した後に受理頂点2を表
し、さらにその後に「きた」と続け、そこで単語が終了
するので受理頂点3を表している。
【0060】一方、図6では、各ラベル毎に子と兄弟を
示している。ここでは音節データ「ほ」,「ん」,
「ま」,「ち」などをラベルとするが、さらに単語が終
了していることを示すデータとしての「W」もラベルと
している。図7も同様に各ラベル毎に子と兄弟を示して
いるが、これは配列表現で示したものである。各ラベル
は、上述した第1の走査順、すなわちここでは先行順走
査に従って、「ほ,ん,ま,ち,W,ちょ,う,み,
W,き,た,あ,い,お,い,W」という順番に並べら
れており、ラベル番号1〜17がそれぞれ割り付けられ
ている。そして、各ラベルに対して、兄弟(Bros)
と子(Child)のラベル番号が設定されている。例
えば、ラベル番号1の「ほ」に対しては兄弟としてラベ
ル番号13、子としてラベル番号2が設定されているの
で、兄弟はラベル番号13の「あ」であり、子はラベル
番号2の「ん」であることが判る。なお、単語が終了し
ていることを示すデータとしての「W」のラベルについ
ては、単語番号を子のデータとして設定してある。例え
ば、ラベル番号5の「W」については「ほんまち」とい
う単語の終了を示しており、単語番号が1であるので、
子のデータとして「1」が設定されている。
【0061】次に、図3(d)に示した「グラフ辞書デ
ータを第2の変換処理によって圧縮辞書データに変換す
る処理」について説明する。この第2の変換処理にて生
成される圧縮辞書データを説明的に記述すると、「第1
の変換処理にて得たグラフ辞書データに対し、木構造類
似の有向グラフの頂点に割り付けられた音節及び単語終
了を示す識別データを、第1の走査順に基本的には従い
ながら頂点に兄弟が存在する場合には当該兄弟について
も走査していく第2の走査順に従って並びかえると共
に、自己の兄弟関係を他と区別するための識別データと
を持たせたもの」となる。
【0062】具体例を参照する方が理解が容易になるの
で、上述した図5〜図7に示すグラフ辞書データがこの
第2の変換処理にて変換された圧縮辞書データの具体例
を図8に示す。つまり、この場合の圧縮辞書データは、
「ほ,あ,\,ん,み,\,ま,ちょ,\,ち,\,
W,1,\,う\,J,8,W,2,き,\,た,\,
W,3,\,い,\,お,\,い,\,W,4,\」と
なる。
【0063】上述した図5の木構造類似の有向グラフの
頂点に割り付けられた音節及び単語終了を示す識別デー
タ(ラベル)を、第1の走査順に基本的には従いながら
頂点に兄弟が存在する場合にはその兄弟についても走査
していく「第2の走査順」に従って並びかえている。上
述の第1の走査順が先行順走査であるので、「ほ」→
「ん」→「ま」→「ち」→「W」→……という先行順走
査を基本としながら、「ほ」については兄弟「あ」があ
り、「ん」については兄弟「み」があり、「ま」につい
ては兄弟「ちょ」があるため、それらについてもついで
に走査していく。そして、自己の兄弟関係を他と区別す
るための識別データとして「\」を設定してある。例え
ば「ほ,あ」の次に「\」を入れるなどである。
【0064】図7に示すグラフ辞書データを図8に示す
圧縮辞書データに変換する際の具体的な処理については
後述するが、このような圧縮辞書データにした場合の効
果について説明する。つまり、第1の変換処理によって
得たグラフ辞書データ(図5〜図7)の状態では、各頂
点の音節データ毎に、自分の子を識別するためのデー
タと、兄弟を識別するためのデータを持っていること
となるが、この第2の変換処理によって得られる圧縮辞
書データ(図8)の状態では、上記の自分の子を識別
するためのデータは有しておらず、それだけでもデータ
量が減る。
【0065】さらに、上記のように各音節データ毎に
兄弟を識別するためのデータを持っているのではなく、
その代わりに、自己の兄弟関係を他と区別するための識
別データ(\)を持っている。この識別データとしての
「\」は、図8に示す場合では、所定の音節が末弟であ
ることを示すデータとして用いている。つまり、図8に
示す例では、「ほ,あ」という兄弟関係では「あ」が末
弟であるので、その後に「\」を設定してある。この例
では兄弟が2つしかないが、例えば、同一の兄弟関係と
なる音節データが5つ存在すれば、その5つの音節デー
タに対して末弟となる音節データだけにその末弟である
ことを示すデータを持たせるだけでよい。そのため、上
述した自分の子を識別するためのデータは有していない
ことによるデータ量削減に加え、さらなるデータ量削減
が実現できる。その結果、さらなるデータ圧縮が実現さ
れることとなる。
【0066】なお、「自己の兄弟関係を他と区別するた
めの識別データ」としては、上述の末弟であることを示
すだけでなく、例えば兄弟数を示すデータであってもよ
い。つまり、図8の例で言えば、「ほ,あ」という兄弟
関係について兄弟数が「2」であることが判ればそれで
もよい。この場合でも、兄弟数がいくら多くなってもそ
の兄弟数を示すデータを持たせればよいので、グラフ辞
書データの場合のような各音節データ毎に兄弟を示すデ
ータを持つことがなく、やはりデータ量が減ることとな
る。
【0067】ところで、圧縮辞書データが、このように
自分の子を識別するためのデータは有しておらず、さら
に、兄弟を識別するためのデータとしても、データ5つ
の音節データに対して末弟の音節データだけに識別デー
タ(\)を持たせればよいのは、第2の変換処理の次の
ような性質に起因する。すなわち、第2の変換処理は、
構造類似の有向グラフの頂点に割り付けられた音節デー
タを、基本的には第1の走査順に従いながら頂点に兄弟
が存在する場合には当該兄弟についても走査していく第
2の走査順に従って並びかえている。それと共に、自己
の兄弟関係を他と区別するための識別データとを持たせ
ている。つまり、親子関係や兄弟関係を識別するための
データを音節データ毎に設定しなくても、並びかえた音
節データの順番自体が、木構造類似の有向グラフにおけ
る親子や兄弟の関係を何等かの形で示すこととなるので
ある。但し、順番自体だけでは足らないので、自己の兄
弟関係を他と区別するための識別データとを持たせてあ
る。これにより、まず音節データ毎の兄弟関係を解析す
ることは可能となり、また、兄弟関係が判れば、並びか
えた音節データの順番と共に解析することで、明示しな
い親子関係も判ることとなる。
【0068】したがって、このようにして得た圧縮辞書
データは、データ量としても相対的に少なくなり、例え
ば単語辞書データを用いる装置へ外部から転送しようと
した場合の通信時間が短縮できるなど、種々のメリット
がある。また、その単語辞書データを用いる装置におい
ては、圧縮辞書データを所定の形式のグラフ辞書データ
へ展開して使用することが考えられるが、その展開処理
も容易に行えるのである。
【0069】続いて、上記説明中では後述するとしてお
いた「図7に示すグラフ辞書データを図8に示す圧縮辞
書データに変換する際の具体的な処理」について説明す
る。図10に示すように、処理が開始すると、最初のス
テップS10において変数nを初期値1に設定し、続く
S20では、Num(i)を初期値0に設定する。な
お、i=0,1,……Nである。このような初期設定が
終了した後、S30にて圧縮処理が開始する。
【0070】この圧縮処理の詳細を図11,12を参照
して説明する。なお、図11,12は圧縮(p)処理と
して一般化して表してあり、p=1の場合が圧縮(1)
処理となる。従って、図10のS30は、圧縮(1)処
理である。図11の最初のステップS110では変数q
=pに設定する。つまり、圧縮(1)処理であればq=
p=1となる。そして、続くS120においてqと0と
を比較し、q=0であればS180へ移行するが、q=
0でなければS130へ移行する。
【0071】S130では、Num(q)=nに設定す
ると共に、nをインクリメント(n=n+1)する。そ
して、続くS140では、Label(q)の内容を単
語終了を示す「W」と比較し、Label(q)の内容
sが「W」であればS170へ移行し、Label
(q)の内容sが「W」でなければS150へ移行す
る。
【0072】S170では、Label(q)の内容s
が「W」であるため、「W」を出力すると共にChil
d(q)を出力する。一方、S150では、Label
(q)の内容sが「W」でないので、Label(q)
自体を出力する。S150あるいはS170の処理後
は、S160へ移行する。
【0073】S160では、変数q=Bros(q)と
してS120へ戻り、S120以下の処理を繰り返す。
一方、S120にてq=0であると判断された場合に移
行するS180では、「\」を出力する。そして、図1
2に示すようにS190へ移行する。
【0074】S190では、図11の最初のステップS
110と同様、変数q=pに設定する。つまり、圧縮
(1)処理であればこの場合もq=p=1となる。そし
て、続くS200においてqと0とを比較し、q=0で
あれば本圧縮(p)処理を終了するが、q=0でなけれ
ばS210へ移行する。
【0075】S210では、Label(q)を「W」
と比較し、Label(q)の内容sが「W」であれば
S240へ移行し、Label(q)の内容sが「W」
でなければS220へ移行する。S220では、Num
(Child(q))が0より大きいかどうかを判断す
る。Num(Child(q))>0であれば(S22
0:YES)、S250へ移行し、「J」を出力すると
共にNum(Child(q))を出力してから、S2
40へ移行する。一方、Num(Child(q))≦
0であれば(S220:NO)、S230へ移行して、
圧縮(Child(q))処理を行なう。この圧縮(C
hild(q))処理は、再帰読み出し処理であり、図
11〜図12の処理を行なうこととなる。S230の処
理後はS240へ移行する。
【0076】上述のS210でLabel(q)の内容
sが「W」である場合、及びS230あるいはS250
の処理に移行するS240では、変数q=Bros
(q)としてS200へ戻り、S200以下の処理を繰
り返す。以上が圧縮処理を示すフローチャートの説明で
あるが、より理解を容易にするために、図7に示すグラ
フ辞書データが図8に示す圧縮辞書データに変換される
場合の途中経過を示しながら、さらに説明する。
【0077】図13は、図10のS30での圧縮(1)
処理の内容を概念的に示したものである。つまり、圧縮
(1)処理が実行されていく途中で、図12のS230
での圧縮(Child(q))処理が実行される。圧縮
(1)処理はp=1の場合の処理であるので、S190
においてq=p=1となり、S230では圧縮(Chi
ld(1))処理となる。すなわち図7を参照するとC
hild(1)=2であるので、この場合のS230は
圧縮(2)処理となる。
【0078】このようにして、結果的には圧縮(14)
処理が終了すると、圧縮(1)処理が終了することとな
る。図13におけるA点は圧縮(2)処理に移行する直
前を示し、同じくB点は圧縮(2)処理が終了した時点
を示し、C点は圧縮(14)処理が終了した時点を示す
る。図14では、これらA点、B点及びC点での状態
(途中経過)を示している。
【0079】まず、A点に至るまでの経過を順に見てみ
る。圧縮(1)処理では、p=1であるので、図11の
S110にてq=p=1となり、S120では、q=1
>0であるため、S130へ移行する。S130では、
Num(q(=1))=n(=1)に設定する。これ
は、図10のS10にてn=1に設定されているためで
ある。また、S130では、nをインクリメントして、
n=2とする。
【0080】続くS140では、Label(1)の内
容を単語終了を示す「W」と比較するが、Label
(1)の内容は「ほ」であり「W」でないため、S15
0へ移行し、Label(1)自体、すなわち「ほ」を
出力する。続くS160ではq=Bros(q)とする
が、Bros(1)は図7より13であるため、q=1
3としてS120へ戻る。
【0081】このS160の処理後に戻ったS120で
は、当然q=13であり0でないため、S130へ移行
し、Num(q(=13))=n(=2)に設定する。
前回のS130の処理でn=2にインクリメントされて
いたので、Num(13)=2となる。また、nをさら
にインクリメントして、n=3とする。
【0082】続くS140では、Label(13)の
内容を単語終了を示す「W」と比較するが、Label
(13)の内容は「あ」であり「W」でないため、S1
50へ移行し、Label(13)自体、すなわち
「あ」を出力する。続くS160ではq=Bros
(q)とするが、Bros(13)は図7より0である
ため、q=0としてS120へ戻る。
【0083】このS160の処理後に戻ったS120で
は、q=0であるため、S180へ移行し、「\」を出
力する。ここまでの処理によって、「ほ」と「あ」と
「\」が出力され、図14のA点の場合に示すように、
「ほ」に対応するNum(1)=1、「あ」に対応する
Num(13)=2が設定される。また、この状態での
圧縮辞書データは、図15にA点の場合を示したように
「「ほ,あ,\」となる。
【0084】次に、B点に至るまでの経過を順に見てみ
る。上述したS180へ移行して「\」を出力する処理
の後、すなわちS190から説明する。S190では、
図11の最初のステップS110と同様、変数q=pに
設定する。つまり、この場合はまだ圧縮(1)処理の途
中であるので、q=p=1となる。そして、続くS20
0においてqが0でないので、S210へ移行し、La
bel(1)を「W」と比較する。Label(1)は
「ほ」で「W」ではないので、S220へ移行する。
【0085】S220では、Num(Child
(1))が0より大きいかどうかを判断する。Chil
d(1)は図7より「2」であるため、Num(Chi
ld(1))=Num(2)であり、図14のA点での
状態を示す場合から判るようにNum(2)=0であ
る。そのため、S220で否定判断となってS230へ
移行する。S230では、圧縮(Child(1))処
理を行なう。Child(1)=2であるため、このS
230では圧縮(2)処理を、再帰読み出し処理として
行なうこととなる。
【0086】圧縮(2)処理では、p=2であるので、
図11のS110にてq=p=2となり、S120で
は、q=2>0であるため、S130へ移行する。S1
30では、Num(q(=2))=n(=3)に設定す
る。また、S130では、nをさらにインクリメントし
て、n=4とする。
【0087】続くS140では、Label(2)の内
容を単語終了を示す「W」と比較するが、図7から判る
ようにLabel(2)の内容は「ん」であり、「W」
でないため、S150へ移行し、Label(2)の
「ん」を出力する。続くS160ではq=Bros
(q)とするが、Bros(2)は図7より8であるた
め、q=8としてS120へ戻る。
【0088】このS160の処理後に戻ったS120で
は、当然q=8であり0でないため、S130へ移行
し、Num(q(=8))=n(=4)に設定する。前
回のS130の処理でn=4にインクリメントされてい
たので、Num(8)=4となる。また、nをさらにイ
ンクリメントして、n=5とする。
【0089】続くS140では、Label(8)の内
容を単語終了を示す「W」と比較するが、Label
(8)の内容は「み」であり「W」でないため、S15
0へ移行し、Label(8)自体、すなわち「み」を
出力する。続くS160ではq=Bros(q)とする
が、Bros(8)は図7より0であるため、q=0と
してS120へ戻る。
【0090】このS160の処理後に戻ったS120で
は、q=0であるため、S180へ移行し、「\」を出
力する。圧縮(2)処理では、ここまでの処理によって
「ん」と「み」と「\」が出力される。
【0091】その後、上述した圧縮(1)処理中にてS
230の圧縮(2)処理に移行したように、圧縮(2)
処理中におけるS230では、圧縮(Child
(2))処理を行なう。図7から判るようにChild
(2)=3であるため、このS230では圧縮(3)処
理を、再帰読み出し処理として行なうこととなる。
【0092】圧縮(3)処理の詳細は省略するが、上述
した圧縮(2)処理と同様にして、「ま」と「ちょ」と
「\」が出力される。そして、圧縮(3)処理中におけ
るS230では、圧縮(Child(3))処理を行な
う。図7から判るようにChild(3)=4であるた
め、このS230では圧縮(4)処理を、再帰読み出し
処理として行なうこととなる。
【0093】圧縮(4)処理では、図11のS150に
てLabel(4)の「ち」を出力する。続くS160
ではq=Bros(q)とするが、この場合Bros
(4)は図7より0であるため、q=0としてS120
へ戻り、S180へ移行して「\」を出力することとな
る。したがって、「ち」と「\」が出力されただけでS
190へ移行する。そして、S200,S210,S2
20と処理が進み、S230にて、圧縮(Child
(4))処理を行なう。図7から判るようにChild
(4)=5であるため、このS230では圧縮(5)処
理を、再帰読み出し処理として行なうこととなる。
【0094】圧縮(5)処理では、図11のS110に
てq=p=5となり、S130にてNum(5)=n=
8,n=8+1=9と設定する。そして、S140で
は、Label(5)の内容が単語終了を示す「W」で
あるため、S170へ移行する。そして、S170に
て、「W」を出力すると共にChild(q)を出力す
る。この場合、Child(5)=1となるため、この
1も出力する。
【0095】そして、続くS160ではq=Bros
(q)とするが、Bros(5)は図7より0であるた
め、q=0としてS120へ戻り、q=0であるため、
S180へ移行し、「\」を出力する。圧縮(5)処理
では、ここまでの処理によって「W」と「1」と「\」
が出力される。
【0096】S180の処理後に移行するS190で
は、q=p=5であり、S200、S210と移行する
が、S210では、Label(5)が「W」であるの
で、そのままS240へ移行する。そして、S240で
q=Bros(q)とするが、Bros(5)は図7よ
り0であるため、q=0としてS200へ戻り、S20
0にてq=0であるため、圧縮(5)処理を終了する。
【0097】この圧縮(5)処理は、上述した圧縮
(4)処理中のS230で実行される再帰読み出し処理
のため、圧縮(5)処理が終了すると、圧縮(4)処理
中のS240へ移行する。このS240ではq=Bro
s(q)とするが、Bros(4)は図7より0である
ため、q=0としてS200へ戻り、S200にてq=
0であるため、圧縮(4)処理を終了する。
【0098】この圧縮(4)処理は、上述した圧縮
(3)処理中のS230で実行される再帰読み出し処理
のため、圧縮(4)処理が終了すると、圧縮(3)処理
中のS240へ移行する。このS240ではq=Bro
s(q)とするが、Bros(3)は図7より6である
ため、q=6としてS200へ戻る。S200にてq=
6であるためS210へ移行し、Label(6)は
「ちょ」で「W」ではないのでS220へ移行する。
【0099】S220ではNum(Child(6))
が0より大きいかどうかを判断するが、Child
(6)は図7より「7」である。この時点ではNum
(Child(6))=Num(7)は0であるため、
S230へ移行し、圧縮(Child(6))処理、す
なわち圧縮(7)処理を再帰読み出し処理として行な
う。
【0100】圧縮(7)処理では、図11のS130に
てNum(7)=n=9,n=9+1=10と設定す
る。そして、S150にてLabel(7)の「う」を
出力する。続くS160ではq=Bros(q)とする
が、この場合Bros(7)は図7より0であるため、
q=0としてS120へ戻り、S180へ移行して
「\」を出力することとなる。したがって、「う」と
「\」が出力されただけでS190へ移行する。
【0101】そして、S190にてq=7とし、S20
0,S210と処理が進み、続くS220では、Num
(Child(7))が0より大きいかどうかを判断す
る。Child(7)は図7より「5」であるが、Nu
m(5)は圧縮(5)処理のS130にて「8」に設定
されているので、この場合のS220は肯定判断とな
り、S250へ移行する。
【0102】したがって、S250にて「J」を出力す
ると共に、Num(Child(7))=Num(5)
=8を出力してから、S240へ移行する。これが、図
8の圧縮辞書データでいえば「J,8」の部分である。
S240ではq=Bros(q)とするが、Bros
(7)は図7より0であるため、q=0としてS200
へ戻り、S200にてq=0であるため、圧縮(7)処
理を終了する。
【0103】この圧縮(7)処理は、上述した圧縮
(3)処理中のS230で実行される再帰読み出し処理
のため、圧縮(7)処理が終了すると、圧縮(3)処理
中のS240へ移行する。この際、S230での圧縮
(7)が圧縮(Child(6))であることを考える
と、この場合のqは6である。S240ではq=Bro
s(q)とするが、Bros(6)は図7より0である
ため、q=0としてS200へ戻り、S200にてq=
0であるため、本圧縮(3)処理が終了する。
【0104】そして、この圧縮(3)処理は、上述した
圧縮(2)処理中のS230で実行される再帰読み出し
処理のため、圧縮(3)処理が終了すると、圧縮(2)
処理中のS240へ移行する。この際、S230での圧
縮(3)処理が圧縮(Child(2))処理であるこ
とを考えると、S240ではq=Bros(2)とする
が、Bros(2)は図7より8であるため、q=8と
してS200へ戻り、S200にてq=8であるため、
S210へ移行する。S210の処理では、Label
(8)は「み」で「W」ではないのでS220へ移行す
る。
【0105】S220では、Num(ChildN
(8))が0より大きいかどうかを判断する。Chil
d(8)は図7より「9」であるが、Num(9)は0
であるため、S230へ移行し、圧縮(Child
(8))処理を行なう。Child(8)=9であるた
め、このS230では圧縮(9)処理を、再帰読み出し
処理として行なうこととなる。
【0106】圧縮(9)処理では、図11のS110に
てq=p=9となり、S130にてNum(9)=n=
10,n=10+1=11と設定する。そして、S14
0では、Label(9)の内容が単語終了を示す
「W」であるため、S170へ移行する。そして、S1
70にて、「W」を出力すると共にChild(q)を
出力する。この場合、Child(9)=2となるた
め、この2も出力する。
【0107】そして、続くS160ではq=Bros
(q)とするが、Bros(9)は図7より10である
ため、q=10としてS120へ戻る。このS160の
処理後に戻ったS120では、当然q=10であり0で
ないため、S130へ移行し、Num(10))=n=
11、n=11+1=12と設定する。続くS140で
は、Label(10)の内容を単語終了を示す「W」
と比較するが、Label(10)の内容は「み」であ
り「W」でないため、S150へ移行し、Label
(10)自体、すなわち「き」を出力する。
【0108】続くS160ではq=Bros(q)とす
るが、Bros(10)は図7より0であるため、q=
0としてS120へ戻る。このS160の処理後に戻っ
たS120では、q=0であるため、S180へ移行
し、「\」を出力する。
【0109】圧縮(9)処理では、ここまでの処理によ
って「W」と「2」と「き」と「\」が出力される。S
180の処理後に移行するS190では、q=p=9で
あり、S200、S210と移行するが、S210で
は、Label(9)が「W」であるので、そのままS
240へ移行する。そして、S240でq=Bros
(q)とするが、Bros(9)は図7より10である
ため、q=10としてS200へ戻る。続くS210で
は、Label(10)が「き」であり「W」ではない
ので、S220へ移行する。
【0110】S220ではNum(Child(1
0))が0より大きいかどうかを判断するが、Chil
d(10)は図7より「11」である。この時点ではN
um(Child(10))=Num(11)は0であ
るため、S230へ移行し、圧縮(Child(1
0))処理、すなわち圧縮(11)処理を再帰読み出し
処理として行なう。
【0111】圧縮(11)処理では、図11のS110
にてq=p=11となり、S130にてNum(11)
=n=12,n=12+1=13と設定する。そして、
S140では、Label(11)の内容が「た」であ
り「W」ではないので、S150へ移行し、Label
(11)自体、すなわち「た」を出力する。
【0112】続くS160ではq=Bros(q)とす
るが、Bros(11)は図7より12であるため、q
=12としてS120へ戻る。q=12は0でないので
S130へ移行し、S130にてNum(12)=n=
13,n=13+1=14と設定する。
【0113】そして、S140では、Label(1
2)の内容が単語終了を示す「W」であるため、S17
0へ移行する。そして、S170にて、「W」を出力す
ると共にChild(q)を出力する。この場合、Ch
ild(12)=3となるため、この3も出力する。
【0114】そして、続くS160ではq=Bros
(q)とするが、Bros(12)は図7より0である
ため、q=0としてS120へ戻る。このS160の処
理後に戻ったS120では、q=0であるためS180
へ移行する。そして、S180にて「\」を出力する。
したがって、「た」と「\」が出力されただけでS19
0へ移行する。
【0115】S190では再度q=p=11とし、qは
0でないためS210へ移行する。S210では、La
bel(11)が「た」で「W」ではないためS220
へ移行する。S220では、Num(Child(1
1))が0より大きいかどうかを判断する。Child
(11)は図7より「12」であるが、この時点でNu
m(12)はまだ「0」であるので、S230へ移行
し、圧縮(Child(11))処理、すなわち圧縮
(12)処理を再帰読み出し処理として行なう。
【0116】圧縮(12)処理では、図11のS130
にてNum(12)=n=13,n=13+1=14と
設定する。そして、S140では、Label(12)
の内容が単語終了を示す「W」であるため、S170へ
移行する。そして、S170にて、「W」を出力すると
共にChild(q)を出力する。この場合、Chil
d(12)=3となるため、この3も出力する。
【0117】そして、続くS160ではq=Bros
(q)とするが、Bros(12)は図7より0である
ため、q=0としてS120へ戻り、q=0であるた
め、S180へ移行し、「\」を出力する。ここまでの
処理によって「W」と「3」と「\」が出力される。
【0118】そして、S190にてq=p=12とし、
S200、S210と移行するが、S210では、La
bel(12)が「W」であるので、そのままS240
へ移行する。そして、S240でq=Bros(q)と
するが、Bros(12)は図7より0であるため、q
=0としてS200へ戻り、S200にてq=0である
ため、圧縮(12)処理を終了する。
【0119】この圧縮(12)処理は、上述した圧縮
(11)処理中のS230で実行される再帰読み出し処
理のため、圧縮(12)処理が終了すると、圧縮(1
1)処理中のS240へ移行する。このS240ではq
=Bros(q)とするが、Bros(11)は図7よ
り0であるため、q=0としてS200へ戻り、S20
0にてq=0であるため、圧縮(11)処理を終了す
る。
【0120】また、この圧縮(11)処理は、上述した
圧縮(9)処理中のS230で実行される再帰読み出し
処理のため、圧縮(11)処理が終了すると圧縮(9)
処理中のS240へ移行する。この際、S230での圧
縮(11)が圧縮(Child(10))であることを
考えると、S240ではq=Bros(10)とする
が、Bros(10)は図7より0であるため、q=0
としてS200へ戻り、S200にてq=0であるた
め、圧縮(9)処理を終了する。
【0121】この圧縮(9)処理は、上述した圧縮
(2)処理中のS230で実行される再帰読み出し処理
のため、圧縮(9)処理が終了すると、圧縮(2)処理
中のS240へ移行する。この際、S230での圧縮
(9)処理が圧縮(Child(8))であることを考
えると、S240ではq=Bros(8)とするが、B
ros(8)は図7より0であるため、q=0としてS
200へ戻り、S200にてq=0であるため、圧縮
(2)処理を終了する。
【0122】以上説明した圧縮(2)処理までが終了す
ることによって、図7に示す「ほ,ん,ま,ち,W,ち
ょ,う,み,W,き,た,あ」までの番号1〜13の各
ラベルに対するNum(i)が、図14のB点の場合に
示すように、「1,3,5,7,8,6,9,4,1
0,11,12,13,2」と設定される。そして、こ
の順番に各ラベルを並び替えると共に、単語終了を示す
「W」と単語番号、さらには合流を示す「J」とその合
流先のラベル番号を加えると、この時点での圧縮辞書デ
ータは、図15のB点の場合に示すように、「ん,み,
\,ま,ちょ,\,ち,\,W,1,\,う\,J,
8,W,2,き,\,た,\,W,3,\」となる。
【0123】次に、C点に至るまでの経過を順に見てみ
る。上述した圧縮(2)処理が終了した後から説明す
る。この圧縮(2)処理は、上述した圧縮(1)処理中
のS230で実行される再帰読み出し処理のため、圧縮
(2)処理が終了すると、圧縮(1)処理中のS240
へ移行する。このS240ではq=Bros(q)とす
るが、Bros(1)は図7より13であるため、q=
13としてS200へ戻る。S200にてq=13であ
るためS210へ移行し、Label(13)は「あ」
で「W」ではないのでS220へ移行する。
【0124】S220ではNum(Child(1
3))が0より大きいかどうかを判断するが、Chil
d(13)は図7より「14」である。この時点ではN
um(Child(13))=Num(14)は0であ
るため、S230へ移行し、圧縮(Child(1
3))処理、すなわち圧縮(14)処理を再帰読み出し
処理として行なう。
【0125】圧縮(14)処理では、図11のS110
にてq=p=14と設定し、S130にてNum(1
4)=n=14,n=14+1=15と設定する。続く
S140では、Label(14)の内容が「い」であ
り単語終了を示す「W」ではないため、S150にてL
abel(14)の「い」を出力する。続くS160で
はq=Bros(q)とするが、この場合Bros(1
4)は図7より0であるため、q=0としてS120へ
戻り、q=0であるため、S180へ移行し、「\」を
出力する。
【0126】したがって、「い」と「\」が出力された
だけでS190へ移行する。S190では再度q=p=
14とし、qは0でないためS210へ移行する。S2
10では、Label(14)が「い」で「W」ではな
いためS220へ移行する。S220では、Num(C
hild(14))が0より大きいかどうかを判断す
る。Child(14)は図7より「15」であるが、
この時点でNum(15)はまだ「0」であるので、S
230へ移行し、圧縮(Child(14))処理、す
なわち圧縮(15)処理を再帰読み出し処理として行な
う。
【0127】圧縮(15)処理では、図11のS110
にてq=p=15とし、S130にてNum(15)=
n=15,n=15+1=16と設定する。そして、S
140では、Label(15)の内容が「お」であり
単語終了を示す「W」ではないため、S150にてLa
bel(15)の「お」を出力する。続くS160では
q=Bros(q)とするが、この場合Bros(1
5)は図7より0であるため、q=0としてS120へ
戻り、q=0であるため、S180へ移行して、「\」
を出力する。
【0128】したがって、「お」と「\」が出力された
だけでS190へ移行する。S190では再度q=p=
15とし、qは0でないためS210へ移行する。S2
10では、Label(15)が「お」で「W」ではな
いためS220へ移行する。S220では、Num(C
hild(15))が0より大きいかどうかを判断す
る。Child(15)は図7より「16」であるが、
この時点でNum(16)はまだ「0」であるので、S
230へ移行し、圧縮(Child(15))処理、す
なわち圧縮(16)処理を再帰読み出し処理として行な
う。
【0129】圧縮(16)処理では、図11のS110
にてq=p=16とし、S130にてNum(16)=
n=16,n=15+1=17と設定する。そして、S
140では、Label(16)の内容が「い」であり
単語終了を示す「W」ではないため、S150にてLa
bel(16)の「い」を出力する。続くS160では
q=Bros(q)とするが、この場合Bros(1
6)は図7より0であるため、q=0としてS120へ
戻り、q=0であるため、S180へ移行して、「\」
を出力する。したがって、「い」と「\」が出力された
だけでS190へ移行する。
【0130】S190では再度q=p=16とし、qは
0でないためS210へ移行する。S210では、La
bel(16)が「い」で「W」ではないためS220
へ移行する。S220では、Num(Child(1
6))が0より大きいかどうかを判断する。Child
(16)は図7より「17」であるが、この時点でNu
m(17)はまだ「0」であるので、S230へ移行
し、圧縮(Child(16))処理、すなわち圧縮
(17)処理を再帰読み出し処理として行なう。
【0131】圧縮(17)処理では、図11のS110
にてq=p=17とし、S130にてNum(16)=
n=17,n=15+1=18と設定する。そして、S
140では、Label(17)の内容が単語終了を示
す「W」であるため、S170へ移行し、「W」を出力
すると共に、Child(17)=4を出力する。続く
S160ではq=Bros(q)とするが、この場合B
ros(17)は図7より0であるため、q=0として
S120へ戻り、q=0であるため、S180へ移行し
て、「\」を出力する。
【0132】したがって、「W」と「4」と「\」が出
力されてS190へ移行する。S190では再度q=p
=17とし、qは0でないためS210へ移行する。S
210では、Label(17)が「W」であるためS
240へ移行する。S240では、q=Bros(q)
とするが、Bros(17)は図7より0であるため、
q=0としてS200へ戻り、S200にてq=0であ
るため、圧縮(17)処理を終了する。
【0133】この圧縮(17)処理は、上述した圧縮
(16)処理中のS230で実行される再帰読み出し処
理のため、圧縮(17)処理が終了すると、圧縮(1
6)処理中のS240へ移行する。このS240ではq
=Bros(q)とするが、Bros(16)は図7よ
り0であるため、q=0としてS200へ戻り、S20
0にてq=0であるため、圧縮(16)処理を終了す
る。
【0134】また、圧縮(16)処理は、上述した圧縮
(15)処理中のS230で実行される再帰読み出し処
理のため、圧縮(16)処理が終了すると、圧縮(1
5)処理中のS240へ移行する。このS240ではq
=Bros(q)とするが、Bros(15)は図7よ
り0であるため、q=0としてS200へ戻り、S20
0にてq=0であるため、圧縮(15)処理を終了す
る。
【0135】同様に、圧縮(15)処理は、上述した圧
縮(14)処理中のS230で実行される再帰読み出し
処理のため、圧縮(15)処理が終了すると、圧縮(1
4)処理中のS240へ移行する。このS240ではq
=Bros(q)とするが、Bros(14)は図7よ
り0であるため、q=0としてS200へ戻り、S20
0にてq=0であるため、圧縮(14)処理を終了す
る。
【0136】そして、この圧縮(14)処理は、上述し
た圧縮(1)処理中のS230で実行される再帰読み出
し処理のため、圧縮(14)処理が終了すると、圧縮
(1)処理中のS240へ移行する。この際、S230
での圧縮(14)処理が圧縮(Child(13))で
あることを考えると、S240ではq=Bros(1
3)とするが、Bros(13)は図7より0であるた
め、q=0としてS200へ戻り、S200にてq=0
であるため、圧縮(1)処理を終了する。
【0137】以上説明した圧縮(14)処理が終了する
ことによって圧縮(1)処理が全て終了し、図7に示す
「ほ,ん,ま,ち,W,ちょ,う,み,W,き,た,
あ,い,お,い,W」という番号1〜17の各ラベルに
対するNum(i)が、図14のC点の場合に示すよう
に、「1,3,5,7,8,6,9,4,10,11,
12,13,2,14,15,16,17」と設定され
る。そして、この順番に各ラベルを並び替えると共に、
単語終了を示す「W」と単語番号、さらには合流を示す
「J」とその合流先のラベル番号を加えると、最終的な
圧縮辞書データとして、図15のC点の場合に示すよう
に、「ん,み,\,ま,ちょ,\,ち,\,W,1,
\,う\,J,8,W,2,き,\,た,\,W,3,
\い,\,お,\,い,\,W,4,\」となる。
【0138】以上は、グラフ辞書データを圧縮辞書デー
タに変換する際の具体的な処理について説明したが、上
述したように、このように圧縮辞書データに変換された
後、本実施形態の場合にはデータ圧縮を施し、そのデー
タ圧縮された「圧縮辞書データ」を、地図データ及びそ
の他のデータと共にナビゲーションシステム用の地図C
Dに書き込む。そして、この地図CD内のデータが地図
データ入力器6(図1参照)を介して制御回路10に読
み込まれ、上述したように音声認識装置30に転送され
るのである。
【0139】そして、音声認識装置30の対話制御部3
2における辞書制御部32cは、この転送された圧縮辞
書データをデータ展開し、さらに辞書展開してから音声
認識部31の辞書部31bへ書き込む。圧縮時には圧縮
辞書データに対して例えば可変長符号化といった一般的
なデータ圧縮を施すこととしているので、データ展開は
その圧縮方法に対応した伸長方法を採用すればよいの
で、詳しい説明は省略する。
【0140】一方、辞書展開も、圧縮時における第2の
変換処理に対応した展開方法となるのであるが、この辞
書展開方法を説明的に記述すると、「圧縮辞書データ中
の音節及び単語終了を示す識別データが第2の走査順に
したがって並び替えられていると共に、頂点に兄弟が存
在する場合にはその兄弟関係を他と区別するための識別
データが存在することに基づき、その圧縮辞書データ中
の音節及び単語終了を示す識別データに加え、当該音節
及び単語終了を示す識別データ毎に自分の子を識別する
ためのデータを設定して第2のグラフ辞書データに展開
する」方法となる。
【0141】これは、上述した単語辞書データの圧縮方
法での第2の変換処理における変換過程を考慮して、逆
に、圧縮辞書データ中の音節及び単語終了を示す識別デ
ータ毎に、自分の子を識別するためのデータを復活させ
るのである。つまり、圧縮辞書データ中の音節(上述例
では各ラベルが相当する。)及び単語終了を示す識別デ
ータ(上述例では「\」が相当する。)は、第2の走査
順にしたがって並び替えられていると共に、頂点に兄弟
が存在する場合にはその兄弟関係を他と区別するための
識別データが設定されているため、その点を考慮すれ
ば、図5〜図7に示した木構造類似の有向グラフの頂点
の親子関係から自分の子は容易に解析できるのである。
【0142】具体例を参照する方が理解が容易になるの
で、図5〜図7に示すテキスト辞書データが第2の変換
処理によって変換された結果として第2のグラフ辞書デ
ータの具体例を図9に示す。図9からも判るように、
「ほ,あ,う,み,……」という各ラベル(Labe
l)に対して、自分の子(Child)を識別するため
のデータがラベル番号で設定されている。また、兄弟が
存在する場合にはその兄弟関係を他と区別するための識
別データがLastの項目に「1」として設定されてい
る。
【0143】なお、この図9からも判るように、第2の
グラフ辞書データは、上述した圧縮方法での第1の変換
処理によって得たグラフ辞書データ(図7参照)の状態
と必ずしも同じではない。上述の図7のグラフ辞書デー
タでは、各ラベル毎に自分の子及び兄弟を識別するため
のデータを持たせていたが、本展開処理において得た図
9の第2のグラフ辞書データでは、自分の兄弟を識別す
るためのデータを各ラベル毎に持たせなくてはならない
ことはない。
【0144】いずれにしても、各ラベルのデータに加え
て、当該データ毎に自分の子を識別するためのデータ
と、兄弟関係を他と区別するための識別データを最低限
持つことができるため、この第2の辞書データは単語辞
書として十分用いることができる。
【0145】続いて、図8に示す圧縮辞書データを図9
に示す第2のグラフ辞書データに展開する際の具体的な
処理について説明する。図16に示すように、処理が開
始すると、最初のステップS1010において変数nを
初期値1に設定し、続くS1020では展開処理を実行
する。
【0146】この展開処理の詳細を図17,18を参照
して説明する。図17の最初のステップS1110では
変数t=nに設定する。つまり、最初は初期値n=1と
なる。そして、続くS1120においてx=次の入力デ
ータとし、S1130ではそれが「J」であるかどうか
を判断する。
【0147】S1130にて入力データxが「J」であ
ると判断された場合には、S1180へ移行し、x=次
の入力データとしてから、S1190にて、そのxを戻
り値として本処理をリターンする。一方、入力データx
が「J」でなければS1140に移行し、S1140に
て「\」であるかどうかを判断する。入力データxが
「\」であると判断された場合には、S1210へ移行
し、Last(n−1)を1に設定してから、図180
のS1220へ移行する。なお、S1220以降の処理
は後述する。
【0148】入力データxが「\」でないと判断された
場合には、S1150へ移行し、「W」であるかどうか
を判断する。入力データxが「W」であると判断された
場合には、S1200へ移行し、Label(n)を
「W」に設定し、さらにChild(n)を次の入力デ
ータに設定してから、S1170へ移行する。
【0149】一方、入力データxが「W」でないと判断
された場合には、S1160へ移行し、Label
(n)=x、すなわちS1120にてxとして設定した
次の入力データとし、さらにChild(n)=0とし
てから、S1170へ移行する。S1170では、La
st(n)を0に設定し、さらにnをインクリメント
(n=n+1)してから、S1120へ戻る。
【0150】続いて図18のS1220以降の処理を説
明する。S1220では変数k=tとし、続くS123
0ではChild(k)を0と比較する。Child
(k)が0でなければそのままS1250へ移行する
が、Child(k)=0であればS1240の処理を
実行してからS1250へ移行する。なお、S1240
の処理は、図17,図18の展開処理を再帰読み出し処
理として実行すると共に、その処理がリターンされた場
合の戻り値をChild(k)にセットする処理であ
る。
【0151】S1250では、Last(k)を1と比
較し、Last((k)が1でなければS1260にて
kをインクリメント(k=k+1)としてS1230へ
戻るが、Last(k)=1であれば、S1240にて
tを戻り値として本処理をリターンする。
【0152】以上が展開処理を示すフローチャートの説
明であるが、より理解を容易にするために、図8に示す
圧縮辞書データを図9に示す第2のグラフ辞書データに
展開する際の途中経過を示しながら、さらに説明する。
図19は、図16のS1020での展開処理の内容を概
念的に示したものである。つまり、展開処理は、処理が
実行されていく途中で、図18のS1240に示す展開
処理が再帰読み出し処理として実行される。
【0153】図19におけるA点はS1240での再帰
読み出しによる展開処理が実行される前の時点を示し、
同じくB点はS1240での再帰読み出しによる展開処
理がS1270においてリターンした時点を示し、C点
は展開処理が最後まで終了した時点を示す。図20はA
点での状態(途中経過)、図21はB点での状態、図2
2はC点での状態を示している。
【0154】また、図23には、上述のA点、B点、C
点における未入力データを示す。まず、A点に至るまで
の経過を順に見てみる。図17のS1110ではt=n
=1とし、S1120にて、xとして最初の入力データ
「ほ」をセットする。「J」でも、「\」でも、「W」
でもないため、S1160にてLabel(1)=
「ほ」とし、さらにChild(1)=0とする。さら
に、S1170にてLast(1)を0とする。
【0155】このS1170にてn=1+1=2とされ
るので、S1120へ戻ってxにセットされる2番目の
入力データ「あ」については、S1160にてLabe
l(2)=「あ」とし、さらにChild(2)=0と
する。さらに、S1170にてLast(2)を0とす
る。
【0156】そして、このS1170にてにn=2+1
=3とされるので、S1120へ戻ってxにセットされ
る3番目の入力データ「\」については、S1140の
判断にてS1210に移行する。そして、S1210に
てLast(n−1)=1、つまりn=3であるので、
Last(2)を1とする。
【0157】ここまでの処理によって、図20に示すよ
うに、ラベル「ほ」についてはLastが「0」でCh
ildも「0」、ラベル「あ」についてはLastが
「1」でChildが「0」となる。次に、B点に至る
までの経過を順に見てみる。
【0158】上述したS1210の処理後は、図18の
S1220に移行する。S1220では変数k=t=1
とし、続くS1230ではChild(1)を0と比較
する。この時点では図20に示すように、Child
(1)=0であるため、S1240へ移行して、図1
7,図18の展開処理を再帰読み出し処理として実行す
る。
【0159】再帰読み出し処理としての図17の最初の
ステップS1110では、t=n=3とする。これは、
上述の展開処理中に実行した2回目のS1170におい
てn=3とインクリメントしたからである。S1120
では、xとして次の入力データをセットする。これは、
図23におけるA点での未入力データの最初のデータで
あり、図8の圧縮グラフ辞書データでいえば4番目のデ
ータにあたる「ん」をセットする。
【0160】この「ん」は、「J」でも、「\」でも、
「W」でもないため、S1160にてLabel(3)
=「ほ」とし、さらにChild(3)=0とする。さ
らに、S1170にてLast(3)を0とする。この
S1170にてにn=3+1=4とされるので、S11
20へ戻ってxにセットされる次の入力データ「み」に
ついては、S1160にてLabel(4)=「み」と
し、さらにChild(4)=0とする。さらに、S1
170にてLast(4)を0とする。このS1170
にてn=4+1=5とされる。
【0161】S1170後にはS1120へ戻り、次の
入力データ「\」をxにセットする。この入力データ
「\」については、S1140の判断にてS1210に
移行する。そして、S1210にてLast(n−1)
=1、つまりn=5であるので、Last(4)を1と
する。
【0162】ここまでの処理によって、3番目のラベル
「ん」についてはLastが「0」でChildも
「0」、4番目のラベル「み」についてはLastが
「1」でChildが「0」となる。続くS1220で
は変数k=t=3とし、S1230ではChild
(3)を0と比較する。この時点では、Child
(3)=0であるため、S1240へ移行して、図1
7,図18の展開処理を再帰読み出し処理として実行す
る。
【0163】再帰読み出し処理としての図17の最初の
ステップS1110では、t=n=5とする。上述した
「ん,み,\」の3つの入力データに対する処理と同様
に、それに続く「ま,ちょ,\」の3つの入力データに
対する再帰読み出しによる展開処理がなされることによ
って、5番目のラベル「ま」についてはLastが
「0」でChildも「0」、6番目のラベル「ちょ」
についてはLastが「1」でChildが「0」とな
る。
【0164】続くS1220では変数k=t=5とし、
S1230ではChild(5)を0と比較する。この
時点では、Child(5)=0であるため、S124
0へ移行して、図17,図18の展開処理を再帰読み出
し処理として実行する。再帰読み出し処理としての図1
7の最初のステップS1110では、t=n=7とす
る。上述した処理と同様に、「ま,ちょ,\」に続く
「ち,\」の2つの入力データに対する再帰読み出しに
よる展開処理では、7番目のラベル「ち」についてはL
astが「1」でChildが「0」となる。
【0165】そして、上記同様にS1210後に移行す
るS1220では変数k=t=7とし、S1230では
Child(7)を0と比較する。この時点では、Ch
ild(7)=0であるため、S1240へ移行して、
図17,図18の展開処理を再帰読み出し処理として実
行する。
【0166】再帰読み出し処理としての図17の最初の
ステップS1110では、t=n=8とする。上述した
処理と同様に、「ち,\」に続く「W,1,\」の3つ
の入力データに対する再帰読み出しによる展開処理で
は、図17の最初のステップS1110では、t=n=
8とする。そして入力データが「W」の場合にS115
0の判断処理にてS1200へ移行するため、S120
0において、Label(8)=「W」とし、さらにC
hild(8)として次の入力データである「1」をセ
ットする。そして、さらに次の入力データが「\」であ
るため、S1210にてLast(8)=1となる。し
たがって、8番目のラベル「W」についてはLastが
「1」でChildも「1」となる。
【0167】この場合、S1210後に移行するS12
20ではk=t=8となり、S1230では、Chil
d(k)=Child(8)=1であり、0でないため
S1250へ移行する。そして、Last(8)=1で
あるため、S1270へ移行し、t(=8)を戻り値と
してリターンする。
【0168】この入力データ「W,1,\」に対する再
帰読み出しによる展開処理は、図17の最初のステップ
S1110でt=n=7とした、入力データ「ち,\」
に対する展開処理中におけるS1240での再帰読み出
し処理であるため、t=8を戻り値としてリターンされ
た場合には、S1240にてChild(k)=8とな
る。つまり、S1220にてk=t=7とした処理中で
あるため、結果的にChild(7)=8となる。
【0169】そして、続くS1250では、Last
(k)=Last(7)=1であるため、S1270へ
移行し、t(=7)を戻り値としてリターンする。この
入力データ「ち,\」に対する再帰読み出しによる展開
処理は、図17の最初のステップS1110でt=n=
5とした、入力データ「ま,ちょ,\」に対する展開処
理中におけるS1240での再帰読み出し処理であるた
め、t=7を戻り値としてリターンされた場合には、S
1240にてChild(k)=7となる。つまり、S
1220にてk=t=5となり、結果的にChild
(5)=7となる。
【0170】そして、続くS1250では、Last
(k)=Last(5)=0であるため、S1260へ
移行し、k=k+1=6とインクリメントしてS123
0へ戻る。続くS1230では、Child(k)=C
hild(6)=0であるため、S1240へ移行し、
図17,図18の展開処理を再帰読み出し処理として実
行する。
【0171】再帰読み出しによる展開処理としての図1
7の最初のステップS1110では、t=n=9とす
る。この場合のS1120でのx=次の入力データは上
述した「W,1」に続く「う」であり、さらに次の入力
データが「\」であるため、「う」についてはLast
が「1」でChildが「0」となる。この場合はS1
170ではn=10にインクリメントされており、S1
210後に移行するS1220ではk=t=9として、
S1230以降の処理を行なう。
【0172】そして、S1230ではChild(9)
=0であるためS1240へ移行する。S1240で
は、上記「う,\」に続く「J,8」の2つの入力デー
タに対する再帰読み出しによる展開処理を実行する。再
帰読み出しによる展開処理としての図17の最初のステ
ップS1110では、t=n=10とする。そして入力
データが「J」であり、S1130の判断処理にてS1
180へ移行するため、S1180において、x=次の
入力データ=「8」とする。そして、S1190におい
てx=8を戻り値としてリターンする。
【0173】この入力データ「J,8」に対する再帰読
み出しによる展開処理は、入力データ「う,\」に対す
る展開処理中におけるS1240での再帰読み出し処理
であるため、x=8を戻り値としてリターンされた場合
には、S1240にてChild(k)=8となる。こ
の「う,\」に対する展開処理はS1220にてk=t
=9とされた状態であるので、結果的にChild
(9)=8となる。
【0174】そして、続くS1250では、Last
(k)=Last(9)=1であるため、S1270へ
移行し、t=9を戻り値としてリターンする。この入力
データ「う,\」に対する再帰読み出しによる展開処理
は、k=t=5とした入力データ「ま,ちょ,\」に対
する展開処理中において、S1260にてk=k+1=
6とインクリメントした後にS1230へ戻り、S12
30にてChild(6)=0であるため、移行したS
1240での処理である。そのため、t=9を戻り値と
してリターンされたこの場合には、S1240にてCh
ild(6)=9となる。
【0175】そして、続くS1250では、Last
(k)=Last(6)=1であるため、S1270へ
移行し、t(=5)を戻り値としてリターンする。この
入力データ「ま,ちょ,\」に対する再帰読み出しによ
る展開処理は、図17の最初のステップS1110でt
=n=3とし、S1220ではk=t=3とした入力デ
ータ「ん,み,\」に対する展開処理中におけるS12
40での再帰読み出し処理であるため、t=7を戻り値
としてリターンされた場合には、S1240にてChi
ld(3)=5となる。
【0176】そして、続くS1250では、Last
(k)=Last(3)=0であるため、S1260へ
移行し、kをインクリメントする。つまり、k=3+1
=4となる。そして、S1260後に移行するS123
0ではChild(3)を0と比較する。この時点で
は、Child(3)=0であるため、S1240へ移
行して、図17,図18の展開処理を再帰読み出し処理
として実行する。
【0177】再帰読み出しによる展開処理としての図1
7の最初のステップS1110では、t=n=10とす
る。この場合のS1120でのx=次の入力データは上
述した「J,8」に続く「W」である。つまり、S12
00にて、Label(10)=「W」とし、さらにC
hild(10)として次の入力データである「2」を
セットする。また、S1170ではLast(10)=
0とし、n=10+1=11にインクリメントする。
【0178】そして、S1120では、さらに続く入力
データが「き」であるため、S1160にてLabel
(11)=「き」、Child(11)=0となり、さ
らにS1170では、Last(11)=0とすると共
に、n=11+1=12にインクリメントする。
【0179】その後の入力データが「\」であるため、
S1210にてLast(11)=1となり、S122
0へ移行する。したがって、10番目のラベル「W」に
ついてはLastが「0」でChildが「2」とな
り、11番目のラベル「き」についてはLastが
「1」でChildが「0」となる。
【0180】S1220では、k=t=10として、S
1230以降の処理を行なう。そして、S1230では
Child(10)=2であるためS1250へ移行す
る。S1250では、Last(k)=Last(1
0)=0であるため、S1260へ移行し、k=k+1
=11とインクリメントしてS1230へ戻る。続くS
1230では、Child(k)=Child(11)
=0であるため、S1240へ移行し、図17,図18
の展開処理を再帰読み出し処理として実行する。
【0181】再帰読み出しによる展開処理としての図1
7の最初のステップS1110では、t=n=12とす
る。この場合のS1120でのx=次の入力データは上
述した「き,\」に続く「た」である。つまり、S11
60にて、Label(12)=「た」とし、さらにC
hild(12)=0をセットする。また、S1170
ではLast(12)=0とし、n=12+1=13に
インクリメントする。
【0182】そして、S1120では、さらに続く入力
データが「\」であるため、S1210にてLast
(12)=1となり、S1220へ移行する。したがっ
て、12番目のラベル「た」についてはLastが
「1」でChildが「0」となる。
【0183】S1220では、k=t=12として、S
1230以降の処理を行なう。そして、S1230では
Child(12)=0であるため、S1240へ移行
し、図17,図18の展開処理を再帰読み出し処理とし
て実行する。再帰読み出しによる展開処理としての図1
7の最初のステップS1110では、t=n=13とす
る。この場合のS1120でのx=次の入力データは上
述した「た,\」に続く「W」である。つまり、S12
00にて、Label(13)=「W」とし、さらにC
hild(13)=次の入力データ=3をセットする。
また、S1170ではLast(13)=0とし、n=
13+1=14にインクリメントする。
【0184】そして、S1120では、さらに続く入力
データが「\」であるため、S1210にてLast
(13)=1となり、S1220へ移行する。したがっ
て、13番目のラベル「W」についてはLastが
「1」でChildが「3」となる。
【0185】S1220では、k=t=13として、S
1230以降の処理を行なう。そして、S1230では
Child(13)=3であるためS1250へ移行す
る。S1250では、Last(k)=Last(1
3)=1であるため、S1270へ移行し、t=13を
戻り値としてリターンする。
【0186】この入力データ「W,3,\」に対する再
帰読み出しによる展開処理は、図17の最初のステップ
S1110でt=n=12とし、S1220にてk=t
=12とした入力データ「た,\」に対する展開処理中
におけるS1240での再帰読み出し処理であるため、
t=13を戻り値としてリターンされた場合には、S1
240にてChild(12)=13となる。
【0187】そして、続くS1250では、Last
(k)=Last(12)=1であるため、S1270
へ移行し、t=12を戻り値としてリターンする。この
入力データ「た,\」に対する再帰読み出しによる展開
処理は、図18のステップS1220でk=t=10と
し、S1260にてk=k+1=11とインクリメント
した後にS1230へ戻り、S1230にてChild
(11)=0であるため、移行したS1240での再帰
読み出し処理であるため、t=12を戻り値としてリタ
ーンされた場合には、S1240にてChild(1
1)=12となる。
【0188】そして、続くS1250では、Last
(k)=Last(11)=1であるため、S1270
へ移行する。この場合はS1220でk=t=10とし
た場合の処理であるため、t=10を戻り値としてリタ
ーンする。そして、この処理は、図17の最初のステッ
プS1110でt=n=3とし、S1220ではk=t
=3とした入力データ「ん,み,\」に対する展開処理
中において、さらにS1260にてk=3+1=4とイ
ンクリメンしてS1230へ戻り、S1230にてCh
ild(4)=0であるために実行したS1240での
再帰読み出し処理であるため、t=10を戻り値として
リターンされた場合には、S1240にてChild
(4)=10となる。
【0189】そして、続くS1250では、Last
(k)=Last(4)=1であるため、S1270へ
移行する。この場合はS1220でk=t=3とした場
合の処理であるため、t=3を戻り値としてリターンす
る。ここでの再帰読み出しによる展開処理は、図17の
最初のステップS1110でt=n=1とし、S122
0ではk=t=1とした入力データ「ほ,あ,\」に対
する展開処理を実行している途中での処理であるため、
t=3を戻り値としてリターンされた場合には、S12
40にてChild(1)=3となる。
【0190】ここまでの一連の処理によって、図21に
示すように、ラベル番号1の「ほ」〜ラベル番号13の
「W」のそれぞれについて、Lastの値が「0」か
「1」のいずれかに設定され、Childについても、
ラベル番号2の「あ」以外については「0」以外の値が
設定されている。つまり、自分にとっての子となる関係
のラベルの番号が付与されることとなる。
【0191】次に、C点に至るまでの経過を順に見てみ
る。上述したS1240の処理後は、S1250へ移行
する。S1250ではLast(k)=Last(1)
=0であるため、S1260へ移行し、kをインクリメ
ントする。つまり、k=1+1=2となる。そして、S
1260後に移行するS1230ではChild(k)
=Child(2)=0であるため、S1240へ移行
し、図17,図18の展開処理を再帰読み出し処理とし
て実行する。
【0192】この場合の再帰読み出しによる展開処理と
しての図17の最初のステップS1110では、t=n
=14とする。この場合のS1120でのx=次の入力
データは上述した「W,2,\」に続く「い」である。
つまり、S1160にて、Label(12)=「い」
とし、さらにChild(14)=0をセットする。ま
た、S1170ではLast(14)=0とし、n=1
4+1=15にインクリメントする。
【0193】そして、S1120では、さらに続く入力
データが「\」であるため、S1210にてLast
(14)=1となり、S1220へ移行する。したがっ
て、14番目のラベル「い」についてはLastが
「1」でChildが「0」となる。
【0194】S1220では、k=t=14として、S
1230以降の処理を行なう。そして、S1230では
Child(14)=0であるため、S1240へ移行
し、図17,図18の展開処理を再帰読み出し処理とし
て実行する。この場合の再帰読み出しによる展開処理と
しての図17の最初のステップS1110では、t=n
=15とする。この場合のS1120でのx=次の入力
データは上述した「い,\」に続く「お」である。つま
り、S1160にて、Label(15)=「お」と
し、さらにChild(15)=0をセットする。ま
た、S1170ではLast(15)=0とし、n=1
5+1=16にインクリメントする。そして、S112
0では、さらに続く入力データが「\」であるため、S
1210にてLast(15)=1となり、S1220
へ移行する。
【0195】したがって、15番目のラベル「お」につ
いてはLastが「1」でChildが「0」となる。
S1220では、k=t=15として、S1230以降
の処理を行なう。そして、S1230ではChild
(15)=0であるため、S1240へ移行し、図1
7,図18の展開処理を再帰読み出し処理として実行す
る。
【0196】この場合の再帰読み出しによる展開処理と
しての図17の最初のステップS1110では、t=n
=16とする。この場合のS1120でのx=次の入力
データは上述した「お,\」に続く「い」である。つま
り、S1160にて、Label(16)=「い」と
し、さらにChild(16)=0をセットする。ま
た、S1170ではLast(16)=0とし、n=1
6+1=17にインクリメントする。そして、S112
0では、さらに続く入力データが「\」であるため、S
1210にてLast(16)=1となり、S1220
へ移行する。
【0197】したがって、16番目のラベル「い」につ
いてはLastが「1」でChildが「0」となる。
S1220では、k=t=16として、S1230以降
の処理を行なう。そして、S1230ではChild
(16)=0であるため、S1240へ移行し、図1
7,図18の展開処理を再帰読み出し処理として実行す
る。
【0198】この場合の再帰読み出しによる展開処理と
しての図17の最初のステップS1110では、t=n
=17とする。この場合のS1120でのx=次の入力
データは上述した「い,\」に続く「W」である。つま
り、S1150の判断処理からS1200へ移行し、S
1200にて、Label(17)=「W」とし、さら
にChild(17)=次の入力データ=4をセットす
る。また、S1170ではLast(17)=0とし、
n=17+1=18にインクリメントする。
【0199】そして、S1120では、さらに続く入力
データが「\」であるため、S1210にてLast
(17)=1となり、S1220へ移行する。したがっ
て、17番目のラベル「W」についてはLastが
「1」でChildが「4」となる。
【0200】S1220では、k=t=17として、S
1230以降の処理を行なう。そして、S1230では
Child(17)=4であるためS1250へ移行す
る。S1250では、Last(k)=Last(1
7)=1であるため、S1270へ移行し、t=17を
戻り値としてリターンする。
【0201】この入力データ「W,4,\」に対する再
帰読み出しによる展開処理は、図17の最初のステップ
S1110でt=n=16とし、S1220にてk=t
=16とした入力データ「い,\」に対する展開処理中
におけるS1240での再帰読み出し処理であるため、
t=16を戻り値としてリターンされた場合には、S1
240にてChild(16)=17となる。
【0202】そして、続くS1250では、Last
(k)=Last(16)=1であるため、S1270
へ移行し、t=16を戻り値としてリターンする。この
入力データ「い,\」に対する再帰読み出しによる展開
処理は、図17の最初のステップS1110でt=n=
15とし、S1220にてk=t=15とした入力デー
タ「お,\」に対する展開処理中におけるS1240で
の再帰読み出し処理であるため、t=16を戻り値とし
てリターンされた場合には、S1240にてChild
(15)=16となる。
【0203】そして、続くS1250では、Last
(k)=Last(15)=1であるため、S1270
へ移行し、t=15を戻り値としてリターンする。この
入力データ「お,\」に対する再帰読み出しによる展開
処理は、図17の最初のステップS1110でt=n=
14とし、S1220にてk=t=14とした入力デー
タ「い,\」に対する展開処理中におけるS1240で
の再帰読み出し処理であるため、t=15を戻り値とし
てリターンされた場合には、S1240にてChild
(14)=15となる。
【0204】そして、この処理は、図17の最初のステ
ップS1110でt=n=1とし、S1220ではk=
t=1とした入力データ「ん,み,\」に対する展開処
理中において、さらにS1260にてk=1+1=2と
インクリメンしてS1230へ戻り、S1230にてC
hild(2)=0であるために実行したS1240で
の再帰読み出し処理であるため、t=14を戻り値とし
てリターンされた場合には、S1240にてChild
(2)=14となる。
【0205】そして、続くS1250では、Last
(k)=Last(2)=1であるため、S1270へ
移行して、本処理をリターンする。ここまでの一連の処
理によって、図22に示すように、ラベル番号1の
「ほ」〜ラベル番号17の「W」のそれぞれについて、
Lastの値が「0」か「1」のいずれかに設定され
る。また、Childについても、上述したB点での状
態を示す図21ではラベル番号2の「あ」が「0」であ
ったが、それにも値「14」が設定されている。もちろ
ん、新規に作成したラベル番号14の「い」〜ラベル番
号17の「W」のそれぞれについてのChildも設定
されている。
【0206】以上説明した単語辞書データの圧縮方法や
展開方法を実行するプログラムは、例えば圧縮する際に
使用するワークステーションや、展開する際に使用する
音声認識装置30側の対話制御部32(図1,2参照)
などのコンピュータシステム側で起動するプログラムと
して備えられる。このようなプログラムの場合、例えば
フロッピーディスク、光磁気ディスクやCD−ROM、
ハードディスク等の機械読取り可能な記録媒体に記憶
し、必要に応じてコンピュータシステムにロードして起
動することにより用いることができる。この他、ROM
やバックアップRAMを機械読み取り可能な記録媒体と
してプログラムを記憶しておき、このROMあるいはバ
ックアップRAMをコンピュータシステムに組み込んで
用いてもよい。
【0207】本カーナビゲーションシステム2の場合に
は、音声認識装置30にて認識されたナビゲート処理関
連の指示データが制御回路10に送られ、その指示デー
タに基づくナビゲーション処理を行なうこととなる。ナ
ビゲーションという性質を考えれば、この指示データの
中心を成すのが地名データである。そして、この地名デ
ータは、上述したように音節データの等しい単語が複数
存在する可能性が高いという固有の性質に加え、ナビゲ
ーション装置側の地図データの一部という性質から新規
追加あるいは更新される状況も多く想定される。つま
り、地図データ入力器6を介して更新データの入力が可
能である。
【0208】そして、その地図データの新規追加あるい
は更新に対応しようとすると、音声認識装置30に対し
て外部から地名データに対応する単語辞書データを供給
する必要がある。地名の新規追加あるいは更新は、基本
的にテキスト形式のデータとして実現されることが考え
られるが、それらを上述のグラフ形式の単語辞書データ
とするには大量のメモリとなり高性能なCPUが必要と
される。従って、音声認識装置30側にそれらを備える
ことは実用的ではなく、外部でそれらの新規追加あるい
は更新に対応して作成されたグラフ形式の単語辞書デー
タを供給する必要が出て来る。但し、グラフ形式の辞書
データであってもデータサイズはかなり大きいため、制
御回路10から音声認識装置30へ単語辞書データを転
送することを考えると、大規模な単語辞書データをその
ままの状態で転送することは通信時間が長くなり、やは
り実用的ではない。そのため、圧縮辞書データの状態に
した上で、音声認識装置30側に転送することで、上記
通信時間を短縮することができる。
【0209】以上、本発明はこのような実施例に何等限
定されるものではなく、本発明の主旨を逸脱しない範囲
において種々なる形態で実施し得る。例えば、上述した
図10〜図12で示した圧縮処理や、図16〜図18で
示した展開処理は、本発明の単語辞書データの圧縮方法
や展開方法を実現する場合の一例であり、この処理内容
自体には限定されない。つまり、図10〜図12で示し
た圧縮処理は、「木構造を基本とするが頂点へ到達する
通路の個数は必ずしも1ではない木構造類似の有向グラ
フ形式に対応するよう、音節データ及び単語終了を示す
識別データを第1の走査順にしたがって各頂点に割り付
けると共に、各頂点毎に自分の子及び兄弟識別用のデー
タを持たせたグラフ辞書データに変換する」処理を具体
的に示した一例である。同様に、図16〜図18で示し
た展開処理は、「圧縮辞書データ中の音節及び単語終了
を示す識別データが第2の走査順にしたがって並び替え
られていると共に、頂点に兄弟が存在する場合にはその
兄弟関係を他と区別するための識別データが存在するこ
とに基づき、その圧縮辞書データ中の音節及び単語終了
を示す識別データに加え、当該音節及び単語終了を示す
識別データ毎に自分の子を識別するためのデータを設定
して第2のグラフ辞書データに展開する」処理を具体的
に示した一例である。また、上記実施形態では、ナビゲ
ーション装置の制御回路10が音声認識装置30側への
転送するための単語辞書データを圧縮辞書データの状態
でナビ用CDに書き込むようにしている(図3参照)。
そして、この圧縮辞書データへの変換は例えばワークス
テーションなどで実行するようにしている。これは、グ
ラフ形式の単語辞書データとするには大量のメモリとか
なり高性能なCPUが必要とされるため、ワークステー
ションなどで実行することが現実的であることに基づい
ている。但し、ナビゲーション装置の制御回路10自身
がその圧縮辞書データへの変換処理を実行しても構わな
い。
【0210】また、本発明の圧縮処理は、上述した「…
…音節データ及び単語終了を示す識別データを第1の走
査順にしたがって各頂点に割り付けると共に……」に示
すように、「第1の走査順」にしたがうこととしてお
り、上記実施形態では、この第1の走査順として先行順
走査(preorder traversal)を採用した。もちろん、他
の走査として「inorder traversal」や「postorder tra
versal」があるが、これらの走査であっても実現は可能
である。
【0211】なお、上記実施形態では、カーナビゲーシ
ョンシステムに適用した例として説明したが、音声認識
機能を用いて利用者の指示を入力するようなシステムと
してはそれ以外にも種々考えられ、それらのシステムに
ついても同様に実現可能である。但し、カーナビゲーシ
ョンシステムの場合には車載機器用として用いるという
限定と、目的地などを地名で入力する必要があるという
点で、本発明の単語辞書データの圧縮方法や展開方法を
適用する際のメリットが非常に大きいと考えられる。
【図面の簡単な説明】
【図1】本発明の実施形態としてのカーナビゲーション
システムの概略構成を示すブロック図である。
【図2】実施形態の音声認識装置における音声認識部と
対話制御部の構成を示すブロック図である。
【図3】圧縮辞書データを生成する際の手順を示す説明
図である。
【図4】テキスト辞書データの具体例を示す説明図であ
る。
【図5】グラフ辞書データの具体例を示す説明図であ
る。
【図6】グラフ辞書データの具体例をポインタ表現で示
す説明図である。
【図7】グラフ辞書データの具体例を配列表現で示す説
明図である。
【図8】圧縮辞書データの具体例を示す説明図である。
【図9】第2のグラフ辞書データの具体例を示す説明図
である。
【図10】圧縮処理を示すフローチャートである。
【図11】圧縮処理を示すフローチャートである。
【図12】圧縮処理を示すフローチャートである。
【図13】図10のS30での圧縮(1)処理の内容を
概念的に示す説明図である。
【図14】グラフ辞書データが圧縮辞書データに変換さ
れる場合の途中経過を示す説明図である。
【図15】グラフ辞書データが圧縮辞書データに変換さ
れる場合の途中経過を示す説明図である。
【図16】展開処理を示すフローチャートである。
【図17】展開処理を示すフローチャートである。
【図18】展開処理を示すフローチャートである。
【図19】展開処理の内容を概念的に示す説明図であ
る。
【図20】圧縮辞書データが第2のグラフ辞書データに
展開される場合の途中経過であって、図19におけるA
点での状態を示す説明図である。
【図21】圧縮辞書データが第2のグラフ辞書データに
展開される場合の途中経過であって、図19におけるB
点での状態を示す説明図である。
【図22】圧縮辞書データが第2のグラフ辞書データに
展開される場合の途中経過であって、図19におけるC
点での状態を示す説明図である。
【図23】圧縮辞書データが第2のグラフ辞書データに
展開される場合の図19におけるA,B,C点での未入
力データを示す説明図である。
【符号の説明】
2…カーナビゲーションシステム 4…位置検出器 6…地図データ入力器 8…操作スイッチ
群 10…制御回路 12…外部メモリ 14…表示装置 15…リモコンセ
ンサ 15a…リモコン 16…地磁気セ
ンサ 18…ジャイロスコープ 20…距離センサ 22…GPS受信機 30…音声認識装
置 31…音声認識部 31a…照合部 31b…辞書部 32…対話制御
部 32a…後処理部 32b…通信制御
部 32c…辞書制御部 33…音声合成
部 34…音声入力部 35…マイク 36…PTTスイッチ 37…スピーカ

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 単語を構成する音節データの等しい単語
    が複数存在するような単語群をテキスト形式で作成した
    単語辞書データを圧縮する方法であって、 前記テキスト形式の単語辞書データを、木構造を基本と
    するが頂点へ到達する通路の個数は必ずしも1ではない
    木構造類似の有向グラフ形式に対応するよう、前記音節
    データ及び単語終了を示す識別データを第1の走査順に
    したがって各頂点に割り付けると共に、各頂点毎に自分
    の子及び兄弟識別用のデータを持たせたグラフ辞書デー
    タに変換する第1の変換処理と、 前記第1の変換処理によって得た前記グラフ辞書データ
    に対し、前記木構造類似の有向グラフの頂点に割り付け
    られた音節及び単語終了を示す識別データを、前記第1
    の走査順に基本的には従いながら前記頂点に兄弟が存在
    する場合には当該兄弟についても走査していく第2の走
    査順に従って並びかえると共に、自己の兄弟関係を他と
    区別するための識別データとを持たせた圧縮辞書データ
    に変換する第2の変換処理と、 を行なうことによって、前記単語辞書データを実質的に
    圧縮することを特徴とする単語辞書データの圧縮方法。
  2. 【請求項2】 前記第1の走査順は先行順走査であるこ
    とを特徴とする請求項1に記載の単語辞書データの圧縮
    方法。
  3. 【請求項3】 前記第2の変換処理において用いられる
    自己の兄弟関係を他と区別するための識別データとし
    て、所定の音節が末弟であることを示すデータを用いた
    ことを特徴とする請求項1又は2に記載の単語辞書デー
    タの圧縮方法。
  4. 【請求項4】 前記第2の変換処理において用いられる
    自己の兄弟関係を他と区別するための識別データとし
    て、兄弟数を示すデータを用いたことを特徴とする請求
    項1又は2に記載の単語辞書データの圧縮方法。
  5. 【請求項5】 前記第2の変換処理によって前記圧縮辞
    書データに変換された単語辞書データを、さらに所定の
    データ圧縮方法を用いて圧縮することを特徴とする請求
    項1乃至4のいずれかに記載の単語辞書データの圧縮方
    法。
  6. 【請求項6】 前記請求項1乃至5のいずれかに記載の
    単語辞書データの圧縮方法が、コンピュータシステムに
    よって実行するプログラムとして記録されたことを特徴
    とする機械読み取り可能な記録媒体。
  7. 【請求項7】 前記請求項1乃至4のいずれかに記載の
    単語辞書データの圧縮方法によって圧縮された前記圧縮
    辞書データを展開する方法であって、 前記圧縮辞書データ中の前記音節及び単語終了を示す識
    別データが前記第2の走査順にしたがって並び替えられ
    ていると共に、前記頂点に兄弟が存在する場合にはその
    兄弟関係を他と区別するための識別データが存在するこ
    とに基づき、その圧縮辞書データ中の音節及び単語終了
    を示す識別データに加え、当該音節及び単語終了を示す
    識別データ毎に自分の子を識別するためのデータを設定
    して第2のグラフ辞書データに展開する単語辞書データ
    の展開方法。
  8. 【請求項8】 前記請求項5に記載の単語辞書データの
    圧縮方法によって圧縮された前記圧縮辞書データを展開
    する方法であって、 前記所定の圧縮方法によって圧縮された状態の前記単語
    辞書データを、当該所定の圧縮方法による圧縮前の状態
    である前記圧縮辞書データに伸長し、 当該伸長した前記圧縮辞書データ中の前記音節及び単語
    終了を示す識別データが前記第2の走査順にしたがって
    並び替えられていると共に、前記頂点に兄弟が存在する
    場合にはその兄弟関係を他と区別するための識別データ
    が存在することに基づき、その圧縮辞書データ中の音節
    及び単語終了を示す識別データに加え、当該音節及び単
    語終了を示す識別データ毎に自分の子を識別するための
    データを設定して第2のグラフ辞書データに展開する単
    語辞書データの展開方法。
  9. 【請求項9】 前記請求項7又は8に記載の単語辞書デ
    ータの展開方法が、コンピュータシステムによって実行
    するプログラムとして記録されたことを特徴とする機械
    読み取り可能な記録媒体。
  10. 【請求項10】 認識すべき複数の単語の音響的特徴量
    が、各単語毎に予め格納された単語辞書記憶手段と、 外部からの入力音声を分析して音響的特徴量を抽出する
    音響分析手段と、 該音響分析手段にて抽出された音響的特徴量の時系列デ
    ータを、前記単語辞書記憶手段に格納された音響的特徴
    量に最も近似したデータ列毎に区分し、各データ列毎
    に、対応する音響的特徴量が表わす単語を割り当て、前
    記入力音声の単語系列を認識する音声認識手段と、 該音声認識手段による認識結果を外部装置に出力する出
    力手段と、 を備えた音声認識装置において、 前記単語辞書データを、前記請求項1乃至5のいずれか
    に記載の単語辞書データの圧縮方法によって前記圧縮辞
    書データに変換された状態で外部装置から入力する圧縮
    辞書データ入力手段と、 前記圧縮辞書データ入力手段を介して入力した前記圧縮
    辞書データを、前記請求項7又は8に記載の単語辞書デ
    ータの展開方法によって前記第2のグラフ辞書データに
    展開する圧縮辞書データ展開手段とを備え、 前記単語辞書記憶手段には、前記圧縮辞書データ展開手
    段によって前記第2のグラフ辞書データに展開された状
    態の単語辞書データが記憶されていることを特徴とする
    音声認識装置。
  11. 【請求項11】 認識すべき複数の単語の音響的特徴量
    が、各単語毎に予め格納された単語辞書記憶手段と、 外部からの入力音声を分析して音響的特徴量を抽出する
    音響分析手段と、 該音響分析手段にて抽出された音響的特徴量の時系列デ
    ータを、前記単語辞書記憶手段に格納された音響的特徴
    量に最も近似したデータ列毎に区分し、各データ列毎
    に、対応する音響的特徴量が表わす単語を割り当て、前
    記入力音声の単語系列を認識する音声認識手段と、 該音声認識手段による認識結果を外部装置に出力する出
    力手段と、 を備えた音声認識装置において、 前記単語辞書データを、前記請求項1乃至5のいずれか
    に記載の単語辞書データの圧縮方法によって前記圧縮辞
    書データに変換された状態で外部装置から入力する圧縮
    辞書データ入力手段を備え、 前記単語辞書記憶手段には、前記圧縮辞書データ入力手
    段によって外部装置から入力した前記圧縮辞書データが
    記憶されており、 さらに、電源投入時又は音声認識処理実行時に、前記圧
    縮辞書データ記憶手段から読み出した前記圧縮辞書デー
    タを、前記請求項7又は8に記載の単語辞書データの展
    開方法によって前記第2のグラフ辞書データに展開する
    圧縮辞書データ展開手段を備えることを特徴とする音声
    認識装置。
  12. 【請求項12】 請求項10又は11に記載の音声認識
    装置と、ナビゲーション装置とを備え、前記音声認識装
    置の前記音声入力手段は、前記ナビゲーション装置がナ
    ビゲート処理をする上で指定される必要のある所定のナ
    ビゲート処理関連データの指示を利用者が音声にて入力
    するために用いられるものであり、前記出力手段は、前
    記音声認識手段による認識結果を前記ナビゲーション装
    置に出力するよう構成されている音声認識機能付きナビ
    ゲーションシステムであって、前記ナビゲーション装置
    は、 前記単語辞書データを、前記請求項1乃至4のいずれか
    に記載の単語辞書データの圧縮方法によって前記圧縮辞
    書データに変換された状態で記憶しておく圧縮辞書デー
    タ記憶手段と、 所定の辞書転送必要時に前記圧縮辞書データ記憶手段か
    ら前記圧縮辞書データを読み出し、前記音声認識装置に
    転送する辞書データ転送手段と、 を備えていることを特徴とするナビゲーションシステ
    ム。
  13. 【請求項13】 請求項12に記載にナビゲーションシ
    ステムにおいて、 前記単語辞書データを、前記請求項1乃至5のいずれか
    に記載の単語辞書データの圧縮方法によって前記圧縮辞
    書データに変換された状態で外部装置から入力するナビ
    側圧縮辞書データ入力手段を備え、 該ナビ側圧縮辞書データ入力手段を介して入力した前記
    圧縮辞書データを、前記圧縮辞書データ記憶手段に記憶
    しておくよう構成されていることを特徴とするナビゲー
    ションシステム。
JP9129722A 1997-05-20 1997-05-20 単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体 Pending JPH10319990A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9129722A JPH10319990A (ja) 1997-05-20 1997-05-20 単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9129722A JPH10319990A (ja) 1997-05-20 1997-05-20 単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体

Publications (1)

Publication Number Publication Date
JPH10319990A true JPH10319990A (ja) 1998-12-04

Family

ID=15016590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9129722A Pending JPH10319990A (ja) 1997-05-20 1997-05-20 単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体

Country Status (1)

Country Link
JP (1) JPH10319990A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10092005B2 (en) 2013-07-04 2018-10-09 Sha'ked Microbial Solutions, Ltd. Method of controlling water surface inhabiting pests

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6354659A (ja) * 1986-08-25 1988-03-09 Hitachi Ltd 木の表示編集方法
JPH05197393A (ja) * 1991-09-14 1993-08-06 Philips Gloeilampenfab:Nv 音声信号のワードシーケンス認識方法および装置
JPH06162088A (ja) * 1992-11-25 1994-06-10 Fuji Xerox Co Ltd 有向グラフ生成方法および装置
JPH07225770A (ja) * 1994-02-10 1995-08-22 Fuji Xerox Co Ltd データ検索装置
JPH07262196A (ja) * 1994-03-16 1995-10-13 Fujitsu Ltd 知識ベースを用いたデータベース検索装置
JPH07287716A (ja) * 1994-02-22 1995-10-31 Ricoh Co Ltd 辞書検索装置
JPH08202386A (ja) * 1995-01-23 1996-08-09 Sony Corp 音声認識方法、音声認識装置、およびナビゲーション装置
JPH08248979A (ja) * 1995-03-06 1996-09-27 Fuji Xerox Co Ltd 音声認識装置
JPH09114489A (ja) * 1995-10-16 1997-05-02 Sony Corp 音声認識装置,音声認識方法,ナビゲーション装置,ナビゲート方法及び自動車

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6354659A (ja) * 1986-08-25 1988-03-09 Hitachi Ltd 木の表示編集方法
JPH05197393A (ja) * 1991-09-14 1993-08-06 Philips Gloeilampenfab:Nv 音声信号のワードシーケンス認識方法および装置
JPH06162088A (ja) * 1992-11-25 1994-06-10 Fuji Xerox Co Ltd 有向グラフ生成方法および装置
JPH07225770A (ja) * 1994-02-10 1995-08-22 Fuji Xerox Co Ltd データ検索装置
JPH07287716A (ja) * 1994-02-22 1995-10-31 Ricoh Co Ltd 辞書検索装置
JPH07262196A (ja) * 1994-03-16 1995-10-13 Fujitsu Ltd 知識ベースを用いたデータベース検索装置
JPH08202386A (ja) * 1995-01-23 1996-08-09 Sony Corp 音声認識方法、音声認識装置、およびナビゲーション装置
JPH08248979A (ja) * 1995-03-06 1996-09-27 Fuji Xerox Co Ltd 音声認識装置
JPH09114489A (ja) * 1995-10-16 1997-05-02 Sony Corp 音声認識装置,音声認識方法,ナビゲーション装置,ナビゲート方法及び自動車

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10092005B2 (en) 2013-07-04 2018-10-09 Sha'ked Microbial Solutions, Ltd. Method of controlling water surface inhabiting pests

Similar Documents

Publication Publication Date Title
JP3930138B2 (ja) 情報解析方法および情報解析プログラムを記憶した媒体
JPH10253381A (ja) 音声合成装置
JP2007010368A (ja) ナビゲーション装置、ナビゲーション方法、およびナビゲーションプログラム
JP5275349B2 (ja) 情報処理装置、情報作成装置、情報処理方法、情報作成方法、情報処理プログラム、情報作成プログラム、および記録媒体
JP5335165B2 (ja) 発音情報生成装置、車載情報装置およびデータベース生成方法
US20040098248A1 (en) Voice generator, method for generating voice, and navigation apparatus
JPH10111141A (ja) 車両用ナビゲーション装置
JP4466379B2 (ja) 車載音声認識装置
JP4262837B2 (ja) 音声認識機能を用いたナビゲーション方法
JP2005275228A (ja) ナビゲーション装置
JP5570675B2 (ja) 音声合成装置
JP2000338993A (ja) 音声認識装置、その装置を用いたナビゲーションシステム
JPH10319990A (ja) 単語辞書データの圧縮方法、単語辞書データの展開方法、音声認識装置、音声認識機能付きナビゲーションシステム及び記録媒体
JP5455355B2 (ja) 音声認識装置及びプログラム
JP3645104B2 (ja) 辞書検索装置及び辞書検索プログラムを記録した記録媒体
JPH0785060A (ja) 言語変換装置
JP4381632B2 (ja) ナビゲーションシステムおよびその目的地入力方法
JP3581044B2 (ja) 音声対話処理方法、音声対話処理システムおよびプログラムを記憶した記憶媒体
JP2001092493A (ja) 音声認識修正方式
JP2010160687A (ja) 短縮操作実行装置
JP5334446B2 (ja) 情報検索装置およびナビゲーション装置
JP4645708B2 (ja) コード認識装置および経路探索装置
JP2004093698A (ja) 音声入力方法
JP2003140682A (ja) 音声認識装置及び音声辞書作成方法
JP2005316022A (ja) ナビゲーション装置及びプログラム