勝一Tweetコミュニケーションの新しい形としてChatbotが注目されている。この連載では既存のサービスを利用してChatbotを作成してみる。Chatbotとは?「Chatbot」という言葉は、すでに一般的に使われるようになっているので今さらな解説となってしまいますが、この連載を始めるにあたり、復習の意味も込めて「Chatbotとは何か?」を簡単に確認しておきましょう。ChatbotはChatとBotの造語です。「Chat」はチャット、文字によるコミュニケーション手段の一つです。手紙や電子メールとは異なり、リアルタイム性があるのが特徴です。文字だけではなく、画像、リアルタイムな動画の送信や音声によるチャットも可能です。なるともはやチャットというよりはテレビ電話ですね。「Bot」はロボットのことです。一口にロボットといっても定義範囲は広く、鉄腕アトムのような人型ロボットや、人の代わりに何か作業をする工業ロボットなど形あるものや、プログラムによって自動的に作業をするといったコンピューターの世界のロボットもあります。Chatbotは音声や文字による人との対話をインターフェースとして、自動的に作業を行うアプリケーションやサービスのことです。「人との対話を自動的に」というところだけ見ると人工知能(AI)が必要と感じるかもしれませんが、あらかじめ決まった様式に沿った範囲内で、選択的に会話を行うのであればプログラムだけで十分実現可能です。Chatbotで有名なところでは、Microsoftが開発したLINEアカウント「りんな」があります。MicrosoftのAI技術を搭載して、一般的な会話のやりとりや、しりとり遊びをしてくれたり、送信した犬の画像から犬種を教えてくれたりとAIをフル活用したChatbotになっています。注目されるChatbot最近のインターネットの利用方法を見てみると、以前はホームページからの情報収集やメールが主体であったコミュニケーションが、Twitter、FacebookなどSNSからの情報収集や、LINEなどのメッセージング機能を利用したものへと、変化してきているように感じられます。特定のアカウントをフォローすることによる情報収集のしやすさや、LINEのようにメールよりリアルタイム性に優れており、スタンプやグループといった様々な機能を備えていることも利用機会が増えている理由となっています。人々がインターネットを利用する際のインターフェースが、これまでのパソコンから「ホームページを開く」、「メールを利用する」といったものから、スマートフォンから「SNSやメッセージングアプリを使う」といったかたちに変化しています。これらの変化に対応すべく、サービスを提供する企業はSNSへの広告配信、メッセージングを利用したユーザーインターフェースの開発に注力することが必須となってきています。そんな中、チャットを新しいユーザーインターフェースとした取り組みが現在盛んに行われています。FacebookやLINEが公開しているAPIを利用することで、企業やユーザーはメッセージング機能を利用したサービスを提供可能になります。開発者はこれまでのようにアプリケーションのインターフェースを開発する必要がなく、FacebookやLINEなど共通化されたインターフェース内でChatbotの機能開発に集中することができます。利用者にとっても、使い慣れたチャットのインターフェースで、より簡単に、すばやく目的の情報にたどりつけるようになります。サービスを提供する側としても、スマートフォンのような小さなデバイスでもピンポイントの情報を提供することができ、顧客獲得や、売り上げアップが期待できます。アップ、さらには業務の効率化を目的として、チャットに自動応答機能やユーザーの入力内容によって表示される内容を選択するといった自動機能を搭載するようになりました。これがいわゆるChatbotと呼ばれるものです。Chatbotにはあらかじめ用意されたプログラムに即して定型のやり取りをするものと、AIを利用して自然な会話の中からユーザーの要望を理解して回答するといったものがあります。Chatbotが多く採用されている企業のカスタマーサポートでは、ユーザーからの一次対応はAIを利用したChatbotが担当し、より高度で細かい対応が必要な場合は担当者へ引き継ぐといった具合に、Chatbotによって人手による作業の効率化を実現しています。実際にChatbotがサービスとして採用されている企業の例をいくつか見てみましょう。LOHACOのマナミLOHACOのマナミLOHACOは、アスクルがヤフーの協力により運営するネットショッピングサイトです。AI搭載のマナミが文章による質問に答えてくれて、目的の商品をすぐに探すことができます。LINEにも対応しており、スマートフォンからも気軽に利用できます。LOHACOのマナミフロムエーのパン田一郎フロムエーのパン田一郎リクルートのアルバイト情報サイトであるフロムエーでは、LINE専用のChatbotとしてパン田一郎と会話することができます。アルバイト情報の検索だけではなく、給料計算などアルバイトに役立つ機能も利用可能です。アルバイト探しとは関係なく、日常的な会話のやりとりもできるAI搭載のChatbotとしても楽しむことができます。フロムエーのパン田一郎NAVIタイムのMr.NAVITIMENAVIタイムのMr.NAVITIME経路検索で有名なNAVIタイムでは、これまでアプリとして提供していたサービスを、LINEのメッセージングインターフェースを利用して提供しています。これまでのアプリケーション開発で必要だったインターフェース開発をLINEメッセージングのAPIを利用することで省略、共通化しています。NAVIタイムのMr.NAVITIME)Chatbotの作り方Chatbotの実例をいくつか紹介しましたが、このようなChatbotはどのように作ればよいのでしょうか。プログラム経験がある方であれば、予測される会話内容をすべてプログラムに条件式として記載することで、定型応答のChatbotは簡単に作成が可能です。企業が提供するサービスとして、ある程度の品質と正確さ、開発のしやすさなど考慮すると、専用のChatbot開発サービスの利用をお勧めします。Chatbot開発サービスとしては、有償/無償、AI搭載、プログラミング不要など様々な形態で提供されています。いくつか紹介しておきましょう。Serviceが提供されています(原稿執筆時点では、プレビュー版)。ブラウザ上ですべての開発が可能で、開発したChatbotはそのままAzureのWebアプリケーションとして公開できるようになっています。AIとして提供されている他のサービスとも連携できるようになっており、よりインテジェントなChatbotサービスを開発することができます。WatsonIBMが提供する「拡張知能」という位置づけのWatsonには、プログラミング不要で最初からAIが搭載されたChatbotを作成することができるようになっています。例文やそれに対する答えをいくつか入力して、実際に会話の流れをGUIで作成していけば、ある程度のChatbotが簡単に作れるようになっています。高度なAI機能を搭載したChatbotをプログラミングして開発することも可能です。AIダイアログ形式で想定される会話を組み立てていく、プログラムレスなChatbot作成サービスです。設定したキーワードに対しての返答集を作成するといった形式のサービスで、AIを搭載したものではありませんが、すべてGUIで作成できるので使いやすさには定評があります。定型的なやりとりが想定されるシーンでは簡単にChatbotが作れるサービスです。officeは、社内問い合わせに特化した便利な機能を提供するChatbot開発サービスです。CSVによる対話定義の一括流し込みや、Q&Aデータをツリービュー表示で確認できるなど、定型的な問い合わせの多い社内利用に適した使いやすいChatbot開発サービスとなっています。使ってのChatbotの開発方法を紹介します。ServiceでもChatbot開発のベースとなっており、対話型ユーザーインターフェースを使ったアプリケーション開発のためのフレームワークとなっています。開発したChatbotは、他のメッセージングアプリケーションと連携や、企業のホームページへの埋め込こみなど、様々な形で利用できるようになっています。Service」ともAPIで簡単に連携できるようになっています。追加することで、よりインテリジェンスで、より自然な対話のできるChatbotを開発できるようになります。Directory」の3つで構成されています。提供する機能を個別に見ていきましょう。SDKはChatbot用のソフトウェア開発キットで、GitHubでもオープンソースとして公開されています。対応する開発言語は、C#とNode.jsの2種類です。対話形式のアプリケーション開発のためのテンプレートが最初から用意されているため、細かいアプリケーションロジックを作成する必要がなく、対話内容の開発に専念することができるので、非常に効率の良い開発ツールとなっています。Connectorは、開発したChatbotを外部のメッセージングアプリケーションやサービスに接続するための機能を提供します。Directoryは、Chatbotを一般的に公開して誰でも利用できるようにするサービスです。登録には承認が必要ですが、登録されたChatbotはBingやCortanaから検索ができるようになります。Framework専用のポータルサイトが用意されていて、ブラウザ上で簡単に接続設定できるようになっています。Frameworkを利用してのChatbotの開発手順は、以下のようになります。Serviceは、上記の手順をブラウザからWebサービスを利用することで、すべてをAzure上で行ってしまおうというものです。Frameworkをインストールして、C#を使ってChatbotを開発します。開発したChatbotをWebアプリケーションとして公開して、メッセージングアプリケーションから利用できるようにするところまで一つずつ手順を追って紹介していきます。チーフエグゼクティブGMOインターネットでWindowsのサービス開発運用に関わって16年、数年単位で進化し続けるMicrosoftのWindowsは新しもの好きにはたまらない製品です。自動販売機に見たことのないジュースがあれば、迷わすボタンを押します。そんなチャレンジが僕の人生を明るく、楽しくしてくれています。第10回Chatbotから話しかける(プロアクティブメッセージの送信)2018/5/18連載10回目となる今回は、Chatbotから先に話しかけるための手順を紹介します。第9回Chatbotで画像コミュニケーションを実現する2018/5/14連載9回目となる今回は、Chatbotとの文字でのやり取りに画像を追加する方法を解説します。第8回FacebookでChatbotを公開する2018/4/17連載8回目となる今回は、FacebookのMessengerを介してChatbotとやり取りする方法を解説します。ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。VeloCloudが選ばれる理由SD-WANとはなにか。Linuxエンジニア育成への思いF5とNGINXの組み合わせで、サービス公開をよりセキュアに。ITがお届けするポッドキャストです。IT(シンクイット)エラーサイトに予期せぬエラーが起こりました。たってから再度お試しください。