membuat chatbot dengan fitur AI

Bagaimana sih caranya membuat chabot yang bisa ada AI nya . AI dalam hal ini adalah kecerdasan buatan. ini adalah pertanyaan yang sering muncul di berbagai kesempatan, lewat email, chatting, ngobrol-ngobrol santai, ngopi, makan-makan ataupun ketika sedang minum-minum. Chatbot adalah fenomena yang muncul sejak awal tahun 2016, tiba-tiba semua pemain besar , mengeluarkan ide, aplikasi ataupun prototype aplikasi seputar chatbot, yaitu aplikasi yang berfungsi seperti chatting akan tetapi dilengkapi fitur apps di dalam chatting tersebut.  Facebook, Microsoft, Apple , Skype, IBM dan Google semuanya memperkenalkan services seputar chat dengan tambahan aplikasi pada platformnya.

Revolusi ChatBot sudah mulai bergerak sejak awal january 2016 kemarin di seluruh penjuru dunia, mengalahkan Revolusi mental yang tidak terdengar lagi hingga kini. Berbicara tentang revolusi, sepertinya ini adalah pemberontakan, pemberontakan terhadap siapa, Konon di jagat raya internet, penguasa internet adalah search engine , lalu sejak tahun 2012an, mulailah social media seperti facebook, twitter mengambil alih search engine sebagai tempat paling banyak dikunjungi, dan sejak tahun 2015an, Chat messenger pelan-pelan mulai menggeser social media dan search engine sebagai tempat paling banyak dihabiskan pengguna internet. Saya sendiri  tidak tahu apakah ini benar, coba tanyakan ke diri masing-masing, Dari 3 tempat ini yaitu Social Media, Search Engine dan Chat Messenger, manakah yang paling banyak anda tongkrongi ? Jawab dengan hati nurani ya paling dalam ya. Jawabannya simpan saja sendiri, tidak perlu orang lain tahu.

Beberapa Chat Messenger yang sudah mempersiaplan platform Bot adalah antara lain Facebook Messenger, Telegram Bot, Microsoft Bot Framework, Slack, Skype (sudah pindahan ke microsoft bot framework), Google Allo

Karena pengalaman saya membuat Bot adalah pada Telegram Bot, maka penjelasan pada artikel ini adalah membuat chatbot pada telegram Bot. Untuk fitur AI nya akan dilanjutkan dibawah ini setelah penjelasan membuat chatbot dengan platform Telegram. Oke kita mulai, pertama pelajari API telegram Bot disini. Baca pelan-pelan aja, diresapi, nggak perlu buru-buru. Lalu lanjut lagi disini

sekarang mulai ke coding. cari source code di Github, masukkan keyword Telegram Bot. maka akan ada sekitar 5,009 contoh source code telegram.  Tersedia berbagai macam programing language seperti PHP,Ruby, Python, NodeJS, Java, .Net dan sebagainya. Pilih programming language yang anda kuasai, misalkan NodeJs atau PHP. untuk NodeJs atau 63 contoh source code, untuk PHP ada 115 contoh source code. wooww… banyak sekali kan. Saya sendiri menggunakan salah satunya yaitu Source code telegram milik irazasyed . Kenapa saya milih ini ? mhmh.. saya agak lupa sebabnya, mungkin karena dokumentasi yang amat sangat terlalu jelas disediakan di website ini.  O ya , source code ini menggunakan PHP 5++ dan Laravel 5. Anda harus mengerti Composer dan tahu benar permasalahan seputar Git, clone source code, fork dan sebagainya.

Sekarang anda memerlukan hosting yang dapat diandalkan,
misalkan Amazon Web Services, Google App Engine
Heroku, OpenShift, DigitalOcean, Linode , RamNode
Scaleway, RunAbove, sabahost atau CloudKilat. Terserah, pilihan hosting ada ditangan anda,

