チャットボットAIの現状を解説!自然言語処理は今なにができるの?

AIが搭載されたチャットボットを導入する際には、なにができて、なにができないかを的確に把握しておくことが大切です。この記事では、チャットボットや、その基礎となる自然言語処理の現状を概観し、できること、できないことを解説します。AIにできることを見極め、適切に実務に導入するための参考になれば幸いです。

自然言語処理系のAIで今できること

AIを用いた自然言語処理の技術は、ディープ・ラーニングの登場により大幅に精度が向上し、実用化もはじまっています。しかしながら、言語の扱い方について、人間とは本質的に異なる部分もあり、課題も残されています。

そもそも自然言語処理系のAIとは

自然言語処理は、人間が使う自然言語をコンピューターを用いて技術的に処理させるための、人工知能と言語学の研究分野です。具体的には、文章のカテゴリー分類、予測変換機能、スポーツの速報記事の文章生成、対話アプリ、音声認識など、幅広く実用化されています。

人工知能(AI)については、実はまだ明確な定義は存在していません。しかし、大まかに言って、人間(またはそれにとらわれないもの)の知能的な振る舞いをコンピューターで実現する技術、という意味合いで使われることが多いようです。

一口にAIといっても、さまざまな種類があります。人手で逐一ルールを記述する、ルールベースの手法をAIと呼称したものも見かけますし、機械学習の手法を用いてビッグデータを解析するものもあります。近年のAIでは、機械学習の一手法であるディープ・ラーニングが代表的な手法になりつつあります。

AIでできること

先ほどの例のように、自然言語処理系のAIはさまざまな場面で活用されてきています。しかし、本質的にできていることは、主に単語の並び方のパターンを捉えることや、単語と単語の類似度を算出することだけです。

最近では、ニューラル機械翻訳の大幅な精度向上や、記事の重要な部分を抜き出してまとめてくれる要約サービスなども登場しています。これらも単語と単語の対応関係や、次にどんな単語が来るかを多くのデータから確率的に予測しているに過ぎないのです。

自然言語処理系のAIで現状はできないこと

現段階では、AIはまだ”魔法”にはなり切れていない技術です。言葉の意味理解について、人間ではごく当たり前にできることが、AIにはできません。また、観測できるデータ範囲内でしか解を導けないという制約もあります。

意味の理解

現状のAIでは、言葉の意味を理解できていないと考えられます。ただし、意味とはなにか、意味を理解しているとはどういうことで、どういう状態かというのは極めて答えることが難しい問いです。実際のところ、人間の側も意味を理解するということがどういうことなのかよくわかっていないために、それをAIに落とし込もうとしてもできないわけです。

これは、あらゆるタスクで大幅な精度向上を果たした、ディープ・ラーニングの最新モデルBERT(バート)でさえも同様です。次に示す例のように、BERTは人間では起こり得ないようなミスをすることがあります。

例えば「シリコンバレーの一流エンジニアが手がける開発プロジェクトサービス」という文章を解析した時に「一流エンジニア」という言葉は企業の名詞だという結果をBERTは出しました。

AINOW - BERTは本当に人間を超えているのか?自然言語処理の実態と本当の活用方法 https://ainow.ai/2019/05/31/170667/ より引用

このように現状のAIでは、その言葉がなにを意味するのか(概念)を把握することができていないと考えられるのです。

分析できるのはデータの範囲内だけ

現状のAIでは、データにない新しい言葉は基本的に扱えません。毎年辞書が改訂されていくように、わたしたちが使う言葉は日々新しい言葉が生み出され、また、既存の言葉も使われ方や意味が時代とともに変遷していきます。

この言語のダイナミズムを、現状のAIでは単一のモデルで自動的、自律的に捉えていくことは不可能です。クライエントと開発側が協力し、例外的な事象に対して、その都度モデルを更新していく作業が必要になります。

artificial-intelligence-automation-bookcase-1329068

チャットボットAIで今できること

現状のAIが搭載されたチャットボットでできることは、範囲を絞った、限定されたタスクです。例えば社内の問い合わせ対応の一部をチャットボットに担当させる場合を考えてみましょう。この場合、探し物を探すことや、ソフトウェアの操作方法など、タスクを限定したほうが、よりチャットボットを有効に活用できます。

会話型チャットボットにとって、人間がなにげなく行うような雑談は難易度が高いタスクです。なぜなら、あらゆることに返答する必要があり、膨大なデータが必要になるからです。

先述した翻訳タスクとチャットボットの会話タスクは原理が似ています。翻訳の場合、例えば英語の文章をネットワークに入力すると、日本語の文章に変換して出力します。会話の場合は、質問文を入力すると回答文が出力されます。このようなモデルが機能するためには、会話セット(質問文と回答文のペア)をたくさん用意して学習させる必要があります。

したがって、タスクを限定してデータを収集することで、データの質の向上が期待でき、チャットボットが実用に耐え得る精度を獲得できるのです。

チャットボットAIで現状はできないこと

広範な質問に回答する

繰り返しになりますが、タスクの範囲を広げれば広げるほど、AIの精度を維持することが難しくなります。したがって、限られた範囲内で十分にデータが収集でき、かつ業務負担を減らせるような、投資対効果の大きいタスクでの利用が望ましいと考えられます。

日本語の難しさ

先述したように、現状のAIは意味(概念)を理解できず、また、データにない言葉も基本的に扱えません。これらは特に日本語を扱う上で障壁となります。

日本語では、主語を省略しても意味が通じる文章や、あいまいな文章がよく使われます。また、語彙が多く、言葉のニュアンスもさまざまです。こういった特徴を持つ日本語はAIにとって苦手な言語なのです。

beard-2610261 1280

まとめ

今回は、自然言語処理系のAIやチャットボットで現状できること、できないことについて見てきました。

現状のAIは、人間のように意味まで理解して自在に言葉を操るという水準にはまだ達していません。

最近はAIが処理しやすいように、人間側が言葉の使い方を工夫するという考え方も聞かれるようになりました。それくらい人間の言葉が自由で、AIにとっては扱うことが難しいとも言えます。

したがって、チャットボットAI導入の際にはAIに過剰な期待を持たず、どういったタスクで有効なのか、検証することが大切になります。