「MeCabで形態素解析をして単語を抽出しましょう」とはよく見る文言ですが、いつから形態素と単語が同じものと錯覚していた?というお話です。
例として、「参考人を呼んだ」という文を形態素解析してみます。
普通の感覚では「参考人/を/呼んだ」になりますが、実際に形態素解析すると以下のようになります。
参考 名詞,サ変接続,*,*,*,*,参考,サンコウ,サンコー
人 名詞,接尾,一般,*,*,*,人,ジン,ジン
を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
呼ん 動詞,自立,*,*,五段・バ行,連用タ接続,呼ぶ,ヨン,ヨン
だ 助動詞,*,*,*,特殊・タ,基本形,だ,ダ,ダ
「参考/人」と「呼ん/だ」で切れています。つまり、私たちが認識する「単語」と実際の形態素は、一致する場合もあれば形態素がより細かくなる場合もあるということです。
「単語」としてのまとまり: 語の統語性
何を「単語」とするかは、発音的観点と文法的操作の観点の2つから考えられます。
- 発音的観点:同じ意味のまとまりとして一体として発音をするか
- 例えばニュースを読むとき、「事件の・参考・人」というよりは「事件の・参考人」という方が自然になる。
- 文法的操作の観点:単語としてまとまっている場合、その一部を取り出して操作することはできない。
- [一般と参考]人、とはできない (一般人と参考人)
- いちご狩りに行って、それ(=>いちご)を食べた
- 真っ + 黒板 = 真っ黒板
こうした単語としてのまとまりは「語の統合性」と呼ばれます。統合した語は一つのまとまった意味単位として働くため、これを崩すような「真っ黒板」は成立しませんが、「赤い黒板」のように一語のまとまりとして扱う場合は成立します。この統語性は、時代によって変遷します。例えば最初は「人工的な知能」だったのが、「人工知能」という一つのまとまりになっていくなどです。
日本語の場合概ね英語より形態素が細かく、語の統語性を意識しないと意味のある「単語」にならない印象があります。
- 上回っていた => 上回っ/て/い/た
- きれいな => きれい/な
- お遊戯 => お/遊戯
実際、日本語における単語の分散表現は英語のそれに比べ精度が出ていないという報告があります。
そのため、日本語の自然言語処理において精度を高めるには、単に形態素解析するだけでなく「語を統合」することも重要になって来ます。以下では、語が統語されるパターンについて紹介して行きます。
単語の構成
単語を構成する形態素は、それ単体で意味を持つものと、何かと合わさらないと意味を持たないものの2種類があります。前者を自立形態素(語幹)といい、後者を非自立形態素と呼びます。単語はこのような種類を持つ形態素で構成されますが、その構成形態は以下のように分けられます。
- 単一の形態素から成る
- 単純語
- 複数の形態素から成る
- 派生語: 自立形態素に接頭辞/接尾辞がついたもの
- 複合語: 複数の自立形態素から成る
- 文法的複合: 文内部で、活用形の変化により複数の形態素が接着したもの
単純語は、一つの自立形態素から成ります。
ex: 人、花
派生語は、接頭辞+自立形態素、自立形態素+接尾辞といった構成を取る単語です。接尾辞はつくことで品詞が変わることがあります(楽しい=>楽しさ、など)。
ex: 「お」「話」、「楽し」「さ」など
複合語は、複数の自立形態素が合わさったものです。冒頭の「参考人」はこのパターンに該当します。名詞同士だけでなく、「焼き肉」といった動詞と複合する、また動詞同士が複合する語もあります(打ち砕く、など)。この時、語の全体の意味を決めるのは後ろの語になります(「焼き肉」は焼いた「肉」、「肉焼き」は肉を「焼く行為」をさす)。
文法的複合は、「走り」「方」のような独立した形態素が活用によりくっついたものです。こうした活用による複合は、辞書に掲載されているような語彙的なものと、自由に作れる生産的なものの2種類があります。例えば、「押し」「付ける」は「押し付ける」として辞書に登録がありますが、「歩き」「続ける」のような単語は「走り」「続ける」というように他の単語と組み合わせてバリエーションを持つことができます(ただ、意味的には"walking"や"running"であり、一語を為す)。
NEologdのような辞書を使うことで「辞書に掲載されているような語彙」の拡充は可能ですが、文法的複合には対応することができません。
以上が、形態素と単語の関係なります。本記事を通じ、何気なく行なっている「形態素解析」と「単語」との関係について関心を持っていただけたら幸いです。