• 0
E.Ali

يارب احد يتكرم ويساعدني في text classification

سؤال

السلام عليكم ورحمة الله

اسعد الله مساءكم بالخير والمسرات

في بادي ذي بدء انا طالب ماستر في بريطانيا ولا لي الا الله ثم انتم حيث انه لدي مشروع تخرج له دخل كبير في تنقيب البيانات وهو عباره بشكل عام يريد مني ان اطور خادم الايميل بحيث اذا نسيت ان ارفق المرفقات يقوم برنامج بتنبيهي وهو يستخدم text classification وايضا يفرز جميع الايميلات اللي تحتاج رد وانا واقسم بالله اني مادري وش المطلوب مني واخاف اضيع وقتي بشي يكون بعدين غير مطلوب وقمت بالبحث وحصلت موضوع عن تنقيب البيانات بس مادري وش احسن لغة برمجه استخدم او كيف ابدا بالضبط ..

ارجوكم ارجوكم ارجوكم لا تبخلوا علي والله لو تبون اي شي مستعد اساعدكم فيه بس لاتهملون موضوعي اخواني لان الوقت ضيق جدا وشكرا لكم واطال الله في اعماركم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

22 إجابة على هذا السؤال .

  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالضبط اخوي الكريم انه يبغى برنامج بس اللي اقصده ابغى اعرف مسار لعمل مشروعي لانه بالضبط هو يهتم بالtext classification algorithms فانا مااعرف اليه عمل الخوارزميات زي decision tree او Naive وابحاول افهمهم ولو فهمتهم كيف اطبقهم وكيف استعمل لغة البرمجه لعمل مشروعي صراحه انا تايه وراح ارفق لكم البروبوزال حق مشروعي بالكامل ويارب القى استجابه زي مالقيتها منك اخوي الكريم الله يعطيك الف الف عافيه

هذا هو مشروعي بالضبط :

Intelligent Email Assistant

Scope: You have probably come by this situation, when you send an email to somebody and you tell the person that you attach a file to this email as well, but you actually forget to add the attachment. Then the other person would have to get back to you and point out that the attachment is missing and you would have to resend the email. It would be much nicer if your email client could spot such cases and alert you. Another scenario is when you come back to your email after some absence and find a large number of messages in your mailbox. Often, you would like to know which of those messages need a reply and which are just for information and so are less urgent.

Aim: The goal of this project is to develop a system that can predict whether a message needs an attachment or a reply.

Technical areas: The project can investigate using various heuristics as well as text classification algorithms. The final version could also be integrated into a popular email client as a plug-in.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

تولا اهلا بك وما هو تخصصك ؟

وبخصوص المشروع فلم يتم توضيح ما هو البريد الواجب التعامل معه ؟

اى هل هو بريد موجود ك hotmail , yahoo ......

ام يمكنك الاعتماد على بيانات مسجلة فى قاعدة بيانات كتجربة دون التطرق الفعلى للتعامل مع بريد حقيقى ؟

اما بخصوص اللغة فيفضل التعامل مع لغة ويب حتى يسهل ربطها بتطبيقات الويب المختلفة

ك ASP.Net و PHP و غيرهما

وبخصوص الجزء الاول الخاص بوجود مرفق ، فاتوقع ان يكون السيناريو كما يلى

يقوم الكود بتحليل البريد ليبحث عن اى نص يتحدث فيه عن "مرفق" ولو وجد هذا النص يعيد البحث ليبحث هل هناك ذكر لاى كلمة بالرسالة تشير بان الرسالة الحالية بها مرف ام لا ؟

وفى حالة وجود ذلك يقوم الكود بالتأكد هل تم الارفاق ام لا ، وفى حالة لا يقوم الكود بعرض رسالة تنبيه بان هناك مرفق غير موجود

هذه افكار بسيطة سريعة ، وارجو من الاخوة اصحاب الخبرة فى المشاركة بافكار اكثر تفصيلا.

ولا تهمل البحث فى النت لانى اعتقد ان هناك مشاريع مشابه لهذا المشروع يمكن ان تفيدك

