Encoder Kalimat Universal Multibahasa untuk Perbaikan Semantik

Sejak diperkenalkan tahun lalu, “Universal Sentence Encoder (USE) for English” sudah menjadi modul yang paling banyak didownload di Tensorflow Hub, yang memberikan model-model embedding kalimat serba guna yang mampu mengubah kalimat menjadi representasi-representasi vektor. Vektor-vektor ini yang kemudian menangkap informasi semantik berharga yang bisa digunakan untuk mengatur classifier atau alat pengklasifikasi untuk memberikan jangkauan luas dari downstream tasks. Misalnya, sebuah alat pengklasifikasi yang sangat peka bisa dilatih untuk mengklasifikasikan sekitar seratus sampel, dan masih bisa digunakan untuk mengukur kesamaan semantik dan untuk mengelompokkan berdasarkan maknanya.

Hari ini, kami dengan suka cita mengumumkan rilisnya tiga modul multibahasa USE baru dengan fitur-fitur tambahan dan aplikasi-aplikasi yang potensial. Dua modul pertama memberikan model multibahasa untuk perbaikan teks yang secara semantik memiliki kesamaan. Satu modul mengoptimasi perbaikan performa, dan modul yang lain berfokus untuk perbaikan kecepatan dan minimalisasi penggunaan memori. Nah, model yang ketiga dikhususkan untuk perbaikan tanya-jawab dalam enam belas bahasa (USE-QA), dan merepresentasikan seluruh aplikasi baru USE. Ketiga modul multibahasa tersebut dilatih menggunakan kerangka dual-encoder yang serba guna, mirip dengan model USE yang asli berbahasa Inggris, kami mengembangkan dan meningkatkan dual-encoder dengan pendekatan softmax margin yang aditif, yang didesain tidak hanya untuk menjaga performa transfer learning yang baik, tetapi juga untuk tetap bekerja dengan baik dalam perbaikan semantik.

Struktur training multi-task dari Universal Sentence Encoder. Berbagai tugas dan struktur tugas bergabung dengan lapisan/parameter pembuat enkode bersama (kotak merah muda).

Aplikasi Perbaikan Semantik

Ketiga modul baru tersebut semuanya dibangun di arsitektur perbaikan semantik, yang mana pada umumnya memisahkan encoding antara pertanyaan-pertanyaan dan jawaban ke dalam jaringan neural terpisah, yang memungkinkan untuk melakukan pencarian di antara miliaran kemungkinan jawaban dalam seperseribu detik. Kunci dalam menggunakan dual-encoder untuk perbaikan semantik yang efisien adalah dengan melakukan pre-encode pada semua kemungkinan jawaban ke input queries yang diharapkan dan menyimpannya dalam sebuah database vektor yang dioptimalkan untuk memecahkan permasalahan nearest neighbor, yang memungkinkan kandidat jawaban dalam jumlah besar supaya bisa ditelusuri dengan tingkat ketelitian dan penarikan yang bagus. Kemudian, untuk ketiga modul, input query akan dikodekan ke dalam vektor yang mana kita bisa melakukan penelusuran approximate nearest neighbor. Kemudian ini akan menghasilkan hasil yang bagus dan cepat didapat tanpa perlu melakukan perbandingan direct query untuk setiap kandidat jawaban. Pipeline prototype bisa dilihat di gambar di bawah ini:

Prototipe perbaikan semantik yang digunakan untuk mendeteksi kesamaan tekstual.

Modul Kemiripan Semantik

Untuk kesamaan semantik, kueri dan kandidat jawaban akan dikodekan menggunakan neural network yang sama. Dua tugas pengambilan semantik yang umum yang dimungkinkan oleh modul-modul baru termasuk Perbaikan Kesamaan Teks Multibahasa dan Perbaikan Penerjemahan Multibahasa.

  • Perbaikan Kesamaan Tekstual Semantik Multibahasa

Sebagian besar pendekatan yang ada untuk menemukan teks yang serupa secara semantik perlu untuk diberi sepasang teks sebagai perbandingan. Namun, dengan menggunakan Universal Sentence Encoder, teks yang secara semantik serupa bisa diekstraksi langsung dari database yang sangat besar. Misalnya, dalam aplikasi seperti pencarian FAQ, sistem pertama-tama dapat mengindeks semua pertanyaan yang mungkin ditanyakan dengan jawaban terkait. Lalu, dengan diberikan pertanyaan dari pengguna, sistem bisa mencari pertanyaan yang diketahui cukup mirip secara semantik sebagai jawaban. Pendekatan yang serupa digunakan untuk menemukan kalimat yang sebanding dari 50 juta kalimat di wikipedia. Dengan model USE multibahasa yang baru, hal ini bisa dilakukan dalam bahasa non-Inggris yang tersedia.

Kebanyakan pendekatan yang ada untuk menemukan teks yang secara semantik sama, memerlukan sepasang teks untuk dibandingkan. Namun, dengan menggunakan USE, teks yang memiliki kemiripan semantik bisa diekstrak langsung dari database yang sangat besar. Misalnya, di sebuah aplikasi seperti pencari FAQ, sistem bisa mengindeks semua pertanyaan yang mungkin akan ditanyakan dengan jawaban-jawaban yang berkaitan dengan pertanyaan tersebut.

  • Perbaikan Pasangan Terjemahan Multibahasa

Modul yang baru dirilis juga bisa digunakan untuk menggali pasangan terjemahan untuk melatih sistem terjemahan neural machine. Apabila diberikan kalimat sumber dalam satu bahasa ("Bagaimana cara saya pergi ke kamar kecil?"), mereka dapat menemukan target terjemahan potensial dalam bahasa lain yang di-support oleh sistem, seperti ("ó Cómo llego al baño?").

Kedua modul kesamaan semantik baru adalah lintas-bahasa. Ketika diinput dalam bahasa Mandarin, misalnya, modul dapat menemukan kandidat jawaban yang paling tepat, terlepas dari bahasa apa yang diungkapkan. Keserbagunaan ini dapat sangat berguna untuk bahasa-bahasa yang kurang terwakili di internet. Sebagai contoh, versi awal dari modul-modul ini telah digunakan oleh Chidambaram (2018) untuk memberikan klasifikasi sementara keadaannya adalah data pelatihan hanya tersedia dalam satu bahasa (Bahasa Inggris), tetapi sistem akhirnya harus berfungsi dalam ragam bahasa yang lain juga.

USE untuk Perbaikan Question-Answer

Modul USE-QA memperluas arsitektur USE ke aplikasi perbaikan Question-Answer, yang umumnya mengambil input query dan menemukan jawaban yang relevan dari sejumlah besar dokumen yang dapat diindeks pada level dokumen, paragraf, atau bahkan kalimat. Input query ini dikodekan dengan jaringan pengkode pertanyaan, sedangkan kandidat jawaban dikodekan dengan jaringan pengkode jawaban.

Sistem perbaikan Question-Answer juga bergantung pada kemampuan memahami semantik. Misalnya, coba pikirkan suatu kemungkinan pertanyaan ke suatu sistem, Google Talk to Books, yang dirilis di awal tahun 2018 dan di-back up oleh suatu indeks di tingkat kalimat dari lebih dari 100.000 buku. Sebuah pertanyaan “What fragrance brings back memories?” akan memunculkan jawaban “And for me, the smell of jasmine along with the pan bagnat, it brings back my entire carefree childhood.” dengan tanpa menentukan substitusi atau aturan eksplisit, pengkode vektor menangkap kesamaan semantik antara istilah fragrance (aroma) dan smell (bau). Keuntungan yang diberikan oleh modul USE-QA adalah dapat memperluas tugas pengambilan Question-Answer seperti ini ke aplikasi multibahasa.


Untuk Para Peneliti dan Developer

Kami senang bisa berbagi tambahan terbaru ke rekan-rekan Universal Sentence Encoder dan juga komunitas peneliti, kami juga sangat senang melihat aplikasi-aplikasi lain diciptakan dan dikembangkan.

Modul-modul ini bisa digunakan sebagaimana fungsinya, atau bisa disesuaikan dengan menggunakan data yang spesifik terhadap domain. Terakhir, kami juga akan menyediakan halaman khusus yang membahas Kesamaan Semantik untuk Bahasa Alamiah di Cloud AI Workshop untuk penelitian di bidang ini kedepannya.

Artikel bersumber dari https://ai.googleblog.com/2019/07/multilingual-universal-sentence-encoder.html akses pada 22 Juli 2019 pukul 3:44 pm.