JPH10240735A - 形態素解析方法及び形態素解析装置 - Google Patents

形態素解析方法及び形態素解析装置

Info

Publication number
JPH10240735A
JPH10240735A JP9043955A JP4395597A JPH10240735A JP H10240735 A JPH10240735 A JP H10240735A JP 9043955 A JP9043955 A JP 9043955A JP 4395597 A JP4395597 A JP 4395597A JP H10240735 A JPH10240735 A JP H10240735A
Authority
JP
Japan
Prior art keywords
word
analysis
unit
unknown
independent
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.)
Pending
Application number
JP9043955A
Other languages
English (en)
Inventor
Takeyuki Aikawa
勇之 相川
Harumi Hosoda
春美 細田
泰博 ▲高▼山
Yasuhiro Takayama
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9043955A priority Critical patent/JPH10240735A/ja
Publication of JPH10240735A publication Critical patent/JPH10240735A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 コスト最小法だけでは解消できない曖昧性の
解消し、良好な形態素解析結果を得る。 【解決手段】 大量の電子化文書情報からなるコーパス
と、入力文字列に対する該コーパス中での正規化頻度を
求める正規化頻度計算ステップと、該正規化頻度に基づ
いて形態素解析結果の確からしさを計算するコスト計算
ステップと、単語辞書を参照し自立語の文法情報を得る
自立語検索ステップと、上記単語辞書を参照し付属語の
文法情報を得る付属語検索ステップと、接続表を参照し
形態素間の接続検定を行なう接続検定ステップと、未知
語候補文字列を自立語候補に加える未知語切り出しステ
ップと、上記各ステップの処理結果から、解析表作成制
御情報を参照し形態素解析を行なう解析表作成ステップ
と、解析結果を抽出し出力する解析結果抽出ステップと
からなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機上に漢字仮
名混じりのファイルを作成するときに使用する日本語入
力フロントエンドプロセッサや、音声を入力として漢字
仮名混じり文字列を得る音声認識装置や、光学文字読み
取り装置における手書き文字認識装置等、日本語を処理
する言語処理装置において、より高度な処理を行なうた
めに必要な構文解析処理や意味解析処理への入力となる
形態素列を生成するために、べた書き日本語を形態素単
位に分割し品詞を付与する形態素解析方法とその装置に
関する。特に大規模な文書情報からなる電子化コーパス
から得られる統計的な情報に基づいて、正規化頻度を計
算し、正規化頻度に基づいたコストを用いることにより
未知語を含む文章についても、未知語を含まない文章と
同様のコスト計算によりコスト最小法アルゴリズムに従
った形態素解析処理をおこなう形態素解析方法及び形態
素解析装置に関わる。
【0002】
【従来の技術】日本語を処理するためには、まず、べた
書きで書かれた文章を単語単位に分割する必要がある。
日本語処理における形態素解析処理とは、べた書きの日
本語を入力とし、単語単位に分割し、品詞を付与した形
態素列を出力する処理である。日本語形態素解析処理に
は非常に大きな曖昧性があり、すべての区切り方の可能
性を列挙して解析することは現実的ではない。そのた
め、曖昧性を絞り込むための方法がいくつか提案されて
いる。例えば、文節数最小法では、複数の解析結果の中
から文節数が小さい結果を選択することにより、解析結
果の曖昧性を絞り込む。また、形態素間の接続規則を接
続表という形で与えることにより、不自然な形態素の連
続を解析結果から除去するという手段も一般に使用され
ている。このような形態素解析方法として、文節数最小
法を一般化したコスト最小法(文献1:吉村他「未登録
語を含む日本語文の形態素解析」情報処理学会論文誌Vo
l.30 No.3, 1989)がよく知られている。また、文献1
の未登録語処理に改良を加えた方法(文献2:特開平7-
200595)も提案されている。
【0003】一方、近年の電子化文書の増加にともな
い、大量の文書情報からなる電子化コーパスが利用可能
となり、コーパスからの統計情報を利用した形態素解析
に関する研究が盛んである。その中の一例として、コー
パスから統計情報としてNグラム(コーパスに存在する
長さNの連続した文字からなる文字列すべて)を抽出
し、文字列の長さに関して正規化した頻度を用いて、単
語辞書を使わずに形態素の境界を獲得する限界正規化頻
度法(文献3:中渡瀬「正規化頻度による形態素境界の
推定」情報処理学会自然言語処理研究会113-3,1996)が
提案されている。
【0004】以下、図31から図39を参照しながら文
献1に示されるコスト最小法の概要を説明する。図31
は、文献1のコスト最小法により解析を行なう形態素解
析装置の概念ブロック図である。図31において、212
は文字列211を入力する入力部である。201はコスト計算
部202と自立語検索部203と付属語検索部205と接続検定
部206と未知語切出部209を適宜呼び出し、制御情報部20
8の制御情報208xを参照しつつ形態素解析を行なう解析
表作成部である。202は解析結果および解析途中結果に
対してコストを付与するコスト計算部である。203は単
語辞書204を参照して自立語の文法情報を得る自立語検
索部である。204は単語表記と文法情報を格納した単語
辞書である。205は単語辞書204を参照して付属語の文法
情報を得る付属語検索部である。206は接続表207を参照
して形態素間の接続検定を行なう接続検定部である。
【0005】207は形態素間の接続規則を格納した接続
表である。208は上記解析表作成部201が使用する制御用
情報と解析表作成部201が作成した解析表208hを含む制
御情報208xが記憶されている制御情報部である。209は
上記自立語検索部203が自立語候補を生成する際に、未
知語候補文字列を切り出して自立語候補に加える未知語
切出部である。210は上記制御情報208xに含まれる解析
表から解析結果を抽出して出力する解析結果抽出部であ
る。211は入力文字列である。213は解析結果抽出部210
から出力されたら解析結果を表示する表示部である。
【0006】図32は上記制御情報208xの詳細な内容で
ある。解析が入力文字列のどの位置まで進行しているか
を保持する変数Rmax(208a)、解析表を展開する段階を示
す変数Phase(208b)、入力文字列の位置iにおける文節末
可能性の最大値を保持する配列Etable〔i〕(208c)、自
立語検索状況を保持する配列Ctable〔i〕(208d)、自立
語検索結果を保持する配列Cset〔i〕(208e)、付属語検
索状況を保持する配列Ftable〔i〕(208f)、付属語検索
結果を保持する配列Fset〔i〕(208g)、解析表を登録す
る配列T〔i〕(208h)、解析中の文字列位置p(208i)から
なる。
【0007】図33は、コスト最小法の処理手順を示し
たフローチャートである。入力として図31に示す「日
本語を解析する」という文字列211が入力されたとす
る。入力文字列211の文字間に示された数字は文字位置
を表す。
【0008】ステップSy1では、制御情報208xを初期化
する。ステップSy2では、文頭の自立語を検索する。手
続きcmake(0)は、ステップSy6におけるcmake(p)でp=0と
した場合と等価である。
【0009】以下、図34を参照しながら、手続きcmak
e(p)について説明する。ステップSy21において、図31
の解析表作成部201は制御情報208x中のCtable〔p〕(208
d)を参照して、もし0ならばステップSy22に進む。1なら
ばステップSy24に進む。図33のステップSy2のcmake
(0)においては、Ctable〔0〕が0なのでステップSy22に
進む。
【0010】ステップSy22では、解析表作成部201は自
立語辞書検索部203を呼び出す。自立語辞書検索部203は
単語辞書204を参照して自立語の辞書検索を行なう。検
索結果は制御情報208x中のCset〔p〕(208e)に格納され
る。図33のステップSy2のcmake(0)においては、文字
位置0で始まる単語である「日本語」「日本」「日」がC
set〔0〕(208e)に文法情報とともに格納される。
【0011】ステップSy23では、解析表作成部201は未
知語切出部209を呼び出す。未知語切出部209は入力文字
列の字種にしたがって、未知語の候補を切り出す。ここ
では、漢字なので、単漢字が未知語候補として切り出さ
れ、Cset〔0〕(208e)に加えられる。文字位置pにおける
字種がアルファベットまたはカタカナの場合は、アルフ
ァベット列またはカタカナ列をひとつの未知語として処
理する。平仮名の場合は平仮名1文字を未知語候補とす
る。
【0012】ステップSy24において、解析表作成部201
は、制御情報208x中の解析表T〔p〕(208h)を検索し、最
小コスト値Wを求める。ここで解析表に登録される項目
について、図35を用いて説明する。項目は入力文字列
における単語の先頭と末尾の位置を示すi、j、文法情報
α、文節末の可能性の強さを表す値e、コストの部分和
w、活動中の項目か否かを表す値cからなる。図35にお
いて、項目1はCset〔0〕(208e)における「日本語」とい
う単語に対応しており、解析表T〔3〕(208h)に登録され
ている。
【0013】ステップSy25において、コスト計算部202
は、自立語検索結果Cset〔p〕の各要素についてコストc
ost(α)を計算する。コストは、図36にしたがって文
法情報αより計算される。解析表作成部201は、最小コ
スト値wをもつ項目について、図31の制御情報208x中
の解析表T〔p〕(208h)に新たな項目(p,k,α,bend(α),w
+cost(α),1)を登録する。ここでbend(α)は、文法情報
αおよび字種情報から与えられる文節末可能性の強さを
表す値である。図10に、bend(α)を与える例を示す。
p=0の場合には図35に示した3つの項目がそれぞれT
〔3〕,T〔2〕,T〔1〕に登録される。
【0014】ステップSy26において、図31の制御情報
208x中のCtable〔p〕(208d)の値を1に更新する。
【0015】図33に戻り、ステップSy3に進む。ここ
で、解析表作成部201は、制御情報208x中の解析表配列T
〔p〕(208h)を参照し、空集合であればステップSy7に進
む。空集合でなければステップSy4に進む。ここではp=1
で、ステップSy2において図35に示すT〔1〕が存在す
るのでステップSy4に進む。
【0016】ステップSy4において、解析表作成部201
は、文字位置pで始まる付属語を検索する。以下、手続
きfmake(p)について、図37を用いて説明する。
【0017】ステップSy31において、図31の解析表作
成部201は制御情報208x中のFtable〔p〕(208f)を参照し
て、もし0ならばステップSy32に進む。1ならばステップ
Sy38に進む。いま、p=1で、Ftable〔1〕は0なので、ス
テップSy32に進む。
【0018】ステップSy32では、解析表作成部201は付
属語検索部205を呼び出す。付属語検索部205は単語辞書
204を参照して付属語の辞書検索を行なう。検索結果は
制御情報208x中のFset〔p〕(208g)に格納される。いまp
=1で、文字位置1から始まる付属語は存在しないので、F
set〔1〕(208g)は空集合φのままである。処理が進んで
p=3のときは、格助詞の「を」が付属語辞書から検索さ
れて、Fset〔3〕(208g)に格納される。
【0019】ステップSy33では、解析表作成部201は制
御情報208x中の解析表T〔p〕(208h)を参照しつつ、接続
検定部206を呼び出す。解析表T〔p〕中にFset〔p〕中の
形態素βが接続可能な形態素αをもつ項目があれば、そ
のコストの最小値wを求める。形態素αと形態素βの接
続可否は、図12に示すように接続表207に行列の形式
で格納されており、接続検定部206は接続表207を参照し
て接続可否を決定する。例えば、p=3のとき、T〔3〕に
は、図35に示すように項目1(0,3,名詞,7,4,1)が登録
されている。Fset〔3〕には、助詞「を」が含まれてお
り、名詞と助詞は図12に示されるように接続可能であ
るので、項目1は新たな項目を登録するための候補とな
る。いま、T〔3〕に登録された項目のうち、項目1がコ
スト最小値4をもつのでwは4となる。
【0020】ステップSy34では、ステップSy33において
条件に適合する項目が存在したかどうかを判定し、存在
するならばステップSy35に進む。ステップSy35では、ス
テップSy33で得た最小コストwをもつ項目をもとに、新
たな項目(p,k,β,bend(β),w+cost(β),1)を解析表T
〔k〕に登録する。上記のp=3の場合の例では、図38に
示すように項目1に助詞の「を」が接続した結果である
項目4(3,4,助詞,5,6,1)がT〔4〕(208g)に登録される。
ステップSy37に進む。
【0021】ステップSy34で条件に適合する項目が存在
しないと判定された場合は、ステップSy36において、解
析表作成部201は、制御情報208x中の解析表T〔p〕(208
h)に、条件に適合しなかった付属語形態素βより項目
(i,p,β,bend(β),0,0)を登録する。
【0022】ステップSy37において、制御情報208x中の
Ftable〔p〕(208f)の値を1に更新する。
【0023】ステップSy31においてFtable〔p〕=1だっ
た場合は、ステップSy38において、項目(p,k,β,bend
(β),0,0)について、ステップSy33と同様にして、最小
コスト値wを求める。ステップSy39において、ステップS
y34と同様の判定を行ない、YESの場合はステップSy40に
進み、NOの場合はfmake(p)を終了し、図33のステップ
Sy5に進む。
【0024】ステップSy40において、解析表作成部201
は、制御情報208x中の解析表T〔p〕(208h)の項目(p,k,
β,bend(β),0,0)を削除し、新たに項目(p,k,β,bend
(β),w+cost(β),1)を登録する。fmake(p)を終了し、図
33のステップSy5に進む。ステップSy38〜Sy40は、図
33のフローチャートにおいて、ステップSy10〜Sy12が
実行された後、再度ステップSy4でfmake(p)が呼び出さ
れた時に実行される。ステップSy10〜Sy12が実行される
のは、入力文字列が未知語を含む場合である。
【0025】図33のステップSy5に進み、解析表作成
部201は制御情報208x中のEtable〔p〕(208c)を参照し
て、Phase(208b)以上であれば、ステップSy6に進む。Et
able〔p〕(208c)は、項目がT〔p〕に登録されるときに
更新される。T〔p〕に登録された項目がもつ文節末可能
性の値のうち、もっとも文節末可能性の高い値がEtable
〔p〕に格納されている。ステップSy5で、文節末可能性
の値がPhase(208b)以上である候補のみ、ステップSy6に
進んで、次の自立語の検索を行なう。つまり、文節末可
能性の値とPhase(208b)との関係によって、次の自立語
の検索を行なうか否かが制御される。例えば図31に示
す入力文字列211において、p=1の場合はEtable〔1〕が6
で、Phaseの初期値がδ(=7)なので、ステップSy6は実行
せずにステップSy7に進む。
【0026】ステップSy7では、文字位置p(208i)を更新
する。ここでは、p=1からp=2に更新されたものとする。
ステップSy8では、文字位置p(208i)が入力文字長さnに
達しているかどうかを判定し、達していれば、解析を終
了する。解析結果は、図35に示した解析表(208h)の形
で保持されており、図31の解析結果抽出部210が解析
表(208h)を参照しながら、解析結果を出力する。いま、
p=2なので、ステップSy9に進む。
【0027】ステップSy9では、制御情報208x中のRmax
(208a)を参照して、文字位置pとの大小関係を判定す
る。Rmax(208a)は、解析表に登録された項目の終端文字
位置の最大値が格納されている。いま、Rmax(208a)は、
図35のT〔3〕に対応した〔3〕の3が格納されているの
で、ステップSy10には進まずにステップSy3に戻る。
【0028】ステップSy3から再度ステップSy4、ステッ
プSy5を実行し、ステップSy7において、p=3となって、
ステップSy9に至る。再度、同様にしてステップSy3から
ステップSy9に至り、p=4となり、ステップSy10に進む。
【0029】ステップSy10では、Phase(208b)を更新す
る。以降、ステップSy5では、より緩い条件でステップS
y6へ分岐するようになるため、解析が先に進んでいくこ
ととなる。
【0030】以上のようにして、コスト最小法により図
39に示すような形態素解析結果が得られる。
【0031】次に、図40と図41を参照しながら、文
献3に示される限界正規化頻度法の概要を説明する。
【0032】図40は、文献3の限界正規化頻度法によ
り解析を行なう形態素解析装置の概念ブロック図であ
る。305は入力文字列304を入力する入力部である。301
は下記正規化頻度計算部302を適宜呼び出し入力文字列3
04の形態素境界を決定する形態素境界判定部である。30
3は大量の電子化文書データからなるコーパスである。3
02はコーパス303を参照して与えられた入力文字列304の
正規化頻度を計算する正規化頻度計算部である。306は
形態素境界判定部301で決定された形態素解析結果を出
力する出力部である
【0033】図41は、限界正規化頻度法の処理手順を
示したフローチャートである。入力部305から図40に
示す「土地などの不動産」という入力文字列304が入力
されたとする。入力文字列304の文字間に示された数字
は文字位置を表す。
【0034】ステップSn1では、文字位置pとqを初期化
する。pは形態素の先頭文字位置で、qは末端文字位置を
表す。ステップSn2では、解析終了条件を判定する。pが
入力文字列長nに等しければ終了する。いま、p=0, q=1
なのでステップSn3に進む。
【0035】ステップSn3では、文字列AにSubstr(S,p,q
-p)を代入する。Sは入力文字列である。Substr(s,i,j)
は、文字列sのi文字目からj文字の長さの部分文字列を
得る関数である。いま、p=0,q=1なので、Aには「土」が
代入される。Substr(S,q,1)を呼び出して文字列Aの次の
1文字aを得る。ここでは、「地」がaに代入される。
【0036】正規化頻度を計算するためには、Nグラム
統計が必要である。すべてのNグラム統計を計算した結
果をファイルに格納することは現実的ではないので、あ
らかじめNグラム統計をとるためのインデックスファイ
ルを用意し、必要に応じてコーパスを検索してNグラム
統計結果を得る手法が提案されている(文献4:長尾、
森「大規模日本語テキストのnグラム統計の作り方と語
句の自動抽出」情報処理学会自然言語処理研究会96-1,1
993)。図40の正規化頻度計算部302も上記と同様のイ
ンデックスファイルを介してコーパス303を検索して正
規化頻度を得る。
【0037】ステップSn4では、文字列A、文字列Aa、文
字aに関して正規化頻度を計算する。文字列sの正規化頻
度を得る関数をNF(s)とすると、NF(A)>NF(Aa)またはNF
(A)+NF(a)>NF(Aa)という条件が真であるときステップSn
7に進む。条件が偽であるときは、ステップSn5に進む。
上記の例においては、A:「土」の正規化頻度が0.70、A
a:「土地」の正規化頻度が3.05、a:「地」の正規化頻度
が1.72である。したがって、上記の条件が偽となりステ
ップSn5に進む。
【0038】ステップSn5では、qの値と入力文字列長n
と比較する。qがnに等しければ解析を終了する。等しく
なければステップSn3に戻る。いま、q=1、n=8なので、
ステップSn3に進む。
【0039】ステップSn3で同様にしてA:「土地」、a:
「な」を得る。ステップSn4に進み、A:「土地」の正規
化頻度が3.05、Aa:「土地な」の正規化頻度が0.70、a:
「な」の正規化頻度が10.2となり、条件が真となるの
で、ステップSn7に進む。
【0040】ステップSn7では、pの値をqに更新する。
以上の処理により第一の形態素として、「土地」を出力
する。以下ステップSn2〜Sn7を繰り返し、「土地/など/
の/不動産」という形態素区切りを得る。
【0041】
【発明が解決しようとする課題】しかし、これらの従来
方式には解決すべきいくつかの課題がある。文献1の方
法では、文節区切りが曖昧な場合、例えば「新人類」と
いう入力文を解析したときに、「新人/類」と「新/人
類」と2通りの形態素結果のコストが等しくなり、曖昧
性を解消できないという問題点があった。
【0042】また、文献1の方法および文献2の方法で
は、未知語には恣意的に高いコストを与えているため、
単語文字列の一部に既知語を含むような未知語を処理す
る場合に、既知語を含む解析結果が優先されるため、未
知語を正しく切り出せない場合があった。例えば、「動
名詞」という単語が辞書に登録されておらず、「名詞」
という単語が登録されている場合に、「動名詞」を未知
語として切り出せず、「動」のみが未知語となる解析結
果しか得られなかった。
【0043】文献1の方法および文献2の方法では、未
知語となり得る候補を常に生成するため、未知語を含ま
ない文を処理する際に効率が悪いという問題点があっ
た。また、未知語を含む文であっても、未知語を含まな
い部分文字列に対して常に未知語候補を生成するため、
余分な処理が必要になるという問題点もあった。
【0044】文献2の方法では、単語辞書を使用しない
ため、文献1の方法に比べて解析精度が悪いという問題
点があった。また、図40の正規化頻度計算部302がコ
ーパス303に逐次アクセスする必要があり、計算量が大
きいという問題点があった。
【0045】以上のように、文献1の方法では、コスト
が等しくなる場合の曖昧性を解消できないことが課題と
なっており、文献1および文献2の方法では、既知語を
表記の一部とする未知語を処理できないこと、未知語を
常に生成するため実行効率が悪いことが課題となってい
る。また、文献3の方法では解析精度が悪く、実行効率
もよくないという問題点があった。
【0046】本発明は、上記の点を鑑みてなされたもの
で、文献3に示された正規化頻度を文献1に示されたコ
スト最小法に導入することにより、コスト最小法だけで
は解消できない曖昧性を解消することを目的とする。
【0047】また、単語表記の部分文字列として既知語
を含むような未知語に対しても正しい解析結果が得られ
るようにすることを目的とする。
【0048】さらに、未知語の解析処理において、未知
語を常に生成する無駄な処理を削減することを目的とす
る。
【0049】さらにまた、正規化頻度をあらかじめ計算
して辞書に格納し、コーパスへのアクセスをなくし、形
態素解析時の実行効率をあげることを目的とする。
【0050】
【課題を解決するための手段】以上の目的を達成するた
めに、請求項1の発明においては、大量の電子化文書情
報からなるコーパスと、入力文字列に対する該コーパス
中での正規化頻度を求める正規化頻度計算ステップと、
該正規化頻度に基づいて形態素解析結果の確からしさを
計算するコスト計算ステップと、単語辞書と、自立語検
索ステップと、付属語検索ステップと、接続表と、接続
検定ステップと、未知語切り出しステップと、解析表作
成ステップと、解析結果抽出ステップとを有するもので
ある。
【0051】請求項2の発明においては、複数の未知語
の可能性を考慮した未知語生成ステップを設け、複数文
字からなる未知語を処理できるようにし、正規化頻度を
コストとすることで既知語と未知語に対して同様のコス
トで統一的に処理を行い、単語文字列の一部に既知語を
含むような未知語を正しく未知語と認定した形態素解析
結果が得られるものである。
【0052】請求項3の発明においては、未知語範囲設
定ステップと未知語範囲検出ステップを設けることによ
り、未知語を含まない入力文については未知語候補を生
成せず無駄な処理を削減でき、効率のよいものである。
【0053】請求項4の発明においては、正規化頻度を
形態素コストとして導入することにより、正規化頻度を
あらかじめ計算して辞書に格納しておくことが可能とな
り、実行時の効率がよい形態素解析方法としている。ま
た、正規化頻度を形態素コストとすることにより生じる
曖昧性については、従来方式のコスト計算を併用するこ
とにより解消するものである。
【0054】請求項5の発明においては、大量の電子化
文書情報からなるコーパスと、入力文字列に対する該コ
ーパス中での正規化頻度を求める正規化頻度計算部と、
該正規化頻度に基づいて形態素解析結果の確からしさを
計算するコスト計算部と、単語表記と文法情報が格納さ
れた単語辞書と、該単語辞書を参照して自立語の文法情
報を得る自立語検索部と、上記単語辞書を参照して付属
語の文法情報を得る付属語検索部と、形態素間の接続関
係が記憶された接続表と、該接続表を参照して形態素間
の接続検定を行なう接続検定部と、未知語候補文字列を
切り出して自立語候補に加える未知語切り出し部と、上
記コスト計算部と上記自立語検索部と上記付属語検索部
と上記接続検定部と上記未知語切出部を選択して呼び出
し、制御情報を参照しつつ形態素解析を行なう解析表作
成部と、解析表から解析結果を抽出して出力する解析結
果抽出部とを有する。
【0055】
【発明の実施の形態】
実施の形態1 図1は本発明における実施の形態1を示す概念ブロック
図である。図1において、19は文字列13を入力する入力
部である。1はコスト計算部2と自立語検索部3と付属語
検索部5と接続検定部6と未知語切出部9を適宜呼び出
し、制御情報部8の制御情報8xを参照しつつ形態素解析
を行なう解析表作成部である。2は解析結果および解析
途中結果に対して文節単位でコストを付与するコスト計
算部である。3は単語辞書4を参照して自立語の文法情報
を得る自立語検索部である。4は単語表記と文法情報を
格納した単語辞書である。5は単語辞書4を参照して付属
語の文法情報を得る付属語検索部である。6は形態素間
の接続規則を格納した接続表7を参照して形態素間の接
続検定を行なう接続検定部である。
【0056】8は解析表作成部1が使用する制御用情報と
解析表作成部1が作成した解析表8hを含む制御情報8xが
記憶されている制御情報部である。9は自立語検索部3が
自立語候補を生成する際に、未知語候補文字列を切り出
して自立語候補に加える未知語切出部である。10は制御
情報8xに含まれる解析表8hから解析結果を抽出して出力
する解析結果抽出部である。11はコーパス12を参照して
与えられた文字列13の正規化頻度を計算する正規化頻度
計算部である。12は正規化頻度を計算する統計情報を得
るための大量の電子化文書からなるコーパスである。20
は解析結果抽出部10から出力された解析結果を表示する
表示部である。
【0057】図2は制御情報部8に記憶された制御情報8
xの詳細な内容である。解析が入力文字列13のどの位置
まで進行しているかを保持する変数Rmax(8a)、解析表を
展開する段階を示す変数Phase(8b)、入力文字列13の位
置iにおける文節末可能性の最大値を保持する配列Etabl
e〔i〕(8c)、自立語検索状況を保持する配列Ctable
〔i〕(8d)、自立語検索結果を保持する配列Cset〔i〕(8
e)、付属語検索状況を保持する配列Ftable〔i〕(8f)、
付属語検索結果を保持する配列Fset〔i〕(8g)、解析表
を登録する配列T〔i〕(8h)、解析中の文字列位置p(8i)
からなる。
【0058】図3は、本発明における実施の形態1の動
作を示すフローチャートである。入力部19から入力とし
て図1示す「新人類が現れた」という文字列13が入力さ
れたとする。入力文字列13の文字間に示された数字は文
字位置を示す。
【0059】ステップS1では、制御情報8xを初期化す
る。ステップS2では、文頭の自立語を検索する。手続き
cmake(0)は、ステップS6におけるcmake(p)でp=0とした
場合と等価である。
【0060】以下、図4を参照しながら、手続きcmake
(p)について説明する。ステップS21において、図1の解
析表作成部1は制御情報8x中のCtable〔p〕(8d)を参照し
て、もし0ならばステップS22に進む。1ならばステップS
24に進む。図3のステップS2のcmake(0)においては、Ct
able〔0〕が0なのでステップS22に進む。
【0061】ステップS22では、解析表作成部1は自立語
辞書検索部3を呼び出す。自立語辞書検索部3は単語辞書
4を参照して自立語の辞書検索を行なう。検索結果は制
御情報8x中のCset〔p〕(8e)に格納される。図3のステ
ップS2のcmake(0)においては、文字位置0で始まる単語
である「新人」「新」がCset〔0〕(8e)に文法情報とと
もに格納される。図5にCset〔0〕に登録されるデータ
を示す。図5において8e1は文法情報α、8e2は自立語の
先頭文字位置、8e3は単語長である。一般には、解析精
度を高めるために、文法情報αは一般的な品詞をさらに
細かく分類した細分類品詞が用いられる。本実施の形態
1では説明を簡単にするため、文法情報αは品詞を示す
ものとする。
【0062】ステップS23では、解析表作成部1は未知語
切出部9を呼び出す。未知語切出部9は入力文字列13の字
種にしたがって、未知語を切り出す。ここでは、漢字な
ので、単漢字が未知語候補として切り出され、(*新*,単
漢字,0,1)がCset〔0〕(8e)に加えられる。文字位置pに
おける字種がアルファベットまたはカタカナの場合は、
アルファベット列またはカタカナ列をひとつの未知語と
して処理する。平仮名の場合は平仮名1文字を未知語候
補とする。
【0063】ステップS24において、解析表作成部1は、
制御情報8x中の解析表T〔p〕(8h)を検索し、最小コスト
値Wを求める。ここで解析表8hに登録される項目につい
て、図6を用いて説明する。項目は単語に対応してお
り、対応する単語の先頭位置(8h1)、末尾位置(8h2)、文
法情報α(8h3)、文節末の可能性の強さを表す値e(8
h4)、コストの部分和w(8h5)、活動中の項目か
否かを表す値c(8h6)、この項目に至る直前の項目番号(8
h7)からなる。図6において、項目1はCset〔0〕(8e)に
おける「新人」という単語に対応しており、解析表T
〔2〕(8h)に登録されている。直前項目番号(8h7)が0と
なっているが、項目番号0は特別の値で、入力文の先頭
を表す。
【0064】図7を用いてステップS24の処理を詳細に
説明する。従来方式におけるステップSy24では、p=1の
ときT〔1〕中に登録された項目のコスト部分和w(208h4)
は、すでに計算されている。これは、208h4の計算が、p
=0のときステップSy25において新たな項目を登録する時
になされるためである。一方、本実施の形態1における
ステップS24においては、p=0のときステップS25ではコ
スト部分和wとしてNotEvaluatedを示す-1が付与され
る。これは、正規化頻度をコスト関数に導入すると、コ
スト最小法アルゴリズムでコスト関数が満たすべき条件
を満たさなくなるためである。
【0065】コスト最小法アルゴリズムにおいては、コ
スト関数は解析文字位置p(8i)に関して単調でなくては
ならない。本実施の形態1においては、コスト関数とし
て文節の表記文字列に対する正規化頻度の逆数を使用す
ることとし、付属語形態素についてはコスト関数を使用
した解析候補の絞り込みは行なわない。そのため、項目
に与えられるコストは、文節区切りが決定した候補に限
られる。
【0066】そこで、図7に示すように、p=0のときス
テップS25ではコスト8h4としてNotEvaluated(図中では-
1で表す)を与えておき、p=1のときステップS24でコスト
最小値Wを求める際に、文節区切りが確定したT〔1〕中
の項目(0,1,接頭語,-1,5,1,1,0)のコスト部分和wを計算
する。
【0067】ステップS24におけるコストの計算方法を
図8を参照しながら説明する。ステップS24aにおいて、
一時変数x*に項目xを代入する。ステップS24bにおい
て、一時変数pに項目x*の開始位置(8h1)、一時変数αに
項目x*の文法情報(8h3)を代入する。
【0068】ステップS24cでは、文法情報αが自立語か
どうかを判定し、自立語ならばステップS24eに進む。自
立語ではない場合は、ステップS24dに進み、項目x*の開
始位置pよりT〔p〕を検索し、項目x*と接続し得る項目
を新たなx*とする。ステップS24bに進み、自立語となる
項目x*が見つかるまでS24b〜S24dを繰り返す。以上のス
テップにより、入力項目xが含まれる文節の先頭となる
単語に対応する項目x*を得る。例えば、図9の項目x:(3,
4,助詞,-1,5,1,7,5)は助詞「が」に対応する項目であ
り、自立語の項目x*:(1,3,名詞,0.85,5,1,5,2)が文節の
先頭の項目として得られる。
【0069】ステップS24eでは、x*の直前の項目のコス
トを検索し、これをWpreとする。ステップS24fでは、項
目x*から入力項目xまでの文節表記に対するコストWnow
を求め、Wpre+Wnowを項目xのコストとして設定する。図
9の例では、「人類の」に対する正規化頻度コスト0.85
と直前項目のコスト0.93から1.78という値がxのコスト
として設定される。
【0070】正規化頻度コストの計算式を図15に示
す。文節のコストは表記文字列の正規化頻度の逆数で与
える。qは正規化頻度が常に正の値をとるように設定し
てある。コストを求める際にはコーパス12を参照して、
与えられた文字列の出現頻度xkiを得る。コーパス12に
対応して。あらかじめ計算された値、μk、σk、qを参
照して正規化頻度xkiおよびコスト1/xkiを計算する。
【0071】図4に戻ってステップS25以下について説
明する。ステップS25では、解析表作成部1は、最小コス
ト値wをもつ項目について、解析表T〔p〕(8h)に新たな
項目(p,k,α,bend(α),-1,1)を登録する。ここでbend
(α)は、文法情報αおよび字種情報から与えられる文節
末可能性の強さを表す値である。図10に、bend(α)を
与える例を示す。
【0072】ステップS26において、図2の制御情報8x
中のCtable〔p〕(8d)の値を1に更新する。
【0073】図3に戻り、ステップS3に進む。ここで、
解析表作成部1は、制御情報8x中の解析表配列T〔p〕(8
h)を参照し、空集合であればステップS7に進む。空集合
でなければステップS4に進む。ここではp=1で、ステッ
プS2において図6に示すT〔1〕が存在するのでステップ
S4に進む。
【0074】ステップS4において、解析表作成部1は、
文字位置pで始まる付属語を検索する。以下、手続きfma
ke(p)について、図11を用いて説明する。
【0075】ステップS31において、解析表作成部1は制
御情報8x中のFtable〔p〕(8f)を参照して、もし0ならば
ステップS32に進む。1ならばステップS38に進む。い
ま、p=1で、Ftable〔1〕は0なので、ステップS32に進
む。
【0076】ステップS32では、解析表作成部1は付属語
辞書検索部5を呼び出す。付属語辞書検索部5は単語辞書
4を参照して付属語の辞書検索を行なう。検索結果は制
御情報8x中のFset〔p〕(8g)に格納される。いまp=1で、
文字位置1から始まる付属語は存在しないので、Fset
〔1〕(8g)は空集合φのままである。処理が進んでp=3の
ときは、格助詞の「が」が付属語辞書から検索されて、
Fset〔3〕(8g)に格納される。
【0077】ステップS33では、解析表作成部1は制御情
報8x中の解析表T〔p〕(8h)を参照しつつ、接続検定部6
を呼び出す。解析表T〔p〕中にFset(j)中の形態素βが
接続可能な形態素αをもつ項目があれば、その項目を一
時記憶しステップS34において解析表に新たな項目を登
録する。形態素αと形態素βの接続可否は、図12に示
すように接続表7に行列の形式で格納されており、接続
検定部6は接続表7を参照して接続可否を決定する。例え
ば、p=3のとき、T〔3〕には、項目5(1,3,名詞,7,-1,1,
5,2)が登録されている。Fset(3)には、助詞「が」が含
まれており、名詞と助詞は図12に示されるように接続
可能であるので、項目1は新たな項目を登録するための
候補となる。
【0078】ステップS34では、ステップS33において条
件に適合する項目が存在したかどうかを判定し、存在す
るならばステップS35に進む。ステップS35では、ステッ
プS33で得た項目をもとに、新たな項目(p,k,β,bend
(β),-1,1,id,idp)を解析表T〔k〕に登録する。ここ
で、idは新たに登録される項目の項目番号(8h7)であ
り、idpはステップS33で条件に適合した項目の項目番号
である。上記のp=3の場合の例では、項目5に助詞の
「が」が接続した結果である項目7(3,4,助詞,5,6,1,7,
5)がT〔4〕(8g)に登録される。ステップS37に進む。
【0079】ステップS34で条件に適合する項目が存在
しないと判定された場合は、ステップS35において、解
析表作成部1は、解析表T〔p〕(8h)に、条件に適合しな
かった文法情報βより項目(p,k,β,bend(β),0,0,id,id
p)を登録する。
【0080】ステップS35において、制御情報8x中のFta
ble〔p〕(8f)の値を1に更新する。
【0081】ステップS31においてFtable〔p〕=1だった
場合は、ステップS38において、項目(j,k,β,bend(β),
0,0,id,0)について、ステップS33と同様にして項目を求
める。ステップS39において、ステップS34と同様の判定
を行ない、YESの場合はステップS40に進み、NOの場合は
fmake(p)を終了し、図3のステップS5に進む。
【0082】ステップS40において、解析表作成部1は、
制御情報8x中の解析表T〔p〕(8h)の項目(p,k,β,bend
(β),ー1,0,id,0)を削除し、新たに項目(p,k,β,bend
(β),-1,1,id,idp)を登録する。fmake(p)を終了し、図
3のステップS5に進む。ステップS38〜S40は、図3のフ
ローチャートにおいて、ステップS10〜S12が実行された
後、再度ステップS4でfmake(p)が呼び出された時に実行
される。ステップS10〜S12が実行されるのは、入力文字
列が未知語を含む場合である。
【0083】ステップS31において、解析表作成部1は制
御情報8x中のFtable〔p〕(8f)を参照して、1である場合
はステップS38に進む。ステップS38では、ステップS33
と同様にして、制御情報8x中の解析表T〔p〕(8h)を参照
しつつ、接続検定部6を呼び出す。解析表T〔p〕中にFse
t(j)中の形態素βが接続可能な形態素αをもつ項目(p,
k,β,bend(β),0,0,id,idp)があれば、その項目を一時
記憶しステップS39において解析表に新たな項目を登録
する。
【0084】ステップS39では、ステップS38において条
件に適合する項目が存在したかどうかを判定し、存在す
るならばステップS40に進む。ステップS40では、ステッ
プS38で得た項目を解析表T〔p〕(8h)より削除し、新た
な項目(p,k,β,bend(β),-1,1,id,idp)を解析表T〔k〕
に登録する。fmake(p)を終了し、図3のステップS5に進
む。
【0085】図11で記述した図3のステップS4の処理
が終了すると、図3においてステップS5に進み、解析表
作成部1は制御情報8x中のEtable〔p〕(8c)を参照して、
Phase(8b)以上であれば、ステップS6に進む。Etable
〔p〕(8c)は、項目がT〔p〕に登録されるときに更新さ
れる。T〔p〕に登録された項目がもつ文節末可能性の値
のうち、もっとも文節末可能性の高い値がEtable〔p〕
に格納されている。ステップS5で、文節末可能性の値が
Phase(8b)以上である候補のみ、ステップS6に進んで、
次の自立語の検索を行なう。つまり、文節末可能性の値
とPhase(8b)との関係によって、次の自立語の検索を行
なうか否かが制御される。例えば図1の入力において、
p=1の場合はEtable〔1〕が4で、Phaseの初期値がδ(=7)
なので、ステップS6は実行せずにステップS7に進む。
【0086】ステップS7では、文字位置p(8i)を更新す
る。ここでは、p=1からp=2に更新されたものとする。ス
テップS8では、文字位置p(8i)が入力文字長さnに達して
いるかどうかを判定し、達していれば、解析を終了す
る。解析結果は、図6に示した解析表(8h)の形で保持さ
れており、図1の解析結果抽出部10が解析表(8h)を参照
しながら、解析結果を出力する。いま、p=2なので、ス
テップS9に進む。
【0087】ステップS9では、制御情報8x中のRmax(8a)
を参照して、文字位置pとの大小関係を判定する。Rmax
(8a)は、解析表に登録された項目の終端文字位置の最大
値が格納されている。いま、Rmax(8a)は、図6のT〔2〕
に対応した〔2〕の2が格納されているので、ステップS1
0には進まずにステップS3に戻る。
【0088】ステップS3から再度ステップS4、ステップ
S5を実行し、ステップS7において、p=2となって、ステ
ップS8、ステップS9を実行してステップS10に進む。
【0089】ステップS10では、Phase(208b)を更新す
る。以降、ステップS5では、より緩い条件でステップS6
へ分岐するようになるため、解析が先に進んでいくこと
となる。
【0090】以上のようにして、図13に示すような形
態素解析結果が得られる。図14に従来技術(コスト最
小法)での解析結果との比較を示す。従来技術では、解
析結果Aと解析結果Bとが同じコスト計算値をもつため、
曖昧性をもった結果となっていたが、本発明による解析
結果では、解析結果Aの方がコストが低くなり、正しい
解析結果を得ることができる。
【0091】実施の形態2.図16は本発明における実
施の形態2を示す概念ブロック図である。図16におい
て、19は文字列15を入力する入力部である。1はコスト
計算部2と自立語検索部3と付属語検索部5と接続検定部6
と未知語候補抽出部14を適宜呼び出し、制御情報部8の
制御情報8xを参照しつつ形態素解析を行なう解析表作成
部である。2は解析結果および解析途中結果に対してコ
ストを付与するコスト計算部である。3は単語辞書4を参
照して自立語の文法情報を得る自立語検索部である。4
は単語表記と文法情報を格納した単語辞書である。5は
単語辞書4を参照して付属語の文法情報を得る付属語検
索部である。6は形態素間の接続規則を格納した接続表7
を参照して形態素間の接続検定を行なう接続検定部であ
る。
【0092】8は解析表作成部1が使用する制御用情報と
解析表作成部1が作成した解析表8hを含む制御情報8xが
記憶されている制御情報部である。14は自立語検索部が
自立語候補を生成する際に、未知語候補文字列を切り出
して複数の未知語の可能性を考慮して自立語候補に加え
る未知語候補抽出部である。10は制御情報8xに含まれる
解析表8hから解析結果を抽出して出力する解析結果抽出
部である。11はコーパス12を参照して与えられた文字列
の正規化頻度を計算する正規化頻度計算部である。12は
正規化頻度を計算する統計情報を得るための大量の電子
化文書からなるコーパスである。20は解析結果抽出部10
から出力されたら解析結果を表示する表示部である。
【0093】本実施の形態では、全体的な解析アルゴリ
ズムは図3に示すフローチャートに従う。実施の形態1
において説明したのと同様にして、入力文字列15を解析
表作成部1が、制御情報8xを参照しつつ、適宜コスト計
算部2と自立語検索部3と付属語検索部5と接続検定部6と
未知語候補抽出部14を呼び出し解析を進める。解析が終
了すると、解析結果抽出部10が制御情報8xを参照しつつ
解析結果を抽出して出力する。解析の全体的な流れは実
施の形態1と同様なので、詳細な説明は省略する。
【0094】図3のステップS1で制御情報8xの初期化が
なされ、ステップS2で文頭の自立語が検索される。ステ
ップS2のcmake(0)において、本実施の形態2の特徴であ
る未知語候補抽出部14が呼び出される。以下では、未知
語候補抽出部14の動作について、図16から図21まで
を参照しながら説明する。
【0095】ステップS221において、図16の解析表作
成部1は制御情報8x中のCtable〔p〕(8d)を参照して、も
し0ならばステップS222に進む。1ならばステップS224に
進む。いまp=0で、Ctable〔0〕は初期化された状態で0
なのでステップS222に進む。
【0096】ステップS222では、解析表作成部1は自立
語辞書検索部3を呼び出す。自立語辞書検索部3は単語辞
書4を参照して自立語の辞書検索を行なう。詳細につい
ては、実施の形態1におけるステップS22と同様なので
省略する。いま、「動名詞」という単語が図16の単語
辞書4にないため、自立語検索結果格納配列Cset〔0〕は
空集合φのままである。
【0097】ステップS223では、解析表作成部1は未知
語候補抽出部14を呼び出す。未知語候補抽出部14は入力
文字列15の字種にしたがって、未知語の候補を生成す
る。ここでは漢字なので最大3文字までを未知語の候補
と考え、図18に示すような未知語候補が抽出されて、
Cset〔0〕(8e)に加えられる。文字位置pにおける字種が
アルファベットまたはカタカナの場合は、アルファベッ
ト列またはカタカナ列を構成するすべての部分文字列を
未知語候補として抽出する。平仮名の場合は最大5文字
までを未知語候補とする。
【0098】ステップS224において、解析表作成部1
は、制御情報8x中の解析表T〔p〕(8h)を検索し、最小コ
スト値Wを求める。詳細については、実施の形態1にお
けるステップS24と同様なので省略する。
【0099】ステップS225では、解析表作成部1は、最
小コスト値wをもつ項目について、解析表T〔p〕(8h)に
新たな項目(p,k,α,bend(α),-1,1,id,idp)を登録す
る。ここでは、図19に示すような項目が登録される。
ステップS226において、制御情報8x中のCtable〔p〕(8
d)の値を1に更新する。cmake(p)を終了して図3のステ
ップS3に進む。(cmake(0)のときはステップS2に進
む。)
【0100】図3に戻り、ステップS3に進む。以下、実
施の形態1と同様にして解析が進む。解析が進んだ場合
の、項目表T〔p〕(8h)の様子を図20に示す。p=5のと
き、T〔4〕に登録された項目のコストが計算され、「動
名詞〔未知語〕を〔助詞〕」という解析結果を示す項目
番号12の項目のコストは5.82で、「動〔未知語〕名詞
〔名詞〕を〔助詞〕」という解析結果を示す項目番号11
の項目のコストよりも小さくなる。したがって、T
〔5〕,T〔6〕での解析は、コストの低い項目番号12が優
先される。
【0101】最終的な解析結果として、図21に示す結
果が得られる。従来方式では、最終結果として、「動」
のみが単漢字となる解析結果が得られるが、本実施の形
態によれば「動名詞」が未知語とされる正しい形態素解
析結果が得られる。
【0102】実施の形態3.図22は本発明における実
施の形態3を示す概念ブロック図である。図22におい
て、19は文字列17を入力する入力部である。1はコスト
計算部2と自立語検索部3と付属語検索部5と接続検定部6
と未知語候補抽出部14と未知語処理範囲設定部16を適宜
呼び出し、制御情報8xを参照しつつ形態素解析を行なう
解析表作成部である。2は解析結果および解析途中結果
に対してコストを付与するコスト計算部である。3は単
語辞書4を参照して自立語の文法情報を得る自立語検索
部である。4は単語表記と文法情報を格納した単語辞書
である。5は単語辞書4を参照して付属語の文法情報を得
る付属語検索部である。6は形態素間の接続規則を格納
した接続表7を参照して形態素間の接続検定を行なう接
続検定部である。
【0103】8は解析表作成部1が使用する制御用情報と
解析表作成部1が作成した解析表8hを含む制御情報8xが
記憶されている制御情報部である。14は自立語検索部が
自立語候補を生成する際に、未知語候補文字列を切り出
して複数の未知語の可能性を考慮して自立語候補に加え
る未知語候補抽出部14である。10は制御情報8xに含まれ
る解析表8hから解析結果を抽出して出力する解析結果抽
出部である。11はコーパス12を参照して与えられた文字
列の正規化頻度を計算する正規化頻度計算部である。12
は正規化頻度を計算する統計情報を得るための大量の電
子化文書からなるコーパスである。16は未知語処理の範
囲を設定する未知語処理範囲設定部である。20は解析結
果抽出部10から出力されたら解析結果を表示する表示部
である。
【0104】以下、図23のフローチャートを参照し
て、本実施の形態3の動作について詳細に説明する。図
23においては、ステップ13とステップ14以外のステッ
プに関しては、実施の形態1において図3に示したフロ
ーチャートと同様であるので詳細な説明は省略する。た
だし、ステップ6のcmake(p)とステップ4のfmake(p)の内
部の動作に関しては、以下、図24から図26までを参
照しながら詳細に説明する。
【0105】ステップS1で、制御情報8xの初期化がなさ
れる。初期化時に、未知語範囲設定部のもつ変数UksとU
keを初期化する。UksとUkeは未知語処理を起動する未知
語処理範囲を示す。通常の処理では未知語処理が起動さ
れないよう、UksとUkeは、それぞれ有り得ない数字で初
期化する。未知語処理範囲開始位置Uksは入力文字列長
さnで初期化し、未知語処理範囲終了位置Ukeは0で初期
化する。
【0106】ステップS2で文頭の自立語が検索される。
ステップS2のcmake(0)において文頭の自立語検索が行な
われる。いま図22に示した「委譲投票の結果」の文字
列17が入力され、単語辞書4には「委譲」という単語が
登録されていないとする。以下、図24を参照しなが
ら、手続きcmake(p)について説明する。
【0107】図24のステップS321において、解析表作
成部1は制御情報8x中のCtable〔p〕(8d)を参照して、も
し0ならばステップS322に進む。1ならばステップS327に
進む。図24のステップS2のcmake(0)においては、Ctab
le〔0〕が0なのでステップS322に進む。
【0108】ステップS322では、解析表作成部1は自立
語辞書検索部3を呼び出す。自立語辞書検索部3は単語辞
書4を参照して自立語の辞書検索を行なう。検索結果は
制御情報8x中のCset〔p〕(8e)に格納される。図23の
ステップS2のcmake(0)においては、文字位置0で始まる
単語である「委」がCset〔0〕(8e)に文法情報とともに
格納される。従来技術においては、ステップS322の次
に、つねに未知語切り出し処理を行なっていたが、本実
施の形態3においては、ここでは行なわずステップS324
に進む。代わりにステップS321でNOの場合、ステップS3
27に進み、判定結果がYESならばステップS327で未知語
切り出し処理を実行する。ステップS324に進む。
【0109】ステップS324において、解析表作成部1
は、制御情報8x中の解析表T〔p〕(8h)を検索し、最小コ
スト値Wを求める。この処理は実施の形態1における図
4のステップS24と同様の処理なので、ここでは説明を
省略する。ステップS324においてコスト最小値Wを求め
た後、ステップS328に進む。
【0110】ステップS328では、未知語処理範囲設定部
16を呼び出し、pが未知語処理範囲に入っているかどう
かとCtable〔p〕が0かどうかを判定する。YESと判定さ
れた場合はステップS325に進む。NOと判定された場合は
ステップS329に進む。
【0111】ステップS325では、解析表作成部1は、最
小コスト値wをもつ項目について、解析表T〔p〕(8h)に
新たな項目(p,k,α,bend(α),-1,1,id,idp,f)を登録す
る。ここで、fは未知語処理フラグ(8h9)である。図26
に解析途中における解析表T〔p〕の内容を示す。未知語
処理フラグfは、未知語処理が起動されたとき、通常処
理における項目と分離して処理するための情報である。
【0112】ステップS329では、Cset〔j〕が未知語な
ので、未知語処理フラグfを1とした項目を登録する。ス
テップS326において、図2の制御情報8x中のCtable
〔p〕(8d)の値を1に更新する。cmake(p)を終了して、図
23のフローチャートに戻る。いま、文頭自立語の検索
が終了したところなので、図23のステップS2が終了し
たところである。
【0113】図23に戻り、ステップS3に進む。ここ
で、解析表作成部1は、制御情報8x中の解析表配列T
〔p〕(8h)を参照し、空集合であればステップS7に進
む。空集合でなければステップS4に進む。ここではp=1
で、ステップS2において図26に示すT〔1〕が存在する
のでステップS4に進む。
【0114】ステップS4において、解析表作成部1は、
文字位置pで始まる付属語を検索する。以下、手続きfma
ke(p)について、図25を用いて説明する。
【0115】ステップS331において、解析表作成部1は
制御情報8x中のFtable〔p〕(8f)を参照して、もし0なら
ばステップS332に進む。1ならばステップS343に進む。
【0116】ステップS332では、解析表作成部1は付属
語辞書検索部5を呼び出す。付属語辞書検索部5は単語辞
書4を参照して付属語の辞書検索を行なう。検索結果は
制御情報8x中のFset〔p〕(8g)に格納される。ステップS
341に進む。
【0117】ステップS341では、未知語処理範囲設定部
9を呼び出し、文字位置pが未知語処理範囲に入っている
かどうかを判定する。判定の結果がNOの場合は未知語処
理をする必要が無いので、ステップS333において、実施
の形態1における図11のS33と同様の処理を行なう。
判定の結果がYESの場合は、未知語処理のみすればよい
ので、項目の未知語処理フラグ(8h9)の値が1である項目
のみ対象としてS33と同様の処理を行なう。ステップS33
4に進む。
【0118】以下、ステップS334からステップS337の処
理は実施の形態1において、図11を用いて説明したの
で、ここでは省略する。fmake(p)を終了して、図23に
戻り、ステップS5に進む。
【0119】ステップS331において、Ftable〔p〕が1な
らばステップS343に進む。ステップS343では、ステップ
S341と同様の判定を行なう。判定結果がYESならばステ
ップS338に進み、NOならばステップS344に進む。
【0120】ステップS338では、未知語処理をする必要
が無いので、実施の形態1における図11のS38と同様
の処理を行なう。ステップS339に進む。
【0121】ステップS344では、未知語処理のみ行なう
ので、未知語フラグ(8h9)が1の項目のみ処理する。ステ
ップS339に進む。
【0122】ステップS339とステップ340の処理は実施
の形態1において図11を用いて説明したので、ここで
は省略する。図23に戻ってステップS5に進む。ステッ
プS5からステップS9までは、実施の形態1と同様なの
で、説明は省略する。
【0123】ステップS9の判定でYESとなった場合、ス
テップS11のループ処理の前後で未知語処理範囲先頭位
置と、末尾位置を求める。例えば、図22における入力
文字列17においては、p=1のとき、ステップS2〜S8を実
行した後、ステップS9でNOとなり、再度ステップS3〜S8
を実行する。ステップS9においてp=2のとき、ステップS
13に進み、未知語処理範囲末尾位置Uke=3を得る。さら
にステップS14において未知語処理範囲位置Uks=0を得
る。
【0124】以上のように処理が進むため、未知語処理
が起動されるのは文字位置pが0〜3のときのみである。p
が4以上のときは未知語処理が起動されない。このよう
に未知語処理が起動される範囲を限定できるため無駄な
処理を削減でき、高速化をはたすことができる。
【0125】実施の形態4.図27は本発明における実
施の形態4を示す概念ブロック図である。図27におい
て、19は文字列13を入力する入力部である。1は形態素
コスト計算部18と自立語検索部3と付属語検索部5と接続
検定部6と未知語切出部9を適宜呼び出し、制御情報部8
の制御情報8xを参照しつつ形態素解析を行なう解析表作
成部である。18は解析結果および解析途中結果に対して
形態素単位でコストを付与するコスト計算部である。3
は単語辞書4を参照して自立語の文法情報を得る自立語
検索部である。4は単語表記と文法情報と正規化頻度を
格納した単語辞書である。5は単語辞書4を参照して付属
語の文法情報を得る付属語検索部である。6は形態素間
の接続規則を格納した接続表7を参照して形態素間の接
続検定を行なう接続検定部である。
【0126】8は解析表作成部1が使用する制御用情報と
解析表作成部1が作成した解析表8hを含む制御情報8xが
記憶されている制御情報部である。9は自立語検索部が
自立語候補を生成する際に、未知語候補文字列を切り出
して自立語候補に加える未知語切出部である。10は制御
情報8xに含まれる解析表8hから解析結果を抽出して出力
する解析結果抽出部である。11はコーパス12を参照して
与えられた文字列の正規化頻度を計算する正規化頻度計
算部である。12は正規化頻度を計算する統計情報を得る
ための大量の電子化文書からなるコーパスである。20は
解析結果抽出部10から出力されたら解析結果を表示する
表示部である。
【0127】本実施の形態では、全体的な解析アルゴリ
ズムは図3に示すフローチャートに従う。実施の形態1
において説明したのと同様にして、入力文字列13を解析
表作成部1が、制御情報8xを参照しつつ、適宜コスト計
算部2と自立語検索部3と付属語検索部5と接続検定部6と
未知語切出部9を呼び出し解析を進める。解析が終了す
ると、解析結果抽出部10が制御情報8xを参照しつつ解析
結果を抽出して出力する。解析の全体的な流れは実施の
形態1と同様なので、詳細な説明は省略する。
【0128】図3のステップS1で制御情報8xの初期化が
なされ、ステップS2で文頭の自立語が検索される。ステ
ップS2のcmake(0)において、本実施の形態4の特徴であ
る形態素コスト計算部18が呼び出される。以下では、形
態素コスト計算部18の動作について、図28から図30
までを参照しながら説明する。
【0129】以下、図28を用いてcmake(p)の動作を説
明する。ステップS421において、図27の解析表作成部
1は制御情報8x中のCtable〔p〕(8d)を参照して、もし0
ならばステップS422に進む。1ならばステップS424に進
む。
【0130】ステップS422では、解析表作成部1は自立
語検索部3を呼び出す。自立語検索部3は単語辞書4を参
照して自立語の辞書検索を行なう。詳細については、実
施の形態1におけるステップS22と同様なので省略す
る。ただし、本実施の形態においては、図27に示すよ
うにコーパス12と正規化頻度計算部11は、単語辞書4に
直結される。すなわち、単語辞書4に登録された単語す
べてについて、あらかじめコーパス12における正規化頻
度を計算しておく。あらかじめ計算しておくことによ
り、解析実行時にコーパス12を参照する必要がなくな
り、速度性能が向上する。
【0131】ステップS423では、解析表作成部1は未知
語切出部9を呼び出す。未知語切出部9は入力文字列の字
種にしたがって、未知語の候補を生成する。このステッ
プは実施の形態1におけるステップS23と同様である。
【0132】ステップS424では、解析表作成部1は、制
御情報8x中の解析表T〔p〕(8h)を検索し、最小コスト値
Wを求める。本実施の形態においては、文節単位ではな
く形態素単位で正規化頻度コストを使用するので、実施
の形態1とは異なり、従来方式と同様にして最小コスト
値Wを求めることができる。このとき、項目は図30に
示す形式をしており、costAとcostBという2種類のコス
ト値をもつ。costAは、形態素単位の表記文字列に対し
て付与される正規化頻度コストである。ステップS422で
単語辞書4より形態素単位の正規化頻度x*mを得て、 x*m
から計算する。
【0133】最小コスト値Wを求める際には、まずcostA
における最小コスト値Waを求め、つぎに最小コスト値Wa
をもつ項目の中でcostBにおける最小コスト値Wbを求め
る。コストを2種類併用するのは、正規化頻度を形態素
コストとすることにより生じる曖昧性を解消するためで
ある。
【0134】ステップS425では、解析表作成部1は、最
小コスト値Wa、Wbをもつ項目について、解析表T〔p〕(8
h)に新たな項目(p,k,α,bend(α),Wa+costA(s),Wb+cost
B(α),1,id,idp)を登録する。ステップS426において、
制御情報8x中のCtable〔p〕(8d)の値を1に更新する。 c
make(p)を終了して図3のステップS3に進む。(cmake
(0)のときはステップS2に進む。)
【0135】以下、実施の形態1と同様にして解析が進
む。図29を用いてfmake(p)について説明する。図29
において、ステップS31からステップS34、またはステッ
プS39までは実施の形態1と同様なので説明を省略す
る。ただし、ステップS33およびステップS38について
は、従来技術と同様にして、コスト値による絞り込みを
行うようにしてもよい。これは文節コストではなく形態
素コストを採用したためである。
【0136】図29において、ステップS435、ステップ
S436、ステップS440のいずれも、さきに説明したcmake
(p)におけるステップS425と同様にして、costA、costB
の更新をした上で新たな項目を登録する。
【0137】以下実施の形態1と同様にして解析が進
み、解析結果抽出部10により形態素解析結果が得られ
る。以上のようにして、あらかじめ単語辞書に格納され
た単語に対して正規化頻度を計算して格納しておくこと
により、コーパスを参照する必要がないため、高速に正
規化頻度コストを利用した形態素解析を実行できる。
【0138】
【発明の効果】以上のように請求項1の発明によれば、
大量の電子化文書情報からなるコーパスと、入力文字列
に対する該コーパス中での正規化頻度を求める正規化頻
度計算ステップと、該正規化頻度に基づいて形態素解析
結果の確からしさを計算するコスト計算ステップと、単
語辞書と、自立語検索ステップと、付属語検索ステップ
と、接続表と、接続検定ステップと、未知語切り出しス
テップと、解析表作成ステップと、解析結果抽出ステッ
プを有し、コーパスに基づく統計的な情報をコストに導
入することにより、従来のコスト計算式では解消できな
い曖昧性を解消し、良好な形態素解析結果を得ることが
できる。
【0139】また、請求項2の発明によれば、複数の未
知語の可能性を考慮した未知語生成ステップを設け、複
数文字からなる未知語を処理できるようにし、正規化頻
度をコストとすることで既知語と未知語に対して同様の
コストで統一的に処理を行い、単語文字列の一部に既知
語を含むような未知語を正しく未知語と認定した形態素
解析結果を得ることができる。
【0140】さらに、請求項3の発明によれば、未知語
範囲設定ステップと未知語範囲検出ステップを設けるこ
とにより、未知語を含まない入力文については未知語候
補を生成せず無駄な処理を削減でき、効率よく解析する
ことができる。
【0141】請求項4の発明によれば、正規化頻度を形
態素コストとして導入することにより、正規化頻度をあ
らかじめ計算して辞書に格納しておくことが可能とな
り、実行時に効率よく形態素解析することができる。
【0142】請求項5の発明によれば、大量の電子化文
書情報からなるコーパスと、入力文字列に対する該コー
パス中での正規化頻度を求める正規化頻度計算部と、該
正規化頻度に基づいて形態素解析結果の確からしさを計
算するコスト計算部と、単語表記と文法情報が格納され
た単語辞書と、該単語辞書を参照して自立語の文法情報
を得る自立語検索部と、上記単語辞書を参照して付属語
の文法情報を得る付属語検索部と、形態素間の接続関係
が記憶された接続表と、該接続表を参照して形態素間の
接続検定を行なう接続検定部と、未知語候補文字列を切
り出して自立語候補に加える未知語切り出し部と、上記
コスト計算部と上記自立語検索部と上記付属語検索部と
上記接続検定部と上記未知語切出部を選択して呼び出
し、制御情報を参照しつつ形態素解析を行なう解析表作
成部と、解析表から解析結果を抽出して出力する解析結
果抽出部とを有しているので、コーパスに基づく統計的
な情報をコストに導入することにより、従来のコスト計
算式では解消できない曖昧性を解消し、良好な形態素解
析結果を得ることができる。
【図面の簡単な説明】
【図1】 本発明における実施の形態1を示す概念ブロ
ック図。
【図2】 制御情報の内容説明図。
【図3】 実施の形態1のフローチャート。
【図4】 自立語検索cmake(p)のフローチャート。
【図5】 辞書引き結果の概念図。
【図6】 項目と解析表の概念図。
【図7】 コスト計算の相違点の説明図。
【図8】 コスト計算のフローチャート。
【図9】 コスト計算の説明図。
【図10】 文節末可能性の表を示す図。
【図11】 付属語検索fmake(p)のフローチャート。
【図12】 接続表を示す図。
【図13】 形態素解析結果を示す図。
【図14】 従来の形態素解析結果との比較図。
【図15】 正規化頻度コストの計算式を示す図。
【図16】 本発明における実施の形態2を示す概念ブ
ロック図。
【図17】 実施の形態2のフローチャート。
【図18】 未知語抽出結果を示す図。
【図19】 項目と解析表の概念図。
【図20】 解析表の説明図。
【図21】 解析結果の比較を示す図。
【図22】 本発明における実施の形態3を示す概念ブ
ロック図。
【図23】 実施の形態3のフローチャート。
【図24】 自立語検索cmake(p)のフローチャート。
【図25】 付属語検索fmake(p)のフローチャート。
【図26】 解析表の説明図。
【図27】 本発明における実施の形態4を示す概念ブ
ロック図。
【図28】 自立語検索cmake(p)のフローチャート。
【図29】 付属語検索fmake(p)のフローチャート。
【図30】 項目説明図。
【図31】 従来技術の概念ブロック図。
【図32】 従来技術の制御情報説明図。
【図33】 従来技術のフローチャート。
【図34】 従来技術のフローチャート。
【図35】 従来技術の解析表説明図。
【図36】 従来技術のコスト表を示す図。
【図37】 従来技術のフローチャート。
【図38】 従来技術の項目説明図。
【図39】 従来技術の形態素解析結果を示す図。
【図40】 従来技術の概念ブロック図。
【図41】 従来技術のフローチャート。
【符号の説明】
1:解析表作成部、 2:コスト計算部、 3:自立語検
索部、4:単語辞書、 5:付属語検索部、 6: 接
続検定部、 7:接続表、8:制御情報部、 9:未知
語切出部、 10:解析結果抽出部、11:正規化頻度計算
部、 12:コーパス、 14:未知語候補抽出部、16:
未知語範囲設定部、 18:形態素コスト計算部、 1
9:入力部、20:表示部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 大量の電子化文書情報からなるコーパス
    と、入力文字列に対する該コーパス中での正規化頻度を
    求める正規化頻度計算ステップと、該正規化頻度に基づ
    いて形態素解析結果の確からしさを計算するコスト計算
    ステップと、単語表記と文法情報が格納された単語辞書
    を参照して自立語の文法情報を得る自立語検索ステップ
    と、上記単語辞書を参照して付属語の文法情報を得る付
    属語検索ステップと、形態素間の接続規則が記憶された
    接続表を参照して形態素間の接続検定を行なう接続検定
    ステップと、未知語候補文字列を切り出して自立語候補
    に加える未知語切り出しステップと、入力文字列に応じ
    て実行された上記コスト計算ステップ、自立語検索ステ
    ップ、付属語検索ステップ、接続検定ステップ及び未知
    語切出ステップの処理結果から、制御情報を参照して形
    態素解析を行なう解析表作成ステップと、解析表から解
    析結果を抽出して出力する解析結果抽出ステップを有す
    ることを特徴とする形態素解析方法。
  2. 【請求項2】 上記解析表作成ステップが、制御情報を
    参照して形態素解析を行なうときに用いる処理結果の処
    理に、複数の未知語の可能性を考慮した未知語生成ステ
    ップを有することを特徴とする請求項1記載の形態素解
    析方法。
  3. 【請求項3】 上記未知語生成ステップは、未知語範囲
    設定ステップと未知語範囲検出ステップとを有すること
    を特徴とする請求項2記載の形態素解析方法。
  4. 【請求項4】 上記コスト計算ステップは、正規化頻度
    に基づいたコストと、先験的な知識により与えたコスト
    の双方を考慮してコスト計算を実行することを特徴とす
    る請求項1ないしは請求項3の何れかに記載の形態素解
    析方法。
  5. 【請求項5】 大量の電子化文書情報からなるコーパス
    と、入力文字列に対する該コーパス中での正規化頻度を
    求める正規化頻度計算部と、該正規化頻度に基づいて形
    態素解析結果の確からしさを計算するコスト計算部と、
    単語表記と文法情報が格納された単語辞書と、該単語辞
    書を参照して自立語の文法情報を得る自立語検索部と、
    上記単語辞書を参照して付属語の文法情報を得る付属語
    検索部と、形態素間の接続関係が記憶された接続表と、
    該接続表を参照して形態素間の接続検定を行なう接続検
    定部と、未知語候補文字列を切り出して自立語候補に加
    える未知語切り出し部と、上記コスト計算部と上記自立
    語検索部と上記付属語検索部と上記接続検定部と上記未
    知語切出部を選択して呼び出し、制御情報を参照しつつ
    形態素解析を行なう解析表作成部と、解析表から解析結
    果を抽出して出力する解析結果抽出部を有することを特
    徴とする形態素解析装置。
