إياد أحمد نشر 13 ديسمبر 2021 أرسل تقرير نشر 13 ديسمبر 2021 إذا استخدمت nltk.word_tokenize لتقسيم النص والحصول على ال tokens، فسأحصل على قائمة بالكلمات وعلامات الترقيم أيضاً، لكنني أحتاج فقط الكلمات، لذا كيف يمكنني التخلص من علامات الترقيم؟ 1 اقتباس
0 Ali Haidar Ahmad نشر 13 ديسمبر 2021 أرسل تقرير نشر 13 ديسمبر 2021 (معدل) word_tokenize تقوم بتقسيم النص إلى كلمات بناءاً على مكوناته بغض النظر عن ماهيتها لذا سيعتبر علامات الترقيم على أنها tokens، لذا يمكنك استخدام الكلاسRegexpTokenizer بدلاً من word_tokenize التي نمرر لبانيه تعبيراً منتظماً يتحكم بما سيتم أخذه وبما سيتم تجاهله، كما في المثال التالي الذي سنقوم فيه باستخدام هذه الوحدة وسنمرر لها تعبيراً منتظماً يختار تسلسل الأحرف الأبجدية الرقمية alphanumeric كرموز ويتجاهل كل شيء آخر. from nltk.tokenize import RegexpTokenizer sentence = 'Web oficial de Lionel Messi, jugador del Futbol Club Barcelona y uno de los mejores jugadores del mundo.' tokenizer = RegexpTokenizer(r'\w+') tokens=tokenizer.tokenize(sentence) print(tokens) """ ['Web', 'oficial', 'de', 'Lionel', 'Messi', 'jugador', 'del', 'Futbol', 'Club', 'Barcelona', 'y', 'uno', 'de', 'los', 'mejores', 'jugadores', 'del', 'mundo'] """ أو يمكنك استخدام word_tokenize وبعد ذلك تصفية علامات الترقيم من الخرج، من خلال المرور على ال tokens ثم تقيتها من خلال الدالة isalnum التي تختبر السلسلة إذا كانت alphanumeric أو لا: import nltk sentence = 'Web oficial de Lionel Messi, jugador del Futbol Club Barcelona y uno de los mejores jugadores del mundo.' words = nltk.word_tokenize(sentence) new_words= [word for word in words if word.isalnum()] print(new_words) تم التعديل في 13 ديسمبر 2021 بواسطة Ali Haidar Ahmad اقتباس
السؤال
إياد أحمد
إذا استخدمت nltk.word_tokenize لتقسيم النص والحصول على ال tokens، فسأحصل على قائمة بالكلمات وعلامات الترقيم أيضاً، لكنني أحتاج فقط الكلمات، لذا كيف يمكنني التخلص من علامات الترقيم؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.