پایان نامه درباره مخازن نرم افزاری- فایل … – منابع مورد نیاز برای مقاله و پایان نامه : دانلود پژوهش های پیشین |
در همان سال CathrinWeib و همکارانش با بهره گرفتن از داده های گرفته شده از JBoss در سه مرحله طول عمر خطای جدید را تخمین زدند]۹[. ابتدا به کمک الگوریتم نزدیکترین همسایهKNN-α گزارشهای مشابه را از منبع استخراج می کند و در مرحله بعد با بهره گرفتن از موتور جستجوLucene داده ها با شباهت متنی بیشتر استخراج می شود. Lucene ازSVM و یک مدل بولی[۲۸] برای جستجو و ارزیابی متون استفاده می کند. در این تحقیق اگر موضوع با شباهت با توضیحات خطای جدید پیدا نشد، باز الگوریتم نزدیکترین همسایه KNN-α را برای استخراج داده استفاده می شود پس از این مراحل داده های فیلترشده می تواند در تخمین طول عمر خطا جدید و حل آن کمک می کند. این روش جزء روشهای ابتدایی با بهکارگیری اندازه گیری تشابه بین متون بود. اما موتور و الگوریتم آن نهتنها به معنای کلمات توجه نمیکرد بلکه جزه روشهای ابتدایی جستجو در متون متشابه بود.
( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )
Nagwani در سال ۲۰۰۹ روشی را با دامنه خطاهای حوزه GUI ارائه کرد. در این تحقیق خطاهای مربوط به GUI را از پروژه مختلف را به عنوان داده در نظر گرفت. از نظر او خطا در طول فرآیندی رخ می دهد که این فرایند شامل چند رویداد متوالی است]۱[. مدل وی در سه مرحله داده ها را فیلتر می کند. در مرحله اول داده ها بر اساس رویداد، در مرحله بعد برای قسمت های مختلف هر رویداد مقایسه میشوند. در مرحله آخر براساس ملزومات هر قسمت تفکیک و با هم مقایسه میشوند. در این روش خطاهایی که از نظر مرحله و رویدادهای موجود در فرایند دارای تشابه بیشتر با خطای جدید هستند از منابع استخراج می شود. این روش اگرچه به مفاهیم و معانی توضیحات هر موضوع خطا بیشتر توجه کرده، اما در پیادهسازی موانع زیادی وجود دارد. مراحل توسط نیروی انسانی مجزا و مشخص شوند و تمام این رویدادها در طول یک فرایند خطا دار باید مشخص باشند. همچنین محدود به خطاهایی از که در یک فرایند مشخص در GUI است.
یک سال بعد Nagwani وBhansali با بهره گرفتن از الگوریتمK-means مجموعه ای از داده ها شامل طول عمر و شماره داده را به خوشههایی تقسیم کردند، تا بتوانند میزان پیچیدگییک خطا را با تخمین ذهنی طول عمر یک خطای جدید را مشخص کند. به این ترتیب ابتدا کاربر برای طول عمر خطا جدید تخمینی میزند و این تخمین با مراکز خوشههای ایجاد شده بر اساس طول عمر داده ها، پیچیدگی خطا جدید را مشخص می کند]۱۱[. این روش دو مورد مهم توجه نشده اول اینکه تخمین ذهنی طول عمر یک خطا زیاد اصولی و دقیق نیست. دوم اینکه تعیین میزان پیچیدگی یک خطا با یک پسزمینه ذهنی کمک چندانی در پیشرفت پروژه و بهرهوری در هزینه و زمان آن ندارد.
در تحقیقی دیگر در همان سال، وی با بهره گرفتن از سه الگوریتم تشابه جاکارد، کسینوسی و TF-IDF میانگینی از تشابه موجود بین قسمت های متنی مختلف از خطای جدید و خطاهای دیگر در منبع خطا را محاسبه می کند]۱۰٫[ نتایج را برای هر الگوریتم با هم مقایسه کرده است. این کار با محاسبه تشابه بین بخش موضوع، توضیحات و دیگر بخشهای متنی از هر موضوع موجود در منبع خطا را با خطایجدید، به صورت جداگانه محاسبه می کند. این نتایج با ضرایب وزنی مشابه با هم جمع میشوند و به عنوان میزان شباهت خطایجدید با خطا داخل مخزن در نظر گرفته می شود. برنامهای که Nagwani ارائه کرده است این کار را با بهره گرفتن از هرسه الگوریتم انجام میدهد.
برای نمونه در این تحقیق، با بهره گرفتن از ضریب کسینوسی برای یک نمونه جدید، نتایج محاسبه و چهارخطا با شباهت بیشتر، بهعنوان کمک برای حل خطا و محاسبه میانگین طول عمر آنها، بهعنوان تخمینی برای طول عمر خطا استخراج شدهاست. در این روش برای بررسی میزان تشابه بین متون خطا جدید و داخل مخزن از روشهای خطی استفاده شده که برای شروع مناسب است، اما کافی نیست. این الگوریتمها معایبی دارند که الگوریتمهای بهتری را میتوان استفادهکرد.
بهعنوان مثال الگوریتمهای معنایی که در آنها علاوه بر تشابه لغوی و نحوی تشابه معنایی بین جملات و متون را در نظر گرفته می شود.
در سال ۲۰۱۱، Nagwani تحقیق خود را روی نویسندگان و توسعهدهندگان ثبت شده در مخزن خطا وموضوعاتی که جوابگوی آنها بوده اند یا نظرات موثری در رفع خطا داشته اند، متمرکز کردند]۱۲[. بهاینصورت که روی تعدادی داده که از Bugzilla استخراج شده بود کلمات تکراری مهم در این موضوعها را بهعنوان داده استخراج می کند. لیستی ازتوسعهدهندگان و کاربران ثبت کننده به تفکیک کلمات اصلی تکرار شده لیست می شود. در این حالت میتوان کسانی را که در حوزه موضوع خطای جدید کار کرده اند، برای کمک به حل مشکل شناسایی کرد. در این روش تشخیص موضوع اصلی و کلمات مهم باید مطابق با مجموعه و در مقایسه با آن استخراج شود. انتخاب و یا تشکیل مجموعه بهینه خود نیازمند ارائه روشی مناسب است.
Suma.V و همکارانش در سال ۲۰۱۲ به استفاده ازچند روش خوشهبندی و مقایسه آنها اکتفا کرد.آنها هشت الگوریتم را برای دستهبندی داده ها در مخازن خطا استفاده کردند که در میان آنها K-means در برابر افزایش داده ها نتایج بهینهتری در اختیار کاربر می گذارد]۸[. الگوریتمها با بهره گرفتن از نرمافزار Weka پیادهسازی شده اند. این روش نیز تنها به دستهبندی ساده اکتفا شده و به نوع داده ها که متنی هستند توجه نشده است.
Nagwani در جدیدترین تحقیق خود در ۲۰۱۳ الگوریتمهایNB ، J84 ،SVM ، CC و CLUBAS را روی داده های گرفته شده از پروژه Mozilla برای دستهبندی استفاده کرد و نتایج را تحلیل کردهاست]۲۰[. بهعنوان نتیجه نشان دادهاست که NB و J84 با زیاد شدن حجم داده ها افت دقت ندارد.
پس از مطالعه ای اجمالی روی BTS ها و روشهایی که تاکنون برای جستجو و استفاده دانش موجود در این سیستمها نشان میدهد، که سیر پیشرفت آن مدتی است که متوقف شده. در واقع پیشرفتی چشمگیر در آنها دیده نمی شود. آنچه نبودش بیش از همه درکاوش در داده های مهم موجود در این مخازن، به چشم می آید، هوشمند سازی این کاوش هاست . داده های موجود در این مخازن مجموعه ای از متون و ارقام است. پس جستجو و کاوش پیشرفته با در نظر گرفتن جنبه های معنایی موجود در آنها، مطمئنا نتایج بهتری را در اختیار کاربران قرار خواهد داد .
در این تحقیق سعی شده به این جنبه از داده کاوی مخازن، یعنی استفاده از الگوریتم هایی که به مفهوم و معنای داده ها و استخراج دانشی بهینه و مختصرتر توجه شود.
۵٫۲٫ اندازه گیری شباهت بین متون
پیدا کردن شباهت بین دو متن و جمله با پیدا کردن شباهت بین کلمات آغاز می شود. کلمات به صورت معنایی یا لغوی می توانند به هم شبیه باشند.شباهت لغوی به این معنی است که حروف کلمات با هم مشابه باشند. و شباهت معنایی حالتی است که دو کلمه در یک زمینه و به یک نوع و معنی استفاده شوند.
شباهت معنایی در روش ها مقوله ای جدا از شباهت خطی است. شباهت معنایی به صورت شباهت بر پایه مجموعه و شباهت بر پایه دانش معرفی می شود. شباهت خطی کاملا متریک بوده و تشابه دو جمله را بر اساس توالی دستهای و ترکیب کاراکترها و کلمات داخل رشته بررسی می کند. شباهت معنایی، شباهت بین کلمات دو جمله براساس اطلاعات مجموعه ای که شامل آن می باشد، را مشخص می کند.ابتدا متداول ترین روش های هر دو معیار را به اختصار معرفی کرده و سپس روش مورد استفاده این تحقیق را با شرح کامل دلایل انتخاب شرح می دهیم.
۱٫۵٫۲٫شباهت خطی
معیار شباهت خطی بر پایه توالی و موقعیت کاراکتر ها بنا شده است. در اندازه گیری این شباهت میزان (فاصله) شباهت دو جمله بر اساس همین دو معیار یعنی توالی خطی و موقعیت کلمه در جمله اندازه گیری می شود. از چهارده روش و معیار اندازه گیری ارائه شده در طول تحقیقات عمومی، در این گروه هفت معیار مربوط به گروه توالی خطی[۲۹]و هفت معیار و روش به گروه موقعیت کلمه[۳۰] تعلق دارند.(شکل۲-۶)
شکل۲- ۶ – انواع الگوریتم های تشابه خطی
۱٫۱٫۵٫۲٫اندازه گیری شباهت بر پایه کاراکتر[۳۱]
بزرگترین زیر دنباله مشترک(LCS) [۳۲]
روشی است برای پیدا کردن بزرگترین زیر دنباله در مجموعه ای از دنباله ها. معیار شباهت بزرگترین رشته پیوسته از کاراکترهاست که در هر دو جمله موجود باشند. هدف در این روش مقایسه دو رشته و است به طوری که رشته با حفظ ترتیب، و نه لزوما متوالی در هر رشته موجود باشد.
Dameran-LevelShtien
تعریف فاصله بین دو رشته با شمارش حداقل تعداد عملیات مورد نیاز برای تبدیل یک رشته به دیگری که در آن عملیات باید درج، حذف و یا جایگزینی یک واحد یا جابجایی در حرف مجاور باشد.
Jaro وJaro-Winkler
بر پایه تعداد و ترتیب کاراکترهای مشترک بین دو رشته تعریف می شود به طوری که فاصله دو کلمه مشترک با توالی یکسان دردو خط هر چه کوتاه تر باشد دو جمله شباهت بیشتری دارند.
m تعداد کل کاراکترهای مشترک وt تعداد کاراکترهایی است که جا به جا شده اند. در فرمول دوم که ضریب Jaro-Winkler است ، ضریب Jaro و تعداد کاراکترهای ثابت قبل اولین کاراکترجابه جا شده و p ضریب ثابت تفکیک است که باید بیشتر از ۰٫۲۵ باشد.
نیدلمن-رانچ[۳۳]
یک همترازی برابری بر دو ترتیب متوالی (مانندA وB ) انجام می دهد. این الگوریتم نمونه ای از برنامه نویسی پویاست. این معیار برای جملات و رشته های هم اندازه دو شباهت قابل توجه کاربردی است.
اسمیت واترمن[۳۴]
این الگوریتم، الگوریتم نیدلمن رانچ را بهینه می کند به این صورت که به جای در نظر گرفتن تمام توالی کاراکتری، این الگوریتم سعی می کند با در نظر گرفتن بخشهای مختلف با همه طولهای ممکن میزان شباهت را بهینه کند. این الگوریتم برای متونی که به نظر شبیه نیستند اما ممکن است قسمت های کوچکی از آنها به هم شبیه باشد مناسب است.
n-gram
زیر دنباله ای n موردی از دو رشته یا متن را با هم مقایسه می کند. مثلا ۱-gram کلمه به کلمه جملات را در نظر می گیرد یا ۲-gram دو کلمه با هم از هر رشته، و به همین ترتیب فاصله و شباهت n-gram از هر رشته را تا حداکثر n اندازه گیری می کند.
۲٫۱٫۵٫۲٫ شباهت بر پایه توالی[۳۵]
فاصله بلوک یا فاصله منهتن
این الگوریتم فاصله بین دو نقطه روی یک مسیر مشبک را محاسبه می کند. در شباهت بین دو جمله این فاصله با اندازه گیری مجموع تفاوت بین اجزاء مترادف نظیر به نظیر بدست می آید.
شباهت کسینوسی
ا ندازه گیری فاصله داخلی دو بردار متقاطع در فضا با بهره گرفتن از اندازه گیری کسینوس زاویه بین دو بردار. در اندازه گیری شباهت بین دو جمله یا رشته هر جمله نماد یک بردار است و ارزش هر یک، برای نمونه تعداد دفعات، تکرار یک توالی، کاراکترها یا یک کلمه خاص در جمله، در نظر گرفته می شود.
ضریب تاس[۳۶]
این ضریب به صورت دو برابر عبارات مشترک در رشته های مورد مقایسه تقسیم بر تعداد کل عبارت های در نظر گرفته شده در هر دو رشته محاسبه می شود.
فاصله اقلیدسی[۳۷]
یا فاصله L2 که همان فاصله بین دو نقطه در مختصات دکارتی است. برای شباهت بین دو جمله این فاصله جذر مجموع تفاوت بین عبارات متناظر در دو رشته در نظر گرفته می شود.
ضریب تشابه جاکارد[۳۸]
نسبت مجموع عبارات مشابه و مشترک در دو رشته به عبارات غیر مشترک
ضریب تطبیق[۳۹]
فرم در حال بارگذاری ...
[سه شنبه 1401-04-14] [ 04:17:00 ب.ظ ]
|