JPH077400B2 - 言語処理方法 - Google Patents

言語処理方法

Info

Publication number
JPH077400B2
JPH077400B2 JP62118338A JP11833887A JPH077400B2 JP H077400 B2 JPH077400 B2 JP H077400B2 JP 62118338 A JP62118338 A JP 62118338A JP 11833887 A JP11833887 A JP 11833887A JP H077400 B2 JPH077400 B2 JP H077400B2
Authority
JP
Japan
Prior art keywords
phrase
phonetic
bunsetsu
start position
clause
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
JP62118338A
Other languages
English (en)
Other versions
JPS63282878A (ja
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
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP62118338A priority Critical patent/JPH077400B2/ja
Publication of JPS63282878A publication Critical patent/JPS63282878A/ja
Publication of JPH077400B2 publication Critical patent/JPH077400B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、日本語連続音声認識装置や、べた書き仮名漢
字変換方式日本語ワードプロセッサなどに用いる言語処
理法に関するもので、表音表記始端および表音表記終端
が様々な位置にある複数の文節候補、すなわち、いわゆ
る文節ラティスが与えられたとき、それらの候補の確実
度と、複数の文節が、ある順序で同時に他の一つの文節
に係る時の整合度を考慮に入れ、日本語の句あるいは文
として最適な文節列が構成されるように文節候補から文
節を選択すると共にその最適な構文を決定し、かつそれ
により得られる最適文節列上の最適構文の日本語の句あ
るいは文としての適格度を計算する言語処理方法に関す
るものである。
[従来の技術] ベタ書き仮名漢字変換方式日本語ワードプロセッサにお
いて、適切な最終的処理結果を得るためには、与えられ
た仮名文字列が持つ、形態素分割による多義性や同音語
による多義性などを解消しなければならない。
また、連続音声認識においては、結果がまず表音記号列
で出力されることを想定することができるが、認識の不
確実性を考慮して、通常一つの時間区間に対して複数の
認識候補を挙げることが行われる。従ってこの場合に
は、上記の多義性の解消に加えて、複数の候補の中から
適切なものを選択する処理が必要となる。
上のような問題を解決するため、日本語の文、あるいは
句として適格性の高い文節列を定める問題は、文節ラテ
ィスから最適文節列を選択する問題として研究されてい
る。文、あるいは句としての適格性の基準として、二文
節間の係り受けの整合度と、各文節の確実度の和を用い
る場合には、この問題を効率良く解く従来方法が次の文
献に述べられている。
尾関和彦:「文節ラティスから最適文節列を選択するた
めの多段決定アルゴリズム」、電子通信学会 コンピュ
テーション研究会資料、COMP86−48(1986.11.20) [発明が解決しようとする問題点] 表音記号列が与えられたとき、それから文節と認定でき
る部分表音記号列をすべて切りだし、そのような各部分
列を表音表記として持つ文節をすべて列挙すると、様々
な表音記号位置を表音表記始端、表音表記終端とする文
節の集合が得られる。このような文節の集合は文節ラテ
ィスと呼ばれている。文節ラティスは、連続音声中から
文節として認められる区間を切り出す方式の連続音声認
識装置の出力としても得られる。文節ラティスという言
葉を用いると、本発明が取り扱う問題は、 「文節ラティスが与えられたとき、その中の文節を、終
端と始端が表音表記位置として連続するという条件を満
たすように並べてできるあらゆる文節列を作り、その中
から日本語の文、あるいは句としての適格性と、各文節
の確実度の双方を考慮して、最も妥当な文節列を選択せ
よ」 と述べることができる。
従来技術に関する説明の中でも述べたように、日本語の
文あるいは句としての適格性が、二文節間の係り受けの
整合度の和で定義される場合には、この問題を効率良く
解く方法が既に知られている。しかし、このような適格
性の定め方では、一つの述語に係る文節の順序が不自然
な文や、一つの文節に係る文節の格が重複しているよう
な不自然な文でも、そのようなことのない自然な文と同
じ適格性を持つことがあるという問題がある。かかる不
都合を完全に解決するためには、日本語の文あるいは句
としての適格性を、二文節間の係り受けの整合度の和で
はなく、複数の文節が、ある順序で同時に他の一つの文
節に係ることの整合度の基にして定める必要があるが、
適格性をそのように定めると、上記の問題を解く方法は
枚挙法しか知られておらず、計算量が膨大になるという
問題のため、これを実行することはできなかった。
そこで、本発明の目的は、日本語の文、あるいは句とし
ての適格度が二文節間の係り受けの整合度ではなく、複
数の文節が、ある順序で同時に他の一つの文節に係るこ
との整合度に基づく場合に、与えられた文節ラティスか
ら、日本語の文あるいは句として最適な文節列を選択す
ると共にその上の構文を決定し、かつそれにより得られ
る文節列の日本語の句あるいは文としての適格度を枚挙
法に比べて格段に効率よく計算することのできる言語処
理方法を提供することにある。
[問題点を解決するための手段] (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上の構文という。文節列x
1x2…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に近いほど整合度が高いと約束してお
く。関数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(x
1,x2,…,xm,x) このように定義されたP(X)の値は、Xの中のあらゆ
る係り受けに対するPENの値を加算したものになってい
る。
後の説明に用いるため、若干を記法を用意しておく。
[D4](1)整数列i,i+1,,…,jのm分割とは、 i−1=s0<s1<s2<…<sm=j を満たす整数の組(s0,s1,s2,…,sm)をいう。
(2)整数列i,i+1,1,…,jのm分割の全体をDm(i,j)
と書く: Dm(i,j)={(s0,s1,s2,…sm)|i−1=s0<s1<s2
…<sm=j} (3)整数列i,i+1,,…,jの分割の全体D(i,j)を、
次のように定義する。
D(i,j)=∪(1≦m≦j−i+1)[Dm(i,j)] [D5]文節集合列A1,A2,…,Amに対して KB(A1A2…Am) ={X|X∈K(x1x2…xm),x1∈A1,x2∈A2,…,xm∈Am} (b)問題の設定 以下では長い数式を読みやすくするため の代りに Σ(i≦m≦j)[f(m)] という記法を用いる。min,argmin,∪などについても同
様に記す。括弧[、]は混乱のおそれがなければ省略す
ることもある。
さて、次の状況を考える: [J1]1から自然数Nまでの表音記号位置を考え、各i,
j(1≦i≦j≦N)に対してiを表音表記始端位置、
jを表音表記終端位置とする文節の集合B(i,j)が与
えられている。また、各文節xに対して、非負の実数値
S(x)が定められている。
同じ文節でも表音表記始端位置あるいは表音表記終端位
置が異なれば、別の文節として取り扱う。
上記のB(i,j),(1≦i≦j≦N)全体を文節ラテ
ィスという。べた書き入力仮名漢字変換方式日本語ワー
ドプロセッサを例にとると、仮名文字列a1a2…aNが与え
られたとき、B(i,j)はその部分仮名文字列a1ai+1…a
jを仮名表記として持つ文節の全体である。S(x)
は、単語の使用頻度などの情報から定まる、文節xの確
実度を表わす数値で、0に近いほど確実度が高いとして
おく。また、連続音声認識を例にとれば、B(i,j)は
表音記号位置i,jをそれぞれ表音表記始端位置、表音表
記終端位置とする区間の認識結果候補として装置が出力
する文節の集合である。この場合、S(x)は認識装置
が、xという認識結果をどの程度の確からしさで認識し
たかという確実度を示す数値であり、たいていの音声認
識装置はそのような数値を認識結果と共に出力するよう
になっている。いずれの場合も、表音記号位置i,jを始
端,終端とする文節が存在しないことがあるので、B
(i,j)は空集合になりうる。この場合も特別な取扱い
をしなくて済むように、B(i,j)が空集合のときはダ
ミー文節を加えておき、ダミー文節に対するSの値は∞
と約束しておく。また、x1,x2,…,xm,xの中の少なくと
も一つがダミー文節のとき、PEN(x1,x2,…,xm,x)の値
も∞と約束しておく。
また、Sを構文にも適用できるよう拡張しておく。すな
わち、X∈K(xixi+1…xj)に対して S(X)=Σ(i≦m≦j)[S(xm)] と定義する。
このような状況のもとで、本発明が取り扱う問題は次の
ように述べることができる。表音記号位置1,2,…,Nを固
定し、その分割 (s0,s1,s2,…,sm)∈D(1,N) を一つ選ぶ。この分割に対応して、文節の集合列 B(s0+1,s1,),B(s1+1,s2),…,B(sm-1+1,sm) が定まる。各文節集合B(sk-1+1,sk)から文節xkを一
つずつ選ぶと、その上の構文の全体 K(x1x2…xm) が定まる。K(x1x2…xm)の中から構文Xを一つ選ぶ
と、その適格度と確実度の和 P(X)+S(X) が定まる。そこで、上記分割、文節、および構文を可能
な範囲で全て動かし、P(X)+S(X)を最小にする
ような分割、文節、および構文を選択する。すなわち、 min((s0,s1,s2,…,sm)∈D(1,N))[min(x1∈B
(s0+1,s1),x2∈B(s1+1,s2).…,xm∈B(sm-1
1,sm))[min(X∈K(x1x2…xm))[P(X)+S
(X)]]] を達成するような各変数の値と、それに対する最小値を
求めるのが、ここでの問題である。
最適文節列を選ぶためには、文節列の日本語の文あるい
は句としての適格性を考慮しなければならないので、結
局は上記のように最適な構文をも求める問題になる。逆
に最適な構文が求まれば、それを構成する文節列は定ま
るので、 min((s0,s1,s2,…,sm)∈D(1,N)[min(x1∈B(s
0+1,s1),x2∈B(s1+1,s2),…,xm∈B(sm-1+1,s
m))[min(X∈K(x1x2…xm))[P(X)+S
(X)]]] =min(X∈∪((s0,s1,s2,…,sm)∈D(1,N))[KB
(B(s0,+1,s1),B(s1+1,s2),…,B(sm-1+1,s
m))])[P(X)+S(X)] に注意して、上の問題を、次にように構文を変数とする
問題として書き直す。
[P1]次の二つのものを求めよ。
(1)min(X∈∪((s0,s1,s2,…,sm)∈D(1,N)
[KB(B(s0+1,s1),B(s1+1,s2),…,B(sm-1+1,
sm))])[P(X)+S(X)] (2)argmin(X∈∪((s0,s1,s2,…,sm)∈D(1,
N)[KB(B(s0+1,s1),B(s1+1,s2),…,B(sm-1
+1,sm))])[PX)+S(X)] 従来、この問題を解こうとすれば、枚挙法、すなわち、
集合 ∪((s0,s1,s2,…,sm)∈D(1,N))[KB(B(s0
1,s1),B(s1+1,s2),…,B(sm-1+1,sm))] の全ての元Xに対してP(X)+S(X)を逐一計算
し、最小値を与えるXとそれに対する最小値を求めなけ
ればならなかった。しかし、第1表に示すように、この
集合の元の数は、Nと共に急速に増加し、たちまち膨大
なものになるので、枚挙法を実際問題に適用することは
不可能であった。
集合∪((s0,s1,…,sm)∈D(1,N)[KB(B(s0+1,
s1),B(s1+1,s2),…,B(sm-1+1,sm))] の元の数、ただし、任意のi,j(1≦i≦j≦N)に対
してB(i,j)の元の数をMとした。
本発明によれば、このような従来技術の欠点を改善し、
枚挙法と比較して格段に計算量の少ない言語処理方法を
提供することができる。
関数PENが PEN(x1,x2,…,xm,x) =PEN(x1,x)+PEN(x2x)+…+PEN(xm,x) と二文節間の係り受けの整合度の和で表わすことができ
る場合については、前記の従来法によってこの問題を効
率良く解くことができる。これに対して、本発明は、関
数PENがこのような和に分解できない場合を対称とする
ものである。
(c)再帰方程式 本発明の構成について説明するに当たり、本発明におい
て基本的な役割を果たす再帰方程式について述べる。ま
ず、次の定義を設ける。
[D6](1)B(i,j)=∪(i≦m≦j)[B(m,
j)] (2)x∈B(i,j)に対して、INIT(x)をx∈B
(m,j)のときINIT(x)=mと定める。
[D7]自然数Nを固定し、1≦i≦j≦N,x∈B(i,j)
に対して (1)OPT(i,j;x)=min(X∈∪((s0,s1,s2,…,s
p)∈D(i,INIT(x)−1))[KB(B(s0+1,s1),
B(s1+1,s2),…,B(sp-1+1,sp),{x})])
[P(X)+S(X)] (2)OPK(i,j;x)=argmin(X∈∪((s0,s1,s2,…,
sp)∈D(i,INIT(x)−1))[KB(B(s0+1,
s1),B(s1+1,s2),…,B(sp-1+1,sp),
{x})])[P(X)+S(X)] 上記(1),(2)において、INIT(x)=iのときは
D(i,INIT(x)−1)が定義されていないが、この場
合には ∪((s0,s1,s2,…,sp)∈D(i,INIT(x)−1))
[KB(B(s0+1,s1),B(s1+1,s2),…,B(sp-1+1,
sp),{x})]=KB({x}) と約束しておく。また、P(X)+S(X)を最小にす
るXは一般に複数個あるので、OPK(i,j;x)は重合とな
る。
このように定義されたOPTとOPKに関して、次の再帰方程
式が成り立つ。
[E1]x∈B(i,j)に対して、 (1)INIT(x)=iのとき OPT(i,j;x)=S(x) (2)INIT(x)>iのとき OPT(i,j;x)=min((s0,s1,s2,…,sm)∈D(i,INIT
(x)−1),x1∈B(s0+1,s1),x2∈B(s1+1,
s2),…,xm∈B(sm-1+1,sm))[OPT(s0+1,s1;
x1)+OPT(s1+1,s2;x)+…+OPT(sm-1+1,sm;xm)
+PEN(x1,x2,…,xm,x)]+S(x) [E2]x∈B(i,j)に対して、 (1)INIT(x)=iのとき OPK(i,j;x)=[X] (2)INIT(x)>iのとき、[E1]の(2)で最小値
を与えるs0,s1,s2,…,sm,x1,x2,…,xmをそれぞれs0,s1,
s2,…,sm,x1,x2,…,xmとするとき OPK(i,j;x)=[OPK(s0+1,s1;x1)OPK(s1+1,s2;
x2)…OPK(sm-1+1,sm;xm)x] [E1]と[E2]は次の[E3]が成り立つことに注意すれ
ば容易に証明できるので詳細な説明は省略する。
[E3] ∪((s0,s1,s2,…,sp)∈D(i,INIT(x)−1)}
[KB(B(s0+1,s1),B(s1+1,s2),…,B(sp-1+1,
sp),{x})] =∪((t0,t1,t2,…,tm)∈D(i,INIT(x)−1),x
1∈B(t0+1,t1),x2∈B(t1+1,t2),…,xm∈B(t
m-1+1,tm)){[X1X2…Xmx]| x1∈∪((s1,0,s1,1,s1,2,…,s1,p1)∈D(t0+1,I
NIT(x1)−1))[KB(B(s1,0+1,s1,1),B(s
1,1+1,s1,2),…,B(s1,p1-1+1,s1,p1),
{x1})], x2∈∪((s2,0,s2,1,s2,2,…,s2,p2)∈D(t1+1,I
NIT(x2)−1))[KB(B(s2,0+1,s2,1),B(s
2,1+1,s2,2),…,B(s2,p2-1+1,s2,p2),
{x2})],…, xm∈∪((sm,0,sm,1,sm,2,…,sm,pm)∈D(tm-1
1,INIT(xm)−1))[KB(B(sm,0+1,sm,1),B
(Sm,1+1,sm,2),…,B(sm,pm-1+1,sm,pm),{x
m})]} さて、構文[X1X2…Xmx],X1=[…x1],X2=[…
x2],…,Xm=[…xm]においては、x1,x2,…,xmがxに
係る。すなわち、xはx1,x2,…,xmを受ける訳である
が、一つの文節が受ける文節の数には一定の上限がある
と考えてよい。この上限をLとすると、[E1]において
は、 1≦m≦L の範囲で最小化をすればよい。このような制限を設ける
と、[E1]は次のようになる。
[E1′]x∈B(i,j)に対して、 (1)INIT(x)=iのとき OPT(i,j;x)=s(x) (2)INIT(x)>iのとき OPT(i,j;x)=min(1≦m≦L,(s0,s1,s2…,sm)∈
(i,INIT(x)−1),x1∈B(s0+1,s1),x2∈B(
+1,s2),…,xm∈B(sm-1+1,sm))[OPT(s0+1,
s1;x1)+OPT(s1+1,s2;x2)+…+OPT(sm-1+,sm;x
m)+PEN(x1,x2,…,xm,x)]+S(x) このような制限を設けても、[E2]には影響はない。N
≦Lとすれば[E1′]は[E1]と同一となる。すなわ
ち、[E1′]は[E1]を特別の場合として含む。従っ
て、以後は[E1′]を用いて説明を進める。
[E1′](2)において、最小値を与えるs1,s2,…,sm
をi,j,xに対する最適区分点、またx1,x2,…,xmをそれら
の区分点における最適文節と呼ぶことにする。
(d)OPT、最適区分点、および最適文節の決定法 [E1′]の(2)は、INIT(x)>iのとき、OPT(s,
t,y)(i≦s≦t≦j,y∈B(s,t))が既に計算され
ていれば、それらの値を用いてOPT(i,j;x)が計算でき
ることを示している。また、INIT(x)=iのときに
は、[E1′]の(1)を用いると、OPT(i,j;x)=S
(x)としてOPT(i,j;x)の値が定まる。これらの事実
を用いると、OPT(i,j;x)の値をj−iが0の部分から
始めて、順次j−iがより大きい部分へと計算を進め、
それと同時に最適区分点と最適文節の組を決定して行く
ことができる。OPT(1,N;x)、(x∈B(1,N))が計
算されたとき、OPT、最適区分点、および最適文節番号
の組の計算が終了する。
(e)最適構文の計算法 簡単のため、最適区分点と最適文節番号の組が常に一意
的に定まる場合について説明する。このとき、OPK(i,
j;x)(1≦i≦j≦N,x∈B(i,j))はただ一つの構
文に等しい。
先ず、 min(X∈∪((s0,s1,s2,…,sm)∈D(1,N))[KB
(B(s0+1,s1),B(s1+1,s2),…B(sm-1+1,s
m))]}[P(X)+S(X)] =min(x∈B(1,N))[OPT(1,N,x)] であるから、この右辺を計算することにより、最適な文
節列上の最適な構文に対する適格度と信頼度の和が計算
される。また、 x0=argmin(x∈B(1,N))[OPT(1,N,x)] とすれば、最適文節列とその上の最適構文は、 OPK(1,N,x0) で与えられる。これを更に具体的に計算するには次のよ
うにすればよい。
もし、INIT(x0)=1ならば、[E2]の(1)によって OPK(1,N,x0)=[x0] であるから、これにより最適構文が決定される。
INIT(x0)≠1ならば、1,N,x0対する最適区分点を s1,s2,…,sm 対応する最適文節をそれぞれ x1,x2,…,xm とすると、[E2]の(2)によって OPK(1,N,x0) =[OPK(1,s1;x1)OPK(s1+1,s2;x2)…OPK(sm-1
1,sm;xm)x0] が成り立つ。もし、INIT(x1)=1ならば、 OPK(1,s1;x1)=[x1] であるから OPK(1,N,x0) =[[x1]OPK(s1+1,s;x2)…OPK(sm-1+1,sm;xm)x
0] また、INIT(x1)≠1ならば1,s1,x1に対する最適区分
点をt1,t2,…,tpに対応する最適文節をそれぞれy1,y2,
…,ypとするとき OPK(1,s1;x1) =[[OPK(1,t1;y1)OPK(t1+1,t2;y2)…OPK(tp-1
+1,tp;yp)x1 が成り立つので、OPK(1,N,x0)は次のように書き直す
ことができる。
OPK(1,N,x0) =[[OPK(1,t1;y1)OPK(t1+1,t2;y2)…OPK(tp-1
+1,tp;yp)x]1OPK(s1+1,s2;x2)…OPK(sm-1+1,s
m;xm)x0] このような操作を、現れるOPKがすべて唯一の文節から
構成される構文になるまで続ければ、OPK(1,N,x0)、
すなわち最適文節列とその上の最適構文を同時に決定す
ることができる。
一組のi,j,x(1≦i≦j≦N,x∈B(i,j))に対して
最適区分点と対応する最適文節の組が複数個存在するこ
とがあるが、そのときは、それらの全ての組に対して上
記の操作を行い、得られる構文全てを列挙すればよい。
本発明は、日本語を対象とする場合のみならず、韓国語
のように日本語と同様の係り受けによって記述できる文
法構造を持つ外国語にも適用できることは言うまでもな
い。
[作用] 本発明によれば、与えられた文字列位置1,2,…,Nの部分
列i,i+1,…,jの範囲内での、最後の文節を固定した時
の最適な文節列とその上の最適な構文、およびその適格
度を、長さの短い部分列に対応するものから順次求めて
それを記憶しておき、それらの部分列を含むより長い部
分列に対して同様のものを計算するときにそれらを利用
することによって、同じ計算を繰り返すことなく効率的
に所期の結果を得ることができる。
[実施例] 以下に図面を参照して本発明を詳細に説明する。
以下の説明において、表音記号位置を、1,2,…,Nとす
る。以下では、文節集合B(i,j)の元の数をNUM(i,
j)とし、B(i,j)の元を B(i,j)={xi,j,1,xi,j,2,…,xi,j,NUM(i,j)} と列挙して表す。
本発明を実施する装置の一実施例を第1図に示す。第1
図において、SCは第2図(A)および(B)に示すフロ
ーチャートにつき説明するテーブルscoreを実現するた
めのRAMなどによるバッファメモリであり、入力端子i1
から入力される各文節xi,j,qの確実度S(xi,j,q)を
保持するためのものである。BUFは文節入力端子i2から
入力される文節集合を保持するRAMなどによるバッファ
メモリである。各文節はその表音記号列だけでなく、始
端、終端の情報も併せて記述しておく。例として、本発
明を音声認識に用いる時は、認識装置から認識結果とし
て出力される各文節候補を端子i2から入力し、それらの
文節に付随した確実度を端子i1から入力する。また、本
発明をべた書き入力仮名漢字変換方式日本語ワードプロ
セッサに適用する時は、与えられた仮名文字列a1,a2,
…,aNをまず従来技術で形態素解析し、部分仮名文字列a
i,ai+1,…,ajを仮名表記として持つ文節候補を各i,j
(1≦i≦j≦N)について全て列挙し、それら文節候
補を端子i2から入力する。その際、単語の使用頻度など
から定まる、各文節の確実度を端子i1から入力する。T1
およびT2はそれぞれ第3図(A)および(B)に示すテ
ーブルtable1およびtable2を実現するためのRAMであ
る。COMBIは表音記号位置1,2,…,Nの中からその分割点 0=k(0)<k(1)<k(2)<…<k(m)=N と、それによって定まる文節集合B(k(0)+1,k
(1)),B(k(1)+,k(2)),…,B(k(m−
1)+1,k(m))の中からそれぞれ文節x
k(0)+1,k(1),p(1),xk(1)+1,k(2),p(2),…x
k(m-1)+1,k(m),p(m)を選択する組合わせを発生する装置
である。SEL1はバッファメモリBUFから組合わせ発生装
置COMBIにより指定される特定の文節のみを選択する装
置である。PEはバッファメモリBUFから選択装置SEL1を
介して読み出された文節x1,x2,…,xmxに対して、PEN(x
1,x2,…,xm,x)を計算する装置である。INTは選択装置S
EL1によって読み出された文節xの始端を検出する装置
である。SEL2はメモリT1から、組合わせ発生装置COMBI
により指定される特定の情報のみを選択する装置であ
る。SEL3は文節始端検出装置INTから送られた信号に基
づいて、バッファメモリSCに記憶されている情報の中か
ら特定のものを選択する装置である。ADD1はPEN計算装
置PEの出力と、選択装置SEL2によってメモリT1から読み
出された数値とを加算する加算器である。MINは組合わ
せ発生装置COMBIが種々の組合わせを発生するときの加
算器ADD1の出力の最小値とそのときの組合わせを検知す
る最小値検出器である。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に等しい数の行および列、および第i行
第j列において文節集合B(i,j)の元の数NUM(i,j)
に等しい項を持った2つの3次元のテーブルtable1(i,
j,q)およびtable2(i,j,q)(1≦i≦j≦N,1≦q≦N
UM(i,j))が必要である。各テーブルの添字は左から
順に行、列、項を表す。
table1(i,j,q)はOPT(i,j;xi,i,q)の値を、またtabl
e2(i,j,q)は、i,j,xi,j,qに対する最適区分点と最適
文節番号の組を記憶するためのものである。文節集合B
(i,j)の元の数NUM(i,j)は2次元のテーブルnum(i,
j)に入力され保持される。第k文節集合B(i,j)内の
第p文節xi,j,pの確実度は3次元のテーブルscore(i,
j,p)に入力され保持される。また、PEN(x
k(0)+1,k(1),p(1),xk(1)+1,k(2),p(2),…,x
k(m-1)+1,km,pm,xi,j,q)を計算する関数を pen((k(0)+1,k(1),p(1)),k(1)+1,k
(2),p(2)),…,(k(m−1),k(m),p
(m)),(i,j,q)) とする。INIT(xi,j,q)を計算する関数をinit(i,j,
q)とする。
第2図(A)および(B)のフローチャートにおいて、
ステップS1からステップS13において、各テーブルの列
番号jを1から始めてNまで1ずつ増加させ、第j列に
対して次の処理を実行する。
各ステップS2からステップS11において、各テーブルの
行番号iをjから始めて1まで1ずつ減少させ、第i行
に対して次の処理を実行する。
ステップS3からステップS9において、各テーブルの項番
号qを1から始めてnum(i,j)まで1ずつ増加させ、第
q項に対して次の処理を実行する。
(1)ステップS4において、init(i,j,q)≠iと判定
されたならば、ステップS5に進み、ここで次の[F1]を
実行し、ついでステップS6において[F2]を実行する。
[F1] table1(i,j,q) :=min(1≦m≦min{init(i,j,q)−1,L}min(i
−1=k(0)<k(1)<K(2)<…<k(m)=
init(i,j,q)−1)min(1≦p(1)≦num(k
(0)+1,k(1)),1≦p(2)≦mun(k(1)+1,
k(2)),…,1≦p(m)≦num(k(m−1)+1,k
(m))[table1(k(0)+1,k(1),p(1))+t
able1(k(1)+1,k(2),p(2))+…+table1
(k(m−1)+1,k(m),p(m))+pen((k
(0)+1,k(1),p(1)),(k(1)+1,k
(2),p(2)),…,(k(m−1)+1,k(m),p
(m)),(i,j,q))]+score(i,j,q) [F2] table2(i,j,q) :=([F1]において最小値を与える(k(1),p
(1)),(k(2),p(2)),…,(k(m),p
(m)) (2)ステップS4において、init(i,j,q)=iと判定
されたならば、ステップS7に進み、ここで次の[F3]を
実行する。
[F3] table1(i,j,q):=score(i,j,q) [F2]における区分点と文節の選び方の組合わせの発生
は第1図示の組合わせ発生装置COMBIで行われる。それ
らの組合わせに関する最小値と、最小値を与える組合わ
せの検知は最小値検出器MINで行われる。PEN計算装置PE
においてPENを計算するのに必要な文節の選択は選択装
置SEL1によって行われ、table1(k(0)+1,k(1),
p(1)),table1(k(1)+1,k(2),p(2)),
…,table1(k(m−1)+1,k(m),p(m))の値の
読み出しは選択装置SEL2によって行われる。init(i,j,
q)の計算とそれがiに等しいか否かの判定は文節始端
検出装置INで行われる。また、テーブルnumはバッファB
UFの一部に記憶される。以上の処理により、table1およ
びtable2の各行、列、項に上述の計算を施し、その結果
を順次table1およびtable2に書込んで行く。
ステップS13においてj>Nとなったときに計算が終了
し、table1(i,N,q)にはOPT(1,N,x1,N,q)、(1≦q
≦NUM(1,N))が記憶されている。また、table2には最
適区分点と最適文節番号の情報が記憶されているので、
(4)(e)で述べた方法により、この情報から最適文
節列と最適構文を構成することができる。
本発明を実際に使用するときには、第1図示の装置、お
よび第2図(A)および(B)に示したフローチャート
の他にtable2の情報から最適な文節列とその上の最適な
構文を構成する機構が必要であるが、本発明の主眼点は
table1およびtable2の内容を計算するところにあり、こ
れらの情報から最適な文節列およびその上の最適な構文
を構成する機構については上記の説明にとどめる。
但し、table1およびtable2の内容が計算できていれば、
与えられた文節の集合から最適な文節列およびその上の
最適な構文を構成するために必要な計算の内で、最も計
算量の多い部分はもはや完了していることに注意してお
く。
[F1]において最小値を与える数値の対の組((k
(1),p(1)),((k(2),p(2)),…,(k
(m),p(m)))が複数個存在することがあるが、そ
のときには、table2(i,j,q)に複数個の数値の組が記
憶できるようにしておき、[F2]においてそれらを全て
table2(i,j,q)に記憶するようにすればよい。このよ
うに第2図(A)および(B)のフローチャートを変更
しても計算量には殆ど変わりがない。
なお、上述した実施例では、最小値を求める処理の場合
を示したが、これらはS(x)の値が小さい程文節xの
確実度が高く、PENの値が小さいほど係り受けの整合度
が高いとしたためである。もしS(x)の値が大きい程
確実度が高く、PENの値が大きい程係り受けの整合度が
高いならば、最小値の代りに最大値を求める処理を行え
ばよい。
[発明の効果] 以上述べたように、本発明によれば、与えられた文字列
位置1,2,…,Nの部分列i,i+1,…,jの範囲内での、最後
の文節を固定した時の最適な文節列とその上の最適な構
文、およびその適格度を、長さの短い部分列に対応する
ものから順次求めてそれを記憶しておき、それらの部分
列を含むより長い部分列に対して同様のものを計算する
ときにそれらを利用することによって、同じ計算を繰り
返すことなく効率的に所期の結果を得ることができる。
複数の文節x1,x2,…,xmが同時に、ある一つの文節xに
係ることの整合度PEN(x1,x2,…,xm,x)は、各文節を構
成する単語の属性や、実際の文章の中に現れる係り受け
の頻度などの統計情報などを予め乱書に記述しておき、
それに基づいて計算することができる。その計算量は言
語辞書の構成法などによっても変るが、一つの目安とし
て、次のような場合につき、本発明の計算方法と枚挙法
における加算と比較演算の回数を評価する。なお、m個
の数値の総和を求めるのにはm−1回の加算演算が必要
であり、また、m個の数値の最小値を求めるのにはm−
1回の比較演算が必要であるとした。
(1)PEN(x,y)を計算するためには、加算J回分の計
算量を必要とする。
(2)PEN(x1,x2,…,xm,x)を計算するためには、PEN
(x1,x)+PEN(x2,x)+…+PEN(xm,x)を計算するの
と同じだけの計算量、すなわち加算(J+1)・m−1
回分の計算量を必要とする。
さらに、文節集合B(i,j)の元の数は、全てMに等し
いとする。そうすると、解くべき問題の大きさを定める
パラメータは、全部で次のようになる。
M:各文節集合B(i,j)の元の数 N:文字列長 L:一つの文節に同時に係り得る文節数の上限 J:二文節間の係り受けの整合度計算量の、加算換算値 以上の前提の下で、計算量は次のようになる。
(a)本発明 関数F(n,k)を F(n,k)=Σ(m1+m2+…,mk=n,1≦mi≦n)[m1・m
2…mk] と定義し、これを用いて加算回数と比較回数を表す。
(1)加算 関数をf(n) と定義すると (2)比較 関数g(n)を と定義すると (b)枚挙法 knum(n,L)を長さnの文節列上の係り受け構造の中
で、一つの文節に同時に係る文節の数がL以下のものの
個数とし、N-1Cnを二項係数とすると、加算回数と比較
回数は次のように表される。
(1)加算 全加算回数=Σ(0≦n≦N−1)[N-1Cn・{knum
(n+1,L)・(J+1)・n+n}・Mn+1] (2)比較 全比較回数=Σ(0≦n≦N−1)[N-1Cn・{knum
(n+1,L)・Mn+1]−1 knum(n,L)は次の漸化式を用いて計算することができ
る。
これらの全加算回数および全比較回数をJ=1といくつ
かのM,N,Lについて計算した値を第2表および第3表に
掲げる。
これらの表によれば本発明の効果は明らかであり、例え
ば、M=5、N=20、L=5のときの計算量は枚挙法の
約1013分の1に削減される。
【図面の簡単な説明】
第1図は本発明を実施する装置の一実施例を示すブロッ
ク図、 第2図(A)および(B)はその制御手順の一例を示す
フローチャート、 第3図(A)および(B)は第2図のフローチャートを
実行する際に必要となるテーブルの一例を示すテーブル
構造図である。 SC……文節確実度保持用RAM、 BUF……文節集合保持用RAM、 T1……table1用RAM、 T2……table2用RAM、 SEL1……データ選択装置、 SEL2……データ選択装置、 SEL3……データ選択装置、 PE……係り受け整合度計算装置、 COMBI……組合わせ発生装置、 INT……文節始端検出装置、 ADD1……加算器、 ADD2……加算器、 MIN……最小値検出器、 CPU……中央処理装置、 MEM1……制御手順記憶用ROM、 MEM2……CPU作業用RAM、 CONT……各部の動作順序を制御する制御装置、 i1……文節確実度入力端子、 i2……文節入力端子、 o1……メモリT1に得られた結果の出力端子、 o2……メモリT2に得られた結果の出力端子。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】1からNまでの自然数で決まる表音記号位
    置と、表音表記始端位置および表音表記終端位置が1か
    らNまでの範囲内の様々な位置にある文節の集合と、そ
    れら文節の確実度を表わす数値が与えられたとき、複数
    の文節がある順序で同時に他の一つの文節に係ることの
    整合度と各文節の確実度を表わす数値の総和を最小化あ
    るいは最大化するという最適基準の下で、最初の文節の
    表音表記始端位置が1に等しく、最後の文節の表音表記
    終端位置がNに等しく、かつ、最終文節以外の文節の表
    音表記終端位置に1を加えた値が次の文節の表音表記始
    端位置に等しいという条件を満たすようにそれら文節を
    並べてできるあらゆる文節列の中から、最適な文節列
    と、その文節列の最適構文、およびその適格度を定める
    言語処理法において、 上記Nに等しい行、列の数を持つ、2次元の上3角行列
    形の第1および第2の表を用意し、 前記第1表および前記第2表の各桝目を、表音表記終端
    位置がその列番号に等しく、かつ表音表記始端位置がそ
    の行番号以上であるような文節の数だけの項に分割し
    て、前記第1表および前記第2表を3次元化し、 表音表記始端位置が自然数i以上であり、かつ表音表記
    終端位置が自然数jであるような文節集合中のq番目の
    文節について、その表音表記始端位置がiに等しい時は
    前記第1表の第i行、第j列、第q項にその文節の確実
    度を格納し、 表音表記始端位置が自然数i以上であり、かつ表音表記
    終端位置が自然数jであるような文節集合中のq番目の
    文節について、その表音表記始端位置がiに等しくない
    時は、自然数iから、表音表記始端位置がi以上で、か
    つ表音表記終端位置がjに等しいような文節の集合中の
    第q番目の文節の表音表記始端位置より1を減じた数ま
    でをいくつかの区間に分割し、 上記の各区間の始端位置s、終端位置t、および始端位
    置がs以上であり終端位置がtである文節集合中の第p
    文節に対応して、前記第1表の第s行、第t列、第p項
    に計算済みの値を格納し、 その格納がなされたばらば、当該計算済みの、前記第1
    表の第s行、第t列、第p項の値を前記の分割の各区間
    すべてに対して加算し、 この値に、前記分割の各区間の始端位置s,終端位置tに
    対応して、表音表記始端位置がs以上であり表音表記終
    端位置がtである文節集合中の第p文節が、表音表記始
    端位置がi以上で、かつ表音表記終端位置がjであるよ
    うな文節集合中の第q番目の文節に同時に係ることの整
    合度を加算し、 その加算結果の、上記分割および分割の各区間に付随す
    る上記文節のあらゆる組合わせに関する最小値または最
    大値を求め、 その最小値または最大値に、表音表記始端位置がi以上
    で、かつ表音表記終端位置がjであるような文節集合中
    の第q番目の文節の確実度を加算した値を前記第1表の
    第i行、第j列、第q項に格納し、 前記最小値または最大値を与える分割の区分点、および
    その分割の各区分に付随する文節番号の組を前記第2表
    の第i行、第j列、第q項に格納し、 前記第1表および前記第2表を上記手順により順次計算
    済みの値で埋めて行き、 前記第1表および前記第2表の第1行,第N列の各項に
    計算済みの値が格納されるに到ったとき、前記第1表の
    第1行、第N列の各項の中の最小値または最大値を求め
    ることにより最終的な適格度と、最終文節の文節番号を
    得ると共に、最適構文を構成するために必要な最適区分
    点および最適文節番号の組の全体を前記第2表に得る ことを特徴とする言語処理方法。
JP62118338A 1987-05-15 1987-05-15 言語処理方法 Expired - Lifetime JPH077400B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62118338A JPH077400B2 (ja) 1987-05-15 1987-05-15 言語処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62118338A JPH077400B2 (ja) 1987-05-15 1987-05-15 言語処理方法

Publications (2)

Publication Number Publication Date
JPS63282878A JPS63282878A (ja) 1988-11-18
JPH077400B2 true JPH077400B2 (ja) 1995-01-30

Family

ID=14734200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62118338A Expired - Lifetime JPH077400B2 (ja) 1987-05-15 1987-05-15 言語処理方法

Country Status (1)

Country Link
JP (1) JPH077400B2 (ja)

Also Published As

Publication number Publication date
JPS63282878A (ja) 1988-11-18

Similar Documents

Publication Publication Date Title
KR900009170B1 (ko) 규칙합성형 음성합성시스템
CN110603583B (zh) 语音识别系统和用于语音识别的方法
CN109389968B (zh) 基于双音节混搭的波形拼接方法、装置、设备及存储介质
US20080059190A1 (en) Speech unit selection using HMM acoustic models
DE112010005226T5 (de) Erkennungswörterbuch-Erzeugungsvorrichtung und Spracherkennungsvorrichtung
Wu et al. Encoding linear models as weighted finite-state transducers.
KR910004009B1 (ko) 언어 처리 방법
Gu et al. Markov modeling of mandarin Chinese for decoding the phonetic sequence into Chinese characters
KR20050032759A (ko) 음운변이 규칙을 이용한 외래어 음차표기 자동 확장 방법및 그 장치
US6408271B1 (en) Method and apparatus for generating phrasal transcriptions
Lucassen Discovering phonemic base forms automatically: an information theoretic approach
JP4084515B2 (ja) アルファベット文字・日本語読み対応付け装置と方法およびアルファベット単語音訳装置と方法ならびにその処理プログラムを記録した記録媒体
JPH077400B2 (ja) 言語処理方法
JP3953772B2 (ja) 読みがな付与装置およびプログラム
JP2954215B2 (ja) 言語処理システム
CN116484842A (zh) 语句纠错的方法及装置、电子设备、存储介质
JPH077399B2 (ja) 言語処理法
JP2003005776A (ja) 音声合成装置
Cherifi et al. Conditional random fields applied to Arabic orthographic-phonetic transcription
JP3548372B2 (ja) 文字認識装置
JP2527719B2 (ja) 言語処理装置の言語処理方法
JPS61122781A (ja) 音声ワ−ドプロセツサ
Brants Better language models with model merging
Zheng et al. Using multiple linguistic features for Mandarin phrase break prediction in maximum-entropy classification framework.
Hoste et al. Machine learning for modeling Dutch pronunciation variation.