Setelah hosting ditentukan, kini anda dapat melakukan upload ataupun git push source code dari github ke hosting anda. udah pada tahu kan caranya upload atau git push dari computer local/github ke server anda. ya dong tahu kan. Bagus deh kalau begitu.

Tahap selanjutnya adalah mendapatkan bot di telegram. di dunia Telegram ada sosok yang bernama @botfather. Semua bot harus mendapatkan persetujuan dari @botfather. Buatlah Bot di Telegram dengan cara menghubungi @botfather. Search @botfather di Telegram lalu ketikkan /newbot. Ketikkan nama botnya , lalu alamat botnya. Misalkan anda akan membuat bot dengan nama anda, Ketik nama anda diikuti akhiran bot atau_bot. Anda akan diberikan botToken API. Simpan baik-baik botToken API tersebut di tempat sejuk, Jauhkan dari jangkauan anak-anak. Jangan berikan botToken API kepada siapapun, kepada pacarpun jangan. Barangsiapa yang mengetahui botToken API anda, maka Bot anda kemungkinan dapat dibajak oleh orang tersebut. Pastikan BotToken API diketahui oleh pihak yang akan mengelola Bot Kamu . apabila sudah terlanjur diketahui orang lain, Kamu dapat revoke bot Token API lama untuk digantikan dengan botToken API baru. Cara untuk Revoke , ketik /revoke ketika bicara dengan @botfather.

bot Token API kamu akan seperti ini
bot1234567890:AABBCCddeeffghiijklmans0129301

setelah bot dibuat, cobalah berbicara dengan bot tersebut melalui
Telegram Messenger.

Lalu cek di
https://api.telegram.org/bot1234567890:AABBCCddeeffghiijklmans0129301/getupdates

setiap kata yang anda ketikkan ketika berbicara dengan bot, maka
akan muncul seperti ini

    [update_id] => 83812313
    [message] => Array
        (
            [message_id] => 150
            [from] => Array
                (
                    [id] => 610129310
                    [first_name] => Kukuh
                    [last_name] => Tw
                    [username] => kukuhtw
                )
            [chat] => Array
                (
                    [id] => 610129310
                    [first_name] => Kukuh
                    [last_name] => Tw
                    [username] => kukuhtw
                    [type] => private
                )
            [date] => 1464362346
            [text] => ini ketikkan saya
        )
)

Oke ,sekarang bagaimana cara boot menjawab setiap respond yang diajukan oleh lawan bicara ?
Aplikasi harus dapat merespond setiap pembicaraan, caranya
ubah metode webhook pada  telegram bot.

https://api.telegram.org/bot1234567890:AABBCCddeeffghiijklmans0129301/setwebhook?url=https://alamat-hosting-kamu-tempat-menyimpan.aplikasitelegram.com/hook.php

ini petunjuk cara ngeset webhook dari aplikasi php kamu.
pastikan kamu sudah siap dengan file php yang sudah kamu hosting di hosting provider kamu. Pastikan server kamu sudah memiliki domain secure https agar aman sentosa gemah ripah loh jinawi.

selamat, sekarang kamu bisa bikin bot pada platform telegram Bot. Sekarang Bot saya harus dipersenjatai AI yaitu kecerdasan buatan.

diluar sana ada banyak layanan thirdparty AI, contohnya IBM watson bluemix dan PandoraBots.

untuk IBM watson bisa coba services conversation disini . Saya sendiri sempat mencoba sebentar dialog sebelum dimigrasikan ke conversation.
Saya menggunakan PandoraBots. untuk menggunakan PandoraBots, terlebih dahulu harus mengerti AIML (Artificial Intellegence Markup Language). ada tempat bernama playground yaitu tempat belajar dan bermain-main menggunakan AIML.
untuk belajar AIML, coba cek file ini di github, ini adalah file AIML untuk layanan virtual assistant, tapi masih 1/8 jadi. nggak jadi dilanjutkan. Code AIMLnya dipersiapkan untuk handle permintaan seperti di bawah ini

