يتكون هذا المستودع من المشروع الذي تم كجزء من معالجة اللغة الطبيعية - Advanced ، Spring 2014. تم تعليمات الدورة الدكتورة Dipti Misra Sharma و Dr. Ravi Jampani والسيد Akula Reddy
تقرير مفصل متاح هنا
##متطلبات
## مشكلة في هذا المشروع ، يتم تنفيذ النموذج القائم على العبارة. النموذج القائم على العبارات هو نموذج بسيط للترجمة الآلية التي تعتمد فقط على الترجمة المعجمية ، وترجمة العبارات. هذا يتطلب قاموسًا يقوم بتعيين عبارات من لغة إلى أخرى. نجد أولاً محاذاة الكلمة. بعد ذلك ، باستخدام مجموعة النص الثنائي ، نقوم بتدريب النموذج وحساب احتمال الترجمة. جنبا إلى جنب مع احتمالات الترجمة نستخدم نموذج اللغة لتعكس الطلاقة في اللغة الإنجليزية.
يتكون المجلد المصدر من الطرق التالية:
### الوظائف الرئيسية
قم بتشغيل الأمر التالي لإنشاء مجموعة عشوائية من جمل X:
Python preprocess.py sourcecorpus targetcorpus numberOfSentencesfortraining
سوف يولد أربعة ملفات:
Termingource.txt TrainingTarget.txt testingsource.txt testingTarget.txt
Trainingsource.txt ، TrainingTarget.txt: يحتوي على عدد معين من الجمل
testingsource.txt ، testingTarget.txt: يحتوي على 5 جمل اختبار نستخدمها لاحقًا
قم بتشغيل أداة محاذاة Word ، Giza ++ للحصول على المحاذاة.
من أجل تشغيل Giza ++ القيام بما يلي:
./plain2snt.out termsource.txt TrainingTarget.txt
./giza++ -s terkingource.vcb -t TrainingTarget.vcb -c termingource_trainingtarget.snt
إذا كانت الخطوة السابقة تعطي خطأ ، فافعل:
./SNT2COOC.OUT TRAIDINGSORCE.VCB TrainpTarget.VCB Termsource_TrainingTarget.snt> cooc.cooc
./giza++ -s terkingource.vcb -t TrainingTarget.vcb -C Termingource_trainingTarget.snt -CoocurrenceFile COOC.COOC
هذا سوف يولد عدة ملفات. توجد محاذاة كلمة في ملف A3. كرر هذه الخطوة عن طريق تبديل teringingource.txt و trainingTarget.txt للحصول على محاذاة الاتجاه الأخرى. ثم نحصل على العبارات على النحو التالي:
Python phraseextraction.py sourcealignment.txt targetalignment.txt
يتم إنشاء العبارات في ملفات الملف. بعد ذلك نحسب احتمال الترجمة.
قم بتشغيل الأمر التالي:
Python FindTransLationProbability.py phrases.txt
سوف يولد ملفين:
ترجمة الترجمة
ترجمة الترجمة
Python languagemodelinput.py trains.txt trains.txt
Python languagemodelinput.py triantarget.txt trant.txt
قم بإنشاء ملف ZIP لهذا الغرض الذي يتم الآن إدخاله لنموذج اللغة. يتم تشغيله على النحو التالي:
.
./tlm -tr = train.www -n = 3 -lm = wb -o = trains.lm
.
./tlm -tr = train.www -n = 3 -lm = wb -o = trant.lm
بعد الحصول على قابلية الترجمة من مصفوفة المحاذاة ، يجمع بين احتمال الترجمة من نموذج اللغة ويعيد إمكانية FindTranslationProbbob.
قم بتشغيل الأمر المتقلبة لكلا الاتجاهين:
Python Finalscore.py TranslationPabilityTargetGivensource.txt Trainsource.LM FinalTransLationProbabilityTargetGivensource.txt
Python Finalscore.py TranslationSourceGiventArget.txt Trentarget.LM FinalTransLationProbabilitySourceGiventArget.txt
يقوم بإرجاع احتمالات الترجمة النهائية للملف
Python Finalscore.py FinalTransLationProbabilityTargetGivensource.txt testingTarget.txt
Python Finalscore.py النهائي
### وظيفة المساعد:
### تحليل الخطأ
طريقة erroranalysis.py يأخذ كمدخل بتنسيق محدد للغاية. بالنظر إلى الجملة المصدر ، الجملة المترجمة والترجمة الفعلية مفصولة بواسطة NewLine ، فإنها تُرجع الدقة والاستدعاء لملف الإدخال في evalution.txt