
プログラミングを始めようとしている方々の中には、「AI分野」に興味のある方も多いのではないでしょうか。
そこで「AIの基礎」とも言えるChatbotについてご紹介致します。

AIと聞くと難しそうなイメージだけどChatbotは初心者でも簡単に作れるんだよ!
本記事では
Twitterでのbot開発について
Chatbotでできること
などについて詳しく解説していきます。
目次
botとは
そもそも、botとは何かをご存じない方もいらっしゃると思います。
botとは「Robot」の略です。
botは「コンピュータ上で自動で動くプログラム」です。
これを機械のロボットになぞらえてbotと呼ぶようになりました。
最近では、次の2つが有名です。
・LINEの会話機能を利用し、自動で返信を行うChatbot
これらも、人間の発言を模倣して発言するように開発されたbotです。
身近なChatbotの例としては、
- Apple社のiPhoneを始めとしたOSに搭載されている「Siri」
- Google社が提供しているスマートスピーカー「Google Home」
を挙げることができます。
これらを利用したことのある方は多いのではないでしょうか?
そんな身近なChatbotですが、実はプログラミング初心者の方にも簡単に作ることができます。
今回は、そんなChatbotについてご紹介していきます。
TwitterのbotとChatbotの違い
まず、「Twitterのbot」と「Chatbot」の違いについてご説明しましょう。
違いは大きく分けて3つあります。
対象アプリケーションの違い
Twitterのbotはその名の通り、動作する対象はTwitterのみです。
Chatbotは
・Slack
など「Chatbot用のAPI」がリリースされているアプリケーションが対象となります。
Twitterのbotより対象が多くなります。
・Twitterのbot=Twitterのみ
・Chatbot=LINE, Slack, など、Chatbot用のAPIがリリースされているアプリ全般
APIとは「Application Programming Interface」の略語です。

自分のソフトウェアの一部を外部に公開し、他のソフトウェアでもその機能を利用・共有出来るようにしたものだよ。
Web上で公開されていて、Web上で通信して利用が可能なものが多いものはWEBAPIとも呼ばれています。
利用者、対象者の違い
Twitterのbotはフォローするだけですので、不特定多数を対象としています。
対してChatbotは企業で採用される事が多く、その企業の商品を購入した人や、サービスの利用者を対象としてます。
・Twitterのbot=不特定多数
・Chatbot=アプリを使用している企業のサービスを受けている人
可視性の違い
「Twitter」はbotとのやり取りをのぞけますが「Chatbot」はのぞけません。
Twitterのbotは、利用者とbot自体のアカウント公開範囲によっては、他人がその内容を見ることが出来ます。
対して、Chatbotは他人には会話の内容を見ることが出来ない場合が多いです。

Twitterのbotも、自動で返信を行う機能を持っているものは、Chatbotと呼ぶことが出来るね。
しかしながら、Twitterのbotにはそれ以外の機能を持ったものが多く存在しています。
一概にChatbotと分類することは出来ないため、ここでは別のものとしてご紹介します。
・Twitterのbot=他人が内容を見ることができる
・Chatbot=他人に会話を見ることはできない
Twitterのbotはつくれるのか
Twitterのbotは個人で制作することが出来ます。
多くのbotは、主に以下の3つに分類されるでしょう。
・返信(リプライ)を送ってきた相手に対し、自動で返答を行う
・Twitter上で情報収集を行い、その情報を自動でツイートする
それぞれについて解説していきます。
特定の時間に、特定のワードを自動でツイートする
Twitterのbotは設定したワードを一定の時間間隔でツイートすることができます。
botの中で一番よく見かける機能です。
1時間おきにランダムで内容をツイートするbotなど、フォローしている方も多いのではないでしょうか。
返信(リプライ)を送ってきた相手に対し、自動で返答を行う
Twitterのbotは返信を自動で返すことができます。
こちらもよく使われる機能です。
返信内容は全くのランダムだったり、相手の呟いた内容に沿った内容を返したり出来ます。
Twitter上で情報収集を行い、その情報を自動でツイートする
TwitterのbotはTwitter上で情報を集め、それを発信することができます。
上級者向けの機能です。
主に次の用途で使われます。
・特定キーワードをツイートしたアカウントから情報収集を行う。
これらの機能に興味のある方は、Twitterのbot制作もオススメです。
Twitterからは「Twitter API」というものが提供されており、これを利用することによって簡単にbot制作を行う事が出来ます。
Chatbotは初心者でもハードルが低い
Twitterのbotと同様、Chatbotも誰でも簡単に作成することが出来ます。
特に、プログラミング初心者の方にはオススメの題材と言えるでしょう。
オススメの理由は以下3点になります。
・結果が目で見える
・何を作れば良いのか想像できる
それぞれについて解説していきます。
様々な技術について学ぶ事が出来る
Chatbotを開発することでAIに関する様々な知識を学ぶことができます。
Chatbotを作成することにより、次のような知識を身に着けることができます。
・AIの制作方法
・APIの利用方法
Chatbot開発で学んだ技術は、他のアプリケーション制作にも応用出来ます。
また、最終的にはサーバー上での運用になるため、
サーバーについての知識も身につけることが出来ます。
最初は簡単な機能しか持っていないものから作成します。
徐々に複雑な返答も出来るように改修していく形で、ステップアップしていけます。
結果が目で見える
LINEなど、身近なツールを利用して自分の作ったChatbotが形になった事を確認することが出来ます。
プログラミングにおいて、作ったものがすぐに使えるとモチベーションが上がります。
そして実際に使用してみることでさらに改善することもできます。

