3.1 形態素解析の概要
- 形態素:意味を有する最小形態
- 形態素解析:文字列を形態素の列に変換すること
- 形態素解析の目的
- 構文解析や意味解析に進むための準備段階
- かな漢字変換(形態素解析結果を直接利用する)
- 日本語の形態素解析が難しい理由
- 分かち書きをしない
- 正書法がない:文部科学省が定めた、いわゆる学校で学ぶ正書法はあるが、万人がこれを知っているわけではない。
- 複合語が多い
- 文法体系が種々存在する:学校文法はあるが、それが主たる日本語文法となっているわけではない。
- 外来語が多い
- 同音異義語が多い
- 語の分類
- 概念語:概念を表す(日本語では、名詞、動詞、形容詞などの自立語)
- 概念関係語:概念間の関係を表す(日本語では、係助詞、接続助詞など)
- 様態語:発話者の態度や見方を表す(日本語では、助動詞)
- 日本語の文は文節という単位に分割される
- 形態素解析において抽出される情報
- 形態素解析には字種情報を利用することが多い
- 自立語の語幹は漢字で表記することが多いということを利用
- 付属語、副詞はひらがなで表記することが多いということを利用
- 上の2つから、ひらがなから漢字に変わるところに文節の切れ目が存在するという経験則を用いると、84%程度成功する
- 漢字かな混じり文における形態素解析の手順
- ひらがなから漢字に変化する点および読点を分節末と仮定し、文節内の解析を行う
- 漢字とひらがなを組み合わせた語幹を持つものが辞書中の自立後に存在するかどうか照合する
- なければ漢字列だけで自立語と照合する
- 残りのひらがな部分はひらがなのみで書かれる自立語、付属語、活用語尾のいずれかである
- 自立語候補と残りの部分の候補との接続の可否を調査する
- 接続の可能性のあるもののみを最終結果として残す
- 未知語の処理
- 日本語では、付属語は少数なので全て辞書に登録できていると仮定
- 100万語などの非常に大きな単語辞書では20万語程度を超えると進出語がほとんど固有名詞であるという事実に着目
- ある程度の語彙数を超えると、未知語をすべて固有名詞と仮定して処理する
3.2 経験的に切り出す
- 経験的な知識を用いて単語を切り出す優先規則(ヒューリスティクス)として次の2つがある
- 最長一致法
- 経験的に長く一致するものが正しいというヒューリスティクスを利用
- 文字列を左から解析し、最長の単語を選択して処理を進める
- 高速で、使用する記憶領域も少ない
- 辞書中に単語を長いものから順に並べておき、最初にマッチしたものを優先する
- N分節で一致するものが最大のものを採用するN分節最長一致法も提案された
- 精度が最大のものは四文節最長一致法である(それ以上では句読点で区切られる文節数を超えてしまう)
- 一度に処理する文節が増えると処理速度は遅くなるが、昨今のハードウェアの進歩により、大きな問題ではなくなっている
- 分割数最小法
- 入力文字列を分割数が最も少なくなるように分割を行う
- すなわち、平均的な単語の長さが最大になるように分割を行う
- 入力分全体を考慮しているため、局所的な評価を行う最長一致法よりも一般的には精度が高くなる
- 総当り検索を行うので多くの記憶領域を必要とし、処理速度も遅いため、あまり使用されない
3.3 統計的に切り出す
- 接続コスト最小法:文全体での接続コストが採用になるように形態素を決定する
- 接続コスト:各単語の結合するときにかかるコスト(結びつきにくさ)を数値化したもの
- すべての分割候補について接続コストの総計を計算するため計算量が多い
- 計算量は多いが、精度が高いので広く使用されている
- コストの決定方法が確立されていないため、品詞接続コストや単語接続コストなどを人手で経験的に決定しなければならない
- 上記の問題の解決策として、n-gramモデルなどの統計的言語モデルを用いて接続コストを計算する方法が提案された
- n-gramモデル:ある単語が存在する場合、その存在する確率は直前のn個の単語だけに依存するという考え方(あくまで近似)
- 統計的言語モデルの問題点は、出現頻度の低い単語ほど精度が低下してしまうことである
|
|