وفقك الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الف شكر اخوي الفاروق ولي عوده لتوضيح الامر بشكل احسن ان شاء الله بعد انتهاء بعض الظروف

الف شكر والله اني محتاجكم بعد الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

ربما انت محظوظ لأنني سجلت في المتدى قبل ساعات ولدي مشروع قريب من مشروعك.

لاحظ ما ساقوله لك سيوصلك لبر الأمان وستتمكن من نشر عملك في مؤتمرات.

1- هل استخدمت mozilla thunderbird في إرسال البريد؟ لاحظ انه يقوم بنفس العمل. آل هي بالتحديد بواسطة bag of words. يعني heuristics مثل: اذا وردت أحدى الكلمات التالية ولا توجد مرفقات، اذا نبه المستخدم تباعا.

كل ماعليك هو تطوير تلك الآلية، وثم تقارنها بماهو موجود في thunderbird وتثبت ان مافعلته أفضل.

هذه بعض الأفكار:

- ممكن تنشئ bag of words أفضل. وذلك بواسطة معاينة الكلمات في عينة بريد إلكتروني تحتوي على مرفقات وآخرى لاتحتوي على مرفقات وثم تبحث عن الكلمات التي كلما ظهرت تكون ذات دلالة. يعني ممكن بمعاينة العديد من الرساءل تكتشف ان كلمة copy و file و attached و document كلما ظهروا في رسالة تكون أيضا مرتبطة بمرفق. طبعا عملية المعاينة واستخراج قاءمة الكلمات تقوم بها بشكل إلي.

طبعا هذه الفكرة مثل thunderbird لكن الفرق انك تقوم بإنشاء bag of words أشمل وبالتالي عندما تأتي لتقارن سيكون هناك احتمال كبير ان برنامجك سيكون دقيق أكثر من thunderbird

وهناك مجال آخر للتطوير.. بذل ماتستخدم مجموعة كلمات كل كلمة على حدة، ممكن تستخدم طرق للربط بين الكلمات.. يعني اذا ظهرت كلمة attached وبجوارها كلمة not اذا لا تنبه المستخدم، وإذا لا يوجد not اذا تقوم بتنبيه المستخدم.

كيف تقوم بربط الكلمات؟ ممكن بطريقة يدوية... وممكن أيضا بواسطة decision tree مثل RF أو C5.0

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الكريم password 123 اشكر لك تجاوبك شكرا جزيلا والله يوفقك لما تحب وترضى اخوي الكريم والله انني حتى الان لم استوعب كيف عمل مشروعي

هل لك ان تتكرم بان اتواصل معك لازالة الشوائب في مخيلتي ومعرفة الطريق الصحيح لعمل مشروعي؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اخي الكريم باسوورد انا لا اعلم واقولها بكل خجل ماذا اريد حيث انني لااعلم ماهو المطلوب مني اعداده وان احاول ان اتعلمه الصراحه ابي النقاط على الحروف بمعنى ماذا احتاج بالضبط لعمل هذا المشروع

على سبيل المثال : هل احتاج خادم بريد الكتروني او استعمل اي خادم ومن ناحية اخرى كيف ساطبق العمل على البريد وحتى اكون اكثر صراحه كيف اعمل التصنيف

انا مادخلت هنا الا كلي ثقه بالله سبحانه وتعالى ثم فيكم بان تدلوني على الطريق الصحيح

ارجوكم ساعدوني الوقت ضيق وانا في حاله لاداعي لوصفها

اشكر لكم ردودكم الكريمه واتمنى ان لاتبخلوا علي ولا ااكون ازعجتكم

شكرا لكم ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخوي

انا يمكن اقل واحد بالشباب هنا اعرف بالclassifiers ..مع هذا راح اغثك بسوالفي شوي:

لعتقد انه يمكنك تعمل اللي تبيه ب Naive Bayes classifier

المطلوب منك عمل برنامج program او بالاصح classifier اللي هو برنامج يصنف المدخلات على انها تحتاج مرفقات attachments او لا

