09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
تا به امروز نرم افزار های تجاری و آموزشی فراوانی برای داده کاوی در حوزه های مختلف داده ها به دنیای علم و فناوری عرضه شدهاند. هریک از آنها با توجه به نوع اصلی داده هایی که مورد کاوش قرار میدهند، روی الگوریتمهای خاصی متمرکز شدهاند. مقایسه دقیق و علمی این ابزارها باید از جنبه های متفاوت و متعددی مانند تنوع انواع و فرمت داده های ورودی، حجم ممکن برای پردازش داده ها، الگوریتمها پیاده سازی شده، روشهای ارزیابی نتایج، روشهای مصور سازی [1] ، روشهای پیش پردازش [2] داده ها، واسطهای کاربر پسند [3] ، پلت فرم [4] های سازگار برای اجرا، قیمت و در دسترس بودن نرم افزار صورت گیرد. از آن میان، نرم افزار Weka با داشتن امکانات بسیار گسترده، امکان مقایسه خروجی روشهای مختلف با هم، راهنمای خوب، واسط گرافیگی کارآ، سازگاری با سایر برنامههای ویندوزی، و از همه مهمتر وجود کتابی بسیار جامع و مرتبط با آن [ Data Mining, witten et Al. 2005 ] ، معرفی میشود.
میزکار [5] Weka ، مجموعهای از الگوریتمهای روز یادگیری ماشینی و ابزارهای پیش پردازش دادهها میباشد. این نرمافزار به گونهای طراحی شده است که میتوان به سرعت، روشهای موجود را به صورت انعطافپذیری روی مجموعههای جدید داده، آزمایش نمود. این نرمافزار، پشتیبانیهای ارزشمندی را برای کل فرآیند داده کاوی های تجربی فراهم میکند. این پشتیبانیها، آماده سازی دادههای ورودی، ارزیابی آماری چارچوبهای یادگیری و نمایش گرافیکی دادههای ورودی و نتایج یادگیری را در بر میگیرند. همچنین، هماهنگ با دامنه وسیع الگوریتمهای یادگیری، این نرمافزار شامل ابزارهای متنوع پیش پردازش دادههاست. این جعبه ابزار [6] متنوع و جامع، از طریق یک واسط متداول در دسترس است، به نحوی که کاربر میتواند روشهای متفاوت را در آن با یکدیگر مقایسه کند و روشهایی را که برای مسایل مدنظر مناسبتر هستند، تشخیص دهد.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
نرمافزار Weka در دانشگاه Waikato واقع در نیوزلند توسعه یافته است و اسم آن از عبارت "Waikato Environment for knowledge Analysis" استخراج گشته است. همچنین Weka ، نام پرندهای با طبیعت جستجوگر است که پرواز نمیکند و در نیوزلند، یافت میشود. این سیستم به زبان جاوا نوشته شده و بر اساس لیسانس عمومی و فراگیر [7] GNU انتشار یافته است. Weka تقریباً روی هر پلت فرمی اجرا میشود و نیز تحت سیستم عاملهای لینوکس، ویندوز، و مکینتاش، و حتی روی یک منشی دیجیتالی شخصی [8] ، آزمایش شده است.
این نرمافزار، یک واسط همگون برای بسیاری از الگوریتمهای یادگیری متفاوت، فراهم کرده است که از طریق آن روشهای پیش پردازش، پس از پردازش [9] و ارزیابی نتایج طرح های یادگیری روی همه مجموعه های داده موجود، قابل اعمال است.
نرم افزار Weka ، پیاده سازی الگوریتمهای مختلف یادگیری را فراهم میکند و به آسانی میتوان آنها را به مجموعه های داده خود اعمال کرد.
همچنین، این نرمافزار شامل مجموعه متنوعی از ابزارهای تبدیل مجموعههای دادهها، همانند الگوریتمهای گسسته سازی [10] میباشد. در این محیط میتوان یک مجموعه داده را پیش پردازش کرد، آن را به یک طرح یادگیری وارد نمود، و دستهبندی حاصله و کارآییاش را مورد تحلیل قرار داد. (همه این کارها، بدون نیاز به نوشتن هیچ قطعه برنامهای میسر است.)
این محیط، شامل روشهایی برای همه مسایل استاندارد داده کاوی مانند رگرسیون، ردهبندی، خوشهبندی، کاوش قواعد انجمنی و انتخاب ویژگی میباشد. با در نظر گرفتن اینکه، دادهها بخش مکمل کار هستند، بسیاری از ابزارهای پیش پردازش دادهها و مصورسازی آنها فراهم گشته است. همه الگوریتمها، ورودیهای خود را به صورت یک جدول رابطهای [11] به فرمت ARFF دریافت میکنند. این فرمت دادهها، میتواند از یک فایل خوانده شده یا به وسیله یک درخواست از پایگاه دادهای تولید گردد.
یکی از راههای به کارگیری Weka ، اعمال یک روش یادگیری به یک مجموعه داده و تحلیل خروجی آن برای شناخت چیزهای بیشتری راجع به آن اطلاعات میباشد. راه دیگر استفاده از مدل یادگیری شده برای تولید پیشبینیهایی در مورد نمونههای جدید است. سومین راه، اعمال یادگیرندههای مختلف و مقایسه کارآیی آنها به منظور انتخاب یکی از آنها برای تخمین میباشد. روشهای یادگیری Classifier نامیده میشوند و در واسط تعاملی [12] Weka ، میتوان هر یک از آنها را از منو [13] انتخاب نمود. بسیاری از classifier ها پارامترهای قابل تنظیم دارند که میتوان از طریق صفحه ویژگیها یا object editor به آنها دسترسی داشت. یک واحد ارزیابی مشترک، برای اندازهگیری کارآیی همه classifier به کار میرود.
پیاده سازیهای چارچوبهای یادگیری واقعی، منابع بسیار ارزشمندی هستند که Weka فراهم میکند. ابزارهایی که برای پیش پردازش دادهها استفاده میشوند. filter نامیده میشوند. همانند classifier ها، میتوان filter ها را از منوی مربوطه انتخاب کرده و آنها را با نیازمندیهای خود، سازگار نمود. در ادامه، به روش به کارگیری فیلترها اشاره میشود.
علاوه بر موارد فوق، Weka شامل پیاده سازی الگوریتمهایی برای یادگیری قواعد انجمنی، خوشهبندی دادهها در جایی که هیچ دستهای تعریف نشده است، و انتخاب ویژگیهای مرتبط [14] در دادهها میشود.
2- روش استفاده از Weka
شکل 1، راههای انتخاب واسطهای مختلف Weka را نشان میدهد.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
آسانترین راه استفاده از Weka ، از طریق واسطی گرافیکی است که Explorer خوانده میشود. این واسط گرافیکی، به وسیله انتخاب منوها و پر کردن فرمهای مربوطه، دسترسی به همه امکانات را فراهم کرده است. برای مثال، میتوان به سرعت یک مجموعه داده را از یک فایل ARFF خواند و درخت تصمیمگیری آن را تولید نمود. امادرختهای تصمیمگیری یادگیرنده صرفاً ابتدای کار هستند. الگوریتمهای بسیار دیگری برای جستجو وجود دارند. واسط Explorer کمک میکند تا الگوریتمهای دیگر نیز آزمایش شوند.
AWT IMAGE
شکل 1. Weka در وضعیت انتخاب واسط
این واسط با در اختیار گذاشتن گزینهها به صورت منو، با وادار کردن کاربر به اجرای کارها با ترتیب صحیح، به وسیله خاکستری نمودن گزینهها تا زمان صحیح به کارگیری آنها، و با در اختیار گذاشتن گزینههایی به صورت فرمهای پرشدنی، کاربر را هدایت میکند. راهنمای ابزار مفیدی، حین عبور ماوس از روی گزینهها، ظاهر شده و اعمال لازم مربوطه را شرح میدهد. پیشفرضهای معقول قرار داده شده، کاربر را قادر میسازند تا با کمترین تلاشی، به نتیجه برسد. اما کاربر باید برای درک معنی نتایج حاصله، راجع به کارهایی که انجام میدهد، بیندیشد.
Weka دو واسط گرافیکی دیگر نیز دارد. واسط knowledge flow به کاربر امکان میدهد تا چنیشهایی برای پردازش دادههای در جریان، طراحی کند. یک عیب پایهای Explorer . نگهداری هر چیزی در حافظه اصلی آن است. (زمانی که یک مجموعه داده را باز میکنیم، Explorer ، کل آن را، در حافظ باز میکند) نشان میدهد که Explorer ، صرفاً برای مسایل با اندازههای کوچک تا متوسط، قابل اعمال است. با وجود بر این Weka شامل تعدادی الگوریتمهای افزایشی است که میتواند برای پردازش مجموعه های داده بسیار بزرگ مورد استفاده قرار گیرد. واسط knowledge flow امکان میدهد تا جعبه [15] های نمایانگر الگوریتمهای یادگیری و منابع دادهها را به درون صفحه بکشیم و با اتصال آنها به یکدیگر، ترکیب و چینش دلخواه خود را بسازیم. این واسط اجازه میدهد تا جریان دادهای از مؤلفههای به هم متصل که بیانگر منابع داده، ابزارهای پیش پردازش، روشهای ارزیابی و واحدهای مصوّر سازی هستند تعریف شود. اگر فیلترها و الگوریتمهای یادگیری، قابلیت یادگیری افزایشی را داشته باشند، دادهها به صورت افزایشی بار شده و پردازش خواهند شد.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
سومین واسط Weka ، که Experimenter خوانده میشود، کمک میکند تا به این سؤال عملی و پایهای کاربر حین استفاده از تکنیکهای ردهبندی و رگرسیون، پاسخ دهد: "چه روشها و پارامترهایی برای مسأله داده شده، بهتر عمل میکنند؟"
عموماً راهی برای پاسخگویی مقدماتی به این سؤال وجود ندارد و یکی از دلایل توسعه Weka ، فراهم نمودن محیطی است که کاربران Weka را قادر به مقایسه تکنیکهای گوناگون یادگیری بنماید. این کار، میتواند به صورت تعاملی در Explorer انجام شود. با این وجود، Experimenter با ساده کردن اجرای ردهبندی کنندهها و فیلترها با پارامترهای گوناگون روی تعدادی از مجموعههای داده، جمعآوری آمار کارآیی و انجام آزمایشهای معنا، پردازش را خودکار میکند. کاربرهای پیشرفته، میتوانند از Experimenter برای توزیع بار محاسباتی بین چندین ماشین، استفاده کنند. در این روش، میتوان آزمایشهای آماری بزرگی را راهاندازی نموده و آنها را برای اجرا، رها نمود.
ورای این واسطهای تعاملی، عملکرد پایهای Weka قرار دارد. توابع پایهای Weka ، از طریق خط فرمان [16] های متنی قابل دسترسی هستند. زمانی که Weka ، فعال میشود، امکان انتخاب بین چهار واسط کاربری وجود دارد: Explorer ، knowledge ، Experimenter و واسط خط فرمان.
اکثر کاربران، حداقل در ابتدای کار Explorer را به عنوان واسط کاربری انتخاب میکنند.
3. قابلیتهای Weka
مستندسازی در لحظه، که به صورت خودکار از کد اصلی تولید میشود و دقیقاً ساختار آن را بیان میکند، قابلیت مهمی است که حین استفاده از Weka وجوددارد.
نحوه استفاده از این مستندات و چگونگی تعیین پایههای ساختمانی اصلی Weka ، مشخص کردن بخشهایی که از روشهای یادگیری با سرپرست استفاده میکند، ابزاری برای پیش پردازش دادهها بکار میرود و اینکه چه روشهایی برای سایر برنامههای یادگیری وجود دارد، در ادامه تشریح خواهد شد. تنها به لیست کاملی از الگوریتمهای موجود اکتفا میشود زیرا Weka به طور پیوسته تکمیل میشود و به طور خودکار از کد اصلی تولید میشود. مستندات در لحظه همیشه به هنگام شده میباشد. اگر ادامه دادن به مراحل بعدی و دسترسی به کتابخانه از برنامه جاوا شخصی یا نوشتن و آزمایش کردن برنامههای یادگیری شخصی مورد نیاز باشد، این ویژگی بسیار حیاتی خواهد بود.
در اغلب برنامههای کاربردی داده کاوی، جزء یادگیری ماشینی، بخش کوچکی از سیستم نرمافزاری نسبتاً بزرگی را شامل میشود. در صورتی که نوشتن برنامه کاربردی داده کاوی مد نظر باشد، میتوان با برنامهنویسی اندکی به برنامههای Weka از داخل کد شخصی دسترسی داشت. اگر پیدا کردن مهارت در الگوریتمهای یادگیری ماشینی مدنظر باشد، اجرای الگوریتمهای شخصی بدون درگیر جزییات دست و پا گیر شدن مثل خواندن اطلاعات از یک فایل، اجرای الگوریتمهای فیلترینگ یا تهیه کد برای ارزیابی نتایج یکی از خواستهها میباشد. Weka دارای همه این مزیتها است. برای استفاده کامل از این ویژگی، باید با ساختارهای پایهای دادهها آشنا شد.
4. دریافت Weka
نرم افزار Weka ، در آدرس http://www.cs.waikato.ac.nz/me/weka ، در دسترس است. از این طریق میتوان نصب کننده [17] متناسب با یک پلت فرم معین، یا یک فایل Java jar را که در صورت نصب بودن جاوا به راحتی قابل اجرا است، دانلود [18] نمود.
5. مروری بر Explorer
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
واسط گرافیکی اصلی برای کاربران، Explorer است که امکان دسترسی به همه امکانات Weka را از طریق انتخاب منوها و پر کردن فرمها فراهم میآورد. شکل 2، نمای Explorer را نشان میدهد. در این واسط، شش پانل [19] مختلف وجود دارد که از طریق نوار [20] بالای صفحه قابل انتخاب هستند و با وظایف [21] داده کاوی پشتیبانی شده توسط Weka متناظر میباشند.
AWT IMAGE
شکل 2. واسط گرافیکی Explorer
دو گزینه از شش گزینه بالای پنجره Explorer در شکل های 3 و 4 به طور خلاصه تشریح شده است.
به طور خلاصه، کارکرد تمام گزینهها به شرح ذیل است.
Preprocess : انتخاب مجموعه داده و اصلاح [22] آن از راههای گوناگون
Classify : آموزش [23] برنامههای یادگیری که ردهبندی یا رگرسیون انجام میدهند و ارزیابی آنها.
Cluster : یادگیری خوشهها برای مجموعه های داده
Associate : یادگیری قواعد انجمنی برای دادهها و ارزیابی آنها
Select attributes : انتخاب مرتبطترین جنبه [24] ها در مجموعه های داده
Visualize : مشاهده نمودارهای مختلف دوبعدی دادهها و تعامل با آنها
AWT IMAGE
شکل 3. خواندن فایل داده های آب و هوا
Weka Exphorer امکان رده بندی دارد، چنانچه به کاربران اجازه میدهد به صورت تعاملی اقدام به ساخت درخت تصمیمگیری کنند. Weka نمودار پراکندگی دادهها را نسبت به دو ویژگی انتخاب شده، فراهم میآورد. وقتی زوج ویژگیای که ردهها را به خوبی جدا میکند، پیدا شد، امکان ایجاد دو شاخه با کشیدن چند ضلعی اطراف نقاط دادهها بر نمودار پراکندگی وجود دارد.
AWT IMAGE
شکل 4. نوار Classify
هر نوار، دسترسی به دامنه کاملی از امکانات را فراهم میکند. در پایین هر پانل، جعبه status و دکمه log قرار دارد. جعبه status پیغامهایی است که نشان میدهد چه عملیاتی در حال انجام داده شدن است. مثلاً اگر Explores مشغول خواندن یک فایل باشد، جعبه status آن را گزارش میدهد. کلیک راست در هر جا داخل این جعبه یک منو کوچک با دو گزینه میآورد، نمایش میزان حافظه در دسترس Weka و اجرای Java garbage collector ..
لازم است توجه شود که garbage collector به طور ثابت به عنوان یک عمل پیش زمینه [25] در هر حال اجرا میشود کلیک دکمه log ، گزارش عملکرد متنی کارهایی که Weka تاکنون در این بخش انجام داده است با برچسب زمانی ارایه میکند.
زمانیکه Weka در حال عملیات است، پرنده کوچکی که در پایین سمت راست پنجره است، بالا و پایین میپرد. عدد پشت × نشان میدهد که به طور همزمان چند عملیات در حال انجام است. اگر پرنده بایستد در حالیکه حرکت نمیکند، او مریض است! اشتباه رخ داده است و باید Explorer از نو اجرا شود.
1. خواندن و فیلتر کردن فایلها
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
در بالای پانل Preprocess در شکل 3، دکمههایی برای باز کردن فایل، URL ها و پایگاه های داده وجود دارد. در ابتدا تنها فایلهای با پسوند arff . در browser فایل نمایش داده میشود. برای دیدن سایر فایلها یاید گزینه [26] Format در جعبه انتخاب فایل تغییر داده شود.
2. تبدیل فایلها به فرمت ARFF
نرم افزار Weka دارای سه مبدل فرمت فایل [27] میباشد، برای فایلهای صفحه گسترده [28] با پسوند CSV ، با فرمت فایل C4.5 با پسوند names . و data و برای نمونههای سری با پسوند bsi .
اگر Weka قادر به خواندن دادهها نباشد، سعی میکند آن را به صورت ARFF تفسیر کند. اگر نتواند جعبه نشان داده شده در شکل 5 (الف) ظاهر میشود.
AWT IMAGE
(الف)
AWT IMAGE
(ب)
AWT IMAGE
(ج)
شکل 5. ویرایشگر عمومی اشیاء (الف) ویرایشگر (ب) اطلاعات بیشتر (فشردن دگمه More ) (ج) انتخاب یک مبدل
این، یک ویرایشگر عمومی [29] اشیاء است که در Weka برای انتخاب و تنظیم اشیا بکار میرود. به عنوان مثال وقتی پارامتری برای Classifier تنظیم میشود، جعبهای با نوع مشابه بکار برده میشود. CSV Loader برای فایلهای با پسوند CSV . به طور پیش فرض انتخاب میشود. دکمه More اطلاعات بیشتری در مورد آن میدهد که در شکل 5 (ب) نشان داده شده است.
همیشه مطالعه مستندات [30] ارزشمنداست! در این حالت نشان میدهد که ردیف نخست صفحه گسترده، نام ویژگی را تعیین میکند. برای استفاده از این مبدل باید بر Ok کلیک شود. برای مورد مختلف لازم است بر choose کلیک شود تا از لیست شکل 5 (ج) انتخاب انجام شود.
گزینه اول، Arffloader است و فقط به دلیل ناموفق بودن به این نقطه میرسیم. CSVLoader پیش فرض است و در صورت نیاز به فرض دیگر، choose کلیک میشود. سومین گزینه، مربوط به فرمت C4.5 است که دو فایل برای مجموعه داده وجود دارد یکی اسمها و دیگـری دادههای واقعـی میباشد. چهارمین برای نمونههای سریالی [31] ، برای بازخوانی [32] مجموعه دادهای است که به صورت شیئ سریالی شده جاوا ذخیره شده است. هر شیء در جاوا میتواند در این شکل ذخیره و بازخوانی شود. به عنوان یک فرمت بومی جاوا [33] ، سریعتر از فایل ARFF خوانده میشود چرا که فایل ARFF باید تجزیه [34] و کنترل شود. وقتی یک مجموعه داده بزرگ مکررا بازخوانی میشود، ذخیره آن در این شکل سودمند است.
ویژگیهای دیگر ویرایشگر عمومی اشیا در شکل 5 (الف)، save و open است که به ترتیب برای ذخیره اشیای تنظیم شده و بازکردن شیئی که پیش از این ذخیره شده است، به کار میرود. اینها برای این نوع خاص شیئ مفید نیستند. لکن پانلهای دیگر ویرایشگر عمومی اشیاء، خواص قابل ویرایش زیادی دارند. به دلیل مشکلاتی که ممکن است حین تنظیم مجدد آنها رخ دهد، میتوان ترکیب اشیاء ایجاد شده را برای استفادههای بعدی، ذخیره کرد.
تنها منبع [35] مجموعههای داده برای Weka ، فایلهای موجود روی کامپیوتر نیستند. میتوان یک URL را باز کرد تا Weka از پروتکل HTTP برای دانلود کردن یک فایل Arff از شبکه استفاده کند. همچنین میتوان یک پایگاه دادهها را باز نمود ( open DB ـ هر پایگاه دادهای که درایور اتصال به مجموعه های داده به زبان جاوا JDBC را دارد.) و به وسیله دستور select زبان SQL ، نمونهها را بازیابی نمود. دادهها میتوانند به کمک دگمه save به همه فرمتهای ذکر شده، ذخیره شوند. جدای از بحث بارگذاری و ذخیره مجموعههای داده، پانل preprocess به کاربر اجازه فیلتر کردن دادهها را میدهد. فیلترها، اجزای مهم Weka هستند.
3. بکارگیری فیلترها
با کلیک دگمه choose (گوشه بالا و سمت چپ) در شکل 3 میتوان به لیستی از فیلترها دست یافت. میتوان از فیلترها برای حذف ویژگیهای مورد نظری از یک مجموعه داده و انتخاب دستی ویژگیها استفاده نمود. مشابه این نتیجه را میتوان به کمک انتخاب ویژگیهای مورد نظر با تیک زدن آنها و فشار دادن کلیه Remove به دست آورد.
4. الگوریتمهای یادگیری
زمانی که یک الگوریتم یادگیری با استفاده از دگمه choose در پانل classify انتخاب میشود، نسخه خط فرمانی رده بند در سطری نزدیک به دگمه ظاهر میگردد. این خط فرمان شامل پارامترهای الگوریتم است که با خط تیره مشخص میشوند. برای تغییر آنها میتوان روی آن خط کلیک نمود تا ویرایشگر مناسب شیء، باز شود. جدول شکل 6، لیست اسامی رده بندهای Weka را نمایش میدهد. این الگوریتمها به رده بندهای Bayesian ، trees ، functions rules ، lazy و دسته نهایی شامل روشهای متفرقه تقسیم شدهاند.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
4-1. Trees
Decision stump که برای استفاده توسط روشهای boosting طراحی شده است، برای مجموعههای داده عددی یا ردهای، درخت تصمیمگیری یک سطحی میسازد. این الگوریتم، با مقادیر از دست رفته، به صورت مقادیر مجزا برخورد کرده و شاخه سومی از درخت توسعه میدهد.
4-2. Rules
Decision Table یک رده بند بر اساس اکثریت جدول تصمیمگیری میسازد. این الگوریتم، با استفاده از جستجوی اولین بهترین، زیر دستههای ویژگیها را ارزیابی میکند و میتواند از اعتبارسنجی تقاطعی برای ارزیابی بهره ببرد (1995، Kohavi ).
یک امکان این است که به جای استفاده از اکثریت جدول تصمیمگیری که بر اساس دسته ویژگیهای مشابه عمل میکند، از روش نزدیکترین همسایه برای تعیین رده هر یک از نمونهها که توسط مدخل [36] جدول تصمیمگیری پوشش داده نشدهاند، استفاده شود.
Conjunctive Rule قاعدهای را یاد میگیرد که مقادیر ردههای عددی را ردهای را پیشبینی میکند. نمونههای آزمایشی به مقادیر پیش فرض رده نمونههای آموزشی، منسوب میشوند. سپس تقویت اطلاعات (برای ردههای رسمی)، یا کاهش واریانس (برای ردههای عددی) مربوط به هر والد محاسبه شده و به روش هرس کردن با خطای کاهش یافته [37] ، قواعد هرس میشوند.
ZeroR برای ردههای اسمی، اکثریت دادههای مورد آزمایش و برای ردههای عددی، میانگین آنها را پیشبینی میکند. این الگوریتم بسیار ساده است.
M5Rules ، به کمک M5 از روی درختهای مدل، قواعد رگرسیون استخراج میکند.
AWT IMAGE
شکل 6.الف. الگوریتمهای رده بندی در Weka
AWT IMAGE
شکل 6.ب. الگوریتمهای رده بندی در Weka
در این بخش به شرح مختصری برخی از این الگوریتمها و پارامترهایشان که قابلیت کار با ویژگی های عددی را دارند، پرداخته میشود.
4-3. Functions
Simple Linear Regresion مدل رگرسیون خطی یک ویژگی مشخص را یاد میگیرد. آنگاه مدل با کمترین خطای مربعات را انتخاب میکند. در این الگوریتم، مقادیر از دست رفته و مقادیر غیرعددی مجاز نیستند [38] .
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
Linear Regression رگرسیون خطی استاندارد کمترین خطای مربعات را انجام میدهد میتواند به طور اختیاری به انتخاب ویژگی بپردازد، این کار میتواند به صورت حریصانه [39] با حذف عقب رونده [40] انجام شود، یا با ساختن یک مدل کامل از همه ویژگیها و حذف یکی یکی جملهها با ترتیب نزولی ضرایب استاندارد شده آنها، تا رسیدن به شرط توقف مطلوب انجام گیرد.
Least Med sq یک روش رگرسیون خطی مقاوم است که میانه [41] (به جای میانگین [42] ) مربعات انحراف از خط رگرسیون را کمینه میکند. این روش به طور مکرر رگرسیون خطی استاندارد را به زیرمجموعههایی از نمونهها اعمال میکند و نتایجی را بیرون میدهد که کمترین خطای مربع میانه را دارند.
SMO teg الگوریتم بهینه سازی حداقل ترتیبی را روی مسایل رگرسیون اعمال میکند. ( Scholkopf, 1998 ، Smola )
Pace Regression ، با استفاده از تکنیک رگرسیون pace ، مدلهای رگرسیون خطی تولید میکند (2002 ، Wang و Witten ). رگرسیون pace ، زمانی که تعداد ویژگیها خیلی زیاد است، به طور ویژهای در تعیین ویژگیهایی که باید صرفنظر شوند، خوب عمل میکند. در واقع در صورت وجود نظم و ترتیب خاصی، ثابت میشود که با بینهایت شدن تعداد ویژگیها، الگوریتم بهینه عمل میکند.
RBF Network ، یک شبکه با تابع پایهای گوسی شعاعی را پیاده سازی میکند. مراکز و عرضهای واحدهای مخفی به وسیله روش میانگین K [43] تعیین میشود. سپس خروجیهای فراهم شده از لایههای مخفی [44] ، با استفاده از رگرسیون منطقی در مورد ردههای اسمی و رگرسیون خطی در مورد ردههای عددی، با یکدیگر ترکیب میشوند. فعال سازیهای توابع پایه پیش از ورود به مدلهای خطی، با جمع شدن با عدد یک، نرمالیزه میشوند. در این الگوریتم میتوان، K تعداد خوشهها، بیشترین تعداد تکرارهای رگرسیونهای منطقی برای مسألههای ردههای رسمی، حداقل انحراف معیار خوشهها، و مقدار بیشینه رگرسیون را تعیین نمود. اگر ردهها رسمی باشد، میانگین K به طور جداگانه به هر رده اعمال میشود تا K خوشه مورد نظر برای هر رده استخراج گردد.
4-4. رده بندهای Lazy
یادیگرندههای lazy نمونههای آموزشی را ذخیره میکنند و تا زمان رده بندی هیچ کار واقعی انجام نمیدهند.
IB1 یک یادگیرنده ابتدایی بر پایه نمونه است که نزدیکترین نمونههای آموزشی به نمونههای آزمایشی داده شده را از نظر فاصله اقلیدسی پیدا کرده و نزدیکترین ردهای مشابه رده همان نمونههای آموزشی را تخمین میزند.
IBK یک رده بند با K همسایه نزدیک است که معیار فاصله ذکر شده را استفاده میکند. تعداد نزدیکترین فاصلهها (پیش فرض 1= K ) میتواند به طور صریح در ویرایشگر شیء تعیف شود. پیشبینیهای متعلق به پیش از یک همسایه میتواند بر اساس فاصله آنها تا نمونههای آزمایشی، وزندار گردد.
دو فرمول متفاوت برای تبدیل فاصله به وزن، پیاده سازی شدهاند. تعداد نمونههای آموزشی که به وسیله رده بند نگهداری میشود، میتواند با تنظیم گزینه اندازه پنجره محدود گردد. زمانی که نمونههای جدید اضافه میشوند، نمونههای قدیمی حذف شده تا تعداد کل نمونههای آموزشی در اندازه تعیین شده باقی بماند.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
Kstar ، یک روش نزدیکترین همسایه است که از تابع فاصلهای عمومی شده بر اساس تبدیلات استفاده میکند.
LWL یک الگوریتم کلی برای یادگیری وزن دار شده به صورت محلی است. این الگوریتم با استفاده از یک روش بر پایه نمونه، وزنها را نسبت میدهد و از روی نمونههای وزندار شده، رده بند را میسازد. رده بند در ویرایشگر شیء LWL انتخاب میشود. Nave Bayes برای مسایل رده بندی و رگرسیون خطی برای مسایل رگرسیون، انتخابهای خوبی هستند. میتوان در این الگوریتم، تعداد همسایههای مورد استفاده را که پهنای باند هسته و شکل هسته مورد استفاده برای وزن دار کردن را (خطی، معکوس، یا گوسی) مشخص میکند، تعیین نمود. نرمال سازی ویژگیها به طور پیش فرض فعال است[ Data Mining, witten et Al. 2005 ]. نرمافزار داده کاوی Weka
نجام پروژه های تحقیقاتی و تجزیه تحلیل داده های پایان نامه (فصل 4 پایان نامه) برای رشته های علوم انسانی، علوم اجتماعی، مدیریت ، فنی مهندسی، پزشکی، روانشناسی، جامعه شناسی، اقتصاد، حسابداری، صنایع، فناوری اطلاعات، کامپیوتر و دیگر رشته ها در حوزه های ذیل:
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
آموزش نرم افزارهای Enterprise Dynamics, Showflow ، Vensim تجزیه و تحلیل آماری پایان نامه، تحقیقات میدانی و پرسشنامه ای با استفاده از نرم افزار SPSS و Lisrel ارائه تحلیل های اقتصاد سنجی، تحلیل های سری زمانی و داده های پانل Panel Data با استفاده از نرم افزار EViews و Microfit بررسی و تحلیل کارایی و بهره وری از طریق تحلیل پوششی داده ها DEA ب طراحی سیستمهای استنتاج فازی (منطق فازی) Fuzzy Logic، عصبی طراحی سیستمهای خبره Expert Systems تحت shell با استفاده از نرم افزارهای VP - مدل سازی بوسیله شبکه های عصبی مصنوعی ANN و الگوریتم ژنتیک GA SS، Weka، Clementine، FIS MATLAB ،ANFIS، VP - expert ارائه مشاوره در خصوص
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
فصول پایان نامه جهت تکمیل تحقیق و آگاهی از چگونگی تحلیل داده ها و نتایج حاصله برای ارائه کار به استاد راهنما و راهنمایی برای آمادگی در جلسه دفاع پایان نامه کیفیت پشتیبانی و خدمات پس از فروش، پیگیری اصلاحات و آرامش در پایان نامه را با ما تجربه کنید. هزینه پستی ارسال پرسشنامه ، به شما پرداخت خواهد شد. دانشجویان دانشگاه آزاد اسلامی و غیر انتفاعی از تخفیف ویژه برخوردار می باشند. ارائه تخفیف در صورت معرفی به دوستان راهنمایی جهت تسریع در اتمام پایان نامه - - - - -
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
azsoftir.com 09367292276
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
انجام پایان نامه داده کاوی، تبدیل حجم بالای داده به الگوهای و قوانین قابل فهم است. هدف داده کاوی، ساخت مدلی مفهومی است که درک و تفسیر داده های حاضر را فراهم نموده و حتی امکان پیش بینی داده های آینده را نیز در اختیار ما قرار می دهد. داده کاوی و Big Data مباحث مهمی هستند که امروزه مورد توجه بحث بسیاری از محققان است. نرم افزار WEKA مجموعه ای از الگوریتم های یادگیری ماشین در فرآیند انجام پایان نامه ارشد داده کاوی است. این الگوریتم ها می توانند به صورت مستقیم به مجموعه داده اعمال شده و یا از طریق زبان برنامه نویسی جاوا اجرا شوند. WEKA شامل مجموعه ابزار های پیش پردازش داده، طبقه بندی، رگرسیون، خوشه بندی، قوانین ارتباطی و مشاهده داده است که قابلیت اعمال بر روی مجموعه داده های بزرگ را نیز داراست. به دلیل وجود واسط گرافیکی مناسب، این نرم افزار جایگاه ویژه ای در تحقیقات مرتبط با داده کاوی پیدا نموده است.
هرزنامه که معمولا تبلیغاتی هستند، ویژگیهای مشابهی دارند. مثلا آنهایی که محصولی را تبلیغ میکنند از قیمت آن حرف میزنند و یا میگویند که فرصتتان چقدر استثنایی است. حتی رنگارنگ بودن بخشهای نوشته میتواند نشان از بیارزش بودن آن باشد. از آنجایی که این نشانههای قطعی نیستند و ما هم در ایمیلهایی که برای هم میفرستیم ممکن است مثلا از قیمت حرف بزنیم، نمیتوانیم با چند قانون ساده هرزنامهها را جدا کنیم. اینجور مواقع سعی میکنیم از روی مجموعه هرزنامههای موجود یاد بگیریم که هرزنامهها چه ویژگیهایی دارند.
مقدمه
با افزایش حجم اطلاعات در همه ی زمینه ها ٬ وابستگی مردم جهان به خدمات و اطلاعات موجود در وب سایتها افزایش یافته است. برای مثال ٬ پیام های الکترونیکی که به عنوان سریعترین و اقتصادی ترین راه برقراری ارتباط بین افراد هستند.
متاسفانه در میان این خدمات کاربران با یکسری پیام ها ی ناخواسته ای که حتی به علایق و حیطه ی کاری آنان مرتبط نیستند و حاوی مطالب پوچ ٬ غیر اخلاقی یا حتی مخرب هستن مواجه می شوند که از اهداف این هرزنامه نویسان انجام کارهای مخرب ٬ سرقت های رایانه ای و سوء استفاده از اطلاعات محرمانه ی افراد فریب خورده می توان یاد کرد.
کارهای مرتبط
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
- انواع الگوریتم های تشخیص و توقیف هرزنامه:
امروزه الگوریتم های زیادی جهت تشخیص انواع هرزنامه ها وجود دارد. در این قسمت معرفی اجمالی بر چند روش که تا کنون به کار برده شده است خواهم پرداخت.
تشخیص بر اساس محتوا و کلمات:
این روش ساده ترین و رایج ترین راه برای شناسایی هرزنامه ها می باشد. اگر محتوای نامه های الکترونیکی و یا محتوای اجزای تشکیل دهنده ی وب سایت مانند عنوان ٬ فرا تگ ٬ لینک های موجود در صفحه و URL شامل کلمات خاصی باشند ٬ به عنوان هرزنامه شناسایی می شوند. هرزنامه نویسان اغلب از عبارات خاص و جذاب برای جلب توجه کاربران در نامه ی الکترونیکی یا وب سایت استفاده می کنند . کلماتی مانند free, Buy-Now, cheap, Satisfy-Me, Sex, Winner و..به همین دلیل هرزنامه نویسان کلمات مورد استفاده ی خود را دایم به شیوه های مختلف تغییر می دهند این تغییر مکرر باعث کاهش دقت می شود. برای رفع این مشکل به پایگاه داده بزرگتری جهت پوشش کلمات گوناگون نیاز داریم که جستجو و پردازش در این پایگاه داده باعث افزایش پیچیدگی زمانی می شود . از طرفی احتمال از دست رفتن نامه های الکترونیکی و یا وب سایت های واقعی و قانونی به علت استفاده ی مشروع از این کلمات نیز بالا می رود.
تشخیص بر اساس رفتار هرزنامه:
در ارسال نامه های الکترونیکی بعضی از اطلاعات فیلدهای سرایند توسط فرستنده پر می شود و برخی دیگر به صورت خودکار توسط MTA تکمیل می شوند.
MTA بر اساس اطلاعات سرایند نامه ی الکترونیکی را به گیرنده تحویل می دهد و سپس این عمل تحویل را در فایل syslog ثبت می نماید.
اطلاعات syslog به صورت خودکار فقط توسط MTA پر می شوند و فرستنده اجازه ی هیچ گونه تغییر در آن ها را ندارند.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
هرزنامه نویسان برای فریب دادن ضد هرزنامه ها از اطلاعات غیر معتبر و نامربوط در فایل سرایند نامه ی الکترونیکی استفاده می کنند بدین سببب
در این روش اطلاعات فیلدها مانند: From, To, Date, Deliver-to, Received, Reteurn-Path بررسی می شوند و در صورت غیر معتبر یا نامربط بودن هر کدام از اطلاعات فیلدهای فایل سرایند درجه ی هرزنامه بودن نامه الکترونیکی را بالا می برد.
منظور از غیر معتبر بودن این است که هرزنامه نویس در فیلدهای مورد نظر اطلاعات نادرست وارد کند مثلا قسمت From را با آدرس نامشخص که به صورت تصادفی تولید شده است یا با آدرس های جعلی پر کند.
اطلاعات فیلدهای فایل سرایند را به تنهایی از نظر اعتبار و صحت و قالب بندی می سنجند و نیز این اطلاعات را با اطلاعات فیلدهای همتایشان در فایل syslog از نظر سازگاری داشتن با هم مقایسه می کنند.منظور از همتا بودن این است که آن از دسته از فیلدهایی که از نظر جنس اطلاعات یکسان باشند با هم مقایسه می شوند.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
مقایسه و تعیین صحت این فایل ها بر اساساس قوانینی تعریف شده است ؛ که این قوانین تا حدی همه ی حالاتی که برای سنجش فیلد ها نیازمند است را تحت پوشش می دهد.و به ۲ بخش تقسیم شده اند: یک بخش برای سنجش فیلدهای هر کدام از فایل ها(سرایند و syslog) و بخش دیگر برای مقایسه هر فیلد از فایل سرایند با فایل sysylog ٬ این قوانین مواردی مانند تهی ٬ جعلی ٬ تصادفی و در قالب درست بودن فیلدهای ادرس و قالب ٬ زمان(اداری یا غیر اداری) فیلد تاریخ(Date) را شامل می شوند همچنین فیلدهایی که قرار است دو به دو با هم مقایسه شوند از نظر اینکه آیا دو فیلد در یک قالب درست آدرس یا زمان هستند؟مثلا اطلاعات فیلد FROM از فایل سرایند با اطلاعات فیلد FROM از فایل syslog در یک نامه الکترونیکی باید یکسان باشند.
روش پیشنهادی:
روش مورد استفاده در این بخش شامل مراحل زیر می باشد:
۱)حذف کلمات بی ارزش
۲)ریشه یابی کلمات
۳)استخراج ویژگی ها
۴)کاهش ویژگی ها
۵)ساخت مدل
۱- حذف کلمات بی ارزش:
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
در ابتدا به منظور آزمایش روش پیشنهادی از پایگاه های اطلاعاتی استاندارد در زمینه تشخیص هرزنامه (enorm) استفاده می کنیم که شامل نامه های الکترونیک عادی و هرزنامه می باشد. داده های مورد بررسی ما داده های مورد استفاده در مقاله های معتبر علمی می باشد که در چند سال اخیر چاپ شده است. ما در ابتدا سعی بر آن داریم تا با انجام روش های متفاوت کلمات بی ارزش (and,the,or,in,…) را از متن نامه ها حذف کنیم.
۲- ریشه یابی کلمات:
بعد از حذف کلمات بی ارزش کلمات باقی مانده را ریشه یابی می کنیم و هدف این است که کلماتی که ریشه یکسانی دارند را یکسان در نظر بگیریم برای این منظور ما از الگوریتم های stemming استفاده می کنیم.
۳- استخراج ویژگی:
در مرحله بعد می خواهیم ویژگی های موجود در متن را پیدا کنیم و برداری از ویژگی ها را تشکیل می دهیم. این بردار به این صورت ساخته می شود که بعد آن برابر با تعداد ویژگی های استخراج شده می باشد و اگر نامه الکترونیکی مربوطه ویژگی مورد نظر را داشته باشد مقدار آن ویژگی برابر با مقدار پشتیبان و در غیر این صورت مقدار ۰ را برای آن ویژگی در بردار قرار می دهیم.
برای این منظور از الگوهای تکراری در کل متن استفاده می کنیم. الگوهای تکراری به گونه ایی یافت می شود که تعداد تکرار در کل نامه های الکترونیکی از یک درصد تعیین شده بیشتر باشد.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
الگوی تکراری:
الگوی <SB<sb1,sb2,…,sbm در دنباله S نمونه ای از الگوی <P<e1,e2,…,en می باشد اگر و تنها اگر عبارت QRE زیر برقرار باشد:
عبارت e1 ; [-e1,e2,…,en];e2;…; [-e1,e2,…,en];en. : QRE
یک نمونه را با ۳ تایی (sidx , istart , iend) نمایش داده می شود که در آن sidx نشان دهنده شماره دنباله S در پایگاه داده اطلاعاتی می باشد و istart اندیس شروع و iend اندیس پایان زیر رشته در S می باشد . در حالت پیش فرض٬ تمامی اندیس ها از ۱ شروع می شود.
۴- کاهش ویژگی ها:
یکی از مراحل مهم در فیلتر کردن هرزنامه که تاثیر بسیار زیادی در عملکرد و افزایش سرعت تشخیص دارد انتخاب بهترین ویژگی ها از میان ویژگی های استخراج شده می باشد. زیرا ویژگی ها که شامل کلمات یا عبارات موجود در اسناد می شوند شامل هزاران ویژگی و یا حتی بیشتر هستند که این اشکال در عملکرد الگوریتم های یادگیری تاثیر منفی دارد. بنابراین نیاز به مرحله کاهش ویژگی ها داریم به طوری که ویژگی هایی که تفاوت هرزنامه و ایمیل های عادی را به درستی بیان نمی کنند حذف گردند. بنا براین باید ویژگی های مرتبط که نسبت به بقیه ی ویژگی ها قدرت دسته بندی بیشتری دارند شناسایی شوند. بنابراین در این مرحله با اعمال الگوریتم انتخاب ویژگی بر روزی بردارها بهترین ویژگی ها را استخراج می کنیم و به این ترتیب بعد بردارها نیز کاهش میابد که باعث افزایش سرعت پردازش خواهد شد.
۵- ساخت مدل:
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
در این مرحله ما می خواهیم با استفاده از ویژگی های برگزیده شده از مرحله ی قبل و اعمال الگوریتم های متفاوت طبقه بندی در داده کاوی بر روی بردارهای بدست آمده مدلی تهیه کنیم بطوری که با استفاده از آن بتوان ایمیل های هرزنامه و ایمیل های عادی را تفکیک کرد.
با استفاده از تابع (rankBM25_DocumentAtAtime_WithHeap(q,k میل هایی را که مرتبط هستند را به ترتیب ویژگی هرزنامه بودنشان را بدست می اوریم.
آزمایشها
۱- مجموعه داده و ویژگی های استخراج شده:
لینک کد قرار داده شده بر روی github:
در این برنامه یک فایل DOCUMENT.TXT به عنوان ورودی گرفته می شود که شامل ایمیل هاست و فایل balcklist_word.txt که شامل پایگاه داده کلمات هرزنامه است.
نمونه فایل ورودی:
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
نکات قابل توجه برای run گرفتن از کد:
فایلی که شامل ایمیل هاست در کد به نام DOCUMENT فراخوانی می شود و هر ایمیل داخل فایل با تگ باز شروع شده و با تگ بسته تمام می شود.
خروجی شامل ایمیل هایی است که هرزنامه تشخیص داده شده اند و به ترتیب میزان ویژگی هرزنامه بودن هر ایمیل(ایمیل های اول ویژگی هرزنامه
بودن بیشتری را دارند) نشان داده شده است.
برای اجرای برنامه ابتدا دو تابع ()write_start_unmergefile و ()main_dictionary را اجرا کرده تا فایل های مورد نیاز ساخته شده و سپس این
دو تابع را کامنت کرده و تابع ()input_query را اجرا کرده تا خروجی را مشاهده کنید.
۲- ارزیابی کارایی مدل:
در سیستم پیشنهادی برای سنجش کارایی مدل از معیارهای Accuracy و Precision و Recall و Fmeasure استفاده شده است در زیر
خلاصه ای از مهمترین فرمول ها و معیارهای ذکر شده است:
Accuracy Precision Recall Fmeasure
TP+TN / TP+FP+TN+FN TP / FP+TP TP / FN+TP 2Recall.Precesion / Recall+Precesion
معیار prescision نسبت تعداد پیام هایی است که به درستی دسته بندی شده اند و از دسته های هرزنامه هستند به تعداد کل پیام های شناسایی شده به عنوان هرزنامه.
معیار recall نسبت تعداد کل پیام های شناسایی شده به عنوان هرزنامه به تعدا د کل پیام هایی است که واقعا جزء دسته هرزنامه ها می باشند.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
معیار accuracy نسبت تعداد هرزنامه ها و ایمیل های درست تشخیص داده شده به تعداد کل هرزنامه ها و ایمیل هایی که وجود دارند.
معیار fmeasure ترکیبی از recall و precision است.
در ادامه , برای بررسی دقت عملکرد روش پیشنهادی , از معیارهای بالا بر روی یک نمونه پایگاه داده اطلاعاتی استفاده می شود:
نتیجه ی کد به ازای نمونه فایل ورودی DOCUMENT.txt(لینک فایل ورودی در بالا ذکر شده است):
Accuracy Precision Recall Fmeasure
0.5 0.6 0.4 0.5
- استفاده از الگوریتم next phrase :
در قسمت قبلی ؛ هرزنامه ها به ترتیبی نشان داده می شدند که تکرار کلمات stop word در ان ها بیشتر است ولی همان طور که می دانیم stop word شامل جمله نیز می باشد پس باید جمله ها را نیز در نظر بگیریم بدین منظور در یک دیتابیس جمله ها را ذخیره کرده و در سندهایی که به عنوان هرزنامه تشخیص داده شدند وجود این جمله ها را نیز در ان بررسی میکنیم و در صورت و جود ان ها و تعداد تکرارشان به میل مورد نظر امتیازی اضافه می شود البته در هنگام چک کردن این نکته را نیز در نظر داریم که ممکن یکسری جملات کلماتشان یکسان نباشد ولی مفهوم یکسانی داشته باشند بدین منظور هر جمله از stop word را با الگوریتم stemming ریشه گیری کرده و کلمات اضافه را نیز از ان ها حذف میکنیم تا به صورت جامع تری عمل مقایسه انجام شود.
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
کد بهینه شده با الگوریتم next phrase:
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com
09367292276
09367292276
azsoftir@gmail.com
azsoftir.com