bab ii landasan teori a. artificial intelligence
TRANSCRIPT
BAB II
LANDASAN TEORI
A. Artificial Intelligence
Menurut Elaine R. dan Kevin K. (2009: p.3), “Artificial Intelligence (AI) adalah studi
pembelajaran yang membuat komputer melakukan pekerjaan manusia yang saat ini
manusia melakukannya dengan baik.”
Menurut Prateek Joshi (2019: p.1), “Artificial Intelligence (AI) adalah cara untuk
membuat mesin berpikir dan berperilaku cerdas. Mesin ini dikendalikan oleh perangkat
lunak di dalamnya, sehingga AI memiliki banyak hubungannya dengan perangkat lunak
cerdas program yang mengendalikan mesin ini. Ini adalah ilmu menemukan teori dan
metodologi yang dapat membantu mesin memahami dunia dan bereaksi sesuai terhadap
situasi yang sama dengan manusia perbuat.”
AI dapat dikategorikan menjadi dua tipe menurut Stuart Russel dan Peter Norvig
(2016), yaitu:
1. Weak AI
Mesin dengan kekuatan AI yang lemah digunakan manusia hanya untuk
membantu kegiatan manusia secara spesifik dan tidak dapat berfikir untuk dirinya
sendiri.
2. Strong AI
Mesin dengan kekuatan AI yang kuat dapat berfikir selayaknya manusia biasa,
dan dapat belajar dari pengalaman yang didapatkan. Jika di kembangkan lagi
dapat melakukan self-decision atau pengambilan keputusan saat beberapa masalah
terjadi.
Pada AI terdapat proses yang dijelaskan oleh Prateek Joshi (2017: p.3), yaitu:
1. Collecting data
Pengumpulan data yang akan dilakukan untuk keperluan training data
kedalam sistem kecerdasan AI.
2. Preprocess
Data yang dikumpulkan akan melalui proses preprocess yang akan diubah
menjadi informasi.
3. Cognition
Dari informasi yang telah diekstraksi dari data akan melalui proses cognition
yang akan menjadi suatu knowledge.
4. Pattern extraction
Dari knowledge tersebut akan dilakukan pattern extraction dengan tujuan agar
dapat dimengerti oleh sistem.
5. Inference
Setelah melalui pattern extraction akan dilalukan tahap terakhir yaitu
inference atau melalukan kesimpulan yang digunakan sebagai intelligence dari
sistem.
AI juga mempunyai beberapa cabang untuk menyelesaikan masalah-masalah yang
ada pada saat ini, yaitu:
1. Computer Vision
Tujuan pada cabang ilmu ini adalah untuk membuat komputer memahami data
visual. Memahami hal ini berarti bahwa informasi diperoleh oleh komputer dapat
berguna untuk aplikasi yang sedang di buat. Nilai piksel sebagai fitur dari data
visual dan biasanya akan ada preprocessing untuk meningkatkan kualitas fitur.
2. Robotics
Tujuan dari cabang ini adalah membuat perangkat mekanik atau biasanya
disebut robot untuk melakukan pekerjaan yang ekstrem yang tidak dapat dicapai
oleh manusia atau menggantikan beberapa pekerjaan manusia.
3. Expert System
Tujuan dari cabang ini adalah membuat AI yang dapat membuat solusi yang
biasanya membutuhkan kemampuan proses pemikiran manusia. Konsep expert
system adalah untuk mentransfer pengetahuan dari seseorang yang mahir dalam
apa yang mereka lakukan ke dalam mesin. Tujuan utamanya adalah untuk
memudahkan proses penerimaan informasi.
4. Natural Language Processing
Tujuan dari cabang ini adalah untuk membuat manusia berkomunikasi dengan
mesin dengan bahasa sehari-hari. Mesin tersebut dapat mengetahui dan menjawab
dengan bahasa sehari-hari. NLP terdiri dari syntactic analysis dan semantic
analysis. Syntactic analysis akan memecah kalimat menjadi kata kerja, kata ganti,
dan sebagainya. Sedangkan semantic analysis mencoba menganalisa makna
kalimat.
5. Machine Learning
Tujuan dari cabang ini adalah untuk mengidentifikasi pola dalam data dan
menyesuaikan dengan sistem, pada sistem machine learning dapat mempelajari
pola dengan informasi yang diberikan secara otomatis.
B. Natural Language Processing
Menurut James Pustejovsky (2012 : p.4), “Natural Language Processing (NLP)
adalah penerapan ilmu komputer, khususnya linguistik komputasional (computational
linguistics), untuk mengkaji interaksi antara komputer dengan bahasa (alami) manusia.”
Menurut Stuart Russel dan Peter Norvig (2016 : p.16), “Natural Language Processing
atau Computational Linguistics adalah gabungan dari linguistik modern dan AI, yang
lahir hampir bersamaan dan membentuk sesuatu bidang teknologi hybrid yang digunakan
dalam memahami suatu maksud, subjek dan objek dari konteks bahasa yang
disampaikan.”
Tujuan NLP adalah merancang dan membangun aplikasi yang memfasilitasi interaksi
manusia dengan mesin dan perangkat lain melalui penggunaan bahasa alami.
Berdasarkan James Pustejovsky (2012: p.4) dalam penerapannya, tujuan NLP untuk
memahami bahasa manusia ini telah diterapkan pada beberapa bidang, yang antara lain
adalah sebagai berikut:
1. Question Answering System (QAS)
Question Answering adalah disiplin ilmu komputer dalam bidang Information
Retrieval dan Natural Language Processing (NLP), yang berkaitan dengan
membangun sistem yang secara otomatis menjawab pertanyaan yang diajukan
oleh manusia dengan bahasa alami. Misalkan bertanya pada komputer atau ponsel
mengenai jam berapa restoran favorit kita di New York berhenti melayani makan
malam pada hari Jumat malam. Daripada mengetikkan kumpulan kata kunci yang
meragukan ke jendela browser pencarian, Kita bisa bertanya dalam bahasa yang
sederhana dan alami seperti bahasa Inggris, Mandarin, atau Spanyol.
2. Summarization
Area ini termasuk aplikasi yang dapat mengambil koleksi dokumen atau
email, dan buat ringkasan yang koheren dari konten mereka. Program semacam
itu juga bertujuan untuk memberikan ringkasan lift dokumen yang lebih panjang,
dan mungkin bahkan mengubahnya menjadi presentasi slide.
3. Machine Translation
Pengaplikasian NLP yang difokuskan, ini adalah jurusan pertama bidang
penelitian dan teknik di lapangan. Program seperti Google Terjemahan menjadi
lebih baik dan lebih baik, tetapi aplikasi terbaik sebenarnya adalah BabelFish yang
diterjemahkan secara real-time ketika sedang mencari kereta yang tepat untuk
menangkap di Beijing.
4. Speech Recognition
Ini adalah salah satu masalah paling sulit di NLP. Disisi ini telah banyak
kemajuan dalam membangun model yang dapat digunakan di ponsel atau
komputer untuk mengenali ucapan bahasa lisan yang merupakan pertanyaan dan
perintah.
5. Document Classification
Ini adalah salah satu area NLP paling sukses, di mana tugasnya adalah
mengidentifikasi kategori (atau nampan) dokumen mana yang harus dimasukkan.
Ini telah terbukti sangat berguna untuk aplikasi seperti penyaringan spam, artikel
berita klasifikasi, dan ulasan film, antara lain. Satu alasan mengapa hal ini terjadi
dampak besar adalah kesederhanaan relatif dari model pembelajaran yang
dibutuhkan untuk pelatihan algoritma yang melakukan klasifikasi.
Menurut Jurafsky, D. dan Martin H.James (2008), NLP terdiri dari syntactic analysis
dan semantic analysis. Syntactic analysis akan memecah kalimat menjadi kata kerja, kata
ganti, dan sebagainya. Sedangkan semantic analysis mencoba menganalisa makna
kalimat.
a. Syntactic analysis
Syntactic berasal dari kata Yunani yaitu syntaxis, yang artinya “menyusun
kembali suatu susunan” atau dapat diartikan sebagai bagaimana
menyusun/memecah suatu kata. Syntactic mempunyai tiga komponen utama
yaitu:
1) Constituency.
2) Grammatical relations, yaitu suatu formalisasi ide dari kalimat
tradisional seperti subjek dan objek, atau keterangan, dan sebagainya.
Contoh dalam hal ini yaitu, “Dia” adalah subjek dan “sarapan” adalah
objek.
3) Subcategorization and dependency,
b. Semantic analysis
Semantic analysis adalah proses dimana sebuah representasi suatu kalimat
dibuat dan ditugaskan untuk input linguistik. Pada dasarnya, analisis semantik
akan membaca suatu ekspresi kalimat dan mencoba untuk mencari makna dari
kalimat tersebut. Berikut adalah suatu kalimat yang membutuhkan analisis
semantik:
1) Menjawab soal esai saat ujian.
2) Memutuskan apa yang harus dipesan saat di restoran dengan membaca
menu
3) Mempelajari kegunaan baru dari perangkat lunak dengan membaca
panduan.
4) Sadar kalau kita sedang dijelek-jelekkan.
5) Mengikuti resep.
C. Natural Language Understanding
Menurut Gartner (2019), “Natural Language Understanding adalah pemahaman oleh
komputer tentang struktur dan makna bahasa manusia (misalnya, Inggris, Spanyol,
Jepang), yang memungkinkan user untuk berinteraksi dengan komputer menggunakan
bahasa alami.”
Menurut Ekaterina Ovchinnikova (2012: p.15), dalam kecerdasan buatan (Artificial
Intelligence) dan linguistik komputasi (Computational Lingustics), “Natural Language
Understanding adalah sub-bidang dari Natural Language Processing yang berhubungan
dengan pemahaman bacaan mesin.”
Tujuan dari sistem NLU adalah untuk menafsirkan teks fragmen input. Proses
interpretasi dapat dilihat sebagai terjemahan teks dari natural language (bahasa alami) ke
representasi dalam bahasa formal yang tidak ambigu. Representasi ini, seharusnya
diungkapkan dalam konten teks, selanjutnya digunakan untuk melakukan tugas nyata
yang tersirat oleh permintaan pengguna.
Gambar 2.1 Pemahaman Bahasa Alami Manusia.
Sumber: (Ovchinnikova, Ekaterina. 2012).
Pada Gambar 2.1, Ovchinnikova menjelaskan penalaran NLU manusia yaitu sistem
pemahaman yang konvensional, dengan adanya computational linguistics seperti Gambar
2.2, pemahaman manusia diubah menjadi suatu program yang menerima interpretasi dari
manusia untuk dapat memahami maksud dari kalimat yang diajukan.
Gambar 2.2 Komputasi Natural Language Understanding.
Sumber: (Ovchinnikova, Ekaterina. 2012)
Dalam beberapa waktu terakhir, baik industri dan akademisi telah menunjukkan luar
biasa minat pada pemahaman bahasa alami. Dalam hal tersebut menghasilkan beberapa
alat dan pada bidang literatur. Beberapa aplikasi utama NLU menurut Singh Abhishek
(2019), yaitu:
Question answering, adalah disiplin ilmu komputer dalam bidang pengambilan
informasi (information retrieval) dan natural language processing (NLP), yang
berkaitan dengan membangun sistem yang secara otomatis menjawab pertanyaan
yang diajukan oleh manusia dengan bahasa alami.
Natural language search, adalah pencarian yang dilakukan dalam bahasa sehari-
hari, mengutarakan pertanyaan seperti yang akan ditanyakan saat berbicara
dengan seseorang. Pertanyaan ini dapat diketikkan ke search engine, atau
diucapkan ke pencarian suara. Contohnya “How many days until 30 November?”.
Web-scale relation extraction, adalah bagian dari Information Extraction yang
mengekstraksi seluruh link yang berhubungan dengan kata kunci.
Sentiment analysis, adalah proses otomatis yang menggunakan AI untuk
mengidentifikasi pendapat positif, negatif dan netral dari sebuah teks. Sentiment
analysis banyak digunakan untuk mendapatkan wawasan dari komentar media
sosial, tanggapan survei, dan ulasan produk, dan membuat keputusan berdasarkan
data.
Text summarization, adalah proses memperpendek dokumen teks dengan
perangkat lunak, untuk membuat ringkasan dengan poin utama dari dokumen asli.
Teknologi yang dapat membuat ringkasan yang koheren memperhitungkan
variabel akun seperti panjang, gaya penulisan, dan sintaksis.
Legal discovery, adalah penggunaan NLP dalam lawsuits yang membantu dalam
menangani kasus pelanggaran sesuai dengan hukum yang berlaku.
Untuk membedakan penerapan NLP dan NLU, dapat dijelaskan dengan diagram
Venn (Singh, Abhishek. 2019).
Gambar 2.3 Pengaplikasian NLP dan NLU
Sumber: (Singh, Abhishek. 2019)
Pada gambar 2.3 menunjukkan beberapa aplikasi NLP dan NLU. Ini menunjukkan
NLU sebagai bagian dari NLP. Pemisahan hanya dalam tugas, bukan dalam ruang
lingkup. Tujuan keseluruhan adalah untuk memproses dan memahami teks bahasa alami
membuat mesin berpikir seperti manusia.
D. Machine Learning
Menurut Danukusumo (2017), “Machine Learning merupakan serangkaian teknik
yang dapat membantu dalam menangani dan memprediksi data yang sangat besar dengan
cara mempresentasikan data-data tersebut dengan algoritma pembelajaran.”
Menurut Mohri et. al (2012), “Machine Learning dapat didefinisikan sebagai metode
komputasi berdasarkan pengalaman untuk meningkatkan performa atau membuat prediksi
yang akurat”.
Istilah machine learning pertama kali didefinisikan oleh Arthur Samuel pada tahun
1959. Menurut Samuel Arthur, machine learning adalah suatu bidang ilmu komputer
yang memberikan kemampuan pembelajaran kepada komputer untuk mengetahui sesuatu
tanpa pemrograman yang jelas. Dari definisi inilah informasi yang telah tersedia bisa
dijadikan data pembelajaran.
Dalam pembelajaran machine learning, terdapat skenario-skenario seperti:
1. Supervised Learning
Penggunaan skenario supervised learning, pembelajaran menggunakan masukan
data pembelajaran yang telah diberi label. Setelah itu membuat prediksi dari data
yang telah diberi label.
2. Unsupervised Learning
Penggunaan skenario unsupervised learning, pembelajaran menggunakan
masukan data pembelajaran yang tidak diberi label. Setelah itu mencoba untuk
mengelompokkan data berdasarkan karakteristik-karakteristik yang ditemui.
3. Reinforcement Learning
Pada skenario reinforcement learning, fase pembelajaran dan tes saling dicampur.
Untuk mengumpulkan informasi pembelajar secara aktif dapat berinteraksi ke
lingkungan sehingga untuk mendapatkan balasan untuk setiap aksi dari
pembelajar.
E. Chatbot
Menurut Gartner IT Glossary (2019), “Chatbot adalah antarmuka percakapan khusus
domain yang menggunakan aplikasi, platfrom perpesanan, jaringan sosial atau solusi
obrolan untuk percakapannya. Chatbot bervariasi dalam kecanggihannya, mulai dari aksi
pemasaran berdasarkan pohon keputusan sederhana, hingga implementasi yang dibangun
di atas platform yang kaya fitur. Ruang lingkup selalu sempit. Chatbot dapat berbasis teks
atau suara, atau kombinasi keduanya.“
Menurut Accenture (2016, p.3), “Chatbot adalah sebuah program komputer yang
dapat berkomunikasi dengan pengguna melalui media aplikasi messaging, yang menerima
inputan dan membalas dalam berupa kata atau suara yang menciptakan sebuah
conversational flow.”
Chatbot merupakan penerapan aplikasi dari Artificial Intelligence (AI). Yang
membedakan chatbot dengan Natural Language Processing System adalah kesederhanaan
algoritma yang digunakan. Meskipun banyak bots yang dapat menginterpretasikan dan
menanggapi input manusia, sebenarnya bots tersebut hanya mengartikan kata kunci dalam
input dan membalasnya dengan kata kunci yang paling cocok, atau pola kata-kata yang
paling mirip dari data yang telah ada dalam database yang telah dibuat sebelumnya.
Chat dapat diartikan sebagai pembicaraan. Bot merupakan sebuah program yang
mengandung sejumlah data, jika diberikan masukan maka akan memberikan jawaban.
Chatbot dapat menjawab pertanyaan dengan membaca tulisan yang diketikkan oleh
pengguna melalui keyboard.
1. Arsitektur Chatbot
Dalam cakupan ini akan berfokus pada bagian inti dari chatbot yang memiliki
kemampuan untuk memproses data tekstual dan ambil bagian dalam percakapan yang
mirip manusia.
Gambar 2.4 Diagram Arsitektur Chatbot
Sumber: (Singh, Abshishek. 2019)
Seperti Gambar 2.3 menunjukkan sebuah arsitektur yang memanfaatkan
teknik dari NLP, NLU, dan NLG ke membangun chatbot. Dengan contoh yaitu
membuat chatbot untuk mem-booking tiket pesawat secara online. Berikut adalah
tahap-tahap sesuai dengan diagram arsitektur di atas.
a) Pelanggan berkata, “Bantu saya memesan penerbangan untuk besok dari
London ke New York " melalui maskapai pada Halaman Facebook. Dalam hal
ini, Facebook menjadi lapisan presentasi. Chatbot yang berfungsi penuh dapat
diintegrasikan ke dalam situs web perusahaan, sosial halaman jaringan, dan
aplikasi perpesanan seperti Skype dan Slack.
b) Selanjutnya, pesan tersebut dibawa ke messaging backend di mana teks biasa
melewati mesin NLP / NLU, di mana plain text menjadi token, dan pesan
tersebut dikonversi menjadi sebuah perintah yang bisa dimengerti mesin.
c) Mesin keputusan kemudian mencocokkan dengan perintah yang alur kerja
telah dikonfigurasikan sebelumnya. Jadi, misalnya, untuk memesan
penerbangan, sistem membutuhkan sebuah sumber dan tujuan. Di sinilah NLG
bekerja. Chatbot akan bertanya, “Tentu, saya akan membantu Anda memesan
penerbangan dari London ke New York. Bisakah Anda memberi tahu saya
tahu jika Anda lebih suka penerbangan Anda dari Heathrow atau Bandara
Gatwick? ” Chatbot mengambil sumbernya dan tujuan serta secara otomatis
menghasilkan pertanyaan lanjutan yang menanyakan bandara mana pelanggan
lebih suka.
d) Chatbot menyentuh lapisan data dan mengambil informasi penerbangan dari
sumber data sebelumnya, yang biasanya dapat dihubungkan ke pemesanan
langsung sistem. Sumber data menyediakan ketersediaan penerbangan, harga,
dan banyak layanan lainnya sesuai desain.
Beberapa chatbots menitikberatkan pada respons generatif, dan lainnya dibangun
untuk mengambil informasi dan memasangnya dalam alur percakapan yang dirancang
sebelumnya.
2. Prinsip Alur Percakapan Chatbot
Chatbots untuk aplikasi domain tertutup dibangun dengan tujuan yang
ditentukan dan fungsionalitas yang akan disediakan chatbot sebagai fitur bagi
pengguna. Untuk dapat mencakup kemungkinan kasus percakapan atau input
pengguna, harus mendefinisikan ruang lingkup dan semua aliran yang mungkin.
Mendefinisikan aliran adalah penting karena harus mengikuti kebijakan untuk dapat
memberikan akses ke data yang diperlukan. Alur percakapan adalah pohon keputusan
yang menggambarkan daftar yang mungkin berupa peristiwa, keputusan, dan hasil
dari suatu percakapan di setiap titik dalam percakapan. Jenis aliran ini mengamankan
relevansi yang lebih tinggi ketika konteks perlu dipertahankan dan respons dari sistem
langkah tidak tunggal.
Gambar 2.5 Alur Percakapan Chatbot
Sumber: (Singh, Abhishek. 2019)
Pada gambar 2.5, aliran dimulai dengan pesan selamat datang dan
menyediakan menu (jika itu adalah chatbot berbasis aturan) atau pengguna meminta
hukuman (sepenuhnya didorong oleh AI chatbot). Setelah logika NLP chatbot
mengidentifikasi fungsionalitas mana pengguna membutuhkan, ada titik keputusan
untuk membawa pengguna ke sana jalur percakapan. Jika pengguna ingin memeriksa
status pesanan miliknya, titik keputusan percakapan berikutnya adalah memasukkan
nomor pesanan. Setelah itu chatbot menerima id pesanan yang valid, panggilan
backend untuk mengambil tindakan informasi untuk pesanan itu dan membawanya
kembali ke pengguna. Aliran ini dipertahankan konteksnya juga, jadi jika dia perlu
melacak urutan lain, dia tidak perlu memulai dari root tetapi cukup masukkan id
pesanan lain dan chatbot akan tahu untuk melacak status pesanan.
Di chatbots yang lebih canggih, dapat mengoper multi-intents dalam satu
baris, tetapi secara teknis chatbot akan memproses permintaan dalam aliran yang
sama. Jadi, misalkan "Lacak nomor pesanan saya 465" adalah input tunggal dari
pengguna, yang harus mengambil 465. Multi-intent chatbot sulit untuk dibangun, dan
kemungkinan kesalahan sangat tinggi.
Membuat aliran chatbot sangat penting karena ini menentukan ruang lingkup
fitur dan meningkatkan akurasi chatbot untuk pengguna. Ini sangat penting untuk
menjelaskan kepada pengguna apa yang seharusnya dilakukan chatbot mereka dan
mungkin mendefinisikan fitur sebelumnya. Kasus pengecualian bisa selalu ditransfer
ke respons default atau eksekutif manusia.
3. Pendekatan Pengembangan Chatbot
Pendekatan pengembangan chatbot mengacu pada cara membuat chatbot
logika. Pertimbangan kritis dalam memilih pendekatan adalah keseimbangan antara
kemampuan bahasa alami dan akurasi hasil. NLP hadir dengan tantangan untuk
memahami percakapan alami dan menerjemahkannya ke tindakan mesin
keseimbangan harus dijaga.
Ada dua pendekatan dalam perancangan chatbot yang di usulkan oleh
(Abhishek Singh. 2019), diantaranya adalah:
a. Rules-Based Approach (Pendekatan berbasis aturan)
Pendekatan berbasis aturan (Rules-Based Approach), juga disebut pendekatan
berbasis menu, berfungsi sebagai perpanjangan dari portal self-help dengan
pengalaman yang lebih baik. Yang kritis perbedaannya adalah dengan navigasi ke
solusi. Di portal self-help, perlu menavigasi ke opsi yang tepat secara manual, saat
dalam berbasis menu chatbots, navigasi bisa dilakukan menggunakan bahasa
alami lalu tindakan dilakukan menggunakan menu.
Jenis-jenis chatbot ini lazim dan biasanya penggunaannya tinggi kasus
penggunaan industri yang terintegrasi dengan CRM dan sistem data lainnya.
Ada beberapa keuntungan dari pendekatan ini, yaitu:
Keakuratan respons terkonfirmasi pada desain.
Lebih mudah dan diimplementasikan karena didasarkan pada heuristik
daripada NLP yang rumit.
Lebih mudah untuk menambah menu item tanpa harus mengubah dari
awal.
Ada beberapa kekurangan dari pendekatan ini, yaitu:
Fungsionalitas sangat terbatas pada kode.
Fullfilment terdiri dari dua langkah, yaitu memahami konteksnya dan
mengangkat menu. Setelah menu diklik, baru dapat dipenuhi.
Menawarkan percakapan bahasa alami yang terbatas karena hanya
mengerti apa yang sudah di kode kan.
b. AI-Based Approach (Pendekatan berbasis AI)
Pendekatan berbasis AI didasarkan pada mesin NLP canggih untuk
mendukung bahasa alami dan memenuhi permintaan berdasarkan pada algoritma
ML dan integrasi sistem untuk pengambilan informasi yang dinamis. Keakuratan
chatbot lebih rendah di awal dan meningkat seiring waktu. Perbedaan kritis antara
pendekatan berbasis menu dan berbasis AI adalah mesin NLP. Mesin NLP
bertanggung jawab untuk mengekstraksi informasi yang ada di input pengguna.
Berdasarkan pada informasi yang diekstraksi, chatbot perlu memutuskan langkah
selanjutnya.
Gambar 2.5 Pengekstrasian Informasi dengan mesin NLP
(Sumber: Singh, Abhishek. 2019)
Pada gambar 3.4, peran penting dari mesin NLP adalah untuk ekstrak
informasi dari input bahasa alami. Keakuratan ekstraksi informasi sangat penting
karena akan menentukan hasil percakapan dan bertahan dalam sistem. Mesin NLP
perlu mengekstrak informasi yang diperlukan untuk menginstruksikan sistem
untuk bertindak. Dalam pendekatan menu-driven, pengguna harus terlibat dengan
menu untuk memilih detail yang tepat sebelum sistem dapat bertindak.
Ada beberapa keuntungan dari pendekatan ini, yaitu:
Percakapan lanjutan dapat terjadi tanpa harus mengulang tindakan.
Mesin NLP dapat menangani skenario yang tidak pernah diproses dan teks
yang berbeda.
Dapat belajar membuat tanggapan khusus di awal.
Ada beberapa kekurangan dari pendekatan ini, yaitu:
Mesin NLP rumit untuk dilatih, dipelihara, dan diperbaiki.
Keakuratan tanggapan tidak dapat dibenarkan karena mesin NLP tidak
100% akurat.
Membutuhkan sejumlah data yang besar agar chatbot dapat berfungsi
dengan mesin NLP.
F. Dialogflow
Menurut Google Cloud (2019), “Dialogflow adalah platform Natural Language
Processing yang memudahkan untuk merancang dan mengintegrasikan antarmuka
pengguna percakapan ke aplikasi seluler, aplikasi web, perangkat, bot, sistem respons
suara interaktif, dan sebagainya.”
Menurut Abhishek Singh (2019, p.296), “Dialogflow adalah pengembang teknologi
interaksi manusia-komputer milik Google yang didasarkan pada percakapan bahasa
alami.”
Dialogflow atau disebut API.ai adalah platform yang menyediakan API untuk
chatbot. Dialogflow yang dimiliki oleh Google saat ini berperan sebagai inti dalam
memberikan layanan untuk pengembangan aplikasi chatbot dan aplikasi yang berbasis
suara, seperti Google Assitant, Google Home, dan sebagainya. Hal ini yang membuat
platform ini menjadi terkenal dikalangan platform NLP lainnya. Pada dasarnya,
fungsionalitas Google Dialogflow mirip dengan platform NLP lainnya seperti LUIS,
Wit.ai, dan sebagainya karena memiliki komponen yang hampir sama dalam
mengoperasikannya. (Abhishek Singh, 2019).
1. Cara Kerja Dialogflow
Proses awal yang dilakukan adalah dengan adanya request yang datangnya
dari user dengan melakukan permohonan ke platform, lalu sistem didalam
platform ini akan memberikan response ke user yang terkait bahwa permohonan
untuk menggunakan layanan diterima, user disini dapat dikatakan sebagai
developer yang merancang sebuah chatbot. (Google Cloud, 2019).
Gambar 2.6 Alur Kerja Platform Dialogflow
(Sumber: https://cloud.google.com/dialogflow/docs/basics)
Gambar 2.4 menjelaskan diagram yang menunjukkan aliran pemrosesan
penggunaan Dialogflow, sebagai berikut:
a) End-user mengetik atau berbicara ekspresi.
b) Server mengirimkan ekspresi end-user ini ke Dialogflow dalam pesan
permintaan deteksi maksud.
c) Dialogflow mengirimkan pesan respons deteksi maksud ke layanan. Pesan
ini berisi informasi tentang maksud yang cocok, tindakan, parameter, dan
respons yang ditentukan untuk maksud tersebut.
d) Server melakukan tindakan sesuai kebutuhan, seperti permintaan basis
data atau panggilan API eksternal.
e) Server mengirimkan respons kepada end-user.
f) End-user melihat atau mendengar respons.
2. Komponen Dialogflow
Menurut Google Cloud (2019), terdapat istilah-istilah penting pada dialogflow,
yaitu sebagai berikut:
a) Agents
Dialogflow Agents adalah agen virtual yang menangani percakapan dengan
end-users. Ini adalah modul pemahaman bahasa alami yang memahami nuansa
bahasa manusia. Dialogflow menerjemahkan teks atau audio pengguna akhir
selama percakapan ke data terstruktur yang dapat dipahami aplikasi dan
layanan kita. Developer merancang dan membuat Dialogflow Agents untuk
menangani jenis percakapan yang diperlukan untuk sistem kita.
Dialogflow Agents mirip dengan agen pusat panggilan manusia. Anda
melatih keduanya untuk menangani skenario percakapan yang diharapkan, dan
pelatihan Anda tidak perlu terlalu eksplisit.
Agen juga berfungsi sebagai wadah tingkat atas untuk pengaturan dan
data:
1. Agent settings untuk opsi bahasa, pengaturan pembelajaran mesin, dan
pengaturan lain yang mengontrol perilaku agen Anda.
2. Intents untuk mengelompokkan niat pengguna akhir untuk setiap
giliran percakapan.
3. Entities untuk mengidentifikasi dan mengekstrak data spesifik dari
ekspresi pengguna akhir.
4. Knowledge untuk mengurai dokumen (misalnya, FAQ) dan
menemukan respons otomatis.
5. Integrations untuk aplikasi yang berjalan pada perangkat atau layanan
yang secara langsung menangani interaksi pengguna akhir untuk Anda
(misalnya, Google Assistant).
6. Fulfillment untuk menghubungkan layanan Anda saat menggunakan
integrasi.
b) Intents
Suatu intents akan mengelompokkan end-user intent untuk satu giliran
percakapan. Untuk setiap agen, akan menentukan banyak maksud, di mana
maksud gabungan kita dapat menangani percakapan lengkap. Ketika end-user
menulis atau mengatakan sesuatu, disebut sebagai end-user expression,
Dialogflow mencocokkan end-user expression dengan intent terbaik di
Agent. Mencocokkan maksud juga dikenal sebagai intent classification.
Gambar 2.7 Intent Extraction
Sumber: https://cloud.google.com/dialogflow/docs/intents-overview
Misalnya, kita dapat membuat agen cuaca yang mengenali dan merespons
pertanyaan pengguna akhir tentang cuaca. Kita mungkin akan menentukan niat
untuk pertanyaan tentang ramalan cuaca. Jika pengguna akhir mengatakan
"What’s the forecast?", Dialogflow akan mencocokkan dengan ekspresi
pengguna akhir itu dengan maksud perkiraan. Anda juga dapat menentukan
niat kita untuk mengekstrak informasi yang berguna dari ekspresi pengguna
akhir, seperti waktu atau lokasi untuk perkiraan cuaca yang diinginkan. Data
yang diekstrak ini penting bagi sistem kita untuk melakukan kueri cuaca bagi
pengguna akhir.
c) Entities
Entities adalah sebuah alat yang sangat kuat untuk mengidentifikasi nilai
yang berguna dari sebuah masukan bahasa alami dalam hal ini adalah
pertanyaan yang dikirim oleh user. Di dalam platform terdapat 3 jenis entities,
yaitu System Entities, Developer Entities, dan User Entities. System Entities
merupakan entities yang sudah dibenamkan di dalam sistem, artinya entities
tersebut sudah tersedia, Developer Entities merupakan entities yang dibuat dan
didefinisikan oleh developer, User Entities adalah yang didefinisikan untuk
setiap user pada setiap permintaan.
G. Penelitian Terdahulu
Penelitian terdahulu ini menjadi salah satu acuan penulis dalam melakukan penelitian
sehingga penulis dapat memperkaya teori yang digunakan dalam mengkaji penelitian
yang dilakukan. Dari penelitian terdahulu, penulis mengangkat beberapa penelitian
sebagai referensi dalam memperkaya bahan kajian pada penelitian penulis. Berikut
merupakan penelitian terdahulu berupa beberapa jurnal dari judul yang mirip dengan
penelitian penulis, yaitu:
1. Jurnal dengan judul “Rancang Bangun Aplikasi Chatbot Sebagai Media Pencarian
Informasi Anime menggunakan Regular Expression Pattern Matching” yang
disusun oleh David Domarco dan Ni Made Satvika Iswari dari UMN dan
diterbitkan oleh Jurnal ULTIMATICS dari UMN (Universitas Multimedia
Nusantara) pada Juni 2017 di Vol. IX, No. 1 dengan ISSN 2085-4552. Dalam
penelitian tersebut, David Domarco dan Ni Made Satvika Iswari menggunakan
metode Regular Expression Pattern Matching untuk penerapan NLP dalam
mendeteksi pola kalimat untuk menentukan intents dan mengekstrak kata kunci
(entity). Akurasi keberhasilan yang dicapai dalam menjawab pertanyaan sebesar
83,7%.
2. Jurnal dengan judul “Super Agent Chatbot ‘3S’ Sebagai Media Informasi
Menggunakan Natural Language Processing (NLP)” yang disusun oleh Herwin
dan Khusaeri Andesa dari STMIK Amik Riau dan diterbitkan oleh jurnal
TEKNOLOGI DAN OPEN SOURCE dari STMIK Amik Riau pada Juni 2019 di
Vol. 2, No.1 dengan ISSN 2622-1659. Dalam penelitian tersebut, Herwin dan
Khusaeri Andesa menggunakan pendekatan NLP dengan menggunakan metode
similarity dalam mencocokkan pola kata pada database. Akurasi keberhasilan
yang dicapai adalah 70% sehingga memberikan respon sesuai dengan pertanyaan
yang ingin diketahui.
3. Jurnal dengan judul “Perancangan CHATBOT Pusat Informasi Mahasiswa
Menggunakan AIML Sebagai Virtual Assistant Berbasis Web” yang disusun oleh
Maskur dari Universitas Muhammadiyah Malang dan diterbitkan oleh Jurnal
KINETIK dari Universitas Muhammadiyah Malang pada November 2016 di Vol.
1, No. 3 dengan ISSN 2503-2259. Dalam penelitian tersebut, Maskur
menggunakan AIML sebagai NLP. Akurasi keberhasilan yang dicapai adalah 80%
dalam mendapatkan respon yang tepat.
Dari beberapa penilitan terdahulu tersebut, ketiga jurnal tersebut sama-sama
menggunakan natural language processing yang terdapat algoritma berbeda dalam
mengekstrak kata kunci dari sebuah kalimat. Sehingga, peneliti menggunakan ketiga
penelitian tersebut sebagai referensi dalam pengukuran dan pengujian training data pada
penelitian ini.