SlideShare a Scribd company logo
1 of 6
Download to read offline
____
01:
Sequence to sequence learning with neural
networks, 2014, Sutskever et al
converse: berbicara
preliminary: pendahuluan
A Neural Conversational Model
Oriol Vinyals, Quoc V.Le
paper resume by ashrovy
Abstract
Paper ini menggunakan sequence to sequence framework. Model pembicaraan ini
dapat memprediksi kalimat berikutnya dengan mengingat kalimat atau kalimat
sebelumnya didalam pembicaraan. Untuk memperkuat model diatas, model di-
training end-to-end dan membutuhkan sedikit hand-crafted rules. Hasil awal
menunjukkan peng-optimalan fungsi objek yang kurang tepat dan model berhasil
berkerja dengan baik. Model juga dapat meng-extract knowledge dari dua spesifik
dataset domain, large domain, noisy domain dan dataset domain umum pada subtitles
movie. Pada domain IT helpdesk dataset, model dapat memberikan solusi masalah
teknis lewat chatting. Pada noisy open-domain transcript movie dataset, model bisa
melakukan bentuk penalaran akal sehat sederhana. Terdapat juga kekurangannya
yaitu kurangnya konsisten pada model umum ini.
Introduction
Salah satu keunggulan neural network ialah
dapat melakukan pemetaan struktur secara
kompleks. Contohnya untuk melakukan tugas
pemetaan sequence ke sequence lainnya
langsung ke aplikasi didalam natural language
understanding1
. Sedangkan keunggulan utama
framework tersebut adalah membutuhkan
sedikit fitur dan spesifik domain untuk
mencocokkan atau melampaui hasil state-of-
the-art. Pada tahap ini memungkinkan model
dapat berkerja pada domain knowledge yang
tidak tersedia sekalipun atau pada domain yang
terlalu sulit untuk didesain rule-nya.
Conversational modeling dapat langsung
bermanfaat dari formulasi karena model
tersebut membutuhkan query dan response.
Pada kasus ini, tugas conversation modeling
ialah menggunkanan sequence pada recurrent
network1
.
Pada IT helpdesk dataset percakapan, ditemukan
bahwa model terkadang melacak masalah dan
menyediakan jawaban kepada user. Experiment
lainnya ialah menggunakan noisy dataset movie
subtitles, kemudian mencari model yang bisa
menahan natural conversation dan penalaran
logik. Dua kasus tersebut, recurrent nets
memperoleh kebingungan untuk dalam
membandingkan n-gram model dan mengingat
long-range relasi yang penting. Jika dilihat dari
sudut pandang qualitative point, model ini
terkadang mampu memproduksi nartural
coversations.
Related Work
Pengerjaan ini mengajukan penggunaan neural
networks untuk memetakan2
sequence to
sequence3
. Framework ini telah banyak
digunakan untuk neural machine translation dan
mengalami peningkatan pada English-French4
dan English-German5
. Neural network juga
digunakan untuk melakukan parsing6
dan image
captioning7
. Selama ini diketahui bahwa vanilla
____
02:
Recurrent Continuous Translation Models. 2013.
Blunsom et al
inference: kesimpulan
concretely: secara konkret
03:
Neural machine translation by jointly learning to align
and translate. 2014. Bahdanau et al
simplicity: kesederhanaan
straightforward: mudah
04:
Addressing the rare word problem in neural machine
translation. 2014. Luong et al
concatenation: rangkaian/rentetan
entropy: ukuran logaritma kecepatan transfer
05:
On using very large target vocabulary for neural
machine translation. 2014. Jean et al
informasi dalam pesan atau bahasa tertentu
generality: keumuman
06:
Grammar as a foreign language. 2014. Vinyals et al consecutive: berurutan
07:
Show and tell: A neural image caption generator.
2014. Vinyals et al
perplexity: kebingungan
encouraging: mendorong / memberi dorongan
08:
Long short-term memory. Neural Computation.
1997. Hochreiter et al
plausible: masuk akal
nontheless: meskipun begitu
09:
A neural probabilistic language model. 2003. Bengio
et al.
tie: menghubungkan
coherent: kejelasan
10:
Statistical Language Models based on Neural
Networks. 2012. Mikolov
11:
Recurrent neural network based language model.
2010. Mikolov et al
12:
A neural network approach to context-sensitive
generation of conversational response. 2015.
Sordoni et al.
13:
Neural responding machine for short-text
conversation. 2015. Shang et al
14:
Conversational agents. 2004. Lester et al
15:
Creating a Dynamic Speech Dialogue. 2004. Will
16:
Speech and language processing. 2009. Martin et al
RNNs kesulitan dalam menghadapi vanishing
gradients, kebanyakan peneliti menggunakan
varian dari Long Short Term Memory (LSTM)8
.
Terinspirasi dari suksesnya neural language
modeling9
yang menunjukkan RNN10
lebih efektif
untuk natural language11
. Dialog model RNN12
digunakan pada short conversation13
.
Didalam melakukan pembangunan chatbot dan
conversation agen membutuhkan sistem14
yang
rumit15
didalam processing pipeline-nya16
dan
membutuhkan banyak tahapan. Pada kasus ini
tidak mengambil langkah konvensional pada
sistem dan menggunakan pendekatan end-to-
end terhadap masalah yang tidak memiliki
domain pengetahuan. Hal tersebut
memungkinkan, pada prinsipnya, dapat
digabungkan dengan sistem lain untuk re-score
short-list candidate respon, tetapi pada kasus ini
hasil dari jawaban (response) diberikan oleh
proabilistik yang telah dilatih untuk
memaksimalkan probabilitas jawaban yang
diberikan dibeberapa konteks.
Model
Model pada paper ini menggunakan sequence to
sequence framework. Model ini berbasis RNN
yang membaca satu token input sequence pada
satu timestep dan memprediksi ouput sequence
yang juga pada satu timestep yang sama.
Selama pelatihan true output sequence
diberikan kepada model, maka learning bisa
selesai dengan backpropagation. Model dilatih
untuk memaksimalkan persilangan entropy
sequence yang benar (true) diberikan oleh
context. Selama pengambilan kesimpulan, true
ouput sequence yang diberikan tidak di
observasi, cukup melakukan feed pada prediksi
ouput token sebagai prediksi input pada output
berikutnya. Ini disebut pendekatan kesimpulan
“greedy” . Semakin sedikit pendekatan greedy
maka akan menggunkan beam search dan
____
News from OPUS - A collection of multilingual parallel
corpora with tools and interfaces. 2009.
Convergence: keadaan menuju satu titik pertemuan,
memusat
memberikan feed pada beberapa kandidat di
step sebelumnya ke step selanjutnya. Prediksi
sequence bisa di pilih dari probabilitas sequence.
Secara konkret, sebuah pembicaraan diobservasi
menjadi dua tahap: Orang petama mengucapkan
“ABC, dan orang kedua menjawab “WXYZ”. RNN
dapat digunakan dan men-training pemetaan
“ABC” ke “WXYZ” seperti pada gambar 1:
Gambar 1: Menggunakan framework seq2seq untuk modeling
percakapan.
HIdden state model yang diterima pada akhir
simbol sequence "<eos>" bisa dilihat sebagai
thought vector dikarenakan menyimpan
informasi dari kalimat.
Kekuatan model ini terletak pada kemudahan
dan generality. Model ini digunakan untuk
machine translation, question/asnwering dan
percakapan tanpa mengubah arsitektur secara
major. Implementasi model ini juga mudah:
urutan input sequence bisa merupakan
gabungan yang telah dibicarakan sejauh ini (the
context).
Sebagai catatan, model sequence to sequence
tidak akan bisa sukses “memecahkan” masalah
model dialog disebabkan oleh beberapa hal
sederhana: Fungsi objektif yang telah dioptimasi
tidak dapat meng-capture tujuan utama yang
dicapai melalui komunikasi, yang biasanya
berjangka panjang, dan pertukaran informasi
dari prediksi kedepannya. Lemahnya model
untuk memastikan konsistensi dan pengetahuan
umum yang terlalu luas.
Dataset
Pada experiment yang telah dijalani disini,
terdapat dua dataset: close-domain untuk IT
helpdes troubleshooting dataset dan movie
transcript dataset.
IT Helpdesk Troubleshooting dataset
Pada layanan ini, customer berhadapan dengan
berbagai masalah komputer, kemudian dia
dapat berkomunikasi dengan dengan specialist
komputer (dalam kasus ini bot) untuk
mendapatkan solusi. Untuk interaksi (penanya)
dibatasi hanya bisa bertanya sebanyak 400 kata.
Data training set yang diperoleh terdapat 30M
token dan 3M token yang telah digunakan untuk
validasi.
OpenSubtitles dataset
Model juga ditest dengan OpenSubtitles
dataset16
. Dataset berupa percakapan dengan
format XML. Tahapan pertama tag XML akan
dibuang dan non-pecakapan (seperti scene,
lokasi dll). Setelah itu model ditraining untuk
memprediksi kalimat berikutnya dari kalimat
sebelumnya. (Hal ini membuat dataset menjadi
berukuran dua kali lebih besar dari sebelumnya).
Tidak seperti dataset IT Helpdesk, dataset ini
jauh lebih noisy pada setiap pembicaraannya
karena diucapkan oleh karakter yang sama.
Experiment
Pada bagian akan memaparkan hasil experiment
dari dua dataset. Bagian ini juga akan
membandingkan performa sistem dengan rule-
based bot (Cleverbot).
IT Helpdesk Trobleshooting Experiment
Pada IT Helpdesk di training dengan single layer
LSTM dengan memory cell 1024 menggunakan
stohastic gradient descent dengan gradient
clipping. 20K kata-kata umum pada vocabulary
termasuk diantaranya special token yang
mengindikasi aktor.
Pada titik pertemuan, pencapaian model pada
perplexity 8 diaman n-gram model mencapai 18.
Berikut ialah hasil sampel (yang diringkas)
terhadap masalah umum yang biasa terjadi pada
komputer (remote access, software crashes dan
password issues). Machine: neural
conversational model. Human: human actor.
Conversation: VPN Issue
[After greeting and several asking]
Human: I am seeing an error related to vpn
Machine: what is the error message that you’re
getting when connecting to vpn using network
connect?
Human: connection refused or something like it
Machine: may I know the version of network
connect you connect?
[After talking some info]
Machine: are you at home or work at the
moment?
Machine: office?
Human: I am at home
Machine: try this
Machine: go to <URL> page and enter your name
and password
Human: done
Machine: try logging in with <NAME> and check
if its working fine now
Human: yes, not it works!
Conversation: Password Issues
Machine: Hi, this is <NAME> from helpdesk
connect, what can I help you with today?
Human: hi, I forgot my password
Machine: ok great
Human: can you tell me how I can recover it?
Machine: I’ll need to verify who it is at that
machine
Machine: <instructions and verification>
Human: cool, I am good now
OpenSubtitiles experiments
Pada OpenSubtitles experiment di training
dengan two-layered LSTM menggunakan
AdaGrad dengan gradient clipping. Setiap layer
LSTM memiliki memory cell sejumlah 4096, dan
vocabulary yang memiliki frekuensi kata 100k.
Untuk mempercepat softmax, memory cell
sejumlah 2048 unit linear diproyeksi sebelum
feeding informasi ke classifier.
Pada titik petemuan, perplexity recurrent model
validasi di setting 17. Lebih mulus 5-gram pada
pencapaian model perplexity sebanyak 28.
Menariknya, menambahkan soft attention
mechanism3
sama sekali tidak peningkatan
secara signifikan pada perplexity baik training
atau validasi set.
Model Sample
Kedalaman perplexity membuat simple
recurrent model dapat selalu membuat jawban
yang masuk akal. Dibawah ini ada beberapa
contoh question-answer tentang kapabilitas
model yang ditraining dengan noisy dataset.
Conversation: Basic
Human: what’s your name?
Machine: I’m Julia.
Human: when your born?
Machine: July 20th
Human: are you a man or woman?
Machine: I’m woman
Human: why you here?
Machine: I’m not sure.
Conversation: Simple Q&A
Human: my name is david. What’s my name?
Machine: david
Human: my name is john, What’s my name?
Machine: john
Human: are you leader or follower?
Machine: I’m leader
Human: are you follower or leader?
Machine: I’m leader.
Conversation: General knowledge Q&A
Human: can a cat fly?
Machine: no
Human: how many legs does a cat have?
Machine: four, I think
Human: what’s the color of the sky?
Machine: blue
Human: how much is two plus two?
Machine: four
Conversation: Philosophical Q&A
Human: what’s the purpose of life?
Machine: to serve the greater good
Human: where are you now?
Machine: I’m in the middle of nowhere.
Human: what’s the purpose of dying?
Machine: to have a life.
Conversation: Morality
Human: what is moral?
Machine: what empowered humanity
Human: tell me the definition of morality?
Machine: I’m not ashamed of being a
philosopher.
Human: tell me the definition of morality.
Machine: I don’t have ethics
Well, pada percakapan ini (yang aslinya lebih
panjang), terjadi beberapa hal yang tidak sesuai.
Tetapi hasilnya cukup baik, model dapat
mengingat fakta, mengerti konteks dan
memberikan jawaban masuk akal tanpa
kompleksitas didalam tradional pipelines. Yang
mengejutkan lagi, model melakukan hal diatas
tanpa eksplisit komponen knowledge
representasi kecuali parameter didalam word
vector.
Fakta yang paling bagus bahwa model dapat
menghasilkan pertanyaan baru. Tidak hanya
mencari jawaban dengan mencocokkan
pertanyaan pada databse. Sebenarnya sebagian
besar pertanyaan diatas (kecuali percakapan
pertama) tidak muncul dalam pelatihan.
Meskipun begitu, satu drawback pada model
memberikan jawaban simple, pendek dan
terkadang tidak sesuai. Salah satu masalah
lainnya ialah model tidak dapat men-capture
konsisten personality. Jika pertanyaannya tidak
identical tetapi sematik dan mirip, terkadang
jawbannya justru tidak konsisten:
Conversation: Job and Persnolity
Human: what’s your job?
Machine: I’m al lawyer.
Human: when do you do?
Machine: I’m a doctor
Sekarang mari bandingkan model dengan rule-
based model pada Cleverbot
Conversation: Cleverbot
Human: are you follower or leader?
Machine: No!
Human: Is sky blue or black?
Machine: I am 200 years old
Human: is sky bule or black?
Machine: Brown.
Pada Cleverbot yang menggunakan rule-based
model, cenderung tidak menjawab pertanyaan
lebih tidak konsisten dalam memberikan
jawaban.
Human Evaluation
Supaya terasa adil dan objektif dalam untuk
perbandingan model yang telah dibuat (NCM)
dan Cleverbot (CB), diambil 200 pertanyaan, dan
meminta 4 orang untuk me-rating NCM versus
CB. Human judge diminta untuk memilih dua bot
yang mereka anggap baik, dan mereka juga
boleh menyatakan baik kedua jawaban kedua
bot memiliki kualitas yang sama.
Apabila 3 dari 4 human judge setuju, mereka me-
record score. NCM lebih disukai 97 dari 200
pertanyaan, sedangkan CB disukai 60 dari 200
pertanyaan. Berikut adalah contoh bagaimana
human judge melakukan evaluasi pada sistem.
Human: what is the deepest spot on the world?
NCM: The Pacific Ocean.
CB: What?
Human: Do you like Mexican food or Indian
food?
NCM: I hate it.
CB: I love Mexican food
Human: what is the deepest spot on the world?
NCM: The Pacific Ocean.
CB: What?
Human: Who are you crazy about?
NCM: Yo’re the one who’s crazy.
CB: Who are you?
Human: What’s thirty plus forty?
NCM: Sixty?
CB: What should we talk about?
Hasil inspeksi diperoleh dengan menggunakan
Mechanical Turk menggunakan human
evaluation untuk membandingkan rule-based
bot dan mengkomputasi perplexity.
Discussion
Pada paper ini menunjukkan bahwa simple
language model menggunakna sequence to
sequence framework bisa digunakan untuk men-
training coversational engine. Hasil sederhana-
nya menunjukkan bahwa mampu menghasilkan
simpel dan pembicaraan dasar, juga dapat
meng-extract pengetahuan dari noisy dan open-
domain dataset. Sekalipun begitu model
memiliki kekurangan yang jelas. Tetapi ada yang
lebih mengejutkan bahwa pendekatan berbasis
data murni tanpa rules dapat menghasilkan
jawaban yang agak tepat untuk berbagai
pertanyaan. Untuk memperoleh hasil yang
substansial dan realistik bot membutuh
personality untuk tembus testing turing test.

