kode/data untuk makalah NAACL'19 Bersama Mengoptimalkan Keanekaragaman dan Relevansi dalam Pembuatan Respon Neural
SpaceFusion adalah paradigma pembelajaran multi-tugas teregulasi yang diusulkan untuk menyelaraskan dan menyusun ruang laten tidak terstruktur yang dipelajari oleh model berbeda yang dilatih pada kumpulan data berbeda. Yang menarik adalah penerapannya pada pemodelan percakapan saraf, di mana SpaceFusion digunakan untuk bersama-sama mengoptimalkan relevansi dan keragaman respons yang dihasilkan.
Dokumen lainnya:
makalah kami di NAACL'19 (panjang, lisan).
Slide disajikan di NAACL'19.
Kami menerbitkan blog MSR untuk membahas intuisi dan implikasinya
pekerjaan tindak lanjut kami, StyleFusion di EMNLP'19
Model Evaluasi/Pemeringkatan Dialog terbaru kami, DialogRPT, di EMNLP'20
kodenya diuji menggunakan Python 3.6 dan Keras 2.2.4
Kami menyediakan skrip untuk menghasilkan Reddit dan memproses kumpulan data Switchboard serta kumpulan data mainan di repo ini untuk proses debug.
Silakan periksa di sini untuk lebih jelasnya.
Untuk melatih model SpaceFusion: python src/main.py mtask train --data_name=toy
Untuk memvisualisasikan ruang laten yang dipelajari: python src/vis.py --data_name=toy
Untuk berinteraksi dengan model yang dilatih: python src/main.py mtask interact --data_name=toy --method=?
, dimana metodenya bisa berupa greedy
, rand
, sampling
atau beam
. Kami menggunakan rand
di koran
Untuk menghasilkan hipotesis untuk pengujian dengan model yang dilatih: python src/main.py mtask test --data_name=toy
Untuk mengevaluasi hipotesis yang dihasilkan python src/eval.py --path_hyp=? --path_ref=? --wt_len=?
, yang menampilkan presisi, perolehan, dan F1 seperti yang ditentukan di makalah. Anda mungkin ingin menjalankan perintah ini terlebih dahulu dengan -len_only
untuk menemukan wt_len
yang tepat yang meminimalkan perbedaan antara panjang rata-rata (jumlah token) hipotesis dan referensi.
main.py
adalah file utama
model.py
mendefinisikan model SpaceFusion (lihat class MTask
) dan beberapa garis dasar
vis.py
mendefinisikan fungsi yang kami gunakan untuk memvisualisasikan dan menganalisis ruang laten
dataset.py
mendefinisikan pengumpan data
shared.py
mendefinisikan hyperparameter default
Silakan kutip makalah NAACL kami jika repo ini menginspirasi karya Anda :)
@article{gao2019spacefusion, title={Jointly Optimizing Diversity and Relevance in Neural Response Generation}, author={Gao, Xiang and Lee, Sungjin and Zhang, Yizhe and Brockett, Chris and Galley, Michel and Gao, Jianfeng and Dolan, Bill}, journal={NAACL-HLT 2019}, year={2019} }