JP2954215B2 - Language processing system - Google Patents

Language processing system

Info

Publication number
JP2954215B2
JP2954215B2 JP62118337A JP11833787A JP2954215B2 JP 2954215 B2 JP2954215 B2 JP 2954215B2 JP 62118337 A JP62118337 A JP 62118337A JP 11833787 A JP11833787 A JP 11833787A JP 2954215 B2 JP2954215 B2 JP 2954215B2
Authority
JP
Japan
Prior art keywords
clause
column
optimal
term
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP62118337A
Other languages
Japanese (ja)
Other versions
JPS63282882A (en
Inventor
和彦 尾関
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK filed Critical Nippon Hoso Kyokai NHK
Priority to JP62118337A priority Critical patent/JP2954215B2/en
Publication of JPS63282882A publication Critical patent/JPS63282882A/en
Application granted granted Critical
Publication of JP2954215B2 publication Critical patent/JP2954215B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、日本語音声認識装置や、日本語ワードプロ
セッサの出力の後処理をするための言語処理システムに
関するものであり、特に順次のいくつかの時点において
複数の文節候補が与えられたとき、それらの候補の確実
度と、複数の文節が他の一つの文節に同時に係る係り受
けの整合度とを考慮に入れ、日本語の句あるいは文とし
て最適な文節列が構成されるように各時点の文節候補か
ら一つずつ文節を選択すると共にその構文を決定し、か
つそれにより得られる文節列の日本語の句あるいは文と
しての適格度を計算する言語処理システムに関するもの
である。 [従来の技術] 日本語音声認識装置や、日本語ワードプロセッサの出
力の後処理をするための言語処理に使用する目的で、順
次のいくつかの時点において複数の文節候補が与えられ
たときに、それらの候補の確実度と、二文節間の係り受
けの整合度とを考慮に入れ、日本語の句あるいは文とし
て最適な文節列が構成されるように各時点の文節候補か
ら一つずつ文節を選択すると共に、その構文を決定し、
かつそれにより得られる文節列の日本語の句あるいは文
としての適格度を効率良く計算するアルゴリズムとし
て、従来は、たとえば次のものが提案されている。 尾関和彦:「最適文節列を選択するための多段決定ア
ルゴリズム」、電子通信学会音声研究会資料、SP86−32
(1986年7月) [発明が解決しようとする問題点] 日本語においては、語順が比較的自由であると言われ
ているが、場合によっては語順が問題となる。また、同
種の格が一つの述語に係ることは許されない。このよう
な、語順や、格の衝突の問題をも考慮に入れて、文節列
が日本語の文、あるいは句としてどの程度適格であるか
を計算するためには、二文節間の係り受けの整合度を考
慮するのみでは十分でなく、複数の文節が同時に他の一
つの文節に係ることの整合度を用いなくてはならない。
しかし、前記の従来法では、日本語の句あるいは文とし
ての適格度が、二文節間の係り受けの整合度の和によっ
て定まる場合しか解を求めることが出来なかった。枚挙
法を用いれば、原理的にはこの問題を解くことが出来る
が、計算量の点で実際問題に適用することは非常に困難
であった。 そこで、本発明の目的は、日本語の文、あるいは句と
しての適格度が、二文節間の係り受けの整合度ではな
く、複数の文節が同時に他の一つの文節に係ることの整
合度に基づく場合にも、順次のいくつかの時点において
与えられた文節集合から日本語の文あるいは句として最
適な文節列を選択すると共に、その上の構文を決定し、
かつそれにより得られる文節列の日本語の句あるいは文
としての適格度を効率良く計算する言語処理システムを
提供することにある。 [問題点を解決するための手段] (a)文節を単位とした日本語の構造 本発明の構成について説明するにあたって、まず文節
を単位とした日本語の構造について述べる。 日本語の文、あるいはまとまった句は、文節という単
位の間の広義の修飾関係によって成り立っていると考え
ることができる。例えば、 [S1]「私は 7時の 電車で 会社に 行きます」 という日本語の文において、「私は」、「7時の」、
「電車で」、「会社に」、「行きます」はそれぞれ文節
であり、「私は」、「電車で」、「会社に」は、すべて
「行きます」を修飾し、「7時の」は「電車で」を修飾
することにより一つのまとまった文を構成している。 文節xが文節yを修飾するときは、xはyに係り、y
はxを受けるという。また、このような修飾関係を係り
受けという。 文節列が日本語のまとまった句、あるいは文を構成す
るためには、それらの文節間に、次のような条件を満た
す係り受けが存在することが必要であると考えられてい
る。 [C1]最後の文節以外の文節は、それより文末側にある
文節のいずれか一つに係る。 [C2]二つの文節間の係り受けは、他の二つの文節間の
係り受けと交差しない。 条件[C1],[C2]は、つぎのように定義される「構
文」によって表わすことができる。 [D1](1)xが文節のとき、[x]は「構文」であ
る。 (2)X1,X2,…,Xmが「構文」、xが文節のとき、 [X1X2…Xmx] は「構文」である。 [D2]文節列x1x2…xnに適切に括弧を付け、構文になる
ようにしたものを、x1x2…xn上の構文という。文節列x1
x2…xn上の構文の全体を K(x1x2…xn) と表わすことにする。 構文[X1X2…Xmx],X1=[…x1],X2=[…x2],…,
Xm=[…xm]において、x1,x2,…,xmはxに係ることを
表わすと約束しておくと、上の意味での構文において
は、条件[C1]と[C2]が満たされ、逆に、条件[C1]
と[C2]を満たす文節列における係り受け関係は、必ず
上の意味での構文で表わすことが出来る。 さて、一つの文節列に対して、その上の構文は複数個
存在する。例えば、 [[私は][7時の][電車で][会社に][行きま
す] [[[[[私は]7時の]電車で]会社に]行きます] [[[私は][7時の]電車で][会社に]行きます] [[[私は][[7時の]電車で]会社に]行きます] [[私は][[7時の]電車で][会社に]行きます] などは全て例文[S1]の文節列上の構文である。このよ
うな多くの構文の中から、適格性の高い文節列を選択す
るためには、なんらかの評価関数が必要である。そこ
で、まず係り受けの整合度が次のように定められるもの
とする。 [C3]文節x1,x2,…,xmが、文節xに係ることの整合度
は非負の値をとる関数 PEN(x1,x2,…,xm,x) で表わされる。 PENの値は、例えば0から100の範囲とし、0に近いほ
ど整合度が高いと約束しておく。関数PENをどのように
定めるかは、非常に重要な問題であるが、これは本発明
の主眼点ではないので説明を省く。 以上の準備のもとで、構文Xの適格度P(X)を、次
のように再帰的に定める。 [D3](1)X=[x],(xは文節)のとき、P
(X)=0, (2)X=[X1X2……Xmx],X1=[…x1], X2=[…x2],…,Xm[…xm]のとき、 P(X)=P(X1)+P(X2)+…+P(Xm)+ PEN(x1、x2,…,xm,x) このように定義されたP(X)の値は、Xの中のあら
ゆる係り受けに対するPENの値を加算したものになって
いる。 (b)問題の設定 以下では長い数式を読みやすくするための代りに Σ(i≦m≦j)[f(m)] という記法を用いる。min,argmin,∪などについても同
様に表わす。括弧[、]は混乱のおそれがなければ省略
することもある。 ここで、次の状況を考える: [J1]1からNまでの各時点において、文節の集合B1,B
2,…,BNが与えられているとする。また、各文節集合Bk
に対して、非負の実数値を取る関数Skが定められてい
る: Sk:Bk→[0,∞] Sk(x)は文節集合Bk内の文節xの確実度を表わす数値
で、例えば0から100までの値をとるとし、0に近いほ
ど確実度が高いとしておく。音声認識を例にとれば、Sk
(x)は認識装置が、Bk内のxという認識結果をどの程
度の確からしさで認識したかを示す数値であり、たいて
いの音声認識装置はそのような数値を認識結果と共に出
力するようになっている。また、仮名漢字変換方式の日
本語ワードプロセッサを例にとると、同音異議語が存在
するため、同じ読みを持つ複数の文節候補が出力される
が、それぞれの候補に、漢字や熟語の使用頻度に従って
確実度を示す数値を付随させることができる。構文Xの
確実度を、それを構成する文節x1,x2,…,xmの確実度を
基にして次のように定義しておく。 S(X)=Σ(1≦k≦m)[Sk(xk)] また、文節集合列A1,A2,…,Amに対して KB(A1A2…Am) ={X|X∈K(x1x2…xm),x1∈A1,x2∈A2,…,xm∈Am} という記法を用意しておく。 このような状況のもとで、本発明が取り扱う問題は次
の様に述べることが出来る。 [P1]次のものを求めよ。 (1)min(X∈KB(B1B2…BN))[P(X)+S
(X)] (2)argmin(X∈KB(B1B2…BN))[P(X)+S
(X)] KB(B1B2…BN)は有限集合であるから、この問題は原
理的には枚挙法によって解くことが出来る。すなわち、
あらゆるX∈KB(B1B2…BN)に対して、定義式に基づき P(X)+S(X) を計算することにより、その最小値と、最小値を与える
Xを求めることができる。しかし、KB(B1B2…BN)の元
の数は第1表に示すようにNと共に急激に増加し、たち
まち膨大な数となるため、枚挙法を実際的な問題に適用
することは極めて困難である。 これに対して、本発明によれば、この問題を現実的な
計算量の範囲内で解くことができる。 関数PENが PEN(x1,x2,…,xm,x) =PEN(x1,x)+PEN(x2,x)+…+PEN(xm,x) と二文節間の係り受けの整合度の和で表わすことが出来
る場合については、前記の従来法によってこの問題を効
率良く解くことが出来る。これに対して、本発明は、関
数PENがこのような和に分解出来ない場合を対象とする
ものである。 (c)再帰方程式 ここでは、本発明において基本的な役割を果たす再帰
方程式について述べる。ある構文の中に埋め込まれてい
る一つの構文に着目すると、その中の文節で他の構文中
の文節と係り受け関係を持つことが出来るのは、末尾の
文節のみである。このことに注意して、次の定義を設け
る。 [D4]1≦i≦j≦Nと、各x∈Bjに対して (1)OPT(i,j;x)=min(X∈KB(BiBi+1…B
j-1{x})[P(X)+S(X)] (2)OPK(i,j;x)=argmin(X∈KB(BiBi+1…B
j-1{x})[P(X)+S(X)] OPTとOPKに対して、次の再帰方程式が成り立つ。 [E1](1)OPT(i,i;x)=Si(x) (2)i<jに対して OPT(i,j;x) =min(i−1=k(0)<k(1)<k(2)<…
<k(m)=j−1,x1∈Bk(1),x2∈Bk(2),…,xm
Bk(m)) [OPT(k(0)+1,k(1):x1)+OPT(k(1)+1,
k(2);x2)+…+OPT(k(m−1)+1,k(m);
xm)+PEN(x1、x2,…,xm,x)]+Sj(x) [E2](1)OPK(i,i;x)=[x] (2)i<iに対し、[E1]において最小値を与えるk
(0),k(1),k(2),…,k(m),x1,x2,…,xm
(0),(1),(2),…,(),1,2,
…,とすると、 OPK(i,j;x) =[OPK((0)+1,(1);)OPK(
(1)+1,(2);)…OPK((−1)+1,
();)x] [E1]と[E2]の証明は、次の事実に着目すれば容易で
あるので、詳細は省略する。 [E3]KB(BiBi+1…Bj-1{x}) =∪(i−1=k(0)<k(1)<k(2)<…<
k(m)=j−1,x1∈Bk(1),x2∈Bk(2),…,xm∈Bk(m)) {[X1X2…Xmx]|X1∈KB(Bk(o)+1…Bk(1){x1}),X2
∈KB(Bk(1)+1…Bk(2){x2}),…,Xm∈KB(Bk(m-1)+1
…Bk(m){xm}) さて、構文[X1X2…Xmx],X1=[…x1],X2=[…
x2],…,Xm[…xm]においては、x1,x2,…,xmがxに係
る。すなわち、xはx1,x2,…,xmを受ける訳であるが、
一つの文節が受ける文節の数には一定の限度があると考
えてよい。そうすると、この上限をLとするとき、 1≦m≦L の範囲で解を求めればよい。このような制限を設ける
と、[E1]は次のようになる。 [E1′](1)OPT(i,i;x)=Si(x) (2)i<jに対して OPT(i,j;x) =min(i−1=k(0)<k(1)<k(2)<…
<k(m)=j−1,1≦m≦L,x1∈Bk(1),x2∈Bk(2),…,
xm∈Bk(m))[OPT(k(0)=1,k(1);x1)+OPT
(k(1)+1,k(2);x2)+…+OPT(k(m−1)
+1,k(m);xm)+PEN(x1,x2,…,xm,x)]+Sj(x)
L≧N−1とすれば[E1′]と[E1]は同値になる。す
なわち、[E1′]は[E1]を含む。従って、以後、[E
1]の代りに[E1′]を用いることとする。[E2]はこ
のような制限を付けても変らない。[E1′]において最
小値を与えるk(1),k(2),…,k(m),x1,x2,…,
xmを、i,j,xに対する最適区分点およびそれらの区分点
における最適文節と呼ぶことにする。 以下ではBkの元の数をNUM(k)とし、Bkの元をBk
{xk,1,xk,2,…,xk,NUM(k)} と列挙して表わす。 (d)OPT、最適区分点、最適文節番号の計算法 [E1′]の(2)はi<jのとき、OPT(s,t;xt,p
(i≦s≦t≦j−1,1≦p≦NUM(t))が既に計算さ
れていれば、OPT(i,j;xj,q)が計算できることを示し
ている。また、[E1′]の(1)を用いると、i=jの
ときはOPT(i,i;xi,q)=Si(xi,q)により値が定まる
ので、結局これらの双方により、OPT(i,j;xj,q)をj
−iが0の部分から始め、順次より大きい部分へと計算
し、それと同時に最適区分点および最適文節番号を決定
して行くことができる。 (e)最適構文、およびその適格度の計算法 簡単の為、最適区分点、最適文節番号が一意的に定ま
る場合について説明する。まず、 min(X∈KB(B1B2…BN))[P(X)+S(X)] min(1≦q≦NUM(N))min(x∈KB)(B1B2…B
N-1{xN,q})[P(X)+S(X)] =min(1≦q≦NUM(N))]OPT(1,N;xN,q)] であるから、 q0=argmin(1≦q≦NUM(N))[OPT(1,N;
xN,q)] を計算することにより、最適文節列の最後の文節xN,q0
と最適文節列上の最適構文の適格度OPT(1,N;xN,q0) が定まる。 また、最適文節列とその上の最適構文は、 OPK(1,N;xN,q0) で与えられる。これを更に具体的に計算するには次のよ
うにすればよい。 1,N,xN,q0に対する最適区分点を、k1(1),k1
(2),…,k1(m1)、対応する最適文節番号をそれぞ
れp1(1),p1(2),…,p1(m1)とすれば、[E2]の
(2)によって OPK(1,N;xN,q0) =[OPK(1,k1(1);xk1(1),p1(1))OPK(k1
(1)+1,k1(2);xk1(2),p1(2))…OPK(k1
(m−1)+1,k1(m);xk1(m),p1(m)
N,q0] が成り立つ。右辺のOPK(k1(r−1)+1,k1(r);x
k1(r),p1(r))(1≦r≦m1)の中の、例えばOPK
(1,k1(1);xk1(1),p1(1))において、1=k1
(1)ならば、 OPK(1,k1(1);xk1(1),p1(1)) =[xk1(1),p1(1)] であるから、OPK(1,N;xN,q0)は OPK(1,N;xN,q0) =[[xk1(1),p1(1)]OPK(k1(1)+1,k1
(2); xk1(2),p1(2))…OPK(k1(m−1)+1,k1
(m); xk1(m),p1(m))XN,q0] と書き直すことが出来る。また、1≠k1(1)ならば、
1,k1(1),xk1(1),p1(1)に対する最適区分点をk
2(1),k2(2),…,k2(m2)、対応する最適文節番
号をそれぞれp2(1),p2(2),…,p2(m2)とする
と、 OPK(1,k1(1);xk1(1),p1(1)) =[OPK(1,k2(1);xk2(1),p2(1))OPK(k2
(1)+1,k2(2);xk2(2),p2(2))…OPK(k2
(m−1)+1,k2(m);xk2(m),p2(m))x
k1(2),p1(2)] であるから、OPK(1,N;xN,q0]は OPK(1,N;xN,q0) =[[OPK(1,k2(1);xk2(1),p2(1))OPK(k
2(1)+1,k2(2);xk2(2),p2(2))…OPK(k2
(m−1)+1,k2(m);xk2(m),p2(m))x
k1(2),p1(2)]OPK[k1(1)−1,k1(2);x
k1(2),p1(2)] OPK(k1(m−1)+1,k1(m);
xk1(m),p1(m))xN,q0] と書き直すことが出来る。このような操作を、出現する
すべてのOPKが唯一つの文節からなる構文になるまで繰
り返せば、OPK(1,N;xN,q0)、すなわち最適文節列とそ
の上の最適構文を同時に決定することが出来る。 i,jを文節集合の番号、xをBjに属する文節とすると
き、i,j,xに対する最適区分点k(1),k(2),…,k
(m),と最適文節x1,x2,…,xmの組が複数組存在する
ことがあるが、そのときは、それらの組全てに対して上
記の操作を行い、得られる構文全てを列挙すればよい。 本発明は、日本語を対象とする場合のみならず、韓国
語のように日本語と同様の係り受けによって記述できる
文法構造を持つ外国語にも適用できることは言うまでも
ない。 [作 用] 本発明によれば、与えられた文節集合列B1,B2,…,BN
の部分列Bi,Bi+1,…,Bjに対する、最後の文節を固定し
た時の最適な文節列とその上の最適な構文およびその適
格度を、長さの短い部分列に対応するものから順次求め
てそれを記憶しておき、それらの部分列を含むより長い
部分列に対して同様のものを計算するときにそれらを利
用することによって、同じ計算を繰り返すことなく効率
的に所期の結果を得ることが出来る。 [実施例] 以下に図面を参照して本発明を詳細に説明する。 本発明を実施する装置の一実施例を第1図に示す。第
1図において、SCは第2図(B)に示すフローチャート
におけるステップS5中のテーブルscoreを実現するため
のRAMなどによるバッファメモリであり、入力端子i1か
ら入力される各文節xj,qの確実度Sj(xj,q)を保持す
るためのものである。BUFは文節入力端子i2から入力さ
れる文節集合を保持するRAMなどによるバッファメモリ
である。例えば、本発明を音声認識に用いる時は、認識
装置から認識結果として出力される各文節候補を端子i2
から入力し、それらの文節に付随した確実度を端子i1か
ら入力する。T1およびT2はそれぞれ第3図(A)および
(B)に示すテーブルtable1およびteble2を実現するた
めのRAMなどによるメモリである。COMBIは文節集合B1,B
2,…,BNの中からいくつかの文節集合Bk(1),Bk(2),…,B
k(m)を選ぶ組合わせと、選ばれた文節集合の中からそれ
ぞれ文節xk(1),p(1),xk(2),p(2),…,x
k(m),p(m)を選択する組合わせを発生する装置で
ある。SEL1はバッファメモリBUFから組合わせ発生装置C
OMBIにより指定される特定の文節のみを選択する装置で
ある。PEはバッファメモリBUFから選択装置SEL1を介し
て読み出された文節x1,x2,…,xm,xに対して、PEN(x1,x
2,…,xm,x)を計算する装置である。SEL2はメモリT1か
ら、組合わせ発生装置COMBIにより指定される特定の情
報のみを選択する装置である。ADD1はPEN計算装置PEの
出力と、選択装置SEL2によってメモリT1から読み出され
た数値とを加算する加算器である。MINは組合わせ発生
装置COMBIが種々の組合わせを発生するときの加算器ADD
1の出力の最小値とそのときの組合わせを検知する最小
値検出器である。ADD2は最小値検出器MINの出力とバッ
ファメモリSCの中の特定の数値とを加算する加算器であ
る。 CONTはこれら各部の動作順序を制御するための制御装
置であって、例えば中央処理装置CPUと、各部の制御手
順を予め記憶しておくためのROMの形態のメモリMEM1
と、作業用のRAMの形態のメモリMEM2とを有する。01お
よび02はそれぞれメモリT1およびT2に書込まれた計算結
果を出力する出力端子である。 第2図(A)および(B)は、第1図示の実施例にお
けるメモリMEM1に、それぞれ、予め格納しておく制御手
順の一例としての、最適文節列の上の最適構文の適格
度、最適文節列、およびその上の最適構文を定める為の
最適区分点と最適文節番号の組を順次求める為の手順を
示すフローチャートである。以下、これについて説明す
る。 第2図(A)および(B)のフローチャートに付随し
て、第3図(A)および(B)に示すように、想定して
いる文節列長Nに等しい数の行および列、および第j列
において文節集合の元の数NUM(j)に等しい項をもっ
た2つの3次元のテーブルtable1(i,j,q)およびtable
2(i,j,q)(1≦i≦j≦N,1≦q≦NUM(j))が必要
である。各テーブルの添字は左から順に行、列、項を表
す。 table1(i,j,q)はOPT(i,j;xj,q)の値を、またtabl
e2(i,j,q)はi,j,xj,qに対する最適区分点と最適文節
番号の組を記憶する為のものである。第k文節集合Bk
元の数NUM(k)は1次元のテーブルnum(k)に入力さ
れ保持される。第k文節集合Bk内の第p文節xk,pの確
実度は2次元のテーブルscore(k,p)に入力され保持さ
れる。また、PEN(xk1,p1,xk2,p2,…,xkm,pm
j,q)を計算する関数をpen(k1,p1),(k2,p2),
…,(km,pm),(i,q))とする。 第2図(A)および(B)のフローチャートにおい
て、ステップS1からステップS13において、各テーブル
の列番号jを1から始めてNまで1ずつ増加させ、第j
列に対して次の処理を実行する。 ステップS2からステップS11において各テーブルの行
番号iをjから始めて1まで1ずつ減少させ、第i行に
対して次の処理を実行する。 ステップS3からステップS9において各テーブルの項番
号qを1から始めてnum(j)まで1ずつ増加させ、第
q項に対して次の処理を実行する。 (1)ステップS4において、i≠jと判定されたなら
ば、ステップS5に進んで次の[F1]を実行し、ついでス
テップS6において[F2]を実行する。 [F1]table1(i,j,q) :min(i≦k1<k2<…<km=j−1,1≦m≦L,1≦p1
num(1),1≦p2≦num(2),…,1≦pm≦num(m))
[table1(i,k1,p1)+table1(k1+1,k2,p2)+…+ta
ble1(k(m−1)+1,km,pm)+pen((k1,p1),(k
2,p2),…,(m,pm),(j,q))]+score(j,q) [F2]table2(i,j,q) :[F1]において最小値を与える(k1,p1),(k2,
p2),…,(km,pm) (2)ステップS4において、i=jと判定されたなら
ば、S7に進み、ここで次の[F3]を実行する。 [F3]table1(i,j,q):=score(i,q) [F2]における組合わせの発生は第1図示の組合わせ
発生装置COMBIで行われる。それらの組合わせに関する
最小値と、最小値を与える組合わせの検知は最小値検出
器MINで行われる。PEN計算装置PEにおいてPENを計算す
るのに必要な文節の選択は選択装置SEL1によって行わ
れ、table1(i,k1,p1),table1(k1+1,k2,p2),…,ta
ble1(km-1)+1,km,pm)の値の読み出しは選択装置SEL
2によって行われる。また、num(k)の値はバッファBU
F内に保持される。以上の処理により、table1とtable2
の各行、列、項に上述の計算を施し、その結果を順次ta
ble1とtable2に書込んで行く。 ステップS13においてj>Nとなったときに計算が終
了し、table1(1,N,q)にはOPT(1,N,xN,q)、(1≦q
≦NUM(N))が記憶されている。また、table2には最
適区分点と最適文節番号の情報が記憶されているので、
(4)(e)で述べた方法により、この情報から最適文
節列と最適構文を構成することができる。 本発明を実際に使用するときには、第1図示の装置、
および第2図(A)および(B)に示したフローチャー
トの他に、table2の情報から最適な文節列とその上の最
適な構文を構成する機構が必要であるが、本発明の主眼
点はtable1およびtable2の内容を計算するところにあ
り、これらの情報から最適な文節列およびその上に最適
な構文を構成する機構については上記の説明にとどめ
る。 但し、table1およびtable2の内容が計算出来ていれ
ば、与えられた文節の集合から最適な文節列およびその
上の最適な構文を構成するために必要な計算の内で、最
も計算量の多い部分はもはや終了していることに注意し
ておく。 [F1]において最小値を与える数値の対の組((k1,p
1),(k2,p2),…,(km,pm))が複数個存在するこ
とがあるが、そのときには、table2(i,j,q)に複数個
の数値の対の組が記憶できるようにしておき、[F2]に
おいてそれらを全てtable2(i,j,q)に記憶するように
すればよい。このように第2図(A)および(B)のフ
ローチャートを変更しても計算量には殆ど変わりがな
い。 なお、上述した実施例では、最小値を求める処理の場
合を示したが、これらはSk(x)の値が小さいほど文節
xの確実度が高く、PENの値が小さいほど係り受けの整
合度が高いとしたためである。もしSk(x)の値が大き
いほど確実度が高く、PENの値が大きいほど係り受けの
整合度が高いならば、最小値の代りに最適値を求める処
理を行えばよい。 [発明の効果] 以上に述べたように、本発明によれば、与えられた文
節集合B1,B2,…,BNの部分列Bi,Bi+1,…,Bjに対する、最
後の文節を固定した時の最適な文節列とその上の最適な
構文およびその適格度を、長さの短い部分列に対応する
ものから順次求めてそれを記憶しておき、それらの部分
列を含むより長い部分列に対して同様のものを計算する
ときにそれらを利用することによって、同じ計算を繰り
返すことなく効率的に所期の結果を得ることが出来る。 複数の文節x1,x2,…,xmが同時に、ある一つの文節x
に係ることの整合度PEN(x1,x2,…,xm,x)は、各文節を
構成する単語の属性や、実際の文章の中に現れる係り受
けの頻度などの統計情報に基づいて計算することができ
る。その計算量は言語辞書の構成法などによっても変る
が、一つの目安として、次のような場合につき、本発明
の計算方法と枚挙法における加算と比較演算の回数を評
価する。 (1)PEN(x,y)を計算するためには、加算J回分の計
算量を必要とする。 (2)PEN(x1,x2,…,xm,x)を計算するためには、PEN
(x1,x)+PEN(x2,x)+…+PEN(xm,x)を計算するの
と同じだけの計算量、即ち加算(J+1)・m−1回分
の計算量を必要とする。 さらに、文節集合の元の数は、全てMに等しいとす
る。そうすると、解くべき問題の大きさを定めるパラメ
ータは、Jの他に既に述べた次のものがあることにな
る。 M:各文節集合の元の数 N:文節列長 L:一つの文節に同時に係り得る文節数の上限 以上の前提の下で、計算量は次のようになる。 (a)本発明 (1)加算 iCjを二項係数とし、関数f(n)を と定義すると (2)比較 関数g(n)を と定義すると (b)枚挙法 knum(n,L)を長さnの文節列上の係り受け構造の中
で、一つの文節に同時に係る文節の数がL以下のものの
個数とすると、 (1)加算 全加算回数={knum(N,L)+(J+1)・(N−
1)+(N−1)}・MN (2)比較 全比較回数=knum(N,L)・MN−1 knum(n,L)は次の漸化式を用いて計算することがで
きる。 これらの全加算回数および全比較回数をJ=1といく
つかのM,N,Lについて計算した値を第2表と第3表に掲
げる。 これらの表によれば本発明の効果は明らかであり、例
えば、M=5、N=20、L=5のときの計算量は枚挙法
の約1015分の1に削減される。
DETAILED DESCRIPTION OF THE INVENTION [Industrial applications]   The present invention provides a Japanese speech recognition device and a Japanese word processor.
A language processing system for post-processing the output of the processor
Especially at some point in the sequence
When multiple phrase candidates are given, certainty of those candidates
And the degree at which multiple clauses are related to another
Considering the degree of consistency of
Phrase candidates at each time so that the optimal phrase sequence is constructed
One by one, select the clause and determine its syntax.
And the Japanese phrase or sentence in the bunsetsu sequence
Language processing system that calculates eligibility
It is. [Conventional technology]   Japanese speech recognizers and Japanese word processors
Order for use in language processing for post-processing
At the next few points,
The probability of those candidates and the dependency between the two phrases
Considering the degree of consistency of
Phrase candidates at each time so that the optimal phrase sequence is constructed
And select the clauses one by one, determine its syntax,
And the resulting Japanese phrase or sentence in the bunsetsu sequence
Algorithm to efficiently calculate eligibility as
Conventionally, for example, the following has been proposed.   Kazuhiko Ozeki: "Multi-stage decision a for selecting the optimal phrase sequence
Algorithm, "IEICE Speech Research Group, SP86-32
(July 1986) [Problems to be solved by the invention]   In Japanese, word order is said to be relatively free
However, in some cases, word order is a problem. Also,
Species cases cannot be associated with one predicate. like this
Phrasal sequence, taking into account the problem of word order and case conflicts
Is eligible as a Japanese sentence or phrase
Is calculated by considering the consistency of the dependency between the two phrases.
It is not enough to take into account that multiple clauses
We must use the consistency of the two clauses.
However, in the above-mentioned conventional method, Japanese phrases or sentences are used.
Eligibility is determined by the sum of the dependencies between the two phrases.
The solution could only be found when determined. Enumeration
In principle, this problem can be solved by using the method
But very difficult to apply to practical problems in terms of complexity
Met.   Therefore, an object of the present invention is to use Japanese sentences or phrases and
Eligibility is not the consistency of the dependency between the two phrases.
And that multiple clauses affect one other clause at the same time.
Even if based on the degree, at some point in the sequence
From the given phrase set,
Choose the appropriate phrase sequence, determine the syntax above it,
And the resulting Japanese phrase or sentence in the bunsetsu sequence
Language processing system that efficiently calculates eligibility
To provide. [Means to solve the problem] (A) Japanese structure in units of phrases   Before describing the configuration of the present invention,
This section describes the structure of Japanese in terms of.   A sentence in Japanese or a set of phrases is simply called a phrase.
Thought to be based on a broader qualifying relationship between positions
Can be For example, [S1] "I go to work on the 7 o'clock train." In the Japanese sentence "I am", "7 o'clock",
"By train", "To company", "Go" are phrases
And "I", "by train" and "to the company" are all
"Go" is qualified, "7 o'clock" is qualified by "train"
By doing so, one sentence is composed.   When clause x modifies clause y, x is related to y and y
Is said to receive x. In addition, such a modification relationship
It is called receiving.   The bunsetsu sequence forms a united phrase or sentence in Japanese
To satisfy the following conditions between the clauses:
It is considered necessary to have a dependency
You. [C1] Clauses other than the last one are at the end of the sentence
Pertains to one of the clauses. [C2] The dependency between two phrases is
Do not cross with the dependency.   Conditions [C1] and [C2] are defined as follows:
Sentence ". [D1] (1) When x is a clause, [x] is “syntax”
You. (2) X1, XTwo,…, XmIs "syntax" and x is a clause, [X1XTwo… Xmx] Is "syntax". [D2] Clause sequence x1xTwo… XnWith proper parentheses and syntax
What you did, x1xTwo… XnThe above syntax is called. Phrase string x1
xTwo… XnThe whole syntax above K (x1xTwo… Xn) Will be expressed as follows.   Syntax [X1XTwo… Xmx], X1= [… X1], XTwo= [… XTwo],…,
Xm= [… Xm], X1, xTwo,…, XmIs related to x
Promise to represent that in the syntax in the above sense
Satisfies the conditions [C1] and [C2], and conversely, the condition [C1]
Dependency relations in a bunsetsu sequence that satisfies
It can be represented by the syntax in the above sense.   By the way, for one phrase string, there are multiple syntaxes
Exists. For example, [[I] [at 7 o'clock] [by train] [to the company] [go
You] [[[[[[I]] 7 o'clock] by train] go to company]] [[[I] [at 7 o'clock] by train] [go to work]] [[[I] [going to the company] [by the [7:00] train]] [[I] [going to the [train]] [to the company] Are all the syntax on the phrase string of the example sentence [S1]. This
Select a well-qualified clause sequence from many syntaxes
To do this, some sort of evaluation function is needed. There
First, the degree of consistency of the dependency is determined as follows
And [C3] Clause x1, xTwo,…, XmIs related to clause x
Is a non-negative function PEN (x1, xTwo,…, Xm, x) Is represented by   The value of PEN is, for example, in the range of 0 to 100.
I promise that the consistency is high. How the function pen
It is a very important issue to determine
The explanation is omitted because it is not the main point.   With the above preparation, the eligibility P (X) of the syntax X is
Is determined recursively as follows. [D3] (1) When X = [x], where x is a clause, P
(X) = 0, (2) X = [X1XTwo…… Xmx], X1= [… X1], XTwo= [… XTwo],…, Xm[… Xm]When, P (X) = P (X1) + P (XTwo) + ... + P (Xm) + PEN (x1, XTwo,…, Xm, x)   The value of P (X) defined in this way is
It is the sum of the PEN values for loose dependencies
I have. (B) Question setting   In the following, to make long formulas easier to readInstead of   Σ (i ≦ m ≦ j) [f (m)] Notation is used. The same applies to min, argmin, ∪, etc.
Express as follows. Parentheses [,] are omitted if there is no risk of confusion.
Sometimes.   Now consider the following situation: [J1] At each time point from 1 to N, a set of clauses B1, B
Two,…, BNIs given. In addition, each phrase set Bk
For a function S that takes a nonnegative real valuekIs stipulated
RU:   Sk: Bk→ [0, ∞] Sk(X) is phrase set BkNumerical value representing the certainty of clause x in
For example, assume that the value takes a value from 0 to 100.
It is assumed that the certainty is high. Taking voice recognition as an example, Sk
(X) is the recognition device, BkThe recognition result of x in the
It is a numerical value that indicates whether it was recognized with certainty
Some speech recognizers output such values along with the recognition results.
It is designed to help. Also, the date of the kana-kanji conversion method
Taking a Japanese word processor as an example, there are homonyms
Output multiple phrase candidates with the same reading
However, each candidate has a kanji or idiom according to the frequency of use.
A numerical value indicating certainty can be attached. Of syntax X
The certainty and the clause x1, xTwo,…, XmThe certainty of
Based on the following definition.   S (X) = Σ (1 ≦ k ≦ m) [Sk(Xk)]   Also, the phrase set sequence A1, ATwo,…, AmAgainst   KB (A1ATwo… Am) = {X | X∈K (x1xTwo… Xm), X1∈A1, xTwo∈ATwo,…, Xm∈Am} Notation is prepared.   Under these circumstances, the problems addressed by the present invention are as follows:
It can be stated as follows. [P1] Find the following. (1) min (X∈KB (B1BTwo… BN)) [P (X) + S
(X)] (2) argmin (X∈KB (B1BTwo… BN)) [P (X) + S
(X)]   KB (B1BTwo… BN) Is a finite set, so the problem is
Physically, it can be solved by the enumeration method. That is,
Any X∈KB (B1BTwo… BN), Based on the definition formula   P (X) + S (X) Gives the minimum value and the minimum value by calculating
X can be determined. However, KB (B1BTwo… BN)
Increases rapidly with N, as shown in Table 1,
Applying the enumeration method to practical problems due to the huge number
It is extremely difficult to do.   In contrast, according to the present invention, this problem is
It can be solved within the complexity.   Function PEN is   PEN (x1, xTwo,…, Xm, x)   = PEN (x1, x) + PEN (xTwo, x) + ... + PEN (xm, x) And the sum of the degrees of dependency between the two phrases
In such cases, this problem can be solved by the above-mentioned conventional method.
Can be solved efficiently. In contrast, the present invention provides
For cases where the number PEN cannot be decomposed into such a sum
Things. (C) Recursive equation   Here, recursion plays a fundamental role in the present invention.
The equation is described. Embedded in some syntax
Focusing on one syntax, the clauses in it
Can have a dependency relationship with the clause of
It is only a clause. With this in mind, the following definition was made:
You. [D4] 1 ≦ i ≦ j ≦ N and each x∈BjAgainst (1) OPT (i, j; x) = min (X∈KB (BiBi + 1… B
j-1{X}) [P (X) + S (X)] (2) OPK (i, j; x) = argmin (X∈KB (BiBi + 1… B
j-1{X}) [P (X) + S (X)]   The following recursive equations hold for OPT and OPK. [E1] (1) OPT (i, i; x) = Si(X) (2) For i <j   OPT (i, j; x)   = Min (i-1 = k (0) <k (1) <k (2) <...
<K (m) = j−1, x1∈Bk (1), xTwo∈Bk (2),…, Xm
Bk (m)) [OPT (k (0) + 1, k (1): x1) + OPT (k (1) +1,
k (2); xTwo) + ... + OPT (k (m-1) + 1, k (m);
xm) + PEN (x1, XTwo,…, Xm, x)] + Sj(X) [E2] (1) OPK (i, i; x) = [x] (2) k that gives the minimum value in [E1] for i <i
(0), k (1), k (2), ..., k (m), x1, xTwo,…, XmTo
(0), (1), (2), ..., (),1,Two,
…,mThen   OPK (i, j; x)   = [OPK ((0) +1, (1);1) OPK (
(1) +1, (2);2)… OPK ((-1) +1,
();m) X] The proof of [E1] and [E2] is easy if we pay attention to the following facts.
Details are omitted here. [E3] KB (BiBi + 1… Bj-1{X})   = ∪ (i-1 = k (0) <k (1) <k (2) <... <
k (m) = j-1, x1∈Bk (1), xTwo∈Bk (2),…, Xm∈Bk (m)) {[X1XTwo… Xmx] | X1∈KB (Bk (o) +1… Bk (1){X1}), XTwo
∈KB (Bk (1) +1… Bk (2){XTwo}),…, Xm∈KB (Bk (m-1) +1
… Bk (m){Xm})   Now, the syntax [X1XTwo… Xmx], X1= [… X1], XTwo= […
xTwo],…, Xm[… Xm], X1, xTwo,…, XmIs related to x
You. That is, x is x1, xTwo,…, XmTo receive
It is considered that there is a certain limit to the number of clauses received by one clause.
May be. Then, when this upper limit is L,   1 ≦ m ≦ L The solution may be obtained in the range of. Imposing such restrictions
Then, [E1] becomes as follows. [E1 '] (1) OPT (i, i; x) = Si(X) (2) For i <j   OPT (i, j; x)   = Min (i-1 = k (0) <k (1) <k (2) <...
<K (m) = j-1,1 ≦ m ≦ L, x1∈Bk (1), xTwo∈Bk (2),…,
xm∈Bk (m)) [OPT (k (0) = 1, k (1); x1) + OPT
(K (1) + 1, k (2); xTwo) + ... + OPT (k (m-1)
+1, k (m); xm) + PEN (x1, xTwo,…, Xm, x)] + Sj(X)
If L ≧ N−1, [E1 ′] and [E1] have the same value. You
That is, [E1 '] includes [E1]. Therefore, [E
[E1 '] is used instead of [1]. [E2] this
It doesn't change even if you put restrictions like. In [E1 ']
K (1), k (2), ..., k (m), x1, xTwo,…,
xmIs the optimal partition point for i, j, x and their partition points
Will be called the optimal clause.   Below is BkLet NUM (k) be the original number of and BkB tok=
{Xk, 1, xk, 2,…, Xk, NUM (k)} And enumerated. (D) OPT, optimal segmentation point, optimal clause number calculation method   (2) of [E1 '] is OPT (s, t; x when i <jt, p)
(I ≦ s ≦ t ≦ j−1,1 ≦ p ≦ NUM (t)) has already been calculated.
OPT (i, j; xj, q) Can be calculated
ing. When (1) of [E1 '] is used, i = j
Sometimes OPT (i, i; xi, q) = Si(Xi, q) Determines the value
So, after all, OPT (i, j; xj, q) To j
-Calculate starting from the part where i is 0 and gradually increasing
And at the same time determine the optimal segmentation point and optimal clause number
You can go. (E) Optimal syntax and its eligibility calculation method   For simplicity, the optimal breakpoint and optimal clause number are uniquely determined.
Will be described. First,   min (X∈KB (B1BTwo… BN)) [P (X) + S (X)]   min (1 ≦ q ≦ NUM (N)) min (x∈KB) (B1BTwo… B
N-1{XN, q}) [P (X) + S (X)]   = Min (1 ≦ q ≦ NUM (N))] OPT (1, N; xN, q)] Because   q0 = argmin (1 ≦ q ≦ NUM (N)) [OPT (1, N;
xN, q)] Is calculated to obtain the last clause x of the optimal clause sequence.N, q0
And optimality of optimal syntax OPT (1, N; xN, q0) Is determined.   In addition, the optimal clause sequence and the optimal syntax   OPK (1, N; xN, q0) Given by To calculate this more specifically:
You can do it.   1, N, xN, q0K1 (1), k1
(2), ..., k1 (m1), and the corresponding optimal clause number
If p1 (1), p1 (2), ..., p1 (m1), [E2]
By (2)   OPK (1, N; xN, q0)   = [OPK (1, k1 (1); xk1 (1), p1 (1)) OPK (k1
(1) + 1, k1 (2); xk1 (2), p1 (2))… OPK (k1
(M-1) + 1, k1 (m); xk1 (m), p1 (m))
XN, q0] Holds. OPK on the right side (k1 (r-1) +1, k1 (r); x
k1 (r), p1 (r)) (1 ≦ r ≦ m1), for example, OPK
(1, k1 (1); xk1 (1), p1 (1)), 1 = k1
(1)   OPK (1, k1 (1); xk1 (1), p1 (1))   = [Xk1 (1), p1 (1)] , So OPK (1, N; xN, q0) Is   OPK (1, N; xN, q0)   = [[Xk1 (1), p1 (1)] OPK (k1 (1) + 1, k1
(2);   xk1 (2), p1 (2)) ... OPK (k1 (m-1) + 1, k1
(M);   xk1 (m), p1 (m)) XN, q0] Can be rewritten. If 1 ≠ k1 (1),
1, k1 (1), xk1 (1), p1 (1)K is the optimal segment point for
2 (1), k2 (2), ..., k2 (m2), corresponding optimal clause number
The symbols are p2 (1), p2 (2), ..., p2 (m2)
When,   OPK (1, k1 (1); xk1 (1), p1 (1))   = [OPK (1, k2 (1); xk2 (1), p2 (1)) OPK (k2
(1) + 1, k2 (2); xk2 (2), p2 (2))… OPK (k2
(M-1) + 1, k2 (m); xk2 (m), p2 (m)) X
k1 (2), p1 (2)] , So OPK (1, N; xN, q0]   OPK (1, N; xN, q0)   = [[OPK (1, k2 (1); xk2 (1), p2 (1)) OPK (k
2 (1) + 1, k2 (2); xk2 (2), p2 (2))… OPK (k2
(M-1) + 1, k2 (m); xk2 (m), p2 (m)) X
k1 (2), p1 (2)] OPK [k1 (1) -1, k1 (2); x
k1 (2), p1 (2)]   OPK (k1 (m-1) + 1, k1 (m);
xk1 (m), p1 (m)) XN, q0] Can be rewritten. Such operations appear
Repeat until all OPKs have a single clause syntax
If you return, OPK (1, N; xN, q0), That is, the optimal phrase sequence and its
Can be determined at the same time.   i and j are phrase set numbers, and x is BjIf the phrase belongs to
, K (1), k (2),..., K
(M), and optimal clause x1, xTwo,…, XmThere are multiple pairs of
At that time, then the above
Perform the above operation and enumerate all the obtained syntaxes.   The present invention is applicable not only to Japanese
Can be described in the same way as Japanese, like a word
Needless to say, it can be applied to foreign languages that have a grammatical structure.
Absent. [Action]   According to the present invention, a given phrase set sequence B1, BTwo,…, BN
Subsequence B ofi, Bi + 1,…, BjFixed the last clause for
Optimal bunsetsu sequence, optimal syntax on it, and its optimal
Degrees are determined sequentially from the ones corresponding to substrings with shorter lengths
Memorize it and include those substrings longer
Use them when calculating the same for subsequences.
Efficiency without having to repeat the same calculations
It is possible to obtain the expected result. [Example]   Hereinafter, the present invention will be described in detail with reference to the drawings.   FIG. 1 shows an embodiment of an apparatus for carrying out the present invention. No.
In FIG. 1, SC is a flowchart shown in FIG. 2 (B).
To achieve the table score in step S5 in
Buffer memory such as RAM of the
Each sentence x input fromj, qOf certainty Sj(Xj, qHold)
It is for. BUF is input from the phrase input terminal i2.
Memory such as RAM that holds a set of clauses
It is. For example, when using the present invention for speech recognition,
Each phrase candidate output as a recognition result from the device is connected to terminal i2.
From the terminal i1 and the certainty associated with those clauses
Input from T1 and T2 are respectively shown in FIG.
Table B and table2 shown in (B) are realized.
This is a memory such as a RAM. COMBI is phrase set B1, B
Two,…, BNSome phrase sets B fromk (1), Bk (2),…, B
k (m)And select it from the selected phrase set
Each phrase xk (1), p (1), xk (2), p (2),…, X
k (m), p (m)With a device that generates combinations to select
is there. SEL1 is the combination generator C from the buffer memory BUF
A device that selects only specific phrases specified by OMBI
is there. PE is transferred from the buffer memory BUF via the selector SEL1.
Sentence x read out1, xTwo,…, Xm, x, PEN (x1, x
Two,…, Xm, x). SEL2 is memory T1
Specific information specified by the combination generator COMBI.
It is a device that selects only information. ADD1 is a PEN calculator PE
Output and read from memory T1 by selector SEL2
This is an adder for adding the calculated values. MIN occurs in combination
Adder ADD when device COMBI generates various combinations
Minimum value of output of 1 and minimum to detect the combination at that time
It is a value detector. ADD2 is connected to the output of the
This is an adder that adds a specific numerical value in the
You.   CONT is a control device for controlling the operation order of these parts.
For example, a central processing unit CPU and control means for each unit.
Memory MEM1 in the form of ROM for storing the order in advance
And a memory MEM2 in the form of a working RAM. 01 you
And 02 are the calculation results written to memories T1 and T2, respectively.
This is the output terminal that outputs the result.   2 (A) and (B) show the embodiment shown in FIG.
Control methods previously stored in the memory MEM1
Eligibility of optimal syntax on optimal clause sequence as an example of order
To determine the degree, optimal clause sequence, and optimal syntax
A procedure for sequentially finding the optimal segmentation point and optimal clause number pairs
It is a flowchart shown. This is described below.
You.   Attached to the flow charts of FIGS. 2 (A) and (B)
As shown in FIGS. 3A and 3B,
Number of rows and columns equal to the length of the clause column N, and the j-th column
With a term equal to the original number NUM (j) of the clause set
Two three-dimensional tables table1 (i, j, q) and table
2 (i, j, q) (1 ≦ i ≦ j ≦ N, 1 ≦ q ≦ NUM (j)) is required
It is. Subscripts in each table indicate rows, columns, and terms in order from the left.
You.   table1 (i, j, q) is OPT (i, j; xj, q) Value and also tabl
e2 (i, j, q) is i, j, xj, qSegmentation points and optimal clauses for
This is for storing a set of numbers. Kth clause set Bkof
The original number NUM (k) is entered into the one-dimensional table num (k).
Is retained. Kth clause set BkThe p-th clause x ink, pSure
Reality is input and stored in a two-dimensional table score (k, p)
It is. Also, PEN (xk1, p1, xk2, p2,…, Xkm, pm,
xj, q) Is calculated by pen (k1, p1), (k2, p2),
..., (km, pm), (i, q)).   In the flowcharts of FIGS. 2 (A) and (B)
In steps S1 to S13, each table
Column number j from 1 is increased by 1 to N,
Perform the following operations on the column:   Rows of each table in steps S2 to S11
Starting with j, decrease the number i by 1 to 1 and add
Then, the following processing is performed.   Item number of each table from step S3 to step S9
Start q from 1 and increase by 1 to num (j)
The following processing is performed on the q term. (1) If it is determined in step S4 that i ≠ j,
If so, proceed to step S5 to execute the next [F1], and then
[F2] is executed in step S6. [F1] table1 (i, j, q)   : min (i ≦ k1<KTwo<… <Km= J-1,1 ≦ m ≦ L, 1 ≦ p1
num (1), 1 ≦ pTwo≤num (2), ..., 1≤pm≦ num (m))
[Table1 (i, k1, p1) + Table1 (k1+1 and kTwo, pTwo) + ... + ta
ble1 (k (m-1) + 1, km, pm) + Pen ((k1, p1), (K
Two, pTwo),…, (m, pm), (J, q))] + score (j, q) [F2] table2 (i, j, q)   : Give the minimum value in [F1] (k1, p1), (KTwo,
pTwo),…, (Km, pm) (2) If i = j is determined in step S4
For example, the process proceeds to S7, where the next [F3] is executed. [F3] table1 (i, j, q): = score (i, q)   The occurrence of the combination in [F2] is the combination shown in FIG.
It is performed by the generator COMBI. About their combination
The minimum value and the combination that gives the minimum value are detected as the minimum value.
It is performed at the container MIN. Calculate PEN with PEN calculator PE
The selection of the clauses necessary for the selection is made by the selector SEL1.
And table1 (i, k1, p1), Table1 (k1+1 and kTwo, pTwo),…, Ta
ble1 (km-1) + 1, km, pmThe value of () is read out by the selection device SEL.
Done by two. Also, the value of num (k) is
It is kept in F. With the above processing, table1 and table2
Apply the above calculation to each row, column, and term in
Write to ble1 and table2.   The calculation ends when j> N in step S13.
OPT (1, N, x) is stored in table1 (1, N, q)N, q), (1 ≦ q
≤ NUM (N)). Also, table2 has
Since the information of the appropriate segmentation point and the optimal clause number is stored,
(4) The optimal sentence is obtained from this information by the method described in (e).
Clause sequences and optimal syntax can be constructed.   When actually using the present invention, the apparatus shown in FIG.
And the flowchart shown in FIGS. 2 (A) and (B)
In addition to the table, the optimal phrase sequence and the
Although a mechanism for constructing a proper syntax is necessary, the main point of the present invention is
The point is where the contents of table1 and table2 are calculated.
From this information, the optimal phrase sequence and
The mechanism for constructing a simple syntax is only described above.
You.   However, if the contents of table1 and table2 can be calculated
If the optimal phrase sequence and its
Of the calculations required to construct the optimal syntax above,
Note that the computationally intensive part is no longer done
Keep it.   In [F1], a pair of numerical pairs giving the minimum value ((k1, p
1), (KTwo, pTwo),…, (Km, pm))
At that time, in table2 (i, j, q)
So that you can memorize the pairs of numerical values of
And store them all in table2 (i, j, q)
do it. Thus, the flow charts shown in FIGS.
Even if you change the chart, the amount of calculation hardly changes
No.   In the above-described embodiment, the processing for finding the minimum value
But these are SkThe smaller the value of (x), the more clauses
The higher the certainty of x and the smaller the value of PEN, the better the dependency
This is because the degree was high. If SkThe value of (x) is large
The higher the certainty, the higher the value of PEN
If the degree of consistency is high, the process of finding the optimum value instead of the minimum value
Just do it. [The invention's effect]   As mentioned above, according to the present invention, a given sentence
Clause set B1, BTwo,…, BNSubsequence B ofi, Bi + 1,…, BjThe most
The optimal phrase sequence when the later phrase is fixed and the optimal
The syntax and its eligibility correspond to short-length substrings
Find them sequentially from the thing and memorize it, and those parts
Calculate similar for longer subsequences including columns
Sometimes by using them, we can perform the same calculations
The desired result can be obtained efficiently without returning.   Multiple clauses x1, xTwo,…, XmAt the same time, one phrase x
The degree of consistency PEN (x1, xTwo,…, Xm, x)
The attributes of the words that make up and the dependencies that appear in the actual sentence
Can be calculated based on statistical information such as
You. The amount of calculation also depends on the language dictionary construction method, etc.
However, as a guide, the present invention
And the number of addition and comparison operations in the enumeration method
Value. (1) To calculate PEN (x, y), a total of J times
Requires arithmetic. (2) PEN (x1, xTwo,…, Xm, x) to calculate PEN
(X1, x) + PEN (xTwo, x) + ... + PEN (xm, x)
The same amount of calculation as, ie, addition (J + 1) · m-1 times
Requires the computational complexity of   Further assume that the original number of clause sets is all equal to M.
You. Then, a parameter that determines the size of the problem to be solved
The data is that, in addition to J,
You.   M: number of elements in each clause set   N: Length of phrase string   L: Upper limit of the number of phrases that can be related to one phrase at the same time   Under the above assumptions, the amount of calculation is as follows. (A) The present invention (1) Addition   iCjIs a binomial coefficient, and the function f (n) is If you define (2) Comparison   Function g (n) If you define (B) The enumeration method   knum (n, L) in the dependency structure on a clause sequence of length n
And the number of clauses pertaining to one clause at the same time is L or less
Assuming that (1) Addition   Total number of additions = {knum (N, L) + (J + 1) · (N−
1) + (N-1)} · MN (2) Comparison   Total number of comparisons = knum (N, L) MN-1   knum (n, L) can be calculated using the following recurrence formula:
Wear.  J = 1 for the total number of additions and the total number of comparisons
The calculated values for some M, N, and L are listed in Tables 2 and 3.
I can.   According to these tables, the effect of the present invention is clear,
For example, when M = 5, N = 20, L = 5, the calculation amount is enumerated.
About 10FifteenIt is reduced by a factor of one.

【図面の簡単な説明】 第1図は本発明を実施する装置の一実施例を示すブロッ
ク図、 第2図(A)および(B)はその制御手順の一例を示す
フローチャート、 第3図(A)および(B)は第2図のフローチャートを
実行する際に必要となるテーブルの一例を示すテーブル
構造図である。 SC……文節確実度保持用RAM、 BUF……文節集合保持用RAM、 T1……table1用RAM、 T2……table2用RAM、 SEL1……データ選択装置、 SEL2……データ選択装置、 PE……係り受け整合度計算装置、 COMBI……組合わせ発生装置、 ADD1……加算器、 ADD2……加算器、 MIN……最小値検出器、 CPU……中央処理装置、 MEM1……制御手順記憶用ROM、 MEM2……CPU作業用RAM、 CONT……各部の動作順序を制御する制御装置、 i1……文節確実度入力端子、 i2……文節入力端子、 01……メモリT1に得られた結果の出力端子、 02……メモリT2に得られた結果の出力端子。
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing an embodiment of an apparatus for carrying out the present invention, FIGS. 2 (A) and (B) are flowcharts showing an example of the control procedure, FIG. FIGS. 3A and 3B are table structure diagrams showing an example of a table required when executing the flowchart of FIG. SC: RAM for holding phrase certainty, BUF: RAM for holding phrase set, T1: RAM for table1, T2: RAM for table2, SEL1: Data selector, SEL2 ... Data selector, PE ... Dependency matching degree calculator, COMBI …… Combination generator, ADD1 …… Adder, ADD2 …… Adder, MIN …… Minimum value detector, CPU …… Central processing unit, MEM1 …… ROM for storing control procedures , MEM2: CPU working RAM, CONT: Control device for controlling the operation order of each part, i1: ... clause certainty input terminal, i2 ...: clause input terminal, 01: output of results obtained in memory T1 Terminal, 02 ... Output terminal of the result obtained in memory T2.

フロントページの続き (56)参考文献 電子通信学会技術研究報告,Vol. 86,No.93(1986.7.16),p.41 −48(SP86−32) 電子通信学会技術研究報告,Vol. 86,No.221(1986.11.20),p. 47−57(COMP86−47)Continuation of front page       (56) References IEICE Technical Report, Vol.               86, no. 93 (1986. 7.16), p. 41               -48 (SP86-32)                 IEICE Technical Report, Vol.               86, no. 221 (November 20, 1986), p.               47-57 (COMP86-47)

Claims (1)

(57)【特許請求の範囲】 1.文節集合の列および当該文節集合列の中の各文節の
確実度を表わす数値が与えられたときに、複数の文節が
同時に一つの文節に係ることの整合度と各文節の確実度
との和を最小化あるいは最大化することにより、各文節
集合から一つずつ文節を選ぶという条件のもとでの最適
な文節列と、その文節列上の最適構文と、その適格性の
程度とを定める言語処理システムにおいて、 入力された各文節集合中の各文節の確実度を保持する第
1バッファメモリ手段と、 入力された各文節集合を保持する第2バッファメモリ手
段と、 それぞれ、前記文節集合の列の長さNに等しい行数、お
よび列数を持つ、2次元の上3角行列形の第1の表およ
び第2の表を有し、前記第1の表および前記第2の表の
各桝目を、その列番号jに等しい番号の文節集合の元の
数NUM(j)だけの項に分割して、前記第1の表および
前記第2の表を3次元化して構成したメモリと、 前記第1の表の各第i行,i列,r項に第i文節集合中の第
r文節の確実度を格納する手段と、 Nより小なる予め決められた整数Lと、1i<jN
を満たす整数i,jに対し、1mLを満たす整数m
と、i−1=k(0)<k(1)<k(2)<・・・<
k(m)=j−1を満たす整数k(0),k(1),k
(2),・・・,k(m)と、1nmなる各nに対し
て1p(n)NUM(k(n))を満たす整数p
(n)との組(m,k(0),k(1),k(2),・・・,k
(m),p(1),p(2),・・・,p(m))を発生する
組合わせ発生手段と、 前記組合わせ発生手段により発生される整数の組(m,k
(0),k(1),k(2),・・・,k(m),p(1),p
(2),・・・,p(m))に基づき、1nmを満た
す各整数nに対して、前記第2バッファメモリ手段に保
持されている文節集合のうちから第k(n)文節集合中
の第p(n)文節を選択する第1選択手段と、 前記組合わせ発生手段により発生される整数の組(m,k
(0),k(1),k(2),・・・,k(m),p(1),p
(2),・・・,p(m))に基づき、1nmを満た
す各整数nに対して、前記第1の表の第k(n−1)+
1行,第k(n)列の第p(n)項を選択する第2選択
手段と、 前記第1選択手段によって選択された各第k(n)文節
集合中の第p(n)文節が、前記第2バッファメモリ手
段に保持される第j文節集合中の第q文節に同時に係る
ことの整合度を計算する計算手段と、 該計算手段の出力と、前記第2選択手段によって選択さ
れた前記第1の表の各第k(n−1)+1行,第k
(n)列の第p(n)項に保持される数値の総和を求め
る第1加算手段と、 該第1加算手段からの出力について、前記組合わせ発生
手段により発生される整数の組(m,k(0),k(1),k
(2),・・・,k(m),p(1),p(2),・・・,p
(m))の全てに関する最小値と、その最小値を与える
整数の組 を求める最小値検出手段と、 前記最小値検出手段の第1出力である最小値に前記第1
バッファメモリ手段に保持される第j文節集合中の第q
文節の確実度を加算する第2加算手段と、 当該第2加算手段の出力を前記第1の表の第i行,第j
列,第q項に格納する手段と、 前記最小値検出手段の第2出力である整数の組 を前記第2の表の第i行,第j列,第q項に格納する手
段と、 前記第1の表および前記第2の表の各行,列,項を、順
次計算済の値で埋めて行くために前記整数i,j,qの値を
制御する計算順序制御手段と、 前記第1の表および前記第2の表が全て計算済みの値で
埋めつくされたときに、前記第1の表の第1行,第N列
の各項中の最小値およびその最小値を与える項番号を求
めることにより、最適文節列上の最適構文の適格性の程
度と、最後の文節集合中の最適文節番号を得る手段と、 最適構文を構成するために必要な整数の組 を前記第2の表の各行,列,項より読み出す手段と、 を具えたことを特徴とする言語処理システム。
(57) [Claims] Given a sequence of clause sets and a numerical value representing the certainty of each clause in the clause set string, the sum of the consistency of the fact that a plurality of clauses simultaneously belong to one clause and the certainty of each clause. By minimizing or maximizing, the optimal clause sequence under the condition that one clause is selected from each clause set, the optimal syntax on the clause sequence, and the degree of eligibility are determined. In the language processing system, a first buffer memory means for holding the certainty of each clause in each of the input phrase sets, a second buffer memory means for holding each of the input phrase sets, There is a first and second table in the form of a two-dimensional upper triangular matrix having a number of rows and a number of columns equal to the column length N, wherein the first table and the second table are Each cell is defined as the element of the phrase set with the number equal to the column number j. A memory configured by dividing the first table and the second table into three dimensions by dividing the term into a number NUM (j), and an i-th row, an i-column, and an r term of each of the first table Means for storing the certainty factor of the r-th clause in the i-th clause set, a predetermined integer L smaller than N, and 1i <jN
Integer m that satisfies 1 mL for integer i, j that satisfies
And i-1 = k (0) <k (1) <k (2) <... <
integers k (0), k (1), k satisfying k (m) = j-1
(2),..., K (m) and an integer p that satisfies 1p (n) NUM (k (n)) for each n of 1 nm
(N) (m, k (0), k (1), k (2), ..., k
(M), p (1), p (2),..., P (m)), and a set of integers (m, k) generated by the combination generating means.
(0), k (1), k (2), ..., k (m), p (1), p
(2),..., P (m)), for each integer n that satisfies 1 nm, the k (n) -th clause set among the clause sets held in the second buffer memory means. First selecting means for selecting the p (n) -th clause of the set, and a set of integers (m, k) generated by the combination generating means
(0), k (1), k (2), ..., k (m), p (1), p
(2),..., P (m)), for each integer n satisfying 1 nm, k (n−1) +
A second selecting means for selecting a p (n) term in one row and a k (n) th column, and a p (n) clause in each k (n) clause set selected by the first selecting means Is calculated by the calculation means for calculating the degree of consistency of simultaneously relating to the q-th clause in the j-th clause set held in the second buffer memory means, and the output of the calculation means and the second selection means are selected. And the k-th (n-1) + 1-th row and the k-th
(N) a first adding means for calculating the sum of the numerical values held in the p (n) term of the column, and a set of integers (m , k (0), k (1), k
(2), ..., k (m), p (1), p (2), ..., p
(M)) a set of minimum values for all of the above and an integer giving the minimum value A minimum value detecting means for calculating the minimum value, and a first value which is a first output of the minimum value detecting means.
Q-th in the j-th clause set held in the buffer memory means
Second adding means for adding the certainty factor of the clause, and outputting the output of the second adding means to the i-th row, j-th row of the first table.
A set of means for storing in a column and a q-th term, and a set of integers as a second output of the minimum value detecting means In the i-th row, the j-th column, and the q-th term of the second table; and filling each row, column, and term of the first and second tables with sequentially calculated values. Calculation order control means for controlling the values of the integers i, j, and q in order to go on; when the first table and the second table are all filled with the calculated values, the first By calculating the minimum value in each term in the first row and the Nth column of the table and the term number giving the minimum value, the degree of eligibility of the optimal syntax on the optimal clause column and the final clause set in the final clause set are determined. The means to obtain the optimal clause number and the set of integers required to construct the optimal syntax Means for reading from each row, column, and term of the second table.
JP62118337A 1987-05-15 1987-05-15 Language processing system Expired - Lifetime JP2954215B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62118337A JP2954215B2 (en) 1987-05-15 1987-05-15 Language processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62118337A JP2954215B2 (en) 1987-05-15 1987-05-15 Language processing system

Publications (2)

Publication Number Publication Date
JPS63282882A JPS63282882A (en) 1988-11-18
JP2954215B2 true JP2954215B2 (en) 1999-09-27

Family

ID=14734173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62118337A Expired - Lifetime JP2954215B2 (en) 1987-05-15 1987-05-15 Language processing system

Country Status (1)

Country Link
JP (1) JP2954215B2 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
電子通信学会技術研究報告,Vol.86,No.221(1986.11.20),p.47−57(COMP86−47)
電子通信学会技術研究報告,Vol.86,No.93(1986.7.16),p.41−48(SP86−32)

Also Published As

Publication number Publication date
JPS63282882A (en) 1988-11-18

Similar Documents

Publication Publication Date Title
Katharopoulos et al. Transformers are rnns: Fast autoregressive transformers with linear attention
CN108960277B (en) Cold fusion of sequence-to-sequence models using language models
Chen Bayesian grammar induction for language modeling
Bojanowski et al. Alternative structures for character-level RNNs
JP3196868B2 (en) Relevant word form restricted state transducer for indexing and searching text
Grachev et al. Compression of recurrent neural networks for efficient language modeling
CN102063508B (en) Generalized suffix tree based fuzzy auto-completion method for Chinese search engine
WO2020062680A1 (en) Waveform splicing method and apparatus based on double syllable mixing, and device, and storage medium
JP2009294913A (en) Language processing apparatus and program
US20230244704A1 (en) Sequenced data processing method and device, and text processing method and device
CN111462751B (en) Method, apparatus, computer device and storage medium for decoding voice data
Le et al. Training continuous space language models: Some practical issues
Sokolovska et al. Efficient learning of sparse conditional random fields for supervised sequence labeling
Fusco et al. pNLP-mixer: an efficient all-MLP architecture for language
JP7127570B2 (en) Question answering device, learning device, question answering method and program
KR910004009B1 (en) Language processing method
JP2954215B2 (en) Language processing system
JP2014010634A (en) Paginal translation expression extraction device, paginal translation expression extraction method and computer program for extracting paginal translation expression
Lucassen Discovering phonemic base forms automatically: an information theoretic approach
CN114580398A (en) Text information extraction model generation method, text information extraction method and device
CN114492418A (en) Text conversion method and related device
CN113779200A (en) Target industry word stock generation method, processor and device
JP2017182707A (en) Morphological analysis device, model learning device and program
Nowak et al. A fast algorithm for computing prefix probabilities
JP2527719B2 (en) Language processing method of language processing device