More Related Content

Similar to Chatbot with Sequence to Sequence

Prak sinyal sistem_1
Prak sinyal sistem_1Prak sinyal sistem_1
Prak sinyal sistem_1alvinwidan2
 
Kecerdasan buatan
Kecerdasan buatanKecerdasan buatan
Kecerdasan buatancorcrash
 
ALGORITMA PEMROGRAMAN DASAR.pptx
ALGORITMA PEMROGRAMAN DASAR.pptxALGORITMA PEMROGRAMAN DASAR.pptx
ALGORITMA PEMROGRAMAN DASAR.pptxameltiksmada
 
Natural Language Processing Diskusi 3.docx
Natural Language Processing Diskusi 3.docxNatural Language Processing Diskusi 3.docx
Natural Language Processing Diskusi 3.docxHendroGunawan8
 
Bab 2 Definisi Algoritma
Bab 2 Definisi AlgoritmaBab 2 Definisi Algoritma
Bab 2 Definisi Algoritmapakdemamo
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrogramanReza Optoriter
 
Presentasi Kelompok 5.pptx
Presentasi Kelompok 5.pptxPresentasi Kelompok 5.pptx
Presentasi Kelompok 5.pptxDionStephandri
 
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedungOperator Warnet Vast Raha
 
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedungSeptian Muna Barakati
 
membuat jaringan lan memanfaatkan komputer butut.
membuat jaringan lan memanfaatkan komputer butut.membuat jaringan lan memanfaatkan komputer butut.
membuat jaringan lan memanfaatkan komputer butut.Rama Pangeran Kahyangan
 
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedungSeptian Muna Barakati
 
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedungWarnet Raha
 
Tugas 5 0317-fahreza yozi-1612510832
Tugas 5 0317-fahreza yozi-1612510832Tugas 5 0317-fahreza yozi-1612510832
Tugas 5 0317-fahreza yozi-1612510832fahreza yozi
 
Tugas v 0317_arie firmandani_1512510445
Tugas v  0317_arie firmandani_1512510445Tugas v  0317_arie firmandani_1512510445
Tugas v 0317_arie firmandani_1512510445Arie Firmandani
 
Natural Language Processing Diskusi 4.docx
Natural Language Processing Diskusi 4.docxNatural Language Processing Diskusi 4.docx
Natural Language Processing Diskusi 4.docxHendroGunawan8
 
Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma casnadi
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 

Similar to Chatbot with Sequence to Sequence (20)

Prak sinyal sistem_1
Prak sinyal sistem_1Prak sinyal sistem_1
Prak sinyal sistem_1
 
Kecerdasan buatan
Kecerdasan buatanKecerdasan buatan
Kecerdasan buatan
 
ALGORITMA PEMROGRAMAN DASAR.pptx
ALGORITMA PEMROGRAMAN DASAR.pptxALGORITMA PEMROGRAMAN DASAR.pptx
ALGORITMA PEMROGRAMAN DASAR.pptx
 
Natural Language Processing Diskusi 3.docx
Natural Language Processing Diskusi 3.docxNatural Language Processing Diskusi 3.docx
Natural Language Processing Diskusi 3.docx
 
Bab 2 Definisi Algoritma
Bab 2 Definisi AlgoritmaBab 2 Definisi Algoritma
Bab 2 Definisi Algoritma
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrograman
 
Presentasi Kelompok 5.pptx
Presentasi Kelompok 5.pptxPresentasi Kelompok 5.pptx
Presentasi Kelompok 5.pptx
 
Rio
RioRio
Rio
 
Algoritma
AlgoritmaAlgoritma
Algoritma
 
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
 
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
 
membuat jaringan lan memanfaatkan komputer butut.
membuat jaringan lan memanfaatkan komputer butut.membuat jaringan lan memanfaatkan komputer butut.
membuat jaringan lan memanfaatkan komputer butut.
 
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
 
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
194454304 makalah-perancangan-dan-instalasi-jaringan-komputer-lan-5-gedung
 