هذا البرنامج يستخدم القورثيمز لتعلم الاله supervised Machine learning algorithms

اعتقد العملية تحتاج منك ورقه وقلم تكتب بالضبط وش اللي تبي تسويه ..بعض الاسئله المهمه :

1- عرف المشكله ( مثلاً في حالة الNaive Bayes اريد ان اعرف ماهي احتمالية ان تكون الرساله تحتاج الى attachments )

2- كيف اتعامل مع النص في الرساله؟ algorithm supervised learning

3- حدد الClasses او المتغيرات اللي تحتاج الاجابه لها(في حالتك Attachment قد تكون variable decision في الNaive Bayes )

4- كيف استخدم training dataset لعمل برنامجي .

شغلك اعتقد انه قريب من شغل ال spam classifier

شوف الرابط هذا http://en.wikipedia.org/wiki/Bayesian_spam_filtering

فيه غير الNaive Bayes طرق اخرى اسمع فيها ولا عمري جربتها Support Vector Machine , Neural network classifiers

بعض الامور اللي قد تخدمك :

classification problems وش تعريفها وش الهدف منها ؟

text classification or categorization كيف تعمل ماهي الطرق المختلفه لعملها ؟ ..

وبالاخير اعتقد ان شغلك قريب جداً من مثال مشهور جداً في عالم ال classification وهو spam classification

ففي الspam classification الرساله تعتبر على انها spam or legitimate لكن في حالتك الرساله تعتبر اما تحتاج الى attachment او لا تحتاج ..

ابحث عن مثال بسيط وواضح للspam وان شاء الله تزين امورك..

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الف شكر على ردك اخوي عيسى وراح ابحث ان شاء الله ويارب يطلع معي نتيجه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

على سبيل المثال : هل احتاج خادم بريد الكتروني او استعمل اي خادم ومن ناحية اخرى كيف ساطبق العمل على البريد وحتى اكون اكثر صراحه كيف اعمل التصنيف

ج: لاتحتاج خادم. كل ماتحتاجه عينة إيميلات. ممكن تستخدم رسائلك الشخصية. أحفظها وثم عاينها.

بالنسبة لاستخدام naïve bayes. حق ال text classification عبارة عن حق تجريبي. يجب ان تجرب عدة خوارزميات وبعدها تقرر أيهم تختار.

المشكلة مع naïve bayes ان ال false positives قد تكون عالية. يعني ممكن يقول لك ان رسالة معينة يجب ان تحتوي على مرفقات فقط لأن فيها اسم "احمد". وذلك لأن في مرحلة التدريب حصل ان كلمة احمد وردت في رساءل ذات مرفقات مسبقا.

انصحك تستخدم c4.5 وتدربه على bag of words. والذي سينتج من إنشاء decision tree مثالية حسب خوارزمية c4.5 -- هكذا تتجنب مشكلة كلمة "احمد" في المثال بالإعلى.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الف الف شكر اخوي باسوورد على تجاوبك وتحملك لاسئلتي

لكن اخوي الكريم هل من الممكن تزودني ببعض المواقع او tutorail اللي تعلمني كيف استخدم c4.5 واكيف ادربه على bag of words لاني والله جديد على الشغله هذي زي مايقولون عليمي

والف شكر مرة اخرى على مساعدتك انت والاخوان وتحملك لي

سؤال اخير اخوي باسوورد: هل تشعر ان مشروعي صعب لاني صراحه احس اني ماراح اكمل دراستي بسببه؟ فارجوك طمني اخوي الكريم

تم تعديل بواسطه E.Ali
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بالنسبة لي سهل جدا لكن كل شخص مختلف وضعه

ماذا تدرس؟ وهل هذا مشروع تخرج أم مشروع دراسة؟

وما رأي الدكاترة معك؟

كل ماعليك حتى تطبق تصنيف بواسطة c4.5:

* مجموعة إيميلات، كل إيميل مخزن في ملف على حدة في ملف منفصل فقط من باب التبسيط ليش إلا.