Pesan Tiket Pesawat : ketik `PESAN TIKET PESAWAT`
Pesan Kamar Hotel : Ketik `PESAN KAMAR HOTEL`
Pesan Makanan : Ketik `PESAN MAKANAN`
Cari Kado : Ketik `CARI KADO`
Pesan Tempat Restaurant : Ketik `PESAN TEMPAT RESTAURANT`
Cari Mobil : Ketik `CARI MOBIL`
Cari Kos : Ketik `CARI KOS`
Cari investasi Property : Ketik `CARI INVESTASI PROPERTY`
Cari Jodoh : Ketik `CARI JODOH`
Tanya Info Lalu Lintas : Ketik `TANYA INFO LALU LINTAS`

coba masuk ke https://playground.pandorabots.com/en/ , lalu upload file AIML tersebut, lalu testing chatting berbicara.
contoh screenshot terlampir dibawah ini

pandorabots-screenshot-2016-09-27-21

Apabila sudah khatam, sudah full, sudah ngerti, bisa langsung serius register layanan AInya disini.
Layanan Saas AI di pandoraBots ini berbayar, tarif mulai dari $9 perbulan untuk maksimal 10,000 interactions.

Services AI disediakan dalam format JSON, setiap request dan output yang akan dikeluarkan berbentuk JSON.

upload / git push file AIML tersebut ke pandorabots, Connect-an dari Aplikasi Telegram Bot Php kamu ke API pandorabots.
ketika mendaftar di pada layanan Saas API pandorabot, kamu akan mendapatkan appid,user_key. contoh seperti dibawah ini

{
     "app_id": "134578912839131",
     "user_key": "b012391378912931381",
     "botname": "namabotanda",
     "hostname": "aiaas.pandorabots.com"
 }

untuk connect dari aplikas telergam bot kamu ke pandora, kamu bisa menggunakan source code ini di github

https://github.com/spontena/pb-php

code kamu akan terlihat seperti ini , ketika aplikasi akan berbicara ke layanan Saas AI kamu di Pandora

$baseURL = ‘https://aiaas.pandorabots.com’;
$app_id = ‘12345678001901’;
 $botname = ‘namabotkamu’;
 $user_key = ‘user_keykamu_disini;
 $pbc = new PBClient($baseURL,$app_id,$user_key);
  $talk = $pbc->talk($textsearch,$botname,$username);
  if($talk->status == “ok”){
      foreach ($talk->responses as $response) {
               echo $response . “\n”;
            }
        }else{
            // cant connect to pandora
        }

Setiap response yang dihasilkan di layanan thirdparty Pandorabots berupa JSON. Olah format JSON tersebut pada aplikasi TelegramBot kamu.

Pada contoh bot virtual assistant disini memang belum lengkap. ketika user memesan tiket pesawat/kamar hotel/barang, seharusnya ada tambahan lagi untuk connect API ke provider penjualan tiket pesawat, kamar hotel, e-commerce dan sebagainya. Atau ada tambahan connect ke API services perbandingan harga tiket pesawat/kamar hotel/e-commerce dan sebagainya.

Apakah ada alternatif AI lain, ikuti diskusi menarik di quora
tentang layanan saas AI disini

Kesimpulannya
membuat chatbot pada telegramBot dengan fitur API dapat mengandalkan layanan thirdparty API. Telegram berfungsi sebagai user interface dimana proses dan backend akan mengandalkan API dari third party.

Tidak sesulit yang dibayangkan kan ? Sekarang kamu bisa membuat aplikasi AI sendiri, nggak perlu rumit-rumit. Bikin untuk usaha UKM kamu, usaha jasa rumahan, usaha antar jemput barang. usaha laundry, cuci mobil kendaraan motor/mobil. usaha edukasi pengajaran pakai AI, apa aja deh… Silahkan dimulai… dari sekarang !

Switch to our mobile site