この記事では、2019年8月7日に開催したイベント「使いやすいAI(人工知能)「IBM Watson」を見てみよう!」をレポートします。機械学習に先鞭をつけたIBM Watsonは、AIサービスの先駆け的存在として、日々進化を続けており、機械学習やディープラーニングを用いたアプリケーション開発で使う開発者も増えています。
今回のイベントではWatsonの基礎から実際の利用まで、書籍『現場で使える! Watson開発入門』の共著者であり、共にIBM チャンピオンの肩書を持つ羽山祥樹さん、樋口文恵さん、江澤美保さんの3名が、デモなどを交えながら分かりやすく解説してくださいました。
・Watsonはクラウドサービスとして提供されている
・ダッシュボードを使うと、あっと言う間に簡単なチャットボットがつくれる
・質問に対する回答を、大量の文書の中から自動的に見つけ出す
・さらには、蓄積したデータも分析できる
データ学習の結果から判定をするWatson
初めに、羽山さんが人工知能の初歩からIBM Watsonの基礎までを解説。「Watsonは、わかりやすく手軽に使えるAI。言葉で説明するより、まずはお見せします」とお話しされ、デモを見せてくださいました。
デモは、Watsonに「只今Watsonテスト中、本日は晴天なり、本日は晴天なり」という音声ファイルを渡すと、自動的にテキスト化してくれるというもの。音声ファイルを指定し、わずか4行のコードをコピーして、Watsonに送るとテキストが返ってきます。これはWatsonが音声を認識し、文脈を解析してテキスト化してくれたことを示しています。
このようにWatsonは、データをわたすと、あらかじめ与えておいた学習データをもとに、回答をしてくれます。
AIというと、犬と猫の画像を、データ学習の結果から判別するというプログラムが話題になりましたが、IBMのデモサイトにはタイヤの写真を与えると、そのタイヤがパンクしているかどうかまでも判定をする、というプログラムの例(Visual Recognition)があるそうです。
Watsonはクラウドサービスとして提供されています。実際には、単一のソフトウェアでなく、モジュールで構成されており、その集合体のブランド名が「Watson」とのこと。
Watsonは、IBM Cloud上から使うことができます。ライト・アカウントを選べば、クレジットカードの登録をしなくても利用でき、一部制約はあるものの無料で使えるそうです。
Watson Assistantでチャットボットをつくってみよう
次に樋口さんが、Watsonがどれぐらい手軽に利用できるかを示すため、その場で簡単なチャットボットの作成デモを見せてくださいました。
まずは「Watson Assistant」と呼ばれる、Watsonのダッシュボードを利用します。
Watson Assistantの画面では「Assistants」と「Skills」が選べますが、Assistantsは高度であるため、今回はSkillsを使いました。
まず、あいさつを覚えさせます。「Entities」で「Create Entity」を選び、あいさつEntityを作成し、「Add Value」をクリックして、「こんにちは」に類する言葉を続けて入力していきます。
このとき、「Fuzzy Matching」をONにしておくと、1文字程度のミスタイプは許容してくれるそうで、たとえば「Hello」を「Hallo」とタイプした場合も、正しく返事を返してくれるそうです。
次にチャットボットが話す言葉を覚えさせます。
これらの入力を終えたら、画面右上の「Try it」をクリックして試します。
なんと、あっと言う間に簡単なチャットボットが完成。イベントに参加されていた皆さんも、Watsonのスゴさを実感されていました。
続いて、より複雑な、質問の意味を考えるチャットボットの作成に移りました。手順が複雑であるためここでは割愛しますが、先ほどの「Assistants」でなく、今度は「Intents」を使います。
「Intents」を使うことで、登録した語句に完全一致しない質問でも、きちんと回答することができました。さらには、漢字でも、ひらがなでも問題はありません。「買い物がしたい」という質問にも、間違うことなく購入ページを案内していました。
樋口さんによれば「類義語を20~30種類ぐらい登録して、トレーニングさせるといいかも」とお話しされました。そしてこのあと、あらかじめ用意された本格的な会議室予約のデモを披露してくださいました。
Watson Discoveryで分析と検索をしてみよう
次に、大量の文書を検索したり分析したりする「Discovery」という機能について、江澤さんが解説してくださいました。
Discoveryとは、文書内からエンティティ(単語と人名/場所/会社名などタイプのペア)やエンティティ同士のリレーション(関係性)、といったメタ情報を抜き出し、高度な情報検索を実現してくれるプラットフォームだそうです。
Discoveryが作成してくれるメタ情報は、それだけではありません。キーワードやカテゴリ、そして、その文書の内容がポジティブかネガティブかというセンチメントなども判別して、それらもメタ情報として追加するそうです。
こうしたメタ情報や全文検索機能を活用して、質問に対する回答を、大量の文書の中から見つけ出したり、蓄積したデータを分析したりすることができます。
先ほどのAssistantとDiscoveryの使い分けとしては、よくある質問には「Assistant」、たまに聞かれる質問は「Discovery」が担うということが、一般的な使い方だそうです。ちなみに、AssistantでカバーできないときDiscoveryに聞きに行く、という機能も実装されているとのことでした。
これらのメタ情報は、Watson Knowledge Studio(WKS)という機能を使うと、カスタマイズすることもできるそうです。
このあと、実際の文書を例に、キーワードの抽出、カテゴリの分類、センチメントをどう判断するのかなど、メタ情報がどのように付加されるのかをデモしてくださいました。
参加者の方からは「Watsonが、手軽にAIサービスを構築できるプラットフォームだということが良くわかりました」「取り掛かりの機会となったのが、ありがたい」などの声をいただきました。ライト・アカウントで手軽に試せるのも魅力ですね。株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するこのようなイベントを、定期的に開催しています。皆さまのご参加をお待ちしております。