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

プログラミング初心者の学習におすすめの「Chatbot」などについて紹介していきます。

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

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

エンジニアエンジニア

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

本記事では

  • Chatbotとはなにか、概要
  • Twitterでのbot開発について
  • 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には他のアプリケーションにも応用できる様々な技術が詰まっているので、これからの学習にも役に立つことでしょう。

未経験からエンジニア転職!
副業フリーランス転職にも完全対応!

社会人がエンジニア転職するなら
プログラミングジャパン!
まずは無料体験レッスンで詳しく話を聞いてみよう!