プログラミング初心者の初めての学習としてChatbotを作るべき理由

本記事では

Chatbotとはなにか、概要
Twitterでのbot開発について
Chatbotでできること

などについて詳しく解説していきます。

まず「AIの基礎」とも言えるChatbotについてご紹介致します。

プログラミングを始めようとしている方々の中には、「AI分野」に興味のある方も多いのではないでしょうか。

エンジニアエンジニア

AIと聞くと難しそうなイメージだけどChatbotは初心者でも簡単に作れるんだよ!

botとは

そもそも、botとは何かをご存じない方もいらっしゃると思います。

botとは「Robot」の略です。

botは「コンピュータ上で自動で動くプログラム」です。

これを機械のロボットになぞらえてbotと呼ぶようになりました。

最近では、次の2つが有名です。

・Twitter上で自動でツイートを行うbot
・LINEの会話機能を利用し、自動で返信を行うChatbot

これらも、人間の発言を模倣して発言するように開発されたbotです。

身近なChatbotの例としては、

  • Apple社のiPhoneを始めとしたOSに搭載されている「Siri」
  • Google社が提供しているスマートスピーカー「Google Home」

を挙げることができます。

これらを利用したことのある方は多いのではないでしょうか?

そんな身近なChatbotですが、実はプログラミング初心者の方にも簡単に作ることができます

今回は、そんなChatbotについてご紹介していきます。

TwitterのbotとChatbotの違い

まず、「Twitterのbot」と「Chatbot」の違いについてご説明しましょう。

違いは大きく分けて3あります。

対象アプリケーションの違い

Twitterのbotはその名の通り、動作する対象はTwitterのみです。

TwitterのbotとChatbotの違い=対象アプリケーションが違う

Chatbotは「LINE」や「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とのやり取りをのぞけますが「Chatbot」はのぞけません。

TwitterのbotとChatbotの違い=可視性が違う

Twitterのbotは、利用者とbot自体のアカウント公開範囲によっては、他人がその内容を見ることが出来ます

対して、Chatbotは他人には会話の内容を見ることが出来ない場合が多いです。

Twitterのbotも、後述する自動で返信を行う機能を持っているものは、Chatbotと呼ぶことが出来ます。

しかしながら、Twitterのbotにはそれ以外の機能を持ったものが多く存在しています。

一概にChatbotと分類することは出来ないため、ここでは別のものとしてご紹介します。

『可視性の違い』
・Twitterのbot=他人が内容を見ることができる
・Chatbot=他人に会話を見ることはできない

Twitterのbotはつくれるのか

Twitterのbotは個人で制作することが出来ます。

初心者のプログラミング開発=Twitterのbotがおすすめ

多くのbotは、主に以下の3つに分類されるでしょう。

・特定の時間に、特定のワードを自動でツイートする
・返信(リプライ)を送ってきた相手に対し、自動で返答を行う
・Twitter上で情報収集を行い、その情報を自動でツイートする

それぞれについて解説していきます。

特定の時間に、特定のワードを自動でツイートする

Twitterのbotは設定したワードを一定の時間間隔でツイートすることができます。

botの機能=自動でツイートできる

botの中で一番よく見かける機能です。

1時間おきにランダムで内容をツイートするbotなど、フォローしている方も多いのではないでしょうか。

返信(リプライ)を送ってきた相手に対し、自動で返答を行う

Twitterのbotは返信を自動で返すことができます

botの機能=自動で返信できる

こちらもよく使われる機能です。

返信内容は全くのランダムだったり、相手の呟いた内容に沿った内容を返したり出来ます。

Twitter上で情報収集を行い、その情報を自動でツイートする

TwitterのbotはTwitter上で情報を集め、それを発信することができます。

botの機能=情報収集と情報発信を自動でできる。

上級者向けの機能です。

主に次の用途で使われます。

・自動でツイートする
・特定キーワードをツイートしたアカウントから情報収集を行う。

これらの機能に興味のある方は、Twitterのbot制作もオススメです。

Twitterからは「Twitter API」というものが提供されており、これを利用することによって簡単にbot制作を行う事が出来ます。

Chatbotは初心者でもハードルが低い

Twitterのbotと同様、Chatbotも誰でも簡単に作成することが出来ます。

初心者のプログラミング開発=Chatbotの開発もおすすめ。

特に、プログラミング初心者の方にはオススメの題材と言えるでしょう。

オススメの理由は以下3点になります。

・様々な技術について学ぶ事が出来る
・結果が目で見える
・何を作れば良いのか想像できる

