JPH0782544B2 - マルチテンプレートを用いるdpマツチング方法及び装置 - Google Patents
マルチテンプレートを用いるdpマツチング方法及び装置Info
- Publication number
- JPH0782544B2 JPH0782544B2 JP1070442A JP7044289A JPH0782544B2 JP H0782544 B2 JPH0782544 B2 JP H0782544B2 JP 1070442 A JP1070442 A JP 1070442A JP 7044289 A JP7044289 A JP 7044289A JP H0782544 B2 JPH0782544 B2 JP H0782544B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- label
- template
- distance
- stage calculation
- 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 - Lifetime
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Character Discrimination (AREA)
- Image Analysis (AREA)
- Machine Translation (AREA)
Description
【発明の詳細な説明】 A.産業上の利用分野 本発明は、文字認識、音声認識、綴り訂正、またはデー
タベースの類似単語検索などの分野で利用されるラベル
照合型DP(ダイナミックプログラミング)マッチング方
法及び装置に関連し、さらに詳しくは比較対象となるラ
ベル系列が複数ある場合のDPマッチング方法及び装置に
関するものである。
タベースの類似単語検索などの分野で利用されるラベル
照合型DP(ダイナミックプログラミング)マッチング方
法及び装置に関連し、さらに詳しくは比較対象となるラ
ベル系列が複数ある場合のDPマッチング方法及び装置に
関するものである。
B.従来技術およびその問題点 音声認識や文字認識の分野では、入力された情報から特
徴を抽出し、その特徴を順序付けられたラベル系列とし
て表現し、あらかじめ用意された認識辞書中のラベル系
列(以後テンプレートと呼ぶ)と近似照合を実施した結
果最も類似した(距離が小さい)系列のカテゴリーを解
とする手法がきわめて一般的に用いられている。また綴
り訂正、類似単語検索などの場合も、文字を1つのラベ
ルと見なせば、入力系列に対し最も距離が小さいラベル
系列(言い換えれば単語)を単語辞書やデータベースか
ら選択することになり、上記同様ラベル系列の近似照合
を行う必要がある。
徴を抽出し、その特徴を順序付けられたラベル系列とし
て表現し、あらかじめ用意された認識辞書中のラベル系
列(以後テンプレートと呼ぶ)と近似照合を実施した結
果最も類似した(距離が小さい)系列のカテゴリーを解
とする手法がきわめて一般的に用いられている。また綴
り訂正、類似単語検索などの場合も、文字を1つのラベ
ルと見なせば、入力系列に対し最も距離が小さいラベル
系列(言い換えれば単語)を単語辞書やデータベースか
ら選択することになり、上記同様ラベル系列の近似照合
を行う必要がある。
この場合一般に各ラベル間の対応関係が(相対的な順序
が逆転しないということを除き)明らかではないので、
可能なすべての対応付けから最も値が小さくなる解をも
って距離を定義する必要がある。この距離計算を項損に
実施する手法の1つがダイナミックプログラミング(D
P)であり、多くの変化形があるが最も典型的にはつぎ
のように定式化される。
が逆転しないということを除き)明らかではないので、
可能なすべての対応付けから最も値が小さくなる解をも
って距離を定義する必要がある。この距離計算を項損に
実施する手法の1つがダイナミックプログラミング(D
P)であり、多くの変化形があるが最も典型的にはつぎ
のように定式化される。
照合する2つのラベル系列をA=a1a2,...an,B=b
1b2,...,bmとする。そしてラベルの対応付け関数をc
p(k)(k=1,...,K、ただしcp(k)はラベル組 をその値としてとり、 を対応付けることを意味する)で表現すれば、AとBの
距離Dは、 (d(cp(k))はラベル との距離を示す) (w(k)は対応付け関数の経路に沿った距離) と定義できる。w(k)にも種々ありうるがたとえばw
(k)=(ik−ik-1)+(jk−jk-1)としてDPを適用す
ればD(A,B)はつぎの漸化式g(i,j)を用いてg(n,
m)/(n+m)として計算できる。
1b2,...,bmとする。そしてラベルの対応付け関数をc
p(k)(k=1,...,K、ただしcp(k)はラベル組 をその値としてとり、 を対応付けることを意味する)で表現すれば、AとBの
距離Dは、 (d(cp(k))はラベル との距離を示す) (w(k)は対応付け関数の経路に沿った距離) と定義できる。w(k)にも種々ありうるがたとえばw
(k)=(ik−ik-1)+(jk−jk-1)としてDPを適用す
ればD(A,B)はつぎの漸化式g(i,j)を用いてg(n,
m)/(n+m)として計算できる。
g(n,m)を得るためには第3図に示すように(i,j)平
面上の(1≦i≦n,1≦j≦m)を満たす各格子点(m
×n個)にていてg(i,j)を計算することになるが、
通常i,jのいずれか一方を固定し他方を順に増やしなが
ら(2)の計算を行ない、終了すると固定していた方が
1だけ増やし同様の計算を繰り返す。この片方のみを増
やして行う繰り返し計算1回を以後1ステージと呼び、
計算自体をステージ計算と呼ぶことにする。この場合ど
ちらの変数を固定してもよいが、以後の説明においては
i軸を入力ラベル系列、j軸を比較対象となる辞書中の
ラベル系列(テンプレート)とみなし、jを固定したス
テージで計算を行うことになる(第3図)。
面上の(1≦i≦n,1≦j≦m)を満たす各格子点(m
×n個)にていてg(i,j)を計算することになるが、
通常i,jのいずれか一方を固定し他方を順に増やしなが
ら(2)の計算を行ない、終了すると固定していた方が
1だけ増やし同様の計算を繰り返す。この片方のみを増
やして行う繰り返し計算1回を以後1ステージと呼び、
計算自体をステージ計算と呼ぶことにする。この場合ど
ちらの変数を固定してもよいが、以後の説明においては
i軸を入力ラベル系列、j軸を比較対象となる辞書中の
ラベル系列(テンプレート)とみなし、jを固定したス
テージで計算を行うことになる(第3図)。
このDPは高々m×n程度のステップで距離が求まること
になり著しい計算量の減少となる。しかしながら、照合
対象となるテンプレートや検索対象となる辞書中の単語
数は通常きわめて多数であり、そのそれぞれと入力ラベ
ル系列との距離を上記手法を用いて計算することになる
ので、やはり計算速度の問題が残る。
になり著しい計算量の減少となる。しかしながら、照合
対象となるテンプレートや検索対象となる辞書中の単語
数は通常きわめて多数であり、そのそれぞれと入力ラベ
ル系列との距離を上記手法を用いて計算することになる
ので、やはり計算速度の問題が残る。
この問題に対処するために大きく分けて2つの手法が現
在までに開発されてきた。つぎにその手法と問題点を述
べる。
在までに開発されてきた。つぎにその手法と問題点を述
べる。
(a) ビームサーチ 前述の事実から明らかなように入力ラベル系列と辞書中
の1つのラベル系列との間でDP計算を行うには計mステ
ージの計算が必要である。そこで、1つのテンプレート
について全ステージ計算を行うのではなく、全テンプレ
ートについて1ステージずつ計算を行ない、距離が最小
とる可能性が低いテンプレートについては、以後のステ
ージ計算を中止する手法を採用すれば、残ったテンプレ
ートについてのみ続くステージの計算を実施することに
より、漸化式計算の回数が減少し速度の向上が期待でき
る。この手法が、ビームサーチと呼ばれる。どのような
基準によりステージ計算を打ち切るかについては、各時
点での上位N個を残す、g(i,j)がjに関する累積量
であるからt(j)=a・j+bなる閾値関数を越えた
場合は打ち切る(a,bは固定係数)などさまざまな手法
が提案されている。しかしながら、いずれにせよ、可能
性が低いことをもって対象から除外するわけであるか
ら、結果として得られた距離の最小値は近似解にすぎず
最適であるとは保証できない。もちろん打ち切りの基準
を十分あまくすれば得られた解は最適になるが、それは
ビームサーチの趣旨に反し、大きな速度向上は期待でき
ない。
の1つのラベル系列との間でDP計算を行うには計mステ
ージの計算が必要である。そこで、1つのテンプレート
について全ステージ計算を行うのではなく、全テンプレ
ートについて1ステージずつ計算を行ない、距離が最小
とる可能性が低いテンプレートについては、以後のステ
ージ計算を中止する手法を採用すれば、残ったテンプレ
ートについてのみ続くステージの計算を実施することに
より、漸化式計算の回数が減少し速度の向上が期待でき
る。この手法が、ビームサーチと呼ばれる。どのような
基準によりステージ計算を打ち切るかについては、各時
点での上位N個を残す、g(i,j)がjに関する累積量
であるからt(j)=a・j+bなる閾値関数を越えた
場合は打ち切る(a,bは固定係数)などさまざまな手法
が提案されている。しかしながら、いずれにせよ、可能
性が低いことをもって対象から除外するわけであるか
ら、結果として得られた距離の最小値は近似解にすぎず
最適であるとは保証できない。もちろん打ち切りの基準
を十分あまくすれば得られた解は最適になるが、それは
ビームサーチの趣旨に反し、大きな速度向上は期待でき
ない。
第4図に基づいて、ビームサーチの一例を説明する。閾
値関数は、t=(1/5)j+2である。また、ラベル間
の距離関数は、 d(C1,C2)=1 C1≠C2 d(C1,C2)=0 C1=C2 であり、漸化式としては、式(2)を用いる。入力beop
qrとテンプレートaeodefのDPについて言えば、4ステー
ジ目において、ステージ中の最小値(3)が、閾値(2.
8)を越えるので、この時点でDP計算が打ち切られる。
同様に、入力beopqrとテンプレートyyzwwとの間のDP計
算は、2ステージ目に打ち切られる。この様にして入力
ラベル系列の冒頭部とよくマッチしないが故にDP計算を
打ち切られるテンプレートの中には、本来最適解として
選ばれるべきものが含まれている可能性がある。これ
が、ビームサーチの大きな欠点である。
値関数は、t=(1/5)j+2である。また、ラベル間
の距離関数は、 d(C1,C2)=1 C1≠C2 d(C1,C2)=0 C1=C2 であり、漸化式としては、式(2)を用いる。入力beop
qrとテンプレートaeodefのDPについて言えば、4ステー
ジ目において、ステージ中の最小値(3)が、閾値(2.
8)を越えるので、この時点でDP計算が打ち切られる。
同様に、入力beopqrとテンプレートyyzwwとの間のDP計
算は、2ステージ目に打ち切られる。この様にして入力
ラベル系列の冒頭部とよくマッチしないが故にDP計算を
打ち切られるテンプレートの中には、本来最適解として
選ばれるべきものが含まれている可能性がある。これ
が、ビームサーチの大きな欠点である。
本手法はH.Neyらの論文“A data driven organization
of the dynamic programming beam search for continu
ous speech recognition"Proc.ICASSP 87,pp.833−836,
1987に記載されている。
of the dynamic programming beam search for continu
ous speech recognition"Proc.ICASSP 87,pp.833−836,
1987に記載されている。
(b) スタックDP 2つのテンプレートが存在するとき、漸化式(2)の性
質からそれぞれの第jpおよびjqステージの結果が同じで
かつjp+1、jq+1番目のラベルが同一ならば、それらのス
テージにおける結果も同一となる。このことは複数のテ
ンプレートが同一のラベル系列を共有しているならば当
該ステージにおける計算をそれぞれについて行う必要は
ないことを示している。そこで各テンプレートの共有部
分ラベル系列を1つにまとめ、テンプレート群をアサイ
クリック・プレーナー・グラフで表現し、共有部分に対
する漸化式計算を1回で済ませるという手法が提案され
ている。これがスタックDPである(漸化式計算にスタッ
クを使用することからこう呼ばれる)。
質からそれぞれの第jpおよびjqステージの結果が同じで
かつjp+1、jq+1番目のラベルが同一ならば、それらのス
テージにおける結果も同一となる。このことは複数のテ
ンプレートが同一のラベル系列を共有しているならば当
該ステージにおける計算をそれぞれについて行う必要は
ないことを示している。そこで各テンプレートの共有部
分ラベル系列を1つにまとめ、テンプレート群をアサイ
クリック・プレーナー・グラフで表現し、共有部分に対
する漸化式計算を1回で済ませるという手法が提案され
ている。これがスタックDPである(漸化式計算にスタッ
クを使用することからこう呼ばれる)。
その例を第5図に示す。(a)はテンプレートを1つの
グラフで表現した例で各ノードが1つのラベルに相当す
る。分岐の数は任意であるが本例では簡単のため2分岐
の場合のみを考える。(b)は計算に使用するスタック
で1ステージ分の計算結果が格納できるだけの容量
(幅)をもつ。(c)は計算過程でのスタックの状態を
示している。斜線部は、ステージ計算が行なわれるスタ
ックレベルを示している。スタックDPではスタックを使
用しながらグラフの方向に沿って順に各ステージの漸化
式計算を行う(A→B)。グラフが分岐点に達すると、
新たに2つのスタックを使用し直前のスタックの結果を
複写(B)した後、各分岐のラベル系列に対応してそれ
ぞれのステージ計算を実施する(B→C)。そして合流
点に達したならば2つのスタック中の計算結果を比較し
小さい方を元の(分岐以前のステージ計算に使用してい
た)スタックに書き込む(C)。この書き込まれたスタ
ックとその値を用いてグラフが再び分岐するか終端に達
するまで漸化式計算を続行する(C→D)。グラフが分
岐・合流するたびに同様の操作、計算を実施してグラフ
の終端に達したとき第一レベルのスタックに保持されて
いるステージの値をG(i)(i=1,...n)とすると、
G(n)は最適な(距離最小の)テンプレートとの距離
である。本手法については迫江著の論文“ある拡張され
たDPマッチング法−スタックDPマッチング−”日本音響
学会音声研究会資料S83−23,1983にその詳細な説明があ
る。
グラフで表現した例で各ノードが1つのラベルに相当す
る。分岐の数は任意であるが本例では簡単のため2分岐
の場合のみを考える。(b)は計算に使用するスタック
で1ステージ分の計算結果が格納できるだけの容量
(幅)をもつ。(c)は計算過程でのスタックの状態を
示している。斜線部は、ステージ計算が行なわれるスタ
ックレベルを示している。スタックDPではスタックを使
用しながらグラフの方向に沿って順に各ステージの漸化
式計算を行う(A→B)。グラフが分岐点に達すると、
新たに2つのスタックを使用し直前のスタックの結果を
複写(B)した後、各分岐のラベル系列に対応してそれ
ぞれのステージ計算を実施する(B→C)。そして合流
点に達したならば2つのスタック中の計算結果を比較し
小さい方を元の(分岐以前のステージ計算に使用してい
た)スタックに書き込む(C)。この書き込まれたスタ
ックとその値を用いてグラフが再び分岐するか終端に達
するまで漸化式計算を続行する(C→D)。グラフが分
岐・合流するたびに同様の操作、計算を実施してグラフ
の終端に達したとき第一レベルのスタックに保持されて
いるステージの値をG(i)(i=1,...n)とすると、
G(n)は最適な(距離最小の)テンプレートとの距離
である。本手法については迫江著の論文“ある拡張され
たDPマッチング法−スタックDPマッチング−”日本音響
学会音声研究会資料S83−23,1983にその詳細な説明があ
る。
本手法によれば必ず最適解が得られることが保証でき
る。しかしながら基本的にグラフのすべてについてDP計
算を行うことを前提にしているため、共有部分系列にお
ける計算の省略以上の速度向上は望めない。また各テン
プレートから最も共通部分が多くなるアサイクリック・
プレーナー・グラフを作成するにはすべてのテンプレー
ト間の共用部分ラベル系列を求め、より長い部分系列か
ら矛盾なく順にまとめるという作業が必要であり、数多
くのテンプレートに対しては多くの計算コストを必要と
する上、テンプレートの追加・削除も繁雑である。
る。しかしながら基本的にグラフのすべてについてDP計
算を行うことを前提にしているため、共有部分系列にお
ける計算の省略以上の速度向上は望めない。また各テン
プレートから最も共通部分が多くなるアサイクリック・
プレーナー・グラフを作成するにはすべてのテンプレー
ト間の共用部分ラベル系列を求め、より長い部分系列か
ら矛盾なく順にまとめるという作業が必要であり、数多
くのテンプレートに対しては多くの計算コストを必要と
する上、テンプレートの追加・削除も繁雑である。
C.問題を解決するための手段 第1図は、本発明の概略を示す。本発明は、テンプレー
トを形成するラベル系列が複数ある場合のDPマッチング
方法及び装置であって、以下の特徴を有する。
トを形成するラベル系列が複数ある場合のDPマッチング
方法及び装置であって、以下の特徴を有する。
(a)上記複数のラベル系列から、各ラベルが1つのノ
ードに対応する木構造辞書11を作成して記憶装置12に保
持する。
ードに対応する木構造辞書11を作成して記憶装置12に保
持する。
(b)上記木構造辞書11の各ラベルのノードについて、
上記記憶装置12中にバッファ領域を確保する。
上記記憶装置12中にバッファ領域を確保する。
(c)深さ方向に木構造辞書11のノードを選び(13)、
選ばれたノードに対応するラベルについて、入力ラベル
系列とのステージ計算を行ない(14)、その結果を該選
ばれたノードについて確保されたバッファに保持する事
を繰り返す。繰り返されるステップは、以下のサブ・ス
テップを含む。
選ばれたノードに対応するラベルについて、入力ラベル
系列とのステージ計算を行ない(14)、その結果を該選
ばれたノードについて確保されたバッファに保持する事
を繰り返す。繰り返されるステップは、以下のサブ・ス
テップを含む。
(c1)選ばれたノードの祖先ノードのバッファに保持さ
れているステージ計算結果を参照して、該選ばれたノー
ドについてのステージ計算を行なう(14)。
れているステージ計算結果を参照して、該選ばれたノー
ドについてのステージ計算を行なう(14)。
(c2)上記選ばれたノードに続く所定範囲の子孫ノード
のラベルの中から、次のステージ計算のために選ばれる
べきノードとして最適なものを、少なくとも上記選ばれ
たノードを含む所定範囲のノードのバッファに保持され
ているステージ計算結果を参照して決定し、該決定され
たノードを次のステージ計算が行なわれるノードとして
選択する(13)。
のラベルの中から、次のステージ計算のために選ばれる
べきノードとして最適なものを、少なくとも上記選ばれ
たノードを含む所定範囲のノードのバッファに保持され
ているステージ計算結果を参照して決定し、該決定され
たノードを次のステージ計算が行なわれるノードとして
選択する(13)。
(d)1テンプレートの終端に該当するノードについて
ステージ計算を行ったのち、該終端ノードについて得ら
れたステージ計算結果に基づいて、該テンプレートと入
力ラベル系列の距離を求め、これを該テンプレートの識
別データとともに解候補情報として上記記憶装置に蓄え
る(16)。
ステージ計算を行ったのち、該終端ノードについて得ら
れたステージ計算結果に基づいて、該テンプレートと入
力ラベル系列の距離を求め、これを該テンプレートの識
別データとともに解候補情報として上記記憶装置に蓄え
る(16)。
さらに、上記ステップ(c)において、 サブ・ステップ(c1)を実行して得られた計算結果のう
ちの最小値に基づいて、選ばれたノードに対応するラベ
ルを含むテンプレートと入力ラベル系列の距離として将
来求まりうる最小値を予測し、該予測値をすでに解候補
情報として蓄えられている距離と比較し、比較結果に基
づいて、サブ・ステップ(c2)を実行するか否かを判断
する(15)。
ちの最小値に基づいて、選ばれたノードに対応するラベ
ルを含むテンプレートと入力ラベル系列の距離として将
来求まりうる最小値を予測し、該予測値をすでに解候補
情報として蓄えられている距離と比較し、比較結果に基
づいて、サブ・ステップ(c2)を実行するか否かを判断
する(15)。
さらに、上記ステップ(d)において、 1テンプレートの終端に該当するノードについてステー
ジ計算を行う度に、該終端ノードを含むテンプレートに
ついて得られた距離D′を、すでに解候補として蓄えら
れている距離Dと比較し、比較結果に基づいて、解候補
情報を更新するか否かを判断する(16)。
ジ計算を行う度に、該終端ノードを含むテンプレートに
ついて得られた距離D′を、すでに解候補として蓄えら
れている距離Dと比較し、比較結果に基づいて、解候補
情報を更新するか否かを判断する(16)。
D.実施例 従来技術の説明の場合と同様Aを入力ラベル系列、Bを
辞書中のテンプレートの1つとする。入力ラベル系列
は、典型的には、文字認識装置、あるいは音声認識装置
から送られてくる。漸化式(2)の性質上、第xステー
ジの値が求まっていると仮定すると、この値とbx+1、そ
れに入力ラベル系列Aから第x+1ステージの値(g
(i,x+1))がすべて求まることは明らかである(第
3図参照)。そこで各テンプレートを、各ノードがラベ
ルに、そして各アクセスパスが1つのテンプレートに対
応する木構造で表現することを考える。例として3つの
ラベル系列abcd,afhik,abpqを用いると第2図のような
木が得られることになる。各ノード(N1,N2,N3...)に
は対応するラベル、そのラベルに続き得るラベルとその
ノードへのポインター、および現ノードからたどり得る
アクセスパスの長さ(根から数えた階層数)の最大値が
記述されている。第2図では、a,fについて、アクセス
パスの最大長が5であり、bについて、アクセセパスの
最大長が4であることが示されている。なお、各アクセ
スパスには、識別子が付与される(P1,P2,P3....)。各
ノードには、n個の配列をもつ(言い換えれば1ステー
ジの計算結果が格納できる)バツファーが用意されてお
り、そのノードに対応するステージの結果(g(i,nes
t),nestは根から数えた階層数)が格納される。たとえ
ばノードN2にはテンプレートabcd、およびabpqに対する
g(1,2)が格納されることになる(この場合先頭から
当該ノードまでの部分系列が等しいテンプレートに対し
g(i,j)(j=1,...,nest)が一致することに注
意)。このような木構造とバッファーを利用すれば、前
述の漸化式の性質と合わせて、すべてのノードでのステ
ージ計算はその親ノードに対応するバッファー中の値と
ノードに記述されたラベルから計算できることになる。
さらにあるノードで対応するバッファー中の値を利用す
れば、局所的に最良な次の枝、すなわちテンプレート群
を選択することができる。もちろん最良であることの定
義はさまざまなものが考えられるが、たとえばiの関数
であるg(i,nest)がi=i0で最小値をとるものとする
と、ai0+1との距離が最も小さくなる枝をもって最良と
考えることができる。そして当該アクセスパスに対応す
るテンプレート群との距離は少なくともg(i0,nest)
/(n+現ノードに続くアクセスパスの最大長)以上で
あるので、仮にその値よりも小さな距離をもつアクセス
パスがすでに見つかっているとすると、現ノードに続く
アクセスパスが距離最小となることはありえない。よっ
て、後続の枝についてのステージ計算を打ち切ってよ
い。本発明のポイントは、常に局所的な最良な枝を選択
しながら、深さ優先で木の探索を実施し、できる限り早
い段階で距離が最も小さいテンプレートに対応するアク
セスパスに到達すること、および各時点での最小距離、
およびそのアクセスパスを大域変数min_distとpot_path
(第2図参照)に格納しておき、漸化式の途中結果がそ
の値を上回った段階で当該ノードに続くパスのステージ
計算を打ち切ることにある。
辞書中のテンプレートの1つとする。入力ラベル系列
は、典型的には、文字認識装置、あるいは音声認識装置
から送られてくる。漸化式(2)の性質上、第xステー
ジの値が求まっていると仮定すると、この値とbx+1、そ
れに入力ラベル系列Aから第x+1ステージの値(g
(i,x+1))がすべて求まることは明らかである(第
3図参照)。そこで各テンプレートを、各ノードがラベ
ルに、そして各アクセスパスが1つのテンプレートに対
応する木構造で表現することを考える。例として3つの
ラベル系列abcd,afhik,abpqを用いると第2図のような
木が得られることになる。各ノード(N1,N2,N3...)に
は対応するラベル、そのラベルに続き得るラベルとその
ノードへのポインター、および現ノードからたどり得る
アクセスパスの長さ(根から数えた階層数)の最大値が
記述されている。第2図では、a,fについて、アクセス
パスの最大長が5であり、bについて、アクセセパスの
最大長が4であることが示されている。なお、各アクセ
スパスには、識別子が付与される(P1,P2,P3....)。各
ノードには、n個の配列をもつ(言い換えれば1ステー
ジの計算結果が格納できる)バツファーが用意されてお
り、そのノードに対応するステージの結果(g(i,nes
t),nestは根から数えた階層数)が格納される。たとえ
ばノードN2にはテンプレートabcd、およびabpqに対する
g(1,2)が格納されることになる(この場合先頭から
当該ノードまでの部分系列が等しいテンプレートに対し
g(i,j)(j=1,...,nest)が一致することに注
意)。このような木構造とバッファーを利用すれば、前
述の漸化式の性質と合わせて、すべてのノードでのステ
ージ計算はその親ノードに対応するバッファー中の値と
ノードに記述されたラベルから計算できることになる。
さらにあるノードで対応するバッファー中の値を利用す
れば、局所的に最良な次の枝、すなわちテンプレート群
を選択することができる。もちろん最良であることの定
義はさまざまなものが考えられるが、たとえばiの関数
であるg(i,nest)がi=i0で最小値をとるものとする
と、ai0+1との距離が最も小さくなる枝をもって最良と
考えることができる。そして当該アクセスパスに対応す
るテンプレート群との距離は少なくともg(i0,nest)
/(n+現ノードに続くアクセスパスの最大長)以上で
あるので、仮にその値よりも小さな距離をもつアクセス
パスがすでに見つかっているとすると、現ノードに続く
アクセスパスが距離最小となることはありえない。よっ
て、後続の枝についてのステージ計算を打ち切ってよ
い。本発明のポイントは、常に局所的な最良な枝を選択
しながら、深さ優先で木の探索を実施し、できる限り早
い段階で距離が最も小さいテンプレートに対応するアク
セスパスに到達すること、および各時点での最小距離、
およびそのアクセスパスを大域変数min_distとpot_path
(第2図参照)に格納しておき、漸化式の途中結果がそ
の値を上回った段階で当該ノードに続くパスのステージ
計算を打ち切ることにある。
本実施例では最初に上記木構造辞書の作成法について説
明し、その後同辞書を利用したDPマッチング計算法を述
べる。
明し、その後同辞書を利用したDPマッチング計算法を述
べる。
(a) 複数ラベル系列による木構造辞書の作成 本辞書の作成は枝を持たない根だけの辞書に対して各ラ
ベル系列に対応する枝を順に追加することにより行なわ
れる。したがって追加に伴う処理を最初に述べ、その後
辞書作成とラベル系列の削除について言及する(第6図
参照)。
ベル系列に対応する枝を順に追加することにより行なわ
れる。したがって追加に伴う処理を最初に述べ、その後
辞書作成とラベル系列の削除について言及する(第6図
参照)。
STEP S11 ラベルポインター(i)を追加する系列の先頭に置く
(i←1)。
(i←1)。
現ノードを根ノードに置く。
STEP S12 ラベルポインターが指しているラベル(bi)を読み出
す。
す。
ラベル系列が終了しもはや読み出すべきラベルが存在し
ないならばSTEP S16へ行く(終了条件) STEP S13 現ノードからラベルbiに対応する枝が続いているならば
現ノードをその枝の先に位置するノードに移動した後、
STEP S15へ行く。該当する枝が存在しないときはSTEP S
14へ行く。
ないならばSTEP S16へ行く(終了条件) STEP S13 現ノードからラベルbiに対応する枝が続いているならば
現ノードをその枝の先に位置するノードに移動した後、
STEP S15へ行く。該当する枝が存在しないときはSTEP S
14へ行く。
STEP S14 現ノードからラベルbiに対応する枝を伸ばし、その先に
新たなノードを作成する。現ノードをその新しいノード
に移動した後STEP S15へ行く。
新たなノードを作成する。現ノードをその新しいノード
に移動した後STEP S15へ行く。
STEP S15 ラベルポインターを1つ勧める(i←i+1)。
STEP S12へ行く。
なお、ノードの作成とともに、バッファも確保される。
バッファは、ノードの外にあってノードとポインタによ
って結合されてもよいし、ノードの中に含まれていても
よい。
バッファは、ノードの外にあってノードとポインタによ
って結合されてもよいし、ノードの中に含まれていても
よい。
STEP S16 現ノードが追加されたラベル系列の終端であることを示
すフラグと対応する系列の識別子を当該現ノードに書き
込む(終了処理)。
すフラグと対応する系列の識別子を当該現ノードに書き
込む(終了処理)。
前述のように辞書は複数のラベル系列を含む系列集合か
ら1つずつラベル系列を取り出し(その順序は任意でよ
い)上記S11−S16の処理を繰り返し実施することにより
作成される。系列の削除についても当該ラベル系列から
順にラベルを読み出しながら対応する枝をたどる過程は
まったく同じである。そして終了条件を現ノードの子孫
に対応するラベル系列の数が1つだけであること、終了
処理を当該枝(現ノードより先の部分)を削除すること
に置き換えればよい。
ら1つずつラベル系列を取り出し(その順序は任意でよ
い)上記S11−S16の処理を繰り返し実施することにより
作成される。系列の削除についても当該ラベル系列から
順にラベルを読み出しながら対応する枝をたどる過程は
まったく同じである。そして終了条件を現ノードの子孫
に対応するラベル系列の数が1つだけであること、終了
処理を当該枝(現ノードより先の部分)を削除すること
に置き換えればよい。
(b) DPマッチング計算 本発明の中心であるDPマッチング計算の手続きを第6図
および第7図を用いて述べる。最初に1つのノードにつ
いて行なわれる手続きPについて説明し、その後手続き
Pを呼び出してDP計算が行なわれる過程を述べる。
および第7図を用いて述べる。最初に1つのノードにつ
いて行なわれる手続きPについて説明し、その後手続き
Pを呼び出してDP計算が行なわれる過程を述べる。
手続き P 本手続きは、3つの引き数、すなわち、親ノードを指す
ポインター(arg1)、ステージ計算を実施する現ノード
へのポインター(arg2)、および木の根から数えた階層
の数(arg3)、とともに再帰的に呼び出される。第7図
は各ノード毎に実施される本手続きPの処理手順を示し
ている。
ポインター(arg1)、ステージ計算を実施する現ノード
へのポインター(arg2)、および木の根から数えた階層
の数(arg3)、とともに再帰的に呼び出される。第7図
は各ノード毎に実施される本手続きPの処理手順を示し
ている。
STEP P1 変数nestの値をarg3とする。
変数max_nestの値を現ノードに後続するアクセスパスの
最大長とする。
最大長とする。
各i(i=1,...,n)について、 現ノードのg(i,nest)を、親ノードのバッファー中に
あるステージ計算の結果g(i,nest−1)から漸化式
(2)に基づいて計算し、現ノードに対応するバッファ
ーに格納する。
あるステージ計算の結果g(i,nest−1)から漸化式
(2)に基づいて計算し、現ノードに対応するバッファ
ーに格納する。
STEP P2 STEP P1で得られた値(ベクトル)g(i,nest)の中の
最小値を与えるiの値i0を求める(第3図参照)。
最小値を与えるiの値i0を求める(第3図参照)。
STEP P3 現ノードが木の枝の終端ならばSETP P4へ行く。
そうでないならば、P5へ行く。
なお、ここでいう終端とは1テンプレートが終了してい
るノードのことであり、必ずしも木構造でいう終端では
ない。例えば、テンプレートpqrとpqrsが存在する場
合、rは、1テンプレートが終了するノードではあるけ
れども、木構造における終端ではない。ノードが終端で
あるか否かの判断は、上記STEP S16で与えられたフラグ
情報に基づいて判断される。
るノードのことであり、必ずしも木構造でいう終端では
ない。例えば、テンプレートpqrとpqrsが存在する場
合、rは、1テンプレートが終了するノードではあるけ
れども、木構造における終端ではない。ノードが終端で
あるか否かの判断は、上記STEP S16で与えられたフラグ
情報に基づいて判断される。
STEP P4 現ノードのg(n,nest)/(n+nest)がmin_distより
小さいならば min_dist←g(n,nest)/(n+nest) opt_path←木の根から現ノードまでのパスに対応するテ
ンプレート と置く。
小さいならば min_dist←g(n,nest)/(n+nest) opt_path←木の根から現ノードまでのパスに対応するテ
ンプレート と置く。
STEP P5 g(i0,nest)/(n+max_nest)がmin_distより大き
いならば以後のステージ計算を打ち切り呼び出した手続
きへ戻る。なお、リターンとはバックトラックのことを
意味し、本実施例では、直接の祖先ノードに戻ることを
意味する。
いならば以後のステージ計算を打ち切り呼び出した手続
きへ戻る。なお、リターンとはバックトラックのことを
意味し、本実施例では、直接の祖先ノードに戻ることを
意味する。
STEP P6 まだ選択されていない枝の中からai0+1との距離が最も
小さい枝、つまり次ノードを選択し、arg1、arg2、arg3
をそれぞれ現ノード、次ノードへのポインター、および
nest+1に置き換えた上で手続きPを呼び出す。
小さい枝、つまり次ノードを選択し、arg1、arg2、arg3
をそれぞれ現ノード、次ノードへのポインター、および
nest+1に置き換えた上で手続きPを呼び出す。
STEP P7 すべての枝についてPを呼び出したならば呼び出した手
続きに戻る。そうでないならばP6へ行く。
続きに戻る。そうでないならばP6へ行く。
したがって本手続きはノードを次々に選択しながら各ノ
ードでまったく同じ操作を行うことになり結果として木
全体を探索することになる。
ードでまったく同じ操作を行うことになり結果として木
全体を探索することになる。
手続きPを用いて本手法全体の処理手順はつぎのように
記述できる(第7図参照)。
記述できる(第7図参照)。
計算過程 STEP S21 各iについて初期値g(i,0)を根ノード(第2図で言
えば、Root)に対応するバッファーに格納する。
えば、Root)に対応するバッファーに格納する。
min_distに十分大きな初期値を入れる。
STEP S22 a1との距離が小さい順に枝を選択。初期ノードとする。
arg1,arg2,arg3をそれぞれ根ノードへのポインター、初
期ノードへのポインター、1とし手続きPを呼び出す。
arg1,arg2,arg3をそれぞれ根ノードへのポインター、初
期ノードへのポインター、1とし手続きPを呼び出す。
STEP S23 すべての枝について計算が終了したならば、min_distに
最小の距離が、opt_pathにその最小の距離を与えるラベ
ル系列(アクセスパス)の識別子が得られるのでその値
を参照する。また枝が残っているならばSTEP S22へ行
く。
最小の距離が、opt_pathにその最小の距離を与えるラベ
ル系列(アクセスパス)の識別子が得られるのでその値
を参照する。また枝が残っているならばSTEP S22へ行
く。
ここで、バックトラックおよびこれに伴う処理につい
て、第2図に基づいて説明する。今、初めて木構造の終
端(k)に到達したものとする。このとき、min−dist
には、ラベル系列afhikについての距離値Dが蓄えられ
るとともに、識別子P1がopt−pathに蓄えられる。さ
て、kからiへバックトラックしても、ほかにiから分
岐する枝がないので、iからhへさらにバックトラック
する。この様な事を繰り返した後、aに至る。説明の便
宜上、aから分岐する枝のうちのB1が選択済みである事
は記憶されているものとする。aのバッファを参照すれ
ば、aにおけるステージ計算を最小にするai0がわかる
ので、b,mのうちai0+1により近いのはどちらかが分か
る。今、bが選ばれたなら、bについて手続きPが呼び
出される。bについてステージ計算を行った結果の最小
値に基づき、STEP P5のようにして求めた予測値D′
が、Dより大きいならば、枝B2に関する一切の処理が打
ち切られる。このように、Dを閾値として用いる事によ
り、多くのノードについてステージ計算を省く事ができ
る。これが、本発明の大きな特徴である。もしD′がD
より小さいなら、cまたはpのいずれかが選ばれ、手続
きPが再帰的によびだされる。もしdにまで至ったら、
最適解情報を更新すべきか否かが判断される。もしテン
プレートP2についての距離D″がD以上なら、最適解情
報は更新されない。もしD″がDより小さいなら、D″
がmin−distに、P2がopt−pathに、それぞれ蓄積され
る。
て、第2図に基づいて説明する。今、初めて木構造の終
端(k)に到達したものとする。このとき、min−dist
には、ラベル系列afhikについての距離値Dが蓄えられ
るとともに、識別子P1がopt−pathに蓄えられる。さ
て、kからiへバックトラックしても、ほかにiから分
岐する枝がないので、iからhへさらにバックトラック
する。この様な事を繰り返した後、aに至る。説明の便
宜上、aから分岐する枝のうちのB1が選択済みである事
は記憶されているものとする。aのバッファを参照すれ
ば、aにおけるステージ計算を最小にするai0がわかる
ので、b,mのうちai0+1により近いのはどちらかが分か
る。今、bが選ばれたなら、bについて手続きPが呼び
出される。bについてステージ計算を行った結果の最小
値に基づき、STEP P5のようにして求めた予測値D′
が、Dより大きいならば、枝B2に関する一切の処理が打
ち切られる。このように、Dを閾値として用いる事によ
り、多くのノードについてステージ計算を省く事ができ
る。これが、本発明の大きな特徴である。もしD′がD
より小さいなら、cまたはpのいずれかが選ばれ、手続
きPが再帰的によびだされる。もしdにまで至ったら、
最適解情報を更新すべきか否かが判断される。もしテン
プレートP2についての距離D″がD以上なら、最適解情
報は更新されない。もしD″がDより小さいなら、D″
がmin−distに、P2がopt−pathに、それぞれ蓄積され
る。
以上本発明を特定の実施例について説明したが、本発明
がその効果をもつ範囲は上述実施例に限定されるもので
はない。発明が適用可能であるための必要条件は照合さ
れるラベル系列間の距離にDPが適用可能であり、その結
果漸化式を用いて計算可能であることのみである。した
がってその趣旨を逸脱しない範囲で変更を行うことがで
きる。以下その例について述べる。
がその効果をもつ範囲は上述実施例に限定されるもので
はない。発明が適用可能であるための必要条件は照合さ
れるラベル系列間の距離にDPが適用可能であり、その結
果漸化式を用いて計算可能であることのみである。した
がってその趣旨を逸脱しない範囲で変更を行うことがで
きる。以下その例について述べる。
1) (1)式は対応付けの経路長を考慮した距離尺度
であるが、対応付けの経路長を考慮しない距離であって
もよい。その場合にはg(n,m)がそのままで距離の値
に等しいので、木のノードごとに後続アクセスパスの最
大長を記述する必要はない。そしてSTEP P4、P5でもg
(n,nest)やg(i0,nest)とmin_distを直接比較すれ
ばよい。
であるが、対応付けの経路長を考慮しない距離であって
もよい。その場合にはg(n,m)がそのままで距離の値
に等しいので、木のノードごとに後続アクセスパスの最
大長を記述する必要はない。そしてSTEP P4、P5でもg
(n,nest)やg(i0,nest)とmin_distを直接比較すれ
ばよい。
2) 上記例では隣接2項間の漸化式内を用いたが、親
ノードばかりでなく、より祖先のノードへのポインター
も引き数として渡すことにより任意項間の漸化式を用い
る事も可能である。もちろん本発明の適用範囲は各項の
係数に依存するものではない。実際、距離の定義や、ど
のような対応付けを許すかにより漸化式は変化する。第
9図(a)に示すように、漸化式(2)は点(i,j)に
至る直前の点を(i−1,j)、(i,j−1)、(i−1,j
−1)の3点としているが、1つのラベルに他方の複数
ラベルを対応付けることや、必ずどれかに対応付けるこ
とが望ましくない場合もある。そのときにはたとえば照
合する2つのラベル系列の両端に任意のラベルと一致す
るラベルを追加してd(a1,b1)=d(an,bm)=0とな
るようにした後 αは対応付けないことに対するペナルティ といった漸化式を用いることになる(第9図(b)及び
(c)参照)。この場合にも本手法は同様に適用可能で
ある。
ノードばかりでなく、より祖先のノードへのポインター
も引き数として渡すことにより任意項間の漸化式を用い
る事も可能である。もちろん本発明の適用範囲は各項の
係数に依存するものではない。実際、距離の定義や、ど
のような対応付けを許すかにより漸化式は変化する。第
9図(a)に示すように、漸化式(2)は点(i,j)に
至る直前の点を(i−1,j)、(i,j−1)、(i−1,j
−1)の3点としているが、1つのラベルに他方の複数
ラベルを対応付けることや、必ずどれかに対応付けるこ
とが望ましくない場合もある。そのときにはたとえば照
合する2つのラベル系列の両端に任意のラベルと一致す
るラベルを追加してd(a1,b1)=d(an,bm)=0とな
るようにした後 αは対応付けないことに対するペナルティ といった漸化式を用いることになる(第9図(b)及び
(c)参照)。この場合にも本手法は同様に適用可能で
ある。
第9図(c)において、m=1,n=1,m=5,n=6の格子
点が、新しく付加されたダミーに由来するものである。
ダミーの付加に対応して木構造辞書を修正した1例を、
第10図に示す。この例では、根側と終端側にダミーのノ
ードが付加されている。漸化式(3)を用いる結果、テ
ンプレートP1において、たとえばfの次のラベルとして
iが選ばれうる事に注意されたい。ただ、その場合で
も、ラベルhについてステージ計算は行なわれねばなら
ない。というのはここで飛び越すべきか否かを判断する
ためにはラベルhに対応したステージ計算の結果を必要
とするからである。なお終端のダミーラベルへの到達を
もって、1テンプレートの終端への到達と判断され、そ
の時点で最適解情報の更新の可否が検討される。
点が、新しく付加されたダミーに由来するものである。
ダミーの付加に対応して木構造辞書を修正した1例を、
第10図に示す。この例では、根側と終端側にダミーのノ
ードが付加されている。漸化式(3)を用いる結果、テ
ンプレートP1において、たとえばfの次のラベルとして
iが選ばれうる事に注意されたい。ただ、その場合で
も、ラベルhについてステージ計算は行なわれねばなら
ない。というのはここで飛び越すべきか否かを判断する
ためにはラベルhに対応したステージ計算の結果を必要
とするからである。なお終端のダミーラベルへの到達を
もって、1テンプレートの終端への到達と判断され、そ
の時点で最適解情報の更新の可否が検討される。
第11図を参照して、飛越を許容する場合のステージ計算
の進め方を説明する。(i)いま、ラベルaのノードに
いるとする。aの次にステージ計算を行うラベルとして
mまたはfのどちらを選ぶかを判断するに際して、ステ
ージ(a)中の最小値g(io,2)とステージ(ダミー)
中の最小値g(ko,1)+α(飛び越すことのペナルテ
ィ)=αの両方を考慮する必要がある。今、仮にio=2
としよう。枝B,B′のうちどちらが入力ラベル系列に類
似しているかを判定するにあたって、まずaを飛び越す
場合(第12図(a))に対応して、m、fのうち、入力
ラベル系列中のl2との距離が小さい方のラベルtを選ぶ
とともに、aを飛び越さない場合(第12図(b))に対
応して、m、fのうちl3(io+1)との距離が小さい方
のラベルt′を選ぶ。次いで、g(ko,1)+α+d
(l2,t)とg(io,2)+d(l3,t′)を比較する。前者
が後者より大ならばaは飛び越されない。前者が後者よ
り小ならば、aは飛び越される。
の進め方を説明する。(i)いま、ラベルaのノードに
いるとする。aの次にステージ計算を行うラベルとして
mまたはfのどちらを選ぶかを判断するに際して、ステ
ージ(a)中の最小値g(io,2)とステージ(ダミー)
中の最小値g(ko,1)+α(飛び越すことのペナルテ
ィ)=αの両方を考慮する必要がある。今、仮にio=2
としよう。枝B,B′のうちどちらが入力ラベル系列に類
似しているかを判定するにあたって、まずaを飛び越す
場合(第12図(a))に対応して、m、fのうち、入力
ラベル系列中のl2との距離が小さい方のラベルtを選ぶ
とともに、aを飛び越さない場合(第12図(b))に対
応して、m、fのうちl3(io+1)との距離が小さい方
のラベルt′を選ぶ。次いで、g(ko,1)+α+d
(l2,t)とg(io,2)+d(l3,t′)を比較する。前者
が後者より大ならばaは飛び越されない。前者が後者よ
り小ならば、aは飛び越される。
(ii) (i)の結果、fが選ばれたなら、fのノード
について、親ノード(a)と祖父ノード(ダミー)で行
れたステージ計算結果を参照して、式(3)に基づき、
ステージ計算(図では斜線で示す)が行われる。
について、親ノード(a)と祖父ノード(ダミー)で行
れたステージ計算結果を参照して、式(3)に基づき、
ステージ計算(図では斜線で示す)が行われる。
(iii) fに続くラベルはhのみなので、(ii)と同
様、祖父ノード(a)と親ノード(f)のステージ計算
結果に基づき、ステージ計算が行われる。
様、祖父ノード(a)と親ノード(f)のステージ計算
結果に基づき、ステージ計算が行われる。
(iv) (iii)と同様の処理が繰り返される。
重要な点は次のとおりである。
(A)飛び越しを認める場合は、いくつかの候補の中か
ら次のステージ計算を行うノードを選ぶ際に、上記
(i)のような、飛び越した方が有利か否かの判断を行
う必要がある。
ら次のステージ計算を行うノードを選ぶ際に、上記
(i)のような、飛び越した方が有利か否かの判断を行
う必要がある。
(A)の判断のためには、飛び越されるラベルに対する
ステージ計算が終了している必要があるので、(必ず飛
び越すのでない限り)ステージ計算は、(ii)〜(iv)
のように1段ずつ進む。
ステージ計算が終了している必要があるので、(必ず飛
び越すのでない限り)ステージ計算は、(ii)〜(iv)
のように1段ずつ進む。
なお、第12図において、l1はダミーである。
3) 実施例では局所的に最良な次ノードを当該ステー
ジでg(i,j)が最小となる対応付けを基準に選択した
が、別の基準を追加してもよい。たとえば一般にDP計算
では極端に歪んだ対応付けを避けるため各ステージごと
に計算する範囲(iの範囲)を限定することがよく行な
われる。同様の考え方によれば局所的に最良の枝の選択
の際も対応付けの歪の程度を考慮すべきであろう。
ジでg(i,j)が最小となる対応付けを基準に選択した
が、別の基準を追加してもよい。たとえば一般にDP計算
では極端に歪んだ対応付けを避けるため各ステージごと
に計算する範囲(iの範囲)を限定することがよく行な
われる。同様の考え方によれば局所的に最良の枝の選択
の際も対応付けの歪の程度を考慮すべきであろう。
4) 再帰的な手続きであることは、表現が簡単になる
ため便利であるが本発明にとって本質的なものではな
い。同様の手続きを非再帰的に記述することは同業者に
とって容易であるため、詳細な説明は省略する。
ため便利であるが本発明にとって本質的なものではな
い。同様の手続きを非再帰的に記述することは同業者に
とって容易であるため、詳細な説明は省略する。
5) 本手法では、当該ノードの処理を終了するとバッ
クトラックを行う必要がある。実施例では単純に親ノー
ドにバックトラックしているが、g(i,j)とmid_dist
との差、および根からの階層数を考慮し、より祖先のノ
ードへ移動することも可能である。
クトラックを行う必要がある。実施例では単純に親ノー
ドにバックトラックしているが、g(i,j)とmid_dist
との差、および根からの階層数を考慮し、より祖先のノ
ードへ移動することも可能である。
E.本発明の効果 本発明によれば、 1)複数のテンプレートを各アクセスパスに対応するよ
うな木構造辞書にすることで先頭からの部分ラベル系列
が同一であるテンプレートについては重複する漸化式計
算が一度ですむ。
うな木構造辞書にすることで先頭からの部分ラベル系列
が同一であるテンプレートについては重複する漸化式計
算が一度ですむ。
2)必ず最適解が得られることが保証されている。
3)局所的に最もよく一致する枝を選択しながら深さ優
先でDP計算を行うことで距離最小となるアクセスパスへ
比較的早期に到達する。その結果として得られた最小距
離値を閾値として用いながら、他のテンプート群につい
てDP計算をおこない、DPの途中結果がその閾値を上回っ
た時点で当該テンプレート群に対応する計算が打ち切ら
れるため、全体としての漸化式計算回数は各テンプレー
トごとに行う場合と比較して著しく減少する。とくにテ
ンプレート群の少なくとも1つは入力ときわめて類似し
ている(距離がきわめて小さい)という仮定が成立する
ようなパターン認識の領域では効果が大きい。
先でDP計算を行うことで距離最小となるアクセスパスへ
比較的早期に到達する。その結果として得られた最小距
離値を閾値として用いながら、他のテンプート群につい
てDP計算をおこない、DPの途中結果がその閾値を上回っ
た時点で当該テンプレート群に対応する計算が打ち切ら
れるため、全体としての漸化式計算回数は各テンプレー
トごとに行う場合と比較して著しく減少する。とくにテ
ンプレート群の少なくとも1つは入力ときわめて類似し
ている(距離がきわめて小さい)という仮定が成立する
ようなパターン認識の領域では効果が大きい。
4)木構造を採用しているため記憶容量は若干多く必要
であるものの、テンプレート群をグループ化する作業
や、その追加・削除が特にアサイクリックグラフなどに
比較してきわめて容易、かつ高速である。
であるものの、テンプレート群をグループ化する作業
や、その追加・削除が特にアサイクリックグラフなどに
比較してきわめて容易、かつ高速である。
本発明を手書き数字認識でのパターンマッチングに用い
たところ(テンプレート数は約1000)個々に計算する場
合の約10倍の高速化を達成できた。
たところ(テンプレート数は約1000)個々に計算する場
合の約10倍の高速化を達成できた。
第1図は、本発明を用いたDPマッチング装置のシステム
構成図、第2図は、木構造辞書の1例の説明図、第3図
は、漸化式計算の説明図、第4図は、ビームサーチの説
明図、第5図は、スタックDPの説明図、第6図は、木構
造辞書の作成のためのフローチャート、第7図は、各ノ
ードで行うDP計算のフローチャート、第8図は、DP計算
全体を示すフローチャート、第9図は、漸化式計算にお
いて許される対応付けの説明図、第10図は、木構造辞書
の他の例の説明図、第11図は、第10図の木構造辞書に従
ってステージ計算が行われる過程の説明図、第12図
(a)および(b)は、入力ラベル系列とテンプレート
の対応づけの例を示す図である。
構成図、第2図は、木構造辞書の1例の説明図、第3図
は、漸化式計算の説明図、第4図は、ビームサーチの説
明図、第5図は、スタックDPの説明図、第6図は、木構
造辞書の作成のためのフローチャート、第7図は、各ノ
ードで行うDP計算のフローチャート、第8図は、DP計算
全体を示すフローチャート、第9図は、漸化式計算にお
いて許される対応付けの説明図、第10図は、木構造辞書
の他の例の説明図、第11図は、第10図の木構造辞書に従
ってステージ計算が行われる過程の説明図、第12図
(a)および(b)は、入力ラベル系列とテンプレート
の対応づけの例を示す図である。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 電子通信学会技術研究報告 Vol.85 No.242 PRL85〜57 1985年12月 19日「木表現を用いた手書き筆記体英小文 字の認識」鈴木 正,青木恭太 電子通信学会技術研究報告 Vol.87 No.331 PRU87−71 1987年12月 18日「DPマッチング法を応用して走り書 きハングルのオンライン認識」李,案郡 院,中嶋
Claims (12)
- 【請求項1】記憶装置に保持されたラベル系列(以下、
テンプレート)が複数ある場合に、上記複数のラベル系
列のなかから入力ラベル系列との距離が最小となるもの
を解として求めるためのDPマッチング方法であって、以
下のステップ(a)〜(d)を含む方法。 (a)上記テンプレートを形成する複数のラベル系列か
ら、ラベルがそれぞれ1つのノードに対応する木構造辞
書を作成して記憶装置に保持する。 (b)上記木構造辞書の各ラベルのノードについて、上
記記憶装置中にバッファ領域を確保する。 (c)深さ方向に木構造辞書のノードを選び、選ばれた
ノードに対応するラベルについて、入力ラベル系列との
漸化計算(以下、ステージ計算)を行ない、その結果を
該選ばれたノードについて確保されたバッファに保持す
る事を繰り返す。繰り返されるステップは、以下のサブ
・ステップ(c1)〜(c3)を含む。 (c1)選ばれたノードの直接の祖先ノードのバッファに
保持されているステージ計算結果を参照して、該選ばれ
たノードについてのステージ計算を行なう。 (c2)上記サブ・ステップ(c1)で得られたステージ計
算結果の最小値を与える入力ラベル系列中のラベルを発
見する。 (c3)上記選ばれたノードの直接の子孫ノードに対応す
るラベルの中から、入力ラベル系列中の上記サブステッ
プ(c2)で発見されたラベルの直後のラベルとの距離が
最小になるものを発見し、該発見されたラベルのノード
を次のステージ計算が行なわれるノードとして選択す
る。 (d)1テンプレートの終端に該当するノードについて
ステージ計算を行ったのち、該終端ノードについて得ら
れたステージ計算結果に基づいて、該テンプレートと入
力ラベル系列の距離を求め、これを該テンプレートの識
別データとともに解候補情報として上記記憶装置に蓄え
る。 - 【請求項2】上記ステップ(c)において、 サブ・ステップ(c1)を実行して得られた計算結果のう
ちの最小値に基づいて、選ばれたノードに対応するラベ
ルを含むテンプレートと入力ラベル系列の距離として将
来求まりうる最小値を予測し、該予測値をすでに解候補
情報として蓄えられている距離と比較し、比較結果に基
づいて、サブ・ステップ(c2)及び(c3)を実行するか
否かを判断することを特徴とする 請求項第1項に記載の方法。 - 【請求項3】上記ステップ(d)において、 1テンプレートの終端に該当するノードについてステー
ジ計算を行う度に、該終端ノードを含むテンプレートに
ついて得られた距離D′をすでに解候補として蓄えられ
ている距離Dと比較し、比較結果に基づいて、解候補情
報を更新するか否かを判断することを特徴とする 請求項第1項または第2項に記載の方法。 - 【請求項4】記憶装置に保持されたラベル系列(以下、
テンプレート)が複数ある場合に、上記複数のラベル系
列のなかから入力ラベル系列との距離が最小となるもの
を解として求めるためのDPマッチング方法であって、以
下のステップ(a)〜(d)を含む方法。 (a)上記テンプレートを形成する複数のラベル系列か
ら、ラベルがそれぞれ1つのノードに対応する木構造辞
書を作成して記憶装置に保持する。 (b)上記木構造辞書の各ラベルのノードについて、上
記記憶装置中にバッファ領域を確保する。 (c)深さ方向に木構造辞書のノードを選び、選ばれた
ノードに対応するラベルについて、入力ラベル系列との
漸化計算(以下、ステージ計算)を行ない、その結果を
該選ばれたノードについて確保されたバッファに保持す
る事を繰り返す。繰り返されるステップは以下のサブ・
ステップ(c1)、(c2)を含む。 (c1)選ばれたノードの祖先ノードのバッファに保持さ
れているステージ計算結果を参照して、該選ばれたノー
ドについてのステージ計算を行なう。 (c2)選ばれたノードに続く所定範囲の子孫ノードのラ
ベルの中から、次のステージ計算のために選ばれるべき
ノードとして最適なものを、少なくとも上記選ばれたノ
ードを含む所定範囲のノードのバッファに保持されてい
るステージ計算結果を参照して決定し、該決定されたノ
ードを次のステージ計算が行われるノードとして選択す
る。 (d)1テンプレートの終端に該当するノードについて
ステージ計算を行ったのち、該終端ノードについて得ら
れたステージ計算結果に基づいて、該テンプレートと入
力ラベル系列の距離を求め、これを該テンプレートの識
別データとともに解候補情報として上記記憶装置に蓄え
る。 - 【請求項5】上記ステップ(c)において、 サブ・ステップ(c1)を実行して得られた計算結果のう
ちの最小値に基づいて、選ばれたノードに対応するラベ
ルを含むテンプレートと入力ラベル系列の距離として将
来求まりうる最小値を予測し、該予測値をすでに解候補
情報として蓄えられている距離と比較し、比較結果に基
づいて、サブ・ステップ(c2)を実行するか否かを判断
することを特徴とする 請求項第4項に記載の方法。 - 【請求項6】上記ステップ(d)において、 1テンプレートの終端に該当するノードについてステー
ジ計算を行う度に、該終端ノードを含むテンプレートに
ついて得られた距離D′をすでに解候補として蓄えられ
ている距離Dと比較し、比較結果に基づいて、解候補情
報を更新するか否かを判断することを特徴とする 請求項第4項または第5項に記載の方法。 - 【請求項7】記憶装置に保持されたラベル系列(以下、
テンプレート)が複数ある場合に、上記複数のラベル系
列のなかから入力ラベル系列との距離が最小となるもの
を解として求めるためのDPマッチングを行う装置であっ
て、以下の要素(a)〜(d)を含む装置。 (a)記憶装置。 (b)テンプレートを形成する複数のラベル系列を受け
取り、ラベルがそれぞれ1つのノードに対応する木構造
辞書を作成して上記記憶装置を保持するとともに、該木
構造辞書の各ラベルのノードについて、上記記憶装置中
にバッファ領域を確保する手段。 (c)深さ方向に木構造辞書のノードを選び、選ばれた
ノードに対応するラベルについて、入力ラベル系列との
漸次計算(以下、ステージ計算)を行ない、その結果を
該選ばれたノードについて確保されたバッファに保持す
る動作を繰り返す手段。繰り返される動作は、以下の要
素(c1)〜(C3)を含む。 (c1)選ばれたノードの直接の祖先ノードのバッファに
保持されているステージ計算結果を参照して、該選ばれ
たノードについてのステージ計算を行なう。 (c2)上記動作(c1)によって得られたステージ計算結
果の最小値を与える入力ラベル系列中のラベルを発見す
る。 (c3)上記選ばれたノードの直接の子孫ノードに対応す
るラベルの中から、入力ラベル系列中の上記ステップ
(c2)で発見されたラベルの直後のラベルとの距離が最
小になるものを発見し、該発見されたラベルのノードを
次のステージ計算が行なわれるノードとして選択する。 (d)1テンプレートの終端に該当するノードについて
ステージ計算を行ったのち、該終端ノードについて得ら
れたステージ計算結果に基づいて、該テンプレートと入
力ラベル系列の距離を求め、これを該テンプレートの識
別データとともに解候補情報として上記記憶装置に蓄え
る手段。 - 【請求項8】上記手段(c)は、 動作(c1)を実行して得られた計算結果のうちの最小値
に基づいて、選ばれたノードに対応するラベルを含むテ
ンプレートと入力ラベル系列の距離として将来求まりう
る最小値を予測し、該予測値をすでに解候補情報として
蓄えられている距離と比較し、比較結果に基づいて、動
作(c2)及び(c3)を実行するか否かを判断することを
特徴とする 請求項第7項に記載の装置。 - 【請求項9】上記手段(d)は、 1テンプレートの終端に該当するノードについてステー
ジ計算を行う度に、該終端ノードを含むテンプレートに
ついて得られた距離D′を、すでに解候補として蓄えら
れている距離Dと比較し、比較結果に基づいて、解候補
情報を更新するか否かを判断することを特徴とする 請求項第7項又は第8項記載の装置。 - 【請求項10】記憶装置に保持されたラベル系列(以
下、テンプレート)が複数ある場合に、上記複数のラベ
ル系列のなかから入力ラベル系列との距離が最小となる
ものを解として求めるためのDPマッチングを行う装置で
あって、以下の要素(a)〜(d)を含む手段。 (a)記憶装置。 (b)テンプレートを形成する複数のラベル系列を受け
取り、ラベルがそれぞれ1つのノードに対応する木構造
辞書を作成して上記記憶装置を保持するとともに、該木
構造辞書の各ラベルのノードについて、上記記憶装置中
にバッファ領域を確保する手段。 (c)深さ方向に木構造辞書のノードを選び、選ばれた
ノードに対応するラベルについて、入力ラベル系列との
漸化計算(以下、ステージ計算)を行ない、その結果を
該選ばれたノードについて確保されたバッファに保持す
る事を繰り返す手段。繰り返される動作は、以下の要素
(c1)、(c2)を含む。 (c1)選ばれたノードの祖先ノードのバッファに保持さ
れているステージ計算結果を参照して、該選ばれたノー
ドについてのステージ計算を行なう。 (c2)上記選ばれたノードに続く所定範囲の子孫ノード
のラベルの中から、次のステージ計算のために選ばれる
べきノードとして最適なものを、少なくとも上記選ばれ
たノードを含む所定範囲のノードのバッファに保持され
ているステージ計算結果を参照して決定し、該決定され
たノードを次のステージ計算が行われるノードとして選
択する。 (d)1テンプレートの終端に該当するノードについて
ステージ計算を行ったのち、該終端ノードについて得ら
れたステージ計算結果に基づいて、該テンプレートと入
力ラベル系列の距離を求め、これを該テンプレートの識
別データとともに解候補情報として上記記憶装置に蓄え
る手段。 - 【請求項11】上記手段(c)は、 動作(c1)を実行して得られた計算結果のうちの最小値
に基づいて、選ばれたノードに対応するラベルを含むテ
ンプレートと入力ラベル系列の距離として将来求まりう
る最小値を予測し、該予測値をすでに解候補情報として
蓄えられている距離と比較し、比較結果にもとづいて、
動作(c2)を実行するか否かを判断することを特徴とす
る 請求項第10項記載の装置。 - 【請求項12】上記手段(d)は、 1テンプレートの終端に該当するノードについてステー
ジ計算を行う度に、該終端ノードを含むテンプレートに
ついて得られた距離D′を、すでに解候補として蓄えら
れている距離Dと比較し、比較結果に基づいて、解候補
情報を更新するか否かを判断することを特徴とする 請求項第10項又は第11項記載の装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1070442A JPH0782544B2 (ja) | 1989-03-24 | 1989-03-24 | マルチテンプレートを用いるdpマツチング方法及び装置 |
EP19900303058 EP0389271A3 (en) | 1989-03-24 | 1990-03-21 | Matching sequences of labels representing input data and stored data utilising dynamic programming |
US07/498,310 US5067166A (en) | 1989-03-24 | 1990-03-23 | Method and apparatus for dp matching using multiple templates |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1070442A JPH0782544B2 (ja) | 1989-03-24 | 1989-03-24 | マルチテンプレートを用いるdpマツチング方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02250188A JPH02250188A (ja) | 1990-10-05 |
JPH0782544B2 true JPH0782544B2 (ja) | 1995-09-06 |
Family
ID=13431615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1070442A Expired - Lifetime JPH0782544B2 (ja) | 1989-03-24 | 1989-03-24 | マルチテンプレートを用いるdpマツチング方法及び装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5067166A (ja) |
EP (1) | EP0389271A3 (ja) |
JP (1) | JPH0782544B2 (ja) |
Families Citing this family (193)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5796410A (en) * | 1990-06-12 | 1998-08-18 | Lucent Technologies Inc. | Generation and use of defective images in image analysis |
WO1992012493A1 (en) * | 1990-12-31 | 1992-07-23 | Gte Laboratories Incorporated | Very fast approximate string matching algorithms for multiple errors spelling correction |
EP0498978A1 (en) * | 1991-02-13 | 1992-08-19 | International Business Machines Corporation | Mechanical recognition of characters in cursive script |
US5220614A (en) * | 1991-02-22 | 1993-06-15 | Professional Coin Grading Service, Inc. | Automated coin grading system |
US5159647A (en) * | 1991-03-04 | 1992-10-27 | David Sarnoff Research Center, Inc. | Fast and efficient search method for graphical data |
JP2980420B2 (ja) * | 1991-07-26 | 1999-11-22 | 富士通株式会社 | 動的計画法照合装置 |
US5189709A (en) * | 1991-08-26 | 1993-02-23 | The United States Of America As Represented By The United States National Aeronautics And Space Administration | Dynamic pattern matcher using incomplete data |
DE4130633A1 (de) * | 1991-09-14 | 1993-03-18 | Philips Patentverwaltung | Verfahren zum erkennen der gesprochenen woerter in einem sprachsignal |
US6418424B1 (en) | 1991-12-23 | 2002-07-09 | Steven M. Hoffberg | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US5901246A (en) * | 1995-06-06 | 1999-05-04 | Hoffberg; Steven M. | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US5903454A (en) | 1991-12-23 | 1999-05-11 | Hoffberg; Linda Irene | Human-factored interface corporating adaptive pattern recognition based controller apparatus |
US6400996B1 (en) | 1999-02-01 | 2002-06-04 | Steven M. Hoffberg | Adaptive pattern recognition based control system and method |
US10361802B1 (en) | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
US6850252B1 (en) | 1999-10-05 | 2005-02-01 | Steven M. Hoffberg | Intelligent electronic appliance system and method |
US5495591A (en) * | 1992-06-30 | 1996-02-27 | Bull Hn Information Systems Inc. | Method and system for cache miss prediction based on previous cache access requests |
US5628002A (en) * | 1992-11-02 | 1997-05-06 | Woodrum; Luther J. | Binary tree flag bit arrangement and partitioning method and apparatus |
US5392363A (en) * | 1992-11-13 | 1995-02-21 | International Business Machines Corporation | On-line connected handwritten word recognition by a probabilistic method |
US5734791A (en) * | 1992-12-31 | 1998-03-31 | Apple Computer, Inc. | Rapid tree-based method for vector quantization |
EP0650136B1 (en) * | 1993-10-22 | 2000-12-27 | Canon Kabushiki Kaisha | A comparison inequality function based method and apparatus for accelerated OCR correlation |
US6052481A (en) * | 1994-09-02 | 2000-04-18 | Apple Computers, Inc. | Automatic method for scoring and clustering prototypes of handwritten stroke-based data |
JP2741575B2 (ja) * | 1994-09-22 | 1998-04-22 | 日本アイ・ビー・エム株式会社 | 文字認識文字補完方法及びコンピュータ・システム |
JP3630734B2 (ja) * | 1994-10-28 | 2005-03-23 | キヤノン株式会社 | 情報処理方法 |
US5671403A (en) * | 1994-12-30 | 1997-09-23 | International Business Machines Corporation | Iterative dynamic programming system for query optimization with bounded complexity |
US5666469A (en) * | 1995-02-07 | 1997-09-09 | International Business Machines Corporation | Method for generating solutions for sequencing problems |
US5548755A (en) * | 1995-02-17 | 1996-08-20 | International Business Machines Corporation | System for optimizing correlated SQL queries in a relational database using magic decorrelation |
JP3627299B2 (ja) * | 1995-07-19 | 2005-03-09 | ソニー株式会社 | 音声認識方法及び装置 |
GB9602691D0 (en) * | 1996-02-09 | 1996-04-10 | Canon Kk | Word model generation |
US5794236A (en) * | 1996-05-29 | 1998-08-11 | Lexis-Nexis | Computer-based system for classifying documents into a hierarchy and linking the classifications to the hierarchy |
US7966078B2 (en) | 1999-02-01 | 2011-06-21 | Steven Hoffberg | Network media appliance system and method |
JP4289715B2 (ja) * | 1999-04-02 | 2009-07-01 | キヤノン株式会社 | 音声認識装置及び音声認識方法並びにその方法に用いられる木構造辞書の作成方法 |
EP1101194B1 (en) * | 1999-06-04 | 2008-04-02 | Koninklijke Philips Electronics N.V. | Image processing method and system, and medical examination apparatus, for extracting a path following a threadlike structure in an image |
US6484162B1 (en) | 1999-06-29 | 2002-11-19 | International Business Machines Corporation | Labeling and describing search queries for reuse |
JP2001051690A (ja) * | 1999-08-16 | 2001-02-23 | Nec Corp | パターン認識装置 |
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 |
US7110621B1 (en) * | 2000-05-19 | 2006-09-19 | Xerox Corporation | Assist channel coding using a rewrite model |
KR100429990B1 (ko) * | 2001-06-14 | 2004-05-04 | 엘지전자 주식회사 | 단상 라인 스타트 영구자석 동기전동기 |
US7110525B1 (en) | 2001-06-25 | 2006-09-19 | Toby Heller | Agent training sensitive call routing system |
ITFI20010199A1 (it) | 2001-10-22 | 2003-04-22 | Riccardo Vieri | Sistema e metodo per trasformare in voce comunicazioni testuali ed inviarle con una connessione internet a qualsiasi apparato telefonico |
JP4375523B2 (ja) * | 2002-12-20 | 2009-12-02 | 富士ゼロックス株式会社 | 画像処理装置、画像処理方法、画像処理プログラム、印刷物検査装置、印刷物検査方法、印刷物検査プログラム |
JP4235604B2 (ja) * | 2004-11-22 | 2009-03-11 | キヤノン株式会社 | 画像処理装置、画像処理方法、ならびにプログラム |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US7633076B2 (en) | 2005-09-30 | 2009-12-15 | Apple Inc. | Automated response to and sensing of user activity in portable devices |
CN101009531B (zh) * | 2006-01-25 | 2010-04-07 | 华为技术有限公司 | 进行差错控制的方法和互助中转系统 |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US9053089B2 (en) | 2007-10-02 | 2015-06-09 | Apple Inc. | Part-of-speech tagging using latent analogy |
US8620662B2 (en) | 2007-11-20 | 2013-12-31 | Apple Inc. | Context-aware unit selection |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8065143B2 (en) | 2008-02-22 | 2011-11-22 | Apple Inc. | Providing text input using speech data and non-speech data |
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 |
US8464150B2 (en) | 2008-06-07 | 2013-06-11 | Apple Inc. | Automatic language identification for dynamic text processing |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8768702B2 (en) | 2008-09-05 | 2014-07-01 | Apple Inc. | Multi-tiered voice feedback in an electronic device |
US8898568B2 (en) | 2008-09-09 | 2014-11-25 | Apple Inc. | Audio user interface |
US8583418B2 (en) | 2008-09-29 | 2013-11-12 | Apple Inc. | Systems and methods of detecting language and natural language strings for text to speech synthesis |
US8712776B2 (en) | 2008-09-29 | 2014-04-29 | Apple Inc. | Systems and methods for selective text to speech synthesis |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US9959870B2 (en) | 2008-12-11 | 2018-05-01 | Apple Inc. | Speech recognition involving a mobile device |
US8862252B2 (en) | 2009-01-30 | 2014-10-14 | Apple Inc. | Audio user interface for displayless electronic device |
US8380507B2 (en) | 2009-03-09 | 2013-02-19 | Apple Inc. | Systems and methods for determining the language to use for speech generated by a text to speech engine |
US10255566B2 (en) | 2011-06-03 | 2019-04-09 | Apple Inc. | Generating and processing task items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10540976B2 (en) | 2009-06-05 | 2020-01-21 | Apple Inc. | Contextual voice commands |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8682649B2 (en) | 2009-11-12 | 2014-03-25 | Apple Inc. | Sentiment prediction from textual data |
US8600743B2 (en) | 2010-01-06 | 2013-12-03 | Apple Inc. | Noise profile determination for voice-related feature |
US8381107B2 (en) | 2010-01-13 | 2013-02-19 | Apple Inc. | Adaptive audio feedback system and method |
US8311838B2 (en) | 2010-01-13 | 2012-11-13 | Apple Inc. | Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts |
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 |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
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 |
US8713021B2 (en) | 2010-07-07 | 2014-04-29 | Apple Inc. | Unsupervised document clustering using latent semantic density analysis |
US8719006B2 (en) | 2010-08-27 | 2014-05-06 | Apple Inc. | Combined statistical and rule-based part-of-speech tagging for text-to-speech synthesis |
US8719014B2 (en) | 2010-09-27 | 2014-05-06 | Apple Inc. | Electronic device with text error correction based on voice recognition data |
US10515147B2 (en) | 2010-12-22 | 2019-12-24 | Apple Inc. | Using statistical language models for contextual lookup |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US8781836B2 (en) | 2011-02-22 | 2014-07-15 | Apple Inc. | Hearing assistance system for providing consistent human speech |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US20120310642A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Automatically creating a mapping between text data and audio data |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8812294B2 (en) | 2011-06-21 | 2014-08-19 | Apple Inc. | Translating phrases from one language into another using an order-based set of declarative rules |
US8706472B2 (en) | 2011-08-11 | 2014-04-22 | Apple Inc. | Method for disambiguating multiple readings in language conversion |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US8762156B2 (en) | 2011-09-28 | 2014-06-24 | Apple Inc. | Speech recognition repair using contextual information |
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 |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US8775442B2 (en) | 2012-05-15 | 2014-07-08 | Apple Inc. | Semantic search using a single-source semantic model |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
WO2013185109A2 (en) | 2012-06-08 | 2013-12-12 | Apple Inc. | Systems and methods for recognizing textual identifiers within a plurality of words |
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 |
US8935167B2 (en) | 2012-09-25 | 2015-01-13 | Apple Inc. | Exemplar-based latent perceptual modeling for automatic speech recognition |
AU2014214676A1 (en) | 2013-02-07 | 2015-08-27 | Apple Inc. | Voice trigger for a digital assistant |
US9733821B2 (en) | 2013-03-14 | 2017-08-15 | Apple Inc. | Voice control to diagnose inadvertent activation of accessibility features |
US9977779B2 (en) | 2013-03-14 | 2018-05-22 | Apple Inc. | Automatic supplementation of word correction dictionaries |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
US10642574B2 (en) | 2013-03-14 | 2020-05-05 | Apple Inc. | Device, method, and graphical user interface for outputting captions |
US10572476B2 (en) | 2013-03-14 | 2020-02-25 | Apple Inc. | Refining a search based on schedule items |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
WO2014144949A2 (en) | 2013-03-15 | 2014-09-18 | 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 |
US11151899B2 (en) | 2013-03-15 | 2021-10-19 | Apple Inc. | User training by intelligent digital assistant |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
KR101904293B1 (ko) | 2013-03-15 | 2018-10-05 | 애플 인크. | 콘텍스트-민감성 방해 처리 |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
CN110442699A (zh) | 2013-06-09 | 2019-11-12 | 苹果公司 | 操作数字助理的方法、计算机可读介质、电子设备和系统 |
JP2016521948A (ja) | 2013-06-13 | 2016-07-25 | アップル インコーポレイテッド | 音声コマンドによって開始される緊急電話のためのシステム及び方法 |
AU2014306221B2 (en) | 2013-08-06 | 2017-04-06 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
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 |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
EP3480811A1 (en) | 2014-05-30 | 2019-05-08 | 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 |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
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 |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
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 |
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 |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
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 |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital 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 |
DK179588B1 (en) | 2016-06-09 | 2019-02-22 | Apple Inc. | INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
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 |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US20180330718A1 (en) * | 2017-05-11 | 2018-11-15 | Mitsubishi Electric Research Laboratories, Inc. | System and Method for End-to-End speech recognition |
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 |
US11747970B2 (en) | 2021-09-23 | 2023-09-05 | International Business Machines Corporation | Interactive graphical display of multiple overlapping hypotheses or document versions |
CN116304719B (zh) * | 2023-05-15 | 2023-08-04 | 北京睿企信息科技有限公司 | 一种判断异常分类标签的处理系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3593903A (en) * | 1968-07-12 | 1971-07-20 | Vnii Khirurgicheskoi Apparatur | Surgical instrument for suturing hollow organs in infants |
US3675688A (en) * | 1970-04-27 | 1972-07-11 | United States Surgical Corp | Instrument for ligating, suturing and dividing organic tubular structures |
DE7318970U (de) * | 1973-05-19 | 1973-08-30 | Wolf R Gmbh | Zange zum setzen von tantal-clips |
US3979722A (en) * | 1974-05-31 | 1976-09-07 | Nippon Electric Company, Ltd. | Automatic character recognition device employing dynamic programming |
DE2917783C2 (de) * | 1979-05-03 | 1982-07-01 | Richard Wolf Gmbh, 7134 Knittlingen | Zange zum Anlegen eines Clips an einen Eileiter |
JPS57147781A (en) * | 1981-03-06 | 1982-09-11 | Nec Corp | Pattern matching device |
JPS60179797A (ja) * | 1983-10-27 | 1985-09-13 | 日本電気株式会社 | パタンマツチング装置 |
FR2622429A1 (fr) * | 1987-11-16 | 1989-05-05 | Blagoveschensky G | Appareil de suture chirurgicale |
EP0369324B1 (fr) * | 1988-11-11 | 1995-11-02 | United States Surgical Corporation | Instrument de chirurgie |
-
1989
- 1989-03-24 JP JP1070442A patent/JPH0782544B2/ja not_active Expired - Lifetime
-
1990
- 1990-03-21 EP EP19900303058 patent/EP0389271A3/en not_active Ceased
- 1990-03-23 US US07/498,310 patent/US5067166A/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
電子通信学会技術研究報告Vol.85No.242PRL85〜571985年12月19日「木表現を用いた手書き筆記体英小文字の認識」鈴木正,青木恭太 |
電子通信学会技術研究報告Vol.87No.331PRU87−711987年12月18日「DPマッチング法を応用して走り書きハングルのオンライン認識」李,案郡院,中嶋 |
Also Published As
Publication number | Publication date |
---|---|
EP0389271A3 (en) | 1992-05-20 |
US5067166A (en) | 1991-11-19 |
JPH02250188A (ja) | 1990-10-05 |
EP0389271A2 (en) | 1990-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0782544B2 (ja) | マルチテンプレートを用いるdpマツチング方法及び装置 | |
US5487117A (en) | Graphical system for automated segmentation and recognition for image recognition systems | |
JP3152871B2 (ja) | ラティスをキーとした検索を行う辞書検索装置および方法 | |
CN106503789A (zh) | 基于迪杰斯特拉和最大最小蚁群的无环最短路径搜索方法 | |
US5553284A (en) | Method for indexing and searching handwritten documents in a database | |
US9009655B2 (en) | Code string search apparatus, search method, and program | |
CN111401031A (zh) | 一种目标文本确定方法、装置及设备 | |
CN113449821B (zh) | 融合语义和图像特征的智能训练方法、装置、设备及介质 | |
US20190318249A1 (en) | Interpretable general reasoning system using key value memory networks | |
Burges et al. | Shortest path segmentation: A method for training a neural network to recognize character strings | |
Kaji et al. | Efficient staggered decoding for sequence labeling | |
JP2015121708A (ja) | 探索装置、探索方法およびプログラム | |
CN115033896A (zh) | 以太坊智能合约漏洞检测方法、装置、系统与介质 | |
CN109726386B (zh) | 一种词向量模型生成方法、装置和计算机可读存储介质 | |
Nguyen et al. | Finite state machine based decoding of handwritten text using recurrent neural networks | |
CN115062619B (zh) | 中文实体链接方法、装置、设备及存储介质 | |
CN116069937A (zh) | 基于神经网络的智能合约分类方法、装置和计算机设备 | |
CN114612663B (zh) | 基于弱监督学习的域自适应实例分割方法及装置 | |
CN110728359A (zh) | 搜索模型结构的方法、装置、设备和存储介质 | |
Hendrian et al. | Online algorithms for constructing linear-size suffix trie | |
CN111581946A (zh) | 一种语言序列模型解码方法 | |
Kempf et al. | Time optimal left to right construction of position trees | |
Pieraccini et al. | Implementation aspects of large vocabulary recognition based on intraword and interword phonetic units | |
Pavlova et al. | Time Series Forecasting Method Based on Finite State Machine | |
Daciuk et al. | Natural Language Dictionaries Implemented as Finite Automata. |