Repo ringan untuk evaluasi otomatis model dialog menggunakan 17 metrik .
? Pilih metrik mana yang ingin Anda hitung
Evaluasi dapat dijalankan secara otomatis pada file respons atau direktori yang berisi banyak file
? Metrik disimpan dalam format yang telah ditentukan sebelumnya dan mudah diproses
Jalankan perintah ini untuk menginstal paket yang diperlukan:
pip install -r requirements.txt
File utama dapat dipanggil dari mana saja, tetapi saat menentukan jalur ke direktori, Anda harus memberikannya dari root repositori.
python code/main.py -h
Untuk dokumentasi lengkap kunjungi wiki.
Anda harus menyediakan sebanyak mungkin jalur argumen yang diperlukan (gambar di atas). Jika Anda melewatkan beberapa, program akan tetap berjalan, namun tidak akan menghitung beberapa metrik yang memerlukan file tersebut (program akan mencetak metrik ini). Jika Anda memiliki file data pelatihan, program ini dapat secara otomatis menghasilkan kosakata dan mengunduh penyematan fastText.
Jika Anda tidak ingin menghitung semua metrik, Anda dapat mengatur metrik mana yang harus dihitung dalam file konfigurasi dengan sangat mudah.
Sebuah file akan disimpan ke direktori tempat file respons berada. Baris pertama berisi nama metrik, lalu setiap baris berisi metrik untuk satu file. Nama file diikuti dengan nilai metrik individual yang dipisahkan dengan spasi. Setiap metrik terdiri dari tiga angka yang dipisahkan dengan koma: mean, deviasi standar, dan interval kepercayaan. Anda dapat mengatur nilai t interval kepercayaan dalam argumen, defaultnya adalah kepercayaan 95%.
Menariknya, ke-17 metrik tersebut meningkat hingga titik tertentu dan kemudian stagnan tanpa terjadi overfitting selama pelatihan model Transformer di DailyDialog. Periksa lampiran makalah untuk mengetahui gambarnya.
TRF adalah model Transformer yang dievaluasi pada kerugian validasi minimum dan TRF-O adalah model Transformer yang dievaluasi setelah 150 periode pelatihan, saat metrik mulai stagnan. RT berarti tanggapan yang dipilih secara acak dari set pelatihan dan GT berarti tanggapan kebenaran dasar.
TRF adalah model Transformer, sedangkan RT berarti respons yang dipilih secara acak dari set pelatihan dan GT berarti respons kebenaran dasar. Hasil ini diukur pada set pengujian di pos pemeriksaan yang kehilangan validasinya minimal.
TRF adalah model Transformer, sedangkan RT berarti respons yang dipilih secara acak dari set pelatihan dan GT berarti respons kebenaran dasar. Hasil ini diukur pada set pengujian di pos pemeriksaan yang kehilangan validasinya minimal.
Metrik baru dapat ditambahkan dengan membuat kelas untuk metrik tersebut, yang menangani penghitungan data metrik yang diberikan. Periksa metrik BLEU sebagai contoh. Biasanya fungsi init menangani pengaturan data apa pun yang diperlukan nanti, dan update_metrics memperbarui dict metrik menggunakan contoh argumen saat ini. Di dalam kelas Anda harus menentukan dict self.metrics, yang menyimpan daftar nilai metrik untuk file pengujian tertentu. Nama-nama metrik ini (kunci kamus) juga harus ditambahkan dalam file konfigurasi ke self.metrics. Terakhir, Anda perlu menambahkan instance kelas metrik Anda ke self.objects. Di sini, saat inisialisasi, Anda dapat menggunakan jalur ke file data jika metrik Anda memerlukan penyiapan apa pun. Setelah ini, metrik Anda akan dihitung dan disimpan secara otomatis.
Namun, Anda juga harus menambahkan beberapa batasan pada metrik Anda, misalnya jika file yang diperlukan untuk penghitungan metrik tidak ada, pengguna harus diberi tahu, seperti di sini.
Proyek ini dilisensikan di bawah Lisensi MIT - lihat file LISENSI untuk detailnya.
Harap sertakan tautan ke repo ini jika Anda menggunakannya dalam pekerjaan Anda dan pertimbangkan untuk mengutip makalah berikut:
@inproceedings{Csaky:2019,
title = "Improving Neural Conversational Models with Entropy-Based Data Filtering",
author = "Cs{'a}ky, Rich{'a}rd and Purgai, Patrik and Recski, G{'a}bor",
booktitle = "Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics",
month = jul,
year = "2019",
address = "Florence, Italy",
publisher = "Association for Computational Linguistics",
url = "https://www.aclweb.org/anthology/P19-1567",
pages = "5650--5669",
}