لدي ملفات نصية بلغات متعددة. كيف تحذف لغة واحدة بشكل انتقائي في NLTK؟

StackOverflow https://stackoverflow.com/questions/3570939

  •  01-10-2019
  •  | 
  •  

سؤال

ربما يكون هذا مستحيلًا ويجب أن أتخلى عن كل الأمل. أو ربما هناك طريقة ذكية حقًا للقيام بذلك لم أفكر فيها.

إليك مثالان على ما لدي:

ياكبوَ-ياكيبَس (يابيسا ، يايباسو) [ybs] [ليب-سوس] (لتصبح جافة ، صلبة ، جامدة) 20:77 ياباسان = جاف. يكوّسرّر-يُصمم (ياسارا ، يوياسيرو) [ysr] [يسهل] (لتسهيل ، اجعله سهلاً) 92: 7 nuyassiruhuu = سنخففه.

و

زو هولف! زو هولف! مساعدة! مساعدة!
Sonst bin ich Verloren! وإلا فقد فقدت! زو هولف! زو هولف! مساعدة! مساعدة! Sonst bin ich Verloren! وإلا فقد فقدت! Der Listigen Schlange Zum Opfer Erkoren ، تم اختياره كتقديم للثعبان الماكرة ، Barmherzigege Götter! آلهة رحيمة! Schon Nahet Sie Sich ، بالفعل يقترب ، Schon Nahet Sie Sich ، بالفعل يقترب ،

... سيكون من المزعج حقًا أن تمر وحذف لغة واحدة من أجل معالجة خطوط النص هذه.

إحدى الطرق التي كنت أفكر بها يمكن القيام بذلك في NLTK هي تقسيم النص إلى رموز ، ولديها طريقة ما لمعرفة مصدر كل رمز استنادًا إلى مجموعة صغيرة ، ثم اطلب من NLTK "إعادة" إعادة "الرموز الرموز الخاصة بي. هل هذا مجرد خيال وحشي؟

هل كانت مفيدة؟

المحلول

يمكنك استخدام nltk.naivebayesClassifier للقيام بالمهمة كما قلت أعلاه.

يجب أن يساعد الرابط التالي:http://nltk.googlecode.com/svn/trunk/doc/book/ch06.html

لديه مثال على استخدام nltk.naiveBayesClassifier لتحديد الجنس. يمكنك استخدام الشيء نفسه لتحديد اللغة.

المثال الأول الذي نقلته سيعمل بشكل جيد مع NLTK.NaiveBayesClassifier لأن مجموعة Unicode مختلفة تمامًا.

في المثال الثاني ، هناك احتمال أن تكون كلمات مثل الأسماء المناسبة تهدئة نفس الشيء في كلتا اللغتين التي قد تسبب بعض الخطأ في تحديد اللغة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top