メニューボタン
DLCP~ディープラーニング資格プラットフォーム~ » ディープラーニングでできること・活用例 » 自然言語処理とは
  

自然言語処理とは

自然言語とは

自然言語とは、文字通り自然な言語のことで、日本語や中国語のように人間が普段コミュニケーションに使っている言葉や小説・論文などの言語のことです。

自然言語の特徴として、文章の意味や解釈が一意に決まらないという曖昧性があります。
たとえば、「黒い目の大きいネコ」という文章の場合、「目が大きくて黒い毛のネコ」と「目が黒く、体が大きいネコ」の2通りに解釈できてしまいます。

自然言語処理とは

近年、ディープラーニングやAIの話題とともに、自然言語処理(Natural Language Processing)という言葉を耳にすることも増えてきました。

自然言語処理とは、自然言語を意味や構造から分解し、その言葉の持つ意味をコンピュータで解析する処理技術のことです。

世の中には数多くのAI関連技術がありますが、その中で、最も身近で良く使われているのが、チャット、SNSのコメント、メールなど、自然言語処理に関する技術ではないでしょうか。

今や自然言語処理の精度は、コンピュータが人間の言葉を理解しているのではないかと錯覚するくらい向上してきています。

自然言語処理の仕組み

機械可読辞書とコーパスについて

自然言語処理を行う前に、前処理として機械可読辞書とコーパスの構築が必要となります。

自然言語を解析するためには、元となるデータが必要となります。収集時に、できるだけ数多くの高品質なデータを集めておくと、後処理が楽になるだけでなく、最後にできあがるモデルのクオリティも高くなります。

データを十分に集めた後、不要なデータを削除したり、必要なデータを取り出したりしていきます。

機械可読辞書とは

コンピュータが言語を理解する時に必要な辞書のことを、機械可読辞書(Machine Readable Dictionaey)といいます。英語辞典や国語辞典のように語句と意味が書かれていますが、人間が日常的に使っている辞書とは異なります。

たとえば、日本語の文章を単語に分割して、表層形、品詞、読み、原形などを付与していく形態素解析用辞書があり、コンピュータ処理ができるように電子的に構造化されています。

コーパスとは

コーパスとは言葉の文章などの使用方法を記録・蓄積した文書の集合です。録音や文章などを収集し、データを解析することで、どのように使われているか調査したり、情報を抽出したりします。

ネットワーク技術の発展、コンピュータの処理能力や記憶容量向上によって、SNSやメールなどから膨大な量のデータが収集、蓄積できるようになり、最近では大規模コーバスを使った自然言語処理が可能になってきています。

形態素解析の作業

機械可読辞書とコーパスの構築が終わったら形態素解析の作業に入ります。
形態素とは、文字で表された自然言語の文章の中で、意味を持っている最小単位の単語のことです。文章は形態素か複数の形態素から構成されます。
形態素解析は、辞書にもとづいて分割された形態素を品詞等に判別していく解析作業です。

英語の文章の場合、単語間がスペースで区切られているので、スペースを検出するだけで簡単に文章を単語に分割できます。しかし、日本語の文章の場合、単語間にスペースがないので、簡単に文章を単語分割できません。そのため、形態素解析は日本語の自然言語処理の前処理として不可欠な作業となります。

形態素解析処理の工程について

では、形態素解析処理はどのように行われるのでしょうか。例をあげて説明していきます。

  1. 文章を形態素分割する
    「黒い目の小さいネコ」という文章を形態素分割すると、「黒い 目 の 小さい ネコ」になり、それぞれの形態素が意味のある情報になります。このように、単語間にスペースを入れることを「わかち書き」といいます。
  2. 品詞を形態素ごとに付与する
    分割された単語に適切な品詞を割り当てていきます。「黒い 目 の 小さい ネコ」では「黒い」が形容詞、「目」が名詞、「の」が助詞、「小さい」が形容詞、「ネコ」が名詞となります。
  3. 語形変化を形態素ごとに解析する
    動詞や形容詞の語形変化について調べていきます。結果を辞書で参照することで、さらに正確な単語分割結果の抽出が可能になります。
    しかし、形態素解析結果は必ずしも1つというわけではありません。たとえば「あにがくるまでまつ」という文章を形態素解析すると、「兄が来るまで待つ」と「兄が車で待つ」という複数の結果が出ることになってしまいます。その場合、どちらが適切な形態素解析結果か判断しなければなりません。
    解析結果を判断する方法には最長一致法、二文節最長一致法、形態素数最小法など、色々な方法があります

構文解析(係り受け解析))

形態素解析ができたら、次に構文解析(係り受け解析)を行います。これは形態素解析で得た単語間の関係性を解析します。

たとえば、「黒い目の小さいネコ」に、「目が大きくて黒い毛のネコ」と「目が黒く、体が大きいネコ」の2通りに解釈できますが、これを構文解析し、構文木という図にします。構文木にすることで、単語の係り受け関係が見えるようになり、文法構造がわかるようになります。

【構文木図】

意味解析

意味解析では、複数の構文解析結果の中から正しい意味を選ぶために意味解析を行います。

構文解析で出された結果は、どれも正しいわけですが、コンピュータには意味の概念がわからないので、どちらが正しい解釈なのか判断できません。

そのために、プログラムで意味を表現する必要があります。単語間のつながりなどを見ていって、複数の構文木の中から適切なものを選び出します。

文脈解析

複数の文章について、形態素解析と意味解析を行い、文章と文章のつながりを解析する文脈解析は、自然言語処理の最後に行われます。

文章の中に出現する単語間の関係、文章の裏にある知識など、複雑で多岐な情報が必要なので、とても難しい処理になります。前段階で利用した辞書やコーパス以上の、様々な領域の情報をコンピュータに学習させなくてはなりません。

そのため、文脈解析処理を行うシステムは、まだ実用化されていません。
文脈解析処理を行う技術には、照応解析と談話解析があります。

照応解析

照応解析では、指示語や代名詞などの照応詞の内容を推定したり、省略されている名詞句(ゼロ代名詞)を補完したりします。

照応詞とは、連続した文章の中で、前にでてきた情報を指す指示詞や代名詞のことで、たとえば、「ネコが餌場に行った。そこで餌を食べた」という連続した文章の中で、「そこ」が照応詞になります。

ゼロ代名詞は、省略された名詞句のことで、たとえば、「ネコは餌場に行った。しかし餌を食べなかった。」という場合、動作主である「ネコ」が省略されています。主語や目的語が明確な場合、日本語では省略されることが多いです。

談話解析

実際の会話は、1つの文章や2つの文章ではなく、対話や独話といった複数文によって構成されます。談話解析とは、このように関連した、ひとかたまりの一連の文章について、文章の構造、文同士のまとまり、意味などを解析していく処理のことです。

このような暗黙情報をコンピュータに理解させるにはどうしたら良いのか、談話処理は、複数文というだけでなく、裏に隠された知識や状況を考慮しなくてはならないため、たいへん難しい処理になります。

ディープラーニングでできること・活用例を見る