形態素解析とは
形態素解析(morphological analysis)とは、日常的に使っている言葉や文章を単語などの意味のある最小限の単位に分割して、それらの内容を分析する自然言語の処理方法のことです。多くの人には聞き慣れない言葉ですが、検索エンジンにも使われている、実に身近な技術です。
形態素は、名詞や動詞、助詞など、意味のある最小単位を示します。例えば、「私は教室で勉強しました」という文章の場合、「私(代名詞)/は(副助詞)/教室(名詞)/で(助詞)/勉強(名詞)/し(動詞)/ました(助動詞)」というように分解できます。これらを元に、そのWEBページに含まれているキーワードの数やバランスを測定し、そのページがどのようなテーマで書かれているのか、どんな内容を重視して書かれているのかを推測するのです。
形態素解析は、ある意味では日本独自の技術とも言えます。英文などの場合は、単語と単語の間にスペースがあるため、それらの分解自体は非常に簡単です。それに対して、日本語の場合はそうした分かりやすい区切りがなく、同じ読みでも複数の解釈ができる文章もあります。例えば、「きょうはいしゃにいった」という文には、「今日は医者に行った」「今日歯医者に行った」「今日は医者に言った」「きょうはい社に行った(そういう会社があればですが)」などが考えられるため、膨大な辞書や前後関係などからの類推が必要です。
こうした形態素解析の応用先はいくつもあります。筆頭に挙げられるのが、先程も紹介した検索エンジンです。一般に検索するときは知りたいことに関するキーワードを打ち込みますが、そのまま扱うのではなく、形態素解析を通してさらに分割されます。例えば、「明日の天気」という入力は、「明日/の/天気」と分割され、キーワードとならない助詞の「の」は検索の実行には使われません。こうすることで検索結果の精度が高まるだけでなく、扱うデータの量も軽くなります。
さらに最近注目を集めているのが、AI(人工知能)への応用です。AIの活用においては、私達が普段から使っている日常的な自然言語を、AIに理解させることが必須となります。そこでも文章を最小単位に分解していく形態素解析は必要不可欠な技術です。
実際に形態素解析を行うためには、専用の形態素解析エンジンが必要になります。国内で多く使われているのは、数多くの辞書と連携できるオープンソースの「MECAB」、それよりも単語の意味を細かく分類できる「JUMAN」、さらにアプリケーションに簡単に組み込めることを目指す「JANOME」などが主な形態素解析エンジンです。