AIを学ぶ

自然言語処理の5つの実行ステップとは? 「曖昧さ」への対応策としての機械学習

投稿日:

自然言語処理とは?

自然言語処理とは、自然言語の言語としての特性を踏まえて、コンピュータに処理をさせる技術のことです。

自然言語というのは、私たち人間が日常書いたり話したりしている日本語や英語のような、自然な言語のことです。

私たちは日常的に、あまりに見事に言葉を使いこなしているので強く意識することはありませんが、実は、自然言語は「意味を曖昧なまま表現するツール」であり、そのために「一つの文に対して複数の解釈ができる」という特性を持っています。

 

👉参考記事:『自然言語処理とは何か?自然言語とプログラミング言語の違いを知ろう!

 

自然言語の曖昧さへの対応

自然言語に対する人間のアプローチ

自然言語は非常に曖昧なツールです。

この曖昧さは、「情報を短くスッキリ伝達できる」という便利なメリットがある一方で、情報の受け手による解釈の違いを生むリスクを孕んでもいます。

例えば、次の例を見てください。

素材出典:かわいいフリー素材集いらすとや

この例では、「自分」という単語が「彼女」か「彼」のどちらを意味しているのかが曖昧なために、捉え方によって、解釈に違いが生まれてしまっています。

こういった問題に対して、普段、私たち人間は、次のようなやり方で自然言語の曖昧さを克服しようとしています。

  • 前後の文脈から意味を推測する
  • 相手との関係性から意味を推測する
  • 過去の出来事の記憶や経験から類推する
  • 発話者の顔色や表情、周囲の人の「空気」を読み取る

 

機械学習による自然言語処理のアプローチ

しかし、残念ながら、現状の科学技術では、今述べたような人間のアプローチを機械がそのまま獲得・利用することは困難です。

したがって、コンピュータを利用する機械学習の分野では、自然言語を曖昧なまま取り扱うのではなく、言葉や文の集合から、できる限り曖昧さがなくなるように判断していく必要があります

そして、そのための方法として考えられるのが、「ある語と周辺の語との、共起性(きょうきせい)を見る」というアプローチです。

「共起」とは、「文章中に、ある文字列とある文字列が同時に出現すること」を指します。

この「共起」の確率が高いほど、ある単語と単語、文節と文節などの「共起性が高い」といい、自然言語処理では、共起性の高さによって単語や文節などの意味を確定させにいくのです。

 

少しわかりにくいので、身近なものに例えてみましょう


C君は、Bさんのことが気になっています。

けれど、いつもニコニコしているBさんは、本心では何を考えているのかよくわかりません。

そこで、C君は、考えます。

「そういえば、A君とBさんはいつも一緒にいるな・・・」


 

共起性は、こうした何気ない人間関係に例えて理解することができます。

私たちは、ある人がどんな人柄なのか、何を考えているのか、といったことを推測する際に、上記の例のように、「その人が、どんな人と、どれくらいの頻度で一緒に過ごしているか」を重要な手がかりとすることがあります。

なぜなら、人の性格や心理といったことは、他人には推測はできても、完全に理解することは難しいからです。

 

自然言語処理における「共起性を探る」というアプローチもこれと同じです。

コンピュータは、人間の言語である自然言語を理解することができません

人の心と同じように、自然言語は曖昧で、状況や捉え方によって意味が異なってしまうからです。

そこで、できる限り推測の精度を上げようとして考え出されたのが、「どの文字列とどの文字列が一緒にいる頻度が高いか、あるいは低いか」、つまり、共起性という考え方なのです。

 

自然言語処理は、まさに、こうした「解釈の曖昧さへの対応策」として、「周辺の語、共起性を見る」というアプローチにもとづいて実行されています。

 

自然言語処理の5つの実行ステップ

「解釈の曖昧さへの対応策としての自然言語処理」という考え方は、機械学習のデータ前処理でも採用されています。

自然言語の曖昧さは機械学習のインプットデータとして不適切な状態であるため、学習によるモデル化を行う前に、曖昧さを解消することでデータの「一意性(意味や値が一つに確定していること)」を担保する必要があるからです。

この機械学習の前処理として行われる自然言語処理は、次の5つの基礎ステップに基づいています。

(それぞれの詳しい内容については、リンク先の用語集をご覧ください)

自然言語処理の5つの基礎ステップ
①分かち書き
②形態素解析
③構文解析
④意味解析
⑤文脈解析

 

 

 

専門用語だらけでとっつきにくい印象がありますが、実は、上記5つの実行ステップは先ほど説明した「共起性をみる」というアプローチに基づいており、私たちが日々何気なく行なっていることでもあります。

私たちは、ある一つの文が与えられた時に、その文を無意識下で高速に分解し、それぞれの単語の意味を仮定した上で、単語間の関係性を規定し、文の構造と意味を文脈に照らして考えることで、その文を理解しようとしています。

機械学習における自然言語処理も、これと同じように、順を追って解析されているのです。

なお、これらの基礎ステップは、1〜5の順に行われます

ただし、5の文脈解析は、非常に高度な処理が求められるため、システムとしてはまだ実用化されていません。

 

おすすめ記事

1

目次1 はじめに2 過学習の定義3 モデルをつくる:「訓練データ」「未知データ」とは?4 モデルを検証してみる:「汎化性能」とは?5 過学習(過剰適合)とは何か?6 なぜ過学習が起こるのか?原因はなに ...

2

AILearn 編集部 目次1 サマリ:要はこういう話2 はじめに3 サウジアラビアで人工知能・ロボット初の市民権を獲得4 CNBCのインタビューでは、人類滅亡を匂わせる発言5 「人類滅亡」から3ヶ月 ...

3

AILearn 編集部 目次1 本文2 今回のご相談3 今回のテーマ4 「男を見る目」とは何か?4.1 ◆男を見る目がない女性の特徴4.2 ◆男を見る目を養う方法5 「男を見る目」=「イイ男を判別する ...

4

目次 1 自然言語処理とは? 2 自然言語処理とは何か? 2.1 自然言語処理の定義と役割 2.2 自然言語とプログラミング言語の違い 2.3 自然言語の曖昧さ 2.4 自然言語の曖昧さへの対応 3 ...

-AIを学ぶ

Copyright© 人工知能/AIならAILearn(あいらーん) , 2020 All Rights Reserved Powered by AFFINGER5.