Arabic Language نشر 27 يوليو 2020 أرسل تقرير نشر 27 يوليو 2020 مرحبا أعمل على بيانات لغوية باستعمال LSTM و عند تجربة الكود تظهر لي الدقة 99% أما المخرج فمخيب للآمال ولا أعرف ما السبب النظام عبارة عن إسناد نوع الكلمة للكلمة مثلا: ذهب V يعني فعل البيانات في عمودين الأول الكلمة والثاني نوع الكلمة وعندي 30 ألف كلمة تدريب واختبار فهل المشكلة في تنسيق البيانات! أم في القيم ! أم في عدد الكلمات! لأن الأكواد تعمل بشكل جيد فضلا هل لديكم توجيه معين حيال هذه المشكلة؟ اقتباس
1 مصطفى القباني نشر 27 يوليو 2020 أرسل تقرير نشر 27 يوليو 2020 هل يمكنك أن ترفق بعض البيانات المستخدمة للتدريب؟ أنا أعتقد أن المشكلة هي في شكل البيانات، لأن قوة LSTM تظهر عند إستخدامها على الsequences أو البيانات المتتابعة أو المتسلسلة، وإستخدامها لعمل تصنيف للكلمة بدون مدخلات متسلسلة سيحدث overfitting. اقتباس
1 مصطفى القباني نشر 27 يوليو 2020 أرسل تقرير نشر 27 يوليو 2020 تمام البيانات موجودة في شكل متسلسل وهذا صحيح، بالتالي تكون الدقة العالية التي حققها المودل هي دليل على حدوث الoverfitting. يمكنك معالجة هذا بتصغير حجم المودل فمثلا يمكنك تقليل حجم الembedding layer أو حجم الLSTM layer. يمكنك القراءة أكثر عن ظاهرة الoverfitting من هنا. اقتباس
1 مصطفى القباني نشر 28 يوليو 2020 أرسل تقرير نشر 28 يوليو 2020 يمكن إضافة كلمة تستخدم فقط عند ظهور كلمة لم يرها المودل من قبل، عادة تسمى هذه الكلمة UNK ويتم إستبدال أي كلمة لم يتدرب عليها المودل بها. اقتباس
0 مصطفى القباني نشر 27 يوليو 2020 أرسل تقرير نشر 27 يوليو 2020 يبدو أن الmodel لديك به مشكلة الoverfitting. أهم علامات الoverfitting هو أن يحقق المودل دقة عالية جداً على بيانات التدريب ولكنه يعطي نتائج سيئة على بيانات الإختبار. أنا أتوقع أن الدقة 99% هي على بيانات التدريب، فما هي الدقة على بيانات الإختبار؟ أيضاً هل تقوم بتطبيق الLSTM على مستوى الحرف أم على مستوى الكلمة؟ بسبب أن كل input لديك هو عبارة عن كلمة واحدة فقط، لن يكون إستخدام الLSTM على مستوى الكلمة مناسب، ومن الصحيح إستخدامها على مستوى الحرف. أيضاً أرى أن إضافة التشكيل على حروف الكلمة لابد منه إن أردت أعلى دقة ممكنة، لأنها من أهم الطرق التي يمكنك التمييز بين الاسماء والأفعال. بتاريخ 7 ساعات قال Arabic Language: أما المخرج فمخيب للآمال ولا أعرف ما السبب ما المقصود بالمخرج هنا؟ هل تقوم بعمل generation لكلمات؟ اقتباس
0 Arabic Language نشر 27 يوليو 2020 الكاتب أرسل تقرير نشر 27 يوليو 2020 شكرا لردك وسأبدأ من الأخير. المخرج المقصود به أني أقدم نصا لم يتدرب عليه النموذج وليس من عينة الاختبار ليقوم بتحديد نوع كل كلمة فيه فعل اسم حرف ..الخ ومليء بالأخطاء. البيانات واحدة وتقسيمها عشوائي وجربت أيضا فصلها يدويا ونفس المشكلة أقوم به على مستوى الكلمة وليس على مستوى الحرف from keras.models import Sequential from keras.layers import Dense, LSTM, InputLayer, Bidirectional, TimeDistributed, Embedding, Activation from keras.optimizers import Adam model = Sequential() model.add(InputLayer(input_shape=(MAX_LENGTH, ))) model.add(Embedding(len(word2index), 256)) model.add(Bidirectional(LSTM(128, return_sequences=True))) model.add(TimeDistributed(Dense(len(tag2index)))) model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer=Adam(0.001), metrics=['accuracy', ignore_class_accuracy(0)]) model.summary() بالنسبة للتشكيل أنا أريد بناء هذا النظام للنصوص غير المشكولة لأننا في الغالب نكتب بدونها. اقتباس
0 Arabic Language نشر 27 يوليو 2020 الكاتب أرسل تقرير نشر 27 يوليو 2020 (معدل) لما D توفى V والد A السعدى N عطفت V عليه RP زوجة N والده A هكذا في ملف txt ويفصل بين الكلفة ونوعها tab طبعا عندي أكواد أستعملها لفصل كل عمود عن الآخر فتصبح على هذه الصورة ['ف' 'قد' 'عاش' 'الى' 'سنة' '1388' 'ه' 'ست' 'و' 'تسعين' 'سنة'] ['RP' 'RP' 'V' 'RP' 'N' 'DIGIT' 'ABBREV' 'N' 'N' 'N' 'N'] بتاريخ 21 دقائق مضت قال مصطفى القباني: هل يمكنك أن ترفق بعض البيانات المستخدمة للتدريب؟ أنا أعتقد أن المشكلة هي في شكل البيانات، لأن قوة LSTM تظهر عند إستخدامها على الsequences أو البيانات المتتابعة أو المتسلسلة، وإستخدامها لعمل تصنيف للكلمة بدون مدخلات متسلسلة سيحدث overfitting. لما D توفى V والد A السعدى N عطفت V عليه RP زوجة N والده A هكذا في ملف txt ويفصل بين الكلفة ونوعها tab طبعا عندي أكواد أستعملها لفصل كل عمود عن الآخر فتصبح على هذه الصورة ['ف' 'قد' 'عاش' 'الى' 'سنة' '1388' 'ه' 'ست' 'و' 'تسعين' 'سنة'] ['RP' 'RP' 'V' 'RP' 'N' 'DIGIT' 'ABBREV' 'N' 'N' 'N' 'N'] تم التعديل في 27 يوليو 2020 بواسطة Arabic Language اقتباس
0 Arabic Language نشر 27 يوليو 2020 الكاتب أرسل تقرير نشر 27 يوليو 2020 يعطيك العافية شكرا لك الشكر الجزيل اقتباس
0 Arabic Language نشر 28 يوليو 2020 الكاتب أرسل تقرير نشر 28 يوليو 2020 بتاريخ 18 ساعات قال مصطفى القباني: تمام البيانات موجودة في شكل متسلسل وهذا صحيح، بالتالي تكون الدقة العالية التي حققها المودل هي دليل على حدوث الoverfitting. يمكنك معالجة هذا بتصغير حجم المودل فمثلا يمكنك تقليل حجم الembedding layer أو حجم الLSTM layer. يمكنك القراءة أكثر عن ظاهرة الoverfitting من هنا. أخي الكريم عفوا عندي مشكلة أخرى في البيانات وهو أني عند التنبؤ وإدخال نص خارجي لتحديد أنواع الكلمة فيه يقوم بتحديد كل الكلمات التي وردت في قاعدة البيانات التي تدرب عليها وإذا كان هناك كلمة لم يرها يعطيني keyError فكيف تحل هذه المشكلة؟ اقتباس
السؤال
Arabic Language
مرحبا
أعمل على بيانات لغوية باستعمال LSTM
و عند تجربة الكود تظهر لي الدقة 99%
أما المخرج فمخيب للآمال ولا أعرف ما السبب
النظام عبارة عن إسناد نوع الكلمة للكلمة مثلا: ذهب V يعني فعل
البيانات في عمودين الأول الكلمة والثاني نوع الكلمة
وعندي 30 ألف كلمة تدريب واختبار
فهل المشكلة في تنسيق البيانات! أم في القيم ! أم في عدد الكلمات!
لأن الأكواد تعمل بشكل جيد
فضلا هل لديكم توجيه معين حيال هذه المشكلة؟
8 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.