それぞれについて解説していきます。

様々な技術について学ぶ事が出来る

Chatbotを開発することでAIに関する様々な知識を学ぶことができます。

Chatbotを作成するメリット=AIに関する知識を身に着けることができる。

Chatbotを作成することにより、次のような知識を身に着けることができます。

・基本的なプログラミング
・AIの制作方法
・APIの利用方法

Chatbot開発で学んだ技術は、他のアプリケーション制作にも応用出来ます。

また、最終的にはサーバー上での運用になるため、

サーバーについての知識も身につけることが出来ます。

最初は簡単な機能しか持っていないものから作成します。

徐々に複雑な返答も出来るように改修していく形で、ステップアップしていけます。

結果が目で見える

LINEなど、身近なツールを利用して自分の作ったChatbotが形になった事を確認することが出来ます。

Chatbotを作成するメリット=自分の作ったChatbotをすぐに使うことができる。

プログラミングにおいて、作ったものがすぐに使えるとモチベーションが上がります。

そして実際に使用してみることでさらに改善することもできます。

どんどん自分の作ったものをアップデートすることでスキルアップしていきます。

何を作れば良いのか想像できる

Chatbotは参考にできるものがネットにたくさんあるので、作りたいものをイメージしやすいです。

Chatbotを作成するメリット=作りたいものをイメージしやすい。

様々な企業がいろいろなChatbotを提供しています。

なのでどのような機能を持たせれば便利なのか、と言ったことが想像しやすいです。

Chatbotを制作するために学ぶ機能は、違うアプリケーション制作にも応用していくことが出来ます。

特にAI(人工知能)については、Chatbotを利用して学ぶのが簡単だと言えるでしょう。

そのため、AIに興味のある方には特にオススメです。

Chatbotでできること


Chatbotで出来る事をご紹介します。

Chatbotでは、以下のような機能を持たせることが出来ます。

・発言内容をおうむ返しする
・会話形式で返答する
・ランダムに文字を表示する
それぞれについて解説していきます。

発言内容をおうむ返しする

利用者がChatbotに対して発言した内容と同じ内容を、そのまま返答することが出来ます。

Chatbotでできること=同じ内容をそのまま返答する。

基本的な機能ですので、初心者の方はこの機能から実装してみると良いです。

会話形式で返答する

利用者の発言した内容からキーワードを抽出し、それに沿った内容を返答する事が出来ます。

Chatbotでできること=会話に沿った内容を返答する。

「返答する内容」は予め制作者が用意しておく必要があります。

この返答内容を大量に用意しておくことで、Chatbotと利用者は円滑なコミュニケーションを行う事が出来ます。

ランダムに文字を表示する

利用者が発言したことを検知し、ランダムに文字を選んで返答する事が出来ます。

Chatbotでできること=発言に反応してランダムな返答をする。

これを利用すれば、ゲームのような使い方が出来ます。

ちょっとしたお遊び機能を実装したいときにオススメです。

これらの機能を組み合わせることによって、様々なChatbotを制作することが出来ます。

例えば、天気予報を検索、返信するChatbotは以下の様に機能を組み合わせることになります。

  1. 利用者の発言した地域・日付を基に、インターネット上を検索して天気予報を返信する
  2. 利用者が地域を発言しなかった場合、地域を入力するように返信する
    または、地域をランダムで選んで返信する
  3. 利用者が日付を発言しなかった場合、日付を入力するように返信する
    または、発言時間を基にして午前中であれば当日、午後であれば翌日の天気を返信する

このような機能を持たせれば、十分Chatbotと言えるでしょう。

業務の効率化

Chatbotは、使い方を工夫すれば作業の自動化することができます。

Chatbotでできること=作業の自動化ができる。

最近ではヤマト運輸のサービスが有名になりました。

「再配達の日時」をChatbotが受け付け、登録することが出来ます。

Chatbotを利用して業務の効率化を図る企業はたくさんあります。

使い方次第では非常に有用な機能になります。

プログラミング初心者の方は、「最初に作る題材」に悩むことも多いでしょう。

そんなときには是非、Chatbotに挑戦してみて下さい。

前述したとおり、Chatbotには他のアプリケーションにも応用できる様々な技術が詰まっているので、

これからの学習にも役に立つことでしょう。

プログラミングを始めようか迷っていませんか?
プログラミングを始めてみようと思っても学習で挫折しないか
職業として生計を立てていけるか不安ですよね。

プログラミングジャパンでは全くの初心者でも最速で安定した収入を得るプログラマーになる為に必要なステップをLINE@で配信しています。