検索
連載

コンピュータはどうやって言葉を認識しているのか? 自然言語処理(NLP)を基礎から解説センター英語を例に分かる、自然言語処理入門(1)

センター試験を例に、自然言語処理の基礎を解説する本連載。第1回はコンピュータが言葉を認識するための手法について。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 自然言語処理(NLP)を用いた読解タスクにおいて、人間の性能をAIが上回るケースが増えてきていることを皆さんはご存じでしょうか? 自然言語処理という言葉自体がメジャーというわけではないため、そもそも自然言語処理で何ができるの? という方も多いと思います。

 そんな方でも、日常生活で一度は「Google翻訳」などの機械翻訳を利用したことがあると思います。また、Appleの「Siri」やスマートスピーカーの「Alexa」のようなバーチャルアシスタントは、音声認識や自然言語処理の技術で成り立っているため、近年の自然言語処理はすでに普及しているのです。

 本連載は、以下の3部構成になっています。

  • 自然言語処理とはどのようなものなのか
  • 自然言語処理の一連の流れ
  • センター試験英語の読解問題にチャレンジ

 この連載で扱うのは、難しい自然言語処理技術のほんの一部分になります。「自然言語処理って何に使えるの?」というエンジニアの方、「自然言語処理って言葉を初めて聞いた!」という初学者の方、そんな方もこの連載を読み終わるころには、「自然言語処理を使うとこんなことができるんだ!」「自分でもやってみたい!」というレベルまで到達していただくことを目標にしていますので、ぜひ読み進めてください。

人間の性能を超えた自然言語処理の事例紹介

 自然言語処理を利用することでどんな問題が解けるのかを説明するために、AIが人間の性能を超えた例を紹介します。自然言語処理モデルの性能を測るためには、性能評価用の公開データセットを利用する必要があります。

 例えば、読解問題のベンチマークとして一般的に使われる「Stanford Question Answering Dataset2.0」(SQuAD2.0)というデータセットを用いることで、読解問題に使用できる自然言語処理モデルの性能を評価する際の指標にすることができます。SQuAD2.0とは、Wikipedia記事に対して提起された質問と解答で構成された読解タスク集です。これを用いることで、読解問題に使用できる自然言語処理モデルの性能を評価することができます。SQuAD2.0のデータ形式を以下に示します。

Paragraph:

In meteorology, precipitation is any product of the condensation of atmospheric water vapor that falls under gravity.

The main forms of pre-cipitation include drizzle, rain, sleet, snow, graupel and hail...

Precipitation forms as smaller droplets coalesce via collision with other raindrops or ice crystals within a cloud.

Short, intense periods of rain in scattered locations are called “showers”.

 

Question1: What causes precipitation to fall?

Answer1: gravity

Question2: What is another main form of precipitation besides drizzle, rain, snow, sleet, and hail?

Answer2: graupel

Question3: Where do water droplets collide with ice crystals to form precipitation?

Answer3: within a cloud

SQuAD2.0の例

気象学では、降水とは、重力の影響を受けて大気中の水蒸気が凝縮したものです。

降水の主な形態には、霧雨、雨、みぞれ、雪、あられ、ひょうなどがあります。

降水は、雲の中の他の雨滴や氷の結晶との衝突によって、小さな液滴が合体するときに形成されます。

点在する複数地点で起こる短時間の激しい雨は、「にわか雨」と呼ばれます。

 

降水が発生する原因は何ですか

重力

霧雨、雨、みぞれ、雪、ひょう以外の降水の主な形態は何ですか

あられ

水滴はどこで氷の結晶と衝突して降水を形成しますか

雲の中

SQuAD2.0の日本語訳(日本語訳は解説用に追記、SquAD2.0には含まれない)

 SQuAD2.0を用いて性能を測定したところ、人間の正解率が86.831%に対して、Googleが開発した自然言語処理モデルである「ALBERT」を用いて同じタスクを解かせたところ、正解率が89.731%という人間を上回るスコアをたたき出しました。

 また、大学入試センター試験で高得点をマークすることを目的とした「ロボットは東大に入れるのか」(通称、東ロボ)プロジェクトにおいて、2019年英語筆記本試験で200点満点中185点(偏差値64.1)と高い成績を残しています。

 自然言語処理技術の発展によって、身の回りに存在するさまざまな自然言語処理タスクにおいて、人間よりも高い性能が出せるようになりました。そのため、今後よりいっそう自然言語処理技術の実用化が進むと予想されます。では、実際にどんなところで自然言語処理技術が利用されているかを、次の章で見てみましょう。

自然言語処理の活用事例

 自然言語処理が世の中で使用されている例として、Google翻訳でその技術を活用している機械翻訳や、チャットツールを用いた自動応答システムでの利用を目的としたAIチャットbotが挙げられます。

 筆者が所属するNTTテクノクロスでは、NTT研究所の音声認識技術やテキスト解析技術を活用しているコンタクトセンター向けソリューション「ForeSight Voice Mining」を提供しています。

 ここで利用されている音声認識では、入力した音声の特徴量を得るために音響分析を行い、得られた音声の特徴量をテキストに変換します。そのテキスト変換には自然言語処理の技術が使われており、音声認識の精度に大きく影響します。チャットbotで広く知られるようになった音声認識にも、実は自然言語処理技術が深く関わっているのです。

コンピュータはどうやって言葉を認識するのか

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る