JP9043955A 1997-02-27 1997-02-27 形態素解析方法及び形態素解析装置 Pending JPH10240735A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9043955A JPH10240735A (ja) 1997-02-27 1997-02-27 形態素解析方法及び形態素解析装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9043955A JPH10240735A (ja) 1997-02-27 1997-02-27 形態素解析方法及び形態素解析装置

Publications (1)

Publication Number Publication Date
JPH10240735A true JPH10240735A (ja) 1998-09-11

Family

ID=12678138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9043955A Pending JPH10240735A (ja) 1997-02-27 1997-02-27 形態素解析方法及び形態素解析装置

Country Status (1)

Country Link
JP (1) JPH10240735A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649308A (zh) * 2015-10-28 2017-05-10 卓望数码技术(深圳)有限公司 一种分词词库更新方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649308A (zh) * 2015-10-28 2017-05-10 卓望数码技术(深圳)有限公司 一种分词词库更新方法及系统
CN106649308B (zh) * 2015-10-28 2020-05-01 卓望数码技术(深圳)有限公司 一种分词词库更新方法及系统

Similar Documents

Publication Publication Date Title
US6393389B1 (en) Using ranked translation choices to obtain sequences indicating meaning of multi-token expressions
US6101492A (en) Methods and apparatus for information indexing and retrieval as well as query expansion using morpho-syntactic analysis
JP4544674B2 (ja) 選択文字列に関連する情報を提供するシステム
US5890103A (en) Method and apparatus for improved tokenization of natural language text
US5418717A (en) Multiple score language processing system
US8234108B2 (en) Building and contracting a linguistic dictionary
Adler et al. An unsupervised morpheme-based HMM for Hebrew morphological disambiguation
WO1997004405A9 (en) Method and apparatus for automated search and retrieval processing
US20050209844A1 (en) Systems and methods for translating chinese pinyin to chinese characters
JP2002531892A (ja) テキストの自動区分
JPH03224055A (ja) 同時通訳向き音声認識システムおよびその音声認識方法
JP3992348B2 (ja) 形態素解析方法および装置、並びに日本語形態素解析方法および装置
JPH0567144A (ja) 前編集支援方法およびその装置
US20050273316A1 (en) Apparatus and method for translating Japanese into Chinese and computer program product
CN112949286A (zh) 一种基于句式结构的汉语自动句法分析器
JPH10240735A (ja) 形態素解析方法及び形態素解析装置
CN113486155B (zh) 一种融合固定短语信息的中文命名方法
JPH11338863A (ja) 未知名詞および表記ゆれカタカナ語自動収集・認定装置、ならびにそのための処理手順を記録した記録媒体
JP2001051996A (ja) 形態素解析方法及び装置及び形態素解析プログラムを格納した記憶媒体
JP3628565B2 (ja) 辞書検索方法、装置、および辞書検索プログラムを記録した記録媒体
JPS63228326A (ja) キ−ワ−ド自動抽出方式
Kumar et al. Corpus Based Statistical Approach for Stemming Telugu
KR100283100B1 (ko) 대용량 말뭉치를 위한 통계학적 용례 추출 수단 및 그 방법
JP3419748B2 (ja) 辞書作成装置および方法と辞書作成プログラムを記録した記録媒体
JP2695772B2 (ja) 仮名漢字変換装置