Sistem dialog adalah sistem yang dapat melakukan dialog dengan manusia
menggunakan bahasa alami. Berdasarkan tujuannya, sistem dialog dapat dibagi
menjadi dua, yaitu sistem dialog task-oriented dan sistem dialog non-taskoriented.
Sistem dialog task-oriented adalah sistem dialog yang memiliki tujuan
tertentu, misalnya untuk pemesanan makanan. Saat ini, kebanyakan sistem dialog
task-oriented menggunakan model slot-filling, yaitu menyimpan value untuk slots
yang telah didefinisikan. Contohnya sistem dialog untuk pemesanan pizza, slot
yang harus diisi misalnya topping dan ukuran. Model ini kurang fleksibel karena
tidak bisa menangani user yang memesan beberapa item sekaligus, serta tidak bisa
mengubah detail dari item sebelumnya. Karena itu, perlu dibuat sistem dialog
multi entitas yang bisa menangani banyak entitas sekaligus.
Agar dapat menangani banyak entitas, ada beberapa hal yang perlu ditambahkan
pada sistem dialog. Yang pertama adalah ekstraksi entitas, yaitu mendapatkan
entitas-entitas yang bisa jadi disebutkan terpisah-pisah di dalam teks. Yang kedua
adalah perujukan entitas, yaitu menentukan suatu entitas yang disebut pada teks
merupakan entitas baru atau merujuk pada entitas yang sudah pernah disebut
sebelumnya. Yang ketiga pemrosesan dailog per entitas. Setiap entitas dapat
diproses secara terpisah dari entitas lainnya dalam sistem dialog, mulai dari
klasifikasi intent dari setiap entitas, pembaruan setiap entitas, serta aksi yang
dilakukan terhadap setiap entitas.
Sistem dialog yang dibangun berbentuk sistem dialog modular. Sistem dialog
modular secara umum terdiri dari tiga komponen utama, yaitu Natural Language
Understanding (NLU), Dialog manager (DM), dan Natural Language Generator
(NLG). Komponen NLU berfungsi untuk menerjemahkan input dalam bahasa
alami menjadi semantiknya yang biasa disebut dialog act. Komponen DM
berfungsi untuk memperbarui dialog state berdasarkan dialog act, serta
menentukan aksi sistem selanjutnya. Sedangkan komponen NLG berfungsi untuk
menerjemahkan aksi sistem ke dalam bahasa alami.
Masalah ekstraksi entitas ditangani pada komponen NLU. Pertama, entitas yang
diekstraksi dari teks masih berupa entity-type dan slot-value. Kemudian,
dilakukan ekstraksi relasi antara entity-type, slot-value, dan angka. Selanjutnya,
dilakukan pengelompokan entitas, yaitu menggabungkan pasangan entity-type dan
slot-value yang termasuk dalam satu entitas. Terakhir dilakukan penggabungan
entitas apabila dinilai ada entitas yang berulang.
Untuk menyelesaikan masalah perujukan entitas, setelah proses ekstraksi entitytype
dan slot-value, terlebih dahulu dilakukan klasifikasi mention, yaitu entitytype
atau slot-value yang merujuk pada entitas yang telah disebut, dan setelah itu
dicari rujukannya. Rujukan ini pertama dicari di dalam teks yang sama terlebih
dahulu. Jika tidak ada, maka rujukan akan dicari dari entitas yang sudah pernah
dibahas di dalam dialog state.
Sedangkan masalah pemrosesan dialog per entitas ditangani pada komponen NLU
dan DM, termasuk struktur dari dialog act dan dialog state yang digunakan. Pada
NLU, setelah mendapatkan daftar entitas, dilakukan klasifikasi intent per entitas
dan juga intent global. Hasil dialog act dari NLU juga disesuaikan untuk multi
entitas, yaitu terdiri dari intent global serta kumpulan entitas, yang masing-masing
entitasnya terdiri dari entity-type, referensi ke entitas sebelumnya, slot-value, dan
intent entitas. Selain itu, dialog state juga disesuaikan, yaitu dengan
menambahkan dialog act untuk setiap entitas. Kemudian pada DM dilakukan
pembaruan pada dialog state untuk setiap entitas dan juga dialog state global.
Dari sistem yang telah dibangun, masih banyak hal yang dapat ditingkatkan.
Untuk ekstraksi entitas, hasil ekstraksi per katanya mendapat nilai F1 sebesar
92,1%, ekstraksi relasi sebesar 88,4%, dan hasil akhirnya mendapatkan nilai F1
64%. Untuk perujukan entitas, hasil perujukan per kata dari mention
menghasilkan nilai F1 sebesar 69,2%, dan untuk keseluruhan nilai F1 adalah
86,7%. Sedangkan untuk pemrosesan dialog per entitas, klasifikasi entity intent
mendapatkan nilai F1 82,7% dan global intent sebesar 97,9%. Terakhir untuk
entity state, nilai F1-nya adalah 69,3%, sedangkan untuk global state 85,1%.