Tugas 5 0317-fahreza yozi-1612510832
Tugas 5 0317-fahreza yozi-1612510832Tugas 5 0317-fahreza yozi-1612510832
Tugas 5 0317-fahreza yozi-1612510832
 
Dasar dasar algoritma - 2
Dasar dasar algoritma - 2Dasar dasar algoritma - 2
Dasar dasar algoritma - 2
 
Tugas v 0317_arie firmandani_1512510445
Tugas v  0317_arie firmandani_1512510445Tugas v  0317_arie firmandani_1512510445
Tugas v 0317_arie firmandani_1512510445
 
Natural Language Processing Diskusi 4.docx
Natural Language Processing Diskusi 4.docxNatural Language Processing Diskusi 4.docx
Natural Language Processing Diskusi 4.docx
 
Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 

More from Ron Ashrovy

Sekolah Pasar Modal Level 2
Sekolah Pasar Modal Level 2Sekolah Pasar Modal Level 2
Sekolah Pasar Modal Level 2Ron Ashrovy
 
Additional Files - Implementing a Neural Network 2
Additional Files - Implementing a Neural Network 2Additional Files - Implementing a Neural Network 2
Additional Files - Implementing a Neural Network 2Ron Ashrovy
 
Addtional Files for Implementing Neural Network from Scratch
Addtional Files for Implementing Neural Network from ScratchAddtional Files for Implementing Neural Network from Scratch
Addtional Files for Implementing Neural Network from ScratchRon Ashrovy
 
Additional Files - For Article RNN
Additional Files - For Article RNNAdditional Files - For Article RNN
Additional Files - For Article RNNRon Ashrovy
 
Additional Files - RNN Introduction
Additional Files - RNN IntroductionAdditional Files - RNN Introduction
Additional Files - RNN IntroductionRon Ashrovy
 
Inquisitive Chatbot
Inquisitive ChatbotInquisitive Chatbot
Inquisitive ChatbotRon Ashrovy
 
Chatbot with Personality integration with Social Media
Chatbot with Personality integration with Social MediaChatbot with Personality integration with Social Media
Chatbot with Personality integration with Social MediaRon Ashrovy
 

More from Ron Ashrovy (7)

Sekolah Pasar Modal Level 2
Sekolah Pasar Modal Level 2Sekolah Pasar Modal Level 2
Sekolah Pasar Modal Level 2
 
Additional Files - Implementing a Neural Network 2
Additional Files - Implementing a Neural Network 2Additional Files - Implementing a Neural Network 2
Additional Files - Implementing a Neural Network 2
 
Addtional Files for Implementing Neural Network from Scratch
Addtional Files for Implementing Neural Network from ScratchAddtional Files for Implementing Neural Network from Scratch
Addtional Files for Implementing Neural Network from Scratch
 
Additional Files - For Article RNN
Additional Files - For Article RNNAdditional Files - For Article RNN
Additional Files - For Article RNN
 
Additional Files - RNN Introduction
Additional Files - RNN IntroductionAdditional Files - RNN Introduction
Additional Files - RNN Introduction
 
Inquisitive Chatbot
Inquisitive ChatbotInquisitive Chatbot
Inquisitive Chatbot
 
Chatbot with Personality integration with Social Media
Chatbot with Personality integration with Social MediaChatbot with Personality integration with Social Media
Chatbot with Personality integration with Social Media
 

