در همان سال 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 که همان فاصله بین دو نقطه در مختصات دکارتی است. برای شباهت بین دو جمله این فاصله جذر مجموع تفاوت بین عبارات متناظر در دو رشته در نظر گرفته می شود.
ضریب تشابه جاکارد[۳۸]
نسبت مجموع عبارات مشابه و مشترک در دو رشته به عبارات غیر مشترک

ضریب تطبیق[۳۹]

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...