JP3172511B2 - 類推語生成装置及び方法 - Google Patents
類推語生成装置及び方法Info
- Publication number
- JP3172511B2 JP3172511B2 JP22379299A JP22379299A JP3172511B2 JP 3172511 B2 JP3172511 B2 JP 3172511B2 JP 22379299 A JP22379299 A JP 22379299A JP 22379299 A JP22379299 A JP 22379299A JP 3172511 B2 JP3172511 B2 JP 3172511B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- pseudo
- input
- character string
- column
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、入力された3つの
単位列から類推される類推語を生成する類推語生成装置
及び方法に関し、特に、その属性がある一定順序で与え
られるそれぞれ複数の単位にてなる入力された3つの単
位列に所定の類推関係で類推的に類似する、複数の単位
にてなる単位列を生成するための類推語生成装置及び方
法に関する。ここで、単位とは1つの文字、アルファベ
ット、単語又はこれに類するものである。
単位列から類推される類推語を生成する類推語生成装置
及び方法に関し、特に、その属性がある一定順序で与え
られるそれぞれ複数の単位にてなる入力された3つの単
位列に所定の類推関係で類推的に類似する、複数の単位
にてなる単位列を生成するための類推語生成装置及び方
法に関する。ここで、単位とは1つの文字、アルファベ
ット、単語又はこれに類するものである。
【0002】
【従来の技術】従来、他の単語に形態論的に関連した新
たな単語を生成する1つの手順として、有限状態オート
マトンのような技術が用いられている。例えば、従来技
術文献1「キンモ・コスケンニエミ(Kimmo Koskenniem
i),“2つのレベル−形態論:単語形式の認識及び生成
のための一般的計算モデル(Two level-Morphology:A G
eneral Computational Model for Word Form Recogniti
on and Production)”,Department of General Lingu
istics,University of Helsinki,1983年」は、所定の
形式を特定する属性であって、所定の形式を与えられた
幾つかの属性に対して1つの単語を生成する方法(以
下、第1の従来例という。)を提案している。
たな単語を生成する1つの手順として、有限状態オート
マトンのような技術が用いられている。例えば、従来技
術文献1「キンモ・コスケンニエミ(Kimmo Koskenniem
i),“2つのレベル−形態論:単語形式の認識及び生成
のための一般的計算モデル(Two level-Morphology:A G
eneral Computational Model for Word Form Recogniti
on and Production)”,Department of General Lingu
istics,University of Helsinki,1983年」は、所定の
形式を特定する属性であって、所定の形式を与えられた
幾つかの属性に対して1つの単語を生成する方法(以
下、第1の従来例という。)を提案している。
【0003】例えば文字列”like”及び属性”反義
語(又は反意語)”から文字列”unlike”を生成
することについて考察する。第1の従来例において、属
性”反義語”が有限状態オートマトンに与えられ、ま
た、上記有限状態オートマトンが、この属性が与えられ
た単語の前に接頭辞、すなわち”un”を挿入するタス
クに変換すれば、文字列”like”は、接頭辞”u
n”が挿入されることによって、文字列”unlik
e”に変換されることが可能であり、従って、文字列”
like”の反義語は”unlike”として計算され
ることができる。同様に、文字列”known”の反義
語も同様の方法を使用して計算することが可能であり、
従って、文字列”known”の反義語は”unkno
wn”として計算されることができる。
語(又は反意語)”から文字列”unlike”を生成
することについて考察する。第1の従来例において、属
性”反義語”が有限状態オートマトンに与えられ、ま
た、上記有限状態オートマトンが、この属性が与えられ
た単語の前に接頭辞、すなわち”un”を挿入するタス
クに変換すれば、文字列”like”は、接頭辞”u
n”が挿入されることによって、文字列”unlik
e”に変換されることが可能であり、従って、文字列”
like”の反義語は”unlike”として計算され
ることができる。同様に、文字列”known”の反義
語も同様の方法を使用して計算することが可能であり、
従って、文字列”known”の反義語は”unkno
wn”として計算されることができる。
【0004】従って、第1の従来例においては、新たな
文字列を生成するためには、文字列が有限状態オートマ
トンに与えられると同時に、属性を入力することが必要
である。それゆえ、有限状態オートマトンを実行するこ
とにより、入力された単語に類似しているが幾つかの異
なる属性を入力することによって、異なる単語を得るこ
とができる。また、特にすべての処理が有限状態オート
マトンによって実行されるために、第1の従来例は比較
的高速で処理されるという利点を有する。
文字列を生成するためには、文字列が有限状態オートマ
トンに与えられると同時に、属性を入力することが必要
である。それゆえ、有限状態オートマトンを実行するこ
とにより、入力された単語に類似しているが幾つかの異
なる属性を入力することによって、異なる単語を得るこ
とができる。また、特にすべての処理が有限状態オート
マトンによって実行されるために、第1の従来例は比較
的高速で処理されるという利点を有する。
【0005】同様に、従来技術文献2「ユニックス・ユ
ーザ・コマンド(Unix user commands), sed - ストリ
ーム・エディタ(stream editor)」は、一般的表現の
記述によって文字列を他の文字列に置換するための方法
(以下、第2の従来例という。)を提案している。
ーザ・コマンド(Unix user commands), sed - ストリ
ーム・エディタ(stream editor)」は、一般的表現の
記述によって文字列を他の文字列に置換するための方法
(以下、第2の従来例という。)を提案している。
【0006】例えば、文字列”miracle”を文字
列”miraculous”に置き換える場合について
考察する。第2の従来例では、有限状態オートマトンに
文字列”miracle”と文字列”miraculo
us”が与えられ、上記有限状態オートマトンが最初に
文字列”miracle”を認識し、文字ストリームに
おけるその境界を設定し、さらにその境界内において文
字列”miracle”を文字列”miraculou
s”に置換すると、文字列”miracle”が文字ス
トリームにおいて認識されたときに、それを文字列”m
iraculous”に置換することができる。例え
ば、文字ストリーム”it was a miracle and fable hea
ling”において、文字列”miracle”は文字列”
miraculous”に置換されることができる。従
って、第2の従来例の方法を実行すれば、ある文字列を
他の文字列に置換することができる。
列”miraculous”に置き換える場合について
考察する。第2の従来例では、有限状態オートマトンに
文字列”miracle”と文字列”miraculo
us”が与えられ、上記有限状態オートマトンが最初に
文字列”miracle”を認識し、文字ストリームに
おけるその境界を設定し、さらにその境界内において文
字列”miracle”を文字列”miraculou
s”に置換すると、文字列”miracle”が文字ス
トリームにおいて認識されたときに、それを文字列”m
iraculous”に置換することができる。例え
ば、文字ストリーム”it was a miracle and fable hea
ling”において、文字列”miracle”は文字列”
miraculous”に置換されることができる。従
って、第2の従来例の方法を実行すれば、ある文字列を
他の文字列に置換することができる。
【0007】
【発明が解決しようとする課題】しかしながら、第1の
従来例は、有限状態オートマトンを使用することによっ
て単語の形式又は形態(form)を生成するために、処理
対象言語について接頭辞、接尾辞又は挿入辞として追加
可能なすべての文字列がまず登録される。それゆえ、第
1の従来例は、即時ではない処理対象言語の言語学的記
述を必要とする。従って、第1の従来例の場合、処理対
象言語の非即時の言語記述を確立するための専門作業員
を登録する必要がある。
従来例は、有限状態オートマトンを使用することによっ
て単語の形式又は形態(form)を生成するために、処理
対象言語について接頭辞、接尾辞又は挿入辞として追加
可能なすべての文字列がまず登録される。それゆえ、第
1の従来例は、即時ではない処理対象言語の言語学的記
述を必要とする。従って、第1の従来例の場合、処理対
象言語の非即時の言語記述を確立するための専門作業員
を登録する必要がある。
【0008】また、第2の従来例による方法は、有限状
態オートマトンを用いる方法を基礎としていることか
ら、有限状態オートマトンに文字列”miracle”
と文字列”miraculous”を与えても、例えば
文字列”fable”の文字列”fabulous”に
よる置換は不可能である。しかしながら、文字列”fa
bulous”は文字列”fable”に対して、文字
列”miraculous”が文字列”miracl
e”に対して有する関係と同一関係にある。従って、第
2の従来例は、類推的に類似する類推語同士の置換を実
行することができない。
態オートマトンを用いる方法を基礎としていることか
ら、有限状態オートマトンに文字列”miracle”
と文字列”miraculous”を与えても、例えば
文字列”fable”の文字列”fabulous”に
よる置換は不可能である。しかしながら、文字列”fa
bulous”は文字列”fable”に対して、文字
列”miraculous”が文字列”miracl
e”に対して有する関係と同一関係にある。従って、第
2の従来例は、類推的に類似する類推語同士の置換を実
行することができない。
【0009】本発明の目的は以上の問題点を解決し、属
性を使用することなく、また、有限状態オートマトンを
用いることなく、入力される3つの単位列に基づいて、
類推的に類似する他の単位列である類推語を、従来例に
比較して高速で生成することができる類推語生成装置及
び方法を提供することにある。
性を使用することなく、また、有限状態オートマトンを
用いることなく、入力される3つの単位列に基づいて、
類推的に類似する他の単位列である類推語を、従来例に
比較して高速で生成することができる類推語生成装置及
び方法を提供することにある。
【0010】
【課題を解決するための手段】本願の第1の発明に係る
類推語生成装置は、所定の順序で入力される3つの第
1、第2及び第3の単位列に基づいて、所定の類推関係
で類推的に類似する属性を有する第4の単位列である類
推語を生成する類推語生成装置(100)であって、行
列記憶手段(10)を備え、1つの単位列ともう1つの
単位列の間で削除又は置き換えを行う単位の数を擬似距
離で表し、上記入力された3つの単位列を解析すること
により、上記入力された第1の単位列の最初の単位から
最後の単位までの各部分列と上記入力された第2の単位
列の最初の単位から最後の単位までの各部分列との間の
擬似距離を表す第1の擬似距離行列の一部の要素の位置
において、上記入力された第1の単位列の単位数(Le
n1)が、上記第1の単位列と上記第2の単位列との間
の擬似距離を表す、第1の擬似距離行列の最終行最終列
の要素の値(p2)と、上記第1の単位列と上記第3の
単位列との間の擬似距離を表す、第2の擬似距離行列の
最終行最終列の要素の値(p3)との加算値よりも大き
くなるように、上記第1の擬似距離行列における所定幅
の対角要素からなる対角バンドと、上記対角バンドの外
側に位置する所定幅の要素からなるエキストラバンドと
を含む制限された第1の擬似距離行列の複数の要素を計
算し、上記入力された第1の単位列の最初の単位から最
後の単位までの各部分列と上記入力された第3の単位列
の最初の単位から最後の単位までの各部分列との間の擬
似距離を表す第2の擬似距離行列の一部の要素の位置に
おいて、上記入力された第1の単位列の単位数(Len
1)が、上記第1の単位列と上記第2の単位列との間の
擬似距離を表す、第1の擬似距離行列の最終行最終列の
要素の値(p2)と、上記第1の単位列と上記第3の単
位列との間の擬似距離を表す、第2の擬似距離行列の最
終行最終列の要素の値(p3)との加算値よりも大きく
なるように、上記第2の擬似距離行列における所定幅の
対角要素からなる対角バンドと、上記対角バンドの外側
に位置する所定幅の要素からなるエキストラバンドとを
含む制限された第2の擬似距離行列の複数の要素を計算
して上記計算した制限された第1又は第2の擬似距離行
列の複数の要素を上記行列記憶手段(10)に記憶させ
る前処理手段(2,S2)と、上記入力された3つの第
1乃至第3の単位列と、生成される第4の単位列とから
なる4つの単位列が上記類推関係にあることを判断する
ためのパラメータであって、上記第4の単位列が生成さ
れたときに上記4つの単位列に共通する単位の数を表す
状態パラメータ(com)を記憶するパラメータ記憶手
段(51)と、上記入力された3つの単位列の長さ及び
上記行列記憶手段(10)に記憶された制限された第1
と第2の擬似距離行列の各要素とに基づいて、上記状態
パラメータ(com)の初期値を計算して上記パラメー
タ記憶手段(51)に記憶した後(S61)、上記パラ
メータ記憶手段(51)に記憶された状態パラメータ
(com)と上記行列記憶手段(10)に記憶された制
限された第1と第2の擬似距離行列の各要素とに基づい
て、上記パラメータ記憶手段(51)に記憶された状態
パラメータ(com)を更新しながら(S74)、上記
制限された第1の擬似距離行列における最終行最終列の
要素から第1行第1列の要素までの最短経路と、上記制
限された第2の擬似距離行列における最終行最終列の要
素から第1行第1列の要素までの最短経路とを、上記制
限された第1と第2の擬似距離行列のそれぞれにおける
ある要素から別の要素に対角方向、水平方向、又は垂直
方向である移動方向で移動させながら決定し(S63−
S68)、上記決定された制限された第1と第2の擬似
距離行列の各最短経路に従って上記移動方向に応じて第
2又は第3の単位列の単位を収集することにより類推語
を生成して出力する類推語生成手段(5,S3)とを備
えたことを特徴とする。
類推語生成装置は、所定の順序で入力される3つの第
1、第2及び第3の単位列に基づいて、所定の類推関係
で類推的に類似する属性を有する第4の単位列である類
推語を生成する類推語生成装置(100)であって、行
列記憶手段(10)を備え、1つの単位列ともう1つの
単位列の間で削除又は置き換えを行う単位の数を擬似距
離で表し、上記入力された3つの単位列を解析すること
により、上記入力された第1の単位列の最初の単位から
最後の単位までの各部分列と上記入力された第2の単位
列の最初の単位から最後の単位までの各部分列との間の
擬似距離を表す第1の擬似距離行列の一部の要素の位置
において、上記入力された第1の単位列の単位数(Le
n1)が、上記第1の単位列と上記第2の単位列との間
の擬似距離を表す、第1の擬似距離行列の最終行最終列
の要素の値(p2)と、上記第1の単位列と上記第3の
単位列との間の擬似距離を表す、第2の擬似距離行列の
最終行最終列の要素の値(p3)との加算値よりも大き
くなるように、上記第1の擬似距離行列における所定幅
の対角要素からなる対角バンドと、上記対角バンドの外
側に位置する所定幅の要素からなるエキストラバンドと
を含む制限された第1の擬似距離行列の複数の要素を計
算し、上記入力された第1の単位列の最初の単位から最
後の単位までの各部分列と上記入力された第3の単位列
の最初の単位から最後の単位までの各部分列との間の擬
似距離を表す第2の擬似距離行列の一部の要素の位置に
おいて、上記入力された第1の単位列の単位数(Len
1)が、上記第1の単位列と上記第2の単位列との間の
擬似距離を表す、第1の擬似距離行列の最終行最終列の
要素の値(p2)と、上記第1の単位列と上記第3の単
位列との間の擬似距離を表す、第2の擬似距離行列の最
終行最終列の要素の値(p3)との加算値よりも大きく
なるように、上記第2の擬似距離行列における所定幅の
対角要素からなる対角バンドと、上記対角バンドの外側
に位置する所定幅の要素からなるエキストラバンドとを
含む制限された第2の擬似距離行列の複数の要素を計算
して上記計算した制限された第1又は第2の擬似距離行
列の複数の要素を上記行列記憶手段(10)に記憶させ
る前処理手段(2,S2)と、上記入力された3つの第
1乃至第3の単位列と、生成される第4の単位列とから
なる4つの単位列が上記類推関係にあることを判断する
ためのパラメータであって、上記第4の単位列が生成さ
れたときに上記4つの単位列に共通する単位の数を表す
状態パラメータ(com)を記憶するパラメータ記憶手
段(51)と、上記入力された3つの単位列の長さ及び
上記行列記憶手段(10)に記憶された制限された第1
と第2の擬似距離行列の各要素とに基づいて、上記状態
パラメータ(com)の初期値を計算して上記パラメー
タ記憶手段(51)に記憶した後(S61)、上記パラ
メータ記憶手段(51)に記憶された状態パラメータ
(com)と上記行列記憶手段(10)に記憶された制
限された第1と第2の擬似距離行列の各要素とに基づい
て、上記パラメータ記憶手段(51)に記憶された状態
パラメータ(com)を更新しながら(S74)、上記
制限された第1の擬似距離行列における最終行最終列の
要素から第1行第1列の要素までの最短経路と、上記制
限された第2の擬似距離行列における最終行最終列の要
素から第1行第1列の要素までの最短経路とを、上記制
限された第1と第2の擬似距離行列のそれぞれにおける
ある要素から別の要素に対角方向、水平方向、又は垂直
方向である移動方向で移動させながら決定し(S63−
S68)、上記決定された制限された第1と第2の擬似
距離行列の各最短経路に従って上記移動方向に応じて第
2又は第3の単位列の単位を収集することにより類推語
を生成して出力する類推語生成手段(5,S3)とを備
えたことを特徴とする。
【0011】上記類推語生成装置において、上記単位列
は文字列であり、上記単位列を構成する単位は文字であ
る。もしくは、上記単位列は単語列であり、上記単位列
を構成する単位は単語である。
は文字列であり、上記単位列を構成する単位は文字であ
る。もしくは、上記単位列は単語列であり、上記単位列
を構成する単位は単語である。
【0012】また、本願の第2の発明に係る類推語生成
方法は、所定の順序で入力される3つの第1、第2及び
第3の単位列に基づいて、所定の類推関係で類推的に類
似する属性を有する第4の単位列である類推語を制御装
置により生成する類推語生成方法(100)であって、
1つの単位列ともう1つの単位列の間で削除又は置き換
えを行う単位の数を擬似距離で表し、上記制御装置を用
いて、上記入力された3つの単位列を解析することによ
り、上記入力された第1の単位列の最初の単位から最後
の単位までの各部分列と上記入力された第2の単位列の
最初の単位から最後の単位までの各部分列との間の擬似
距離を表す第1の擬似距離行列の一部の要素の位置にお
いて、上記入力された第1の単位列の単位数(Len
1)が、上記第1の単位列と上記第2の単位列との間の
擬似距離を表す、第1の擬似距離行列の最終行最終列の
要素の値(p2)と、上記第1の単位列と上記第3の単
位列との間の擬似距離を表す、第2の擬似距離行列の最
終行最終列の要素の値(p3)との加算値よりも大きく
なるように、上記第1の擬似距離行列における所定幅の
対角要素からなる対角バンドと、上記対角バンドの外側
に位置する所定幅の要素からなるエキストラバンドとを
含む制限された第1の擬似距離行列の複数の要素を計算
し、上記入力された第1の単位列の最初の単位から最後
の単位までの各部分列と上記入力された第3の単位列の
最初の単位から最後の単位までの各部分列との間の擬似
距離を表す第2の擬似距離行列の一部の要素の位置にお
いて、上記入力された第1の単位列の単位数(Len
1)が、上記第1の単位列と上記第2の単位列との間の
擬似距離を表す、第1の擬似距離行列の最終行最終列の
要素の値(p2)と、上記第1の単位列と上記第3の単
位列との間の擬似距離を表す、第2の擬似距離行列の最
終行最終列の要素の値(p3)との加算値よりも大きく
なるように、上記第2の擬似距離行列における所定幅の
対角要素からなる対角バンドと、上記対角バンドの外側
に位置する所定幅の要素からなるエキストラバンドとを
含む制限された第2の擬似距離行列の複数の要素を計算
し、上記計算した制限された第1と第2の擬似距離行列
の複数の要素を行列記憶手段(10)に記憶するステッ
プ(2,S2)と、上記制御装置を用いて、上記入力さ
れた3つの単位列の長さ及び上記行列記憶手段(10)
に記憶された制限された第1と第2の擬似距離行列の各
要素とに基づいて、上記入力された3つの第1乃至第3
の単位列と生成される第4の単位列とからなる4つの単
位列が上記類推関係にあることを判断するためのパラメ
ータであって上記第4の単位列が生成されたときに上記
4つの単位列に共通する単位の数を表す状態パラメータ
(com)の初期値を計算してパラメータ記憶手段(5
1)に記憶するステップと、上記制御装置を用いて、上
記パラメータ記憶手段(51)に記憶された状態パラメ
ータ(com)と上記行列記憶手段(10)に記憶され
た制限された第1と第2の擬似距離行列の各要素とに基
づいて、上記パラメータ記憶手段(51)に記憶された
状態パラメータ(com)を更新しながら(S74)、
上記制限された第1の擬似距離行列における最終行最終
列の要素から第1行第1列の要素までの最短経路と、上
記制限された第2の擬似距離行列における最終行最終列
の要素から第1行第1列の要素までの最短経路とを、上
記制限された第1と第2の擬似距離行列のそれぞれにお
けるある要素から別の要素に対角方向、水平方向、又は
垂直方向である移動方向で移動させながら決定(S63
−S68)するステップと、上記制御装置を用いて、上
記決定された制限された第1と第2の擬似距離行列の各
最短経路に従って上記移動方向に応じて第2又は第3の
単位列の単位を収集することにより類推語を生成して出
力するステップ(5,S3)とを含むことを特徴とす
る。
方法は、所定の順序で入力される3つの第1、第2及び
第3の単位列に基づいて、所定の類推関係で類推的に類
似する属性を有する第4の単位列である類推語を制御装
置により生成する類推語生成方法(100)であって、
1つの単位列ともう1つの単位列の間で削除又は置き換
えを行う単位の数を擬似距離で表し、上記制御装置を用
いて、上記入力された3つの単位列を解析することによ
り、上記入力された第1の単位列の最初の単位から最後
の単位までの各部分列と上記入力された第2の単位列の
最初の単位から最後の単位までの各部分列との間の擬似
距離を表す第1の擬似距離行列の一部の要素の位置にお
いて、上記入力された第1の単位列の単位数(Len
1)が、上記第1の単位列と上記第2の単位列との間の
擬似距離を表す、第1の擬似距離行列の最終行最終列の
要素の値(p2)と、上記第1の単位列と上記第3の単
位列との間の擬似距離を表す、第2の擬似距離行列の最
終行最終列の要素の値(p3)との加算値よりも大きく
なるように、上記第1の擬似距離行列における所定幅の
対角要素からなる対角バンドと、上記対角バンドの外側
に位置する所定幅の要素からなるエキストラバンドとを
含む制限された第1の擬似距離行列の複数の要素を計算
し、上記入力された第1の単位列の最初の単位から最後
の単位までの各部分列と上記入力された第3の単位列の
最初の単位から最後の単位までの各部分列との間の擬似
距離を表す第2の擬似距離行列の一部の要素の位置にお
いて、上記入力された第1の単位列の単位数(Len
1)が、上記第1の単位列と上記第2の単位列との間の
擬似距離を表す、第1の擬似距離行列の最終行最終列の
要素の値(p2)と、上記第1の単位列と上記第3の単
位列との間の擬似距離を表す、第2の擬似距離行列の最
終行最終列の要素の値(p3)との加算値よりも大きく
なるように、上記第2の擬似距離行列における所定幅の
対角要素からなる対角バンドと、上記対角バンドの外側
に位置する所定幅の要素からなるエキストラバンドとを
含む制限された第2の擬似距離行列の複数の要素を計算
し、上記計算した制限された第1と第2の擬似距離行列
の複数の要素を行列記憶手段(10)に記憶するステッ
プ(2,S2)と、上記制御装置を用いて、上記入力さ
れた3つの単位列の長さ及び上記行列記憶手段(10)
に記憶された制限された第1と第2の擬似距離行列の各
要素とに基づいて、上記入力された3つの第1乃至第3
の単位列と生成される第4の単位列とからなる4つの単
位列が上記類推関係にあることを判断するためのパラメ
ータであって上記第4の単位列が生成されたときに上記
4つの単位列に共通する単位の数を表す状態パラメータ
(com)の初期値を計算してパラメータ記憶手段(5
1)に記憶するステップと、上記制御装置を用いて、上
記パラメータ記憶手段(51)に記憶された状態パラメ
ータ(com)と上記行列記憶手段(10)に記憶され
た制限された第1と第2の擬似距離行列の各要素とに基
づいて、上記パラメータ記憶手段(51)に記憶された
状態パラメータ(com)を更新しながら(S74)、
上記制限された第1の擬似距離行列における最終行最終
列の要素から第1行第1列の要素までの最短経路と、上
記制限された第2の擬似距離行列における最終行最終列
の要素から第1行第1列の要素までの最短経路とを、上
記制限された第1と第2の擬似距離行列のそれぞれにお
けるある要素から別の要素に対角方向、水平方向、又は
垂直方向である移動方向で移動させながら決定(S63
−S68)するステップと、上記制御装置を用いて、上
記決定された制限された第1と第2の擬似距離行列の各
最短経路に従って上記移動方向に応じて第2又は第3の
単位列の単位を収集することにより類推語を生成して出
力するステップ(5,S3)とを含むことを特徴とす
る。
【0013】上記類推語生成方法において、上記単位列
は文字列であり、上記単位列を構成する単位は文字であ
る。もしくは、上記単位列は単語列であり、上記単位列
を構成する単位は単語である。
は文字列であり、上記単位列を構成する単位は文字であ
る。もしくは、上記単位列は単語列であり、上記単位列
を構成する単位は単語である。
【0014】
【発明の実施の形態】以下、図面を参照して本発明に係
る実施形態について説明する。なお、図面において、同
一のものは同一の符号で示している。また、本明細書に
おいて、要素とは、行列の要素をいう。
る実施形態について説明する。なお、図面において、同
一のものは同一の符号で示している。また、本明細書に
おいて、要素とは、行列の要素をいう。
【0015】図1は、本発明に係る好ましい実施形態の
類推語生成装置100を示すブロック図である。好まし
い実施形態の類推語生成装置100は、一定の順序で入
力される3つの文字列に類推的に類似する文字列である
単位列(以下、類推語という。)を生成するための類推
語生成装置100であって、(a)キーボードインター
フェース54を介してキーボード21によって一定順序
で入力される3つの第1、第2及び第3の文字列におい
て、(a1)第1の文字列の最初の文字から最後の文字
までの各部分列と、第2の文字列の最初の文字から最後
の文字までの各部分列との間の擬似距離値と、(a2)
第1の文字列の最初の文字から最後の文字までの各部分
列と、第3の文字列の最初の文字から最後の文字までの
各部分列との間の擬似距離値とを表し、かつ上記2つの
擬似距離値の計算に必要十分とされる中間情報の要素の
みを記憶するための擬似距離行列メモリ10と、(b)
入力された3つの文字列を解析して上記擬似距離行列の
各要素を計算して、擬似距離値を擬似距離行列メモリ1
0に記憶させるための前処理部2と、(c)生成される
類推語を記憶する類推語メモリ4と、 (d)生成される類推語を一時的に記憶する内部パラメ
ータメモリ51を内部に備え、前処理部2から文字列が
入力される毎に、類推語生成処理に従って擬似距離行列
メモリ10に記憶された擬似距離行列を参照して類推語
を生成し、生成された類推語を類推語メモリ4に記憶さ
せ、また、プリンタインターフェース52を介して上記
類推語をプリンタ22に出力し、又はディスプレイイン
ターフェース53を介して上記類推語をCRTディスプ
レイ23に出力する類推語生成部5とを備えたことを特
徴としている。ここで、2つの文字列(単語)間の擬似
距離とは、第1の文字列から別の第2の文字列を生成す
るために削除又は置き換えされた文字数の値をいう。
類推語生成装置100を示すブロック図である。好まし
い実施形態の類推語生成装置100は、一定の順序で入
力される3つの文字列に類推的に類似する文字列である
単位列(以下、類推語という。)を生成するための類推
語生成装置100であって、(a)キーボードインター
フェース54を介してキーボード21によって一定順序
で入力される3つの第1、第2及び第3の文字列におい
て、(a1)第1の文字列の最初の文字から最後の文字
までの各部分列と、第2の文字列の最初の文字から最後
の文字までの各部分列との間の擬似距離値と、(a2)
第1の文字列の最初の文字から最後の文字までの各部分
列と、第3の文字列の最初の文字から最後の文字までの
各部分列との間の擬似距離値とを表し、かつ上記2つの
擬似距離値の計算に必要十分とされる中間情報の要素の
みを記憶するための擬似距離行列メモリ10と、(b)
入力された3つの文字列を解析して上記擬似距離行列の
各要素を計算して、擬似距離値を擬似距離行列メモリ1
0に記憶させるための前処理部2と、(c)生成される
類推語を記憶する類推語メモリ4と、 (d)生成される類推語を一時的に記憶する内部パラメ
ータメモリ51を内部に備え、前処理部2から文字列が
入力される毎に、類推語生成処理に従って擬似距離行列
メモリ10に記憶された擬似距離行列を参照して類推語
を生成し、生成された類推語を類推語メモリ4に記憶さ
せ、また、プリンタインターフェース52を介して上記
類推語をプリンタ22に出力し、又はディスプレイイン
ターフェース53を介して上記類推語をCRTディスプ
レイ23に出力する類推語生成部5とを備えたことを特
徴としている。ここで、2つの文字列(単語)間の擬似
距離とは、第1の文字列から別の第2の文字列を生成す
るために削除又は置き換えされた文字数の値をいう。
【0016】ここで、擬似距離行列メモリ10には、2
つの擬似距離行列の要素のうち、各2つの文字列間の擬
似距離を計算するために必要十分である行列要素のみを
記憶し、具体的には、図7を参照して詳細後述するよう
に、対角要素を含む行列要素を計算して記憶される。類
推語生成部5は、入力された3つの文字列に基づいて、
擬似距離行列メモリ10に記憶された第1と第2の擬似
距離行列の各要素を参照して、詳細後述する状態パラメ
ータcom(A,B,C,D)を計算して内部パラメー
タメモリ51に記憶し、当該状態パラメータcom
(A,B,C,D)を更新しながら上記第1と第2の擬
似距離行列が表す擬似距離の最短経路を計算し、上記2
つの最小の擬似距離の経路に従って類推語を生成し、生
成された類推語を出力する。
つの擬似距離行列の要素のうち、各2つの文字列間の擬
似距離を計算するために必要十分である行列要素のみを
記憶し、具体的には、図7を参照して詳細後述するよう
に、対角要素を含む行列要素を計算して記憶される。類
推語生成部5は、入力された3つの文字列に基づいて、
擬似距離行列メモリ10に記憶された第1と第2の擬似
距離行列の各要素を参照して、詳細後述する状態パラメ
ータcom(A,B,C,D)を計算して内部パラメー
タメモリ51に記憶し、当該状態パラメータcom
(A,B,C,D)を更新しながら上記第1と第2の擬
似距離行列が表す擬似距離の最短経路を計算し、上記2
つの最小の擬似距離の経路に従って類推語を生成し、生
成された類推語を出力する。
【0017】ここで、類推語生成部5は、擬似距離行列
メモリ10から読み出された値が類推的制約条件の妥当
性(validity)を反映する場合にのみ、一定順序で入力
された3つの文字列に類推語を生成する。また、この好
ましい実施形態では、類推語生成の対象となる文字はロ
ーマ字であり、文字列はローマ字列又はローマ文字列で
ある。なお、この文字は、他の言語の文字又は単語であ
ってもよい。
メモリ10から読み出された値が類推的制約条件の妥当
性(validity)を反映する場合にのみ、一定順序で入力
された3つの文字列に類推語を生成する。また、この好
ましい実施形態では、類推語生成の対象となる文字はロ
ーマ字であり、文字列はローマ字列又はローマ文字列で
ある。なお、この文字は、他の言語の文字又は単語であ
ってもよい。
【0018】図1を参照すると、中央演算処理装置1
は、例えば、類推語生成装置100の類推語生成処理を
実行するCPUを備え、また、実行するプログラムと当
該プログラムを実行する際に必要なデータとを記憶する
ためのROM(読取り専用メモリ)と、CPUのワーク
エリアとして使用されるRAM(ランダムアクセスメモ
リ)とを備えたデジタル計算機で構成され、互いに接続
された前処理部2と類推語生成部5を備えている。ここ
で、前処理部2と類推語生成部5はそれぞれ別のデジタ
ル計算機で構成されてもよい。
は、例えば、類推語生成装置100の類推語生成処理を
実行するCPUを備え、また、実行するプログラムと当
該プログラムを実行する際に必要なデータとを記憶する
ためのROM(読取り専用メモリ)と、CPUのワーク
エリアとして使用されるRAM(ランダムアクセスメモ
リ)とを備えたデジタル計算機で構成され、互いに接続
された前処理部2と類推語生成部5を備えている。ここ
で、前処理部2と類推語生成部5はそれぞれ別のデジタ
ル計算機で構成されてもよい。
【0019】前処理部2は、信号変換等の処理を行うキ
ーボードインターフェース54を介して、3つの文字列
の入力データを入力するためのキーボード21に接続さ
れ、また、前処理部2と類推語生成部5は、例えばハー
ドディスクメモリから構成される擬似距離行列メモリ1
0に接続される。
ーボードインターフェース54を介して、3つの文字列
の入力データを入力するためのキーボード21に接続さ
れ、また、前処理部2と類推語生成部5は、例えばハー
ドディスクメモリから構成される擬似距離行列メモリ1
0に接続される。
【0020】類推語生成部5は、例えばRAMから構成
され、内部に所定のパラメータを一時的に記憶するため
の内部パラメータメモリ51を備える。また、類推語生
成部5は、例えばハードディスクメモリから構成されか
つ生成される類推語を記憶する類推語メモリ4に接続さ
れる。類推語生成部5はまた、信号変換等の処理を行う
プリンタインターフェース52を介して、類推語生成結
果のデータを印字するプリンタ22に接続され、また、
信号変換等の処理を行うディスプレイインターフェース
53を介して、類推語生成結果のデータを表示するCR
Tディスプレイ23に接続される。
され、内部に所定のパラメータを一時的に記憶するため
の内部パラメータメモリ51を備える。また、類推語生
成部5は、例えばハードディスクメモリから構成されか
つ生成される類推語を記憶する類推語メモリ4に接続さ
れる。類推語生成部5はまた、信号変換等の処理を行う
プリンタインターフェース52を介して、類推語生成結
果のデータを印字するプリンタ22に接続され、また、
信号変換等の処理を行うディスプレイインターフェース
53を介して、類推語生成結果のデータを表示するCR
Tディスプレイ23に接続される。
【0021】また、類推語生成部5において、入力され
た第1の文字列の幾つかの文字が、入力された第2の文
字列又は入力された第3の文字列のいずれにも現れない
場合は、類推語を生成することはできない。対偶的に言
えば、入力された3つの文字列から類推される類推語を
生成するためには、入力された第1の文字列における任
意の文字が、入力された第2の文字列又は入力された第
3の文字列のいずれかに現れなければならない。従っ
て、入力された3つの単位列から類推語を生成するため
には、入力された第1の文字列と入力された第2の文字
列との間で共通する部分列、及び入力された第1の文字
列と入力された第3の文字列との間で共通する部分列が
空であってはならない。従って、類推語の生成は、入力
された第1の文字列と入力された第2の文字列との間で
共通する部分列の検出、及び入力された第1の文字列と
入力された第3の文字列との間で共通する部分列の検出
に依存する。
た第1の文字列の幾つかの文字が、入力された第2の文
字列又は入力された第3の文字列のいずれにも現れない
場合は、類推語を生成することはできない。対偶的に言
えば、入力された3つの文字列から類推される類推語を
生成するためには、入力された第1の文字列における任
意の文字が、入力された第2の文字列又は入力された第
3の文字列のいずれかに現れなければならない。従っ
て、入力された3つの単位列から類推語を生成するため
には、入力された第1の文字列と入力された第2の文字
列との間で共通する部分列、及び入力された第1の文字
列と入力された第3の文字列との間で共通する部分列が
空であってはならない。従って、類推語の生成は、入力
された第1の文字列と入力された第2の文字列との間で
共通する部分列の検出、及び入力された第1の文字列と
入力された第3の文字列との間で共通する部分列の検出
に依存する。
【0022】そこで、入力された文字列の間で共通する
部分列の計算方法は、まず、前処理部2において、入力
された第1の文字列と入力された第2の文字列との間の
擬似距離行列と、入力された第1の文字列と入力された
第3の文字列との間の擬似距離行列とを計算し、次い
で、類推語生成部5において、上記2つの擬似距離行列
における最小の擬似距離の経路を計算する。生成される
類推語は、上記2つの擬似距離行列における擬似距離の
最短経路を計算することによって計算可能である。類推
語はまた、入力された第1の文字列と入力された第2の
文字列との間で共通する部分列に対応する入力された第
3の文字列の部分列と、入力された第1の文字列と入力
された第3の文字列との間で共通する部分列に対応する
入力された第2の文字列の部分列と、入力された第1の
文字列、入力された第2の文字列及び入力された第3の
文字列において共通する部分列とから構成される。ここ
で、上記擬似距離行列における経路は、入力された文字
列の最後の文字から最初の文字に向かうように、上記擬
似距離行列において、ある1つの要素から次の要素に連
続して計算される。ここで、経路に沿った移動は必ず、
対角方向、垂直方向又は水平方向のうちの1方向のみで
行われる。
部分列の計算方法は、まず、前処理部2において、入力
された第1の文字列と入力された第2の文字列との間の
擬似距離行列と、入力された第1の文字列と入力された
第3の文字列との間の擬似距離行列とを計算し、次い
で、類推語生成部5において、上記2つの擬似距離行列
における最小の擬似距離の経路を計算する。生成される
類推語は、上記2つの擬似距離行列における擬似距離の
最短経路を計算することによって計算可能である。類推
語はまた、入力された第1の文字列と入力された第2の
文字列との間で共通する部分列に対応する入力された第
3の文字列の部分列と、入力された第1の文字列と入力
された第3の文字列との間で共通する部分列に対応する
入力された第2の文字列の部分列と、入力された第1の
文字列、入力された第2の文字列及び入力された第3の
文字列において共通する部分列とから構成される。ここ
で、上記擬似距離行列における経路は、入力された文字
列の最後の文字から最初の文字に向かうように、上記擬
似距離行列において、ある1つの要素から次の要素に連
続して計算される。ここで、経路に沿った移動は必ず、
対角方向、垂直方向又は水平方向のうちの1方向のみで
行われる。
【0023】従って、本実施形態の類推語生成装置10
0は、所定の順序で入力される3つの第1、第2及び第
3の単位列に基づいて、詳細後述する所定の類推関係で
類推的に類似する属性を有する第4の単位列である類推
語を生成する類推語生成装置である。ここで、1つの単
位列ともう1つの単位列の間で削除又は置き換えを行う
単位の数を擬似距離で表し、擬似距離行列メモリ10
は、(a)上記入力された第1の単位列の最初の単位か
ら最後の単位までの各部分列と上記入力された第2の単
位列の最初の単位から最後の単位までの各部分列との間
の擬似距離を表す第1の擬似距離行列の一部の要素の位
置で計算され、上記入力される第1の単位列と入力され
る第2の単位列との間の制限された擬似距離の計算を行
うために十分な情報を含むように、上記第1の擬似距離
行列における所定幅の対角要素からなる対角バンドと、
上記対角バンドの外側に位置する所定幅の要素からなる
エキストラバンドとを含む制限された第1の擬似距離行
列の複数の要素と、(b)上記入力された第1の単位列
の最初の単位から最後の単位までの各部分列と上記入力
された第3の単位列の最初の単位から最後の単位までの
各部分列との間の擬似距離を表す第2の擬似距離行列の
一部の要素の位置で計算され、上記入力される第1の単
位列と入力される第3の単位列との間の制限された擬似
距離の計算を行うために十分な情報を含むように、上記
第2の擬似距離行列における所定幅の対角要素からなる
対角バンドと、上記対角バンドの外側に位置する所定幅
の要素からなるエキストラバンドとを含む制限された第
2の擬似距離行列の複数の要素とを記憶する。そして、
前処理部2は、入力された3つの単位列を解析すること
により、上記制限された第1と第2の擬似距離行列の要
素を計算して擬似距離行列メモリ10に記憶させる。類
推語生成部5内の内部パラメータメモリ51は、上記入
力された3つの第1乃至第3の単位列と、生成される第
4の単位列とからなる4つの単位列が上記類推関係にあ
ることを判断するためのパラメータであって、上記第4
の単位列が生成されたときに上記4つの単位列に共通す
る単位の数を表す状態パラメータcomを記憶する。さ
らに、類推語生成部5は、入力された3つの単位列の長
さ及び擬似距離行列メモリ10に記憶された制限された
第1と第2の擬似距離行列の各要素とに基づいて、状態
パラメータcomの初期値を計算して上記パラメータ記
憶手段51に記憶した後(図16のステップS61)、
内部パラメータメモリ51に記憶された状態パラメータ
comと擬似距離行列メモリ10に記憶された制限され
た第1と第2の擬似距離行列の各要素とに基づいて、内
部パラメータメモリ51に記憶された状態パラメータc
omを更新しながら(図18のステップS74)、上記
制限された第1の擬似距離行列における最後の要素から
最初の要素までの最短経路と、上記制限された第2の擬
似距離行列における最後の要素から最初の要素までの最
短経路とを、上記制限された第1と第2の擬似距離行列
のそれぞれにおけるある要素から別の要素に対角方向、
水平方向、又は垂直方向である移動方向で移動させなが
ら決定し(図16のステップS63−S68)、上記決
定された制限された第1と第2の擬似距離行列の各最短
経路に従って類推語を生成して出力する。
0は、所定の順序で入力される3つの第1、第2及び第
3の単位列に基づいて、詳細後述する所定の類推関係で
類推的に類似する属性を有する第4の単位列である類推
語を生成する類推語生成装置である。ここで、1つの単
位列ともう1つの単位列の間で削除又は置き換えを行う
単位の数を擬似距離で表し、擬似距離行列メモリ10
は、(a)上記入力された第1の単位列の最初の単位か
ら最後の単位までの各部分列と上記入力された第2の単
位列の最初の単位から最後の単位までの各部分列との間
の擬似距離を表す第1の擬似距離行列の一部の要素の位
置で計算され、上記入力される第1の単位列と入力され
る第2の単位列との間の制限された擬似距離の計算を行
うために十分な情報を含むように、上記第1の擬似距離
行列における所定幅の対角要素からなる対角バンドと、
上記対角バンドの外側に位置する所定幅の要素からなる
エキストラバンドとを含む制限された第1の擬似距離行
列の複数の要素と、(b)上記入力された第1の単位列
の最初の単位から最後の単位までの各部分列と上記入力
された第3の単位列の最初の単位から最後の単位までの
各部分列との間の擬似距離を表す第2の擬似距離行列の
一部の要素の位置で計算され、上記入力される第1の単
位列と入力される第3の単位列との間の制限された擬似
距離の計算を行うために十分な情報を含むように、上記
第2の擬似距離行列における所定幅の対角要素からなる
対角バンドと、上記対角バンドの外側に位置する所定幅
の要素からなるエキストラバンドとを含む制限された第
2の擬似距離行列の複数の要素とを記憶する。そして、
前処理部2は、入力された3つの単位列を解析すること
により、上記制限された第1と第2の擬似距離行列の要
素を計算して擬似距離行列メモリ10に記憶させる。類
推語生成部5内の内部パラメータメモリ51は、上記入
力された3つの第1乃至第3の単位列と、生成される第
4の単位列とからなる4つの単位列が上記類推関係にあ
ることを判断するためのパラメータであって、上記第4
の単位列が生成されたときに上記4つの単位列に共通す
る単位の数を表す状態パラメータcomを記憶する。さ
らに、類推語生成部5は、入力された3つの単位列の長
さ及び擬似距離行列メモリ10に記憶された制限された
第1と第2の擬似距離行列の各要素とに基づいて、状態
パラメータcomの初期値を計算して上記パラメータ記
憶手段51に記憶した後(図16のステップS61)、
内部パラメータメモリ51に記憶された状態パラメータ
comと擬似距離行列メモリ10に記憶された制限され
た第1と第2の擬似距離行列の各要素とに基づいて、内
部パラメータメモリ51に記憶された状態パラメータc
omを更新しながら(図18のステップS74)、上記
制限された第1の擬似距離行列における最後の要素から
最初の要素までの最短経路と、上記制限された第2の擬
似距離行列における最後の要素から最初の要素までの最
短経路とを、上記制限された第1と第2の擬似距離行列
のそれぞれにおけるある要素から別の要素に対角方向、
水平方向、又は垂直方向である移動方向で移動させなが
ら決定し(図16のステップS63−S68)、上記決
定された制限された第1と第2の擬似距離行列の各最短
経路に従って類推語を生成して出力する。
【0024】まず、図1の類推語生成装置100におい
て実行されるの類推語生成処理について説明する。本実
施形態の類推語生成処理の導入に当たり、我々は類推の
観念の歴史的展開の逆をたどる(例えば、従来技術文献
3「Robert R. Hoffman,“怪奇な類推(Monster Analo
gy)”,AI Magazine,vol.11,pp.11-35,1995年秋」
参照。)。言語的類推について語る際には、ある程度の
不可解さに直面することから、これは必要である。すな
わち、通常はより広義で、より心理的な定義が付与され
る。また、我々の提案は計算によるものであるために、
今や人工知能を意味するコンピュータ科学における類推
に関する作業を無視することはできない。
て実行されるの類推語生成処理について説明する。本実
施形態の類推語生成処理の導入に当たり、我々は類推の
観念の歴史的展開の逆をたどる(例えば、従来技術文献
3「Robert R. Hoffman,“怪奇な類推(Monster Analo
gy)”,AI Magazine,vol.11,pp.11-35,1995年秋」
参照。)。言語的類推について語る際には、ある程度の
不可解さに直面することから、これは必要である。すな
わち、通常はより広義で、より心理的な定義が付与され
る。また、我々の提案は計算によるものであるために、
今や人工知能を意味するコンピュータ科学における類推
に関する作業を無視することはできない。
【0025】次いで、類推語生成処理のアルゴリズムに
ついて説明する。従来技術文献4「エサ・イトコーネン
(Esa Itkonen)ほか,“対照形(及びその他)におけ
る類推のリハビリテーション(A Rehabilitation of an
alogy in syntax (and elsewhere))”,Andras Kertes
z(editor),Metalinguistik im Wandel:die kognitive
Wende in Wissenschaftstheorie und Linguistik Fran
kfurt a/M, Peter Lang,pp.131-171,1997年」は、類
推は非文法的文章をもたらすために構文論においては機
能しないとするチョムスキー(Chomsky)への論駁(ref
utation)として、序文において、類推語を文章におい
て生成するためのプログラムを提供している。類推は構
文法にも適用されるとする考え方は、ヘルマン・パウル
(Hermann Paul)及びブルームフィールド(Bloomfiel
d)によって数十年前に提唱されている。チョムスキー
の主張は、類推をシンボルレベルにのみ適用することを
前提としているため公平性を欠いている。イトコーネン
(Itkonen)ほかは、類推は、何らかの構成レベルで制
御されていれば、完全に文法的な文章を生み出すことを
示している。我々は、彼らの方法の核心となる技術に関
心を抱き、それが本実施形態の類推語生成処理の基礎と
なっている。すなわち、出力される類推語Dは、入力さ
れた第2の文字列B及び入力された第3の文字列Cを通
じて同時に1文字ずつ調べ、各要素と入力された第1の
文字列Aの構成との関係性を調べること(加えて、出力
される類推語Dの既定部分との結合)によって形成され
る。従って、入力された第1の文字列Aは、入力された
第2の文字列B及び入力された第3の文字列Cを比較す
るための軸であり、それとの対照で出力される類推語D
が構築される。
ついて説明する。従来技術文献4「エサ・イトコーネン
(Esa Itkonen)ほか,“対照形(及びその他)におけ
る類推のリハビリテーション(A Rehabilitation of an
alogy in syntax (and elsewhere))”,Andras Kertes
z(editor),Metalinguistik im Wandel:die kognitive
Wende in Wissenschaftstheorie und Linguistik Fran
kfurt a/M, Peter Lang,pp.131-171,1997年」は、類
推は非文法的文章をもたらすために構文論においては機
能しないとするチョムスキー(Chomsky)への論駁(ref
utation)として、序文において、類推語を文章におい
て生成するためのプログラムを提供している。類推は構
文法にも適用されるとする考え方は、ヘルマン・パウル
(Hermann Paul)及びブルームフィールド(Bloomfiel
d)によって数十年前に提唱されている。チョムスキー
の主張は、類推をシンボルレベルにのみ適用することを
前提としているため公平性を欠いている。イトコーネン
(Itkonen)ほかは、類推は、何らかの構成レベルで制
御されていれば、完全に文法的な文章を生み出すことを
示している。我々は、彼らの方法の核心となる技術に関
心を抱き、それが本実施形態の類推語生成処理の基礎と
なっている。すなわち、出力される類推語Dは、入力さ
れた第2の文字列B及び入力された第3の文字列Cを通
じて同時に1文字ずつ調べ、各要素と入力された第1の
文字列Aの構成との関係性を調べること(加えて、出力
される類推語Dの既定部分との結合)によって形成され
る。従って、入力された第1の文字列Aは、入力された
第2の文字列B及び入力された第3の文字列Cを比較す
るための軸であり、それとの対照で出力される類推語D
が構築される。
【0026】従って、類推語生成処理は以下の通りであ
る。 (a)まず、入力された第1の文字列Aを軸として、入
力された第1の文字列Aとは共通していない入力された
第2の文字列Bの部分文字列を検索する一方で、他方で
は、入力された第1の文字列Aとは共通していない入力
された第3の文字列Cの部分文字列を検索する。 (b)次いで、それらを正しい順序に配置する。
る。 (a)まず、入力された第1の文字列Aを軸として、入
力された第1の文字列Aとは共通していない入力された
第2の文字列Bの部分文字列を検索する一方で、他方で
は、入力された第1の文字列Aとは共通していない入力
された第3の文字列Cの部分文字列を検索する。 (b)次いで、それらを正しい順序に配置する。
【0027】次式は、類推語生成方法の処理手順の一例
として、入力された第1の文字列Aを”reade
r”、入力された第2の文字列Bを”unreadab
le”、入力された第3の文字列Cを”doer”とし
たときの、類推語xを生成する関係式を示す。
として、入力された第1の文字列Aを”reade
r”、入力された第2の文字列Bを”unreadab
le”、入力された第3の文字列Cを”doer”とし
たときの、類推語xを生成する関係式を示す。
【0028】
【数1】
【0029】上述の類推語生成処理に沿って説明する。 (a)まず、入力された第2の文字列B”unread
able”のうちの入力された第1の文字列A”rea
der”に共通しない部分文字列を調べると、部分文字
列”un”及び”able”が共通していないことが分
かる。また、入力された第3の文字列C”doer”の
うちの入力された第1の文字列A”reader”と共
通していない部分文字列を調べると、部分文字列”d
o”が検索される。 (b)次いで、それらを正しい順序で配置すると、”u
n””do””able”となり、最終的に類推語”u
ndoable”が結果として生成される。
able”のうちの入力された第1の文字列A”rea
der”に共通しない部分文字列を調べると、部分文字
列”un”及び”able”が共通していないことが分
かる。また、入力された第3の文字列C”doer”の
うちの入力された第1の文字列A”reader”と共
通していない部分文字列を調べると、部分文字列”d
o”が検索される。 (b)次いで、それらを正しい順序で配置すると、”u
n””do””able”となり、最終的に類推語”u
ndoable”が結果として生成される。
【0030】上述の処理(a)は、第1の文字列A”r
eader”と第2の文字列B”unreadabl
e”(又は、第1の文字列A”reader”と第3の
文字列C”doer”)との共通する部分文字列を、相
補性によって検索することにより行われる。
eader”と第2の文字列B”unreadabl
e”(又は、第1の文字列A”reader”と第3の
文字列C”doer”)との共通する部分文字列を、相
補性によって検索することにより行われる。
【0031】例えば、従来技術文献5「ロバート・エ
イ.ワグナー(Robert A. Wagner)ほか,”文字列から
文字列への修正問題(The String-to-String Correctio
n Problem)”,Journal for the Association of Comp
uting Machinery,vol.21,No1,pp.168-173,1974
年1月」は、編集距離行列を計算することによって2つ
の文字列間の最長共通部分系列を検索する方法(以下、
第5の従来例という。)を提案し、上記方法は、1つの
文字列Xを他の文字列Yに変換するために必要な編集操
作(文字の置換、削除、挿入)数を最小にする。上記編
集操作数を、上記1つの文字列Xと上記他の文字列Yと
の編集距離dist(X,Y)という。
イ.ワグナー(Robert A. Wagner)ほか,”文字列から
文字列への修正問題(The String-to-String Correctio
n Problem)”,Journal for the Association of Comp
uting Machinery,vol.21,No1,pp.168-173,1974
年1月」は、編集距離行列を計算することによって2つ
の文字列間の最長共通部分系列を検索する方法(以下、
第5の従来例という。)を提案し、上記方法は、1つの
文字列Xを他の文字列Yに変換するために必要な編集操
作(文字の置換、削除、挿入)数を最小にする。上記編
集操作数を、上記1つの文字列Xと上記他の文字列Yと
の編集距離dist(X,Y)という。
【0032】ここで、第5の従来例において、第1の文
字列”like”、第2の文字列”unlike”及び
第3の文字列”known”が入力された場合を考え
る。図2は、第5の従来例において、入力された第1の
文字列”like”及び入力された第2の文字列”un
like”間の編集距離を表す編集距離行列を示す表で
あり、図3は、第5の従来例において、入力された第1
の文字列”like”及び入力された第3の文字列”k
nown”間の編集距離を表す編集距離行列を示す表で
ある。図2及び図3において、同様に、最も右下の数値
が2つの文字列間の編集距離を表す。従って、図2及び
図3を参照すると、編集距離dist(like,un
like)=2、編集距離dist(like,kno
wn)=5である。
字列”like”、第2の文字列”unlike”及び
第3の文字列”known”が入力された場合を考え
る。図2は、第5の従来例において、入力された第1の
文字列”like”及び入力された第2の文字列”un
like”間の編集距離を表す編集距離行列を示す表で
あり、図3は、第5の従来例において、入力された第1
の文字列”like”及び入力された第3の文字列”k
nown”間の編集距離を表す編集距離行列を示す表で
ある。図2及び図3において、同様に、最も右下の数値
が2つの文字列間の編集距離を表す。従って、図2及び
図3を参照すると、編集距離dist(like,un
like)=2、編集距離dist(like,kno
wn)=5である。
【0033】次いで、本発明に係る本実施形態において
用いられる単語間の擬似距離を説明する。入力された第
1の文字列Aと入力された第2の文字列Bの最長共通部
分系列の文字数を、2つの文字列間の類似度sim
(A,B)という。また、第1の文字列Aの文字数か
ら、第2の文字列Bを生成するために削除又は置換され
た文字数を擬似距離といい、pdist(A,B)と定
義され、挿入コストが0である場合を除いて、上述の編
集距離として正確に計算することができる。
用いられる単語間の擬似距離を説明する。入力された第
1の文字列Aと入力された第2の文字列Bの最長共通部
分系列の文字数を、2つの文字列間の類似度sim
(A,B)という。また、第1の文字列Aの文字数か
ら、第2の文字列Bを生成するために削除又は置換され
た文字数を擬似距離といい、pdist(A,B)と定
義され、挿入コストが0である場合を除いて、上述の編
集距離として正確に計算することができる。
【0034】
【数2】 sim(A,B)=|A|−pdist(A,B)
【0035】図4は、本発明に係る実施形態において、
入力された第1の文字列Aを”unlike”、第2の
文字列Bを”like”としたときの両方の文字列間の
擬似距離を表す擬似距離行列を示す表であり、図5は、
本発明に係る実施形態において、入力された第1の文字
列Aを”like”、第2の文字列Bを”unlik
e”として、それらの間の擬似距離を表す擬似距離行列
を示す表である。第1の文字列Aと第2の文字列との間
の擬似距離の値は、擬似距離行列における最後の行の最
後の列における要素の値である。同様に、図4を参照す
ると、擬似距離pdist(unlike,like)
=2であり、また図5を参照すると、擬似距離pdis
t(like,unlike)=0であることが分か
る。
入力された第1の文字列Aを”unlike”、第2の
文字列Bを”like”としたときの両方の文字列間の
擬似距離を表す擬似距離行列を示す表であり、図5は、
本発明に係る実施形態において、入力された第1の文字
列Aを”like”、第2の文字列Bを”unlik
e”として、それらの間の擬似距離を表す擬似距離行列
を示す表である。第1の文字列Aと第2の文字列との間
の擬似距離の値は、擬似距離行列における最後の行の最
後の列における要素の値である。同様に、図4を参照す
ると、擬似距離pdist(unlike,like)
=2であり、また図5を参照すると、擬似距離pdis
t(like,unlike)=0であることが分か
る。
【0036】第2の文字列B又は第3の文字列Cに挿入
される文字は、それらが明らかに第2の文字列Bと第3
の文字列Cの一部であって第1の文字列Aに存在しない
文字であるために類推語Dに組み込みたい文字として、
別に記憶されてもよい。
される文字は、それらが明らかに第2の文字列Bと第3
の文字列Cの一部であって第1の文字列Aに存在しない
文字であるために類推語Dに組み込みたい文字として、
別に記憶されてもよい。
【0037】図6は、本発明に係る実施形態において、
入力された第1の文字列”like”を縦軸として、入
力された第2の文字列”unlike”と、入力された
第3の文字列”known”とのそれぞれの間の擬似距
離を表す擬似距離行列を示す表である。入力された第1
の文字列Aは、類推を行う際の軸であるために、擬似距
離行列ではこれを縦軸にして、その周囲で擬似距離の計
算を行なう。例えば、like:unlike=kno
wn:xの場合は、上記擬似距離行列は図6のような行
列になる。
入力された第1の文字列”like”を縦軸として、入
力された第2の文字列”unlike”と、入力された
第3の文字列”known”とのそれぞれの間の擬似距
離を表す擬似距離行列を示す表である。入力された第1
の文字列Aは、類推を行う際の軸であるために、擬似距
離行列ではこれを縦軸にして、その周囲で擬似距離の計
算を行なう。例えば、like:unlike=kno
wn:xの場合は、上記擬似距離行列は図6のような行
列になる。
【0038】次いで、適用すべき制約条件について説明
する。第1の文字列Aの幾つかの文字が、第2の文字列
B及び第3の文字列Cにも現れない場合は、類推語が存
在しないことは簡単に証明される。対偶的に言えば、類
推が成立するためには、第1の文字列Aのいずれかの文
字が、第2の文字列B又は第3の文字列Cに現れなけれ
ばならない。従って、次式のように、第1の文字列Aと
第2の文字列Bとの間の類似度sim(A,B)と、第
1の文字列Aと第3の文字列Cとの間の類似度sim
(A,C)との和は、第1の文字列Aの文字数|A|よ
り大きいか又は同一でなければならない。
する。第1の文字列Aの幾つかの文字が、第2の文字列
B及び第3の文字列Cにも現れない場合は、類推語が存
在しないことは簡単に証明される。対偶的に言えば、類
推が成立するためには、第1の文字列Aのいずれかの文
字が、第2の文字列B又は第3の文字列Cに現れなけれ
ばならない。従って、次式のように、第1の文字列Aと
第2の文字列Bとの間の類似度sim(A,B)と、第
1の文字列Aと第3の文字列Cとの間の類似度sim
(A,C)との和は、第1の文字列Aの文字数|A|よ
り大きいか又は同一でなければならない。
【0039】
【数3】sim(A,B)+sim(A,C)≧|A|
【0040】また、上述の式は次式に書きかえることが
できる。
できる。
【0041】
【数4】 |A|≧pdist(A,B)+pdist(A,C)
【0042】上式において、第1の文字列Aの文字数|
A|が2つの擬似距離の和より大きければ、第1の文字
列Aに存在するある部分文字列(又は部分系列)が、す
べての文字列において同一順序で共通していることにな
る。こうした共通の部分文字列は、類推語Dにも存在す
るはずである。このような部分系列の長さ(文字数)の
和を、状態パラメータcom(A,B,C,D)と定義
する。細心の注意を要する点は、この和が、本発明に係
る本実施形態の類推語生成処理によって構築中の類推語
Dに正確に依存していることにある。換言すれば、類推
関係A:B=C:Dが成り立つためには、次式が成り立
たなければならない。
A|が2つの擬似距離の和より大きければ、第1の文字
列Aに存在するある部分文字列(又は部分系列)が、す
べての文字列において同一順序で共通していることにな
る。こうした共通の部分文字列は、類推語Dにも存在す
るはずである。このような部分系列の長さ(文字数)の
和を、状態パラメータcom(A,B,C,D)と定義
する。細心の注意を要する点は、この和が、本発明に係
る本実施形態の類推語生成処理によって構築中の類推語
Dに正確に依存していることにある。換言すれば、類推
関係A:B=C:Dが成り立つためには、次式が成り立
たなければならない。
【0043】
【数5】│A│=pdist(A,B)+pdist(A,
C)+com(A,B,C,D)
C)+com(A,B,C,D)
【0044】次いで、本実施形態の類推語生成処理の詳
細について説明する。本実施形態の類推語生成処理は、
当該類推語生成処理の最初の3つの入力された文字列の
間で行われる2つの擬似距離行列の計算を基礎としてい
る。従来技術文献6「エスコ・ウッコネン(Esko Ukkon
en),“文字列近似照合のためのアルゴリズム(Algori
thms for Approximate String Matching)”,Informat
ion and Control,64,pp.100-118,1985年」の結果
は、全体の距離の値がある所定のしきい値未満であるこ
とが周知であれば、正確な距離を得るには、編集距離行
列の両サイドのそれぞれについて、対角バンド(diagon
al band)の他に2つのエキストラバンド(extra band)
を計算するだけでよいと述べている。
細について説明する。本実施形態の類推語生成処理は、
当該類推語生成処理の最初の3つの入力された文字列の
間で行われる2つの擬似距離行列の計算を基礎としてい
る。従来技術文献6「エスコ・ウッコネン(Esko Ukkon
en),“文字列近似照合のためのアルゴリズム(Algori
thms for Approximate String Matching)”,Informat
ion and Control,64,pp.100-118,1985年」の結果
は、全体の距離の値がある所定のしきい値未満であるこ
とが周知であれば、正確な距離を得るには、編集距離行
列の両サイドのそれぞれについて、対角バンド(diagon
al band)の他に2つのエキストラバンド(extra band)
を計算するだけでよいと述べている。
【0045】ここで、対角バンドとは、行数l1と列数
l2の擬似距離行列において、l1<l2のときに、図
21に示すように、当該擬似距離行列における対角要素
を含みかつその対角要素から右方向にl2−l1だけの
列数も含む対角方向で存在する行列要素の帯(band)を
いい、また、l1>l2のときに、図22に示すよう
に、当該擬似距離行列における対角要素を含みかつその
対角要素から下方向にl1−l2だけの行数も含む対角
方向で存在する行列要素の帯(band)をいい、さらに
は、l1=l2のときに、図23に示すように、当該擬
似距離行列における対角要素のみを含む対角方向で存在
する行列要素をいう。また、エキストラバンドとは、図
24及び図25に示すように、対角バンドの両側に、列
数又は行数が幅dk/2である行列要素の帯をいい、エ
キストラバンドの幅dk/2は、図12のステップS2
6において計算されて更新され、図13及び図14のス
テップにおいて使用される。
l2の擬似距離行列において、l1<l2のときに、図
21に示すように、当該擬似距離行列における対角要素
を含みかつその対角要素から右方向にl2−l1だけの
列数も含む対角方向で存在する行列要素の帯(band)を
いい、また、l1>l2のときに、図22に示すよう
に、当該擬似距離行列における対角要素を含みかつその
対角要素から下方向にl1−l2だけの行数も含む対角
方向で存在する行列要素の帯(band)をいい、さらに
は、l1=l2のときに、図23に示すように、当該擬
似距離行列における対角要素のみを含む対角方向で存在
する行列要素をいう。また、エキストラバンドとは、図
24及び図25に示すように、対角バンドの両側に、列
数又は行数が幅dk/2である行列要素の帯をいい、エ
キストラバンドの幅dk/2は、図12のステップS2
6において計算されて更新され、図13及び図14のス
テップにおいて使用される。
【0046】従来技術文献6の結果は本実施形態で使用
する擬似距離にも当てはまることから、これを使用して
2つの擬似距離行列の計算量を減少させる。エキストラ
バンドの幅は、他の行列における現在の擬似距離の値に
よって重ね合わせの制約条件を満足させるように試行す
ることによって得られる。
する擬似距離にも当てはまることから、これを使用して
2つの擬似距離行列の計算量を減少させる。エキストラ
バンドの幅は、他の行列における現在の擬似距離の値に
よって重ね合わせの制約条件を満足させるように試行す
ることによって得られる。
【0047】次いで、類推語生成処理において計算され
る主要素(main component)について説明する。擬似距
離行列において十分な計算を行った後は、両方の擬似距
離行列で同時に、類推語生成処理に従って経路をたど
り、最長共通部分系列を検索して類推語Dに文字をコピ
ーする。いつでも、両方の擬似距離行列において検索さ
れる要素の位置は、必ず同一の水平線上、すなわち第1
の文字列Aにおける同一の文字の位置に在って、類推語
Dを構築する間の正しい順序を保証する。
る主要素(main component)について説明する。擬似距
離行列において十分な計算を行った後は、両方の擬似距
離行列で同時に、類推語生成処理に従って経路をたど
り、最長共通部分系列を検索して類推語Dに文字をコピ
ーする。いつでも、両方の擬似距離行列において検索さ
れる要素の位置は、必ず同一の水平線上、すなわち第1
の文字列Aにおける同一の文字の位置に在って、類推語
Dを構築する間の正しい順序を保証する。
【0048】経路の決定は、第5の従来例の方法に従っ
て、擬似距離行列内の現在処理されている要素(以下、
現在の要素という。)と、それより1つ前の位置にある
3つの要素(現在の要素から見て水平方向にある1つ前
の要素、現在の要素から見て垂直方向にある1つ前の要
素、現在の要素から見て対角方向にある1つ前の要素)
とを比較して行なわれる。結果的には、経路は、まず、
文字列の最後の文字へと進行し、次に、最後の文字から
最初の文字へと進行する。可能な9つの組み合わせ(2
つの擬似距離行列における3方向)は、両方の擬似距離
行列内で方向が同一の場合と、異なる場合との2グルー
プに分けることができる。
て、擬似距離行列内の現在処理されている要素(以下、
現在の要素という。)と、それより1つ前の位置にある
3つの要素(現在の要素から見て水平方向にある1つ前
の要素、現在の要素から見て垂直方向にある1つ前の要
素、現在の要素から見て対角方向にある1つ前の要素)
とを比較して行なわれる。結果的には、経路は、まず、
文字列の最後の文字へと進行し、次に、最後の文字から
最初の文字へと進行する。可能な9つの組み合わせ(2
つの擬似距離行列における3方向)は、両方の擬似距離
行列内で方向が同一の場合と、異なる場合との2グルー
プに分けることができる。
【0049】ここで、類推語生成処理について簡単に説
明する。まず、状態パラメータcom(A,B,C,
D)は、
明する。まず、状態パラメータcom(A,B,C,
D)は、
【数6】{│A│−(pdist(A,B)+pdis
t(A,C))} の計算値に初期設定される。パラメータiA、iB及びi
Cはそれぞれ、第1の文字列A、第2の文字列B及び第
3の文字列Cにおける現在の位置である。dir AB(又
はdirAC)は、擬似距離行列A×B(又は擬似距離行
列A×C)における現在の位置からの経路の方向であ
る。ここで、”コピーする”とは、ある文字列の1文字
を類推語Dのある部分に設定し、当該文字列の前の文字
へと移動することを意味している。
t(A,C))} の計算値に初期設定される。パラメータiA、iB及びi
Cはそれぞれ、第1の文字列A、第2の文字列B及び第
3の文字列Cにおける現在の位置である。dir AB(又
はdirAC)は、擬似距離行列A×B(又は擬似距離行
列A×C)における現在の位置からの経路の方向であ
る。ここで、”コピーする”とは、ある文字列の1文字
を類推語Dのある部分に設定し、当該文字列の前の文字
へと移動することを意味している。
【0050】次いで、検出失敗における早期終了につい
て説明する。両方の擬似距離行列の計算が完了しなくて
も、類推語の生成失敗を検出することはできる。第1の
文字列Aの1文字が、第2の文字列B又は第3の文字列
Cに現れていなければ、生成失敗は明白である。これは
また、擬似距離行列の計算を開始する前の時点で既に検
出することができる。また、重ね合わせの制約条件をチ
ェックすることによって、本実施形態の類推語生成処理
は、満足でない動作が実行されるとすぐに終了すること
ができる。
て説明する。両方の擬似距離行列の計算が完了しなくて
も、類推語の生成失敗を検出することはできる。第1の
文字列Aの1文字が、第2の文字列B又は第3の文字列
Cに現れていなければ、生成失敗は明白である。これは
また、擬似距離行列の計算を開始する前の時点で既に検
出することができる。また、重ね合わせの制約条件をチ
ェックすることによって、本実施形態の類推語生成処理
は、満足でない動作が実行されるとすぐに終了すること
ができる。
【0051】以上のような本実施形態の類推語生成処理
に従って、次の関係式
に従って、次の関係式
【数7】like:unlike=known:x において類推語xを生成する処理について説明する。こ
こで、入力された第1の文字列は”like”、入力さ
れた第2の文字列”unlike”、入力された第3の
文字列は”known”とする。
こで、入力された第1の文字列は”like”、入力さ
れた第2の文字列”unlike”、入力された第3の
文字列は”known”とする。
【0052】次いで、類推語生成処理の一例について説
明する。本実施形態の類推語生成処理はまず、第1の文
字列”like”の全文字が、第2の文字列”unli
ke”又は第3の文字列”known”のいずれかに存
在していることを調べる。次いで、擬似距離行列に関し
て各要素の計算が最少の計算コストで行われる。すなわ
ち、最小の対角バンドの範囲内の要素だけが計算され
る。図7は、図6の擬似距離行列において、対角バンド
の範囲内の要素だけを計算した制限された擬似距離行列
を示す表である。図7の擬似距離行列における”・”
は、値を計算していない要素、すなわち値を計算する必
要がない要素を示す。図7において”・”がかなり多数
見られるために、図6の擬似距離行列の計算コストと比
較すると、かなり計算コストが減少していることが分か
る。
明する。本実施形態の類推語生成処理はまず、第1の文
字列”like”の全文字が、第2の文字列”unli
ke”又は第3の文字列”known”のいずれかに存
在していることを調べる。次いで、擬似距離行列に関し
て各要素の計算が最少の計算コストで行われる。すなわ
ち、最小の対角バンドの範囲内の要素だけが計算され
る。図7は、図6の擬似距離行列において、対角バンド
の範囲内の要素だけを計算した制限された擬似距離行列
を示す表である。図7の擬似距離行列における”・”
は、値を計算していない要素、すなわち値を計算する必
要がない要素を示す。図7において”・”がかなり多数
見られるために、図6の擬似距離行列の計算コストと比
較すると、かなり計算コストが減少していることが分か
る。
【0053】次いで、重ね合わせの制約条件を検証する
ために、制限された擬似距離行列における主要素が用い
られる。図8は、図7の擬似距離行列において、主要素
を円で囲んだ擬似距離行列を示す表である。本発明に係
る本実施形態の類推語生成処理における主要素は、両行
列において円内の値によって記述された経路をたどる。
この動作の連続は、図8を参照すると、次表のように、
コピーされる文字を類推語にトリガ(活性化)する。
ために、制限された擬似距離行列における主要素が用い
られる。図8は、図7の擬似距離行列において、主要素
を円で囲んだ擬似距離行列を示す表である。本発明に係
る本実施形態の類推語生成処理における主要素は、両行
列において円内の値によって記述された経路をたどる。
この動作の連続は、図8を参照すると、次表のように、
コピーされる文字を類推語にトリガ(活性化)する。
【0054】
【表1】 ――――――――――――――――――――― dirAB dirAC コピーされる文字 ――――――――――――――――――――― 対角方向 対角方向 n 対角方向 対角方向 w 対角方向 対角方向 o 対角方向 対角方向 n 水平方向 水平方向 k 水平方向 対角方向 n 水平方向 対角方向 u ――――――――――――――――――――――
【0055】上の表のように、各ステップで重ね合わせ
の制約条件が検証され、最終的に、類推語x=unkn
ownが出力される。
の制約条件が検証され、最終的に、類推語x=unkn
ownが出力される。
【0056】自明な事例は、当然、
【数8】A:A=A:x ⇒ x=A もしくは、
【数9】A:A=C:x ⇒ x=C といったアルゴリズムによって解かれる。また、構造
上、A:B=C:xとA:C=B:xは、同一の類推語
xをもたらす。
上、A:B=C:xとA:C=B:xは、同一の類推語
xをもたらす。
【0057】次いで、類推関係における文字列の”反復
(reduplication)”及び”入れ替え(permutation)”
関係について説明する。従来例は、同一の文字列を繰り
返すような”反復”関係を有する類推語を生成すること
ができない。しかし、例えば、インドネシア語で複数形
を作りたい場合、例えば、次式のような関係が存在す
る。
(reduplication)”及び”入れ替え(permutation)”
関係について説明する。従来例は、同一の文字列を繰り
返すような”反復”関係を有する類推語を生成すること
ができない。しかし、例えば、インドネシア語で複数形
を作りたい場合、例えば、次式のような関係が存在す
る。
【0058】
【数10】orang:orang−orang=bu
rung:x x=burung−burung
rung:x x=burung−burung
【0059】ここで、”orang”は、インドネシア
語で人間を意味し、その複数形は、”orang−or
ang”である。また、”burung”は、インドネ
シア語で鳥を意味し、複数形は”burung−bur
ung”である。このような関係では、類推語xを生成
するために、文字列の”反復”が必要となる。この場
合、従来例では、接頭辞を変更せずに残すことが優先さ
れて、類推語x=orang−burungとなる。
語で人間を意味し、その複数形は、”orang−or
ang”である。また、”burung”は、インドネ
シア語で鳥を意味し、複数形は”burung−bur
ung”である。このような関係では、類推語xを生成
するために、文字列の”反復”が必要となる。この場
合、従来例では、接頭辞を変更せずに残すことが優先さ
れて、類推語x=orang−burungとなる。
【0060】また、入れ替えは、本実施形態によって生
成されない。例えば、原セム語の、yaqtilu:y
uqtilu=qatal:qutal(qを、aとu
で置き換える。)は、その一例である。
成されない。例えば、原セム語の、yaqtilu:y
uqtilu=qatal:qutal(qを、aとu
で置き換える。)は、その一例である。
【0061】本実施形態の類推語生成処理の特徴とし
て、類推語生成処理は、シンボルレベルでしか計算を実
行しないために、どのような言語にでも適用可能であ
る。従って、本実施形態の類推語生成処理は言語非依存
型である。従来の言語学における類推は、確実に、より
一般的な心理学的操作から生まれ、このことは人類に共
通しているとも言えることから、この点は幸運である。
後述の実施例は、本実施形態の言語非依存性について示
している。
て、類推語生成処理は、シンボルレベルでしか計算を実
行しないために、どのような言語にでも適用可能であ
る。従って、本実施形態の類推語生成処理は言語非依存
型である。従来の言語学における類推は、確実に、より
一般的な心理学的操作から生まれ、このことは人類に共
通しているとも言えることから、この点は幸運である。
後述の実施例は、本実施形態の言語非依存性について示
している。
【0062】また、逆に言えば、シンボルは、計算され
る類推の粒度(granularity)又は精密度を決定する。
従って、コード化システムに反映されない交換又は転換
(commutation)は実行されない。これは、3つの異な
るコーディングにおける日本語の例である日本語の書
体、ヘボン式表記及び正式な訓令式、によって示すこと
ができる。次式は、日本語の書体において、ヘボン式表
記及び正式な訓令式を用いた場合の一例を示す。
る類推の粒度(granularity)又は精密度を決定する。
従って、コード化システムに反映されない交換又は転換
(commutation)は実行されない。これは、3つの異な
るコーディングにおける日本語の例である日本語の書
体、ヘボン式表記及び正式な訓令式、によって示すこと
ができる。次式は、日本語の書体において、ヘボン式表
記及び正式な訓令式を用いた場合の一例を示す。
【0063】
【数11】(a)漢字/かなの場合 待つ:待ちます=働く:x x=生成不可能
【数12】(b)ヘボン式の場合 matsu:machimasu=hataraku:
x x=生成不可能
x x=生成不可能
【数13】(c)訓令式の場合 matu:matimasu=hataraku:x x=hatarakimasu
【0064】本実施形態の類推語生成処理では、漢字か
な及びヘボン式における類推語(漢字かな:働きます、
ヘボン式:hatarakimasu)を生成すること
ができない。これは、本実施形態の類推語生成処理で
は、漢字かな表記の”つ:ち=く:き”、ヘボン式表記
の”tsu:chi=ku:ki”というようなシンボ
ルレベルを超越した基本的類推を行うことができないた
めである。但し、このような類推上の関係を予め定義し
てパラメータ表示を行えば、本実施形態において上述の
ような類推語を生成することは可能である。
な及びヘボン式における類推語(漢字かな:働きます、
ヘボン式:hatarakimasu)を生成すること
ができない。これは、本実施形態の類推語生成処理で
は、漢字かな表記の”つ:ち=く:き”、ヘボン式表記
の”tsu:chi=ku:ki”というようなシンボ
ルレベルを超越した基本的類推を行うことができないた
めである。但し、このような類推上の関係を予め定義し
てパラメータ表示を行えば、本実施形態において上述の
ような類推語を生成することは可能である。
【0065】以下、上述で説明された、図1の類推語生
成装置100において実行される類推語生成処理、特に
編集単位が文字であり、”like”、”unlik
e”及び”known”が3つの文字列としてこの順序
で入力された場合の類推語生成処理について図面を参照
しながら説明する。
成装置100において実行される類推語生成処理、特に
編集単位が文字であり、”like”、”unlik
e”及び”known”が3つの文字列としてこの順序
で入力された場合の類推語生成処理について図面を参照
しながら説明する。
【0066】図1を参照すると、まず、前処理部2は、
2つの擬似距離行列の計算における十分な情報を計算す
るために前処理を実行し、2つの擬似距離行列は前処理
部2によって計算されて擬似距離行列メモリ10に出力
されて記憶される。ここで、前処理部2は、行列初期化
処理を行って、擬似距離行列メモリ10内の両方の擬似
距離行列のすべての要素に正の無限大のデータを設定す
る。さらに、擬似距離メモリ10に記憶された2つの擬
似距離行列における十分な情報を計算するために、前処
理部2において十分な擬似距離行列の計算処理が実行さ
れる。この処理では、図12に示すように、2つの制限
された擬似距離行列の計算と、1つの十分な擬似距離行
列の計算とが実行される。
2つの擬似距離行列の計算における十分な情報を計算す
るために前処理を実行し、2つの擬似距離行列は前処理
部2によって計算されて擬似距離行列メモリ10に出力
されて記憶される。ここで、前処理部2は、行列初期化
処理を行って、擬似距離行列メモリ10内の両方の擬似
距離行列のすべての要素に正の無限大のデータを設定す
る。さらに、擬似距離メモリ10に記憶された2つの擬
似距離行列における十分な情報を計算するために、前処
理部2において十分な擬似距離行列の計算処理が実行さ
れる。この処理では、図12に示すように、2つの制限
された擬似距離行列の計算と、1つの十分な擬似距離行
列の計算とが実行される。
【0067】制限された擬似距離行列の計算処理Lim
MatCompは、ある1つの擬似距離行列に含まれる
すべての行列要素を計算するのではなく、擬似距離行列
の対角バンドとエキストラバンドにおける要素のみを計
算する。当該対角バンドとエキストラバンドに属しない
要素は変化なしのままであるが、図11のステップS9
5に示すように、初期化処理InitMatrix中に
おいて最大値のデータに保持される。
MatCompは、ある1つの擬似距離行列に含まれる
すべての行列要素を計算するのではなく、擬似距離行列
の対角バンドとエキストラバンドにおける要素のみを計
算する。当該対角バンドとエキストラバンドに属しない
要素は変化なしのままであるが、図11のステップS9
5に示すように、初期化処理InitMatrix中に
おいて最大値のデータに保持される。
【0068】3つの入力された文字列に対して類推的に
類似する文字列の生成は、入力された第1の文字列と第
2の文字列との間、並びに入力された第1の文字列と第
3の文字列との間の擬似距離行列におけるすべての行列
要素を計算することによって行うことができる。制限さ
れた擬似距離行列の計算処理LimMatCompの目
的は、入力された第1の文字列と第2の文字列との間、
並びに入力された第1の文字列と第3の文字列との間の
擬似距離行列における対角バンド及び2つのエキストラ
バンドに含まれる行列要素のみを計算することによっ
て、入力された3つの文字列に類推的に類似する文字列
の生成のために、入力された第1の文字列と第2の文字
列との間、並びに入力された第1の文字列と第3の文字
列との間の擬似距離行列における十分な情報のみを計算
することにある。それ故、制限された擬似距離行列の計
算処理LimMatCompを用いて入力された3つの
文字列に類推的に類似する文字列を生成する処理は、入
力された第1の文字列と第2の文字列との間、並びに入
力された第1の文字列と第3の文字列との間の擬似距離
行列におけるすべての行列要素を計算して入力された3
つの文字列に類推的に類似する文字列を生成する処理に
比較して高速で実行することができる。
類似する文字列の生成は、入力された第1の文字列と第
2の文字列との間、並びに入力された第1の文字列と第
3の文字列との間の擬似距離行列におけるすべての行列
要素を計算することによって行うことができる。制限さ
れた擬似距離行列の計算処理LimMatCompの目
的は、入力された第1の文字列と第2の文字列との間、
並びに入力された第1の文字列と第3の文字列との間の
擬似距離行列における対角バンド及び2つのエキストラ
バンドに含まれる行列要素のみを計算することによっ
て、入力された3つの文字列に類推的に類似する文字列
の生成のために、入力された第1の文字列と第2の文字
列との間、並びに入力された第1の文字列と第3の文字
列との間の擬似距離行列における十分な情報のみを計算
することにある。それ故、制限された擬似距離行列の計
算処理LimMatCompを用いて入力された3つの
文字列に類推的に類似する文字列を生成する処理は、入
力された第1の文字列と第2の文字列との間、並びに入
力された第1の文字列と第3の文字列との間の擬似距離
行列におけるすべての行列要素を計算して入力された3
つの文字列に類推的に類似する文字列を生成する処理に
比較して高速で実行することができる。
【0069】制限された擬似距離行列の計算処理Lim
MatCompによって計算された行列要素の値は、擬
似距離行列のすべての行列要素を計算する処理によって
計算された行列要素の値と異なる場合がある。これにつ
いて、図6及び図7に図示している。図6において、文
字列”like”の文字”k”と、文字列”know
n”の文字”o”とに対応する、文字列”like”と
文字列”known”との間の擬似距離行列における第
3行第3列の値は、2の値を有する。しかしながら、図
7のそれは、3の値を有する。
MatCompによって計算された行列要素の値は、擬
似距離行列のすべての行列要素を計算する処理によって
計算された行列要素の値と異なる場合がある。これにつ
いて、図6及び図7に図示している。図6において、文
字列”like”の文字”k”と、文字列”know
n”の文字”o”とに対応する、文字列”like”と
文字列”known”との間の擬似距離行列における第
3行第3列の値は、2の値を有する。しかしながら、図
7のそれは、3の値を有する。
【0070】図7において示されるような擬似距離行列
を使用すると、以下のように、入力された第2の文字
列”unlike”において最良の順序(best order)
で現れる入力された第1の文字列”like”からの最
大の文字数(highest number)、及び入力された第3の
文字列”known”において最良の順序で現れる入力
された第1の文字列”like”からの最大の文字数を
得ることができる。
を使用すると、以下のように、入力された第2の文字
列”unlike”において最良の順序(best order)
で現れる入力された第1の文字列”like”からの最
大の文字数(highest number)、及び入力された第3の
文字列”known”において最良の順序で現れる入力
された第1の文字列”like”からの最大の文字数を
得ることができる。
【0071】まず、図11の行列初期化処理によって2
つの擬似距離行列内の各要素は、正の無限大のデータに
設定される。さらに、図12において示される十分な擬
似距離行列の計算処理は、以下のように2つの擬似距離
行列における十分な個数の要素を計算する。
つの擬似距離行列内の各要素は、正の無限大のデータに
設定される。さらに、図12において示される十分な擬
似距離行列の計算処理は、以下のように2つの擬似距離
行列における十分な個数の要素を計算する。
【0072】まず、制限された擬似距離行列処理では、
第2の文字列”unlike”の文字数6と第1の文字
列”like”の文字数4との差の値2に1を加算した
値3というように、入力された第1の文字列”lik
e”と第2の文字列”unlike”との間の擬似距離
行列の要素を計算するために、この第1のステップにお
ける対角バンドの値3を計算しなければならないことが
分かる。
第2の文字列”unlike”の文字数6と第1の文字
列”like”の文字数4との差の値2に1を加算した
値3というように、入力された第1の文字列”lik
e”と第2の文字列”unlike”との間の擬似距離
行列の要素を計算するために、この第1のステップにお
ける対角バンドの値3を計算しなければならないことが
分かる。
【0073】さらに、入力された第1の文字列と第2の
文字列との間の擬似距離行列における幅3の対角バンド
内の各要素の値が計算される。まず、第1の文字列”l
ike”の第1の文字”l”と第2の文字列”unli
ke”の第1の文字”u”は、等しくないことが分か
り、従って、文字”l”で始まる第1の文字列”lik
e”の1文字である部分列に対応する部分列”l”、及
び”u”で始まる第2の文字列”unlike”の1文
字である部分列に対応する部分列”u”の最大の文字数
(highest number)に対応する要素は、数値1に設定さ
れる。
文字列との間の擬似距離行列における幅3の対角バンド
内の各要素の値が計算される。まず、第1の文字列”l
ike”の第1の文字”l”と第2の文字列”unli
ke”の第1の文字”u”は、等しくないことが分か
り、従って、文字”l”で始まる第1の文字列”lik
e”の1文字である部分列に対応する部分列”l”、及
び”u”で始まる第2の文字列”unlike”の1文
字である部分列に対応する部分列”u”の最大の文字数
(highest number)に対応する要素は、数値1に設定さ
れる。
【0074】次いで、擬似距離行列の1番目の行におけ
る2番目の要素の値は、それと同一行である1番目の行
におけるそれの1つ前の要素の値である1番目の要素の
値1と、入力された第1の文字列”like”の1番目
の文字”l”と入力された第2の文字列”unlik
e”の2番目の文字”u”が等しくないことによる関数
trueの比較結果値(関数値)1とのうちの最小値1
として計算される。ここで、関数true(f)は、条
件fが満たされれば1を返し、満たされなければ0を返
す関数である。
る2番目の要素の値は、それと同一行である1番目の行
におけるそれの1つ前の要素の値である1番目の要素の
値1と、入力された第1の文字列”like”の1番目
の文字”l”と入力された第2の文字列”unlik
e”の2番目の文字”u”が等しくないことによる関数
trueの比較結果値(関数値)1とのうちの最小値1
として計算される。ここで、関数true(f)は、条
件fが満たされれば1を返し、満たされなければ0を返
す関数である。
【0075】さらに、擬似距離行列の1番目の行におけ
る3番目の要素の値は、それと同一行である1番目の行
におけるそれの1つ前の要素の値である2番目の要素の
値1と、第1の文字列”like”の1番目の文字”
l”と第2の文字列”unlike”の3番目の文字”
l”が等しいことによる関数trueの比較結果値(関
数値)0とのうちの最小値0として計算される。
る3番目の要素の値は、それと同一行である1番目の行
におけるそれの1つ前の要素の値である2番目の要素の
値1と、第1の文字列”like”の1番目の文字”
l”と第2の文字列”unlike”の3番目の文字”
l”が等しいことによる関数trueの比較結果値(関
数値)0とのうちの最小値0として計算される。
【0076】さらに、擬似距離行列の2番目の行におけ
る2番目の要素の値は、それの1つ前の行である1番目
の行におけるその1つ前の要素の値である1番目の要素
の値1に、第1の文字列”like”の2番目の文字”
i”と第2の文字列”unlike”の2番目の文字”
n”とが等しくないことによる関数trueの比較結果
値(関数値)1を加算した値である合計値(和)2と、
その1つ前の1番目の行における同一の2番目の要素の
値1に1を加算した値である合計値(和)2とのうちの
最小値2に設定される。従って、2番目の行における2
番目の要素の値は、数値2に設定される。
る2番目の要素の値は、それの1つ前の行である1番目
の行におけるその1つ前の要素の値である1番目の要素
の値1に、第1の文字列”like”の2番目の文字”
i”と第2の文字列”unlike”の2番目の文字”
n”とが等しくないことによる関数trueの比較結果
値(関数値)1を加算した値である合計値(和)2と、
その1つ前の1番目の行における同一の2番目の要素の
値1に1を加算した値である合計値(和)2とのうちの
最小値2に設定される。従って、2番目の行における2
番目の要素の値は、数値2に設定される。
【0077】次いで、擬似距離行列の2番目の行におけ
る3番目の要素の値は、それの1つ前の行である1番目
の行におけるその1つ前の要素である2番目の要素の値
1に、第1の文字列”like”の2番目の文字”i”
と第2の文字列”unlike”の3番目の文字”l”
が等しくないことによる関数trueの結果値(関数
値)1を加算した値である合計値(和)2と、それの1
つ前の行である1番目の行におけるそれと同一番目の要
素である3番目の要素の値1に1を加算した値である合
計値(和)2と、それと同一行である2番目の行におけ
るそれの1つ前の要素である2番目の要素の値2との間
の最小値である数値2に設定される。
る3番目の要素の値は、それの1つ前の行である1番目
の行におけるその1つ前の要素である2番目の要素の値
1に、第1の文字列”like”の2番目の文字”i”
と第2の文字列”unlike”の3番目の文字”l”
が等しくないことによる関数trueの結果値(関数
値)1を加算した値である合計値(和)2と、それの1
つ前の行である1番目の行におけるそれと同一番目の要
素である3番目の要素の値1に1を加算した値である合
計値(和)2と、それと同一行である2番目の行におけ
るそれの1つ前の要素である2番目の要素の値2との間
の最小値である数値2に設定される。
【0078】従って、入力された第1の文字列”lik
e”と第2の文字列”unlike”との間の擬似距離
行列における幅3の対角バンドのi1番目(i1=1,
2,…,第1の文字列の文字数)の行のik番目(ik
=1,2,…,第kの文字列の文字数)の要素には、図
14のステップS40に記述され、図7において示され
るように、現在の要素の1つ前の行である(i1−1)
番目の行における現在の要素の1つ前の(ik−1)番
目の要素の値に、第1の文字列”like”のi1番目
の文字と第2の文字列”unlike”のik番目の文
字とが等しければ0を、等しくなければ1を加算した値
と、擬似距離行列のその1つ前の行である(i1−1)
番目の行におけるそれと同一番目の要素であるik番目
の要素の値に1を加算した値と、擬似距離行列のそれと
同一の行であるi1番目の行におけるその1つ前の要素
である(ik−1)番目の要素の値とのうちの最小値が
設定される。従って、入力された第1の文字列”lik
e”と第2の文字列”unlike”との間の擬似距離
行列における4番目の行における6番目の要素の値は、
このように処理を実行することによって結果的に数値0
に設定される。
e”と第2の文字列”unlike”との間の擬似距離
行列における幅3の対角バンドのi1番目(i1=1,
2,…,第1の文字列の文字数)の行のik番目(ik
=1,2,…,第kの文字列の文字数)の要素には、図
14のステップS40に記述され、図7において示され
るように、現在の要素の1つ前の行である(i1−1)
番目の行における現在の要素の1つ前の(ik−1)番
目の要素の値に、第1の文字列”like”のi1番目
の文字と第2の文字列”unlike”のik番目の文
字とが等しければ0を、等しくなければ1を加算した値
と、擬似距離行列のその1つ前の行である(i1−1)
番目の行におけるそれと同一番目の要素であるik番目
の要素の値に1を加算した値と、擬似距離行列のそれと
同一の行であるi1番目の行におけるその1つ前の要素
である(ik−1)番目の要素の値とのうちの最小値が
設定される。従って、入力された第1の文字列”lik
e”と第2の文字列”unlike”との間の擬似距離
行列における4番目の行における6番目の要素の値は、
このように処理を実行することによって結果的に数値0
に設定される。
【0079】また、入力された第1の文字列”lik
e”及び第3の文字列”known”間の擬似距離行列
において、入力された第3の文字列”known”の文
字数5と入力された第1の文字列”like”の文字数
4との差に1を加算した合計値(和)を表す幅2の対角
バンドのi1番目の行におけるik番目の要素には、図
14のステップS40に記述され、図7において示され
るように、その1つ前の行である(i1−1)番目の行
におけるそれの1つ前の要素である(ik−1)番目の
要素の値に、第1の文字列”like”のi1番目の文
字と第3の文字列”known”のik番目の文字とが
等しければ0を、等しくなければ1を加算した値と、擬
似距離行列のその1つ前の行である(i1−1)番目の
行におけるそれと同一番目の要素であるik番目の要素
の値に1を加算した値と、擬似距離行列のそれと同一行
であるi1番目の行におけるそれの1つ前の要素である
(ik−1)番目の要素の値とのうちの最小値が設定さ
れる。従って、入力された第1の文字列”like”及
び第3の文字列”known”間の擬似距離行列におけ
る4番目の行における5番目の要素の値は、結果的に数
値4に設定される。このようにして、2つの擬似距離行
列の各要素の値を計算する前処理は終了して次の処理を
行う。
e”及び第3の文字列”known”間の擬似距離行列
において、入力された第3の文字列”known”の文
字数5と入力された第1の文字列”like”の文字数
4との差に1を加算した合計値(和)を表す幅2の対角
バンドのi1番目の行におけるik番目の要素には、図
14のステップS40に記述され、図7において示され
るように、その1つ前の行である(i1−1)番目の行
におけるそれの1つ前の要素である(ik−1)番目の
要素の値に、第1の文字列”like”のi1番目の文
字と第3の文字列”known”のik番目の文字とが
等しければ0を、等しくなければ1を加算した値と、擬
似距離行列のその1つ前の行である(i1−1)番目の
行におけるそれと同一番目の要素であるik番目の要素
の値に1を加算した値と、擬似距離行列のそれと同一行
であるi1番目の行におけるそれの1つ前の要素である
(ik−1)番目の要素の値とのうちの最小値が設定さ
れる。従って、入力された第1の文字列”like”及
び第3の文字列”known”間の擬似距離行列におけ
る4番目の行における5番目の要素の値は、結果的に数
値4に設定される。このようにして、2つの擬似距離行
列の各要素の値を計算する前処理は終了して次の処理を
行う。
【0080】次いで、前処理において計算された各要素
を有する2つの擬似距離行列に基づいて、類推語を生成
する類推語生成処理について説明する。まず、入力され
た第1の文字列”like”の文字数4は、第1の文字
列”like”と第2の文字列”unlike”との間
の擬似距離行列における4番目の行における6番目の要
素の値0と、第1の文字列”like”と第3の文字
列”known”との間の擬似距離行列における4番目
の行における5番目の要素の値4との合計値(和)4以
下に当てはまることが分かるが、これは擬似距離行列に
おいて十分な要素数が計算されたことを意味し、十分な
擬似距離の計算処理から原処理である前処理に戻り、ま
た、前処理から原処理である類推語生成処理に戻り次の
処理に進む。類推語生成処理は、以下のようにして進行
する。
を有する2つの擬似距離行列に基づいて、類推語を生成
する類推語生成処理について説明する。まず、入力され
た第1の文字列”like”の文字数4は、第1の文字
列”like”と第2の文字列”unlike”との間
の擬似距離行列における4番目の行における6番目の要
素の値0と、第1の文字列”like”と第3の文字
列”known”との間の擬似距離行列における4番目
の行における5番目の要素の値4との合計値(和)4以
下に当てはまることが分かるが、これは擬似距離行列に
おいて十分な要素数が計算されたことを意味し、十分な
擬似距離の計算処理から原処理である前処理に戻り、ま
た、前処理から原処理である類推語生成処理に戻り次の
処理に進む。類推語生成処理は、以下のようにして進行
する。
【0081】まず、入力された3つの文字列における位
置i1、i2、i3は、入力された3つの文字列の各々
の文字数の値に初期設定される。ここで文字列における
位置とは、処理されているのは文字列の何番目の文字か
を表すパラメータである。次いで、生成される文字列で
ある類推語における位置i4が、入力された3つの文字
列における文字数の値のうちの最大値の2倍の値に初期
設定される。
置i1、i2、i3は、入力された3つの文字列の各々
の文字数の値に初期設定される。ここで文字列における
位置とは、処理されているのは文字列の何番目の文字か
を表すパラメータである。次いで、生成される文字列で
ある類推語における位置i4が、入力された3つの文字
列における文字数の値のうちの最大値の2倍の値に初期
設定される。
【0082】さらに、共通の文字数が、入力された第1
の文字列”like”の文字数4と、入力された第1の
文字列”like”と入力された第2の文字列”unl
ike”との間の擬似距離行列の4番目の行における6
番目の要素の値0に第1の文字列”like”と第3の
文字列”known”との間の擬似距離行列の4番目の
行における5番目の要素の値4を加算した値である合計
値(和)4との差分値0に初期設定される。
の文字列”like”の文字数4と、入力された第1の
文字列”like”と入力された第2の文字列”unl
ike”との間の擬似距離行列の4番目の行における6
番目の要素の値0に第1の文字列”like”と第3の
文字列”known”との間の擬似距離行列の4番目の
行における5番目の要素の値4を加算した値である合計
値(和)4との差分値0に初期設定される。
【0083】次いで、入力された第1の文字列”lik
e”及び第2の文字列”unlike”間の擬似距離行
列においては、4番目の行における6番目の要素の値0
は、3番目の行における5番目の要素の値0に、第1の
文字列”like”の4番目の文字”e”と第2の文字
列”unlike”の6番目の文字”e”とを比較した
関数trueの比較結果値(関数値)0を加算した値と
同一値であることから、動作方向が対角方向であること
が分かる。
e”及び第2の文字列”unlike”間の擬似距離行
列においては、4番目の行における6番目の要素の値0
は、3番目の行における5番目の要素の値0に、第1の
文字列”like”の4番目の文字”e”と第2の文字
列”unlike”の6番目の文字”e”とを比較した
関数trueの比較結果値(関数値)0を加算した値と
同一値であることから、動作方向が対角方向であること
が分かる。
【0084】また、入力された第1の文字列”lik
e”及び第3の文字列”known”間の擬似距離行列
においては、4番目の行における5番目の要素の値4
は、3番目の行における4番目の要素の値3に、第1の
文字列”like”の4番目の文字”e”と第3の文字
列”known”の5番目の文字”n”とを比較した関
数trueの比較結果値(関数値)1を加算した値と同
一であることから、動作方向が対角方向であることが分
かる。
e”及び第3の文字列”known”間の擬似距離行列
においては、4番目の行における5番目の要素の値4
は、3番目の行における4番目の要素の値3に、第1の
文字列”like”の4番目の文字”e”と第3の文字
列”known”の5番目の文字”n”とを比較した関
数trueの比較結果値(関数値)1を加算した値と同
一であることから、動作方向が対角方向であることが分
かる。
【0085】それゆえ、両行列における2つの方向が対
角方向であり同一であることが分かり、従って、同一方
向処理を行う。同一方向処理は、以下のように進行す
る。
角方向であり同一であることが分かり、従って、同一方
向処理を行う。同一方向処理は、以下のように進行す
る。
【0086】まず、入力された第2の文字列及び入力さ
れた第3の文字列における両方の現在の位置がゼロでは
なく、また第1の文字列”like”の4番目の文字”
e”と第2の文字列”unlike”の6番目の文字”
e”が等しいことが分かる。第1の文字列”like”
の4番目の文字”e”と第3の文字列”known”の
5番目の文字”n”が等しくなく、また第1の文字列”
like”の4番目の文字”e”と第2の文字列”un
like”の6番目の文字”e”が等しいと分かること
により、生成されて出力される類推語の最終文字は、入
力された第3の文字列”known”からの現在の文字
値”n”に設定される。
れた第3の文字列における両方の現在の位置がゼロでは
なく、また第1の文字列”like”の4番目の文字”
e”と第2の文字列”unlike”の6番目の文字”
e”が等しいことが分かる。第1の文字列”like”
の4番目の文字”e”と第3の文字列”known”の
5番目の文字”n”が等しくなく、また第1の文字列”
like”の4番目の文字”e”と第2の文字列”un
like”の6番目の文字”e”が等しいと分かること
により、生成されて出力される類推語の最終文字は、入
力された第3の文字列”known”からの現在の文字
値”n”に設定される。
【0087】さらに、入力された3つの文字列の現在の
位置、及び生成されて出力される類推語における現在の
位置のすべてが1だけデクリメントされて設定され、処
理は元の類推語生成サブルーチン処理に戻る。
位置、及び生成されて出力される類推語における現在の
位置のすべてが1だけデクリメントされて設定され、処
理は元の類推語生成サブルーチン処理に戻る。
【0088】従って、2つの擬似距離行列における動作
方向は双方とも対角方向であるために、生成されて出力
される類推語の最後から2番目の文字は、入力された第
3の文字列”known”からの4番目の文字”w”に
設定されることがさらに判明する。次いで、2つの擬似
距離行列における動作方向が双方とも対角方向であるた
めに、生成されて出力される類推語の最後から3番目の
文字は、第3の文字列”known”からの3番目の文
字”o”に設定されることがさらに判明し、次いで、2
つの擬似距離行列における動作方向が双方とも対角方向
であるために、生成されて出力される類推語の最後から
4番目の文字は、第3の文字列”known”からの2
番目の文字”n”に設定されることがさらに判明し、次
いで、2つの擬似距離行列における動作方向が双方とも
水平方向であるために、生成されて出力される類推語の
最後から5番目の文字は、第3の文字列”known”
からの1番目の文字”k”に設定されることがさらに判
明し、次いで、第1の文字列と第2の文字列との擬似距
離行列における動作方向が水平方向であり、また第1の
文字列と第3の文字列と間の擬似距離行列における動作
方向が対角方向であるために、生成されて出力される類
推語の最後から6番目の文字は、第2の文字列”unl
ike”からの2番目の文字”n”に設定されることが
さらに判明し、次いで、第1の文字列と第2の文字列と
の間の擬似距離行列における動作方向が水平方向であ
り、また第1の文字列と第3の文字列との間の擬似距離
行列における動作方向が対角方向であるために、生成さ
れて出力される類推語の最後から7番目の文字は、第2
の文字列”unlike”からの最初の文字”u”に設
定されることがさらに判明し、結果的に、出力される類
推語は、”unknown”に設定される。
方向は双方とも対角方向であるために、生成されて出力
される類推語の最後から2番目の文字は、入力された第
3の文字列”known”からの4番目の文字”w”に
設定されることがさらに判明する。次いで、2つの擬似
距離行列における動作方向が双方とも対角方向であるた
めに、生成されて出力される類推語の最後から3番目の
文字は、第3の文字列”known”からの3番目の文
字”o”に設定されることがさらに判明し、次いで、2
つの擬似距離行列における動作方向が双方とも対角方向
であるために、生成されて出力される類推語の最後から
4番目の文字は、第3の文字列”known”からの2
番目の文字”n”に設定されることがさらに判明し、次
いで、2つの擬似距離行列における動作方向が双方とも
水平方向であるために、生成されて出力される類推語の
最後から5番目の文字は、第3の文字列”known”
からの1番目の文字”k”に設定されることがさらに判
明し、次いで、第1の文字列と第2の文字列との擬似距
離行列における動作方向が水平方向であり、また第1の
文字列と第3の文字列と間の擬似距離行列における動作
方向が対角方向であるために、生成されて出力される類
推語の最後から6番目の文字は、第2の文字列”unl
ike”からの2番目の文字”n”に設定されることが
さらに判明し、次いで、第1の文字列と第2の文字列と
の間の擬似距離行列における動作方向が水平方向であ
り、また第1の文字列と第3の文字列との間の擬似距離
行列における動作方向が対角方向であるために、生成さ
れて出力される類推語の最後から7番目の文字は、第2
の文字列”unlike”からの最初の文字”u”に設
定されることがさらに判明し、結果的に、出力される類
推語は、”unknown”に設定される。
【0089】次に、上述された類推語生成処理をフロー
チャートを用いて説明する。図9は、図1において示さ
れる類推語生成装置100の中央演算処理装置1によっ
て実行される類推語生成処理を示すフローチャートであ
る。
チャートを用いて説明する。図9は、図1において示さ
れる類推語生成装置100の中央演算処理装置1によっ
て実行される類推語生成処理を示すフローチャートであ
る。
【0090】図9を参照すると、まずステップS1で、
キーボード21を使用して入力された3つの第1,第2
及び第3の文字列(すなわち、単語)が、データWor
d1,Word2,Word3に設定され、さらに、第
1の文字列Word1、第2の文字列Word2及び第
3の文字列Word3のそれぞれの文字数(長さ)がそ
れぞれ、データLen1、Len2及びLen3に設定
される。
キーボード21を使用して入力された3つの第1,第2
及び第3の文字列(すなわち、単語)が、データWor
d1,Word2,Word3に設定され、さらに、第
1の文字列Word1、第2の文字列Word2及び第
3の文字列Word3のそれぞれの文字数(長さ)がそ
れぞれ、データLen1、Len2及びLen3に設定
される。
【0091】次いで、ステップS2で、前処理部2にお
いて前処理が実行された後、ステップS3で、類推語生
成部5によって類推語生成処理が実行される。ここで、
この好ましい実施形態では、データWord1、Wor
d2及びWord3、並びにデータLen1、Len2
及びLen3は、FORTRANやBASIC等の言語
で使用される大域変数(global variables)のように各
サブルーチンにおいて有効な変数であるために、処理名
に続く括弧()内に各サブルーチンで使用する引数は表
示されていない。
いて前処理が実行された後、ステップS3で、類推語生
成部5によって類推語生成処理が実行される。ここで、
この好ましい実施形態では、データWord1、Wor
d2及びWord3、並びにデータLen1、Len2
及びLen3は、FORTRANやBASIC等の言語
で使用される大域変数(global variables)のように各
サブルーチンにおいて有効な変数であるために、処理名
に続く括弧()内に各サブルーチンで使用する引数は表
示されていない。
【0092】図10は、図9におけるメインルーチンの
うちのサブルーチンであるステップS2の前処理を示す
フローチャートである。この前処理は、キーボード21
を用いて入力された3つの文字列(単語)に基づいて、
(a1)第1の文字列Word1の最初の文字から始ま
って最後の文字までの各部分列と、第2の文字列Wor
d2の最初の文字から始まって最後の文字までの各部分
列との間の擬似距離行列M12の各要素と、(a2)第
1の文字列Word1の最初の文字から始まって最後の
文字までの各部分列と、第3の文字列Word3の最初
の文字から始まって最後の文字までの各部分列との間の
擬似距離行列M13の各要素とを計算して擬似距離行列
メモリ10に記憶する処理である。
うちのサブルーチンであるステップS2の前処理を示す
フローチャートである。この前処理は、キーボード21
を用いて入力された3つの文字列(単語)に基づいて、
(a1)第1の文字列Word1の最初の文字から始ま
って最後の文字までの各部分列と、第2の文字列Wor
d2の最初の文字から始まって最後の文字までの各部分
列との間の擬似距離行列M12の各要素と、(a2)第
1の文字列Word1の最初の文字から始まって最後の
文字までの各部分列と、第3の文字列Word3の最初
の文字から始まって最後の文字までの各部分列との間の
擬似距離行列M13の各要素とを計算して擬似距離行列
メモリ10に記憶する処理である。
【0093】図10を参照すると、まずステップS11
で、擬似距離行列M12の各要素の値を正の無限大のデ
ータに初期設定する行列初期化処理InitMatri
x(M12,Len2)が実行され、次いで、ステップ
S12で、擬似距離行列M13の各要素の値を正の無限
大のデータに初期設定する行列初期化処理InitMa
trix(M13,Len3)が実行され、さらに、ス
テップS13で、十分な擬似距離値を計算する十分な擬
似距離行列の計算処理SufMatComp(M12,
M13,0,0)が実行された後、元のメインルーチン
に戻る。本明細書において、例えば、行列初期化処理I
nitMatrix(M12,Len2)におけるIn
itMatrixは処理名であって、(M12,Len
2)は当該サブルーチン処理を実行するための引数であ
る。
で、擬似距離行列M12の各要素の値を正の無限大のデ
ータに初期設定する行列初期化処理InitMatri
x(M12,Len2)が実行され、次いで、ステップ
S12で、擬似距離行列M13の各要素の値を正の無限
大のデータに初期設定する行列初期化処理InitMa
trix(M13,Len3)が実行され、さらに、ス
テップS13で、十分な擬似距離値を計算する十分な擬
似距離行列の計算処理SufMatComp(M12,
M13,0,0)が実行された後、元のメインルーチン
に戻る。本明細書において、例えば、行列初期化処理I
nitMatrix(M12,Len2)におけるIn
itMatrixは処理名であって、(M12,Len
2)は当該サブルーチン処理を実行するための引数であ
る。
【0094】図11は、図10の前処理のサブルーチン
であるステップS11及び12の行列初期化処理を示す
フローチャートである。ここで、図10のステップS1
1における行列初期化処理の場合はk=2であり、図1
0のステップS12における行列初期化処理の場合はk
=3である。
であるステップS11及び12の行列初期化処理を示す
フローチャートである。ここで、図10のステップS1
1における行列初期化処理の場合はk=2であり、図1
0のステップS12における行列初期化処理の場合はk
=3である。
【0095】図11を参照すると、まずステップS91
でパラメータi1が1に初期設定され、その後、ステッ
プS92で、i1≦Len1であるか否かが判断され、
i1>Len1のときは、行列初期化処理が終了したと
判断されて、図10の前処理に戻る。また、ステップS
92でi1≦Len1のときは、ステップS93でパラ
メータikが1に初期設定された後、ステップS94で
ik≦Lenkであるか否かが判断される。ステップS
94で、ik>Lenkのときは、ステップS97に進
み、パラメータi1は1だけインクリメントされて設定
され、ステップS92に戻る。一方、ステップS94
で、ik≦Lenkのときは、ステップS95で、擬似
距離行列M1kにおけるi1番目の行のik番目の要素
M1k[i1][ik]には正の無限大のデータが設定
される。次いで、ステップS96において、パラメータ
ikは1だけインクリメントされて設定された後、ステ
ップS94に戻る。
でパラメータi1が1に初期設定され、その後、ステッ
プS92で、i1≦Len1であるか否かが判断され、
i1>Len1のときは、行列初期化処理が終了したと
判断されて、図10の前処理に戻る。また、ステップS
92でi1≦Len1のときは、ステップS93でパラ
メータikが1に初期設定された後、ステップS94で
ik≦Lenkであるか否かが判断される。ステップS
94で、ik>Lenkのときは、ステップS97に進
み、パラメータi1は1だけインクリメントされて設定
され、ステップS92に戻る。一方、ステップS94
で、ik≦Lenkのときは、ステップS95で、擬似
距離行列M1kにおけるi1番目の行のik番目の要素
M1k[i1][ik]には正の無限大のデータが設定
される。次いで、ステップS96において、パラメータ
ikは1だけインクリメントされて設定された後、ステ
ップS94に戻る。
【0096】図12は、図10における前処理のサブル
ーチンであるステップS13の十分な擬似行列の計算処
理を示すフローチャートである。
ーチンであるステップS13の十分な擬似行列の計算処
理を示すフローチャートである。
【0097】図12を参照すると、まずステップS21
において、制限された擬似距離計算処理LimMatC
omp(M12,d2,Len2)が実行され、ここ
で、対角バンドとd2で制限された幅のエキストラバン
ドにおける要素の値に対して、第1の文字列Word1
の最初の文字から最後の文字までの部分列と第2の文字
列Word2の最初の文字から最後の文字までの部分列
との間の擬似距離を表す擬似距離行列M12における行
数と1行当たりの文字数との間の差の絶対値を加算す
る。次いで、同様にステップS22において、限定され
た擬似距離計算処理LimMatComp(M13,d
3,Len3)が実行される。ここで、対角バンドとd
3で制限された幅のエキストラバンドにおける要素の値
に、第1の文字列Word1の最初の文字から最後の文
字までの部分列と第3の文字列Word3の最初の文字
から最後の文字までの部分列との間の擬似距離を表す擬
似距離行列M13における行数と1行当たりの文字数と
の間の絶対差を加算する。さらに、ステップS23で、
第1の文字列Word1と第2の文字列Word2との
間の擬似距離を表す、擬似距離行列の最後の行における
最後の要素の値が、パラメータp2に設定され、同様
に、第1の文字列Word1と第3の文字列Word3
との間の擬似距離を表す、擬似距離行列の最後の行にお
ける最後の要素の値が、パラメータp3に設定される。
において、制限された擬似距離計算処理LimMatC
omp(M12,d2,Len2)が実行され、ここ
で、対角バンドとd2で制限された幅のエキストラバン
ドにおける要素の値に対して、第1の文字列Word1
の最初の文字から最後の文字までの部分列と第2の文字
列Word2の最初の文字から最後の文字までの部分列
との間の擬似距離を表す擬似距離行列M12における行
数と1行当たりの文字数との間の差の絶対値を加算す
る。次いで、同様にステップS22において、限定され
た擬似距離計算処理LimMatComp(M13,d
3,Len3)が実行される。ここで、対角バンドとd
3で制限された幅のエキストラバンドにおける要素の値
に、第1の文字列Word1の最初の文字から最後の文
字までの部分列と第3の文字列Word3の最初の文字
から最後の文字までの部分列との間の擬似距離を表す擬
似距離行列M13における行数と1行当たりの文字数と
の間の絶対差を加算する。さらに、ステップS23で、
第1の文字列Word1と第2の文字列Word2との
間の擬似距離を表す、擬似距離行列の最後の行における
最後の要素の値が、パラメータp2に設定され、同様
に、第1の文字列Word1と第3の文字列Word3
との間の擬似距離を表す、擬似距離行列の最後の行にお
ける最後の要素の値が、パラメータp3に設定される。
【0098】次いで、ステップS24で、入力された第
1の文字列Word1の文字数Len1がパラメータp
2とパラメータp3の和以下であるか否かが判断され
る。ここで、Len1>p2+p3であれば、擬似距離
行列M12及びM13において十分な数の値が計算され
たことを意味し、元のサブルーチンである図10の前処
理に戻る。一方、Len1≦p2+p3であれば、ステ
ップS25に進み、入力された第1の文字列Word1
の文字数がパラメータd2とパラメータd3の和より大
きい又は等しいか否かが判断される。
1の文字列Word1の文字数Len1がパラメータp
2とパラメータp3の和以下であるか否かが判断され
る。ここで、Len1>p2+p3であれば、擬似距離
行列M12及びM13において十分な数の値が計算され
たことを意味し、元のサブルーチンである図10の前処
理に戻る。一方、Len1≦p2+p3であれば、ステ
ップS25に進み、入力された第1の文字列Word1
の文字数がパラメータd2とパラメータd3の和より大
きい又は等しいか否かが判断される。
【0099】ステップS25で、Len1<d2+d3
であれば、第1の文字列Word1のうちの幾つかの文
字が、第2の文字列Word2及び第3の文字列Wor
d3の何れにも発見できないことを意味し、当該処理で
は一定順序で入力された3つの文字列から類推語を生成
することができないこととなり、生成処理に失敗して終
了する。一方、ステップS25においてLen1≧d2
+d3のときは、ステップS26に進み、第1の文字列
Word1の文字数Len1から、第1の文字列Wor
d1と第3の文字列Word3との間の反対の暫定的な
擬似距離p3を減算した値と、パラメータd2に1を加
算した値とのうちの最大値がパラメータd2に設定さ
れ、同様に、第1の文字列Word1の文字数Len1
から、第1の文字列Word1と第2の文字列Word
2との間の暫定擬似距離を減算した値と、パラメータd
3に1を加算した値とのうちの最大値がパラメータd3
に設定される。次いで、ステップS27で再度、十分な
擬似距離行列の計算処理SufMatComp(M1
2,M13,d2,d3)が実行された後、元の処理に
戻る。
であれば、第1の文字列Word1のうちの幾つかの文
字が、第2の文字列Word2及び第3の文字列Wor
d3の何れにも発見できないことを意味し、当該処理で
は一定順序で入力された3つの文字列から類推語を生成
することができないこととなり、生成処理に失敗して終
了する。一方、ステップS25においてLen1≧d2
+d3のときは、ステップS26に進み、第1の文字列
Word1の文字数Len1から、第1の文字列Wor
d1と第3の文字列Word3との間の反対の暫定的な
擬似距離p3を減算した値と、パラメータd2に1を加
算した値とのうちの最大値がパラメータd2に設定さ
れ、同様に、第1の文字列Word1の文字数Len1
から、第1の文字列Word1と第2の文字列Word
2との間の暫定擬似距離を減算した値と、パラメータd
3に1を加算した値とのうちの最大値がパラメータd3
に設定される。次いで、ステップS27で再度、十分な
擬似距離行列の計算処理SufMatComp(M1
2,M13,d2,d3)が実行された後、元の処理に
戻る。
【0100】図13及び図14は、図12における十分
な擬似距離行列の計算処理のサブルーチンであるステッ
プS21及びステップS22の制限された擬似距離行列
の計算処理を示すフローチャートである。ここで、図1
2のステップS21における制限された擬似距離計算処
理の場合はk=2であり、図12のステップS22にお
ける制限された擬似距離計算処理の場合はk=3であ
る。
な擬似距離行列の計算処理のサブルーチンであるステッ
プS21及びステップS22の制限された擬似距離行列
の計算処理を示すフローチャートである。ここで、図1
2のステップS21における制限された擬似距離計算処
理の場合はk=2であり、図12のステップS22にお
ける制限された擬似距離計算処理の場合はk=3であ
る。
【0101】図13を参照すると、まずステップS31
で、パラメータdkleftが値(−dk/2)に初期
設定され、かつパラメータdkrightが値dk/2
に初期設定された後、ステップS32で、Len1≧L
enkであるか否かが判断される。ここで、入力された
第1の文字列Word1の文字数Len1が、入力され
た他の文字列Wordkの文字数Lenk以上であれ
ば、ステップS33で、文字数Len1から文字数Le
nkを減算した値が、パラメータdkleftから減算
され、減算結果値がパラメータdkleftに設定され
た後、図14のステップS35に進む。一方、ステップ
S32で、Len1<Lenkであれば、ステップS3
4で、パラメータdkrightには、文字数Lenk
から文字数Len1を減算した値が加算されて更新され
た後、図14のステップS35に進む。
で、パラメータdkleftが値(−dk/2)に初期
設定され、かつパラメータdkrightが値dk/2
に初期設定された後、ステップS32で、Len1≧L
enkであるか否かが判断される。ここで、入力された
第1の文字列Word1の文字数Len1が、入力され
た他の文字列Wordkの文字数Lenk以上であれ
ば、ステップS33で、文字数Len1から文字数Le
nkを減算した値が、パラメータdkleftから減算
され、減算結果値がパラメータdkleftに設定され
た後、図14のステップS35に進む。一方、ステップ
S32で、Len1<Lenkであれば、ステップS3
4で、パラメータdkrightには、文字数Lenk
から文字数Len1を減算した値が加算されて更新され
た後、図14のステップS35に進む。
【0102】図14のステップS35では、パラメータ
i1の値が1に初期設定される。次いで、ステップS3
6で、i1>Len1であるか否かが判断される。ここ
で、i1>Len1であれば、擬似距離行列M1kのす
べての要素に対して処理を行ったことを意味し、元のサ
ブルーチンである図12の十分な擬似距離行列の計算処
理に戻る。一方、ステップS36においてi1≦Len
1であれば、ステップS37に進み、パラメータikl
eftの値には、パラメータdkleftの値とパラメ
ータi1の値の和と、数値1のうちの最大値が設定さ
れ、かつ、パラメータikrightの値には、パラメ
ータdkrightの値にパラメータi1の値を加算し
た値と、パラメータLenkの値に数値1を加算した値
のうちの最小値が設定される。
i1の値が1に初期設定される。次いで、ステップS3
6で、i1>Len1であるか否かが判断される。ここ
で、i1>Len1であれば、擬似距離行列M1kのす
べての要素に対して処理を行ったことを意味し、元のサ
ブルーチンである図12の十分な擬似距離行列の計算処
理に戻る。一方、ステップS36においてi1≦Len
1であれば、ステップS37に進み、パラメータikl
eftの値には、パラメータdkleftの値とパラメ
ータi1の値の和と、数値1のうちの最大値が設定さ
れ、かつ、パラメータikrightの値には、パラメ
ータdkrightの値にパラメータi1の値を加算し
た値と、パラメータLenkの値に数値1を加算した値
のうちの最小値が設定される。
【0103】ステップS37に次いで、ステップS38
では、パラメータikにパラメータikleftの値が
初期値として設定される。次いで、ステップS39で、
ik>ikrightであるか否かが判断される。ここ
で、ik>ikrightであれば、擬似距離行列M1
kの現在処理中の行には処理されてない十分な要素がな
いことを意味するので、ステップS42に進み、次の行
における処理を行うように、パラメータi1は1だけイ
ンクリメントされて設定され、ステップS36に戻る。
一方、ステップS39において、ik≦ikright
であれば、ステップS40に進み、(a)1つ前の行で
ある(i1−1)番目の行における1つ前の要素の値M
1k[i1−1][ik−1]と関数true(Wor
d1[i1]≠Wordk[ik])の関数値との和
と、(b)擬似距離行列M1kの前の行である(i1−
1)番目の行のik番目の要素の値M1k[i1−1]
[ik]と数値1との和と、(c)擬似距離行列M1k
のi1番目の行における1つ前の要素である(ik−
1)番目の要素の値M1k[i1][ik−1]とのう
ちの最小値が、擬似距離行列M1kのi1番目の行のi
k番目の要素の値Mk1[i1][ik]に設定され
る。次いで、ステップS41でパラメータikは1だけ
インクリメントされて設定され、ステップS39に戻
る。
では、パラメータikにパラメータikleftの値が
初期値として設定される。次いで、ステップS39で、
ik>ikrightであるか否かが判断される。ここ
で、ik>ikrightであれば、擬似距離行列M1
kの現在処理中の行には処理されてない十分な要素がな
いことを意味するので、ステップS42に進み、次の行
における処理を行うように、パラメータi1は1だけイ
ンクリメントされて設定され、ステップS36に戻る。
一方、ステップS39において、ik≦ikright
であれば、ステップS40に進み、(a)1つ前の行で
ある(i1−1)番目の行における1つ前の要素の値M
1k[i1−1][ik−1]と関数true(Wor
d1[i1]≠Wordk[ik])の関数値との和
と、(b)擬似距離行列M1kの前の行である(i1−
1)番目の行のik番目の要素の値M1k[i1−1]
[ik]と数値1との和と、(c)擬似距離行列M1k
のi1番目の行における1つ前の要素である(ik−
1)番目の要素の値M1k[i1][ik−1]とのう
ちの最小値が、擬似距離行列M1kのi1番目の行のi
k番目の要素の値Mk1[i1][ik]に設定され
る。次いで、ステップS41でパラメータikは1だけ
インクリメントされて設定され、ステップS39に戻
る。
【0104】図15は、図9の類推語生成処理のサブル
ーチンであるステップS3の類推語生成処理を示すフロ
ーチャートである。図15を参照すると、まずステップ
S51で、パラメータi1を、入力された第1の文字列
Word1の文字数Len1の値に初期設定し、次い
で、パラメータi2を、入力された第2の文字列Wor
d2の文字数Len2の値に初期設定し、次いで、パラ
メータi3を、入力された第3の文字列Word3の文
字数Len3の値に初期設定し、さらに、パラメータi
4を、入力された3つの文字列である第1の文字列Wo
rd1の文字数Len1、第2の文字列Word2の文
字数Len2及び第3の文字列Word3の文字数Le
n3のうちの最大の文字数の2倍の値に初期設定する。
次に、ステップS52において、類推語生成部5によっ
て類推語生成サブルーチン処理ProProを実行した
後、図9の類推語生成処理(メインルーチン)に戻り、
類推語生成処理を終了する。
ーチンであるステップS3の類推語生成処理を示すフロ
ーチャートである。図15を参照すると、まずステップ
S51で、パラメータi1を、入力された第1の文字列
Word1の文字数Len1の値に初期設定し、次い
で、パラメータi2を、入力された第2の文字列Wor
d2の文字数Len2の値に初期設定し、次いで、パラ
メータi3を、入力された第3の文字列Word3の文
字数Len3の値に初期設定し、さらに、パラメータi
4を、入力された3つの文字列である第1の文字列Wo
rd1の文字数Len1、第2の文字列Word2の文
字数Len2及び第3の文字列Word3の文字数Le
n3のうちの最大の文字数の2倍の値に初期設定する。
次に、ステップS52において、類推語生成部5によっ
て類推語生成サブルーチン処理ProProを実行した
後、図9の類推語生成処理(メインルーチン)に戻り、
類推語生成処理を終了する。
【0105】図16は、図15における類推語生成処理
ProPro(i1,i2,i3,i4)のサブルーチ
ンであるステップS52の類推語生成サブルーチン処理
を示すフローチャートである。図16を参照すると、ま
ずステップS61で、状態パラメータcom(A,B,
C,D)は、擬似距離行列M12のi1番目の行におけ
るi2番目の要素の値M12[i1][i2]に、擬似
距離行列M13のi1番目の行におけるi3番目の要素
の値M13[i1][i3]を加算した値を、パラメー
タi1の値から減算した値に初期設定される。
ProPro(i1,i2,i3,i4)のサブルーチ
ンであるステップS52の類推語生成サブルーチン処理
を示すフローチャートである。図16を参照すると、ま
ずステップS61で、状態パラメータcom(A,B,
C,D)は、擬似距離行列M12のi1番目の行におけ
るi2番目の要素の値M12[i1][i2]に、擬似
距離行列M13のi1番目の行におけるi3番目の要素
の値M13[i1][i3]を加算した値を、パラメー
タi1の値から減算した値に初期設定される。
【0106】次いで、ステップS62で、パラメータi
1、i2及びi3の値がすべて0より大きいか否かが判
断される。ここで、パラメータi1、i2及びi3のす
べての値が0より大きくなければ、少なくとも1つの文
字列はステップS63乃至ステップS68の各処理を完
全に行われていることを意味するので、元のサブルーチ
ンである図15の類推語生成処理に戻る。一方、ステッ
プS62で、パラメータi1、i2及びi3のすべてが
0より大きいときは、ステップS63に進み、パラメー
タi1の値は、擬似距離行列M12のi1番目の行にお
けるi2番目の要素の値M12[i1][i2]に、擬
似距離行列M13のi1番目の行におけるi3番目の要
素の値M13[i1][i3]と、状態パラメータco
m(A,B,C,D)の値とを加算した値に等しいか否
かが判断される。ステップS63で、等しくなければ、
入力された一定順序の3つの文字列に類推語が存在しな
いことを意味し、当該処理ではこうした文字列が生成で
きないことが含意され、類推語を生成することはできな
いと判断して、生成処理が失敗したとして終了する。ま
た、ステップS63において等式が成立するときは、ス
テップS64に進む。ステップS64では、方向決定処
理DirDec(i1,i2,M12,Word2,D
2)が実行され、その計算結果をパラメータD2に設定
し、次いで、ステップS65では、方向決定処理Dir
Dec(i1,i3,M13,Word3,D3)が実
行され、その計算結果をパラメータD3に設定し、ステ
ップS66に進む。
1、i2及びi3の値がすべて0より大きいか否かが判
断される。ここで、パラメータi1、i2及びi3のす
べての値が0より大きくなければ、少なくとも1つの文
字列はステップS63乃至ステップS68の各処理を完
全に行われていることを意味するので、元のサブルーチ
ンである図15の類推語生成処理に戻る。一方、ステッ
プS62で、パラメータi1、i2及びi3のすべてが
0より大きいときは、ステップS63に進み、パラメー
タi1の値は、擬似距離行列M12のi1番目の行にお
けるi2番目の要素の値M12[i1][i2]に、擬
似距離行列M13のi1番目の行におけるi3番目の要
素の値M13[i1][i3]と、状態パラメータco
m(A,B,C,D)の値とを加算した値に等しいか否
かが判断される。ステップS63で、等しくなければ、
入力された一定順序の3つの文字列に類推語が存在しな
いことを意味し、当該処理ではこうした文字列が生成で
きないことが含意され、類推語を生成することはできな
いと判断して、生成処理が失敗したとして終了する。ま
た、ステップS63において等式が成立するときは、ス
テップS64に進む。ステップS64では、方向決定処
理DirDec(i1,i2,M12,Word2,D
2)が実行され、その計算結果をパラメータD2に設定
し、次いで、ステップS65では、方向決定処理Dir
Dec(i1,i3,M13,Word3,D3)が実
行され、その計算結果をパラメータD3に設定し、ステ
ップS66に進む。
【0107】ステップS66では、2つのパラメータD
2及びD3の値が等しいか否かが判断される。ここで、
2つのパラメータ値D2及びD3が等しいときは、同一
の方向である判断してステップS67に進み、同一方向
処理SamDirが実行され、ステップS62に戻る。
一方、ステップS66において2つのパラメータ値D2
及びD3が等しくないときは、同一の方向ではないと判
断して、ステップS68に進み、異なった方向処理Di
ffDirが実行されてステップS62に戻る。
2及びD3の値が等しいか否かが判断される。ここで、
2つのパラメータ値D2及びD3が等しいときは、同一
の方向である判断してステップS67に進み、同一方向
処理SamDirが実行され、ステップS62に戻る。
一方、ステップS66において2つのパラメータ値D2
及びD3が等しくないときは、同一の方向ではないと判
断して、ステップS68に進み、異なった方向処理Di
ffDirが実行されてステップS62に戻る。
【0108】図17は、図16における類推語生成サブ
ルーチン処理のサブルーチンであるステップS64又は
65の方向決定処理DirDec(i1,ik,M1
k,Wordk,result)を示すフローチャート
である。ここで、図16のステップS64における方向
決定処理DirDecの場合はk=2であり、図16の
ステップS65における方向決定処理DirDecの場
合はk=3である。ここで、“現在の要素”とは、擬似
距離行列の要素のうち現在処理されている要素を表し、
“次の要素”とは、擬似距離行列において現在の要素の
次に処理を行われる要素を表す。
ルーチン処理のサブルーチンであるステップS64又は
65の方向決定処理DirDec(i1,ik,M1
k,Wordk,result)を示すフローチャート
である。ここで、図16のステップS64における方向
決定処理DirDecの場合はk=2であり、図16の
ステップS65における方向決定処理DirDecの場
合はk=3である。ここで、“現在の要素”とは、擬似
距離行列の要素のうち現在処理されている要素を表し、
“次の要素”とは、擬似距離行列において現在の要素の
次に処理を行われる要素を表す。
【0109】図17におけるステップS64及び65の
方向決定処理DirDec(i1,ik,M1k,Wo
rdk,result)は、擬似距離行列の1つの要素
から次の要素への移動の方向を計算する。ここで、次の
要素の値が対応する両方の文字同士が異なれば、対角方
向への移動が可能である。入力された文字列の文字同士
が異なると、擬似距離は値1だけ増加される。従って、
反対方向に移動しながら、入力された文字列の対応する
文字同士が異なる場合は、1つ前の要素が1だけ異なっ
ているときに経路は対角方向への移動をたどる。2つの
入力された文字列の対応する文字同士が同一である場合
は、現在の要素から対角方向にある1つ前の要素は、現
在の要素と同一の値を有する。現在の要素の直上の要素
の値が現在の要素と同一の場合には、水平移動が可能で
ある。垂直移動は、現在の要素の側面(右又は左)の要
素が現在の要素の値と1だけ異なる場合に可能である。
方向決定処理DirDec(i1,ik,M1k,Wo
rdk,result)は、擬似距離行列の1つの要素
から次の要素への移動の方向を計算する。ここで、次の
要素の値が対応する両方の文字同士が異なれば、対角方
向への移動が可能である。入力された文字列の文字同士
が異なると、擬似距離は値1だけ増加される。従って、
反対方向に移動しながら、入力された文字列の対応する
文字同士が異なる場合は、1つ前の要素が1だけ異なっ
ているときに経路は対角方向への移動をたどる。2つの
入力された文字列の対応する文字同士が同一である場合
は、現在の要素から対角方向にある1つ前の要素は、現
在の要素と同一の値を有する。現在の要素の直上の要素
の値が現在の要素と同一の場合には、水平移動が可能で
ある。垂直移動は、現在の要素の側面(右又は左)の要
素が現在の要素の値と1だけ異なる場合に可能である。
【0110】図17を参照すると、まず、ステップS1
10で、擬似距離行列M1kのi1番目の行におけるi
k番目の要素の値M1k[i1][ik]が、擬似距離
行列M1kの(i1−1)番目の行における(ik−
1)番目の要素の値M1k[i1‐1][ik‐1]
と、関数true(Word1[i1]≠Wordk
[ik])の関数値との和{M1k[i1‐1][ik
‐1]+true(Word1[i1]≠Wordk
[ik])}と等しいか否かが判断される。ステップS
110で等しければ、ステップS111に進み、結果値
resultには対角方向が設定され、図16の類推語
生成サブルーチン処理に戻る。また、ステップS110
において、等式が成立しないときは、ステップS112
で、擬似距離行列M1kのi1番目の行におけるik番
目の要素の値M1k[i1][ik]が、擬似距離行列
M1kの同一行であるi1番目の行における1つ前の要
素である(ik−1)番目の要素の値M1k[i1]
[ik−1]に等しいか否かが判断される。ステップS
112で等しければ、ステップS113に進み、結果値
resultには水平方向が設定され、次いで、図16
の類推語生成サブルーチン処理に戻る。ステップS11
2において等式が成立しないときは、ステップS114
に進み、擬似距離行列M1kのi1番目の行におけるi
k番目の要素の値M1k[i1][ik]が、擬似距離
行列M1kの1つ前の行である(i1−1)番目の行に
おける同一番目であるik番目の要素の値M1k[i1
−1][ik]に数値1を加算した値{M1k[i1−
1]+1}に等しいか否かが判断される。ステップS1
14で等しいときは、ステップS115に進み、結果値
resultに垂直方向が設定され、次いで、図16の
類推語生成サブルーチン処理に戻る。また、ステップS
114において等式が成立しないときは、擬似距離行列
M1kのi1番目の行におけるik番目の要素の値が擬
似距離行列の計算に一致しないことを意味し、類推語を
生成することができないと判断して、生成失敗として終
了する。
10で、擬似距離行列M1kのi1番目の行におけるi
k番目の要素の値M1k[i1][ik]が、擬似距離
行列M1kの(i1−1)番目の行における(ik−
1)番目の要素の値M1k[i1‐1][ik‐1]
と、関数true(Word1[i1]≠Wordk
[ik])の関数値との和{M1k[i1‐1][ik
‐1]+true(Word1[i1]≠Wordk
[ik])}と等しいか否かが判断される。ステップS
110で等しければ、ステップS111に進み、結果値
resultには対角方向が設定され、図16の類推語
生成サブルーチン処理に戻る。また、ステップS110
において、等式が成立しないときは、ステップS112
で、擬似距離行列M1kのi1番目の行におけるik番
目の要素の値M1k[i1][ik]が、擬似距離行列
M1kの同一行であるi1番目の行における1つ前の要
素である(ik−1)番目の要素の値M1k[i1]
[ik−1]に等しいか否かが判断される。ステップS
112で等しければ、ステップS113に進み、結果値
resultには水平方向が設定され、次いで、図16
の類推語生成サブルーチン処理に戻る。ステップS11
2において等式が成立しないときは、ステップS114
に進み、擬似距離行列M1kのi1番目の行におけるi
k番目の要素の値M1k[i1][ik]が、擬似距離
行列M1kの1つ前の行である(i1−1)番目の行に
おける同一番目であるik番目の要素の値M1k[i1
−1][ik]に数値1を加算した値{M1k[i1−
1]+1}に等しいか否かが判断される。ステップS1
14で等しいときは、ステップS115に進み、結果値
resultに垂直方向が設定され、次いで、図16の
類推語生成サブルーチン処理に戻る。また、ステップS
114において等式が成立しないときは、擬似距離行列
M1kのi1番目の行におけるik番目の要素の値が擬
似距離行列の計算に一致しないことを意味し、類推語を
生成することができないと判断して、生成失敗として終
了する。
【0111】図18は、図16における類推語生成サブ
ルーチン処理のサブルーチンである同一方向処理Sam
eDir(ステップS67)を示すフローチャートであ
る。同一方向処理は、両方の擬似距離行列M12及びM
13において移動の方向が同一である場合の処理であ
る。両方の移動が共に対角方向である場合は、入力され
た第1の文字列の文字が他の入力された文字列の文字と
少なくとも1つが同一文字でなければならない。そうで
ない場合は、入力された第1の文字列のいずれかの文字
が、入力された第2の文字列又は第3の文字列のいずれ
かに現れなければならないという重ね合わせの制約条件
に従って、類推語の生成は不可能であり、従って、生成
失敗であることを意味する。3つの入力された文字列の
文字が同一である場合は、当該文字を類推語にコピーす
ることができる。入力された第1の文字列の文字が、入
力された第2の文字列の文字とだけ同一の場合は、入力
された第3の文字列からの文字が類推語にコピーされ
る。入力された第1の文字列の文字が、入力された第3
の文字列の文字とだけ同一の場合は、入力された第2の
文字列からの文字が類推語にコピーされる。また、両方
の移動方向が共に水平方向である場合は、一方の擬似距
離行列において1つの移動のみが行われ、他方の擬似距
離行列では移動が行われない。移動は擬似距離が小さい
方の擬似距離行列で行われるために、入力された第2又
は第3の文字列からの文字が類推語にコピーされる。両
方の移動方向が共に垂直方向である場合は、どの文字も
類推語にコピーされないことを意味している。各擬似距
離行列においては、1つの移動のみが実行可能である。
ルーチン処理のサブルーチンである同一方向処理Sam
eDir(ステップS67)を示すフローチャートであ
る。同一方向処理は、両方の擬似距離行列M12及びM
13において移動の方向が同一である場合の処理であ
る。両方の移動が共に対角方向である場合は、入力され
た第1の文字列の文字が他の入力された文字列の文字と
少なくとも1つが同一文字でなければならない。そうで
ない場合は、入力された第1の文字列のいずれかの文字
が、入力された第2の文字列又は第3の文字列のいずれ
かに現れなければならないという重ね合わせの制約条件
に従って、類推語の生成は不可能であり、従って、生成
失敗であることを意味する。3つの入力された文字列の
文字が同一である場合は、当該文字を類推語にコピーす
ることができる。入力された第1の文字列の文字が、入
力された第2の文字列の文字とだけ同一の場合は、入力
された第3の文字列からの文字が類推語にコピーされ
る。入力された第1の文字列の文字が、入力された第3
の文字列の文字とだけ同一の場合は、入力された第2の
文字列からの文字が類推語にコピーされる。また、両方
の移動方向が共に水平方向である場合は、一方の擬似距
離行列において1つの移動のみが行われ、他方の擬似距
離行列では移動が行われない。移動は擬似距離が小さい
方の擬似距離行列で行われるために、入力された第2又
は第3の文字列からの文字が類推語にコピーされる。両
方の移動方向が共に垂直方向である場合は、どの文字も
類推語にコピーされないことを意味している。各擬似距
離行列においては、1つの移動のみが実行可能である。
【0112】図18を参照すると、まず、ステップS7
1でパラメータD2の値が対角方向であるか否かが判断
される。パラメータD2の値が対角方向でないときは、
ステップS79に進む。ステップS71において、パラ
メータD2の値が対角方向であれば、ステップS72に
進み、パラメータi2及びi3の値がそれぞれ0より大
きい、かつ、入力された第1の文字列Word1内のi
1番目の文字Word1[i1]が、入力された第2の
文字列Word2内のi2番目の文字Word2[i
2]に等しい、又は、入力された第1の文字列Word
1内のi1番目の文字Word1[i1]が、入力され
た第3の文字列Word3内のi3番目の文字Word
3[i3]に等しいという条件を満たすか否かが判断さ
れる。ステップS72でNOであればその順序で入力さ
れた3つの文字列に類推的に類似するような文字列であ
る類推語は存在せず、従って、類推語生成処理がこのよ
うな文字列を生成することができないことを意味し、生
成処理に失敗して終了する。
1でパラメータD2の値が対角方向であるか否かが判断
される。パラメータD2の値が対角方向でないときは、
ステップS79に進む。ステップS71において、パラ
メータD2の値が対角方向であれば、ステップS72に
進み、パラメータi2及びi3の値がそれぞれ0より大
きい、かつ、入力された第1の文字列Word1内のi
1番目の文字Word1[i1]が、入力された第2の
文字列Word2内のi2番目の文字Word2[i
2]に等しい、又は、入力された第1の文字列Word
1内のi1番目の文字Word1[i1]が、入力され
た第3の文字列Word3内のi3番目の文字Word
3[i3]に等しいという条件を満たすか否かが判断さ
れる。ステップS72でNOであればその順序で入力さ
れた3つの文字列に類推的に類似するような文字列であ
る類推語は存在せず、従って、類推語生成処理がこのよ
うな文字列を生成することができないことを意味し、生
成処理に失敗して終了する。
【0113】一方、ステップS72においてYESであ
れば、ステップS73に進み、入力された第1の文字列
Word1内のi1番目の文字Word1[i1]と、
入力された第2の文字列Word2内のi2番目の文字
Word2[i2]と、入力された第3の文字列Wor
d3内のi3番目の文字Word3[i3]とが等しい
か否かが判断され、等しいときは、ステップS74に進
み、状態パラメータcom(A,B,C,D)の値が1
だけデクリメントされて設定され、次いで、ステップS
75に進む。また、ステップS73でNOであれば、直
接にステップS75に進む。
れば、ステップS73に進み、入力された第1の文字列
Word1内のi1番目の文字Word1[i1]と、
入力された第2の文字列Word2内のi2番目の文字
Word2[i2]と、入力された第3の文字列Wor
d3内のi3番目の文字Word3[i3]とが等しい
か否かが判断され、等しいときは、ステップS74に進
み、状態パラメータcom(A,B,C,D)の値が1
だけデクリメントされて設定され、次いで、ステップS
75に進む。また、ステップS73でNOであれば、直
接にステップS75に進む。
【0114】ステップS75では、入力された第1の文
字列Word1内のi1番目の文字Word1[i1]
と、入力された第2の文字列Word2内のi2番目の
文字Word2[i2]とが等しいか否かが判断され
る。等しいときは、ステップS76に進み、入力された
第3の文字列Word3内のi3番目の文字Word3
[i3]が、生成された文字列Word4内のi4番目
の要素Word4[i4]に設定され、次いで、ステッ
プS78に進む。また、ステップS75において、等し
くないときは、入力された第2の文字列Word2内の
i2番目の文字Word2[i2]が、生成された文字
列Word4内のi4番目の要素Word4[i4]に
設定され、次いで、ステップS78に進む。ステップS
78では、パラメータi1,i2,i3及びi4のすべ
ての値が1だけデクリメントされて設定され、次いで、
図16の類推語生成サブルーチン処理に戻る。
字列Word1内のi1番目の文字Word1[i1]
と、入力された第2の文字列Word2内のi2番目の
文字Word2[i2]とが等しいか否かが判断され
る。等しいときは、ステップS76に進み、入力された
第3の文字列Word3内のi3番目の文字Word3
[i3]が、生成された文字列Word4内のi4番目
の要素Word4[i4]に設定され、次いで、ステッ
プS78に進む。また、ステップS75において、等し
くないときは、入力された第2の文字列Word2内の
i2番目の文字Word2[i2]が、生成された文字
列Word4内のi4番目の要素Word4[i4]に
設定され、次いで、ステップS78に進む。ステップS
78では、パラメータi1,i2,i3及びi4のすべ
ての値が1だけデクリメントされて設定され、次いで、
図16の類推語生成サブルーチン処理に戻る。
【0115】ステップS71のNOからのステップS7
9では、パラメータD2の値が水平方向であるか否かが
判断される。ここで、パラメータD2の値が水平方向に
等しくないときは、ステップS83でパラメータi1を
1だけデクリメントされて図16の類推語生成サブルー
チン処理に戻る。また、ステップS79において、パラ
メータD2の値が水平方向であれば、ステップS80に
進み、擬似距離行列M12のi1番目の行におけるi2
番目の要素の値M12[i1][i2]が、擬似距離行
列M13のi1番目の行におけるi3番目の要素の値M
13[i1][i3]より小さいか否かが判断される。
ステップS80でYESのときは、ステップS81で、
入力された第2の文字列Word2のi2番目の文字W
ord2[i2]が、生成される文字列Word4内の
i4番目の要素Word4[i4]に設定され、かつ、
パラメータi2及びi4の値がそれぞれ1だけデクリメ
ントされて設定された後、図16の類似語生成サブルー
チン処理に戻る。
9では、パラメータD2の値が水平方向であるか否かが
判断される。ここで、パラメータD2の値が水平方向に
等しくないときは、ステップS83でパラメータi1を
1だけデクリメントされて図16の類推語生成サブルー
チン処理に戻る。また、ステップS79において、パラ
メータD2の値が水平方向であれば、ステップS80に
進み、擬似距離行列M12のi1番目の行におけるi2
番目の要素の値M12[i1][i2]が、擬似距離行
列M13のi1番目の行におけるi3番目の要素の値M
13[i1][i3]より小さいか否かが判断される。
ステップS80でYESのときは、ステップS81で、
入力された第2の文字列Word2のi2番目の文字W
ord2[i2]が、生成される文字列Word4内の
i4番目の要素Word4[i4]に設定され、かつ、
パラメータi2及びi4の値がそれぞれ1だけデクリメ
ントされて設定された後、図16の類似語生成サブルー
チン処理に戻る。
【0116】また、ステップS80でNOのときは、ス
テップS82に進み、入力された第3の文字列Word
3のi3番目の文字Word3[i3]が、生成される
文字列Word4内のi4番目の要素Word4[i
4]に設定され、かつ、パラメータi3及びi4の各値
が1だけデクリメントされて設定された後、図16の類
似語生成サブルーチン処理に戻る。
テップS82に進み、入力された第3の文字列Word
3のi3番目の文字Word3[i3]が、生成される
文字列Word4内のi4番目の要素Word4[i
4]に設定され、かつ、パラメータi3及びi4の各値
が1だけデクリメントされて設定された後、図16の類
似語生成サブルーチン処理に戻る。
【0117】図19は、図16における類似語生成サブ
ルーチン処理のサブルーチンであるステップS68の異
なった方向処理DiffDirを示すフローチャートで
ある。ステップS68の異なった方向処理DiffDi
rは、両擬似距離行列において移動方向が異なる場合の
処理である。文字は、両擬似距離行列の移動方向の1つ
が水平方向である場合にのみ類推語にコピーされる。入
力された第1の文字列と第2の文字列との間の擬似距離
行列における移動が水平方向である場合には、この文字
は入力された第3の文字列からももたらされる。この場
合、入力された第1の文字列と第2の文字列との間の擬
似距離行列では移動は行われない。
ルーチン処理のサブルーチンであるステップS68の異
なった方向処理DiffDirを示すフローチャートで
ある。ステップS68の異なった方向処理DiffDi
rは、両擬似距離行列において移動方向が異なる場合の
処理である。文字は、両擬似距離行列の移動方向の1つ
が水平方向である場合にのみ類推語にコピーされる。入
力された第1の文字列と第2の文字列との間の擬似距離
行列における移動が水平方向である場合には、この文字
は入力された第3の文字列からももたらされる。この場
合、入力された第1の文字列と第2の文字列との間の擬
似距離行列では移動は行われない。
【0118】図19を参照すると、まずステップS10
1で、パラメータD2が水平方向であるか否かが判断さ
れる。ここで、パラメータD2の値が水平方向であれ
ば、ステップS102に進み、入力された第2の文字列
Word2のi2番目の文字Word2[i2]が、生
成された文字列Word4内のi4番目の要素Word
4[i4]に設定され、パラメータi2及びi4の値が
それぞれ1だけデクリメントされて設定され、図16の
類似語生成サブルーチン処理に戻る。
1で、パラメータD2が水平方向であるか否かが判断さ
れる。ここで、パラメータD2の値が水平方向であれ
ば、ステップS102に進み、入力された第2の文字列
Word2のi2番目の文字Word2[i2]が、生
成された文字列Word4内のi4番目の要素Word
4[i4]に設定され、パラメータi2及びi4の値が
それぞれ1だけデクリメントされて設定され、図16の
類似語生成サブルーチン処理に戻る。
【0119】また、ステップS101でNOであると
き、ステップS103に進み、パラメータD2の値が垂
直方向であるか否かが判断される。パラメータD2の値
が垂直方向であれば、ステップS104で、パラメータ
i1及びi3の値がそれぞれ1だけデクリメントされて
設定され、図16の類似語生成サブルーチン処理に戻
る。
き、ステップS103に進み、パラメータD2の値が垂
直方向であるか否かが判断される。パラメータD2の値
が垂直方向であれば、ステップS104で、パラメータ
i1及びi3の値がそれぞれ1だけデクリメントされて
設定され、図16の類似語生成サブルーチン処理に戻
る。
【0120】ステップS103において、パラメータD
2の値が垂直方向でなければ、ステップS105に進
み、パラメータD3の値が水平方向であるか否かが判断
される。パラメータD3の値が水平方向であれば、ステ
ップS106に進み、入力された第3の文字列Word
3のi3番目の文字Word3[i3]が、生成された
文字列Word4内のi4番目の要素Word4[i
4]に設定され、パラメータi3及びi4の値がそれぞ
れ1だけデクリメントされて設定され、図16の類似語
生成サブルーチン処理に戻る。
2の値が垂直方向でなければ、ステップS105に進
み、パラメータD3の値が水平方向であるか否かが判断
される。パラメータD3の値が水平方向であれば、ステ
ップS106に進み、入力された第3の文字列Word
3のi3番目の文字Word3[i3]が、生成された
文字列Word4内のi4番目の要素Word4[i
4]に設定され、パラメータi3及びi4の値がそれぞ
れ1だけデクリメントされて設定され、図16の類似語
生成サブルーチン処理に戻る。
【0121】ステップS105において、パラメータD
3の値が水平方向でないときは、ステップS107に進
み、パラメータD3の値が垂直方向であるか否かが判断
される。パラメータD3の値が垂直方向であれば、ステ
ップS108に進み、パラメータi1及びi2の値がそ
れぞれ1だけデクリメントされて設定され、図16の類
似語生成サブルーチン処理に戻る。また、ステップS1
07においてパラメータD3の値が垂直方向でないとき
は、直接に、図16の類似語生成サブルーチン処理に戻
る。
3の値が水平方向でないときは、ステップS107に進
み、パラメータD3の値が垂直方向であるか否かが判断
される。パラメータD3の値が垂直方向であれば、ステ
ップS108に進み、パラメータi1及びi2の値がそ
れぞれ1だけデクリメントされて設定され、図16の類
似語生成サブルーチン処理に戻る。また、ステップS1
07においてパラメータD3の値が垂直方向でないとき
は、直接に、図16の類似語生成サブルーチン処理に戻
る。
【0122】また、好ましい本実施形態による類推語生
成装置100は、以下の予め決められた条件下で類推語
生成処理を早期停止することができ、それによって処理
時間を短縮化することが可能である。
成装置100は、以下の予め決められた条件下で類推語
生成処理を早期停止することができ、それによって処理
時間を短縮化することが可能である。
【0123】上述の条件としては、例えば次のようなも
のがある。 <条件>:入力された第1の文字列における現在の位置
は、入力された第1の文字列と入力された第2の文字列
との間の擬似距離行列における第1の文字列の現在の位
置のランクの行における第2の文字列の現在の位置のラ
ンクの要素の値と、入力された第1の文字列と入力され
た第3の文字列との間の擬似距離行列における第1の文
字列の現在の位置のランクの行における第3の文字列の
現在の位置のランクの要素の値と、入力された3つの文
字列の共通文字数との和に等しくない。
のがある。 <条件>:入力された第1の文字列における現在の位置
は、入力された第1の文字列と入力された第2の文字列
との間の擬似距離行列における第1の文字列の現在の位
置のランクの行における第2の文字列の現在の位置のラ
ンクの要素の値と、入力された第1の文字列と入力され
た第3の文字列との間の擬似距離行列における第1の文
字列の現在の位置のランクの行における第3の文字列の
現在の位置のランクの要素の値と、入力された3つの文
字列の共通文字数との和に等しくない。
【0124】上述の条件を説明する。この条件は、入力
された第1の文字列Word1における現在の位置i1
が、入力された第1の文字列Word1と第2の文字列
Word2との間の擬似距離行列M12における第1の
文字列Word1の現在の位置i1のランクの行におけ
る第2の文字列Word2の現在の位置i2のランクの
要素の値M12[i1][i2]と、入力された第1の
文字列Word1と入力された第3の文字列Word3
との間の擬似距離行列M13における第1の文字列Wo
rd1の現在の位置i1のランクの行における第3の文
字列Word3の現在の位置i3のランクの要素の値M
13[i1][i3]と、入力された3つの文字列の共
通の文字数である状態パラメータcom(A,B,C,
D)との和と等しくない場合、すなわち、ランクi2ま
での入力された第2の文字列と、ランクi1までの入力
された第1の文字列との間の類似度の和が、入力された
第1の文字列における現在の位置i1のランクと、入力
された3つの文字列に対して共通な文字数である状態パ
ラメータcom(A,B,C,D)と等しくない場合で
ある。
された第1の文字列Word1における現在の位置i1
が、入力された第1の文字列Word1と第2の文字列
Word2との間の擬似距離行列M12における第1の
文字列Word1の現在の位置i1のランクの行におけ
る第2の文字列Word2の現在の位置i2のランクの
要素の値M12[i1][i2]と、入力された第1の
文字列Word1と入力された第3の文字列Word3
との間の擬似距離行列M13における第1の文字列Wo
rd1の現在の位置i1のランクの行における第3の文
字列Word3の現在の位置i3のランクの要素の値M
13[i1][i3]と、入力された3つの文字列の共
通の文字数である状態パラメータcom(A,B,C,
D)との和と等しくない場合、すなわち、ランクi2ま
での入力された第2の文字列と、ランクi1までの入力
された第1の文字列との間の類似度の和が、入力された
第1の文字列における現在の位置i1のランクと、入力
された3つの文字列に対して共通な文字数である状態パ
ラメータcom(A,B,C,D)と等しくない場合で
ある。
【0125】従って、この条件は、ランクi2までの入
力された第2の文字列と、ランクi1までの入力された
第1の文字列との間の類似度と、ランクi3までの入力
された第3の文字列とランクi1までの入力された第1
の文字列との間の類似度との和が、入力された第1の文
字列における現在の位置i1のランクと、入力された3
つの文字列に対して共通な文字数である状態パラメータ
com(A,B,C,D)の和に比較して小さい場合、
もしくは、ランクi2までの入力された第2の文字列
と、ランクi1までの入力された第1の文字列との間の
類似度と、ランクi3までの入力された第3の文字列と
ランクi1までの入力された第1の文字列との間の類似
度との和が、入力された第1の文字列における現在の位
置i1のランクと、入力された3つの文字列に対して共
通な文字数である状態パラメータcom(A,B,C,
D)の和に比較して大きい場合のいずれかの場合であ
る。
力された第2の文字列と、ランクi1までの入力された
第1の文字列との間の類似度と、ランクi3までの入力
された第3の文字列とランクi1までの入力された第1
の文字列との間の類似度との和が、入力された第1の文
字列における現在の位置i1のランクと、入力された3
つの文字列に対して共通な文字数である状態パラメータ
com(A,B,C,D)の和に比較して小さい場合、
もしくは、ランクi2までの入力された第2の文字列
と、ランクi1までの入力された第1の文字列との間の
類似度と、ランクi3までの入力された第3の文字列と
ランクi1までの入力された第1の文字列との間の類似
度との和が、入力された第1の文字列における現在の位
置i1のランクと、入力された3つの文字列に対して共
通な文字数である状態パラメータcom(A,B,C,
D)の和に比較して大きい場合のいずれかの場合であ
る。
【0126】ランクi2までの入力された第2の文字列
と、ランクi1までの入力された第1の文字列との間の
類似度と、ランクi3までの入力された第3の文字列と
ランクi1までの入力された第1の文字列との間の類似
度との和が、入力された第1の文字列における現在の位
置i1のランクと、入力された3つの文字列に対して共
通な文字数である状態パラメータcom(A,B,C,
D)の和に比較して小さい場合においては、ランクi1
までの入力された第1の文字列における幾つかの文字
は、ランクi2までの入力された第2の文字列に属せ
ず、また、ランクi3までの入力された第3の文字列に
属すことはない。このことは、各ランクi1,i2,i
3までの入力された3つの文字列に対して類推的に類似
する文字列は存在しないことを意味する。従って、類推
的に類似する文字列を生成するためには、入力された第
1の文字列における任意の文字が、入力された第2の文
字列又は入力された第3の文字列のいずれかに属する必
要がある(上述の適用すべき制約条件について参照せ
よ。)。この場合において、入力された3つの文字列に
対して類推的に類似する文字列の生成の処理は失敗する
(図16のステップS63参照。)。
と、ランクi1までの入力された第1の文字列との間の
類似度と、ランクi3までの入力された第3の文字列と
ランクi1までの入力された第1の文字列との間の類似
度との和が、入力された第1の文字列における現在の位
置i1のランクと、入力された3つの文字列に対して共
通な文字数である状態パラメータcom(A,B,C,
D)の和に比較して小さい場合においては、ランクi1
までの入力された第1の文字列における幾つかの文字
は、ランクi2までの入力された第2の文字列に属せ
ず、また、ランクi3までの入力された第3の文字列に
属すことはない。このことは、各ランクi1,i2,i
3までの入力された3つの文字列に対して類推的に類似
する文字列は存在しないことを意味する。従って、類推
的に類似する文字列を生成するためには、入力された第
1の文字列における任意の文字が、入力された第2の文
字列又は入力された第3の文字列のいずれかに属する必
要がある(上述の適用すべき制約条件について参照せ
よ。)。この場合において、入力された3つの文字列に
対して類推的に類似する文字列の生成の処理は失敗する
(図16のステップS63参照。)。
【0127】ランクi2までの入力された第2の文字列
と、ランクi1までの入力された第1の文字列との間の
類似度と、ランクi3までの入力された第3の文字列と
ランクi1までの入力された第1の文字列との間の類似
度との和が、入力された第1の文字列における現在の位
置i1のランクと、入力された3つの文字列に対して共
通な文字数である状態パラメータcom(A,B,C,
D)の和に比較して大きい場合においては、各ランクi
1,i2,i3までの現在生成された、入力された3つ
の文字列に対して類推的に類似する文字列は、3つの文
字列に対して共通な文字数と矛盾している。この場合に
おいて、入力された3つの文字列に対して類推的に類似
する文字列の生成の処理は失敗する(図16のステップ
S63参照。)。
と、ランクi1までの入力された第1の文字列との間の
類似度と、ランクi3までの入力された第3の文字列と
ランクi1までの入力された第1の文字列との間の類似
度との和が、入力された第1の文字列における現在の位
置i1のランクと、入力された3つの文字列に対して共
通な文字数である状態パラメータcom(A,B,C,
D)の和に比較して大きい場合においては、各ランクi
1,i2,i3までの現在生成された、入力された3つ
の文字列に対して類推的に類似する文字列は、3つの文
字列に対して共通な文字数と矛盾している。この場合に
おいて、入力された3つの文字列に対して類推的に類似
する文字列の生成の処理は失敗する(図16のステップ
S63参照。)。
【0128】上述の好ましい実施形態においては、類似
度の計算のために使用する擬似編集距離の定義として、
削除及び置換の操作数が修正なしで使用されている。し
かしながら、本発明に係る実施形態はこれに限定され
ず、変形例として操作の種類毎に重みを設定して距離を
定義してもよい。また、この好ましい実施形態による類
推語生成装置においても、類似度計算の部分に重み計算
を導入することが可能であり、重み付けされた類推語生
成処理を達成することができる。
度の計算のために使用する擬似編集距離の定義として、
削除及び置換の操作数が修正なしで使用されている。し
かしながら、本発明に係る実施形態はこれに限定され
ず、変形例として操作の種類毎に重みを設定して距離を
定義してもよい。また、この好ましい実施形態による類
推語生成装置においても、類似度計算の部分に重み計算
を導入することが可能であり、重み付けされた類推語生
成処理を達成することができる。
【0129】次に、本発明の別の実施形態として、類似
語生成装置100を用いた音声自動翻訳システムを図2
0を参照して以下に説明する。図20において、発声音
声がマイクロホン11に入力されて、音声信号に変換さ
れた後、A/D変換器12においてアナログ音声信号か
らデジタル音声信号にA/D変換される。デジタル音声
信号は、音声認識装置13に入力され、例えばLPC分
析されて、ケプストラム係数などの特徴パラメータが抽
出される。音声認識装置13は、抽出した特徴パラメー
タに基づいて、HMMメモリ31内の所定の隠れマルコ
フモデルを参照して音素認識を行った後、言語モデルメ
モリ32内の統計的言語モデルを参照して単語認識を行
うことにより、音声認識処理を実行して、音声認識され
た文字列のテキストデータをパターン追加部14に出力
する。
語生成装置100を用いた音声自動翻訳システムを図2
0を参照して以下に説明する。図20において、発声音
声がマイクロホン11に入力されて、音声信号に変換さ
れた後、A/D変換器12においてアナログ音声信号か
らデジタル音声信号にA/D変換される。デジタル音声
信号は、音声認識装置13に入力され、例えばLPC分
析されて、ケプストラム係数などの特徴パラメータが抽
出される。音声認識装置13は、抽出した特徴パラメー
タに基づいて、HMMメモリ31内の所定の隠れマルコ
フモデルを参照して音素認識を行った後、言語モデルメ
モリ32内の統計的言語モデルを参照して単語認識を行
うことにより、音声認識処理を実行して、音声認識され
た文字列のテキストデータをパターン追加部14に出力
する。
【0130】パターン追加部14には、類似語パターン
メモリ33が接続され、この類似語パターンメモリ33
には、複数の単語に対応して、後述の実施例において示
すように、例えば接頭辞又は接尾辞を挿入し又は削除す
ることによって互いに対(x:y)となる単語対からな
る類似語パターンが予め記憶される。パターン追加部1
4は、入力される文字列のテキストデータに含まれる単
語毎に、それに対応する類似語パターンの単語対を、類
似語パターンメモリ33から検索して、処理対象の単語
に対してその類似語パターンの単語対を追加して、すな
わち、処理対象単語と、2つの単語対との合計3つの単
語を、類推語生成装置100に出力する。
メモリ33が接続され、この類似語パターンメモリ33
には、複数の単語に対応して、後述の実施例において示
すように、例えば接頭辞又は接尾辞を挿入し又は削除す
ることによって互いに対(x:y)となる単語対からな
る類似語パターンが予め記憶される。パターン追加部1
4は、入力される文字列のテキストデータに含まれる単
語毎に、それに対応する類似語パターンの単語対を、類
似語パターンメモリ33から検索して、処理対象の単語
に対してその類似語パターンの単語対を追加して、すな
わち、処理対象単語と、2つの単語対との合計3つの単
語を、類推語生成装置100に出力する。
【0131】類推語生成装置100は、入力された3つ
の単語に基づいて、上述の類推語生成処理を実行するこ
とにより類推語を生成し、音声認識装置13から出力さ
れる単語列に対応する類推語の単語列のテキストデータ
を、自動翻訳装置15に出力する。自動翻訳装置15に
は、例えば日本語から英語への翻訳パターンのテキスト
データを記憶する翻訳パターンメモリ34が接続され、
自動翻訳装置15は、入力される単語列のテキストデー
タ(日本語)に基づいて、翻訳パターンメモリ34内の
翻訳パターンを参照して、日本語から英語への翻訳を行
って、翻訳結果の単語列のテキストデータ(英語)をプ
リンタ22に出力して記録紙に印字するとともに、CR
Tディスプレイ23に出力して表示する。
の単語に基づいて、上述の類推語生成処理を実行するこ
とにより類推語を生成し、音声認識装置13から出力さ
れる単語列に対応する類推語の単語列のテキストデータ
を、自動翻訳装置15に出力する。自動翻訳装置15に
は、例えば日本語から英語への翻訳パターンのテキスト
データを記憶する翻訳パターンメモリ34が接続され、
自動翻訳装置15は、入力される単語列のテキストデー
タ(日本語)に基づいて、翻訳パターンメモリ34内の
翻訳パターンを参照して、日本語から英語への翻訳を行
って、翻訳結果の単語列のテキストデータ(英語)をプ
リンタ22に出力して記録紙に印字するとともに、CR
Tディスプレイ23に出力して表示する。
【0132】本実施形態の音声自動翻訳システムは、上
述の類推語生成装置100を備えているために、マイク
ロホン11を介して入力された文字列又は単語列等の音
声信号から類推される類推語の単語列の文を自動翻訳し
て翻訳結果をプリンタ22に出力したり、CRTディス
プレイ23に表示させたりすることが可能である。
述の類推語生成装置100を備えているために、マイク
ロホン11を介して入力された文字列又は単語列等の音
声信号から類推される類推語の単語列の文を自動翻訳し
て翻訳結果をプリンタ22に出力したり、CRTディス
プレイ23に表示させたりすることが可能である。
【0133】
【実施例】以下の幾つかの例は、本発明に係る実施形態
の類推語生成方法による実際の類推語の生成結果を示し
たものである。ここで、以下の関係式A:B=C:xに
おいて、Aは入力された第1の文字列、Bは入力された
第2の文字列、Cは入力された第3の文字列を表し、x
は、本発明に係る実施形態の類推語生成装置100によ
って、第1の文字列A、第2の文字列B及び第3の文字
列Cの関係から類推して生成される類推語を表す。
の類推語生成方法による実際の類推語の生成結果を示し
たものである。ここで、以下の関係式A:B=C:xに
おいて、Aは入力された第1の文字列、Bは入力された
第2の文字列、Cは入力された第3の文字列を表し、x
は、本発明に係る実施形態の類推語生成装置100によ
って、第1の文字列A、第2の文字列B及び第3の文字
列Cの関係から類推して生成される類推語を表す。
【0134】<A1>接頭辞、接尾辞を挿入又は削除す
ることによって類推語を生成する場合。 <<A1.1>>ラテン語の単語を入力した場合:
ることによって類推語を生成する場合。 <<A1.1>>ラテン語の単語を入力した場合:
【数14】oratorem:orator=hono
rem:x x=honor <<A1.2>>フランス語の単語を入力した場合:
rem:x x=honor <<A1.2>>フランス語の単語を入力した場合:
【数15】 <<A1.3>>マレー語の単語を入力した場合:
【数16】tinggal:ketinggalan=
duduk:x x=kedudukan <<A1.4>>中国語の単語を入力した場合:
duduk:x x=kedudukan <<A1.4>>中国語の単語を入力した場合:
【数17】科学:科学家=政治:x x=政治家
【0135】<A2>接頭辞、接尾辞を置換することに
よって類推語を生成する場合。 <<A2.1>>英語の単語を入力した場合:
よって類推語を生成する場合。 <<A2.1>>英語の単語を入力した場合:
【数18】wolf:wolves=leaf:x x=leaves <<A2.2>>マレー語の単語を入力した場合:
【数19】kawan:mengawani=keli
ling:x x=mengelilingi <<A2.3>>マレー語の単語を入力した場合:
ling:x x=mengelilingi <<A2.3>>マレー語の単語を入力した場合:
【数20】keras:mengeraskan=ke
na:x x=mengenakan <<A2.4>>ポーランド語の単語を入力した場合:
na:x x=mengenakan <<A2.4>>ポーランド語の単語を入力した場合:
【数21】
【0136】<A3>接中辞、ウムラウトを挿入する場
合。 <<A3.1>>日本語の単語を入力した場合:
合。 <<A3.1>>日本語の単語を入力した場合:
【数22】乗る:乗せる=寄る:x x=寄せる <<A3.2>>ドイツ語の単語を入力した場合:
【数23】 <<A3.3>>ドイツ語の単語を入力した場合:
【数24】fliehen:er floh=schl
ieβen:x x=er schloβ <<A3.4>>ポーランド語の単語を入力した場合:
ieβen:x x=er schloβ <<A3.4>>ポーランド語の単語を入力した場合:
【数25】zgubiony:zgubieni=zma
rtwiony:x x=zmartwieni <<A3.5>>アッカド語の単語を入力した場合:
rtwiony:x x=zmartwieni <<A3.5>>アッカド語の単語を入力した場合:
【数26】
【0137】<A4>複数の接中辞を挿入することによ
って類推語を生成する場合。 <<A4.1>>原セム語の単語を入力した場合:
って類推語を生成する場合。 <<A4.1>>原セム語の単語を入力した場合:
【数27】yasriqu:sariq=yanqim
u:x x=naqim <<A4.2>>アラビア語の単語を入力した場合:
u:x x=naqim <<A4.2>>アラビア語の単語を入力した場合:
【数28】 <<A4.3>>アラビア語の単語を入力した場合:
【数29】arsala:mursilun=asla
ma:x x=muslimun
ma:x x=muslimun
【0138】以上の幾つかの例から、本実施形態の類推
語生成処理が実際の多数の言語において類推語を生成可
能であることが分かる。
語生成処理が実際の多数の言語において類推語を生成可
能であることが分かる。
【0139】以上説明したように、本発明に係る実施形
態によれば、以下の特有の効果を有する。 (1)3つの単位列を与えられた場合に、上記3つの単
位列から類推される4つ目の単位列を生成することがで
き、また、類推に関連した制約条件の検証が擬似距離行
列の各要素の計算を制限するために、生成に失敗すれば
早期終了が可能であり、従って、計算コストが減少され
て従来例に比較して高速に演算処理することができる。 (2)また、従来例のように属性を付加する必要がない
ので、属性付与のための専門家は必要がない。それ故、
属性を記憶する記憶装置を備える必要がないので、装置
構成が小型化することができる。 (3)さらに、第2の従来例で不可能であった、類推的
に類似する類似語同士の入れ替えを行うことができる。 (4)さらには、本発明は、多くの異なった言語におい
て多くの異なった事例を扱えることが、実施例から実証
されており、実施形態で述べた反復処理にも容易に展開
することができる。
態によれば、以下の特有の効果を有する。 (1)3つの単位列を与えられた場合に、上記3つの単
位列から類推される4つ目の単位列を生成することがで
き、また、類推に関連した制約条件の検証が擬似距離行
列の各要素の計算を制限するために、生成に失敗すれば
早期終了が可能であり、従って、計算コストが減少され
て従来例に比較して高速に演算処理することができる。 (2)また、従来例のように属性を付加する必要がない
ので、属性付与のための専門家は必要がない。それ故、
属性を記憶する記憶装置を備える必要がないので、装置
構成が小型化することができる。 (3)さらに、第2の従来例で不可能であった、類推的
に類似する類似語同士の入れ替えを行うことができる。 (4)さらには、本発明は、多くの異なった言語におい
て多くの異なった事例を扱えることが、実施例から実証
されており、実施形態で述べた反復処理にも容易に展開
することができる。
【0140】上述した実施形態について以下の補足説明
する。
する。
【0141】<補足1>図6の擬似距離行列と、図7の
擬似距離行列との値が異なっていることについて補足説
明する。以下、文字列Word[1,…,i]は、文字
列Wordの第1番目の最初の文字から文字列Word
のi番目の文字までから構成される文字列を意味する。
擬似距離行列との値が異なっていることについて補足説
明する。以下、文字列Word[1,…,i]は、文字
列Wordの第1番目の最初の文字から文字列Word
のi番目の文字までから構成される文字列を意味する。
【0142】図1及び図2を参照して、編集距離の計算
について説明する。文字列Word1及びWord2の
擬似距離計算のための擬似距離行列Mにおいては、各要
素M[i1][i2]の値は、2つの文字列Word
[1,…,i1]及びWord[1,…,i2]間の編
集距離の距離値である。編集距離行列Mの各要素の値
は、従来技術文献5の記述において与えられている以下
の一般式に従って、先行する行及び列の直前の3つの要
素の値に基づいて計算される。
について説明する。文字列Word1及びWord2の
擬似距離計算のための擬似距離行列Mにおいては、各要
素M[i1][i2]の値は、2つの文字列Word
[1,…,i1]及びWord[1,…,i2]間の編
集距離の距離値である。編集距離行列Mの各要素の値
は、従来技術文献5の記述において与えられている以下
の一般式に従って、先行する行及び列の直前の3つの要
素の値に基づいて計算される。
【0143】
【数30】 M[i1][i2]=min( (1) M[i1−1][i2−1]+true(Word1[i1]≠Word2[ i2]), (2) M[i1−1][i2]+1, (3) M[i1][i2−1]+1) (4)
【0144】ここで、説明の便宜上、数30の各行に
(1)乃至(4)の行数番号を付与する。また、関数m
in(・)は複数の引数のうちの最小値を与える関数で
あり、関数true(・)は引数が真であるときに1と
なる一方、引数が偽であるときに0となる関数である。
数30の(2)行目は、Word1[1,…,i1]及
びWord2[1,…,i2]間の距離と、先行する前
の文字までの両方の文字列間の距離、すなわち2つの文
字列Word1[1,…,i1−1]及びWord2
[1,…,i2−1]間の距離とが、ちょうど2つの付
加された文字Word1[i1]及びWord2[i
2]間の距離だけ相違していることを意味している。従
って、2つの付加された文字Word1[i1]及びW
ord2[i2]が等しければ、Word1[1,…,
i1]及びWord2[1,…,i2]間の距離は、先
行する前の文字までの両方の文字列間の距離、すなわち
2つの文字列Word1[1,…,i1−1]及びWo
rd2[1,…,i2−1]間の距離に等しくなると思
われる。2つの付加された文字Word1[i1]及び
Word2[i2]が異なっていれば、Word1
[1,…,i1]及びWord2[1,…,i2]間の
距離は、先行する前の文字までの両方の文字列間の距
離、すなわち2つの文字列Word1[1,…,i1−
1]及びWord2[1,…,i2−1]間の距離に1
つの文字の差分を加算した値に等しくなる。
(1)乃至(4)の行数番号を付与する。また、関数m
in(・)は複数の引数のうちの最小値を与える関数で
あり、関数true(・)は引数が真であるときに1と
なる一方、引数が偽であるときに0となる関数である。
数30の(2)行目は、Word1[1,…,i1]及
びWord2[1,…,i2]間の距離と、先行する前
の文字までの両方の文字列間の距離、すなわち2つの文
字列Word1[1,…,i1−1]及びWord2
[1,…,i2−1]間の距離とが、ちょうど2つの付
加された文字Word1[i1]及びWord2[i
2]間の距離だけ相違していることを意味している。従
って、2つの付加された文字Word1[i1]及びW
ord2[i2]が等しければ、Word1[1,…,
i1]及びWord2[1,…,i2]間の距離は、先
行する前の文字までの両方の文字列間の距離、すなわち
2つの文字列Word1[1,…,i1−1]及びWo
rd2[1,…,i2−1]間の距離に等しくなると思
われる。2つの付加された文字Word1[i1]及び
Word2[i2]が異なっていれば、Word1
[1,…,i1]及びWord2[1,…,i2]間の
距離は、先行する前の文字までの両方の文字列間の距
離、すなわち2つの文字列Word1[1,…,i1−
1]及びWord2[1,…,i2−1]間の距離に1
つの文字の差分を加算した値に等しくなる。
【0145】数30の(3)行目は、2つの文字列Wo
rd1[1,…,i1−1]及びWord2[1,…,
i2]間の距離が、2つの文字列Word1[1,…,
i1−1]及びWord2[1,…,i2−1]間の距
離から、文字Word2[i2]をWord2[1,
…,i2−1]の終わりに付加したときの差分である1
文字の差分だけ相違していることを意味している。
rd1[1,…,i1−1]及びWord2[1,…,
i2]間の距離が、2つの文字列Word1[1,…,
i1−1]及びWord2[1,…,i2−1]間の距
離から、文字Word2[i2]をWord2[1,
…,i2−1]の終わりに付加したときの差分である1
文字の差分だけ相違していることを意味している。
【0146】同様に、数30の(4)行目は、2つの文
字列Word1[1,…,i1]及びWord2[1,
…,i2−1]間の距離が、2つの文字列Word1
[1,…,i1−1]及びWord2[1,…,i2−
1]間の距離から、文字Word1[i1]をWord
1[1,…,i1−1]の終わりに付加したときの差分
である1文字の差分だけ相違していることを意味してい
る。
字列Word1[1,…,i1]及びWord2[1,
…,i2−1]間の距離が、2つの文字列Word1
[1,…,i1−1]及びWord2[1,…,i2−
1]間の距離から、文字Word1[i1]をWord
1[1,…,i1−1]の終わりに付加したときの差分
である1文字の差分だけ相違していることを意味してい
る。
【0147】距離を最小値として取り扱う直観的な概念
のために、Word1[1,…,i1]及びWord2
[1,…,i2]間の距離値を計算する3つの可能な方
法から、数30の(1)行目は、Word1[1,…,
i1]及びWord2[1,…,i2]間の距離値、す
なわち要素M[i1][i2]の値が、(2)行目、
(3)行目、(4)行目で与えられる3つの可能な計算
のうちの最小値であることを意味している。
のために、Word1[1,…,i1]及びWord2
[1,…,i2]間の距離値を計算する3つの可能な方
法から、数30の(1)行目は、Word1[1,…,
i1]及びWord2[1,…,i2]間の距離値、す
なわち要素M[i1][i2]の値が、(2)行目、
(3)行目、(4)行目で与えられる3つの可能な計算
のうちの最小値であることを意味している。
【0148】次に、図4及び図5を参照して、擬似距離
の計算について説明する。2つの文字列Word1及び
Word2間の擬似距離の計算は、編集距離の計算と同
様に行い、以下のような同様な式を用いる。
の計算について説明する。2つの文字列Word1及び
Word2間の擬似距離の計算は、編集距離の計算と同
様に行い、以下のような同様な式を用いる。
【0149】
【数31】 M[i1][i2]=min( (1) M[i1−1][i2−1]+true(Word1[i1]≠Word2[ i2]), (2) M[i1−1][i2]+1, (3) M[i1][i2−1]) (4)
【0150】ここで、説明の便宜上、数31の各行に
(1)乃至(4)の行数番号を付与する。数30と数3
1の相違は、(4)行目における相違点のみである。こ
の相違は、文字列Word1[1,…,i1]及びWo
rd2[1,…,i2]間の擬似距離が、文字列Wor
d1[1,…,i1]及びWord2[1,…,i2−
1]間の擬似距離に等しいことを意味している。言い替
えれば、文字列Word2[1,…,i2]の終わりに
1文字が付加されたは擬似距離の値に影響しない。さら
に別の言い方をすれば、従来技術文献5の編集距離と、
本願発明の擬似距離との相違は、擬似距離において、第
2番目の文字列において文字の挿入を計数しないことに
ある。
(1)乃至(4)の行数番号を付与する。数30と数3
1の相違は、(4)行目における相違点のみである。こ
の相違は、文字列Word1[1,…,i1]及びWo
rd2[1,…,i2]間の擬似距離が、文字列Wor
d1[1,…,i1]及びWord2[1,…,i2−
1]間の擬似距離に等しいことを意味している。言い替
えれば、文字列Word2[1,…,i2]の終わりに
1文字が付加されたは擬似距離の値に影響しない。さら
に別の言い方をすれば、従来技術文献5の編集距離と、
本願発明の擬似距離との相違は、擬似距離において、第
2番目の文字列において文字の挿入を計数しないことに
ある。
【0151】<補足2>図6及び図7の擬似距離行列間
の相違点について説明する。図6及び図7では共に、要
素値は上記数31を使用して計算されている。ここで、
図6と図7の違いは、図7では計算において対角バンド
内の要素しか考慮されないことにある。従って、図6は
2つの文字列間の擬似距離の計算を示し、図7は2つの
文字列間の制限された擬似距離の計算を示している。
の相違点について説明する。図6及び図7では共に、要
素値は上記数31を使用して計算されている。ここで、
図6と図7の違いは、図7では計算において対角バンド
内の要素しか考慮されないことにある。従って、図6は
2つの文字列間の擬似距離の計算を示し、図7は2つの
文字列間の制限された擬似距離の計算を示している。
【0152】対角バンド内の要素は、当該行列の各行に
対して計算された2つのパラメータikleft及びi
krightの各行上に局所的に位置する。iklef
tは、処理対象の現在の行におけるバンド内の最小の要
素番号(インデックス)の列の要素番号(インデック
ス)である。また、ikrightは、処理対象の現在
の行におけるバンド内の最大の要素番号(インデック
ス)の列の要素番号(インデックス)である。
対して計算された2つのパラメータikleft及びi
krightの各行上に局所的に位置する。iklef
tは、処理対象の現在の行におけるバンド内の最小の要
素番号(インデックス)の列の要素番号(インデック
ス)である。また、ikrightは、処理対象の現在
の行におけるバンド内の最大の要素番号(インデック
ス)の列の要素番号(インデックス)である。
【0153】バンド外の要素の値、すなわちその列指数
がikleft及びikrightの外にあるような要
素の値は、可能な最大値に等しい値に初期化することが
できるので、一般式を使用して、すなわち最小値を採用
して要素の値を計算する際には、バンド外の要素の値は
計算結果に何の影響も与えない。バンド外の要素の最高
可能値への初期化は、前もって実行しておくことができ
る。これは、図11のステップS95において実行され
る。
がikleft及びikrightの外にあるような要
素の値は、可能な最大値に等しい値に初期化することが
できるので、一般式を使用して、すなわち最小値を採用
して要素の値を計算する際には、バンド外の要素の値は
計算結果に何の影響も与えない。バンド外の要素の最高
可能値への初期化は、前もって実行しておくことができ
る。これは、図11のステップS95において実行され
る。
【0154】数31によって各要素値が最小値として計
算されるという事実に従えば、バンド内の要素の値のみ
を考慮して計算する場合には使用される情報がより少な
く、その結果、最後の要素(図6の”like”と”k
nown”の間の擬似距離を計算する場合の一番下の最
も右側の要素、図6の”like”と”unlike”
の間の擬似距離を計算する場合の一番下の最も左側の要
素)の値は、すべての要素を考慮して計算する場合の行
列の最後の要素(図7の”like”と”known”
の間の擬似距離を計算する場合の一番下の最も右側の要
素、図7の”like”と”unlike”の間の擬似
距離を計算する場合の一番下の最も左側の要素)の値よ
り大きい。これは、図7における場合であって、バンド
内の要素のみを考慮して取得した一番下の最右要素の値
4は、行列のすべての要素の値を考慮して取得した図6
の一番下の最右要素の値3より大きい。
算されるという事実に従えば、バンド内の要素の値のみ
を考慮して計算する場合には使用される情報がより少な
く、その結果、最後の要素(図6の”like”と”k
nown”の間の擬似距離を計算する場合の一番下の最
も右側の要素、図6の”like”と”unlike”
の間の擬似距離を計算する場合の一番下の最も左側の要
素)の値は、すべての要素を考慮して計算する場合の行
列の最後の要素(図7の”like”と”known”
の間の擬似距離を計算する場合の一番下の最も右側の要
素、図7の”like”と”unlike”の間の擬似
距離を計算する場合の一番下の最も左側の要素)の値よ
り大きい。これは、図7における場合であって、バンド
内の要素のみを考慮して取得した一番下の最右要素の値
4は、行列のすべての要素の値を考慮して取得した図6
の一番下の最右要素の値3より大きい。
【0155】<補足3>図8を参照して最短経路の計算
方法について説明する。長さl1の文字列Word1及
び長さl2の文字列Word2である2つの文字列間の
擬似距離行列Mにおいては、最後の要素は要素M[l
1][l2]である。図8を参照すると、文字列”li
ke”及び”unlike”間の制限された擬似距離の
行列における最後の要素は、この行列における一番下の
最左要素である。同じく、図8を参照すると、文字列”
like”及び”known”間の制限された擬似距離
の行列における最後の要素は、当該行列における一番下
の最右要素である。
方法について説明する。長さl1の文字列Word1及
び長さl2の文字列Word2である2つの文字列間の
擬似距離行列Mにおいては、最後の要素は要素M[l
1][l2]である。図8を参照すると、文字列”li
ke”及び”unlike”間の制限された擬似距離の
行列における最後の要素は、この行列における一番下の
最左要素である。同じく、図8を参照すると、文字列”
like”及び”known”間の制限された擬似距離
の行列における最後の要素は、当該行列における一番下
の最右要素である。
【0156】2つの文字列Word1及びWord2間
の擬似距離行列Mにおいては、第1番目の最初の要素は
要素M[1][1]である。図8を参照すると、文字
列”like”及び”unlike”間の制限された擬
似距離の行列における第1番目の最初の要素は、当該行
列における一番上の最右要素である。同じく、図8を参
照すると、文字列”like”及び”known”間の
制限された擬似距離の行列における第1番目の最初の要
素は、当該行列における一番上の最左要素である。
の擬似距離行列Mにおいては、第1番目の最初の要素は
要素M[1][1]である。図8を参照すると、文字
列”like”及び”unlike”間の制限された擬
似距離の行列における第1番目の最初の要素は、当該行
列における一番上の最右要素である。同じく、図8を参
照すると、文字列”like”及び”known”間の
制限された擬似距離の行列における第1番目の最初の要
素は、当該行列における一番上の最左要素である。
【0157】擬似距離又は制限された擬似距離の行列に
おける最短経路の計算は、当該行列の最後の要素から第
1番目の最初の要素まで実行される。最短経路上の処理
対象の現在の要素の場合、最短経路上の先行する前の要
素は、3つの先行する前の要素のうちの1つである可能
性がある。すなわち、対角線上の先行する前の要素、同
一行上の先行する前の要素、又は同一列上の先行する前
の要素のいずれかである。どの要素が選択されるかは、
ステップS110、S112及びS114で説明されて
いるように、処理対象の現在の要素の値を先行する前の
要素の値と比較することによって決定される。ステップ
S110、S112及びS114におけるこうした比較
はそれぞれ、上記数30において(2)、(3)及び
(4)行目の何れを使用して処理対象の現在の要素の値
を計算したかを決定する。
おける最短経路の計算は、当該行列の最後の要素から第
1番目の最初の要素まで実行される。最短経路上の処理
対象の現在の要素の場合、最短経路上の先行する前の要
素は、3つの先行する前の要素のうちの1つである可能
性がある。すなわち、対角線上の先行する前の要素、同
一行上の先行する前の要素、又は同一列上の先行する前
の要素のいずれかである。どの要素が選択されるかは、
ステップS110、S112及びS114で説明されて
いるように、処理対象の現在の要素の値を先行する前の
要素の値と比較することによって決定される。ステップ
S110、S112及びS114におけるこうした比較
はそれぞれ、上記数30において(2)、(3)及び
(4)行目の何れを使用して処理対象の現在の要素の値
を計算したかを決定する。
【0158】ステップS110、S112及びS114
は、対角方向の要素、水平方向の要素、次いで垂直方向
の要素の順に先行する前の要素をテストするが、これ
は、対角方向の進行が常に水平方向の進行より優先さ
れ、また水平方向の進行が常に垂直方向の進行より優先
されることを意味している。
は、対角方向の要素、水平方向の要素、次いで垂直方向
の要素の順に先行する前の要素をテストするが、これ
は、対角方向の進行が常に水平方向の進行より優先さ
れ、また水平方向の進行が常に垂直方向の進行より優先
されることを意味している。
【0159】<補足4>最短経路の一般的意味について
説明する。制限された擬似距離行列における最短経路
は、行列の最小値に沿って両方の文字列の終わりから両
方の文字列の開始点に至る最短行程を表している。一つ
の直感的比較として、行列が立体模型の地図を表し、各
要素の値が高さを表すと仮定すれば、最短経路は、最も
高い位置(両方の文字列の終わりにおける行列の最後の
要素)から最も低い位置(両方の文字列の開始点)に流
れる立体模型地図上の川の経路である。
説明する。制限された擬似距離行列における最短経路
は、行列の最小値に沿って両方の文字列の終わりから両
方の文字列の開始点に至る最短行程を表している。一つ
の直感的比較として、行列が立体模型の地図を表し、各
要素の値が高さを表すと仮定すれば、最短経路は、最も
高い位置(両方の文字列の終わりにおける行列の最後の
要素)から最も低い位置(両方の文字列の開始点)に流
れる立体模型地図上の川の経路である。
【0160】<補足5>処理フローにおいて最短経路を
計算するステップについて以下に説明する。行列M12
及びM13の両方における処理対象の現在の要素から先
行する前の要素までの最短経路の方向は、ステップS6
4及びS65において、図7の方向決定処理(DirD
ec)を呼び出して実行することにより、ステップ毎に
計算される。行列M12及びM13の両方における先行
する前の要素の行番号及び列番号は、ステップS67及
びS68ではそれぞれ、図18の同一の方向処理(Sa
meDir)と、図19の異なった方向処理(Diff
Dir)を呼び出して実行することにより計算される。
処理対象の現在の要素から先行する前の要素への方向
は、ステップS110乃至S115(S110、S11
1、S112、S113、S114、S115)におい
て計算される。最短経路上の先行する前の要素の要素番
号(インデックス)の実際の計算は、ステップS78、
S81、S82、S83、又はステップS102、S1
04、S106、S108において実行される。
計算するステップについて以下に説明する。行列M12
及びM13の両方における処理対象の現在の要素から先
行する前の要素までの最短経路の方向は、ステップS6
4及びS65において、図7の方向決定処理(DirD
ec)を呼び出して実行することにより、ステップ毎に
計算される。行列M12及びM13の両方における先行
する前の要素の行番号及び列番号は、ステップS67及
びS68ではそれぞれ、図18の同一の方向処理(Sa
meDir)と、図19の異なった方向処理(Diff
Dir)を呼び出して実行することにより計算される。
処理対象の現在の要素から先行する前の要素への方向
は、ステップS110乃至S115(S110、S11
1、S112、S113、S114、S115)におい
て計算される。最短経路上の先行する前の要素の要素番
号(インデックス)の実際の計算は、ステップS78、
S81、S82、S83、又はステップS102、S1
04、S106、S108において実行される。
【0161】<補足6>状態パラメータcomの更新に
ついて説明する。状態パラメータcomは、上述のよう
に4つの文字列に共通な文字数を表している。また、擬
似距離行列における最短パスに沿って4つの類推語が生
成される。図18の同一方向処理のステップS73で
は、入力された3つの文字列の現在の文字が同一である
か否かが判断され、YESのときにステップS74にお
いて状態パラメータcomを1だけデクリメントする一
方、NOのときに状態パラメータcomを更新せずに次
のステップS75の処理を実行している。
ついて説明する。状態パラメータcomは、上述のよう
に4つの文字列に共通な文字数を表している。また、擬
似距離行列における最短パスに沿って4つの類推語が生
成される。図18の同一方向処理のステップS73で
は、入力された3つの文字列の現在の文字が同一である
か否かが判断され、YESのときにステップS74にお
いて状態パラメータcomを1だけデクリメントする一
方、NOのときに状態パラメータcomを更新せずに次
のステップS75の処理を実行している。
【0162】
【発明の効果】以上詳述したように本発明に係る類推語
生成装置又は方法によれば、所定の順序で入力される3
つの第1、第2及び第3の単位列に基づいて、所定の類
推関係で類推的に類似する属性を有する第4の単位列で
ある類推語を生成する類推語生成装置又は方法(10
0)であって、1つの単位列ともう1つの単位列の間で
削除又は置き換えを行う単位の数を擬似距離で表し、上
記入力された3つの単位列を解析することにより、上記
入力された第1の単位列の最初の単位から最後の単位ま
での各部分列と上記入力された第2の単位列の最初の単
位から最後の単位までの各部分列との間の擬似距離を表
す第1の擬似距離行列の一部の要素の位置において、上
記入力された第1の単位列の単位数(Len1)が、上
記第1の単位列と上記第2の単位列との間の擬似距離を
表す、第1の擬似距離行列の最終行最終列の要素の値
(p2)と、上記第1の単位列と上記第3の単位列との
間の擬似距離を表す、第2の擬似距離行列の最終行最終
列の要素の値(p3)との加算値よりも大きくなるよう
に、上記第1の擬似距離行列における所定幅の対角要素
からなる対角バンドと、上記対角バンドの外側に位置す
る所定幅の要素からなるエキストラバンドとを含む制限
された第1の擬似距離行列の複数の要素を計算し、上記
入力された第1の単位列の最初の単位から最後の単位ま
での各部分列と上記入力された第3の単位列の最初の単
位から最後の単位までの各部分列との間の擬似距離を表
す第2の擬似距離行列の一部の要素の位置において、上
記入力された第1の単位列の単位数(Len1)が、上
記第1の単位列と上記第2の単位列との間の擬似距離を
表す、第1の擬似距離行列の最終行最終列の要素の値
(p2)と、上記第1の単位列と上記第3の単位列との
間の擬似距離を表す、第2の擬似距離行列の最終行最終
列の要素の値(p3)との加算値よりも大きくなるよう
に、上記第2の擬似距離行列における所定幅の対角要素
からなる対角バンドと、上記対角バンドの外側に位置す
る所定幅の要素からなるエキストラバンドとを含む制限
された第2の擬似距離行列の複数の要素を計算し、上記
計算した制限された第1と第2の擬似距離行列の複数の
要素を行列記憶手段(10)に記憶し(2,S2)、上
記入力された3つの単位列の長さ及び上記行列記憶手段
(10)に記憶された制限された第1と第2の擬似距離
行列の各要素とに基づいて、上記入力された3つの第1
乃至第3の単位列と生成される第4の単位列とからなる
4つの単位列が上記類推関係にあることを判断するため
のパラメータであって上記第4の単位列が生成されたと
きに上記4つの単位列に共通する単位の数を表す状態パ
ラメータ(com)の初期値を計算してパラメータ記憶
手段(51)に記憶し、上記パラメータ記憶手段(5
1)に記憶された状態パラメータ(com)と上記行列
記憶手段(10)に記憶された制限された第1と第2の
擬似距離行列の各要素とに基づいて、上記パラメータ記
憶手段(51)に記憶された状態パラメータ(com)
を更新しながら(S74)、上記制限された第1の擬似
距離行列における最終行最終列の要素から第1行第1列
の要素までの最短経路と、上記制限された第2の擬似距
離行列における最終行最終列の要素から第1行第1列の
要素までの最短経路とを、上記制限された第1と第2の
擬似距離行列のそれぞれにおけるある要素から別の要素
に対角方向、水平方向、又は垂直方向である移動方向で
移動させながら決定(S63−S68)し、上記決定さ
れた制限された第1と第2の擬似距離行列の各最短経路
に従って上記移動方向に応じて第2又は第3の単位列の
単位を収集することにより類推語を生成して出力する
(5,S3)。
生成装置又は方法によれば、所定の順序で入力される3
つの第1、第2及び第3の単位列に基づいて、所定の類
推関係で類推的に類似する属性を有する第4の単位列で
ある類推語を生成する類推語生成装置又は方法(10
0)であって、1つの単位列ともう1つの単位列の間で
削除又は置き換えを行う単位の数を擬似距離で表し、上
記入力された3つの単位列を解析することにより、上記
入力された第1の単位列の最初の単位から最後の単位ま
での各部分列と上記入力された第2の単位列の最初の単
位から最後の単位までの各部分列との間の擬似距離を表
す第1の擬似距離行列の一部の要素の位置において、上
記入力された第1の単位列の単位数(Len1)が、上
記第1の単位列と上記第2の単位列との間の擬似距離を
表す、第1の擬似距離行列の最終行最終列の要素の値
(p2)と、上記第1の単位列と上記第3の単位列との
間の擬似距離を表す、第2の擬似距離行列の最終行最終
列の要素の値(p3)との加算値よりも大きくなるよう
に、上記第1の擬似距離行列における所定幅の対角要素
からなる対角バンドと、上記対角バンドの外側に位置す
る所定幅の要素からなるエキストラバンドとを含む制限
された第1の擬似距離行列の複数の要素を計算し、上記
入力された第1の単位列の最初の単位から最後の単位ま
での各部分列と上記入力された第3の単位列の最初の単
位から最後の単位までの各部分列との間の擬似距離を表
す第2の擬似距離行列の一部の要素の位置において、上
記入力された第1の単位列の単位数(Len1)が、上
記第1の単位列と上記第2の単位列との間の擬似距離を
表す、第1の擬似距離行列の最終行最終列の要素の値
(p2)と、上記第1の単位列と上記第3の単位列との
間の擬似距離を表す、第2の擬似距離行列の最終行最終
列の要素の値(p3)との加算値よりも大きくなるよう
に、上記第2の擬似距離行列における所定幅の対角要素
からなる対角バンドと、上記対角バンドの外側に位置す
る所定幅の要素からなるエキストラバンドとを含む制限
された第2の擬似距離行列の複数の要素を計算し、上記
計算した制限された第1と第2の擬似距離行列の複数の
要素を行列記憶手段(10)に記憶し(2,S2)、上
記入力された3つの単位列の長さ及び上記行列記憶手段
(10)に記憶された制限された第1と第2の擬似距離
行列の各要素とに基づいて、上記入力された3つの第1
乃至第3の単位列と生成される第4の単位列とからなる
4つの単位列が上記類推関係にあることを判断するため
のパラメータであって上記第4の単位列が生成されたと
きに上記4つの単位列に共通する単位の数を表す状態パ
ラメータ(com)の初期値を計算してパラメータ記憶
手段(51)に記憶し、上記パラメータ記憶手段(5
1)に記憶された状態パラメータ(com)と上記行列
記憶手段(10)に記憶された制限された第1と第2の
擬似距離行列の各要素とに基づいて、上記パラメータ記
憶手段(51)に記憶された状態パラメータ(com)
を更新しながら(S74)、上記制限された第1の擬似
距離行列における最終行最終列の要素から第1行第1列
の要素までの最短経路と、上記制限された第2の擬似距
離行列における最終行最終列の要素から第1行第1列の
要素までの最短経路とを、上記制限された第1と第2の
擬似距離行列のそれぞれにおけるある要素から別の要素
に対角方向、水平方向、又は垂直方向である移動方向で
移動させながら決定(S63−S68)し、上記決定さ
れた制限された第1と第2の擬似距離行列の各最短経路
に従って上記移動方向に応じて第2又は第3の単位列の
単位を収集することにより類推語を生成して出力する
(5,S3)。
【0163】従って、本発明によれば、以下の特有の効
果を有する。 (1)3つの単位列を与えられた場合に、上記3つの単
位列から類推される4つ目の単位列を生成することがで
き、また、類推に関連した制約条件の検証が擬似距離行
列の各要素の計算を制限するために、生成に失敗すれば
早期終了が可能であり、従って、計算コストが減少され
て従来例に比較して高速に演算処理することができる。 (2)また、従来例のように属性を付加する必要がない
ので、属性付与のための専門家は必要がない。それ故、
属性を記憶する記憶装置を備える必要がないので、装置
構成が小型化することができる。 (3)さらに、第2の従来例で不可能であった、類推的
に類似する類似語同士の置き換えを行うことができる。 (4)さらには、本発明は、多くの異なった言語におい
て多くの異なった事例を扱えることが、実施例から実証
されており、実施形態で述べた反復処理にも容易に展開
することができる。
果を有する。 (1)3つの単位列を与えられた場合に、上記3つの単
位列から類推される4つ目の単位列を生成することがで
き、また、類推に関連した制約条件の検証が擬似距離行
列の各要素の計算を制限するために、生成に失敗すれば
早期終了が可能であり、従って、計算コストが減少され
て従来例に比較して高速に演算処理することができる。 (2)また、従来例のように属性を付加する必要がない
ので、属性付与のための専門家は必要がない。それ故、
属性を記憶する記憶装置を備える必要がないので、装置
構成が小型化することができる。 (3)さらに、第2の従来例で不可能であった、類推的
に類似する類似語同士の置き換えを行うことができる。 (4)さらには、本発明は、多くの異なった言語におい
て多くの異なった事例を扱えることが、実施例から実証
されており、実施形態で述べた反復処理にも容易に展開
することができる。
【図1】 本発明の好ましい実施形態による類推語生成
装置100のブロック図である。
装置100のブロック図である。
【図2】 第5の従来例において、入力された第1の文
字列”like”及び入力された第2の文字列”unl
ike”間の編集距離を表す編集距離行列を示す表であ
る。
字列”like”及び入力された第2の文字列”unl
ike”間の編集距離を表す編集距離行列を示す表であ
る。
【図3】 第5の従来例において、入力された第1の文
字列”like”及び入力された第3の文字列”kno
wn”間の編集距離を表す編集距離行列を示す表であ
る。
字列”like”及び入力された第3の文字列”kno
wn”間の編集距離を表す編集距離行列を示す表であ
る。
【図4】 本発明に係る実施形態において、入力された
第1の文字列Aを”unlike”とし、第2の文字列
Bを”like”としたときの両方の文字列間の擬似距
離を表す擬似距離行列を示す表である。
第1の文字列Aを”unlike”とし、第2の文字列
Bを”like”としたときの両方の文字列間の擬似距
離を表す擬似距離行列を示す表である。
【図5】 本発明に係る実施形態において、入力された
第1の文字列Aを”like”とし、第2の文字列B
を”unlike”として、それらの間の擬似距離を表
す擬似距離行列を示す表である。
第1の文字列Aを”like”とし、第2の文字列B
を”unlike”として、それらの間の擬似距離を表
す擬似距離行列を示す表である。
【図6】 本発明に係る実施形態において、入力された
第1の文字列”like”を縦軸として、入力された第
2の文字列”unlike”と、入力された第3の文字
列”known”とのそれぞれの間の擬似距離を表す擬
似距離行列を示す表である。
第1の文字列”like”を縦軸として、入力された第
2の文字列”unlike”と、入力された第3の文字
列”known”とのそれぞれの間の擬似距離を表す擬
似距離行列を示す表である。
【図7】 図6の擬似距離行列において、対角バンドの
範囲内だけの行列要素を計算した擬似距離行列を示す表
である。
範囲内だけの行列要素を計算した擬似距離行列を示す表
である。
【図8】 図7の擬似距離行列において、最短パスに沿
った主要素を円で囲んだ擬似距離行列を示す表である。
った主要素を円で囲んだ擬似距離行列を示す表である。
【図9】 図1の類推語生成装置100の中央演算処理
装置1によって実行される類推語生成処理(メインルー
チン)を示すフローチャートである。
装置1によって実行される類推語生成処理(メインルー
チン)を示すフローチャートである。
【図10】 図9の類推語生成処理(メインルーチン)
のサブルーチンであるステップS2の前処理を示すフロ
ーチャートである。
のサブルーチンであるステップS2の前処理を示すフロ
ーチャートである。
【図11】 図10の前処理のサブルーチンであるステ
ップS11及びS12の行列初期化処理を示すフローチ
ャートである。
ップS11及びS12の行列初期化処理を示すフローチ
ャートである。
【図12】 図10の前処理のサブルーチンであるステ
ップS13の十分な擬似行列の計算処理を示すフローチ
ャートである。
ップS13の十分な擬似行列の計算処理を示すフローチ
ャートである。
【図13】 図12の十分な擬似行列の計算処理のサブ
ルーチンであるステップS21の制限された擬似距離行
列計算処理の第1の部分を示すフローチャートである。
ルーチンであるステップS21の制限された擬似距離行
列計算処理の第1の部分を示すフローチャートである。
【図14】 図12の十分な擬似行列の計算処理のサブ
ルーチンであるステップS21の制限された擬似距離行
列計算処理の第2の部分を示すフローチャートである。
ルーチンであるステップS21の制限された擬似距離行
列計算処理の第2の部分を示すフローチャートである。
【図15】 図9の類推語生成処理(メインルーチン)
のサブルーチンであるステップS3の類推語生成処理を
示すフローチャートである。
のサブルーチンであるステップS3の類推語生成処理を
示すフローチャートである。
【図16】 図15の類推語生成処理のサブルーチンで
あるステップS52の類推語生成サブルーチン処理を示
すフローチャートである。
あるステップS52の類推語生成サブルーチン処理を示
すフローチャートである。
【図17】 図16の類推語生成サブルーチン処理のサ
ブルーチンであるステップS64の方向決定処理を示す
フローチャートである。
ブルーチンであるステップS64の方向決定処理を示す
フローチャートである。
【図18】 図16の類推語生成サブルーチン処理のサ
ブルーチンであるステップS67の同一方向処理を示す
フローチャートである。
ブルーチンであるステップS67の同一方向処理を示す
フローチャートである。
【図19】 図16の類推語生成サブルーチン処理のサ
ブルーチンであるステップS68の異なった方向処理を
示すフローチャートである。
ブルーチンであるステップS68の異なった方向処理を
示すフローチャートである。
【図20】 図1の類推語生成装置100を備えた音声
自動翻訳システムを示すブロック図である。
自動翻訳システムを示すブロック図である。
【図21】 本実施形態の擬似距離行列における対角バ
ンドの第1の例を示す図である。
ンドの第1の例を示す図である。
【図22】 本実施形態の擬似距離行列における対角バ
ンドの第2の例を示す図である。
ンドの第2の例を示す図である。
【図23】 本実施形態の擬似距離行列における対角バ
ンドの第3の例を示す図である。
ンドの第3の例を示す図である。
【図24】 本実施形態の擬似距離行列におけるエキス
トラバンドの第1の例を示す図である。
トラバンドの第1の例を示す図である。
【図25】 本実施形態の擬似距離行列におけるエキス
トラバンドの第2の例を示す図である。
トラバンドの第2の例を示す図である。
1…中央演算処理装置(CPU)、 2…前処理部、 4…類推語メモリ、 5…類推語生成部、 10…擬似距離行列メモリ、 11…マイクロホン、 12…A/D変換器、 13…音声認識装置、 14…パターン追加部、 15…自動翻訳装置、 21…キーボード、 22…プリンタ、 23…CRTディスプレイ、 31…HMMメモリ、 32…言語モデルメモリ、 33…類似語パターンメモリ、 34…翻訳パターンメモリ、 51…内部パラメータメモリ、 52…プリンタインターフェース、 53…ディスプレイインターフェース、 54…キーボードインターフェース、 100…類推語生成装置。
Claims (6)
- 【請求項1】 所定の順序で入力される3つの第1、第
2及び第3の単位列に基づいて、所定の類推関係で類推
的に類似する属性を有する第4の単位列である類推語を
生成する類推語生成装置(100)であって、 行列記憶手段(10)を備え、 1つの単位列ともう1つの単位列の間で削除又は置き換
えを行う単位の数を擬似距離で表し、 上記入力された3つの単位列を解析することにより、 上記入力された第1の単位列の最初の単位から最後の単
位までの各部分列と上記入力された第2の単位列の最初
の単位から最後の単位までの各部分列との間の擬似距離
を表す第1の擬似距離行列の一部の要素の位置におい
て、上記入力された第1の単位列の単位数(Len1)
が、上記第1の単位列と上記第2の単位列との間の擬似
距離を表す、第1の擬似距離行列の最終行最終列の要素
の値(p2)と、上記第1の単位列と上記第3の単位列
との間の擬似距離を表す、第2の擬似距離行列の最終行
最終列の要素の値(p3)との加算値よりも大きくなる
ように、上記第1の擬似距離行列における所定幅の対角
要素からなる対角バンドと、上記対角バンドの外側に位
置する所定幅の要素からなるエキストラバンドとを含む
制限された第1の擬似距離行列の複数の要素を計算し、 上記入力された第1の単位列の最初の単位から最後の単
位までの各部分列と上記入力された第3の単位列の最初
の単位から最後の単位までの各部分列との間の擬似距離
を表す第2の擬似距離行列の一部の要素の位置におい
て、上記入力された第1の単位列の単位数(Len1)
が、上記第1の単位列と上記第2の単位列との間の擬似
距離を表す、第1の擬似距離行列の最終行最終列の要素
の値(p2)と、上記第1の単位列と上記第3の単位列
との間の擬似距離を表す、第2の擬似距離行列の最終行
最終列の要素の値(p3)との加算値よりも大きくなる
ように、上記第2の擬似距離行列における所定幅の対角
要素からなる対角バンドと、上記対角バンドの外側に位
置する所定幅の要素からなるエキストラバンドとを含む
制限された第2の擬似距離行列の複数の要素を計算して
上記計算した制限された第1又は第2の擬似距離行列の
複数の要素を上記行列記憶手段(10)に記憶させる前
処理手段(2,S2)と、 上記入力された3つの第1乃至第3の単位列と、生成さ
れる第4の単位列とからなる4つの単位列が上記類推関
係にあることを判断するためのパラメータであって、上
記第4の単位列が生成されたときに上記4つの単位列に
共通する単位の数を表す状態パラメータ(com)を記
憶するパラメータ記憶手段(51)と、 上記入力された3つの単位列の長さ及び上記行列記憶手
段(10)に記憶された制限された第1と第2の擬似距
離行列の各要素とに基づいて、上記状態パラメータ(c
om)の初期値を計算して上記パラメータ記憶手段(5
1)に記憶した後(S61)、上記パラメータ記憶手段
(51)に記憶された状態パラメータ(com)と上記
行列記憶手段(10)に記憶された制限された第1と第
2の擬似距離行列の各要素とに基づいて、上記パラメー
タ記憶手段(51)に記憶された状態パラメータ(co
m)を更新しながら(S74)、上記制限された第1の
擬似距離行列における最終行最終列の要素から第1行第
1列の要素までの最短経路と、上記制限された第2の擬
似距離行列における最終行最終列の要素から第1行第1
列の要素までの最短経路とを、上記制限された第1と第
2の擬似距離行列のそれぞれにおけるある要素から別の
要素に対角方向、水平方向、又は垂直方向である移動方
向で移動させながら決定し(S63−S68)、上記決
定された制限された第1と第2の擬似距離行列の各最短
経路に従って上記移動方向に応じて第2又は第3の単位
列の単位を収集することにより類推語を生成して出力す
る類推語生成手段(5,S3)とを備えたことを特徴と
する類推語生成装置。 - 【請求項2】 上記単位列は文字列であり、上記単位列
を構成する単位は文字であることを特徴とする請求項1
記載の類推語生成装置。 - 【請求項3】 上記単位列は単語列であり、上記単位列
を構成する単位は単語であることを特徴とする請求項1
記載の類推語生成装置。 - 【請求項4】 所定の順序で入力される3つの第1、第
2及び第3の単位列に基づいて、所定の類推関係で類推
的に類似する属性を有する第4の単位列である類推語を
制御装置により生成する類推語生成方法(100)であ
って、 1つの単位列ともう1つの単位列の間で削除又は置き換
えを行う単位の数を擬似距離で表し、 上記制御装置を用いて、上記入力された3つの単位列を
解析することにより、 上記入力された第1の単位列の最初の単位から最後の単
位までの各部分列と上記入力された第2の単位列の最初
の単位から最後の単位までの各部分列との間の擬似距離
を表す第1の擬似距離行列の一部の要素の位置におい
て、上記入力された第1の単位列の単位数(Len1)
が、上記第1の単位列と上記第2の単位列との間の擬似
距離を表す、第1の擬似距離行列の最終行最終列の要素
の値(p2)と、上記第1の単位列と上記第3の単位列
との間の擬似距離を表す、第2の擬似距離行列の最終行
最終列の要素の値(p3)との加算値よりも大きくなる
ように、上記第1の擬似距離行列における所定幅の対角
要素からなる対角バンドと、上記対角バンドの外側に位
置する所定幅の要素からなるエキストラバンドとを含む
制限された第1の擬似距離行列の複数の要素を計算し、 上記入力された第1の単位列の最初の単位から最後の単
位までの各部分列と上記入力された第3の単位列の最初
の単位から最後の単位までの各部分列との間の擬似距離
を表す第2の擬似距離行列の一部の要素の位置におい
て、上記入力された第1の単位列の単位数(Len1)
が、上記第1の単位列と上記第2の単位列との間の擬似
距離を表す、第1の擬似距離行列の最終行最終列の要素
の値(p2)と、上記第1の単位列と上記第3の単位列
との間の擬似距離を表す、第2の擬似距離行列の最終行
最終列の要素の値(p3)との加算値よりも大きくなる
ように、上記第2の擬似距離行列における所定幅の対角
要素からなる対角バンドと、上記対角バンドの外側に位
置する所定幅の要素からなるエキストラバンドとを含む
制限された第2の擬似距離行列の複数の要素を計算し、 上記計算した制限された第1と第2の擬似距離行列の複
数の要素を行列記憶手段(10)に記憶するステップ
(2,S2)と、 上記制御装置を用いて、上記入力された3つの単位列の
長さ及び上記行列記憶手段(10)に記憶された制限さ
れた第1と第2の擬似距離行列の各要素とに基づいて、
上記入力された3つの第1乃至第3の単位列と生成され
る第4の単位列とからなる4つの単位列が上記類推関係
にあることを判断するためのパラメータであって上記第
4の単位列が生成されたときに上記4つの単位列に共通
する単位の数を表す状態パラメータ(com)の初期値
を計算してパラメータ記憶手段(51)に記憶するステ
ップと、 上記制御装置を用いて、上記パラメータ記憶手段(5
1)に記憶された状態パラメータ(com)と上記行列
記憶手段(10)に記憶された制限された第1と第2の
擬似距離行列の各要素とに基づいて、上記パラメータ記
憶手段(51)に記憶された状態パラメータ(com)
を更新しながら(S74)、上記制限された第1の擬似
距離行列における最終行最終列の要素から第1行第1列
の要素までの最短経路と、上記制限された第2の擬似距
離行列における最終行最終列の要素から第1行第1列の
要素までの最短経路とを、上記制限された第1と第2の
擬似距離行列のそれぞれにおけるある要素から別の要素
に対角方向、水平方向、又は垂直方向である移動方向で
移動させながら決定(S63−S68)するステップ
と、 上記制御装置を用いて、上記決定された制限された第1
と第2の擬似距離行列の各最短経路に従って上記移動方
向に応じて第2又は第3の単位列の単位を収集すること
により類推語を生成して出力するステップ(5,S3)
とを含むことを特徴とする類推語生成方法。 - 【請求項5】 上記単位列は文字列であり、上記単位列
を構成する単位は文字であることを特徴とする請求項4
記載の類推語生成方法。 - 【請求項6】 上記単位列は単語列であり、上記単位列
を構成する単位は単語であることを特徴とする請求項4
記載の類推語生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22379299A JP3172511B2 (ja) | 1998-08-06 | 1999-08-06 | 類推語生成装置及び方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10-222724 | 1998-08-06 | ||
JP22272498 | 1998-08-06 | ||
JP22379299A JP3172511B2 (ja) | 1998-08-06 | 1999-08-06 | 類推語生成装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000112940A JP2000112940A (ja) | 2000-04-21 |
JP3172511B2 true JP3172511B2 (ja) | 2001-06-04 |
Family
ID=16786917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22379299A Expired - Fee Related JP3172511B2 (ja) | 1998-08-06 | 1999-08-06 | 類推語生成装置及び方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6219633B1 (ja) |
EP (1) | EP0978793A2 (ja) |
JP (1) | JP3172511B2 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7149256B2 (en) * | 2001-03-29 | 2006-12-12 | Quellan, Inc. | Multilevel pulse position modulation for efficient fiber optic communication |
US7307569B2 (en) * | 2001-03-29 | 2007-12-11 | Quellan, Inc. | Increasing data throughput in optical fiber transmission systems |
WO2002082694A1 (en) * | 2001-04-04 | 2002-10-17 | Quellan, Inc. | Method and system for decoding multilevel signals |
US20030030873A1 (en) * | 2001-05-09 | 2003-02-13 | Quellan, Inc. | High-speed adjustable multilevel light modulation |
US20030053622A1 (en) * | 2001-09-20 | 2003-03-20 | Aiden Bruen | Method for the construction of hash functions based on sylvester matrices, balanced incomplete block designs and error-correcting codes |
AU2003211094A1 (en) * | 2002-02-15 | 2003-09-09 | Quellan, Inc. | Multi-level signal clock recovery technique |
AU2003217947A1 (en) * | 2002-03-08 | 2003-09-22 | Quellan, Inc. | High speed analog-to-digital converter using a unique gray code having minimal bit transitions |
AU2003223687A1 (en) * | 2002-04-23 | 2003-11-10 | Quellan, Inc. | Combined ask/dpsk modulation system |
JP2004013681A (ja) * | 2002-06-10 | 2004-01-15 | Bosu & K Consulting Kk | 名刺情報管理システム |
AU2003256569A1 (en) * | 2002-07-15 | 2004-02-02 | Quellan, Inc. | Adaptive noise filtering and equalization |
AU2003287628A1 (en) | 2002-11-12 | 2004-06-03 | Quellan, Inc. | High-speed analog-to-digital conversion with improved robustness to timing uncertainty |
US6956490B2 (en) | 2003-07-28 | 2005-10-18 | Hewlett-Packard Development Company, L.P. | Projector with consumable component having memory device |
US7804760B2 (en) * | 2003-08-07 | 2010-09-28 | Quellan, Inc. | Method and system for signal emulation |
DE112004001455B4 (de) * | 2003-08-07 | 2020-04-23 | Intersil Americas LLC | Verfahren und System zum Löschen von Übersprechen |
US7123676B2 (en) * | 2003-11-17 | 2006-10-17 | Quellan, Inc. | Method and system for antenna interference cancellation |
US7616700B2 (en) * | 2003-12-22 | 2009-11-10 | Quellan, Inc. | Method and system for slicing a communication signal |
US7725079B2 (en) * | 2004-12-14 | 2010-05-25 | Quellan, Inc. | Method and system for automatic control in an interference cancellation device |
US7522883B2 (en) | 2004-12-14 | 2009-04-21 | Quellan, Inc. | Method and system for reducing signal interference |
KR101372361B1 (ko) * | 2006-04-26 | 2014-03-12 | 인터실 아메리카스 엘엘씨 | 통신 채널로부터 복사성 방출을 감소시키기 위한 방법 및 시스템 |
US8271796B2 (en) * | 2008-05-12 | 2012-09-18 | Telecommunications Research Laboratory | Apparatus for secure computation of string comparators |
US11024315B2 (en) * | 2019-03-09 | 2021-06-01 | Cisco Technology, Inc. | Characterizing accuracy of ensemble models for automatic speech recognition |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4348553A (en) * | 1980-07-02 | 1982-09-07 | International Business Machines Corporation | Parallel pattern verifier with dynamic time warping |
US5546499A (en) * | 1994-05-27 | 1996-08-13 | Kurzweil Applied Intelligence, Inc. | Speech recognition system utilizing pre-calculated similarity measurements |
US5682464A (en) * | 1992-06-29 | 1997-10-28 | Kurzweil Applied Intelligence, Inc. | Word model candidate preselection for speech recognition using precomputed matrix of thresholded distance values |
DE19511472C1 (de) * | 1995-03-29 | 1996-10-17 | Siemens Ag | Verfahren zur dynamischen Verifikation eines Schriftzuges anhand eines Referenzschriftzuges |
JP3148692B2 (ja) * | 1996-09-04 | 2001-03-19 | 株式会社エイ・ティ・アール音声翻訳通信研究所 | 類似検索装置 |
-
1999
- 1999-08-06 EP EP99115561A patent/EP0978793A2/en not_active Withdrawn
- 1999-08-06 US US09/369,311 patent/US6219633B1/en not_active Expired - Fee Related
- 1999-08-06 JP JP22379299A patent/JP3172511B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6219633B1 (en) | 2001-04-17 |
JP2000112940A (ja) | 2000-04-21 |
EP0978793A2 (en) | 2000-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3172511B2 (ja) | 類推語生成装置及び方法 | |
Foster et al. | Target-text mediated interactive machine translation | |
US5406480A (en) | Building and updating of co-occurrence dictionary and analyzing of co-occurrence and meaning | |
US6816830B1 (en) | Finite state data structures with paths representing paired strings of tags and tag combinations | |
US5687384A (en) | Parsing system | |
JP3950535B2 (ja) | データ処理方法及び装置 | |
US5680511A (en) | Systems and methods for word recognition | |
US5870706A (en) | Method and apparatus for an improved language recognition system | |
US5721939A (en) | Method and apparatus for tokenizing text | |
RU2336552C2 (ru) | Лингвистически информированные статистические модели структуры составляющих для упорядочения в реализации предложений для системы генерирования естественного языка | |
US6233544B1 (en) | Method and apparatus for language translation | |
US5806021A (en) | Automatic segmentation of continuous text using statistical approaches | |
Lavie | GLR*: A robust grammar-focused parser for spontaneously spoken language | |
Yamamoto et al. | Multi-class composite N-gram language model | |
CN114298010A (zh) | 一种融合双语言模型和句子检测的文本生成方法 | |
Araujo | Part-of-speech tagging with evolutionary algorithms | |
EP0605973B1 (en) | Augmenting a lexical transducer by analogy | |
JP5180522B2 (ja) | 機械翻訳装置、機械翻訳方法、およびそのプログラムならびに記録媒体 | |
JP3309174B2 (ja) | 文字認識方法及び装置 | |
Magerman | Learning grammatical structure using statistical decision-trees | |
JPH08248980A (ja) | 音声認識装置 | |
Swaileh et al. | A syllable based model for handwriting recognition | |
JP4113204B2 (ja) | 機械翻訳装置、その方法およびプログラム | |
JP3035261B2 (ja) | 日本語構文解析装置 | |
JP3027553B2 (ja) | 構文解析装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |