派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【イベントレポート】使いやすいAI(人工知能)「IBM Watson」を見てみよう!

この記事では、2019年8月7日に開催したイベント「使いやすいAI(人工知能)「IBM Watson」を見てみよう!」をレポートします。機械学習に先鞭をつけたIBM Watsonは、AIサービスの先駆け的存在として、日々進化を続けており、機械学習やディープラーニングを用いたアプリケーション開発で使う開発者も増えています。

今回のイベントではWatsonの基礎から実際の利用まで、書籍『現場で使える! Watson開発入門』の共著者であり、共にIBM チャンピオンの肩書を持つ羽山祥樹さん、樋口文恵さん、江澤美保さんの3名が、デモなどを交えながら分かりやすく解説してくださいました。

■今回のイベントのポイント
・Watsonはクラウドサービスとして提供されている
・ダッシュボードを使うと、あっと言う間に簡単なチャットボットがつくれる
・質問に対する回答を、大量の文書の中から自動的に見つけ出す
・さらには、蓄積したデータも分析できる

【講師プロフィール】
羽山 祥樹さん
2016年よりIBM Watsonに携わる。専門はユーザーエクスペリエンス、情報アーキテクチャ、アクセシビリティー。翻訳書に『メンタルモデル──ユーザーへの共感から生まれるUX デザイン戦略』『モバイルフロンティア──よりよいモバイルUXを生み出すためのデザインガイド』(いずれも丸善出版)がある。

樋口 文恵さん
SI企業に入社後、8年間をインフラエンジニア、ネットワークエンジニアとして、お客様先でのネットワーク構築、コンサル業務に従事。2017年1月にAI専任のエンジニアになりWatsonに携わる。リリースをサポートしたチャットボットは50本以上。

江澤 美保さん
株式会社クレスコ AIサービスエバンジェリスト。2015年よりIBM Watsonに携わり、経営層へのWatson導入提案を多く経験。現在は企業のAI導入支援を手掛けるAIコンサルタント・エンジニアとして活動中。2016年3月「第2回 IBM Watson日本語版ハッカソン」にてアイディア賞受賞。

データ学習の結果から判定をするWatson

初めに、羽山さんが人工知能の初歩からIBM Watsonの基礎までを解説。「Watsonは、わかりやすく手軽に使えるAI。言葉で説明するより、まずはお見せします」とお話しされ、デモを見せてくださいました。

デモは、Watsonに「只今Watsonテスト中、本日は晴天なり、本日は晴天なり」という音声ファイルを渡すと、自動的にテキスト化してくれるというもの。音声ファイルを指定し、わずか4行のコードをコピーして、Watsonに送るとテキストが返ってきます。これはWatsonが音声を認識し、文脈を解析してテキスト化してくれたことを示しています。

このようにWatsonは、データをわたすと、あらかじめ与えておいた学習データをもとに、回答をしてくれます。

AIというと、犬と猫の画像を、データ学習の結果から判別するというプログラムが話題になりましたが、IBMのデモサイトにはタイヤの写真を与えると、そのタイヤがパンクしているかどうかまでも判定をする、というプログラムの例(Visual Recognition)があるそうです。

f:id:itstaffing:20191015105617j:plain
▲データ学習の結果から、写真に写っているタイヤがパンクしているかどうかを判定してくれる

Watsonはクラウドサービスとして提供されています。実際には、単一のソフトウェアでなく、モジュールで構成されており、その集合体のブランド名が「Watson」とのこと。

Watsonは、IBM Cloud上から使うことができます。ライト・アカウントを選べば、クレジットカードの登録をしなくても利用でき、一部制約はあるものの無料で使えるそうです。

Watson Assistantでチャットボットをつくってみよう

次に樋口さんが、Watsonがどれぐらい手軽に利用できるかを示すため、その場で簡単なチャットボットの作成デモを見せてくださいました。

まずは「Watson Assistant」と呼ばれる、Watsonのダッシュボードを利用します。

f:id:itstaffing:20191015105620j:plain
▲IBM Cloudにアクセスしたあと、カタログからAIをクリックし、「Watson Assistant」を選択。リージョンは「東京」、プランは「ライト・プラン」を選択する

Watson Assistantの画面では「Assistants」と「Skills」が選べますが、Assistantsは高度であるため、今回はSkillsを使いました。

f:id:itstaffing:20191015105623j:plain
▲Create Dialog Skillを設定していく。このSkillひとつが、1つのチャットボットになるというイメージ。いくつも作れる

まず、あいさつを覚えさせます。「Entities」で「Create Entity」を選び、あいさつEntityを作成し、「Add Value」をクリックして、「こんにちは」に類する言葉を続けて入力していきます。

このとき、「Fuzzy Matching」をONにしておくと、1文字程度のミスタイプは許容してくれるそうで、たとえば「Hello」を「Hallo」とタイプした場合も、正しく返事を返してくれるそうです。

次にチャットボットが話す言葉を覚えさせます。

f:id:itstaffing:20191015105626j:plain
▲「Create dialog」を選び、「ようこそ」と書かれた四角(これをノードと呼ぶ)をクリックし、チャットボットに表示する最初のメッセージを入力する

f:id:itstaffing:20191015105558j:plain
▲次に「ようこそ」のノードを右クリックして、メニューから「Add nodes bellow」を選び、ノードを追加し、返事を登録する。このとき「Multiple conditioned responses」をONにしておくといろいろな返事を返すようになる

これらの入力を終えたら、画面右上の「Try it」をクリックして試します。

f:id:itstaffing:20191015105601j:plain
▲チャットボットの動作を、その場で確認できる

なんと、あっと言う間に簡単なチャットボットが完成。イベントに参加されていた皆さんも、Watsonのスゴさを実感されていました。

続いて、より複雑な、質問の意味を考えるチャットボットの作成に移りました。手順が複雑であるためここでは割愛しますが、先ほどの「Assistants」でなく、今度は「Intents」を使います。

f:id:itstaffing:20191015105604j:plain
▲「Create intent」を選び、質問を覚えさせる。ここでは「#予約する」と「#購入する」というキーワードを登録する

f:id:itstaffing:20191015105606j:plain
▲返答として「予約する」では予約ページを、「購入する」では購入ページを、それぞれ案内するように設定する

「Intents」を使うことで、登録した語句に完全一致しない質問でも、きちんと回答することができました。さらには、漢字でも、ひらがなでも問題はありません。「買い物がしたい」という質問にも、間違うことなく購入ページを案内していました。

樋口さんによれば「類義語を20~30種類ぐらい登録して、トレーニングさせるといいかも」とお話しされました。そしてこのあと、あらかじめ用意された本格的な会議室予約のデモを披露してくださいました。

Watson Discoveryで分析と検索をしてみよう

次に、大量の文書を検索したり分析したりする「Discovery」という機能について、江澤さんが解説してくださいました。

Discoveryとは、文書内からエンティティ(単語と人名/場所/会社名などタイプのペア)やエンティティ同士のリレーション(関係性)、といったメタ情報を抜き出し、高度な情報検索を実現してくれるプラットフォームだそうです。

f:id:itstaffing:20191015105609j:plain
▲文章から場所(カナダ・モントリオール)をエンティティとして抜き出し、リレーション(この場合located)も発見してくれる

Discoveryが作成してくれるメタ情報は、それだけではありません。キーワードやカテゴリ、そして、その文書の内容がポジティブかネガティブかというセンチメントなども判別して、それらもメタ情報として追加するそうです。

f:id:itstaffing:20191015105611j:plain
▲特別なトレーニングをしなくても、このようなメタ情報を付加してくれる

こうしたメタ情報や全文検索機能を活用して、質問に対する回答を、大量の文書の中から見つけ出したり、蓄積したデータを分析したりすることができます。

先ほどのAssistantとDiscoveryの使い分けとしては、よくある質問には「Assistant」、たまに聞かれる質問は「Discovery」が担うということが、一般的な使い方だそうです。ちなみに、AssistantでカバーできないときDiscoveryに聞きに行く、という機能も実装されているとのことでした。

これらのメタ情報は、Watson Knowledge Studio(WKS)という機能を使うと、カスタマイズすることもできるそうです。

このあと、実際の文書を例に、キーワードの抽出、カテゴリの分類、センチメントをどう判断するのかなど、メタ情報がどのように付加されるのかをデモしてくださいました。

f:id:itstaffing:20191015105614j:plain
▲実際の文書から、どのようなメタ情報が付加されるのかをデモ

参加者の方からは「Watsonが、手軽にAIサービスを構築できるプラットフォームだということが良くわかりました」「取り掛かりの機会となったのが、ありがたい」などの声をいただきました。ライト・アカウントで手軽に試せるのも魅力ですね。株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するこのようなイベントを、定期的に開催しています。皆さまのご参加をお待ちしております。