JP3152871B2 - ラティスをキーとした検索を行う辞書検索装置および方法 - Google Patents
ラティスをキーとした検索を行う辞書検索装置および方法Info
- Publication number
- JP3152871B2 JP3152871B2 JP29298995A JP29298995A JP3152871B2 JP 3152871 B2 JP3152871 B2 JP 3152871B2 JP 29298995 A JP29298995 A JP 29298995A JP 29298995 A JP29298995 A JP 29298995A JP 3152871 B2 JP3152871 B2 JP 3152871B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- dictionary
- node
- data
- evaluation function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query augmenting and refining, e.g. inexact access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、文字認識や音声認
識等において、認識結果の文字や音素の複数の候補から
成るラティス構造のデータを元に辞書を検索する辞書検
索装置およびその方法に関する。
識等において、認識結果の文字や音素の複数の候補から
成るラティス構造のデータを元に辞書を検索する辞書検
索装置およびその方法に関する。
【0002】
【従来の技術】近年、コンピュータの発展に伴い、より
効率的なコンピュータへのデータ入力方法が求められて
いる。コンピュータへのデータ入力には、例えば文字認
識や音声認識などの技術があり、認識対象の文字列等を
辞書と照合する方法として、ハッシュ法、B−Tree
法、トライ(TRIE:tree retrieval)法などが用い
られている。ハッシュ法は、検索キーの内部コードから
対応する登録語の格納アドレスを求める方法であり、B
−Tree法は、多進探索木の一種であるB−Tree
の各ノードに格納された登録語を検索する方法である。
また、トライ法は、検索キーの一部を、木のノードに格
納されたインデックスと比較しながら分岐していき、葉
に格納された登録語を検索する方法である。認識処理に
おいては、1つの文字や音素に対して認識結果の複数の
候補が発生することがあり、このような場合に認識結果
の文字列等を高速に決定することが望まれる。複数の候
補を含む場合の辞書検索方法として、候補となる文字や
音素が格子状に組み合わされたラティス構造のデータを
元にした辞書検索が試みられている。
効率的なコンピュータへのデータ入力方法が求められて
いる。コンピュータへのデータ入力には、例えば文字認
識や音声認識などの技術があり、認識対象の文字列等を
辞書と照合する方法として、ハッシュ法、B−Tree
法、トライ(TRIE:tree retrieval)法などが用い
られている。ハッシュ法は、検索キーの内部コードから
対応する登録語の格納アドレスを求める方法であり、B
−Tree法は、多進探索木の一種であるB−Tree
の各ノードに格納された登録語を検索する方法である。
また、トライ法は、検索キーの一部を、木のノードに格
納されたインデックスと比較しながら分岐していき、葉
に格納された登録語を検索する方法である。認識処理に
おいては、1つの文字や音素に対して認識結果の複数の
候補が発生することがあり、このような場合に認識結果
の文字列等を高速に決定することが望まれる。複数の候
補を含む場合の辞書検索方法として、候補となる文字や
音素が格子状に組み合わされたラティス構造のデータを
元にした辞書検索が試みられている。
【0003】認識処理に用いられる従来の辞書の1つに
前方一致圧縮辞書がある。前方一致圧縮辞書において
は、辞書に格納する認識語が他の認識語と前方部分で一
致する場合には、それらが圧縮して格納される。例え
ば、コンピュータアーキテクチャ、コンピュータシステ
ム、コンピュータ入門という3つの単語は、先頭のコン
ピュータという語が一致しているので、この部分が1つ
に圧縮される。前方一致圧縮辞書を用いた文字列の検索
処理では、まず与えられた文字ラティスの先頭部分から
順にたどって得られる一群の認識候補の文字列が求めら
れ、それらが辞書中の認識語と比較されて、マッチング
処理が行われる。
前方一致圧縮辞書がある。前方一致圧縮辞書において
は、辞書に格納する認識語が他の認識語と前方部分で一
致する場合には、それらが圧縮して格納される。例え
ば、コンピュータアーキテクチャ、コンピュータシステ
ム、コンピュータ入門という3つの単語は、先頭のコン
ピュータという語が一致しているので、この部分が1つ
に圧縮される。前方一致圧縮辞書を用いた文字列の検索
処理では、まず与えられた文字ラティスの先頭部分から
順にたどって得られる一群の認識候補の文字列が求めら
れ、それらが辞書中の認識語と比較されて、マッチング
処理が行われる。
【0004】
【発明が解決しようとする課題】しかしながら、上述の
ような従来の検索処理には次のような問題がある。認識
結果の複数の候補が発生しやすい例として、手書き文字
や音声の認識処理が挙げられるが、これらの認識処理で
はまだそれほど大規模な辞書検索は行われておらず、主
としてハッシュ法等により辞書が検索されている。しか
し、ハッシュ法では、キーの衝突が多く生じるような場
合には制御が煩雑になるという問題があり、ラティスが
大きくなると検索効率が低下する。また、B−Tree
法では、検索速度の高速性に欠けるという問題がある。
ような従来の検索処理には次のような問題がある。認識
結果の複数の候補が発生しやすい例として、手書き文字
や音声の認識処理が挙げられるが、これらの認識処理で
はまだそれほど大規模な辞書検索は行われておらず、主
としてハッシュ法等により辞書が検索されている。しか
し、ハッシュ法では、キーの衝突が多く生じるような場
合には制御が煩雑になるという問題があり、ラティスが
大きくなると検索効率が低下する。また、B−Tree
法では、検索速度の高速性に欠けるという問題がある。
【0005】トライ法では、これらに比べて高速な検索
を行うことができる。しかし、文字ラティスを元にして
トライ辞書を検索する際、単純にラティス中の候補文字
を順に組み合わせて文字列を生成すると、候補文字が多
くなるにつれて多数の文字列が生成されてしまう。それ
らの文字列を1つ1つキーにして辞書検索を行うので
は、組合せ的爆発が発生し、現実的な時間で検索を終え
ることが困難になる。このため、辞書検索を大量に行う
必要のある認識処理を必ずしも高速に実行できないとい
う問題が生じる。
を行うことができる。しかし、文字ラティスを元にして
トライ辞書を検索する際、単純にラティス中の候補文字
を順に組み合わせて文字列を生成すると、候補文字が多
くなるにつれて多数の文字列が生成されてしまう。それ
らの文字列を1つ1つキーにして辞書検索を行うので
は、組合せ的爆発が発生し、現実的な時間で検索を終え
ることが困難になる。このため、辞書検索を大量に行う
必要のある認識処理を必ずしも高速に実行できないとい
う問題が生じる。
【0006】本発明は、与えられたラティス構造のデー
タを元にして、トライ辞書を用いた高速な検索を行うこ
とが可能な辞書検索装置およびその方法を提供すること
を目的とする。
タを元にして、トライ辞書を用いた高速な検索を行うこ
とが可能な辞書検索装置およびその方法を提供すること
を目的とする。
【0007】
【課題を解決するための手段】図1は、本発明の辞書検
索装置の原理図である。図1の辞書検索装置は、検索手
段1、複合キー管理手段2、検索状態記憶手段3、およ
び出力手段4を備える。
索装置の原理図である。図1の辞書検索装置は、検索手
段1、複合キー管理手段2、検索状態記憶手段3、およ
び出力手段4を備える。
【0008】複合キー管理手段2は、有機的に組み合わ
された複数のデータノードからなる複合キーであって、
2つ以上の検索キーを含む複合キーの情報を管理する。
検索手段1は、上記複合キー内のデータノードをたどり
ながら、上記トライ辞書の対応するレコードを検索す
る。
された複数のデータノードからなる複合キーであって、
2つ以上の検索キーを含む複合キーの情報を管理する。
検索手段1は、上記複合キー内のデータノードをたどり
ながら、上記トライ辞書の対応するレコードを検索す
る。
【0009】検索状態記憶手段3は、上記複合キー内に
おける検索対象のデータノードの位置を表す情報と、検
索手段1が得た検索結果とを記憶する。そして、出力手
段4は、上記検索結果を出力する。
おける検索対象のデータノードの位置を表す情報と、検
索手段1が得た検索結果とを記憶する。そして、出力手
段4は、上記検索結果を出力する。
【0010】複合キーは、例えば、認識結果の候補文字
や候補音素を表すデータノードを認識順に接続して構成
され、各データノードの次につながるデータノードの数
に応じて、複数のデータノード列に枝分かれする。した
がって、1つの複合キーは、先頭から末尾に至る複数の
データノード列を検索キーとして含んでおり、文字ラテ
ィスもその一種である。
や候補音素を表すデータノードを認識順に接続して構成
され、各データノードの次につながるデータノードの数
に応じて、複数のデータノード列に枝分かれする。した
がって、1つの複合キーは、先頭から末尾に至る複数の
データノード列を検索キーとして含んでおり、文字ラテ
ィスもその一種である。
【0011】検索手段1は、この複合キーの先頭から末
尾に向かって順にデータノードをたどりながら、途中の
各データノードまでのパスに対応するレコードがトライ
辞書内にあるかどうかを調べる。そして、対応するレコ
ードがあればそれを検索結果として取り出し、検索状態
記憶手段3に格納する。また、対応するレコードがなけ
れば次のデータノードを検索対象とし、同様にしてトラ
イ辞書を検索する。
尾に向かって順にデータノードをたどりながら、途中の
各データノードまでのパスに対応するレコードがトライ
辞書内にあるかどうかを調べる。そして、対応するレコ
ードがあればそれを検索結果として取り出し、検索状態
記憶手段3に格納する。また、対応するレコードがなけ
れば次のデータノードを検索対象とし、同様にしてトラ
イ辞書を検索する。
【0012】こうして得られた検索結果は、出力手段に
より、例えば認識結果の候補の文字列として外部に出力
され、ユーザに提示される。このような辞書検索装置に
よれば、複合キーが先頭から順に展開されながら、トラ
イ辞書の登録文字列と照合されていく。このため、複合
キーに含まれる複数の検索キーの重複する部分について
は、辞書との照合を1回で済ませることができ、検索処
理が効率化される。また、適当な検索結果が得られた時
点で処理を終了するようにすれば、辞書検索はさらに高
速になる。
より、例えば認識結果の候補の文字列として外部に出力
され、ユーザに提示される。このような辞書検索装置に
よれば、複合キーが先頭から順に展開されながら、トラ
イ辞書の登録文字列と照合されていく。このため、複合
キーに含まれる複数の検索キーの重複する部分について
は、辞書との照合を1回で済ませることができ、検索処
理が効率化される。また、適当な検索結果が得られた時
点で処理を終了するようにすれば、辞書検索はさらに高
速になる。
【0013】例えば、図1の検索手段1は、実施形態の
図2の辞書検索制御モジュール13に対応し、複合キー
管理手段2、検索状態記憶手段3は、それぞれラティス
情報管理モジュール12、辞書検索状態情報管理モジュ
ール14に対応する。また、出力手段4は図3の出力装
置24に対応する。
図2の辞書検索制御モジュール13に対応し、複合キー
管理手段2、検索状態記憶手段3は、それぞれラティス
情報管理モジュール12、辞書検索状態情報管理モジュ
ール14に対応する。また、出力手段4は図3の出力装
置24に対応する。
【0014】
【発明の実施の形態】以下、図面を参照しながら本発明
の実施の形態を詳細に説明する。図2は、実施形態の辞
書検索装置の構成図である。図2の辞書検索装置11
は、ラティス情報管理モジュール12、辞書検索制御モ
ジュール13、辞書検索状態情報管理モジュール14、
評価関数モジュール16、枝苅り判定モジュール17、
およびトライ辞書アクセスモジュール18を備える。
の実施の形態を詳細に説明する。図2は、実施形態の辞
書検索装置の構成図である。図2の辞書検索装置11
は、ラティス情報管理モジュール12、辞書検索制御モ
ジュール13、辞書検索状態情報管理モジュール14、
評価関数モジュール16、枝苅り判定モジュール17、
およびトライ辞書アクセスモジュール18を備える。
【0015】ラティス情報管理モジュール12は、入力
されたラティスの情報を管理する。辞書検索制御モジュ
ール13は、あらかじめ指定された制御方式に従って、
ラティス情報管理モジュール12から得られるラティス
中のノードを順にたどり、トライ辞書アクセスモジュー
ル18を介して、トライ辞書格納装置19に格納された
トライ辞書の中でラティスのノードに対応する部分にア
クセスする。そして、辞書内のレコードの有無などを判
定しつつ辞書検索を行い、検索結果を出力する。辞書検
索制御モジュール13による検索と同時に、辞書検索状
態情報管理モジュール14は、適宜、辞書検索状態情報
15を更新し、必要に応じてそれをユーザに提示する。
されたラティスの情報を管理する。辞書検索制御モジュ
ール13は、あらかじめ指定された制御方式に従って、
ラティス情報管理モジュール12から得られるラティス
中のノードを順にたどり、トライ辞書アクセスモジュー
ル18を介して、トライ辞書格納装置19に格納された
トライ辞書の中でラティスのノードに対応する部分にア
クセスする。そして、辞書内のレコードの有無などを判
定しつつ辞書検索を行い、検索結果を出力する。辞書検
索制御モジュール13による検索と同時に、辞書検索状
態情報管理モジュール14は、適宜、辞書検索状態情報
15を更新し、必要に応じてそれをユーザに提示する。
【0016】検索が進むにつれて、評価関数モジュール
16は各検索時点での評価値を計算し、それを辞書検索
制御モジュール13に渡す。辞書検索制御モジュール1
3は、渡された評価値を利用しながら効率的な検索を行
う。枝苅り判定モジュール17は評価値を用いて、ラテ
ィス中のあるノードにおける枝苅りが可能化どうかを判
定する。枝苅り判定モジュール17が枝苅り可能と判定
すると、そのノードより深いラティス部分は検索され
ず、辞書検索が効率化される。
16は各検索時点での評価値を計算し、それを辞書検索
制御モジュール13に渡す。辞書検索制御モジュール1
3は、渡された評価値を利用しながら効率的な検索を行
う。枝苅り判定モジュール17は評価値を用いて、ラテ
ィス中のあるノードにおける枝苅りが可能化どうかを判
定する。枝苅り判定モジュール17が枝苅り可能と判定
すると、そのノードより深いラティス部分は検索され
ず、辞書検索が効率化される。
【0017】図3は、辞書検索装置を実現する情報処理
システムの構成例を示している。図3の情報処理システ
ムは、CPU21、メモリ22、入力装置23、出力装
置24、トライ辞書格納装置19、およびそれらを接続
するバス25を備える。この情報処理システムが文字認
識処理を行う場合は、入力装置23は例えばスキャナー
等の画像入力装置であり、認識対象の文字列の原画像を
入力するために用いられる。また、音声認識処理を行う
場合は、入力装置23はマイクロホンと音声変換装置等
からなる音声入力装置であり、認識対象の音声を入力す
るために用いられる。
システムの構成例を示している。図3の情報処理システ
ムは、CPU21、メモリ22、入力装置23、出力装
置24、トライ辞書格納装置19、およびそれらを接続
するバス25を備える。この情報処理システムが文字認
識処理を行う場合は、入力装置23は例えばスキャナー
等の画像入力装置であり、認識対象の文字列の原画像を
入力するために用いられる。また、音声認識処理を行う
場合は、入力装置23はマイクロホンと音声変換装置等
からなる音声入力装置であり、認識対象の音声を入力す
るために用いられる。
【0018】CPU21はメモリ22を用いて、入力さ
れた原画像や音声の認識処理を行い、複数の候補を含む
ラティスを生成する。また、CPU21はメモリ22に
格納されたプログラムを実行することにより、ラティス
情報管理モジュール12、辞書検索制御モジュール1
3、辞書検索状態情報管理モジュール14、評価関数モ
ジュール16、枝苅り判定モジュール17、およびトラ
イ辞書アクセスモジュール18の役割を果たす。そし
て、ラティスを検索キーとしてトライ辞書格納装置19
内のトライ辞書を検索する。出力装置24は、例えばデ
ィスプレイ装置やプリンタ等であり、検索途中の状態や
検索結果等を表示したり出力したりするのに用いられ
る。
れた原画像や音声の認識処理を行い、複数の候補を含む
ラティスを生成する。また、CPU21はメモリ22に
格納されたプログラムを実行することにより、ラティス
情報管理モジュール12、辞書検索制御モジュール1
3、辞書検索状態情報管理モジュール14、評価関数モ
ジュール16、枝苅り判定モジュール17、およびトラ
イ辞書アクセスモジュール18の役割を果たす。そし
て、ラティスを検索キーとしてトライ辞書格納装置19
内のトライ辞書を検索する。出力装置24は、例えばデ
ィスプレイ装置やプリンタ等であり、検索途中の状態や
検索結果等を表示したり出力したりするのに用いられ
る。
【0019】次に、図4から図17までを参照しなが
ら、日本語の原画像を例とした文字認識処理について説
明する。図4は、認識対象の原画像の例を示している。
OCR(optical character recognition )により図4
の原画像“大学に行く”の文字認識を行うと、文字の切
り出し誤りがない場合には、例えば図5のような文字ラ
ティスが得られる。図5の文字ラティスにおいて、1行
目には原画像に含まれる各文字の第1候補が列挙されて
おり、2行目、3行目にはそれぞれ第2候補、第3候補
が列挙されている。この文字ラティスをデータノードと
制御ノードとを用いて表すと、図6のようになる。
ら、日本語の原画像を例とした文字認識処理について説
明する。図4は、認識対象の原画像の例を示している。
OCR(optical character recognition )により図4
の原画像“大学に行く”の文字認識を行うと、文字の切
り出し誤りがない場合には、例えば図5のような文字ラ
ティスが得られる。図5の文字ラティスにおいて、1行
目には原画像に含まれる各文字の第1候補が列挙されて
おり、2行目、3行目にはそれぞれ第2候補、第3候補
が列挙されている。この文字ラティスをデータノードと
制御ノードとを用いて表すと、図6のようになる。
【0020】図6の第1の文字ラティスは制御ノードと
データノードから構成され、データノードは縦横の格子
状に配列されている。データノードには文字認識結果で
ある各候補文字がその属性と共に格納される。
データノードから構成され、データノードは縦横の格子
状に配列されている。データノードには文字認識結果で
ある各候補文字がその属性と共に格納される。
【0021】候補文字の属性とは、例えば、その文字の
認識結果としての確からしさを表す評価値を意味する。
ここでは、各データノードの下方に併記された数字が、
評価値の一種である認識距離値を表す。認識距離値は、
認識結果の文字パターンと対応する辞書内の候補文字の
文字パターンとの間の距離値を意味し、原画像における
元の文字がその候補文字である確からしさを表す。認識
距離値が小さければ小さいほど、元の文字のパターンは
辞書内の候補文字のパターンに近く、その候補文字はそ
れだけ確からしいことになる。ただし、データノード
“[先頭]”および“[末尾]”は認識結果ではなく、
処理の都合上設けられた特別なデータノードであり、認
識距離値は併記されていない。
認識結果としての確からしさを表す評価値を意味する。
ここでは、各データノードの下方に併記された数字が、
評価値の一種である認識距離値を表す。認識距離値は、
認識結果の文字パターンと対応する辞書内の候補文字の
文字パターンとの間の距離値を意味し、原画像における
元の文字がその候補文字である確からしさを表す。認識
距離値が小さければ小さいほど、元の文字のパターンは
辞書内の候補文字のパターンに近く、その候補文字はそ
れだけ確からしいことになる。ただし、データノード
“[先頭]”および“[末尾]”は認識結果ではなく、
処理の都合上設けられた特別なデータノードであり、認
識距離値は併記されていない。
【0022】制御ノードはデータノードとデータノード
の間に位置し、主として辞書検索処理の制御に利用され
るが、検索後の処理で必要とする情報を提供するために
も用いられる。これらの用途のために、“[先頭]”に
近い制御ノードから“[末尾]”に近い制御ノードに向
かって、順番に識別子C0、C1、C2、C3、C4、
C5が付加されている。これらの識別子に含まれる数字
が小さいものほど、“[先頭]”に近いことを示してい
る。
の間に位置し、主として辞書検索処理の制御に利用され
るが、検索後の処理で必要とする情報を提供するために
も用いられる。これらの用途のために、“[先頭]”に
近い制御ノードから“[末尾]”に近い制御ノードに向
かって、順番に識別子C0、C1、C2、C3、C4、
C5が付加されている。これらの識別子に含まれる数字
が小さいものほど、“[先頭]”に近いことを示してい
る。
【0023】図7および図8は、それぞれラティス情報
管理モジュール12が管理する各制御ノードおよび各デ
ータノードの配列構造の例を示している。図7の制御ノ
ードには、その制御ノードにつながるデータノードの数
と、それらのデータノードへのポインタとが格納され
る。例えば、図6の制御ノードC0の場合は、後続する
データノードが“文”、“大”、および“丈”であるの
で、データノードの数は3となり、これらの3つのデー
タノードへのポインタを保持する。
管理モジュール12が管理する各制御ノードおよび各デ
ータノードの配列構造の例を示している。図7の制御ノ
ードには、その制御ノードにつながるデータノードの数
と、それらのデータノードへのポインタとが格納され
る。例えば、図6の制御ノードC0の場合は、後続する
データノードが“文”、“大”、および“丈”であるの
で、データノードの数は3となり、これらの3つのデー
タノードへのポインタを保持する。
【0024】また、図8のデータノードには、そのデー
タノードが表す候補文字の文字情報と、その認識距離値
と、そのデータノードにつながる制御ノードの識別子
(制御ノードID)とが格納される。例えば、図6のデ
ータノード“文”の場合は、候補文字“文”を表す文字
情報とその認識距離値10、および後続する制御ノード
の識別子C1を保持する。
タノードが表す候補文字の文字情報と、その認識距離値
と、そのデータノードにつながる制御ノードの識別子
(制御ノードID)とが格納される。例えば、図6のデ
ータノード“文”の場合は、候補文字“文”を表す文字
情報とその認識距離値10、および後続する制御ノード
の識別子C1を保持する。
【0025】図6の制御ノードとデータノードの例は認
識過程で文字の切り出しに誤りがなかった場合を想定し
ているが、文字切り出し誤りがある場合には、データノ
ードは一般に格子状に配列されるとは限らない。この場
合、認識結果の文字ラティスは、例えば図9に示すよう
なグラフ状のデータとなる。図9の第2の文字ラティス
を図6の第1の文字ラティスと比較すると、制御ノード
C2とC4の間に新たに2つの候補文字“し”および
“こ”が挿入されており、これらは原画像に含まれる文
字“に”から切り出されている。このため、データノー
ド“し”、“こ”と制御ノードC3は、同じ文字の他の
認識候補のデータノード“に”および“院”と並列に並
んでいる。
識過程で文字の切り出しに誤りがなかった場合を想定し
ているが、文字切り出し誤りがある場合には、データノ
ードは一般に格子状に配列されるとは限らない。この場
合、認識結果の文字ラティスは、例えば図9に示すよう
なグラフ状のデータとなる。図9の第2の文字ラティス
を図6の第1の文字ラティスと比較すると、制御ノード
C2とC4の間に新たに2つの候補文字“し”および
“こ”が挿入されており、これらは原画像に含まれる文
字“に”から切り出されている。このため、データノー
ド“し”、“こ”と制御ノードC3は、同じ文字の他の
認識候補のデータノード“に”および“院”と並列に並
んでいる。
【0026】辞書検索制御モジュール13は、図6や図
9のような文字ラティスの各ノードをたどりながら辞書
検索を行う。図9の文字ラティスを検索キーとした場
合、その処理は文字ラティスを展開した図10のような
木構造をたどる処理と等価である。図10においては、
データノード“[先頭]”をルートノードとして、各制
御ノードにつながるデータノードが順に展開され、各枝
の末端はデータノード“[末尾]”で終わっている。デ
ータノード“字”の後には“学”に後続する枝と同じ部
分が続き、“大”および“丈”の後には“文”に後続す
る枝と同じ部分が続いている。
9のような文字ラティスの各ノードをたどりながら辞書
検索を行う。図9の文字ラティスを検索キーとした場
合、その処理は文字ラティスを展開した図10のような
木構造をたどる処理と等価である。図10においては、
データノード“[先頭]”をルートノードとして、各制
御ノードにつながるデータノードが順に展開され、各枝
の末端はデータノード“[末尾]”で終わっている。デ
ータノード“字”の後には“学”に後続する枝と同じ部
分が続き、“大”および“丈”の後には“文”に後続す
る枝と同じ部分が続いている。
【0027】図11は、これらの候補文字を有するトラ
イ辞書の構造を示している。図11のトライ辞書は、キ
ーとなる文字列と登録単語のレコードの集まりであり、
登録単語のレコードは単語自身を表す情報と品詞名のデ
ータ対で表される。例えば、レコードエリア35内のレ
コード“大”は、単語“大”を表すデータと接頭語を表
すデータとからなり、レコード“大学”は単語“大学”
を表すデータと普通名詞を表すデータとからなる。
イ辞書の構造を示している。図11のトライ辞書は、キ
ーとなる文字列と登録単語のレコードの集まりであり、
登録単語のレコードは単語自身を表す情報と品詞名のデ
ータ対で表される。例えば、レコードエリア35内のレ
コード“大”は、単語“大”を表すデータと接頭語を表
すデータとからなり、レコード“大学”は単語“大学”
を表すデータと普通名詞を表すデータとからなる。
【0028】また、トライ辞書では、一般にキーはイン
デックスの木で表現される。通常の文字列をキーとして
辞書検索を行う場合、インデックスの木のルートのイン
デックスから順に文字列キーの各要素に対応するパスを
たどることで、最終的にキーに対応するレコードが(も
しあれば)検索結果として出力される。ただし、実際の
文字認識処理ではパスの途中で見つかったレコードも有
用であることが多いため、一緒に検索結果として出力さ
れることが多い。
デックスの木で表現される。通常の文字列をキーとして
辞書検索を行う場合、インデックスの木のルートのイン
デックスから順に文字列キーの各要素に対応するパスを
たどることで、最終的にキーに対応するレコードが(も
しあれば)検索結果として出力される。ただし、実際の
文字認識処理ではパスの途中で見つかったレコードも有
用であることが多いため、一緒に検索結果として出力さ
れることが多い。
【0029】図11では、インデックス31の中の
“丈”の位置にはレコードエリア35内のレコード
“丈”へのポインタが格納され、“大”、“文”の位置
にはそれぞれ次のインデックス32、34へのポインタ
が格納されている。ここでは、レコードへのポインタは
破線で示され、インデックスへのポインタは実線で示さ
れているが、実際には、例えば各ポインタの最上位ビッ
ト等を用いて区別される。
“丈”の位置にはレコードエリア35内のレコード
“丈”へのポインタが格納され、“大”、“文”の位置
にはそれぞれ次のインデックス32、34へのポインタ
が格納されている。ここでは、レコードへのポインタは
破線で示され、インデックスへのポインタは実線で示さ
れているが、実際には、例えば各ポインタの最上位ビッ
ト等を用いて区別される。
【0030】インデックス32の先頭にある0の位置に
はレコード“大”へのポインタが格納され、“学”の位
置にはインデックス33へのポインタが格納されてい
る。また、インデックス33、34にも同様に、レコー
ド“大学”、“大学院”、“文”、“文学”、“文字”
へのポインタが格納される。
はレコード“大”へのポインタが格納され、“学”の位
置にはインデックス33へのポインタが格納されてい
る。また、インデックス33、34にも同様に、レコー
ド“大学”、“大学院”、“文”、“文学”、“文字”
へのポインタが格納される。
【0031】本実施形態の辞書検索においては、複数の
キーを表す文字ラティスからそれらの文字列を個別に生
成するのではなく、文字ラティスのノードを先頭から順
に調べ、各データノードの候補文字に対応するパスをイ
ンデックスの木の上で順にたどっていく。前述のよう
に、文字ラティスのノードを順にたどることは、図10
のような木構造をたどることと等価である。このように
して検索を行えば、文字ラティスに含まれるすべてのキ
ーを生成する必要がなく、検索空間を検索結果の存在し
得る領域にだけに限定できるため、効率的な辞書検索が
可能となる。
キーを表す文字ラティスからそれらの文字列を個別に生
成するのではなく、文字ラティスのノードを先頭から順
に調べ、各データノードの候補文字に対応するパスをイ
ンデックスの木の上で順にたどっていく。前述のよう
に、文字ラティスのノードを順にたどることは、図10
のような木構造をたどることと等価である。このように
して検索を行えば、文字ラティスに含まれるすべてのキ
ーを生成する必要がなく、検索空間を検索結果の存在し
得る領域にだけに限定できるため、効率的な辞書検索が
可能となる。
【0032】ラティスのノードを順にたどる方法として
は木の探索として知られている各種の方法を用いること
ができるが、本実施形態では、簡単のためOPENリス
トを用いる方法について説明する。OPENリストは辞
書検索状態情報15に相当し、検索途中のラティスにお
けるデータノードの情報を有する。
は木の探索として知られている各種の方法を用いること
ができるが、本実施形態では、簡単のためOPENリス
トを用いる方法について説明する。OPENリストは辞
書検索状態情報15に相当し、検索途中のラティスにお
けるデータノードの情報を有する。
【0033】図12は、OPENリストを構成する各要
素ノードの配列構造を示している。図12のOPENリ
ストの要素ノードには、次のOPENリストの要素ノー
ドへのポインタ、直前の制御ノードのID、直前の制御
ノードにおけるデータノード番号、親ノードへのポイン
タ、対応するトライ辞書へのポインタ、および評価関数
値が格納される。このうち、直前の制御ノードにおける
データノード番号とは、ラティス内における検索途中の
データノードの直前の制御ノードにおいて便宜的に決め
られた後続するデータノードの識別番号を意味する。ま
た、トライ辞書へのポインタは検索に用いるトライ辞書
を指すポインタであり、評価関数値は、文字の認識距離
値等を用いて計算された文字列の確からしさを表す。
素ノードの配列構造を示している。図12のOPENリ
ストの要素ノードには、次のOPENリストの要素ノー
ドへのポインタ、直前の制御ノードのID、直前の制御
ノードにおけるデータノード番号、親ノードへのポイン
タ、対応するトライ辞書へのポインタ、および評価関数
値が格納される。このうち、直前の制御ノードにおける
データノード番号とは、ラティス内における検索途中の
データノードの直前の制御ノードにおいて便宜的に決め
られた後続するデータノードの識別番号を意味する。ま
た、トライ辞書へのポインタは検索に用いるトライ辞書
を指すポインタであり、評価関数値は、文字の認識距離
値等を用いて計算された文字列の確からしさを表す。
【0034】図13は、OPENリストを用いた第1の
検索処理のフローチャートである。検索処理のプログラ
ムは辞書検索制御モジュール13により実行される。図
13において処理が開始されると、辞書検索制御モジュ
ール13は、まずラティスのデータノード“[先頭]”
を、辞書検索状態情報管理モジュール14内のOPEN
リストに入れる(ステップS1)。図14のOPENリ
ストL1は、図9の文字ラティスから取り出された
“[先頭]”が格納された状態を示している。
検索処理のフローチャートである。検索処理のプログラ
ムは辞書検索制御モジュール13により実行される。図
13において処理が開始されると、辞書検索制御モジュ
ール13は、まずラティスのデータノード“[先頭]”
を、辞書検索状態情報管理モジュール14内のOPEN
リストに入れる(ステップS1)。図14のOPENリ
ストL1は、図9の文字ラティスから取り出された
“[先頭]”が格納された状態を示している。
【0035】次に、OPENリストが空かどうかを判定
し(ステップS2)、空でなければOPENリスト内の
先頭要素ノードをノードnとする(ステップS3)。そ
して、ノードnに対応するレコードがトライ辞書のレコ
ードエリア35に存在するかどうかを調べる(ステップ
S4)。
し(ステップS2)、空でなければOPENリスト内の
先頭要素ノードをノードnとする(ステップS3)。そ
して、ノードnに対応するレコードがトライ辞書のレコ
ードエリア35に存在するかどうかを調べる(ステップ
S4)。
【0036】図15は、ステップS4におけるレコード
確認処理のサブルーチンのフローチャートである。図1
5において処理が開始されると、辞書検索制御モジュー
ル13は、まずトライ辞書内のノードnの位置のポイン
タ、すなわちノードnに対応するインデックス内の位置
に格納されているポインタが、次のインデックスへのポ
インタかどうかを調べる(ステップS11)。
確認処理のサブルーチンのフローチャートである。図1
5において処理が開始されると、辞書検索制御モジュー
ル13は、まずトライ辞書内のノードnの位置のポイン
タ、すなわちノードnに対応するインデックス内の位置
に格納されているポインタが、次のインデックスへのポ
インタかどうかを調べる(ステップS11)。
【0037】ノードnの位置のポインタがインデックス
へのポインタの場合は、それが指す次のインデックス内
の0の位置にレコードエリア35内のレコードへのポイ
ンタが格納されているかどうかを調べる(ステップS1
2)。そして、レコードへのポインタが存在すれば、図
13のメインルーチンに真を返して(ステップS14)
処理を終了し、存在しなければ偽を返して(ステップS
15)処理を終了する。
へのポインタの場合は、それが指す次のインデックス内
の0の位置にレコードエリア35内のレコードへのポイ
ンタが格納されているかどうかを調べる(ステップS1
2)。そして、レコードへのポインタが存在すれば、図
13のメインルーチンに真を返して(ステップS14)
処理を終了し、存在しなければ偽を返して(ステップS
15)処理を終了する。
【0038】ステップS11において、ノードnの位置
のポインタがインデックスへのポインタでない場合は、
それがレコードへのポインタかどうかを調べる(ステッ
プS13)。そして、レコードへのポインタであればメ
インルーチンに真を返して(ステップS14)処理を終
了し、そうでなければ偽を返して(ステップS15)処
理を終了する。
のポインタがインデックスへのポインタでない場合は、
それがレコードへのポインタかどうかを調べる(ステッ
プS13)。そして、レコードへのポインタであればメ
インルーチンに真を返して(ステップS14)処理を終
了し、そうでなければ偽を返して(ステップS15)処
理を終了する。
【0039】サブルーチンから真が返されれば、辞書検
索制御モジュール13は、ノードnに対応するレコード
へのポインタを用いて、レコードエリア35からレコー
ドを取り出し、そのレコードを検索結果として辞書検索
状態情報管理モジュール14に格納する(ステップS
5)。サブルーチンから偽が返されれば、ノードnに対
応するレコードは存在しないと判定して、ステップS6
の処理に進む。
索制御モジュール13は、ノードnに対応するレコード
へのポインタを用いて、レコードエリア35からレコー
ドを取り出し、そのレコードを検索結果として辞書検索
状態情報管理モジュール14に格納する(ステップS
5)。サブルーチンから偽が返されれば、ノードnに対
応するレコードは存在しないと判定して、ステップS6
の処理に進む。
【0040】図14のOPENリストL1の場合は、そ
の唯一の要素である“[先頭]”がノードnとなるが
(ステップS3)、ノード“[先頭]”は図11のトラ
イ辞書の最初のインデックス31を指すので、インデッ
クス31の0の位置が調べられる(ステップS12)。
ところが、インデックス31の0の位置(不図示)には
ポインタが格納されておらず、対応するレコードは存在
しないことが分かる(ステップS15)。
の唯一の要素である“[先頭]”がノードnとなるが
(ステップS3)、ノード“[先頭]”は図11のトラ
イ辞書の最初のインデックス31を指すので、インデッ
クス31の0の位置が調べられる(ステップS12)。
ところが、インデックス31の0の位置(不図示)には
ポインタが格納されておらず、対応するレコードは存在
しないことが分かる(ステップS15)。
【0041】次に、再びトライ辞書内のノードnの位置
のポインタがインデックスへのポインタかどうかを調べ
(ステップS6)、それがインデックスへのポインタで
なければステップS2以降の処理を繰り返す。ノードn
の位置のポインタがインデックスへのポインタであれ
ば、ラティス内のノードnの子ノードを展開し、各子ノ
ードをOPENリストの適当な場所に挿入する(ステッ
プS7)。そして、ステップS2以降の処理を繰り返
し、ステップS2においてOPENリストが空になれば
処理を終了する。
のポインタがインデックスへのポインタかどうかを調べ
(ステップS6)、それがインデックスへのポインタで
なければステップS2以降の処理を繰り返す。ノードn
の位置のポインタがインデックスへのポインタであれ
ば、ラティス内のノードnの子ノードを展開し、各子ノ
ードをOPENリストの適当な場所に挿入する(ステッ
プS7)。そして、ステップS2以降の処理を繰り返
し、ステップS2においてOPENリストが空になれば
処理を終了する。
【0042】ここでは、ノード“[先頭]”はインデッ
クス31を指すので、その子ノードであるデータノード
“文”、“大”、“丈”が展開され、OPENリストの
先頭に挿入されて、OPENリストはL2のようになる
(ステップS7)。OPENリストL2は空ではないの
で、次にその先頭要素“文”がノードnとなり(ステッ
プS3)、ノード“文”に対応するレコードが存在する
かどうかが調べられる(ステップS4)。図11のトラ
イ辞書において、インデックス31内の“文”の位置の
ポインタは次のインデックス34を指しているので、イ
ンデックス34の0の位置が調べられる(ステップS1
2)。ここで、0の位置のポインタはレコード“文”を
指していることが分かり、そのレコードが検索結果とし
て格納される(ステップS5)。
クス31を指すので、その子ノードであるデータノード
“文”、“大”、“丈”が展開され、OPENリストの
先頭に挿入されて、OPENリストはL2のようになる
(ステップS7)。OPENリストL2は空ではないの
で、次にその先頭要素“文”がノードnとなり(ステッ
プS3)、ノード“文”に対応するレコードが存在する
かどうかが調べられる(ステップS4)。図11のトラ
イ辞書において、インデックス31内の“文”の位置の
ポインタは次のインデックス34を指しているので、イ
ンデックス34の0の位置が調べられる(ステップS1
2)。ここで、0の位置のポインタはレコード“文”を
指していることが分かり、そのレコードが検索結果とし
て格納される(ステップS5)。
【0043】ノード“文”の位置のポインタは次のイン
デックス34へのポインタであったので、次にノード
“文”の子ノードであるデータノード“学”と“字”が
OPENリストに挿入される(ステップS7)。
デックス34へのポインタであったので、次にノード
“文”の子ノードであるデータノード“学”と“字”が
OPENリストに挿入される(ステップS7)。
【0044】ところで、図10のような木の探索する代
表的な方法として、縦型探索(depth first search)、
横型探索(breadth first search)、最適探索(best f
irstsearch)の3つがある。縦型探索は1つの枝毎に
[先頭]から[末尾]に向かって縦方向に探索する方法
であり、横型探索はすべての枝を横方向に探索してから
縦方向に進む方法である。また、最適探索は、評価関数
の値が最も良い枝から順に探索する方法である。
表的な方法として、縦型探索(depth first search)、
横型探索(breadth first search)、最適探索(best f
irstsearch)の3つがある。縦型探索は1つの枝毎に
[先頭]から[末尾]に向かって縦方向に探索する方法
であり、横型探索はすべての枝を横方向に探索してから
縦方向に進む方法である。また、最適探索は、評価関数
の値が最も良い枝から順に探索する方法である。
【0045】これらの探索方法のうちいずれを用いるか
は、図13のステップS7においてノードnの子ノード
を挿入するOPENリスト内の位置によって決まる。子
ノードをOPENリストの先頭に挿入すれば縦型探索に
なり、OPENリストの末尾に挿入すれば横型探索にな
る。また、一定の条件の下で評価関数値に従って挿入位
置を決定すれば、最適探索を行うことができる。図14
は縦型探索におけるOPENリストの例を示しており、
図16は横型探索におけるOPENリストの例を示して
おり、図17は最適探索におけるOPENリストの例を
示している。
は、図13のステップS7においてノードnの子ノード
を挿入するOPENリスト内の位置によって決まる。子
ノードをOPENリストの先頭に挿入すれば縦型探索に
なり、OPENリストの末尾に挿入すれば横型探索にな
る。また、一定の条件の下で評価関数値に従って挿入位
置を決定すれば、最適探索を行うことができる。図14
は縦型探索におけるOPENリストの例を示しており、
図16は横型探索におけるOPENリストの例を示して
おり、図17は最適探索におけるOPENリストの例を
示している。
【0046】まず、図14を参照しながら図10の木の
縦型探索について説明する。上述のようにして、OPE
NリストL2から取り出された要素“文”に対応するレ
コード“文”が検索結果として格納されると、図9のデ
ータノード“文”の子ノード“学”と“字”が展開され
て、OPENリストの先頭から順に挿入される(ステッ
プS7)。この結果、OPENリストはL3のようにな
る。OPENリストL3において、例えば要素“(文)
学”は親ノード“文”から展開された子ノード“学”に
対応する要素ノードを表す。この表記法は、他の要素ノ
ードについても同様である。
縦型探索について説明する。上述のようにして、OPE
NリストL2から取り出された要素“文”に対応するレ
コード“文”が検索結果として格納されると、図9のデ
ータノード“文”の子ノード“学”と“字”が展開され
て、OPENリストの先頭から順に挿入される(ステッ
プS7)。この結果、OPENリストはL3のようにな
る。OPENリストL3において、例えば要素“(文)
学”は親ノード“文”から展開された子ノード“学”に
対応する要素ノードを表す。この表記法は、他の要素ノ
ードについても同様である。
【0047】要素“(文)学”に対応する配列データは
図12のような構造を持ち、次のノードへのポインタ
は、OPENリストL3内の次の要素ノードである
“(文)字”を指す。また、直前の制御ノードのIDと
して、図9のデータノード“学”の前にある制御ノード
の識別子C1が格納される。直前の制御ノードにおける
データノード番号は、直前の制御ノードに後続するデー
タノードに上から順にふられた番号を表し、ここでは、
制御ノードC1に後続するデータノード“学”、“字”
にそれぞれ番号1、2が与えられる。したがって、
“(文)学”のデータノード番号は1となる。
図12のような構造を持ち、次のノードへのポインタ
は、OPENリストL3内の次の要素ノードである
“(文)字”を指す。また、直前の制御ノードのIDと
して、図9のデータノード“学”の前にある制御ノード
の識別子C1が格納される。直前の制御ノードにおける
データノード番号は、直前の制御ノードに後続するデー
タノードに上から順にふられた番号を表し、ここでは、
制御ノードC1に後続するデータノード“学”、“字”
にそれぞれ番号1、2が与えられる。したがって、
“(文)学”のデータノード番号は1となる。
【0048】親ノードへのポインタとしては、ラティス
内の親ノード“文”に対応する要素ノードへのポインタ
が格納され、トライ辞書へのポインタとしては、図11
のトライ辞書のインデックス34内における“学”の位
置を指すポインタが格納される。評価関数値については
後述する。
内の親ノード“文”に対応する要素ノードへのポインタ
が格納され、トライ辞書へのポインタとしては、図11
のトライ辞書のインデックス34内における“学”の位
置を指すポインタが格納される。評価関数値については
後述する。
【0049】図12の要素ノードでは、対応するデータ
ノードを識別するために、直前の制御ノードのIDとそ
の制御ノードにおけるデータノード番号を保持するよう
にしているが、代わりにラティス内の対応するデータノ
ード自身へのポインタを保持してもよい。
ノードを識別するために、直前の制御ノードのIDとそ
の制御ノードにおけるデータノード番号を保持するよう
にしているが、代わりにラティス内の対応するデータノ
ード自身へのポインタを保持してもよい。
【0050】次に、OPENリストL3から“(文)
学”が取り出されてノードnとなり(ステップS3)、
対応するレコード“文学”が検索結果として格納される
(ステップS5)。このとき、OPENリストはL4の
ようになるが、“(文)学”に対応する位置にはレコー
ド“文学”へのポインタが格納されていたので、新たな
子ノードは挿入されない。
学”が取り出されてノードnとなり(ステップS3)、
対応するレコード“文学”が検索結果として格納される
(ステップS5)。このとき、OPENリストはL4の
ようになるが、“(文)学”に対応する位置にはレコー
ド“文学”へのポインタが格納されていたので、新たな
子ノードは挿入されない。
【0051】次に、OPENリストL4から“(文)
字”が取り出されてノードnとなり(ステップS3)、
対応するレコード“文字”が検索結果として格納され
(ステップS5)、OPENリストはL5のようにな
る。この場合も、“(文)字”に対応する位置には次の
インデックスへのポインタが格納されていないので、O
PENリストL5に新たな子ノードは挿入されない。
字”が取り出されてノードnとなり(ステップS3)、
対応するレコード“文字”が検索結果として格納され
(ステップS5)、OPENリストはL5のようにな
る。この場合も、“(文)字”に対応する位置には次の
インデックスへのポインタが格納されていないので、O
PENリストL5に新たな子ノードは挿入されない。
【0052】次に、OPENリストL5から“大”が取
り出されてノードnとなり(ステップS3)、対応する
レコード“大”が検索結果として格納される(ステップ
S5)。このとき、“大”に対応する位置には次のイン
デックス32へのポインタが格納されているので、
“大”の子ノードとして“(大)学”と“(大)字”が
OPENリストの先頭に挿入され(ステップS7)、O
PENリストL6のようになる。
り出されてノードnとなり(ステップS3)、対応する
レコード“大”が検索結果として格納される(ステップ
S5)。このとき、“大”に対応する位置には次のイン
デックス32へのポインタが格納されているので、
“大”の子ノードとして“(大)学”と“(大)字”が
OPENリストの先頭に挿入され(ステップS7)、O
PENリストL6のようになる。
【0053】次に、OPENリストL6から“(大)
学”が取り出されてノードnとなり(ステップS3)、
対応するレコード“大学”が検索結果として格納される
(ステップS5)。“(大)学”に対応する位置には次
のインデックス33へのポインタが格納されているの
で、“(大)学”の子ノードとして“(大学)に”、
“(大学)院”、“(大学)し”がOPENリストの先
頭に挿入され(ステップS7)、OPENリストL7の
ようになる。
学”が取り出されてノードnとなり(ステップS3)、
対応するレコード“大学”が検索結果として格納される
(ステップS5)。“(大)学”に対応する位置には次
のインデックス33へのポインタが格納されているの
で、“(大)学”の子ノードとして“(大学)に”、
“(大学)院”、“(大学)し”がOPENリストの先
頭に挿入され(ステップS7)、OPENリストL7の
ようになる。
【0054】次に、OPENリストL7から“(大学)
に”が取り出されてノードnとなるが(ステップS
3)、トライ辞書に対応するインデックスがないので検
索結果は得られず、OPENリストはL8のようにな
る。続いて、OPENリストL8の“(大学)院”がノ
ードnとなり(ステップS3)、対応するレコード“大
学院”が検索結果として格納される(ステップS5)。
このようにして、OPENリスト内の要素ノードが処理
され、それが空になると検索処理が終了する。
に”が取り出されてノードnとなるが(ステップS
3)、トライ辞書に対応するインデックスがないので検
索結果は得られず、OPENリストはL8のようにな
る。続いて、OPENリストL8の“(大学)院”がノ
ードnとなり(ステップS3)、対応するレコード“大
学院”が検索結果として格納される(ステップS5)。
このようにして、OPENリスト内の要素ノードが処理
され、それが空になると検索処理が終了する。
【0055】次に、図16を参照しながら図10の木の
横型探索について説明する。横型探索の場合は、図13
のステップS7において、展開された子ノードがOPE
Nリストの末尾に挿入される。図16のOPENリスト
L11、L12が生成される処理については、図14の
OPENリストL1、L2の場合と同様である。
横型探索について説明する。横型探索の場合は、図13
のステップS7において、展開された子ノードがOPE
Nリストの末尾に挿入される。図16のOPENリスト
L11、L12が生成される処理については、図14の
OPENリストL1、L2の場合と同様である。
【0056】OPENリストL12から“文”が取り出
されて(ステップS3)レコード“文”が検索結果とな
ると(ステップS5)、次にその子ノード“(文)
学”、“(文)字”がOPENリストの末尾に挿入され
(ステップS7)、OPENリストはL13のようにな
る。また、OPENリストL13から“大”が取り出さ
れて(ステップS3)レコード“大”が検索結果となる
と(ステップS5)、次にその子ノード“(大)学”、
“(大)字”がOPENリストの末尾に挿入され(ステ
ップS7)、OPENリストはL14のようになる。
されて(ステップS3)レコード“文”が検索結果とな
ると(ステップS5)、次にその子ノード“(文)
学”、“(文)字”がOPENリストの末尾に挿入され
(ステップS7)、OPENリストはL13のようにな
る。また、OPENリストL13から“大”が取り出さ
れて(ステップS3)レコード“大”が検索結果となる
と(ステップS5)、次にその子ノード“(大)学”、
“(大)字”がOPENリストの末尾に挿入され(ステ
ップS7)、OPENリストはL14のようになる。
【0057】次に、OPENリストL14から“丈”が
取り出されて(ステップS3)レコード“丈”が検索結
果となり(ステップS5)、OPENリストはL15の
ようになる。ところが、トライ辞書には“丈”に続くイ
ンデックスがないので、新たな子ノードは挿入されな
い。同様にして、要素ノードが増えることなくOPEN
リストはL16、L17と変化し、レコード“文学”、
“文字”が順に検索結果となる。
取り出されて(ステップS3)レコード“丈”が検索結
果となり(ステップS5)、OPENリストはL15の
ようになる。ところが、トライ辞書には“丈”に続くイ
ンデックスがないので、新たな子ノードは挿入されな
い。同様にして、要素ノードが増えることなくOPEN
リストはL16、L17と変化し、レコード“文学”、
“文字”が順に検索結果となる。
【0058】次に、OPENリストL17から“(大)
学”が取り出されて(ステップS3)レコード“大学”
が検索結果となると(ステップS5)、次にその子ノー
ド“(大学)に”、“(大学)院”、“(大学)し”が
OPENリストの末尾に挿入され(ステップS7)、O
PENリストL18のようになる。このようにして、O
PENリスト内の要素ノードが処理され、それが空にな
ると検索処理が終了する。
学”が取り出されて(ステップS3)レコード“大学”
が検索結果となると(ステップS5)、次にその子ノー
ド“(大学)に”、“(大学)院”、“(大学)し”が
OPENリストの末尾に挿入され(ステップS7)、O
PENリストL18のようになる。このようにして、O
PENリスト内の要素ノードが処理され、それが空にな
ると検索処理が終了する。
【0059】次に、図17を参照しながら図10の木の
最適探索について説明する。最適探索の場合は、図13
のステップS7において、展開された子ノードの挿入位
置は評価関数モジュール16が計算する評価関数の値に
基づいて決められる。そこで、まず評価関数について説
明する。
最適探索について説明する。最適探索の場合は、図13
のステップS7において、展開された子ノードの挿入位
置は評価関数モジュール16が計算する評価関数の値に
基づいて決められる。そこで、まず評価関数について説
明する。
【0060】ラティス内のあるデータノードにおける評
価関数の値は、ノード“[先頭]”からそのデータノー
ドまでのパス(データノード列)や、そのデータノード
までの検索過程で得た情報などから計算される。具体的
には、例えばパス上のデータノード数、各データノード
の属性から計算され、属性としてはそのデータノードの
認識距離値、順位、字種などが用いられる。
価関数の値は、ノード“[先頭]”からそのデータノー
ドまでのパス(データノード列)や、そのデータノード
までの検索過程で得た情報などから計算される。具体的
には、例えばパス上のデータノード数、各データノード
の属性から計算され、属性としてはそのデータノードの
認識距離値、順位、字種などが用いられる。
【0061】パスが伸びるにつれて評価関数値が常に単
調に増加する場合、その評価関数を単調増加であると呼
ぶ。例えば、パス上のデータノードの認識距離値の合計
値や、認識距離値が一定値以上のデータノードの数など
が単調増加な評価関数の例である。
調に増加する場合、その評価関数を単調増加であると呼
ぶ。例えば、パス上のデータノードの認識距離値の合計
値や、認識距離値が一定値以上のデータノードの数など
が単調増加な評価関数の例である。
【0062】評価関数が単調増加の場合、図13のステ
ップS7でノードnの子ノードをOPENリストに挿入
する際に、OPENリスト内の要素ノードが評価関数値
の良い順に並ぶように挿入すれば、最適探索になる。つ
まり、この探索方法では評価関数値の良いノードから順
に木の探索が行われる。木の各ノードはトライ辞書の個
々の検索キーに対応しているため、あるノードの評価関
数値は対応する検索キーの文字列の評価関数値であると
いうこともできる。したがって、辞書検索においても、
検索キーの評価関数値の良い順に検索が行われ、検索結
果のレコードもその順番に取り出される。
ップS7でノードnの子ノードをOPENリストに挿入
する際に、OPENリスト内の要素ノードが評価関数値
の良い順に並ぶように挿入すれば、最適探索になる。つ
まり、この探索方法では評価関数値の良いノードから順
に木の探索が行われる。木の各ノードはトライ辞書の個
々の検索キーに対応しているため、あるノードの評価関
数値は対応する検索キーの文字列の評価関数値であると
いうこともできる。したがって、辞書検索においても、
検索キーの評価関数値の良い順に検索が行われ、検索結
果のレコードもその順番に取り出される。
【0063】図17の最適探索においては、評価関数モ
ジュール16は、パス上の各データノードに付与された
認識距離値の総和を評価関数として用い、その値を計算
する。そして、辞書検索制御モジュール13は、計算さ
れた値をOPENリストの対応するノードの評価関数値
として、辞書検索状態情報管理モジュール14に格納す
る。また、評価関数値は小さいほど良いものとする。
ジュール16は、パス上の各データノードに付与された
認識距離値の総和を評価関数として用い、その値を計算
する。そして、辞書検索制御モジュール13は、計算さ
れた値をOPENリストの対応するノードの評価関数値
として、辞書検索状態情報管理モジュール14に格納す
る。また、評価関数値は小さいほど良いものとする。
【0064】図17において、OPENリストL21、
L22が生成される処理については、図14のOPEN
リストL1、L2の場合と同様である。ただし、OPE
NリストL22内には、要素ノード“文”、“大”、
“丈”が、併記された評価関数値の小さい順に格納され
ている。
L22が生成される処理については、図14のOPEN
リストL1、L2の場合と同様である。ただし、OPE
NリストL22内には、要素ノード“文”、“大”、
“丈”が、併記された評価関数値の小さい順に格納され
ている。
【0065】次に、OPENリストL22から“文”が
取り出されて(ステップS3)レコード“文”が検索結
果となると(ステップS5)、その子ノード“(文)
学”と“(文)字”が展開される。ここで、“(文)
学”の評価関数値は、図9のデータノード“文”および
“学”の認識距離値から30となり、“(文)字”の評
価関数値は、データノード“文”および“字”の認識距
離値から60となる。
取り出されて(ステップS3)レコード“文”が検索結
果となると(ステップS5)、その子ノード“(文)
学”と“(文)字”が展開される。ここで、“(文)
学”の評価関数値は、図9のデータノード“文”および
“学”の認識距離値から30となり、“(文)字”の評
価関数値は、データノード“文”および“字”の認識距
離値から60となる。
【0066】これらの評価関数値が残りの要素ノード
“大”、“丈”の評価関数値と比較された結果、
“(文)学”はOPENリストの先頭に挿入され、
“(文)字”はOPENリストの末尾に挿入される(ス
テップS7)。したがって、OPENリストはL23の
ようになる。
“大”、“丈”の評価関数値と比較された結果、
“(文)学”はOPENリストの先頭に挿入され、
“(文)字”はOPENリストの末尾に挿入される(ス
テップS7)。したがって、OPENリストはL23の
ようになる。
【0067】次に、OPENリストL23から“(文)
学”が取り出されて(ステップS3)レコード“文学”
が検索結果となると(ステップS5)、OPENリスト
はL24のようになる。
学”が取り出されて(ステップS3)レコード“文学”
が検索結果となると(ステップS5)、OPENリスト
はL24のようになる。
【0068】次に、OPENリストL24から“大”が
取り出されて(ステップS3)レコード“大”が検索結
果となると(ステップS5)、次にその子ノード
“(大)学”、“(大)字”がそれらの評価関数値5
0、80に応じた位置に挿入され(ステップS7)、O
PENリストはL25のようになる。
取り出されて(ステップS3)レコード“大”が検索結
果となると(ステップS5)、次にその子ノード
“(大)学”、“(大)字”がそれらの評価関数値5
0、80に応じた位置に挿入され(ステップS7)、O
PENリストはL25のようになる。
【0069】次に、OPENリストL25から“(大)
学”が取り出されて(ステップS3)レコード“大学”
が検索結果となると(ステップS5)、次にその子ノー
ド“(大学)に”、“(大学)院”、“(大学)し”が
それらの評価関数値60、100、110に応じた位置
に挿入され(ステップS7)、OPENリストはL26
のようになる。
学”が取り出されて(ステップS3)レコード“大学”
が検索結果となると(ステップS5)、次にその子ノー
ド“(大学)に”、“(大学)院”、“(大学)し”が
それらの評価関数値60、100、110に応じた位置
に挿入され(ステップS7)、OPENリストはL26
のようになる。
【0070】以下同様にして、OPENリストはL2
7、L28と変化し、レコード“丈”、“文字”が順に
検索結果となる。このようにして、OPENリスト内の
要素ノードが処理され、それが空になると検索処理が終
了する。図17に示された検索結果を見ると、評価関数
値の良い順にレコードが検索されていることが分かる。
7、L28と変化し、レコード“丈”、“文字”が順に
検索結果となる。このようにして、OPENリスト内の
要素ノードが処理され、それが空になると検索処理が終
了する。図17に示された検索結果を見ると、評価関数
値の良い順にレコードが検索されていることが分かる。
【0071】次に、図18から図23までを参照しなが
ら、他の検索処理について説明する。図13の第1の検
索処理のアルゴリズムでは、検索過程の状態に関する情
報はOPENリストや検索結果を含む辞書検索状態情報
15に保持されており、検索が中断されても、この辞書
検索状態情報15があれば検索を再開することが可能で
ある。したがって、図13のステップS4でノードnに
対応するレコードがトライ辞書に存在する場合、全体の
検索処理の終了を待つことなく、その検索結果を辞書検
索状態情報15と共に出力するようにしてもよい。必要
ならば、検索中断後に辞書検索状態情報15を元にし
て、検索を再開することもできる。
ら、他の検索処理について説明する。図13の第1の検
索処理のアルゴリズムでは、検索過程の状態に関する情
報はOPENリストや検索結果を含む辞書検索状態情報
15に保持されており、検索が中断されても、この辞書
検索状態情報15があれば検索を再開することが可能で
ある。したがって、図13のステップS4でノードnに
対応するレコードがトライ辞書に存在する場合、全体の
検索処理の終了を待つことなく、その検索結果を辞書検
索状態情報15と共に出力するようにしてもよい。必要
ならば、検索中断後に辞書検索状態情報15を元にし
て、検索を再開することもできる。
【0072】図18は、第1の検索処理を途中で中止す
る処理のフローチャートである。図13のステップS2
でOPENリストが空でない場合、辞書検索制御モジュ
ール13はその時点で得られた検索結果を出力して、検
索を中止するかどうかをオペレータに問い合せる(ステ
ップS21)。
る処理のフローチャートである。図13のステップS2
でOPENリストが空でない場合、辞書検索制御モジュ
ール13はその時点で得られた検索結果を出力して、検
索を中止するかどうかをオペレータに問い合せる(ステ
ップS21)。
【0073】オペレータから検索中止を指示されれば、
OPENリスト内の各要素ノードおよびOPENリスト
から取り出されたすべての要素ノードのデータを、辞書
検索状態情報15に保存したまま(ステップS22)、
処理を終了する。また、オペレータから検索続行を指示
されれば、検索を中止せずに、図13のステップS3以
降の処理を実行する。
OPENリスト内の各要素ノードおよびOPENリスト
から取り出されたすべての要素ノードのデータを、辞書
検索状態情報15に保存したまま(ステップS22)、
処理を終了する。また、オペレータから検索続行を指示
されれば、検索を中止せずに、図13のステップS3以
降の処理を実行する。
【0074】最適探索の場合は評価関数値の小さいレコ
ードから順に検索されるので、検索を途中で中止すれ
ば、一定値以下の評価関数値を持つレコードのみを検索
結果として出力することができる。したがって、短時間
でより確からしい候補文字列を得ることができ、有効な
検索処理が行える。
ードから順に検索されるので、検索を途中で中止すれ
ば、一定値以下の評価関数値を持つレコードのみを検索
結果として出力することができる。したがって、短時間
でより確からしい候補文字列を得ることができ、有効な
検索処理が行える。
【0075】図19は、一旦中止した第1の検索処理を
再開する処理のフローチャートである。図19において
処理が開始されると、辞書検索制御モジュール13は、
まず保存されている辞書検索状態情報15を取り出し、
中止した時の状態をOPENリストに再度セットする
(ステップS23)。そして、図13のステップS2以
降の処理を実行する。このような検索処理の中止と再開
は、随時行うことができる。
再開する処理のフローチャートである。図19において
処理が開始されると、辞書検索制御モジュール13は、
まず保存されている辞書検索状態情報15を取り出し、
中止した時の状態をOPENリストに再度セットする
(ステップS23)。そして、図13のステップS2以
降の処理を実行する。このような検索処理の中止と再開
は、随時行うことができる。
【0076】ところで、一般に検索結果のレコードの評
価関数値が一定値を超える場合は、そのレコードに対す
る評価が悪く、認識結果としては採用されないことが多
い。このため、評価関数が単調増加であるかどうかにか
かわらず、それが一定値以下のレコードのみを検索結果
として返すことで、無駄の少ない検索処理が可能とな
る。
価関数値が一定値を超える場合は、そのレコードに対す
る評価が悪く、認識結果としては採用されないことが多
い。このため、評価関数が単調増加であるかどうかにか
かわらず、それが一定値以下のレコードのみを検索結果
として返すことで、無駄の少ない検索処理が可能とな
る。
【0077】図20は、このような第2の検索処理のフ
ローチャートである。図20において処理が開始される
と、辞書検索制御モジュール13は、まずラティスのデ
ータノード“[先頭]”をOPENリストに入れる(ス
テップS31)。次に、OPENリストが空かどうかを
判定し(ステップS32)、空でなければOPENリス
ト内の先頭要素ノードをノードnとする(ステップS3
3)。そして、ノードnにおける評価関数値があらかじ
め決められた一定値を超えているかどうかを判定する
(ステップS34)。
ローチャートである。図20において処理が開始される
と、辞書検索制御モジュール13は、まずラティスのデ
ータノード“[先頭]”をOPENリストに入れる(ス
テップS31)。次に、OPENリストが空かどうかを
判定し(ステップS32)、空でなければOPENリス
ト内の先頭要素ノードをノードnとする(ステップS3
3)。そして、ノードnにおける評価関数値があらかじ
め決められた一定値を超えているかどうかを判定する
(ステップS34)。
【0078】評価関数値が一定値を超えていなければ、
ノードnに対応するレコードがトライ辞書のレコードエ
リア35に存在するかどうかを調べ(ステップS3
5)、それが一定値を超えていれば、対応するレコード
の存在を確認せずに、ステップS37の処理に進む。
ノードnに対応するレコードがトライ辞書のレコードエ
リア35に存在するかどうかを調べ(ステップS3
5)、それが一定値を超えていれば、対応するレコード
の存在を確認せずに、ステップS37の処理に進む。
【0079】ステップS35のレコード確認処理は、図
15のようなサブルーチンにより行われる。サブルーチ
ンから真が返されれば、辞書検索制御モジュール13
は、ノードnに対応するレコードへのポインタを用い
て、レコードエリア35からレコードを取り出し、その
レコードを検索結果として辞書検索状態情報管理モジュ
ール14に格納する(ステップS36)。サブルーチン
から偽が返されれば、ノードnに対応するレコードは存
在しないと判定して、ステップS37の処理に進む。
15のようなサブルーチンにより行われる。サブルーチ
ンから真が返されれば、辞書検索制御モジュール13
は、ノードnに対応するレコードへのポインタを用い
て、レコードエリア35からレコードを取り出し、その
レコードを検索結果として辞書検索状態情報管理モジュ
ール14に格納する(ステップS36)。サブルーチン
から偽が返されれば、ノードnに対応するレコードは存
在しないと判定して、ステップS37の処理に進む。
【0080】次に、トライ辞書内のノードnの位置のポ
インタがインデックスへのポインタかどうかを調べ(ス
テップS37)、それがインデックスへのポインタでな
ければステップS32以降の処理を繰り返す。ノードn
の位置のポインタがインデックスへのポインタであれ
ば、ラティス内のノードnの子ノードを展開し、各子ノ
ードをその評価関数値に従ってOPENリストの適当な
場所に挿入する(ステップS38)。そして、ステップ
S32以降の処理を繰り返し、ステップS32において
OPENリストが空になれば処理を終了する。
インタがインデックスへのポインタかどうかを調べ(ス
テップS37)、それがインデックスへのポインタでな
ければステップS32以降の処理を繰り返す。ノードn
の位置のポインタがインデックスへのポインタであれ
ば、ラティス内のノードnの子ノードを展開し、各子ノ
ードをその評価関数値に従ってOPENリストの適当な
場所に挿入する(ステップS38)。そして、ステップ
S32以降の処理を繰り返し、ステップS32において
OPENリストが空になれば処理を終了する。
【0081】このような第2の検索処理によれば、比較
的良い評価関数値を持つレコードのみを検索結果として
最後まで処理を行うことができ、その後の認識結果の決
定を効率化することができる。尚、ステップS34にお
いて、評価関数値が一定値以上の場合にステップS37
の処理に進むようにしてもよい。
的良い評価関数値を持つレコードのみを検索結果として
最後まで処理を行うことができ、その後の認識結果の決
定を効率化することができる。尚、ステップS34にお
いて、評価関数値が一定値以上の場合にステップS37
の処理に進むようにしてもよい。
【0082】第2の検索処理においてさらに評価関数が
単調増加の場合は、あるノードにおける評価関数値が一
定値以上になったら、あるいは一定値を超えたら、そこ
から先の部分木についてはもはや評価関数の値が良くな
ることはないため、辞書検索を行っても無駄である。そ
のような場合、枝苅り判定モジュール17は部分木の枝
苅りが可能と判定し、辞書検索制御モジュール13はそ
の部分木についての検索を打ち切る。
単調増加の場合は、あるノードにおける評価関数値が一
定値以上になったら、あるいは一定値を超えたら、そこ
から先の部分木についてはもはや評価関数の値が良くな
ることはないため、辞書検索を行っても無駄である。そ
のような場合、枝苅り判定モジュール17は部分木の枝
苅りが可能と判定し、辞書検索制御モジュール13はそ
の部分木についての検索を打ち切る。
【0083】こうして、評価関数の値が良くなることが
期待できない部分木の枝苅りが行われ、辞書検索が効率
化される。その後、辞書検索制御モジュール13は木の
残りの部分についての検索を続けて、比較的良い評価関
数値を持つレコードのみを検索結果とする。
期待できない部分木の枝苅りが行われ、辞書検索が効率
化される。その後、辞書検索制御モジュール13は木の
残りの部分についての検索を続けて、比較的良い評価関
数値を持つレコードのみを検索結果とする。
【0084】図21は、このような枝苅りを行う第3の
検索処理のフローチャートである。図21において処理
が開始されると、辞書検索制御モジュール13は、まず
ラティスのデータノード“[先頭]”をOPENリスト
に入れる(ステップS41)。次に、OPENリストが
空かどうかを判定し(ステップS42)、空でなければ
OPENリスト内の先頭要素ノードをノードnとする
(ステップS43)。
検索処理のフローチャートである。図21において処理
が開始されると、辞書検索制御モジュール13は、まず
ラティスのデータノード“[先頭]”をOPENリスト
に入れる(ステップS41)。次に、OPENリストが
空かどうかを判定し(ステップS42)、空でなければ
OPENリスト内の先頭要素ノードをノードnとする
(ステップS43)。
【0085】ここで、枝苅り判定モジュール17は、ノ
ードnにおける評価関数値があらかじめ決められた一定
値を超えているかどうかを判定する(ステップS4
4)。そして、評価関数値が一定値を超えていなければ
枝苅り不可と判定し、一定値を超えていれば枝苅り可能
と判定して、判定結果を辞書検索制御モジュール13に
渡す。
ードnにおける評価関数値があらかじめ決められた一定
値を超えているかどうかを判定する(ステップS4
4)。そして、評価関数値が一定値を超えていなければ
枝苅り不可と判定し、一定値を超えていれば枝苅り可能
と判定して、判定結果を辞書検索制御モジュール13に
渡す。
【0086】枝苅り不可の場合は、辞書検索制御モジュ
ール13は、ノードnに対応するレコードがトライ辞書
のレコードエリア35に存在するかどうかを調べる(ス
テップS45)。ステップS45のレコード確認処理
は、図15のようなサブルーチンにより行われる。
ール13は、ノードnに対応するレコードがトライ辞書
のレコードエリア35に存在するかどうかを調べる(ス
テップS45)。ステップS45のレコード確認処理
は、図15のようなサブルーチンにより行われる。
【0087】サブルーチンから真が返されれば、辞書検
索制御モジュール13は、ノードnに対応するレコード
へのポインタを用いて、レコードエリア35からレコー
ドを取り出し、そのレコードを検索結果として辞書検索
状態情報管理モジュール14に格納する(ステップS4
6)。サブルーチンから偽が返されれば、ノードnに対
応するレコードは存在しないと判定して、ステップS4
7の処理に進む。
索制御モジュール13は、ノードnに対応するレコード
へのポインタを用いて、レコードエリア35からレコー
ドを取り出し、そのレコードを検索結果として辞書検索
状態情報管理モジュール14に格納する(ステップS4
6)。サブルーチンから偽が返されれば、ノードnに対
応するレコードは存在しないと判定して、ステップS4
7の処理に進む。
【0088】次に、トライ辞書内のノードnの位置のポ
インタがインデックスへのポインタかどうかを調べ(ス
テップS47)、それがインデックスへのポインタでな
ければステップS42以降の処理を繰り返す。ノードn
の位置のポインタがインデックスへのポインタであれ
ば、ラティス内のノードnの子ノードを展開し、各子ノ
ードをその評価関数値に従ってOPENリストの適当な
場所に挿入する(ステップS48)。そして、ステップ
S42以降の処理を繰り返す。
インタがインデックスへのポインタかどうかを調べ(ス
テップS47)、それがインデックスへのポインタでな
ければステップS42以降の処理を繰り返す。ノードn
の位置のポインタがインデックスへのポインタであれ
ば、ラティス内のノードnの子ノードを展開し、各子ノ
ードをその評価関数値に従ってOPENリストの適当な
場所に挿入する(ステップS48)。そして、ステップ
S42以降の処理を繰り返す。
【0089】ステップS44において評価関数値が一定
値を超えており、枝苅り可能と判定された場合は、レコ
ード確認や子ノードの展開を行わずに、そのままステッ
プS42の処理に戻る。これにより、ノードnおよびそ
の子ノードの探索が打ち切られ、枝苅りが行われる。そ
して、OPENリストから次の要素ノードを取り出して
ステップS43以降の処理を繰り返し、ステップS42
においてOPENリストが空になれば処理を終了する。
値を超えており、枝苅り可能と判定された場合は、レコ
ード確認や子ノードの展開を行わずに、そのままステッ
プS42の処理に戻る。これにより、ノードnおよびそ
の子ノードの探索が打ち切られ、枝苅りが行われる。そ
して、OPENリストから次の要素ノードを取り出して
ステップS43以降の処理を繰り返し、ステップS42
においてOPENリストが空になれば処理を終了する。
【0090】評価関数が単調増加の場合には、このよう
な第3の検索処理により、比較的良い評価関数値を持つ
検索結果を第2の検索処理よりも高速に得ることができ
る。尚、ステップS44において、評価関数値が一定値
以上の場合にステップS42の処理に戻るようにしても
よい。
な第3の検索処理により、比較的良い評価関数値を持つ
検索結果を第2の検索処理よりも高速に得ることができ
る。尚、ステップS44において、評価関数値が一定値
以上の場合にステップS42の処理に戻るようにしても
よい。
【0091】図22は、校正支援処理で用いられる第3
の文字ラティスを示している。校正支援処理において
は、文字認識処理と異なり、既存の文章中に含まれる誤
字等を訂正するためにラティスを用いた辞書検索が行わ
れる。
の文字ラティスを示している。校正支援処理において
は、文字認識処理と異なり、既存の文章中に含まれる誤
字等を訂正するためにラティスを用いた辞書検索が行わ
れる。
【0092】図22の文字ラティスにおいては、元の文
章に含まれる“性急項目”という単語に対し、‘せいき
ゅう’という同じ読みを持つ3つの同音異義語“性
急”、“請求”、“制球”の情報が組み込まれている。
これらの単語をすべて文字単位のデータノードに分割し
た場合、制御ノードは黒丸および白丸で示されたC0、
C1、C2、C3、C4、C5、C6の7つになる。辞
書検索装置11は、この文字ラティスの同音異義語情報
とトライ辞書中の“請求項目”という単語情報とから、
元の単語の誤りの可能性を判断する。
章に含まれる“性急項目”という単語に対し、‘せいき
ゅう’という同じ読みを持つ3つの同音異義語“性
急”、“請求”、“制球”の情報が組み込まれている。
これらの単語をすべて文字単位のデータノードに分割し
た場合、制御ノードは黒丸および白丸で示されたC0、
C1、C2、C3、C4、C5、C6の7つになる。辞
書検索装置11は、この文字ラティスの同音異義語情報
とトライ辞書中の“請求項目”という単語情報とから、
元の単語の誤りの可能性を判断する。
【0093】ところで、この例では、あらかじめ“性急
項目”を“性急”と“項目”の2つの単語に分割するこ
とが可能であるため、文字ラティス内の“性急”、“請
求”、“制球”という個々の単語については、それ以上
細かい文字単位で辞書を検索する必要がない。そこで、
一部の制御ノードに検索不要とマーキングすることで、
トライ辞書から不要な検索結果を返す無駄を省くことが
できる。
項目”を“性急”と“項目”の2つの単語に分割するこ
とが可能であるため、文字ラティス内の“性急”、“請
求”、“制球”という個々の単語については、それ以上
細かい文字単位で辞書を検索する必要がない。そこで、
一部の制御ノードに検索不要とマーキングすることで、
トライ辞書から不要な検索結果を返す無駄を省くことが
できる。
【0094】図22では、このような検索不要な制御ノ
ードが白丸で示されており、これらに関しては特に識別
子を付加する必要はない。そこで、黒丸で示された制御
ノードのみを対象として識別子を再度付加し直す
と、()内に記したようにC0、C1、C2となる。
ードが白丸で示されており、これらに関しては特に識別
子を付加する必要はない。そこで、黒丸で示された制御
ノードのみを対象として識別子を再度付加し直す
と、()内に記したようにC0、C1、C2となる。
【0095】このような検索に用いる制御ノードと不要
な制御ノードを区別するために、図7の制御ノードのデ
ータ配列に辞書検索条件情報が付加される。そして、例
えば、辞書検索条件情報に検索不要とマーキングされて
いれば、辞書検索制御モジュール13がその制御ノード
を飛ばして検索処理を進めるようにする。
な制御ノードを区別するために、図7の制御ノードのデ
ータ配列に辞書検索条件情報が付加される。そして、例
えば、辞書検索条件情報に検索不要とマーキングされて
いれば、辞書検索制御モジュール13がその制御ノード
を飛ばして検索処理を進めるようにする。
【0096】図23は、辞書検索条件情報を用いた第4
の検索処理のフローチャートである。図23において処
理が開始されると、辞書検索制御モジュール13は、ま
ずラティスのデータノード“[先頭]”をOPENリス
トに入れる(ステップS51)。次に、OPENリスト
が空かどうかを判定し(ステップS52)、空でなけれ
ばOPENリスト内の先頭要素ノードをノードnとする
(ステップS53)。
の検索処理のフローチャートである。図23において処
理が開始されると、辞書検索制御モジュール13は、ま
ずラティスのデータノード“[先頭]”をOPENリス
トに入れる(ステップS51)。次に、OPENリスト
が空かどうかを判定し(ステップS52)、空でなけれ
ばOPENリスト内の先頭要素ノードをノードnとする
(ステップS53)。
【0097】次に、ノードnに対応する制御ノードが検
索不要とマーキングされているかどうかを調べる(ステ
ップS54)。ここでは、ノードnの次に続く制御ノー
ドの辞書検索条件情報が調べられる。そして、検索不要
とマーキングされていなければ、ノードnに対応するレ
コードがトライ辞書のレコードエリアに存在するかどう
かを調べ(ステップS55)、マーキングされていれ
ば、対応するレコードの存在を確認せずに、ステップS
57の処理に進む。
索不要とマーキングされているかどうかを調べる(ステ
ップS54)。ここでは、ノードnの次に続く制御ノー
ドの辞書検索条件情報が調べられる。そして、検索不要
とマーキングされていなければ、ノードnに対応するレ
コードがトライ辞書のレコードエリアに存在するかどう
かを調べ(ステップS55)、マーキングされていれ
ば、対応するレコードの存在を確認せずに、ステップS
57の処理に進む。
【0098】ステップS55のレコード確認処理は、図
15のようなサブルーチンにより行われる。サブルーチ
ンから真が返されれば、辞書検索制御モジュール13
は、ノードnに対応するレコードへのポインタを用い
て、レコードエリアからレコードを取り出し、そのレコ
ードを検索結果として辞書検索状態情報管理モジュール
14に格納する(ステップS56)。サブルーチンから
偽が返されれば、ノードnに対応するレコードは存在し
ないと判定して、ステップS57の処理に進む。
15のようなサブルーチンにより行われる。サブルーチ
ンから真が返されれば、辞書検索制御モジュール13
は、ノードnに対応するレコードへのポインタを用い
て、レコードエリアからレコードを取り出し、そのレコ
ードを検索結果として辞書検索状態情報管理モジュール
14に格納する(ステップS56)。サブルーチンから
偽が返されれば、ノードnに対応するレコードは存在し
ないと判定して、ステップS57の処理に進む。
【0099】例えば、図22のデータノード“性”がノ
ードnとなった場合は、その後の白丸の制御ノードC1
の辞書検索条件情報が調べられる(ステップS54)。
制御ノードC1は検索不要とマーキングされているた
め、対応するレコードの検索は行われない。
ードnとなった場合は、その後の白丸の制御ノードC1
の辞書検索条件情報が調べられる(ステップS54)。
制御ノードC1は検索不要とマーキングされているた
め、対応するレコードの検索は行われない。
【0100】次に、トライ辞書内のノードnの位置のポ
インタがインデックスへのポインタかどうかを調べ(ス
テップS57)、それがインデックスへのポインタでな
ければステップS52以降の処理を繰り返す。ノードn
の位置のポインタがインデックスへのポインタであれ
ば、ラティス内のノードnの子ノードを展開し、各子ノ
ードをOPENリストの適当な場所に挿入する(ステッ
プS58)。そして、ステップS52以降の処理を繰り
返し、ステップS52においてOPENリストが空にな
れば処理を終了する。
インタがインデックスへのポインタかどうかを調べ(ス
テップS57)、それがインデックスへのポインタでな
ければステップS52以降の処理を繰り返す。ノードn
の位置のポインタがインデックスへのポインタであれ
ば、ラティス内のノードnの子ノードを展開し、各子ノ
ードをOPENリストの適当な場所に挿入する(ステッ
プS58)。そして、ステップS52以降の処理を繰り
返し、ステップS52においてOPENリストが空にな
れば処理を終了する。
【0101】ステップS57において、ノード“性”に
対応するトライ辞書内のポインタが次のインデックスを
指している場合は、“性”の子ノードである“急”がO
PENリストに挿入される(ステップS58)。そし
て、ノード“(性)急”がノードnとなったとき(ステ
ップS53)、対応する黒丸の制御ノードC4はマーキ
ングされていないので、対応するレコードの検索が行わ
れる(ステップS55)。
対応するトライ辞書内のポインタが次のインデックスを
指している場合は、“性”の子ノードである“急”がO
PENリストに挿入される(ステップS58)。そし
て、ノード“(性)急”がノードnとなったとき(ステ
ップS53)、対応する黒丸の制御ノードC4はマーキ
ングされていないので、対応するレコードの検索が行わ
れる(ステップS55)。
【0102】同様にして、OPENリスト内に挿入され
た要素ノード“請”、“制”、“(性急)項”、“(請
求)項”、“(制球)項”がノードnとなったときに
も、レコードの検索は行われず、“(請)求”、
“(制)球”、“(性急項)目”、“(請求項)目”、
“(制球項)目”がノードnとなったときに、対応する
レコードが検索される。
た要素ノード“請”、“制”、“(性急)項”、“(請
求)項”、“(制球)項”がノードnとなったときに
も、レコードの検索は行われず、“(請)求”、
“(制)球”、“(性急項)目”、“(請求項)目”、
“(制球項)目”がノードnとなったときに、対応する
レコードが検索される。
【0103】このような第4の検索処理によれば、ラテ
ィスの制御ノードに記された条件に従って、既存の文章
の校正を効率良く行うことができる。次に、図24から
図29までを参照しながら、英語の原画像を例とした文
字認識処理について説明する。
ィスの制御ノードに記された条件に従って、既存の文章
の校正を効率良く行うことができる。次に、図24から
図29までを参照しながら、英語の原画像を例とした文
字認識処理について説明する。
【0104】図24は、認識対象の英単語の原画像の例
を示している。OCRにより図24の原画像“fin
d”の文字認識を行うと、文字の切り出し誤りがない場
合には、例えば図25のような文字ラティスが得られ
る。この文字ラティスをデータノードと制御ノードとを
用いて表すと、図26のようになる。
を示している。OCRにより図24の原画像“fin
d”の文字認識を行うと、文字の切り出し誤りがない場
合には、例えば図25のような文字ラティスが得られ
る。この文字ラティスをデータノードと制御ノードとを
用いて表すと、図26のようになる。
【0105】図26の第4の文字ラティスにおいては、
図6の第1の文字ラティスと同様に、処理の都合上、デ
ータノード“[先頭]”と“[末尾]”が付け加えられ
ている。また、各データノードの下方に併記された数字
は認識距離値を表し、データノード間には制御ノードC
0、C1、C2、C3、C4、C5が挿入されている。
図26の文字ラティスは文字の切り出し誤りがなかった
場合のものであるが、文字切り出し誤りがある場合に
は、例えば図27に示すようなグラフ状のデータとな
る。図27の第5の文字ラティスを図26の第4の文字
ラティスと比較すると、制御ノードC0とC2の間に新
たに候補文字“h”が挿入されており、これは原画像に
含まれる文字列“fi”を1つの文字として切り出した
場合に対応する。
図6の第1の文字ラティスと同様に、処理の都合上、デ
ータノード“[先頭]”と“[末尾]”が付け加えられ
ている。また、各データノードの下方に併記された数字
は認識距離値を表し、データノード間には制御ノードC
0、C1、C2、C3、C4、C5が挿入されている。
図26の文字ラティスは文字の切り出し誤りがなかった
場合のものであるが、文字切り出し誤りがある場合に
は、例えば図27に示すようなグラフ状のデータとな
る。図27の第5の文字ラティスを図26の第4の文字
ラティスと比較すると、制御ノードC0とC2の間に新
たに候補文字“h”が挿入されており、これは原画像に
含まれる文字列“fi”を1つの文字として切り出した
場合に対応する。
【0106】辞書検索制御モジュール13は、図26や
図27のような文字ラティスの各ノードをたどりながら
辞書検索を行う。図28は、図27の文字ラティスから
得られる検索キーを有するトライ辞書の構造を示してい
る。図28のトライ辞書において、レコードエリア47
内のレコードは単語自身を表す情報と品詞名のデータ対
で表される。例えば、レコード“hod”は、単語“h
od”を表すデータと名詞を表すデータとからなり、レ
コード“find”は、単語“find”を表すデータ
と、動詞および名詞を表すデータとからなる。
図27のような文字ラティスの各ノードをたどりながら
辞書検索を行う。図28は、図27の文字ラティスから
得られる検索キーを有するトライ辞書の構造を示してい
る。図28のトライ辞書において、レコードエリア47
内のレコードは単語自身を表す情報と品詞名のデータ対
で表される。例えば、レコード“hod”は、単語“h
od”を表すデータと名詞を表すデータとからなり、レ
コード“find”は、単語“find”を表すデータ
と、動詞および名詞を表すデータとからなる。
【0107】インデックス41の中の“f”、“h”の
位置には、それぞれ次のインデックス42、45へのポ
インタが格納されている。同様に、インデックス42、
43、45の中の“i”、“n”、“o”の位置には、
それぞれ次のインデックス43、44、46へのポイン
タが格納されている。
位置には、それぞれ次のインデックス42、45へのポ
インタが格納されている。同様に、インデックス42、
43、45の中の“i”、“n”、“o”の位置には、
それぞれ次のインデックス43、44、46へのポイン
タが格納されている。
【0108】また、インデックス44の先頭にある0の
位置にはレコード“fin”へのポインタが格納され、
“d”、“e”の位置にはそれぞれレコード“fin
d”、“fine”へのポインタが格納されている。ま
た、インデックス46の“d”の位置にはレコード“h
od”へのポインタが格納されている。
位置にはレコード“fin”へのポインタが格納され、
“d”、“e”の位置にはそれぞれレコード“fin
d”、“fine”へのポインタが格納されている。ま
た、インデックス46の“d”の位置にはレコード“h
od”へのポインタが格納されている。
【0109】図29は、図27の文字ラティスをキーと
して、図28のトライ辞書の最適探索を行う場合のOP
ENリストの変化を示している。最適探索は、図13の
第1の検索処理のフローに従って行われるが、ステップ
S7においては、認識距離値の和により表される評価関
数の値に基づいて、子ノードの挿入位置が決められる。
図29のOPENリスト内の各要素の下方に併記された
数字は、そのノードの評価関数値を表す。
して、図28のトライ辞書の最適探索を行う場合のOP
ENリストの変化を示している。最適探索は、図13の
第1の検索処理のフローに従って行われるが、ステップ
S7においては、認識距離値の和により表される評価関
数の値に基づいて、子ノードの挿入位置が決められる。
図29のOPENリスト内の各要素の下方に併記された
数字は、そのノードの評価関数値を表す。
【0110】図29において、OPENリストL31が
生成される処理については、図14のOPENリストL
1の場合と同様である。次に、OPENリストL31か
ら“[先頭]”が取り出されると(ステップS3)、そ
の子ノード“f”、“t”、“h”が評価関数値の小さ
い順に格納され(ステップS7)、OPENリストはL
32のようになる。
生成される処理については、図14のOPENリストL
1の場合と同様である。次に、OPENリストL31か
ら“[先頭]”が取り出されると(ステップS3)、そ
の子ノード“f”、“t”、“h”が評価関数値の小さ
い順に格納され(ステップS7)、OPENリストはL
32のようになる。
【0111】次に、OPENリストL32から“f”が
取り出されると(ステップS3)、、その子ノード
“(f)i”と“(f)j”が展開される。ここで、
“(f)i”の評価関数値は、図27のデータノード
“f”および“i”の認識距離値から30となり、
“(f)j”の評価関数値は、データノード“f”およ
び“j”の認識距離値から50となる。
取り出されると(ステップS3)、、その子ノード
“(f)i”と“(f)j”が展開される。ここで、
“(f)i”の評価関数値は、図27のデータノード
“f”および“i”の認識距離値から30となり、
“(f)j”の評価関数値は、データノード“f”およ
び“j”の認識距離値から50となる。
【0112】これらの評価関数値が残りの要素ノード
“t”、“h”の評価関数値と比較された結果、
“(f)i”および“(f)j”はOPENリストの先
頭に挿入され(ステップS7)。したがって、OPEN
リストはL33のようになる。
“t”、“h”の評価関数値と比較された結果、
“(f)i”および“(f)j”はOPENリストの先
頭に挿入され(ステップS7)。したがって、OPEN
リストはL33のようになる。
【0113】次に、OPENリストL33から“(f)
i”が取り出されると(ステップS3)、その子ノード
“(fi)n”、“(fi)o”がそれらの評価関数値
40、80に応じた位置に挿入され(ステップS7)、
OPENリストはL34のようになる。
i”が取り出されると(ステップS3)、その子ノード
“(fi)n”、“(fi)o”がそれらの評価関数値
40、80に応じた位置に挿入され(ステップS7)、
OPENリストはL34のようになる。
【0114】次に、OPENリストL34から“(f
i)n”が取り出されて(ステップS3)レコード“f
in”が検索結果となると(ステップS5)、次にその
子ノード“(fin)d”、“(fin)a”、“(f
in)e”がそれらの評価関数値60、80、90に応
じた位置に挿入され(ステップS7)、OPENリスト
はL35のようになる。
i)n”が取り出されて(ステップS3)レコード“f
in”が検索結果となると(ステップS5)、次にその
子ノード“(fin)d”、“(fin)a”、“(f
in)e”がそれらの評価関数値60、80、90に応
じた位置に挿入され(ステップS7)、OPENリスト
はL35のようになる。
【0115】以下同様にして、OPENリストはL3
6、L37、L38、L39と変化し、レコード“fi
nd”が次の検索結果となる。このようにして、OPE
Nリスト内の要素ノードが処理され、それが空になると
検索処理が終了する。図29に示された検索結果におい
ても、評価関数値の良い順にレコードが得られている。
6、L37、L38、L39と変化し、レコード“fi
nd”が次の検索結果となる。このようにして、OPE
Nリスト内の要素ノードが処理され、それが空になると
検索処理が終了する。図29に示された検索結果におい
ても、評価関数値の良い順にレコードが得られている。
【0116】以上の実施形態においては、主として日本
語および英語の文字認識処理、校正支援処理について説
明したが、本発明の辞書検索処理は、音声認識等の他の
処理にも同様に適用される。また、辞書を構成する言語
としては、他にも中国語、韓国語、フランス語、ドイツ
語など任意の言語を用いることができ、検索結果の文字
列に記号や図形等が含まれていてもかまわない。
語および英語の文字認識処理、校正支援処理について説
明したが、本発明の辞書検索処理は、音声認識等の他の
処理にも同様に適用される。また、辞書を構成する言語
としては、他にも中国語、韓国語、フランス語、ドイツ
語など任意の言語を用いることができ、検索結果の文字
列に記号や図形等が含まれていてもかまわない。
【0117】また、評価関数を用いた探索において、そ
の値が小さい検索結果ほど確からしいものとしたが、逆
にその値が大きいほど確からしくなるような評価関数を
用いることもできる。その場合には、OPENリスト内
で評価関数値が大きい順に要素ノードを並べればよく、
図20のステップS34および図21のステップS44
では、ノードnの評価関数値が一定値未満であるかどう
かを判定すればよい。
の値が小さい検索結果ほど確からしいものとしたが、逆
にその値が大きいほど確からしくなるような評価関数を
用いることもできる。その場合には、OPENリスト内
で評価関数値が大きい順に要素ノードを並べればよく、
図20のステップS34および図21のステップS44
では、ノードnの評価関数値が一定値未満であるかどう
かを判定すればよい。
【0118】さらに、OPENリストを用いた検索処理
は一例に過ぎず、他の任意の方法を用いてラティス中の
次の子ノードを展開してもよい。
は一例に過ぎず、他の任意の方法を用いてラティス中の
次の子ノードを展開してもよい。
【0119】
【発明の効果】本発明によれば、与えられたラティス構
造のデータをキーとしてトライ辞書を効率良く検索する
ことができるため、文字認識や音声認識などの辞書検索
を必要とする処理の高速化が可能になる。したがって、
文字入力や音声入力などの入力作業の効率が向上する。
造のデータをキーとしてトライ辞書を効率良く検索する
ことができるため、文字認識や音声認識などの辞書検索
を必要とする処理の高速化が可能になる。したがって、
文字入力や音声入力などの入力作業の効率が向上する。
【図1】本発明の原理図である。
【図2】実施形態の辞書検索装置の構成図である。
【図3】情報処理システムの構成図である。
【図4】原画像を示す図である。
【図5】文字ラティスの例を示す図である。
【図6】制御ノードを用いた第1の文字ラティスを示す
図である。
図である。
【図7】制御ノードの構造を示す図である。
【図8】データノードの構造を示す図である。
【図9】切り出し誤りを含む第2の文字ラティスを示す
図である。
図である。
【図10】第2の文字ラティスを展開した木を示す図で
ある。
ある。
【図11】トライ辞書の構造を示す図である。
【図12】OPENリストのノードの構造を示す図であ
る。
る。
【図13】第1の検索処理のフローチャートである。
【図14】縦型探索のOPENリストを示す図である。
【図15】レコード確認処理のフローチャートである。
【図16】横型探索のOPENリストを示す図である。
【図17】最適探索のOPENリストを示す図である。
【図18】検索中止処理のフローチャートである。
【図19】検索再開処理のフローチャートである。
【図20】第2の検索処理のフローチャートである。
【図21】第3の検索処理のフローチャートである。
【図22】校正支援のための第3の文字ラティスを示す
図である。
図である。
【図23】第4の検索処理のフローチャートである。
【図24】英単語の原画像を示す図である。
【図25】英語の文字ラティスの例を示す図である。
【図26】第4の文字ラティスを示す図である。
【図27】切り出し誤りを含む第5の文字ラティスを示
す図である。
す図である。
【図28】英単語のトライ辞書を示す図である。
【図29】英単語の最適探索のOPENリストを示す図
である。
である。
1 検索手段 2 複合キー管理手段 3 検索状態記憶手段 4 出力手段 11 辞書検索装置 12 ラティス情報管理モジュール 13 辞書検索制御モジュール 14 辞書検索状態情報管理モジュール 15 辞書検索状態情報 16 評価関数モジュール 17 枝苅り判定モジュール 18 トライ辞書アクセスモジュール 19 トライ辞書格納装置 21 CPU 22 メモリ 23 入力装置 24 出力装置 25 バス 31、32、33、34、41、42、43、44、4
5、46 インデックス 35、47 レコードエリア C0、C1、C2、C3、C4、C5、C6 制御ノー
ド L1、L2、L3、L4、L5、L6、L7、L8、L
11、L12、L13、L14、L15、L16、L1
7、L18、L21、L22、L23、L24、L2
5、L26、L27、L28、L31、L32、L3
3、L34、L35、L36、L37、L38、L39
OPENリスト
5、46 インデックス 35、47 レコードエリア C0、C1、C2、C3、C4、C5、C6 制御ノー
ド L1、L2、L3、L4、L5、L6、L7、L8、L
11、L12、L13、L14、L15、L16、L1
7、L18、L21、L22、L23、L24、L2
5、L26、L27、L28、L31、L32、L3
3、L34、L35、L36、L37、L38、L39
OPENリスト
フロントページの続き (56)参考文献 特開 平3−67364(JP,A) 特開 平8−137668(JP,A) 特開 平8−87528(JP,A) 特開 平7−319900(JP,A) 特開 平4−112269(JP,A) 特開 平3−67364(JP,A) 特開 平6−168270(JP,A) 特開 平3−110675(JP,A) 伊藤 克亘,速水 悟,田中 穂積, 「拡張LR構文解析法を用いた連続音声 認識」,電子情報通信学会技術研究報告 Vol.90 No.375(NLC90− 41〜48),平成2年12月21日,pp.41 〜48 Shuji SENDA,Michi hiko MINOH et a l.,”Fast String Se arching in a Chara cter Lattice”,IEIC E Trans InF Syst V ol.E77−D,No.7(平成6年7 月25日)pp.846−851(CN:94A 0653641) 西野 文人,「文字認識における自然 言語処理」,情報処理 第34巻第10号 (平成5年10月15日),pp1274〜1280 (58)調査した分野(Int.Cl.7,DB名) G06F 17/30 415 G06F 17/30 170 JICSTファイル(JOIS)
Claims (16)
- 【請求項1】 与えられた検索キーを用いてトライ辞書
を検索し、得られた結果を出力する情報処理装置におい
て、 有機的に組み合わされた複数のデータノードからなる複
合キーであって、2つ以上の検索キーを含み、かつ、該
複数のデータノードにおける第1のデータノードと第2
のデータノードの間の接続関係を表す制御ノードを含
む、該複合キーの情報を管理する複合キー管理手段と、 前記複合キー内のデータノードをたどりながら、前記ト
ライ辞書の対応するレコードを検索する検索手段と、 前記複合キー内における検索対象のデータノードの位置
を表す情報と、前記検索手段が得た検索結果とを記憶す
る検索状態記憶手段と、 前記検索結果を出力する出力手段とを備えることを特徴
とする辞書検索装置。 - 【請求項2】 前記複合キー管理手段は、文字認識の認
識結果の候補文字に対応するデータノードからなる前記
複合キーの情報を管理することを特徴とする請求項1記
載の辞書検索装置。 - 【請求項3】 前記複合キー管理手段は、音声認識の認
識結果の候補音素に対応するデータノードからなる前記
複合キーの情報を管理することを特徴とする請求項1記
載の辞書検索装置。 - 【請求項4】 前記複合キー管理手段は、前記制御ノー
ドに検索の要否を表す辞書検索条件情報を付加して管理
し、前記検索手段は、該辞書検索条件情報が検索不要を
表す時、該制御ノードに対応するデータノードについ
て、対応する前記トライ辞書内のレコードを検索しない
ことを特徴とする請求項1記載の辞書検索装置。 - 【請求項5】 前記複合キー管理手段は、前記複数のデ
ータノードが格子状に組み合わされたラティス構造のデ
ータを、前記複合キーの情報として管理することを特徴
とする請求項1記載の辞書検索装置。 - 【請求項6】 前記複合キー管理手段は、切り出し誤り
に対応するデータノードを含み、前記複数のデータノー
ドがグラフ状に組み合わされたラティス構造のデータ
を、前記複合キーの情報として管理することを特徴とす
る請求項1記載の辞書検索装置。 - 【請求項7】 前記検索手段は、前記複合キー内のデー
タノードをたどる過程において、適当な位置で検索を中
断することを特徴とする請求項1記載の辞書検索装置。 - 【請求項8】 前記検索手段は、前記検索状態記憶手段
が記憶する情報を用いて、中断された位置以降の検索を
再開することを特徴とする請求項7記載の辞書検索装
置。 - 【請求項9】 前記検索手段は、前記複合キー内のデー
タノードをたどる過程において、該複合キーを展開した
木に関する縦型探索を用いることを特徴とする請求項1
記載の辞書検索装置。 - 【請求項10】 前記検索手段は、前記複合キー内のデ
ータノードをたどる過程において、該複合キーを展開し
た木に関する横型探索を用いることを特徴とする請求項
1記載の辞書検索装置。 - 【請求項11】 前記複合キーを展開した木のノードに
関する評価関数値を計算する評価関数計算手段をさらに
備え、前記検索状態記憶手段は、該評価関数値を該検索
対象のデータノードと対応づけて記憶し、前記検索手段
は、前記複合キー内のデータノードをたどる過程におい
て、該評価関数値の良いデータノードから順に検索対象
とすることを特徴とする請求項1記載の辞書検索装置。 - 【請求項12】 前記検索手段は、前記評価関数値が一
定水準以上良い値であるようなデータノードに対応する
前記トライ辞書内のレコードを、前記検索結果として取
り出すことを特徴とする請求項11記載の辞書検索装
置。 - 【請求項13】 前記評価関数計算手段は、前記複合キ
ー内のデータノードをたどる過程において単調に増加す
る評価関数を用いて、前記評価関数値を計算し、前記検
索手段は、該評価関数値の小さなデータノードから順に
検索対象とすることを特徴とする請求項11記載の辞書
検索装置。 - 【請求項14】 前記検索手段は、前記評価関数値が一
定値以上のデータノードについて、対応する前記トライ
辞書内のレコードを検索しないことを特徴とする請求項
13記載の辞書検索装置。 - 【請求項15】 前記検索手段は、前記評価関数値が一
定値以上のデータノードについて、後続するデータノー
ドの検索を打ち切ることを特徴とする請求項13記載の
辞書検索装置。 - 【請求項16】 与えられた検索キーを用いてトライ辞
書を検索する方法において、 有機的に組み合わされた複数のデータノードからなる複
合キーであって、2つ以上の検索キーを含み、かつ、該
複数のデータノードにおける第1のデータノードと第2
のデータノードの間の接続関係を表す制御ノードを含
む、該複合キーの情報を生成し、 前記複合キー内のデータノードをたどりながら、検索対
象のデータノードの位置を表す情報に基づいて、前記ト
ライ辞書の対応するレコードを検索し、 得られた検索結果を出力することを特徴とする辞書検索
方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29298995A JP3152871B2 (ja) | 1995-11-10 | 1995-11-10 | ラティスをキーとした検索を行う辞書検索装置および方法 |
US08/725,955 US5778405A (en) | 1995-11-10 | 1996-10-07 | Apparatus and method for retrieving dictionary based on lattice as a key |
KR1019960046646A KR100286501B1 (ko) | 1995-11-10 | 1996-10-18 | 래티스를 키로 하여 검색을 행하는 사전 검색 장치 및 방법 |
CN96112039A CN1096036C (zh) | 1995-11-10 | 1996-11-05 | 以格阵作关键字的字典检索装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29298995A JP3152871B2 (ja) | 1995-11-10 | 1995-11-10 | ラティスをキーとした検索を行う辞書検索装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09134369A JPH09134369A (ja) | 1997-05-20 |
JP3152871B2 true JP3152871B2 (ja) | 2001-04-03 |
Family
ID=17789038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29298995A Expired - Fee Related JP3152871B2 (ja) | 1995-11-10 | 1995-11-10 | ラティスをキーとした検索を行う辞書検索装置および方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5778405A (ja) |
JP (1) | JP3152871B2 (ja) |
KR (1) | KR100286501B1 (ja) |
CN (1) | CN1096036C (ja) |
Families Citing this family (170)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6055515A (en) * | 1996-07-30 | 2000-04-25 | International Business Machines Corporation | Enhanced tree control system for navigating lattices data structures and displaying configurable lattice-node labels |
US6341372B1 (en) * | 1997-05-01 | 2002-01-22 | William E. Datig | Universal machine translator of arbitrary languages |
SE513248C2 (sv) * | 1997-12-19 | 2000-08-07 | Ericsson Telefon Ab L M | Metod för hantering av datastrukturer |
JP3930138B2 (ja) | 1998-02-27 | 2007-06-13 | 株式会社東芝 | 情報解析方法および情報解析プログラムを記憶した媒体 |
CN100334582C (zh) * | 1999-01-08 | 2007-08-29 | 国际商业机器公司 | 在手持装置中存储和检索数据的方法及装置 |
AU6750700A (en) * | 1999-07-30 | 2001-02-19 | Intertrust Technologies Corp. | Methods and systems for transaction record delivery using thresholds and multi-stage protocol |
US6671856B1 (en) * | 1999-09-01 | 2003-12-30 | International Business Machines Corporation | Method, system, and program for determining boundaries in a string using a dictionary |
DE19944608A1 (de) * | 1999-09-17 | 2001-03-22 | Philips Corp Intellectual Pty | Erkennung einer in buchstabierter Form vorliegenden Sprachäußerungseingabe |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
AUPQ867700A0 (en) * | 2000-07-10 | 2000-08-03 | Canon Kabushiki Kaisha | Delivering multimedia descriptions |
US6941294B2 (en) * | 2000-08-28 | 2005-09-06 | Emotion, Inc. | Method and apparatus for digital media management, retrieval, and collaboration |
GB2367917A (en) * | 2000-10-12 | 2002-04-17 | Qas Systems Ltd | Retrieving data representing a postal address from a database of postal addresses using a trie structure |
US7451075B2 (en) * | 2000-12-29 | 2008-11-11 | Microsoft Corporation | Compressed speech lexicon and method and apparatus for creating and accessing the speech lexicon |
JP2002259388A (ja) * | 2001-03-05 | 2002-09-13 | Fujitsu Ltd | 画像検索システム、方法及び画像検索プログラム |
JP4421134B2 (ja) | 2001-04-18 | 2010-02-24 | 富士通株式会社 | 文書画像検索装置 |
FI121583B (fi) * | 2002-07-05 | 2011-01-14 | Syslore Oy | Symbolijonon etsintä |
JP4463504B2 (ja) * | 2002-07-29 | 2010-05-19 | 株式会社リコー | 画像形成装置および複写機 |
ATE342563T1 (de) * | 2003-01-29 | 2006-11-15 | Harman Becker Automotive Sys | Verfahren und vorrichtung zur einschränkung des suchumfangs in einem lexikon für spracherkennung |
JP4461769B2 (ja) * | 2003-10-29 | 2010-05-12 | 株式会社日立製作所 | 文書検索・閲覧手法及び文書検索・閲覧装置 |
WO2006042943A1 (fr) * | 2004-10-19 | 2006-04-27 | France Telecom | Procede de reconnaissance vocale comprenant une etape d ' insertion de marqueurs temporels et systeme correspondant |
US8175889B1 (en) | 2005-04-06 | 2012-05-08 | Experian Information Solutions, Inc. | Systems and methods for tracking changes of address based on service disconnect/connect data |
US7908242B1 (en) | 2005-04-11 | 2011-03-15 | Experian Information Solutions, Inc. | Systems and methods for optimizing database queries |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
EP2074572A4 (en) | 2006-08-17 | 2011-02-23 | Experian Inf Solutions Inc | SYSTEM AND METHOD FOR PROVIDING A BRAND FOR A USED VEHICLE |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US7899822B2 (en) * | 2006-09-08 | 2011-03-01 | International Business Machines Corporation | Automatically linking documents with relevant structured information |
WO2008039860A1 (en) | 2006-09-26 | 2008-04-03 | Experian Information Solutions, Inc. | System and method for linking mutliple entities in a business database |
US8036979B1 (en) | 2006-10-05 | 2011-10-11 | Experian Information Solutions, Inc. | System and method for generating a finance attribute from tradeline data |
US8074172B2 (en) | 2007-01-05 | 2011-12-06 | Apple Inc. | Method, system, and graphical user interface for providing word recommendations |
US8606666B1 (en) | 2007-01-31 | 2013-12-10 | Experian Information Solutions, Inc. | System and method for providing an aggregation tool |
US8285656B1 (en) | 2007-03-30 | 2012-10-09 | Consumerinfo.Com, Inc. | Systems and methods for data verification |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US7742982B2 (en) | 2007-04-12 | 2010-06-22 | Experian Marketing Solutions, Inc. | Systems and methods for determining thin-file records and determining thin-file risk levels |
US20080294540A1 (en) | 2007-05-25 | 2008-11-27 | Celka Christopher J | System and method for automated detection of never-pay data sets |
JP2009070226A (ja) * | 2007-09-14 | 2009-04-02 | Ricoh Co Ltd | マッチング装置 |
US8301574B2 (en) | 2007-09-17 | 2012-10-30 | Experian Marketing Solutions, Inc. | Multimedia engagement study |
US9690820B1 (en) | 2007-09-27 | 2017-06-27 | Experian Information Solutions, Inc. | Database system for triggering event notifications based on updates to database records |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8232973B2 (en) | 2008-01-09 | 2012-07-31 | Apple Inc. | Method, device, and graphical user interface providing word recommendations for text input |
JP5125573B2 (ja) * | 2008-02-12 | 2013-01-23 | 富士通株式会社 | 領域抽出プログラム、文字認識プログラム、および文字認識装置 |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8312033B1 (en) | 2008-06-26 | 2012-11-13 | Experian Marketing Solutions, Inc. | Systems and methods for providing an integrated identifier |
US7991689B1 (en) | 2008-07-23 | 2011-08-02 | Experian Information Solutions, Inc. | Systems and methods for detecting bust out fraud using credit data |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US20110106814A1 (en) * | 2008-10-14 | 2011-05-05 | Yohei Okato | Search device, search index creating device, and search system |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US8280723B1 (en) * | 2009-01-29 | 2012-10-02 | Intuit Inc. | Technique for comparing a string to large sets of strings |
US20100235780A1 (en) * | 2009-03-16 | 2010-09-16 | Westerman Wayne C | System and Method for Identifying Words Based on a Sequence of Keyboard Events |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US20100332292A1 (en) | 2009-06-30 | 2010-12-30 | Experian Information Solutions, Inc. | System and method for evaluating vehicle purchase loyalty |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8364518B1 (en) | 2009-07-08 | 2013-01-29 | Experian Ltd. | Systems and methods for forecasting household economics |
EP2341467B1 (en) * | 2009-09-24 | 2019-12-18 | Nec Corporation | Word recognition device, method, non-transitory computer readable medium storing program and shipped item classification device |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8977584B2 (en) | 2010-01-25 | 2015-03-10 | Newvaluexchange Global Ai Llp | Apparatuses, methods and systems for a digital conversation management platform |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US8725613B1 (en) | 2010-04-27 | 2014-05-13 | Experian Information Solutions, Inc. | Systems and methods for early account score and notification |
US9152727B1 (en) | 2010-08-23 | 2015-10-06 | Experian Marketing Solutions, Inc. | Systems and methods for processing consumer information for targeted marketing applications |
US8639616B1 (en) | 2010-10-01 | 2014-01-28 | Experian Information Solutions, Inc. | Business to contact linkage system |
US9147042B1 (en) | 2010-11-22 | 2015-09-29 | Experian Information Solutions, Inc. | Systems and methods for data verification |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
EP2492824B1 (en) * | 2011-02-23 | 2020-04-01 | Harman Becker Automotive Systems GmbH | Method of searching a data base, navigation device and method of generating an index structure |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US9483606B1 (en) | 2011-07-08 | 2016-11-01 | Consumerinfo.Com, Inc. | Lifescore |
AU2012281182B2 (en) | 2011-07-12 | 2015-07-09 | Experian Information Solutions, Inc. | Systems and methods for a large-scale credit data processing architecture |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9853959B1 (en) | 2012-05-07 | 2017-12-26 | Consumerinfo.Com, Inc. | Storage and maintenance of personal data |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
CN104969289B (zh) | 2013-02-07 | 2021-05-28 | 苹果公司 | 数字助理的语音触发器 |
US9697263B1 (en) | 2013-03-04 | 2017-07-04 | Experian Information Solutions, Inc. | Consumer data request fulfillment system |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US9922642B2 (en) | 2013-03-15 | 2018-03-20 | Apple Inc. | Training an at least partial voice command system |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
EP3937002A1 (en) | 2013-06-09 | 2022-01-12 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
CN105265005B (zh) | 2013-06-13 | 2019-09-17 | 苹果公司 | 用于由语音命令发起的紧急呼叫的系统和方法 |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US10102536B1 (en) | 2013-11-15 | 2018-10-16 | Experian Information Solutions, Inc. | Micro-geographic aggregation system |
US9529851B1 (en) | 2013-12-02 | 2016-12-27 | Experian Information Solutions, Inc. | Server architecture for electronic data quality processing |
US10262362B1 (en) | 2014-02-14 | 2019-04-16 | Experian Information Solutions, Inc. | Automatic generation of code for attributes |
US9576030B1 (en) | 2014-05-07 | 2017-02-21 | Consumerinfo.Com, Inc. | Keeping up with the joneses |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
US10445152B1 (en) | 2014-12-19 | 2019-10-15 | Experian Information Solutions, Inc. | Systems and methods for dynamic report generation based on automatic modeling of complex data structures |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US20180060954A1 (en) | 2016-08-24 | 2018-03-01 | Experian Information Solutions, Inc. | Sensors and system for detection of device movement and authentication of device user based on messaging service data from service provider |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
WO2018144612A1 (en) | 2017-01-31 | 2018-08-09 | Experian Information Solutions, Inc. | Massive scale heterogeneous data ingestion and user resolution |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
US10963434B1 (en) | 2018-09-07 | 2021-03-30 | Experian Information Solutions, Inc. | Data architecture for supporting multiple search models |
US11941065B1 (en) | 2019-09-13 | 2024-03-26 | Experian Information Solutions, Inc. | Single identifier platform for storing entity data |
US11880377B1 (en) | 2021-03-26 | 2024-01-23 | Experian Information Solutions, Inc. | Systems and methods for entity resolution |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5355473A (en) * | 1991-06-20 | 1994-10-11 | Lawrence Au | Indexed record locating and counting mechanism |
US5357431A (en) * | 1992-01-27 | 1994-10-18 | Fujitsu Limited | Character string retrieval system using index and unit for making the index |
US5640551A (en) * | 1993-04-14 | 1997-06-17 | Apple Computer, Inc. | Efficient high speed trie search process |
JP2683870B2 (ja) * | 1994-05-23 | 1997-12-03 | 日本アイ・ビー・エム株式会社 | 文字列検索システム及び方法 |
US5528701A (en) * | 1994-09-02 | 1996-06-18 | Panasonic Technologies, Inc. | Trie based method for indexing handwritten databases |
-
1995
- 1995-11-10 JP JP29298995A patent/JP3152871B2/ja not_active Expired - Fee Related
-
1996
- 1996-10-07 US US08/725,955 patent/US5778405A/en not_active Expired - Fee Related
- 1996-10-18 KR KR1019960046646A patent/KR100286501B1/ko not_active IP Right Cessation
- 1996-11-05 CN CN96112039A patent/CN1096036C/zh not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
Shuji SENDA,Michihiko MINOH et al.,"Fast String Searching in a Character Lattice",IEICE Trans InF Syst Vol.E77−D,No.7(平成6年7月25日)pp.846−851(CN:94A0653641) |
伊藤 克亘,速水 悟,田中 穂積,「拡張LR構文解析法を用いた連続音声認識」,電子情報通信学会技術研究報告 Vol.90 No.375(NLC90−41〜48),平成2年12月21日,pp.41〜48 |
西野 文人,「文字認識における自然言語処理」,情報処理 第34巻第10号(平成5年10月15日),pp1274〜1280 |
Also Published As
Publication number | Publication date |
---|---|
CN1153356A (zh) | 1997-07-02 |
KR970029146A (ko) | 1997-06-26 |
JPH09134369A (ja) | 1997-05-20 |
CN1096036C (zh) | 2002-12-11 |
KR100286501B1 (ko) | 2001-04-16 |
US5778405A (en) | 1998-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3152871B2 (ja) | ラティスをキーとした検索を行う辞書検索装置および方法 | |
US6789231B1 (en) | Method and system for providing alternatives for text derived from stochastic input sources | |
US6023536A (en) | Character string correction system and method using error pattern | |
US6233544B1 (en) | Method and apparatus for language translation | |
EP0440197B1 (en) | Method and apparatus for inputting text | |
US7142716B2 (en) | Apparatus for searching document images using a result of character recognition | |
US4903206A (en) | Spelling error correcting system | |
JPH06266780A (ja) | 意味パターン認識による文字列検索方法及びその装置 | |
JPH02271468A (ja) | データ処理方法 | |
CN112800769B (zh) | 命名实体识别方法、装置、计算机设备和存储介质 | |
JP5323652B2 (ja) | 類似語決定方法およびシステム | |
JPH08180069A (ja) | 単語辞書検索装置 | |
CN111209753B (zh) | 一种实体命名识别方法及装置 | |
JP4102153B2 (ja) | インターネットを利用した文字認識の後処理装置 | |
JP5238034B2 (ja) | 近似照合装置、近似照合方法、プログラム及び記録媒体 | |
JP3309174B2 (ja) | 文字認識方法及び装置 | |
JPH0844771A (ja) | 情報検索装置 | |
US20220004708A1 (en) | Methods and apparatus to improve disambiguation and interpretation in automated text analysis using structured language space and transducers applied on automatons | |
CN114595696A (zh) | 实体消歧方法、实体消歧装置、存储介质与电子设备 | |
CN114187902A (zh) | 一种基于ac自动机热词增强的语音识别方法和系统 | |
US20040054677A1 (en) | Method for processing text in a computer and a computer | |
JP3477822B2 (ja) | 文書登録検索システム | |
JP3758241B2 (ja) | 音声情報検索装置 | |
JP2001101184A (ja) | 構造化文書生成方法及び装置及び構造化文書生成プログラムを格納した記憶媒体 | |
JPH0652151A (ja) | 共起学習装置及びこれを用いたかな漢字変換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010116 |
|
LAPS | Cancellation because of no payment of annual fees |