Repositori ini terdiri dari proyek yang dilakukan sebagai bagian dari kursus pemrosesan bahasa alami - Lanjutan, Musim Semi 2014. Kursus ini diinstruksikan oleh Dr. Dipti Misra Sharma, Dr. Ravi Jampani dan Mr. Akula Arjun Reddy
Laporan terperinci tersedia di sini
##Persyaratan
## Masalah dalam proyek ini, model berbasis frasa diimplementasikan. Model berbasis frasa adalah model sederhana untuk terjemahan mesin yang hanya didasarkan pada terjemahan leksikal, terjemahan frasa. Ini membutuhkan kamus yang memetakan frasa dari satu bahasa ke bahasa lain. Pertama -tama kita menemukan penyelarasan kata. Selanjutnya, menggunakan bi-text corpus kami melatih model dan menghitung probabilitas translasi. Seiring dengan probabilitas terjemahan kami menggunakan model bahasa untuk mencerminkan kelancaran dalam bahasa Inggris.
Folder sumber terdiri dari metode berikut:
### Fungsi Utama
Jalankan perintah berikut untuk membuat set acak x kalimat:
python preprocess.py Sourcecorpus targetCorpus numberOfsentencesFortraining
Ini akan menghasilkan empat file:
trainingsource.txt pelatihantarget.txt testingsource.txt testingTarget.txt
Trainingsource.txt, TrainingTarget.txt: berisi jumlah kalimat yang diberikan
Testingsource.txt, testingTarget.txt: berisi 5 kalimat uji yang kami gunakan nanti
Selanjutnya jalankan alat perataan kata, Giza ++ untuk mendapatkan keberpihakan.
Untuk menjalankan Giza ++, lakukan hal berikut:
./plain2snt.out trainingsource.txt pelatihantarget.txt
./Giza+ -s trainingsource.vcb -t trainingTarget.vcb -c trainingsource_trainingtarget.snt
Jika langkah sebelumnya memberikan kesalahan, maka lakukan:
./snt2cooc.out trainingsource.vcb pelatihanTarget.vcb trainingsource_trainingtarget.snt> cooc.cooc
./Giza+ -s trainingsource.vcb -t trainingtarget.vcb -c trainingsource_trainingtarget.snt -coocurrencefile cooc.cooc
Ini akan menghasilkan beberapa file. Kata keberpihakan hadir dalam file A3. Ulangi langkah ini dengan menukar pelatih trainingSource.txt dan pelatihanTarget.txt untuk mendapatkan ARTER AREGAN ARTER. Sumber Sourcealignment.txt dan TargetAlignment.txt menjadi dua file. Kemudian kami mendapatkan frasa sebagai berikut:
Python PhraseEexTraction.py Sourcealignment.txt targetalignment.txt
Frasa dihasilkan dalam frase file.txt. Selanjutnya kami menghitung probabilitas terjemahan.
Jalankan perintah berikut:
python findtranslationprobability.py frase.txt
Ini akan menghasilkan dua file:
TranslationProbabilitySourceGiventarget.txt
TranslationProbabilityTargetGivensource.txt
python languagemodelinput.py trainsource.txt trains.txt
python languagemodelinput.py traintarget.txt traint.txt
Buat file zip untuk ini yang sekarang dimasukkan untuk model bahasa. Dijalankan sebagai berikut:
./ngt -i = "Gunzip -C Trains.gz" -n = 3 -o = train.www -b = Ya
./tlm -tr = train.www -n = 3 -lm = wb -o = trains.lm
./ngt -i = "gunzip -c traint.gz" -n = 3 -o = train.www -b = ya
./tlm -tr = train.www -n = 3 -lm = wb -o = traint.lm
Setelah mendapatkan translationProbability dari matriks penyelarasan, ia menggabungkan probabilitas terjemahan dari model bahasa dan mengembalikan findtranslationProbability.
Jalankan perintah Follwowing untuk kedua arah:
python finalscore.py translationprobabilitytargetgivensource.txt trainsource.lm finaltranslationprobabilitytargetgivensource.txt
python finalscore.py translationprobabilitysourceGiventarget.txt traintarget.lm finalTranslationProbabilitySourceGiventarget.txt
Itu mengembalikan probabilitas terjemahan akhir file
python finalscore.py finalTranslationProbabilityTargetgivensource.txt testingTarget.txt
python finalscore.py finalTranslationProbabilitySourceGiventarget.txt testingsource.txt
Fungsi helper ###:
Analisis kesalahan ###
Metode errorAnalysis.py mengambil input dalam format yang sangat spesifik. Mengingat kalimat sumber, kalimat yang diterjemahkan dan terjemahan aktual yang dipisahkan oleh newline, ia mengembalikan ketepatan dan penarikan kembali untuk file input di evalution.txt