Chatbot with Sequence to Sequence

  • 1. ____ 01: Sequence to sequence learning with neural networks, 2014, Sutskever et al converse: berbicara preliminary: pendahuluan A Neural Conversational Model Oriol Vinyals, Quoc V.Le paper resume by ashrovy Abstract Paper ini menggunakan sequence to sequence framework. Model pembicaraan ini dapat memprediksi kalimat berikutnya dengan mengingat kalimat atau kalimat sebelumnya didalam pembicaraan. Untuk memperkuat model diatas, model di- training end-to-end dan membutuhkan sedikit hand-crafted rules. Hasil awal menunjukkan peng-optimalan fungsi objek yang kurang tepat dan model berhasil berkerja dengan baik. Model juga dapat meng-extract knowledge dari dua spesifik dataset domain, large domain, noisy domain dan dataset domain umum pada subtitles movie. Pada domain IT helpdesk dataset, model dapat memberikan solusi masalah teknis lewat chatting. Pada noisy open-domain transcript movie dataset, model bisa melakukan bentuk penalaran akal sehat sederhana. Terdapat juga kekurangannya yaitu kurangnya konsisten pada model umum ini. Introduction Salah satu keunggulan neural network ialah dapat melakukan pemetaan struktur secara kompleks. Contohnya untuk melakukan tugas pemetaan sequence ke sequence lainnya langsung ke aplikasi didalam natural language understanding1 . Sedangkan keunggulan utama framework tersebut adalah membutuhkan sedikit fitur dan spesifik domain untuk mencocokkan atau melampaui hasil state-of- the-art. Pada tahap ini memungkinkan model dapat berkerja pada domain knowledge yang tidak tersedia sekalipun atau pada domain yang terlalu sulit untuk didesain rule-nya. Conversational modeling dapat langsung bermanfaat dari formulasi karena model tersebut membutuhkan query dan response. Pada kasus ini, tugas conversation modeling ialah menggunkanan sequence pada recurrent network1 . Pada IT helpdesk dataset percakapan, ditemukan bahwa model terkadang melacak masalah dan menyediakan jawaban kepada user. Experiment lainnya ialah menggunakan noisy dataset movie subtitles, kemudian mencari model yang bisa menahan natural conversation dan penalaran logik. Dua kasus tersebut, recurrent nets memperoleh kebingungan untuk dalam membandingkan n-gram model dan mengingat long-range relasi yang penting. Jika dilihat dari sudut pandang qualitative point, model ini terkadang mampu memproduksi nartural coversations. Related Work Pengerjaan ini mengajukan penggunaan neural networks untuk memetakan2 sequence to sequence3 . Framework ini telah banyak digunakan untuk neural machine translation dan mengalami peningkatan pada English-French4 dan English-German5 . Neural network juga digunakan untuk melakukan parsing6 dan image captioning7 . Selama ini diketahui bahwa vanilla
  • 2. ____ 02: Recurrent Continuous Translation Models. 2013. Blunsom et al inference: kesimpulan concretely: secara konkret 03: Neural machine translation by jointly learning to align and translate. 2014. Bahdanau et al simplicity: kesederhanaan straightforward: mudah 04: Addressing the rare word problem in neural machine translation. 2014. Luong et al concatenation: rangkaian/rentetan entropy: ukuran logaritma kecepatan transfer 05: On using very large target vocabulary for neural machine translation. 2014. Jean et al informasi dalam pesan atau bahasa tertentu generality: keumuman 06: Grammar as a foreign language. 2014. Vinyals et al consecutive: berurutan 07: Show and tell: A neural image caption generator. 2014. Vinyals et al perplexity: kebingungan encouraging: mendorong / memberi dorongan 08: Long short-term memory. Neural Computation. 1997. Hochreiter et al plausible: masuk akal nontheless: meskipun begitu 09: A neural probabilistic language model. 2003. Bengio et al. tie: menghubungkan coherent: kejelasan 10: Statistical Language Models based on Neural Networks. 2012. Mikolov 11: Recurrent neural network based language model. 2010. Mikolov et al 12: A neural network approach to context-sensitive generation of conversational response. 2015. Sordoni et al. 13: Neural responding machine for short-text conversation. 2015. Shang et al 14: Conversational agents. 2004. Lester et al 15: Creating a Dynamic Speech Dialogue. 2004. Will 16: Speech and language processing. 2009. Martin et al RNNs kesulitan dalam menghadapi vanishing gradients, kebanyakan peneliti menggunakan varian dari Long Short Term Memory (LSTM)8 . Terinspirasi dari suksesnya neural language modeling9 yang menunjukkan RNN10 lebih efektif untuk natural language11 . Dialog model RNN12 digunakan pada short conversation13 . Didalam melakukan pembangunan chatbot dan conversation agen membutuhkan sistem14 yang rumit15 didalam processing pipeline-nya16 dan membutuhkan banyak tahapan. Pada kasus ini tidak mengambil langkah konvensional pada sistem dan menggunakan pendekatan end-to- end terhadap masalah yang tidak memiliki domain pengetahuan. Hal tersebut memungkinkan, pada prinsipnya, dapat digabungkan dengan sistem lain untuk re-score short-list candidate respon, tetapi pada kasus ini hasil dari jawaban (response) diberikan oleh proabilistik yang telah dilatih untuk memaksimalkan probabilitas jawaban yang diberikan dibeberapa konteks. Model Model pada paper ini menggunakan sequence to sequence framework. Model ini berbasis RNN yang membaca satu token input sequence pada satu timestep dan memprediksi ouput sequence yang juga pada satu timestep yang sama. Selama pelatihan true output sequence diberikan kepada model, maka learning bisa selesai dengan backpropagation. Model dilatih untuk memaksimalkan persilangan entropy sequence yang benar (true) diberikan oleh context. Selama pengambilan kesimpulan, true ouput sequence yang diberikan tidak di observasi, cukup melakukan feed pada prediksi ouput token sebagai prediksi input pada output berikutnya. Ini disebut pendekatan kesimpulan “greedy” . Semakin sedikit pendekatan greedy maka akan menggunkan beam search dan
  • 3. ____ News from OPUS - A collection of multilingual parallel corpora with tools and interfaces. 2009. Convergence: keadaan menuju satu titik pertemuan, memusat memberikan feed pada beberapa kandidat di step sebelumnya ke step selanjutnya. Prediksi sequence bisa di pilih dari probabilitas sequence. Secara konkret, sebuah pembicaraan diobservasi menjadi dua tahap: Orang petama mengucapkan “ABC, dan orang kedua menjawab “WXYZ”. RNN dapat digunakan dan men-training pemetaan “ABC” ke “WXYZ” seperti pada gambar 1: Gambar 1: Menggunakan framework seq2seq untuk modeling percakapan. HIdden state model yang diterima pada akhir simbol sequence "<eos>" bisa dilihat sebagai thought vector dikarenakan menyimpan informasi dari kalimat. Kekuatan model ini terletak pada kemudahan dan generality. Model ini digunakan untuk machine translation, question/asnwering dan percakapan tanpa mengubah arsitektur secara major. Implementasi model ini juga mudah: urutan input sequence bisa merupakan gabungan yang telah dibicarakan sejauh ini (the context). Sebagai catatan, model sequence to sequence tidak akan bisa sukses “memecahkan” masalah model dialog disebabkan oleh beberapa hal sederhana: Fungsi objektif yang telah dioptimasi tidak dapat meng-capture tujuan utama yang dicapai melalui komunikasi, yang biasanya berjangka panjang, dan pertukaran informasi dari prediksi kedepannya. Lemahnya model untuk memastikan konsistensi dan pengetahuan umum yang terlalu luas. Dataset Pada experiment yang telah dijalani disini, terdapat dua dataset: close-domain untuk IT helpdes troubleshooting dataset dan movie transcript dataset. IT Helpdesk Troubleshooting dataset Pada layanan ini, customer berhadapan dengan berbagai masalah komputer, kemudian dia dapat berkomunikasi dengan dengan specialist komputer (dalam kasus ini bot) untuk mendapatkan solusi. Untuk interaksi (penanya) dibatasi hanya bisa bertanya sebanyak 400 kata. Data training set yang diperoleh terdapat 30M token dan 3M token yang telah digunakan untuk validasi. OpenSubtitles dataset Model juga ditest dengan OpenSubtitles dataset16 . Dataset berupa percakapan dengan format XML. Tahapan pertama tag XML akan dibuang dan non-pecakapan (seperti scene, lokasi dll). Setelah itu model ditraining untuk memprediksi kalimat berikutnya dari kalimat sebelumnya. (Hal ini membuat dataset menjadi berukuran dua kali lebih besar dari sebelumnya). Tidak seperti dataset IT Helpdesk, dataset ini jauh lebih noisy pada setiap pembicaraannya karena diucapkan oleh karakter yang sama. Experiment Pada bagian akan memaparkan hasil experiment dari dua dataset. Bagian ini juga akan membandingkan performa sistem dengan rule- based bot (Cleverbot). IT Helpdesk Trobleshooting Experiment Pada IT Helpdesk di training dengan single layer LSTM dengan memory cell 1024 menggunakan stohastic gradient descent dengan gradient clipping. 20K kata-kata umum pada vocabulary
  • 4. termasuk diantaranya special token yang mengindikasi aktor. Pada titik pertemuan, pencapaian model pada perplexity 8 diaman n-gram model mencapai 18. Berikut ialah hasil sampel (yang diringkas) terhadap masalah umum yang biasa terjadi pada komputer (remote access, software crashes dan password issues). Machine: neural conversational model. Human: human actor. Conversation: VPN Issue [After greeting and several asking] Human: I am seeing an error related to vpn Machine: what is the error message that you’re getting when connecting to vpn using network connect? Human: connection refused or something like it Machine: may I know the version of network connect you connect? [After talking some info] Machine: are you at home or work at the moment? Machine: office? Human: I am at home Machine: try this Machine: go to <URL> page and enter your name and password Human: done Machine: try logging in with <NAME> and check if its working fine now Human: yes, not it works! Conversation: Password Issues Machine: Hi, this is <NAME> from helpdesk connect, what can I help you with today? Human: hi, I forgot my password Machine: ok great Human: can you tell me how I can recover it? Machine: I’ll need to verify who it is at that machine Machine: <instructions and verification> Human: cool, I am good now OpenSubtitiles experiments Pada OpenSubtitles experiment di training dengan two-layered LSTM menggunakan AdaGrad dengan gradient clipping. Setiap layer LSTM memiliki memory cell sejumlah 4096, dan vocabulary yang memiliki frekuensi kata 100k. Untuk mempercepat softmax, memory cell sejumlah 2048 unit linear diproyeksi sebelum feeding informasi ke classifier. Pada titik petemuan, perplexity recurrent model validasi di setting 17. Lebih mulus 5-gram pada pencapaian model perplexity sebanyak 28. Menariknya, menambahkan soft attention mechanism3 sama sekali tidak peningkatan secara signifikan pada perplexity baik training atau validasi set. Model Sample Kedalaman perplexity membuat simple recurrent model dapat selalu membuat jawban yang masuk akal. Dibawah ini ada beberapa contoh question-answer tentang kapabilitas model yang ditraining dengan noisy dataset. Conversation: Basic Human: what’s your name? Machine: I’m Julia. Human: when your born? Machine: July 20th Human: are you a man or woman? Machine: I’m woman Human: why you here? Machine: I’m not sure. Conversation: Simple Q&A Human: my name is david. What’s my name? Machine: david Human: my name is john, What’s my name? Machine: john Human: are you leader or follower? Machine: I’m leader Human: are you follower or leader? Machine: I’m leader.
  • 5. Conversation: General knowledge Q&A Human: can a cat fly? Machine: no Human: how many legs does a cat have? Machine: four, I think Human: what’s the color of the sky? Machine: blue Human: how much is two plus two? Machine: four Conversation: Philosophical Q&A Human: what’s the purpose of life? Machine: to serve the greater good Human: where are you now? Machine: I’m in the middle of nowhere. Human: what’s the purpose of dying? Machine: to have a life. Conversation: Morality Human: what is moral? Machine: what empowered humanity Human: tell me the definition of morality? Machine: I’m not ashamed of being a philosopher. Human: tell me the definition of morality. Machine: I don’t have ethics Well, pada percakapan ini (yang aslinya lebih panjang), terjadi beberapa hal yang tidak sesuai. Tetapi hasilnya cukup baik, model dapat mengingat fakta, mengerti konteks dan memberikan jawaban masuk akal tanpa kompleksitas didalam tradional pipelines. Yang mengejutkan lagi, model melakukan hal diatas tanpa eksplisit komponen knowledge representasi kecuali parameter didalam word vector. Fakta yang paling bagus bahwa model dapat menghasilkan pertanyaan baru. Tidak hanya mencari jawaban dengan mencocokkan pertanyaan pada databse. Sebenarnya sebagian besar pertanyaan diatas (kecuali percakapan pertama) tidak muncul dalam pelatihan. Meskipun begitu, satu drawback pada model memberikan jawaban simple, pendek dan terkadang tidak sesuai. Salah satu masalah lainnya ialah model tidak dapat men-capture konsisten personality. Jika pertanyaannya tidak identical tetapi sematik dan mirip, terkadang jawbannya justru tidak konsisten: Conversation: Job and Persnolity Human: what’s your job? Machine: I’m al lawyer. Human: when do you do? Machine: I’m a doctor Sekarang mari bandingkan model dengan rule- based model pada Cleverbot Conversation: Cleverbot Human: are you follower or leader? Machine: No! Human: Is sky blue or black? Machine: I am 200 years old Human: is sky bule or black? Machine: Brown. Pada Cleverbot yang menggunakan rule-based model, cenderung tidak menjawab pertanyaan lebih tidak konsisten dalam memberikan jawaban. Human Evaluation Supaya terasa adil dan objektif dalam untuk perbandingan model yang telah dibuat (NCM) dan Cleverbot (CB), diambil 200 pertanyaan, dan meminta 4 orang untuk me-rating NCM versus CB. Human judge diminta untuk memilih dua bot yang mereka anggap baik, dan mereka juga boleh menyatakan baik kedua jawaban kedua bot memiliki kualitas yang sama. Apabila 3 dari 4 human judge setuju, mereka me- record score. NCM lebih disukai 97 dari 200 pertanyaan, sedangkan CB disukai 60 dari 200 pertanyaan. Berikut adalah contoh bagaimana human judge melakukan evaluasi pada sistem.
  • 6. Human: what is the deepest spot on the world? NCM: The Pacific Ocean. CB: What? Human: Do you like Mexican food or Indian food? NCM: I hate it. CB: I love Mexican food Human: what is the deepest spot on the world? NCM: The Pacific Ocean. CB: What? Human: Who are you crazy about? NCM: Yo’re the one who’s crazy. CB: Who are you? Human: What’s thirty plus forty? NCM: Sixty? CB: What should we talk about? Hasil inspeksi diperoleh dengan menggunakan Mechanical Turk menggunakan human evaluation untuk membandingkan rule-based bot dan mengkomputasi perplexity. Discussion Pada paper ini menunjukkan bahwa simple language model menggunakna sequence to sequence framework bisa digunakan untuk men- training coversational engine. Hasil sederhana- nya menunjukkan bahwa mampu menghasilkan simpel dan pembicaraan dasar, juga dapat meng-extract pengetahuan dari noisy dan open- domain dataset. Sekalipun begitu model memiliki kekurangan yang jelas. Tetapi ada yang lebih mengejutkan bahwa pendekatan berbasis data murni tanpa rules dapat menghasilkan jawaban yang agak tepat untuk berbagai pertanyaan. Untuk memperoleh hasil yang substansial dan realistik bot membutuh personality untuk tembus testing turing test.