Model neural konversasional ini menggunakan kerangka kerja sequence to sequence untuk memprediksi kalimat berikutnya dalam percakapan berdasarkan konteks sebelumnya. Model ini dilatih secara end-to-end tanpa aturan yang dibuat secara manual dan mampu berinteraksi secara alami pada dua dataset, yaitu dataset domain tertutup untuk pemecahan masalah TI dan dataset terbuka namun berisik transkrip film. Evaluasi manusia menunjukkan model ini lebih ba
1 of 6
Downloaded 10 times
More Related Content
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 youre
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: Ill 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: whats your name?
Machine: Im Julia.
Human: when your born?
Machine: July 20th
Human: are you a man or woman?
Machine: Im woman
Human: why you here?
Machine: Im not sure.
Conversation: Simple Q&A
Human: my name is david. Whats my name?
Machine: david
Human: my name is john, Whats my name?
Machine: john
Human: are you leader or follower?
Machine: Im leader
Human: are you follower or leader?
Machine: Im 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: whats the color of the sky?
Machine: blue
Human: how much is two plus two?
Machine: four
Conversation: Philosophical Q&A
Human: whats the purpose of life?
Machine: to serve the greater good
Human: where are you now?
Machine: Im in the middle of nowhere.
Human: whats 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: Im not ashamed of being a
philosopher.
Human: tell me the definition of morality.
Machine: I dont 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: whats your job?
Machine: Im al lawyer.
Human: when do you do?
Machine: Im 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: Yore the one whos crazy.
CB: Who are you?
Human: Whats 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.