JP3880087B2 - 形態素解析装置 - Google Patents
形態素解析装置 Download PDFInfo
- Publication number
- JP3880087B2 JP3880087B2 JP30899295A JP30899295A JP3880087B2 JP 3880087 B2 JP3880087 B2 JP 3880087B2 JP 30899295 A JP30899295 A JP 30899295A JP 30899295 A JP30899295 A JP 30899295A JP 3880087 B2 JP3880087 B2 JP 3880087B2
- Authority
- JP
- Japan
- Prior art keywords
- morpheme
- word
- analysis
- character string
- unregistered
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
Description
【発明の属する技術分野】
本発明は、登録語判定部,未登録語判定部,登録語コスト計算部,未登録語コスト計算部などを用いて、精度が高く,効率よく,目的に応じた形態素解析結果が得られるような形態素解析装置に関するものである。
【0002】
【従来の技術】
従来の形態素解析では、短い登録語が存在した場合、本来一つの未登録語とした方が良いものでも、分割してしまうことがあった。これを防ぐ目的で長い単位を一つの未登録語として優先して出す方法もあったが、この場合は逆に切り出したい登録語の部分までも未登録語の一部にしてしまうことがあった。また、未登録語を含んだ形態素解析の処理においては、複数の未登録語の候補を同時に考慮することはしなかった。
【0003】
このため、形態素解析で切り出した形態素を検索のキーワードの候補として使おうとした場合、構成語では引けないと言う欠点があった。未登録語に関連した部分では、検索のキーワードの候補として適切な形態素を切り出すことが出来ないと言う欠点があった。未登録語を含んだ形態素解析では後戻り(バックトラック)を行うため処理速度がかなり低下したり、質もかなり低下したり、また処理が複雑になる欠点があった。
【0004】
【発明が解決しようとする課題】
従来の技術の問題点は次の通りである。
▲1▼ 用途に応じた形態素の切り出し(例えば検索のキーワードの候補の切り出し)が行えない。
▲2▼ 未登録語を含んだ形態素解析で、処理速度が大幅に低下する。
▲3▼ 未登録語を含んだ形態素解析で、精度が大幅に低下する。
▲4▼ 未登録語を含んだ形態素解析で、処理が複雑になる。
本発明は、上記のような問題点を無くすことが出来る形態素解析装置を提供することを目的としている。
【0005】
【課題を解決するための手段】
請求項1の形態素解析装置は、
語の表記と品詞を記憶する辞書と、
隣接する形態素候補が接続可能か否かを判定するための文法規則部と、
形態素解析の対象となる文から得られる部分文字列が辞書に登録されている登録語か否かを調べる登録語判定部と、
辞書に登録されていない部分文字列が形態素となり得る未登録語か否かを調べる未登録語判定部と、
登録語判定部によって登録語と判定された部分文字列について予め定められた判定基準に基づき、コストを計算する登録語コスト計算部と、
未登録語判定部によって形態素となり得る未登録語と判定された部分文字列について予め定められた判定基準に基づき、コストを計算する未登録語コスト計算部と、
動的計画法を用いた上昇横型の形態素解析を行う形態素解析実行部と
を具備する形態素解析装置であって、
形態素解析実行部は、登録語判定部によって登録語と判定された部分文字列および未登録語判定部によって形態素となり得る未登録語と判定された部分文字列を形態素候補とし、文法規則部の内容を参照しながら形態素解析の対象となる文の形態素解析を行い、登録語コスト計算部または未登録語コスト計算部の計算結果を参照して解析の結果得られた形態素候補の列のコストを計算し、最もコストの小さい形態素候補の列を形態素解析結果の形態素列とする
ことを特徴とするものである。
【0006】
請求項2の形態素解析装置は、請求項1の形態素解析装置において、
未登録語判定部が、未登録語として切り出したい文字列パターン又は切り出したくない文字列パターンを記憶する未登録語パターン辞書を有する
ことを特徴とするものである。
【0007】
請求項3の形態素解析装置は、請求項1または請求項2の形態素解析装置において、
コスト計算の際に使用される判定基準を変更できる
ことを特徴とするものである。
【0008】
【発明の実施の形態】
図1は本発明の形態素解析装置の構成例を示す図である。同図において、1は文法規則部、2は解析表、3は解析制御部、4は辞書、5はファイル、6はキーボード、7は未登録語範囲認定部、8は登録語コスト計算部、9はコスト計算部、10は未登録語コスト計算部、11は未登録語パターン辞書をそれぞれ示している。
【0009】
文法規則部1には、二つの隣接する形態素が接続可能か否かを規則として記しておく。解析表2には、形態素解析の途中の結果が記録される。辞書4は、語の表記と品詞などを記録する。未登録語パターン辞書11は、未登録語として切り出したい(望ましい)パターンや余り切り出したくないパターンを記憶する。パターンの表記には、正規表現も使用できる。未登録語パターン辞書11は、未登録語コスト計算部10から参照される。切り出したいパターンの場合には、それがどの程度もっともらしいかの点数を格納しておく場合もある。
【0010】
未登録語範囲認定部7は、解析制御部3からの文字列を受け取り、辞書4に登録されていない文字列が未登録語として切り出したいものか否かを判定する。その際、未登録語パターン辞書11を参照する。望ましくない(日本語の形態素としてはあり得そうもない)と認定されたものは未登録語コスト計算部10には渡されない。
【0011】
未登録語コスト計算部10は、未登録語範囲認定部7から渡された文字列のコストを計算する。登録語コスト計算部8は解析制御部3から渡された登録語(辞書4に登録されている語)のコストを計算する。動的計画法を用いた上昇横型の形態素解析では、途中の形態素解析結果は束状のグラフで表され、最適な解は文頭から文末に至る経路のコストが最小のもので表される。コスト計算部9は、その経路のコストを計算する。
【0012】
解析制御部3は、ファイル5やキーボード6から解析の対象となる文を受け取り、形態素解析を行い、解析結果を出力する。形態素解析の対象となる文は、ネットワークを通じて渡されることもある。解析制御部3は、文法規則部1や辞書4を参照し、未登録語範囲認定部7と未登録語コスト計算部10,登録語コスト計算部8,コスト計算部9を使ってコストを計算し、途中の解析結果を解析表に書き込みながら解析を進める。
【0013】
図2は文法規則の1例を示す図である。文法規則部1には、接続可能な先行品詞(形態素)と後続品詞(形態素)の組の複数個が書き込まれている。図示の例では、名詞の後に名詞が接続できること,名詞の後に接尾語が接続できること,名詞の後に動詞語幹が接続できること,名詞の後に助詞が接続できること,形容詞語幹の後に「かっ」が接続できること,形容詞語幹の後に「かろ」が接続できること,形容詞語幹の後に「く」が接続できること等を示している。
【0014】
図3は辞書の例を示す図である。辞書4には、語の表記と品詞の組の複数個が書き込まれている。図示の例では、「会」がわ行五段活用動詞(語幹)であること、「開」がか行五段活用動詞(語幹)であること、「相打ち」が名詞であること、「思」がわ行五段活用動詞(語幹)であること等を示している。
【0015】
図4は未登録語パターン辞書の例を示す図である。未登録語パターン辞書11には、文字パターンと未登録語として切り出したいか否かを示す情報の組の複数個が書き込まれている。図示の例では、先頭が「ぁぃぅぇぉァィゥェォ」の何れかである文字列は未登録語として切り出したくない文字列であることを示し、先頭が「アイウ…ン」の何れかである片仮名文字列の後に州または共和国が続く文字列は未登録語として切り出したい文字列であること等を示している。
【0016】
図5は本発明の形態素解析装置の処理の流れの例を示す図である。最初に解析制御部3は、ファイル5やキーボード6から文を受け取る(図5中(A))。次に、受け取った文から、開始位置がxで長さがy(但し、1≦x≦n,1≦y≦n,nは文の長さ)の複数個の部分文字列を生成する。そして、生成された部分文字列が辞書4の中に存在するか否かを調べる(図5中(B))。
【0017】
部分文字列が辞書4に存在する場合(a) と存在しない場合(b) とでは処理が別れる。部分文字列が辞書4に存在するものであった場合には、登録語コスト計算部8がその部分文字列(形態素)のコストを計算する(図5中(C))。形態素のコストは、形態素の品詞や文字数,文字種,頻度や優先度に基づいて計算される。コスト計算の結果は解析制御部3に戻される。
【0018】
部分文字列が辞書4に存在しない場合には、その部分文字列を未登録語範囲認定部7に渡す。未登録語範囲認定部7は、未登録語パターン辞書11を参照しその部分文字列が未登録語として切り出したいものか否か,切り出したくないものか否かを判定する。未登録語パターン辞書11に記載されていないものについては、文字種(漢字,平仮名,片仮名,記号など)の変わり目や長さを手掛かりにして、形態素として有り得そうなものか否かを判定する(図4中(D))。
【0019】
あり得ないと判定された場合には、何もしない。あり得そうだと判定された部分文字列は未登録語コスト計算部10に渡される。未登録語コスト計算部10は未登録語の部分文字列のコストを計算する(図5中の(E))。未登録語のコストは、文字数,文字種,パターン,構成文字の頻度などに基づき計算される。未登録語パターン辞書11にどの程度尤もらしいかの点数が書かれている場合は、その値を用いる。コスト計算の結果は解析制御部3に戻される。解析制御部3は、コスト計算の結果を解析表に書込み、解析表の初期化を行う。全ての部分文字列についての処理が終了すれば、初期化は終わりである(図5中の(F))。
【0020】
解析制御部3は、解析表の初期化が終われば、動的計画法を用いた上昇横型の形態素解析(例えば、CYK法,接続コスト最小法など)を行う(図5中の(G))。形態素解析の処理の途中では、文法規則部1を参照して、二つの隣接する形態素の接続チェックを行う。全てのコスト計算が終われば、解析結果を出力する(図5中の(H))。
【0021】
これらの上昇横型の形態素解析アルゴリズムでは、バックトラックが生じない。計算量も解析する文の長さに比例するのみで、処理速度が大幅に低下することはない。また、いったん解析表に登録した後は、未登録語と登録語とを区別しなくても良い。
【0022】
ここでは、形態素解析の初期化(辞書引きを含む)を先に行う手順で説明したが、辞書引きのタイミングや形態素コストの計算タイミングは問わない。必要な時に行えば良い。解析制御部3が動的計画法を用いた上昇横型の形態素解析を行うときでも構わない。接続可能と判定された後に、その形態素についてのみ形態素コストを計算するなどの方法を採用しても良い。
【0023】
解析例1
「湾岸戦争が…」と言う文を形態素解析する場合を想定する。辞書には、「湾岸」や「湾岸戦争」が入っていないと仮定する。形態素解析された形態素列の評価点(コスト)は、形態素コスト+形態素接続コストで決まるものとする。接続コストは、仮に全て1であるとする。図1の登録語コスト計算部8と未登録語コスト計算部10の判定基準として次のものがあるとする。
・未登録語のコスト:40
・4文字以上の未登録語のコスト:100
・一文字名詞のコスト:25
・それ以外の形態素のコスト
【0024】
図6に初期化された解析表を示す。解析表の第1フィールドは開始位置を示す、第2フィールドは長さを示し、第3フィールドは品詞を示し、第4フィールドは語の表記を示し、第5フィールドは形態素コストを示し、第6フィールドは前方に接続する形態素を示す。図示の解析表の第1行目には、1,1,普通名詞,湾,25,なしと言うデータが書き込まれている。
【0025】
「前方に接続する形態素」について説明する。ここで言う「接続する」とは、文法規則を参照して確かに接続するかどうか確認されたもののみを指す。単に前方に存在するだけでは駄目である。また、辞書引きの直後では、文法規則を参照した接続のチェックは行われていないので、「なし」になっている。初期状態では「なし」であるが、解析が進むにしたがって「あり」の箇所が出てくることになる。
【0026】
「湾岸戦争」の部分に注目すると、評価点の最も低い(最も良い)形態素列は「湾岸(未登録語)」「戦争」である。形態素コスト+形態素接続コスト=40+0+1=41である。
【0027】
登録語を優先した評価を用いる通常の形態素解析装置では、「湾」「岸」「戦争」が選ばれる(未登録語のコストのみを0より大きい値に設定した場合に相当する)が、本発明の上記の評価基準の例によれば、この場合のコストは形態素コスト+形態素接続コスト=25+25+0+1+1=52となり、「湾岸」「戦争」と言う切り方よりも評価点が悪くなる。そのため、適切でない此の解析結果は選ばれない。
【0028】
また、通常の形態素解析では未登録語は同じ字種の連続するものを選ぶ(「湾岸戦争」を一続きのものとして選ぶ場合に相当する)ことも行われているが、その場合には「戦争」の部分を切り出すことは不可能である。さらに、文の先頭が未登録語で始まる場合でもバックトラックが行われたり、精度が落ちることがない。
【0029】
この例では4文字以上の未登録語を特別扱いしたが、何文字以上と言う条件は用途や目的によっても異なる。適切な値は実験により求める。また、単に文字の長さだけで判断したが、文字種の情報を使ったり、未登録語パターン辞書を参照して点数付けを行うことも出来る。
【0030】
解析例2
検索のキーワードとしては短い単位で切ったものが欲しい場合や、辞書を小さくするために無くても殆ど解析に支障がない複合語を選び出して削りたい場合に、形態素解析する例を挙げる。例えば、「情報検索システム」を形態素解析する場合である。
【0031】
辞書には、「情報検索システム」「情報検索」「検索システム」「情報」「検索」「システム」の何れもが記入されているものとする。形態素列の評価点(コスト)の計算は解析例1に準ずるものとする。図1の登録語コスト計算部8と未登録語コスト計算部10の判定基準として次のものがあるとする。
・2文字以下の片仮名語:70
・未登録語のコスト:40
・3文字以上の登録語のコスト:50+その単語の長さ
・一文字名詞のコスト:25
・それ以外の形態素のコスト:0
【0032】
図7に初期化された解析表を示す。この場合、評価点の最も低い(最も良い)形態素列は「情報」「検索」「システム」である。コストは、形態素コスト+形態素接続コスト=0+0+51+1+1=53である。
「情報検索システム」が一形態素として切り出す解のコストは55であり、最終的に選ばれたものより点数が悪く、出力されない。
【0033】
図1の登録語コスト計算部8と未登録語コスト計算部10の判断基準を適切に設定することによって、用途に応じた形態素解析が行える。また、これらの判断基準と解析の処理の手順は独立であり、処理が複雑になったり、速度が低下することはない。
【0034】
【発明の効果】
以上の説明から明らかなように、本発明によれば、形態素解析において、未登録語が含まれている文の解析でも複雑になることなく、精度も落とさず、バックトラックも無いので処理速度が低下することもなく、形態素解析を行うことが出来る。また、用途に応じた形態素の切り出しが可能になる。
【図面の簡単な説明】
【図1】本発明の形態素解析装置の構成例を示す図である。
【図2】文法規則の例を示す図である。
【図3】辞書の例を示す図である。
【図4】未登録語パターン辞書の例を示す図である。
【図5】本発明の形態素解析装置の処理の流れの例を示す図である。
【図6】初期化された解析表の例を示す図である。
【図7】初期化された解析表の他例を示す図である。
【符号の説明】
1 文法規則部
2 解析表
3 解析制御部
4 辞書
5 ファイル
6 キーボード
7 未登録語範囲認定部
8 登録語コスト計算部
9 コスト計算部
10 未登録語コスト計算部
11 未登録語パターン辞書
Claims (3)
- 語の表記と品詞を記憶する辞書と、
隣接する形態素候補が接続可能か否かを判定するための文法規則部と、
形態素解析の対象となる文から得られる部分文字列が辞書に登録されている登録語か否かを調べる登録語判定部と、
辞書に登録されていない部分文字列が形態素となり得る未登録語か否かを調べる未登録語判定部と、
登録語判定部によって登録語と判定された部分文字列について予め定められた判定基準に基づき、コストを計算する登録語コスト計算部と、
未登録語判定部によって形態素となり得る未登録語と判定された部分文字列について予め定められた判定基準に基づき、コストを計算する未登録語コスト計算部と、
動的計画法を用いた上昇横型の形態素解析を行う形態素解析実行部と
を具備する形態素解析装置であって、
形態素解析実行部は、登録語判定部によって登録語と判定された部分文字列および未登録語判定部によって形態素となり得る未登録語と判定された部分文字列を形態素候補とし、文法規則部の内容を参照しながら形態素解析の対象となる文の形態素解析を行い、登録語コスト計算部または未登録語コスト計算部の計算結果を参照して解析の結果得られた形態素候補の列のコストを計算し、最もコストの小さい形態素候補の列を形態素解析結果の形態素列とする
ことを特徴とする形態素解析装置。 - 未登録語判定部が、未登録語として切り出したい文字列パターン又は切り出したくない文字列パターンを記憶する未登録語パターン辞書を有する
ことを特徴とする請求項1の形態素解析装置。 - コスト計算の際に使用される判定基準を変更できる
ことを特徴とする請求項1又は請求項2の形態素解析装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30899295A JP3880087B2 (ja) | 1995-11-28 | 1995-11-28 | 形態素解析装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30899295A JP3880087B2 (ja) | 1995-11-28 | 1995-11-28 | 形態素解析装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09146952A JPH09146952A (ja) | 1997-06-06 |
JP3880087B2 true JP3880087B2 (ja) | 2007-02-14 |
Family
ID=17987636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30899295A Expired - Fee Related JP3880087B2 (ja) | 1995-11-28 | 1995-11-28 | 形態素解析装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3880087B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7139271B2 (ja) | 2019-03-20 | 2022-09-20 | ヤフー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011003146A (ja) * | 2009-06-22 | 2011-01-06 | Casio Computer Co Ltd | 辞書データ格納構造および辞書検索方法 |
JP5772514B2 (ja) * | 2011-10-31 | 2015-09-02 | 富士通株式会社 | 形態素解析装置、方法、プログラム、音声合成装置、方法、プログラム |
JP6232774B2 (ja) * | 2013-06-26 | 2017-11-22 | 日本電気株式会社 | 形態素解析装置、形態素解析方法、及び、形態素解析プログラム |
JP6931517B2 (ja) * | 2015-09-25 | 2021-09-08 | 富士通株式会社 | 校正支援装置、校正支援方法および校正支援プログラム |
-
1995
- 1995-11-28 JP JP30899295A patent/JP3880087B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7139271B2 (ja) | 2019-03-20 | 2022-09-20 | ヤフー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JPH09146952A (ja) | 1997-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5258909A (en) | Method and apparatus for "wrong word" spelling error detection and correction | |
US7818165B2 (en) | Method and system for language identification | |
US7680649B2 (en) | System, method, program product, and networking use for recognizing words and their parts of speech in one or more natural languages | |
EP0907924B1 (en) | Identification of words in japanese text by a computer system | |
US5752051A (en) | Language-independent method of generating index terms | |
Zheng et al. | Evaluating and enhancing the robustness of neural network-based dependency parsing models with adversarial examples | |
JPH01234975A (ja) | 日本語文章分割装置 | |
US6098035A (en) | Morphological analysis method and device and Japanese language morphological analysis method and device | |
US7328404B2 (en) | Method for predicting the readings of japanese ideographs | |
US20040193399A1 (en) | System and method for word analysis | |
JP3880087B2 (ja) | 形態素解析装置 | |
KR100509917B1 (ko) | 어절 엔-그램을 이용한 띄어쓰기와 철자 교정장치 및 방법 | |
King | Table Look-up Procedures in Language Processing—Part I: The Raw Text | |
Mori et al. | Word n-gram probability estimation from a Japanese raw corpus. | |
JP2009176148A (ja) | 未知語判定システム、方法及びプログラム | |
KR20040018008A (ko) | 품사 태깅 장치 및 태깅 방법 | |
JP3348909B2 (ja) | 形態素解析装置 | |
JP2812495B2 (ja) | 漢字を使用する言語の音節入力語音逐次区切漢字逐次変換方式 | |
JPH11338863A (ja) | 未知名詞および表記ゆれカタカナ語自動収集・認定装置、ならびにそのための処理手順を記録した記録媒体 | |
JP3904025B2 (ja) | 文字列分割装置、及び記録媒体 | |
JP3508312B2 (ja) | キーワード抽出装置 | |
Xiaolong et al. | Combine trigram and automatic weight distribution in Chinese spelling error correction | |
JP2798931B2 (ja) | 中国語の語音区切方式および語音漢字変換方式 | |
JP3063332B2 (ja) | 推敲支援システム | |
JPH10240736A (ja) | 形態素解析装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20031014 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061107 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101117 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101117 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111117 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121117 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131117 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |