自然言語処理

自然言語処理とは

自然言語処理は、コンピュータが人の言葉を使うために必要な処理のことです。
自然言語とは、人が使用している言葉を指します。日常用語からビジネス用語、外国語に至るまで、人が普段使用するものは全て自然言語です。その自然言語には、ほぼ例外なく曖昧さが含まれています。


例えば、「はしをつかった」という表現だと、「箸を使った」「橋を使った」という風に、複数の意味となります。使用するひらがな、文字が同じでも、状況によって意味が変わるという曖昧さがあります。
その曖昧さは、人であれば、前後の文脈やイントネーションで理解することができます。
しかし、コンピュータには理解できません。それを理解できるようにするために、自然言語処理が必要です。

自然言語処理では、膨大な言語データを使用して、コンピュータに学習させるのが基本です。そして、学習は複数の工程に分かれます。

  • 機械可読辞書とコーパスの構築
  • 形態素解析
  • 構文解析
  • 意味解析
  • 文脈解析

内容の異なる処理を順番通りに行うことで、コンピュータが自然言語の違いを区別できるようになります。

自然言語処理ではまず、準備として、機械可読辞書とコーパスを構築しなければなりません。
機械可読辞書は、自然言語に使用される言葉がひと通り入っている辞書です。
そして、コーパスは、膨大な文章の集まりです。その機械可読辞書とコーパスに入っている、言葉と文章を元に、コンピュータが自然言語処理をしていきます。

自然言語処理では、はじめに形態素解析が行われます。人が使用する話し言葉や文章は、異なる役割を持った言葉で構成されています。その言葉を、最小限まで分解したものが形態素です。
名詞の「男」や動詞の「行く」の他、「が」「の」といった助詞も形態素です。コンピュータは形態素解析で、形態素ごとに分類すると共に、文章による変化も学習します。

形態素解析が終わったら、次は言葉が持つ役割を理解させるために、構文解析を行います。
文章における主語や動詞を、データ処理によって区別できるようにします。コンピュータが正しい文章を構築するためには、構文解析が欠かせません。

意味解析では、言葉が持つ意味をコンピュータに理解させます。「はし」が「箸」や「橋」となるように、複数の意味を持つ言葉の違いを記憶させていきます。
言葉は、前後の言葉との繋がりや、文章内で使用されている言葉などによって、意味が変わります。その変化に応じて、最適な意味の言葉を導き出せるプログラムを作成します。

文脈解析は、自然言語処理の最後に行われるもので、複数の文章の繋がりを理解させるものです。
「彼」や「それ」といった代名詞が指す対象を認識させるのが、文脈認識のひとつです。
また、他の文章によって意味が変わる言葉もありますが、その意味を理解させることも文脈解析に含まれます。

自然言語処理は、人が、自らの言葉を使ってコンピュータに命令を出したり、システムを動かしたりする際に必要となります。

  • 検索エンジン
  • 他言語への翻訳
  • AI搭載のスマートスピーカー

などが、自然言語処理を使用している代表例です。

検索エンジンでは、使用されたワードがどのような意味を持っているのかを理解すると、検索の精度が高まります。
そして、ネット上の翻訳サービスなどで、他言語に翻訳する場合は、翻訳元の言葉の意味をコンピュータが理解する必要があります。もし、理解できていなければ、意味の通らない翻訳結果になるでしょう。
AI搭載のスマートスピーカーでは、人が言葉を使って命令する形となります。
そのため、人が発する命令の意味を理解するために、自然言語処理が必要です。また、スマートスピーカー自身が発する音声を構築するためにも、自然言語処理が欠かせません。