* تكتب أسكربت بسيط أو برنامج بلغتك المفضلة الذي سيقرا الرسائل واحدة تلو الإخرى

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

* في كل سطر ستكون فيه عدة قيم ومن باب التبسيط نفصلهم بالفاصلة. يعني مثلا: أول قيمة تكون باينري (0 أو 1) فيما اذا كانت الرسالة تحتوي على كلمة "مرفق"، والقيمة الآخرى مثلا عدد متتالي من 0 إلى مالا نهاية يرمز لعدد المرات التي وردن فيها كلمة مرفق، والقيمة الثالثة تكون المسافة بين كلمة "مرفق" و "ليش" حيث ان المسافة تكون على حسب تجربتك (مثلا ربما تقرر حسب بعد الكلمات)

* ثم تضع هيدر بسيط للملف تصف فيه كل حقل حسب صيغة ARFF

* ثم تستخدم برنامج WEKA حيث انه يحتوي على C4.5 وسيقوم بالتدريب وثم التقييم ويخبرك بالدقة.

* ثم قارن الدقة ببرنامج مثل thunderbird

وحتى تزيد الكفاءة ممكن تضيف خواص وقيم جديدة، أو تحذف خواص أو قيم غير مفيدة.. يعني ربما تكتشف ان وروود كلمة "كلا" ليش له علاقة عملية بالموضوع بل وان حدفه من عملية التصنيف قد تزيد الدقة في التصنيف

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الف شكر اخوي باسوورد والله يجعل ماكتبت من موازين اعمالك ويوفقك يارب

انا ادرس ماجستير في بريطانيا وهذا مشروع تخرجي للاسف وايضا هو مفروض علي وليس باختياري لذلك اعاني من صعوبه شديده لفهم المتطلبات وللغة البرمجه المطلوبه

اعترف لك اني ازعجتك واخواني اللي سبقوك بالرد لكن الله يعين ويسهل يارب لاني وبلا مؤاخذه كلامك طلاسم بالنسبه لي وانا احتاج اي موقع تعليمي او اي مؤسسة تعليميه تقوم بالشرح لي لاستوعب واتمكن من هذا المشروع الشائك

لدي سؤال هو اذا اردت ان استخدم weka يحب ان يكون هناك dataset كيف اجيب الdataset لمشروعي هذا وماذا يجب ان تحتوي وباي صيغه تحفظ؟

معليش تحملني اخوي.

الف شكر مره اخرى ويارب مساعده اكثر

تم تعديل بواسطه E.Ali
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الطلاسم هذه هي فقط اسماء بسيطة مثل احمد وموزة وبتنجان :D

تاكد اذا انا فهمت الموضوع فالموضوع ليس صعبا لانني لست عبقريا

WEKA هو برنامج عبارة عن مجموعة ادوات للذكاء الاصطناعي فيه اشياء كثيرة بعضها لا اعلم عنها شيء.... لكن المهم ان فيه ايضا تطبيق لC4.5

C4.5 هو احد طرق الذكاء الاصطناعي في التصنيف لاي شيء.. في حالتك ستسخدمه لتصنيف الرسائل حتى تخمن فيما اذا كان مفروض يكون في مرفق او لا

ال dataset ليس نهاية العلم وكل مايعنيه انه مجموعة data او بيانات... البعض يكتبها data set يعني set of data يعني مجموعة بيانات....

انا شخصيا لا ادري لماذا يستخدمون كلمات تخوف لكن الموضوع حسب فهمي انه بسيط جدا...

المهم... الdataset في حالتك ستتكون من مجموعة ايميلات لا اكثر ولا اقل...... يعني تخزن ايميلاتك في ملفات.. email1.txt و email2.txt وهكذا

لكن كيف يفهم برنامج WEKA ال dataset هذه؟

هناك عدة طرق لعرض البيانات او ال data هذه.....

WEKA يستطيع التعامل مع عدة صيغ ملفات... لكن افضلهم هو اسمه ARFF ... نوع من انواع الملفات لا اكثر ولا اقل

