Repositori ini menyajikan pekerjaan yang dilakukan selama tesis master saya dengan judul "Meningkatkan Terjemahan Mesin Saraf Rendah Sumber Daya dari Bahasa Terkait dengan Transfer Learning" yang disarankan oleh Alexandra Birch dan Rachel Bawden di University of Edinburgh. Itu diserahkan pada Agustus 2020. Ini menyelidiki beberapa pendekatan pembelajaran transfer untuk sistem terjemahan mesin saraf (NMT) dengan memanfaatkan model bahasa bertopeng seperti XLM-Roberta (XLM-R) [1]. Proyek ini terutama dibangun di atas perpaduan berbasis perhatian dari representasi kata kontekstual dari model bahasa bertopeng (MLM) dengan sistem NMT berbasis transformator [2]. Ini juga secara empiris melacak transfer pengetahuan sintaksis dengan analisis kepala perhatian dalam sistem ini berdasarkan pada karya referensi [3]. Panduan ini memberikan instruksi pemasangan yang diperlukan bersama dengan contoh kerja kecil menggunakan subset kecil dari dataset paralel IIT Bombay English-Hindi [4]. Semua hiperparameter yang digunakan dalam pekerjaan ini dapat diakses dari tesis.
Daftar isi
- Gambaran Umum Fusi Berbasis Perhatian
- Instalasi
- Preprocessing
- Sistem NMT awal
- Sistem NMT XLM-R-Fused
- Finetuning xlm-r
- Konversi skrip
- Analisis sintaksis
- Info tambahan
- Referensi
1. Gambaran Umum Fusi Berbasis Perhatian
- Kami menghubungkan XLM-R dengan sistem NMT berbasis transformator menggunakan fusi berbasis perhatian mengikuti pekerjaan [2].
- Kami menyebutnya sistem NMT XLM-R-Fused yang terdiri dari modul XLM-R tambahan selain dari NMT-encoder standar dan NMT-Decoder.
- Kalimat input diteruskan ke XLM-R dan NMT-encoder, yang memberikan dua representasi berbeda untuk kalimat tersebut. Representasi kata yang dikontekstualisasikan dari XLM-R disatu dengan representasi NMT-encoder menggunakan fusi berbasis perhatian. Demikian pula, representasi XLM-R menyatu dengan dekoder.
2. Instalasi
2.1. Persyaratan
- Python> = 3.5
- Pytorch> = 1.5.0
- TensorFlow == 1.13.1
- Huggingface Transformers == 2.11.0
- Matplotlib
- Yg keturunan dr laut
- Scikit-learn
- Sacrebleu> = 1.4.10
- Kalimat> = 0.1.91
- Perpustakaan NLP indic> = 0.6
- MosesDecoder
2.2 Instalasi di direktori paket
- Unduh, ekstrak, dan instal MosesDecoder di lokasi ini.
- Unduh, ekstrak, dan instal perpustakaan indic NLP di lokasi ini. Juga, ekstrak Sumber Daya NLP indic di lokasi ini. Kita dapat melewatkan langkah ini jika kita tidak bekerja dengan bahasa indic.
- Unduh, ekstrak, dan instal perpustakaan HuggingFace Transformers di lokasi ini.
2.3 Menginstal Fairseq
- Kloning repositori ini. Direktori induknya akan bertindak sebagai direktori rumah untuk semua skrip preprocessing, pelatihan, dan evaluasi dalam karya ini.
- Jalankan perintah berikut dari direktori home.
cd 'work/systems/baseline-NMT/fairseq'
pip install --editable ./
- Ini akan menginstal sistem Baseline-NMT berdasarkan pustaka Fairseq bersama dengan ketergantungannya. Perhatikan bahwa kami menggunakan beberapa versi sistem Fairseq yang terletak di lokasi ini. Jadi, kami selalu menggunakan jalur yang tepat dari file pelatihan dan evaluasi untuk menghindari konflik.
2.4 Mengunduh dan Mengekstraksi XLM-R
- Unduh semua file yang terkait dengan XLM-R dari hub Huggingface. Gunakan opsi 'Daftar semua file dalam model' untuk melihat dan mengunduh file yaitu config.json, pytorch_model.bin, kalime.bpe.model, dan tokenizer.json .
- Masukkan file -file ini di direktori ini.
3. Preprocessing
- Silakan kunjungi perpustakaan Fairseq dan Bert-NMT untuk terbiasa dengan langkah-langkah preprocessing, pelatihan, dan evaluasi dasar, karena pekerjaan kami dibangun di atasnya.
- Kami menggunakan MosesDecoder untuk preprocess dataset bahasa Inggris, tetapi beralih ke perpustakaan NLP indic untuk bahasa indic seperti Hindi, Gujarati, Bengali, dan Marathi.
- Kami menggunakan BPE kalimat untuk segmentasi kata. Ketika bahasa sumber dan target berbagi karakter substansial, kami memproses dataset dengan BPE bersama menggunakan skrip ini. Kalau tidak, skrip yang berbeda digunakan.
- Untuk dataset Inggris-Hindi yang digunakan untuk menunjukkan karya ini, kami menggunakan skrip yang terakhir.
- Atur home_dir ke direktori induk dari repositori ini.
- Kami telah meletakkan file kereta, tes, dan dev di raw_data_dir . Anda dapat mengubahnya dengan file Anda dengan konvensi penamaan yang sama.
- Kami menggabungkan data pelatihan dengan set data monolingual besar untuk mempelajari segmentasi BPE yang lebih baik. Letakkan kumpulan data ini di RAW_MONOLINGUAL_DATA_DIR . Kami menggunakan Oscar Corpus besar -besaran dalam pekerjaan kami, tetapi untuk demo ini, kami hanya menggunakan file kereta yang sama.
- Beralih antara perpustakaan indic nlp atau moses berdasarkan bahasa dengan mengomentari fungsi clean_norm_tok , seperti yang ditunjukkan dalam skrip.
- Jalankan skrip ini yang preprocesses semua file dan simpan di preprocessed_data_dir . Direktori Tokenized-BPE berisi semua file menengah setelah normalisasi, tokenisasi, dll., serta, semua file BPED akhir.
- Kemudian, skrip ini menulis data yang akan digunakan oleh sistem berbasis Fairseq, dan menyimpan di direktori biner . Ini menggunakan Fairseq Binariser dari sistem XLM-R-Fused untuk binarise file untuk baseline, serta, sistem XLM-R-FULE. Ia menggunakan --bert-Model-name untuk mengakses tokenizer XLM-R untuk tokenize file sumber, karena mereka juga digunakan oleh komponen XLM-R bersama dengan NMT-encoder standar dalam sistem XLM-R-FULE.
- (Opsional) Perhatikan bahwa sistem ini terutama didasarkan pada XLM-R, tetapi kami juga dapat menggunakan model bahasa bertopeng lainnya yang disediakan oleh perpustakaan Huggingface Transformers. Kita perlu membuat beberapa perubahan sebagai berikut:
- Unduh dan ekstrak model bahasa baru sebagaimana disebutkan dalam Langkah 2.4.
- Impor tokenizer dan model yang sesuai dari perpustakaan HuggingFace Transformers dalam sistem XLM-R-FULE dengan yang default seperti yang disebutkan di bawah ini:
from transformers import XLMRobertaModel
BertModel = XLMRobertaModel
from transformers import XLMRobertaTokenizer
BertTokenizer = XLMRobertaTokenizer
- Kita perlu mengimpornya di file berikut:
- Work/Systems/XLM-R-FUSED/Bert-NMT/Preprocess.py
- Work/Systems/XLM-R-FUSED/Bert-NMT/Interactive.py
- Work/Systems/XLM-R-FUSED/BERT-NMT/FAIRSEQ_CLI/preprocess.py
- Work/Systems/XLM-R-FUSED/BERT-NMT/FAIRSEQ_CLI/Interactive.py
- Work/Systems/XLM-R-FUSED/BERT-NMT/FAIRSEQ/TAGAS/TRANSLATION.PY
- Work/Systems/XLM-R-FUSED/BERT-NMT/FAIRSEQ/MODEL/TRANSFORMER.PY
- Work/Systems/XLM-R-FUSED/BERT-NMT/FAIRSEQ/BINARIZER.PY
- Lebih lanjut, kita perlu mengubah token start
(<s>) dan end (</s>) dalam file -file ini sesuai dengan model bahasa baru.
4. Sistem NMT Baseline
4.1 Pelatihan Baseline NMT System
- Latih sistem baseline berbasis transformator dengan skrip ini.
- Ini akan mengumpulkan gradien untuk membentuk ukuran batch efektif yang lebih besar. Ukuran Batch = (Jumlah GPU) * ( --Max-Tokens ) * ( --update-freq ).
- Ini menggunakan strategi validasi penghentian awal dengan -kemasukan menentukan jumlah maksimum pos pemeriksaan dengan skor Bleu yang menurun.
- Pekerjaan kami menggunakan arsitektur transformator: transformer_iwslt_de_en sebagai default. Sistem XLM-R-Fused mengembalikan parameter dari sistem dasar, sehingga arsitektur mereka harus cocok. Kita juga dapat menggunakan arsitektur lain yang lebih besar untuk sistem dasar, tetapi kita perlu memberikan arsitektur mendasar yang sama untuk sistem XLM-R-Fused juga. Periksa file ini untuk arsitektur tambahan yang menerapkan fusi berbasis perhatian.
- Ini menyimpan pos pemeriksaan di Baseline_nmt_checkpoints_dir .
4.2 Mengevaluasi Sistem NMT awal
- Evaluasi sistem dasar dengan skrip ini.
- Kita perlu mengevaluasi file uji BPED dengan pos pemeriksaan terbaik. Gunakan --remove-bpe = kalimat untuk menghapus segmentasi BPE dari file output.
- Gunakan indic nlp atau Musa untuk melepaskan file output seperti yang ditunjukkan pada skrip.
- Skrip ini menghitung skor Bleu akhir menggunakan Sacrebleu menggunakan file uji yang tidak tersentuh dari bahasa target.
5. Sistem NMT XLM-R-FULE
5.1 Pelatihan Sistem NMT XLM-R-FULE
- Latih sistem XLM-R-Fused dengan skrip ini yang akan menggunakan sistem di lokasi ini.
- Bert_name menyimpan jalur ke varian XLM-R yang digunakan dengan sistem ini. Kita dapat menggunakan varian pra-terlatih atau finetuned di sini.
- Script ini menyalin pos pemeriksaan terbaik dari sistem dasar dan mengembalikan parameter untuk pelatihan lebih lanjut dengan sistem XLM-R-FULE.
- Sistem ini dibangun di atas versi Fairseq sebelumnya yang tidak memberikan penghentian lebih awal, jadi skrip ini menyimpan semua pos pemeriksaan untuk -max-update pelatihan langkah-langkah, yang kemudian dievaluasi nanti.
- Untuk fusi perhatian pada sisi enkoder dan decoder, gunakan --arch as Transformer_s2_iwslt_de_en , sedangkan untuk fusion hanya decoder, gunakan transformer_iwslt_de_en .
- Pastikan untuk menggunakan tingkat pembelajaran yang kecil, karena parameter sudah mendekati level optimal.
5.2 Mengevaluasi Sistem NMT XLM-R
- Mengevaluasi sistem XLM-R-Fused dengan skrip ini, yang mirip dengan skrip yang digunakan untuk sistem dasar.
- Skrip ini menggunakan pos pemeriksaan tertentu untuk menghitung skor Bleu, sementara skrip lain memperluasnya untuk menghitung skor untuk semua pos pemeriksaan.
- Seperti disebutkan sebelumnya, tidak ada fitur penghentian awal dengan sistem ini. Jadi, kami menyimpan semua pos pemeriksaan setiap beberapa zaman dan mengevaluasinya dengan set validasi. Kemudian, pos pemeriksaan terbaik dapat diatur menggunakan Best_CheckPoint dalam skrip sebelumnya untuk evaluasi set tes.
- Ini menggunakan jalur ke dua file uji berbeda yang digunakan oleh komponen berbeda dari sistem NMT XLM-R-Fused. Test_src_bped poin ke file yang digunakan oleh NMT-encoder standar, sedangkan poin test_src_raw ke file sumber mentah yang digunakan oleh komponen XLM-R. File mentah diperlukan oleh XLM-R karena menggunakan tokenisasi internal sendiri menggunakan tokenizer yang disediakan oleh Pustaka Transformers Huggingface. Pastikan Bert_name menunjuk ke direktori varian XLM-R yang sesuai, sehingga dapat mengakses tokenizer yang sesuai.
6. Finetuning XLM-R
6.1 varian multibahasa dan monolingual
- Kami finetuned model XLM-R untuk membuat varian multibahasa dan monolingual dari model pra-terlatih asli.
- Indo-Aryan-XLM-R-BASE adalah varian multibahasa, yang dibuat oleh Finetuning XLM-R Base dengan bahasa terkait-Hindi, Gujarati, Marathi, dan Bengali. Ini mengeksploitasi kesamaan sintaksis, morfologis, ortografis, dan leksikal mereka.
- Gujarati-XLM-R-BASE dan Gujarati-XLM-R-Large adalah varian monolingual yang diatasi dengan dataset tunggal Gujarati. Lebih lanjut, Gujarati-Dev-XLM-R-Base dibuat dengan bahasa Gujarati yang dikonversi ke skrip Devanagari. Model -model ini telah dirilis di hub Huggingface yang tersedia di sini.
- Kami menggunakan varian Pytorch dari XLM-R yang tersedia di sini sebagai model yang terlatih.
6.2 Mempersiapkan data
- Kami terutama mengikuti tutorial ini, yang kami mendorong Anda untuk berkunjung sebelum melanjutkan berikutnya.
- Gunakan skrip ini untuk menyiapkan data. Ini menyiapkan file pelatihan dan validasi untuk satu dataset monolingual yang jalurnya diatur menggunakan RAW_MONO_SOURCE . Kemudian, diproses dengan menggunakan pustaka NLP indic, seperti yang dilakukan untuk file pelatihan di atas.
- Dalam skrip ini, Bert_name menunjuk ke model XLM-R pretrained asli yang digunakan untuk mengakses kamusnya.
- Kemudian, dimiliki binariisasi menggunakan varian lain dari perpustakaan Fairseq yang tersedia di sini. Ia menggunakan tokenizer XLM-R, yang memastikan bahwa data kami ditentukan dengan cara yang sama seperti data asli dilakukan untuk pretraining XLM-R.
- (Opsional) Jika Anda ingin melakukan model bahasa bertopeng lainnya, maka Anda perlu mengimpor model bahasa itu dalam file ini. Buat perubahan berikut:
- Impor tokenizer yang sesuai alih -alih xlmrobertatokenizer default kami
from transformers import XLMRobertaTokenizer
BertTokenizer = XLMRobertaTokenizer
- Ganti nama model di sini
dict = BertTokenizer.from_pretrained("xlm-roberta-base")
- Ganti token Mulai dan Akhiri yang mirip dengan saran di preprocessing.
- Demikian pula, siapkan data untuk bahasa lain jika Anda ingin membuat model multibahasa.
6.3 Pelatihan dan Mengevaluasi Model
- Gunakan skrip ini untuk memperbaiki varian monolingual.
- Ini menggunakan sistem NMT baseline yang sama yang digunakan pada langkah 4.1 untuk finetune model. Di sini, poin restore_point ke pos pemeriksaan model pra-terlatih. Gunakan - -Task sebagai masked_lm untuk varian monolingual.
- Similalrly, gunakan skrip ini untuk membuat varian multibahasa. Ini menggunakan - -Task sebagai multibahasa_masked_lm yang menggabungkan data dari berbagai bahasa.
- Ini juga membuat ulang untuk meminimalkan dampak ketidakseimbangan data di mana dataset yang lebih besar mengalahkan yang lebih kecil. Gunakan --shulang-sampling-alpha untuk menyesuaikan rasio pengambilan sampel. Lihat kertas XLM-R asli [1] untuk detailnya.
- Kami menyimpan pos pemeriksaan secara berkala dan memilih model dengan kehilangan validasi minimum.
6.4 Membuat Pytorch Checkpoint Kompatibel dengan Transformer Huggingface
- Kita perlu mengonversi pos pemeriksaan Pytorch yang disimpan ke versi yang berbeda yang kompatibel dengan pustaka Transformers Huggingface.
- Kami berasumsi bahwa Anda telah menginstal Perpustakaan Transformers di direktori Paket. Kemudian, gunakan perintah berikut.
python packages/transformers/src/transformers/convert_roberta_original_pytorch_checkpoint_to_pytorch.py --roberta_checkpoint_path best_ck_dir/ --pytorch_dump_folder_path ./
- Di sini, best_ck_dir berisi pos pemeriksaan XLM-R yang dinamakan sebagai model.pt , dict.txt dan kalimat.bpe.model . 2 file terakhir adalah sama untuk model pra-terlatih dan finetuned, yang dapat diakses di sini. Pytorch_dump_folder_path mengacu pada direktori di mana versi Pytorch yang kompatibel dengan transformator perlu disimpan.
- Perhatikan bahwa pustaka Transformers memiliki beberapa masalah dengan file convert_roberta_original_pytorch_checkpoint_to_pytorch.py , yang kami perbaiki dan tambahkan ke direktori utils. Ganti file ini dan membangun kembali perpustakaan.
- (Opsional) Kita dapat menggunakan pemandu huggingface secara langsung untuk finetune model tanpa terlebih dahulu menggunakan pustaka fairseq. Kami menemukan pendekatan ini sangat lambat karena dukungan multi-GPU yang buruk yang disediakan oleh The Huggingface. Mereka menerapkan multithreading lebih dari multiprosesing yang menyebabkan penggunaan GPU yang tidak seimbang. Fairseq mengimplementasikan modul mereka sendiri untuk menangani ini, yang dibahas di sini.
- Setelah finetuning, cukup gunakan versi Pytorch akhir untuk menggantikan model pra-terlatih asli untuk pelatihan dan mengevaluasi sistem XLM-R-FULE.
7. Konversi skrip
- Kami menggunakan beberapa strategi konversi skrip, di mana kami mencoba mengeksploitasi kesamaan leksikal antara bahasa terkait dengan menggunakan skrip umum. Kami menggunakan pustaka indic NLP untuk mengonversi hal yang sama.
- Ketika sistem XLM-R-Fused memproses kalimat input yang sama dalam XLM-R, serta, NMT-encoder, kami mencoba berbagai kombinasi skrip untuk modul ini. Misalnya, untuk pasangan Gujarati-Hindi, kami melewati kalimat skrip Gujarati ke modul XLM-R, tetapi Gujarati dalam skrip Devanagari ke NMT-encoder untuk memaksimalkan tumpang tindih leksikal dengan bahasa target.
- Kalimat -kalimat dalam skrip yang berbeda memiliki makna semantik yang sama, sehingga fusi berbasis perhatian mereka dimungkinkan. Periksa tesis untuk lebih jelasnya.
- Fungsionalitas ini dapat digunakan dengan sistem XLM-R-FULE dengan mengubah file sumber menjadi binars untuk XLM-R. Ini dapat dilakukan dengan menggunakan skrip ini, yang mengubah file -file ini ke skrip target.
- Demikian pula, skrip dapat digunakan untuk mengonversi skrip file sumber yang akan diteruskan ke XLM-R, serta, NMT-encoder standar.
- Kemudian, latih sistem NMT baseline dan XLM-R-Fused seperti sebelumnya menggunakan skrip pelatihan awal.
- Evaluasi sistem ini seperti sebelumnya menggunakan skrip evaluasi awal. Jika bahasa target dikonversi ke skrip bahasa sumber, maka ia perlu dikonversi kembali ke skrip awalnya sebagai langkah postprocessing. Ini dapat dilakukan dengan menggunakan skrip evaluasi yang ada di direktori yang dikonversi skrip di dalam baseline dan direktori 'skrip' skrip 'sistem XLM-R.
8. Analisis Sintaksis
Harap terbiasa dengan karya [3], yang kodenya tersedia di sini. Pekerjaan kami memperluasnya untuk melacak transfer pengetahuan sintaksis dalam sistem XLM-R-Fused.
8.1 Mempersiapkan data
- Memproses Dataset Universal Dependencies (UD)
- Kami menggunakan dataset Hindi UD [5] [6] untuk analisis sintaksis.
- Gunakan skrip ini untuk memproses kereta UD RAW dan menguji file. Ini akan mengekstraksi kepala sintaksis dan hubungan sintaksis yang sesuai dari file UD.
- Kemudian, gunakan skrip ini untuk mengonversi file di atas ke format JSON menggunakan instruksi di sini.
- Akhirnya, ekstrak kalimat mentah dari file di atas menggunakan skrip ini.
- Memproses file sumber untuk inferensi fairseq
- Gunakan file di atas dengan kalimat mentah sebagai file uji sumber. Kami mengevaluasi pos pemeriksaan sistem baseline dan XLM-R terbaik kami dengan file-file ini.
- Preprocess file -file ini sebagaimana disebutkan dalam Langkah 3 (preprocessing) dan siapkan file binarized untuk Fairseq. Karena kami tidak memiliki data sisi target di sini, kami menggunakan skrip preprocessing yang dimodifikasi untuk hanya memproses file sisi sumber.
8.2 Mengekstraksi peta perhatian dari sistem baseline dan XLM-R
- Gunakan data binarsied di atas untuk mengekstraksi peta perhatian dari sistem XLM-R-Fusion menggunakan skrip evaluasi. Demikian pula, gunakan skrip ini untuk mengekstrak peta dari sistem dasar.
- Skrip-skrip ini menggunakan dua sistem berbeda yang dibangun di atas sistem NMT awal dan sistem NMT XLM-R-Fused, yang dapat diakses di sini dan di sini, masing-masing.
- Sistem ini mengekstraksi peta perhatian diri untuk semua kepala perhatian yang ada di semua lapisan encoder transformator. Lebih lanjut, sistem yang dibangun di atas XLM-R-Fused juga mengekstraksi peta-atensi Bert yang dihasilkan dari perpaduan berbasis perhatian dari representasi XLM-R dan representasi NMT-encoder.
- Gunakan parameter tambahan --save_attn_maps untuk memberikan jalur untuk menyimpan peta perhatian. Buat folder - Self , Bert , dan Batch_sentences di dalamnya untuk menyimpan peta masing -masing. Batch_sentences menyimpan kalimat yang sesuai dalam urutan peta perhatian diekstraksi. File ini dapat digunakan untuk memverifikasi urutan kalimat yang diproses.
- Peta -peta ini akan disimpan dalam array numpy di mana satu file berisi jumlah kalimat yang sama dengan ukuran batch.
- Gunakan skrip ini untuk memproses peta perhatian lebih lanjut.
- Ini membuat objek acar menggunakan peta perhatian dan file JSON.
- Kemudian, itu mengubah peta perhatian untuk token level BPE ke tingkat kata. Periksa tesis untuk lebih jelasnya.
- Untuk menguji kode kami, Anda dapat menggunakan file acar kami untuk sistem baseline dan XLM-R yang tersedia di sini. Unduh dan ekstrak file terkompresi di lokasi ini. File acar ini akan bekerja dengan data preproses preproses Hindi yang sudah ada di lokasi yang disebutkan.
8.3 memvisualisasikan peta perhatian dan classifier probing berbasis perhatian
- Jalankan notebook analisis sintaksis yang tersedia di sini. Point train_path dan dev_path ke kereta di atas dan uji file acar. Di sini, file dev dan uji kami sama, karena kami tidak menggunakan hiperparameter apa pun.
- Bobot yang diperoleh dari sistem baseline dan XLM-R-FUSE digunakan untuk menentukan kepala sintaksis yang benar di berbagai lapisan dan kepala perhatian.
- Ini memiliki beberapa contoh kualitatif di mana kepala sintaksis berhasil diprediksi.
- Akhirnya, ini memberikan skor UAS akhir dengan melatih dan mengevaluasi classifier probing berbasis perhatian. Dibutuhkan kombinasi tertimbang dari bobot perhatian diri yang diberikan oleh semua lapisan dan perhatian kepala untuk memberikan ukuran keseluruhan dari pengetahuan sintaksis.
9. Info tambahan
- Lisensi: Harap dicatat bahwa pekerjaan kami dilisensikan di bawah lisensi MIT. Tapi, kami menggunakan beberapa karya dan dataset lain yang memiliki lisensi sendiri. Secara khusus, semua sistem yang didasarkan pada perpustakaan Fairseq memiliki lisensi yang sesuai hadir di direktori masing -masing. Lebih lanjut, silakan periksa lisensi untuk dataset paralel IIT Bombay Inggris-Hindi dan dataset dependensi universal Hindi dengan menggunakan tautan yang diberikan dalam file ReadMe. Demikian pula, periksa lisensi untuk perpustakaan HuggingFace Transformers, karena kami memodifikasi salah satu file seperti yang disebutkan dalam ReadMe.
- Naikkan masalah jika Anda membutuhkan bantuan. Jika Anda menemukan pekerjaan ini bermanfaat, jangan ragu untuk menggunakannya dan silakan kutip tesis saya juga.
10. Referensi
[1] Conneau, Alexis, et al. "Pembelajaran representasi lintas-bahasa yang tidak diawasi pada skala." Arxiv Preprint Arxiv: 1911.02116 (2019)
[2] Zhu, Jinhua, dkk. "Memasukkan Bert ke dalam terjemahan mesin saraf." Konferensi Internasional tentang Representasi Pembelajaran. 2019
[3] Clark, K., Khandelwal, U., Levy, O., & Manning, CD (2019, Agustus). Apa yang terlihat Bert? Analisis perhatian Bert. Dalam Prosiding Lokakarya ACL 2019 BlackboxNLP: Menganalisis dan Menafsirkan Jaringan Saraf untuk NLP (hlm. 276-286).
[4] Anoop Kunchukuttan, Pratik Mehta, Pushpak Bhattacharyya. IIT Bombay English-Hindi Parallel Corpus. Sumber Daya Bahasa dan Konferensi Evaluasi. 2018.
[5] Riyaz Ahmad Bhat, Rajesh Bhatt, Annahita Farudi, Prescott Klassen, Bhuvana Narasimhan, Martha Palmer, Owen Rambow, Dipti Misra Sharma, Ashwini Vaidya, Sri Ramagurumurthy Vishnu, dan Fei. Proyek Hindi/Urdu Treebank. Dalam Buku Pegangan Anotasi Linguistik (diedit oleh Nancy Ide dan James Pustejovsky), Springer Press. 2015.
[6] Martha Palmer, Rajesh Bhatt, Bhuvana Narasimhan, Owen Rambow, Dipti Misra Sharma, Fei Xia. Sintaks Hindi: Anotasi ketergantungan, struktur argumen predikat leksikal, dan struktur frasa. Dalam Prosiding Konferensi Internasional ke-7 tentang Pemrosesan Bahasa Alami, ICON-2009, Hyderabad, India, 14-17 Desember 2009.