形態素解析
出典: フリー百科事典『ウィキペディア(Wikipedia)』
形態素解析(けいたいそかいせき、Morphological Analysis)とは、コンピューター等の計算機を用いた自然言語処理の基礎技術のひとつで、自然言語で書かれた文を形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、品詞を見分ける作業である。参照する情報源として対象言語の文法の知識(ここでは文法のルールの集まり)と辞書(品詞等の情報付きの単語リスト)を用いるものが多い。
以下は「お待ちしております」という文を形態素解析した例である (形態素解析ツールには「茶筌」を使用した)。
文字列 | 読み | 原形 | 品詞の種類 | 活用の種類 | 活用形 |
---|---|---|---|---|---|
お待ち | オマチ | お待ち | 名詞-サ変接続 | ||
し | シ | する | 動詞-自立 | サ変・スル | 連用形 |
て | テ | て | 助詞-接続助詞 | ||
おり | オリ | おる | 動詞-非自立 | 五段・ラ行 | 連用形 |
ます | マス | ます | 助動詞 | 特殊・マス | 基本形 |
。 | 。 | 。 | 記号-句点 |
目次 |
[編集] 日本語の代表的な形態素解析の手法
大まかに言えば文から切り出した単語が属する品詞を辞書を用いて調べていき、結果得られた品詞の並びから文法的に正しい並びであるものを正解であるとするという方法を取る。
一般的に多くの自然言語には品詞の接続に制限が存在する(例えば日本語では動詞のあとに格助詞がくることはできない。「ドアを開けるを」などは不可)。この性質を利用することによって単語の境界の判別を行う。具体的にこの性質を利用する方法には以下の2つがある:
- 規則による方法
- 確率的言語モデルをもちいる方法
現在、日本語や英語などの形態素解析で普及しているのはおもに隠れマルコフモデル (HMM, Hidden Markov Model) による統計的な方法である。HMM は多くの言語における形態素の「つながり具合」を比較的簡単にモデル化できることがわかっている。具体的には入力文から生成可能な単語列を網羅的に列挙し、各単語間の連結部において両単語が連結して出現する確率に相当するスコアを付与する。文全体でこのスコアの合計がもっとも高くなるような品詞列を答えとする。
[編集] 日本語の形態素解析における諸問題
日本語を形態素解析する際においては、以下の4つが大きな問題となる:
[編集] 単語の境界判別の問題
単語の境界を判別することはかな漢字変換の基礎となる技術である。しかし、単語の境界判別を正しく行うためには与えられた文以外の様々な知識、情報が必要となる場合があり、そのため解決が困難である。
たとえば「うらにわにはにわとりがいる」という文には、以下の様に(意味的には解釈に失敗しようとも)文法的に正しい異なる読み方が存在する(本当はもっとある):
- 裏庭 / には / 鶏 / が / いる
- 裏庭 / には / 二 / 羽 / トリ / が / いる
- 裏 / に / ワニ / は / 鶏 / が / いる
- 裏庭 / に / 埴輪 / 取り / が / いる
上記最後の文の意味解釈は、"埴輪取り"という職業が存在したという特殊な状況下では意味的にも解釈に成功するだろうが、一般にそんな例は少ない。しかしそれは人間らしい判断であって、コンピューターなどの計算機を用いた解析では、文法や単語の辞書的データを超えるようなそういった知識も導入したとすると必要な知識が膨大に用意される必要があり、現実的ではない。この文の様に、完璧な正解を得るにはその文がおかれている文脈や書き手の意図等の背景をくみとらねばならないため非常に難しい。
[編集] 品詞判別の問題
品詞判別の困難さは日本語よりも英語で顕著である。たとえば単語 "time" は「時間」という名詞としての意味のほかにも「 - 倍する」という動詞としての意味もあるため、これをどちらの意味にとるかによって文の文法的構造や導かれる意味がまったく違うものになってしまう。
品詞を見分けることは形態素解析の次の段階である構文解析にとって非常に重要であるが、英語では品詞の種類が文の構造と密接に関連しているため、これらを同時に行う方法も研究されている。
[編集] 未知語の問題
形態素解析は普通、その言語の単語を収めた辞書を用いておこなわれる。解析対象の文中の辞書に含まれない単語を未知語と呼ぶ。日本語では漢字の列やカタカナの列はたとえ未知語であってもある程度単語として認識することができる。しかしそれが使えない場合、代表的な方法は「知っている単語が現れるまでよみとばす」というものだが、これは後の解析を狂わせてしまい、結果として頑健な解析(より多くの文を解析可能であること)ができなくなってしまう恐れがある。
[編集] ルーズな文法の問題
話し言葉や電子メールなどで使われる言葉は、正規の文法による日本語からはかけ離れたものが多い。たとえば「そんなことは知らないでしょう」が「んなこた知らんしょ」に変化する。また電子メールなどでは従来の辞書には載っていない略語やフェイスマークが使われていることも多い。
また、こういった文は校正が十分でないため、書き手の誤りが入っている場合が多くある。このような文に対応した解析手法を頑健な解析と呼ぶ。このような文に対応するためには、正しい文が入力されるという前提の設計に基づく現在の形態素解析の手法を、誤りが含まれる様な文にも対処可能なように根本から見直す必要があるが、言語資源の不足のためあまり研究はされていない。
[編集] 日本語以外の言語の形態素解析
英語を含む多くの言語では、単語はふつう空白によってわかち書きされる。このため文を形態素に区切るのは日本語に比べると比較的簡単である (品詞を見分ける問題は依然として残る)。ドイツ語では複数の単語から合成された名詞が空白による区切りのない一つの単語として表現されるため、わかち書きを行う必要がある。中国語や朝鮮語は日本語と同様にわかち書きを行う必要がある。また英語や日本語では活用する品詞の種類が少数に限られるため、単語の活用形もふくんだものをすべて辞書に収めることができるが、ロシア語、フィンランド語などでは活用はほぼすべての品詞が起こすため、これらの言語では現実的でない。
[編集] 入手可能な日本語の形態素解析エンジン
[編集] 市販されているもの
- Rosette形態素解析システム、Basis Technology
- Google、Amazon、MSN、楽天などで利用されており、世界で最も利用者の多い形態素解析エンジンであると言える。
- 形態素解析エンジン言語郎、Zoo Coorporation
[編集] フリーで入手可能なもの
- KAKASI(kanji kana simple inverter)、kakasi.namazu.org
- MeCab(和布蕪)、chasen.org
- ChaSen(茶筌)、chasen.naist.jp
- Juman、www.kc.t.u-tokyo.ac.jp
- Sen(MecabのJavaへの移植)、ultimania.org、sen.dev.java.net