自分の作ったものをどんどんアップデートすることでスキルアップできるね。
何を作れば良いのか想像できる
Chatbotは参考にできるものがネットにたくさんあるので、作りたいものをイメージしやすいです。
様々な企業がいろいろなChatbotを提供しています。
なのでどのような機能を持たせれば便利なのか、と言ったことが想像しやすいです。
Chatbotを制作するために学ぶ機能は、違うアプリケーション制作にも応用していくことが出来ます。

特にAI(人工知能)については、Chatbotを利用して学ぶのが簡単だと言えるね。
そのため、AIに興味のある方には特にオススメです。
Chatbotでできること
Chatbotで出来る事をご紹介します。
Chatbotでは、以下のような機能を持たせることが出来ます。
・会話形式で返答する
・ランダムに文字を表示する
発言内容をおうむ返しする
利用者がChatbotに対して発言した内容と同じ内容を、そのまま返答することが出来ます。
基本的な機能ですので、初心者の方はこの機能から実装してみると良いです。
会話形式で返答する
利用者の発言した内容からキーワードを抽出し、それに沿った内容を返答する事が出来ます。
「返答する内容」は予め制作者が用意しておく必要があります。

返答内容を大量に用意しておくことで、Chatbotと利用者は円滑なコミュニケーションを行う事が出来るんだ。
ランダムに文字を表示する
利用者が発言したことを検知し、ランダムに文字を選んで返答する事が出来ます。
これを利用すれば、ゲームのような使い方が出来ます。
ちょっとしたお遊び機能を実装したいときにオススメです。
これらの機能を組み合わせることによって、様々なChatbotを制作することが出来ます。
例えば、天気予報を検索、返信するChatbotは以下の様に機能を組み合わせることになります。
- 利用者の発言した地域・日付を基に、インターネット上を検索して天気予報を返信する
- 利用者が地域を発言しなかった場合、地域を入力するように返信する
または、地域をランダムで選んで返信する - 利用者が日付を発言しなかった場合、日付を入力するように返信する
または、発言時間を基にして午前中であれば当日、午後であれば翌日の天気を返信する
このような機能を持たせれば、十分Chatbotと言えるでしょう。
業務の効率化
Chatbotは、使い方を工夫すれば作業の自動化することができます。
最近ではヤマト運輸のサービスが有名になりました。
「再配達の日時」をChatbotが受け付け、登録することが出来ます。
Chatbotを利用して業務の効率化を図る企業はたくさんあります。
使い方次第では非常に有用な機能になります。
プログラミング初心者の方は、「最初に作る題材」に悩むことも多いでしょう。
そんなときには是非、Chatbotに挑戦してみて下さい。
前述したとおり、Chatbotには他のアプリケーションにも応用できる様々な技術が詰まっているので、
これからの学習にも役に立つことでしょう。
未経験からエンジニア転職!
副業・フリーランス転職にも完全対応!
社会人がエンジニア転職するなら
『プログラミングジャパン!』
まずは無料体験レッスンで詳しく話を聞いてみよう!