人工知能で明日のビジネスは変わるのか?

第5回 チャットボットを実現するAIのテクノロジー

この記事を読むのに必要な時間:およそ 1.5 分

人工無脳=チャットボット?

さて今回は人工無脳,いわゆるチャットボットを実現するAIのテクノロジーについて見てみます。

チャットボットといえばAI関連でも最新のトピックの1つなのに,人工無脳なんていう30年くらい前に話題になったキーワードが出てくるのは違和感がある人もいるかもしれません。でも人工無脳に該当する英語は今のところチャットボットです。

「人工無脳を使ってこれからのマーケティングを」だとウケないので,「チャットボットを使って」と,英語をそのままカタカナにしたんだろうと思います。ちなみに人工知能に対してなんだから人工無能なんじゃないかと思うかもしれませんし,実際人工無能という表記もありますが,無能という単語のイメージが悪いとかなんとかで,無脳という記述が使われたりしています。

人工無脳で活用されるAI

それはさておき人工無脳ですが,活用されるAIとしては大きく2つに分けられます。私は便宜上「表のAI」「裏のAI」と呼んでいますが,ようはフロントエンドとバックエンドです。

表のAI=入力処理部分

まずフロントエンドですが,人間からの入力を処理する部分です。

チャットボットの場合には入力はテキストですから,活用されるテクノロジーとしては自然言語処理となります。この自然言語処理も,画像ほどではないにせよ,AIによるテクノロジーの進化が期待されているジャンルの1つです。

ただし,ニュース原稿のようなカッチリした文章であればともかく,チャットボットの入力というのは口語になるでしょうから,その難易度は結構高いと言えます。とくに日本語はそのあたり難しいでしょう。

また,テキストではなくSiriのように会話が入力になる場合,自然言語処理をする前にまず音声認識をする必要があります。この音声認識もまた,AIの得意とする分野でもあります。幸いなことに音声認識のほうが,まだ自然言語処理よりハードルは低いと言えます。

しかし,この2つは別々に処理するよりも,自然言語処理の結果を音声認識にフィードバックすることでより精度の向上が見込めるので,バラバラのテクノロジーというよりは密接な関係にあると言えるでしょう。

Siriに向かって話すときに,あとに続く文章で前の文章の音声認識結果が変わるのを見たことがある人はいると思いますが,音声認識で複数の選択肢があるときに一番確率が高いものを選択して他を捨ててしまうのではなく,それ以降のテキストで音声認識よりも意味的に違う選択肢のほうが確率が高くなればそちらを選択する,ということは十分にありえます。

さて,もともとのチャットボットというか人工無脳というものは,知能がないのにいかに知能があるように振る舞えるかという点が重視されていました。いわゆるチューリングテストです。

裏のAI=実行処理部分

しかし,ここ最近チャットボットが話題になっているのは,人間的に振る舞うことを重視したものだけではありません。Siriにしてもりんなにしても,会話の相手をしてくれるという人工無脳的な役割に加えて,具体的な何らかの実行処理をしてくれる機能が用意されています。

この「処理」が先ほど述べた「裏のAI」,つまりバックエンドの機能です。もちろん会話の相手をするというのもバックエンドの機能ではあるのですが。

チャットボットに対する一般的なイメージとしては,表のAIが持つ割合のほうが高いと思いますが,本命というか核心はこの裏のAIの部分になります。しかし,裏のAIは人工知能を活用することもあれば,そうでないこともあります。

ちなみに裏のAIが真に思考や推論をするようになると,それは最近良く言うところの強いAIになるというわけです。ちなみに強いAIはまだ全然実現できないので,シンギュラリティなどを心配する必要は今はまったくありません。

バックエンド処理の具体例

さてバックエンドの処理の具体例をいくつか見てみましょう。

たとえば「明日の天気を教えて」とチャットボットに聞いたとします。まずはこれをフロントエンドが「明日」「天気」「教えて」に分解し,バックエンドが明日の天気予報の情報を「何らかの方法」で取得し,伝えれば完了です。

この「何らかの方法」が何かによって,かなり話は変わってきます。

天気予報サイトから情報をAPIなりスクレイピングでとってきて出力するだけであれば,これはAIでも機械学習でもなんでもありません。ただし,仮に高層天気図などを判断し,そこからこのバックエンド自体が天気を予報したとすれば,これはまさにAI的な処理であると言えるでしょう。実際,天気予報はAIの活用がかなり期待されているいちジャンルでもあります。

このように同じ「明日の天気(予報)を教える」という処理でも,AIが使われることもあれば使われないこともあります。

ちなみに後者のほうがAIぽくても,前者のほうが精度が高かったら,前者の単純な処理のほうがサービスとしては良いといえるでしょう。他にも「儲かりそうな株を教えて」も似たようなものです。

バックエンドで,株価予想の情報をどこかから取ってくるのか,バックエンド自体が株価予想をするのかは,かなり違います。

続いて,「今日オススメのレストランは?」と聞くケースを考えてみます。

この場合,地域的に近く当日空席があるレストランを調べて出力するだけであれば,これはAIでも機械学習でもありませんが,その中から過去にそのユーザが訪れたレストランなどと相関の高いレストランを抽出したら,それは機械学習(AI)を活用していると言えるでしょう。

このようにチャットボットというのは,バックエンドの処理にその本質があります。もちろんフロントエンドの自然言語処理の精度が悪いと意味がないですし,それはそれで難易度が高いジャンルでもあるので,どちらも重要ではあるのですが。

私としてはフロントエンドは出来が良いライブラリやAPIを活用し,バックエンドに注力するのが現実的なのではないかと思います。

著者プロフィール

山崎徳之(やまざきのりゆき)

青山学院大学卒業後,アスキー,So-netなどでネットワーク,サーバエンジニアを経験。ライブドア(現LINE)のデータホテルを構築・運営の後,海外にてVoIPベンチャーを創業。2006年6月に株式会社ゼロスタートコミュニケーションズ(現 株式会社ゼロスタート)を設立,代表取締役就任(現任)。ECソリューションの「ZERO-ZONE」シリーズとして検索エンジンやレコメンドエンジンを開発,販売している。

株式会社ゼロスタート:https://zero-start.jp/

コメント

コメントの記入