كل ماعليك هو ان تحول ايميلاتك إلى صيغة ARFF وبعدها تلعب براحتك في WEKA

عندما ستقوم بالتحويل، ستضع ايضا تصنيف لكل ايميل، مثلا تقول ان email1.txt يحتوي على attachment بينما email2.txt لا يحتوي.. وهكذا

للعلم WEKA لديه واجهة رسومية سهلة كذلك... ادخل موقع WEKA ستجد tutorials وامثلة

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الكريم باسوورد اسف على الازعاج

بس ممكن تعطيني وش احتاج بالضبط لمشروعي من برمجيات وكل شي ضروري الله يخليك

مثلا داتا ست وبرنامج ويكا وماذا ايضا؟

شكرا على تجاوبك مره اخرى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

س: مثلا داتا ست وبرنامج ويكا وماذا ايضا؟

ج: تحتاج ايضا تبرمج اسكربتات لاستخلاص الfeatures من تلك الرسائل

وهذا ماقلته لك سابقا في ردودي.. الا انه واضح انك لا تنتبه جيدا

انت تتكلم كثيرا.. ركز في عملك وقم بالبحث الموضوع سهل لكن انت دلوع

الدلع احيانا مفيد لكن ليس هنا

المفروض تكون خلصت شوط كبير لو كنت بدأت العمل

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أتمنى ألا تفهم ردي على أنه هجوم عليك

الدلع احيانا مفيد لكن ليس هنا

لو دلع فالأمر هين لكن لو كان تكاسل فالمشكلة كبيرة.

أخى E.Ali

كم عدد البحوث التي قرأتها والتي تعنى بموضوع الـ Classification؟

هل جربت البحث عن مواضيع , أكواد ذات صلة؟ ليس بالضرورة عن email classification ..

لا أعلم لكن يبدو من تساؤلاتك أنك لم تقرأ بقدر كاف عن الموضوع لذا فأنت متخوف أو تخوف نفسك من الموضوع وصعوبته.

كل شئ تبدأ فيه يكون صعب في البداية لكن مع المزيد من الإطلاع ستجد أنك أخطأت بجعل فكرة الصعوبة والتعقيد للموضوع هي أول شئ أمامك ..

هل قرأت هذا

“Sorry, I Forgot the Attachment:” Email Attachment Prediction

هل جربت تقرأ عما قاله الأخ عيسى بخصوص الـ Spam mail

ستجد العديد من الأوراق البحثيه في هذ المجال وستجد العديد من المصادر المفتوحة الشفرة

http://www.jasen.org/overview.php

http://code.google.com/p/gnusmail

طبعاً الأخ password123 أفاد بالكثير في الموضوع..

بقي دورك الآن لتبدأ بالإطلاع وبعدها تعود للموضوع هنا لتضع تساؤلات بعد أن يكون لدي شئ تناقش فيه. النقاش بصفر معلومة عن الموضوع لا يعد نقاشاً.

إضافة:

بحثين عن نفس الموضوع

Intelligent email: reply and attachment prediction

Sentence level attachment prediction

تم تعديل بواسطه YaSeenTA
2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لكم جميعا ولي عوده للموضوع ان شاء الله

وبالنسبه اخي للمواضيع اللي حطيتها كلها قريتها قبل بس يتكلمون عن ماذا عملوا وليس عن كيف عملوا خصوصا اني بادي من الصفر ولست خبيرا به

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اقرأ كتاب an introduction to machine learning واذا مافهمت شيء اسال

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اقرأ كتاب an introduction to machine learning واذا مافهمت شيء اسال

اخي ما فهمنه من مشروعك كالتالي :

يجب عليك اولا ان تصنف الاميلات الى attached ,not

وذلك باستعمال كلمات دلالية تدلك هل الايميل attached or not

وعند ارسال للايميل تفحص الايميل

فاذا كان attached تصدر رسالة وتوقف الارسال initialisation

واذا كان not ترسل الرسالة عادي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .