Ini adalah implementasi makalah PyTorch:
MoEL: Campuran Pendengar yang Empati . Zhaojiang Lin , Andrea Madotto, Jamin Shin, Peng Xu, Pascale Fung EMNLP 2019 [PDF]
Kode ini ditulis menggunakan PyTorch >= 0.4.1. Jika Anda menggunakan kode sumber atau kumpulan data apa pun yang disertakan dalam toolkit ini dalam pekerjaan Anda, harap kutip makalah berikut. Bibtexnya tercantum di bawah ini:
@artikel{lin2019moel, title={MoEL: Campuran Pendengar yang Empati}, penulis={Lin, Zhaojiang dan Madotto, Andrea dan Shin, Jamin dan Xu, Peng dan Fung, Pascale}, jurnal={arXiv pracetak arXiv:1908.07687}, tahun={2019} }
Penelitian sebelumnya tentang sistem dialog empati sebagian besar berfokus pada menghasilkan respons berdasarkan emosi tertentu. Namun, berempati tidak hanya membutuhkan kemampuan menghasilkan respon emosional, namun yang lebih penting, membutuhkan pemahaman emosi pengguna dan membalas dengan tepat. Dalam makalah ini, kami mengusulkan pendekatan end-to-end baru untuk memodelkan empati dalam sistem dialog: Mixture of Empathetic Listeners (MoEL). Model kami pertama-tama menangkap emosi pengguna dan menghasilkan distribusi emosi. Berdasarkan hal ini, MoEL akan dengan lembut menggabungkan status keluaran dari Pendengar yang sesuai, yang masing-masing dioptimalkan untuk bereaksi terhadap emosi tertentu, dan menghasilkan respons empati. Evaluasi manusia terhadap kumpulan data dialog empati mengonfirmasi bahwa MoEL mengungguli data dasar pelatihan multitugas dalam hal empati, relevansi, dan kelancaran. Selain itu, studi kasus mengenai tanggapan yang dihasilkan dari Pendengar yang berbeda menunjukkan kemampuan interpretasi yang tinggi dari model kami.
Visualisasi perhatian pendengar: Sisi kiri adalah konteks diikuti respon yang dihasilkan oleh MoEL. Peta panas menggambarkan bobot perhatian pada 32 pendengar
Periksa paket yang diperlukan atau cukup jalankan perintah
❱❱❱ pip install -r requirements.txt
Penyematan sarung tangan terlatih : glove.6B.300d.txt di dalam folder /vectors/.
Hasil Cepat
Untuk melewati pelatihan, silakan periksa generation_result.txt .
Kumpulan data
Dataset (dialog empati) telah diproses sebelumnya dan disimpan dalam format npy: sys_dialog_texts.train.npy, sys_target_texts.train.npy, sys_emotion_texts.train.npy yang terdiri dari daftar paralel konteks (sumber), respon (target) dan label emosi (label tambahan).
Pelatihan & Tes
MoEL
❱❱❱ python3 main.py --model experts --label_smoothing --noam --emb_dim 300 --hidden_dim 300 --hop 1 --heads 2 --topk 5 --cuda --pretrain_emb --softmax --basic_learner --schedule 10000 --save_path save/moel/
Garis dasar transformator
❱❱❱ python3 main.py --model trs --label_smoothing --noam --emb_dim 300 --hidden_dim 300 --hop 2 --heads 2 --cuda --pretrain_emb --save_path save/trs/
Garis dasar Transformator Multitugas
❱❱❱ python3 main.py --model trs --label_smoothing --noam --emb_dim 300 --hidden_dim 300 --hop 2 --heads 2 --cuda --pretrain_emb --multitask --save_path save/multi-trs/