誰でもわかる!「形態素解析」とは
こんにちは。言語理解研究所(以下、ILU)開発本部 知識辞書開発部の吉田です。
今回は、「自然言語処理」の技術のひとつ「形態素解析」について、「自然言語処理」を専門とするILUが、あえて専門用語を使わず、分かりやすく解説しました。
前回記事の振り返り
前回記事「誰でもわかる!「自然言語処理」とは」で、コンピュータが文を理解する過程は、3つの手順から成り立っているとお伝えしました。
<コンピュータが文を理解する手順>
1.文法ルールを使って、文を意味の通じる最小単位である「単語」まで分けます。
2.単語の品詞を手がかりに、文の要素(主語・述語・目的語など)を特定します。
3.文の要素の組み合わせから、文の意味を理解します。
今回お伝えする「形態素解析」は、手順「1. 文を意味の通じる最小単位である「単語」まで分ける方法」にあたります。
「形態素解析」ってなにするの?
私たちが文を読むとき、連続する文字(以下、文字列)を適切な位置で分けて、単語の組み合わせを作ってから、意味を理解します。これをコンピュータ上で行うことを「形態素解析」と言います。
かな漢字変換やWeb検索、翻訳アプリは、始めに形態素解析で文字列を単語に分けた後、その単語を使って変換や検索を行います。「形態素解析」は、自然言語処理の最も基礎的な技術です。
形態素解析における「形態素」とは、「言葉の意味を損なわない最も小さな単位」を指します。
たとえば、「お笑い」という言葉を見てみましょう。
「お笑い」は、その語源から接頭語「お」と名詞「笑い」に分けることができますが、「お」と「笑い」に分けても、「お笑い」の意味や品詞は分かりません。
形態素解析は、この「お笑い」のように「言葉の意味を損なわない最も小さな単位」まで文を分ける処理です。
「形態素解析」してみよう!
日本語は、単語と単語の間に空白を入れる英語と違い、文字列のどこが切れ目か分かりづらい言語です。
そこでコンピュータは、私たちが使う国語辞書のような「辞書」を使って、単語を見つけます。
辞書には、単語の索引があり、読みや意味、活用などの文法ルールが書かれています。一般的な国語辞書と異なるのは、文字列の中から単語を見つけるための情報を含む点です。
単語を見つけるための情報と文法ルールを組み合わせることで、コンピュータは、文字列をどこで区切るか決めたり、単語同士のつながりやすさを決めたりしています。
ちなみにILUでは辞書を長年作り続けています。こちらについては別の機会にお伝えします。
形態素解析では、次の3つの処理を行います。
文字列を「単語に分割」
分割した単語の「品詞を特定」
特定した品詞から「活用を決定」
では、例文「機種変にすればよかった」で、処理の内容を確認してみましょう。まず辞書を手がかりに文字列を単語に分割し、その品詞を特定します。その後、単語の品詞から活用する・しないを特定します。
しかし、人間なら普通に「機種を変更すればよかった」の意味だと理解する文を、コンピュータは「機種を変にすればよかった」の意味だと間違えることがあります。
それは、名詞「機種」と「変だ」という物の状態を表す形容動詞が存在するためです。
ただそこで、主語になる名詞「機種変」と格助詞「に」がつながりやすいという文法ルールがあれば、間違いは防げます。
形態素解析では、適切な文法ルールや単語を辞書に登録することが大切です。
まとめ
今回は、自然言語処理の最も基礎的な技術となる形態素解析について解説しました。
私たちが便利に使う、かな漢字変換やWeb検索、翻訳アプリは、形態素解析で入力した文をまず単語に分けてから、変換や検索を行います。しかし、ほとんどの人はこの過程を意識せずに使っているのではないでしょうか。
形態素解析はコンピュータが文を理解する上で必要な、私たちが使うサービスに欠かせない技術です。
次回は、コンピュータが文を理解する手順「2.単語の品詞を手がかりに、文の要素(主語・述語・目的語など)を特定する方法」(これを「構文解析」といいます)を解説します。
読み逃したくないという方は、ぜひ、ILUのアカウントフォローをお願いします。