یک نمونه پروژه پیاده سازی شده وب معنایی

داکیومنت یک نمونه پروژه پیاده سازی شده وب معنایی رو می تونید در ادامه مطالعه کنید.

برای دانلود پیاده سازی این داکیومنت به اینجا مراجعه کنید

رتبه بندی الگو برای ساخت آنتولوژی

مرضیه ارحمی   مهدی خالقی

Marziyearhami@yahoo.comMmkhgh@yahoo.com

چکیده:

توسعه برنامه های کاربردی معنایی و ساخت آنتولوژی­ ها یک بخش بسیار مهم است. در این گزارش یک روش بنام OntoCase معرفی می­شود که بر الگوهای آنتولوژی به عنوان منابع اضافی تکیه می­کند. بخش مهم این روش این است که چگونه می­توان الگوهای مناسب را بر اساس نماینده­ های ورودی استخراج شده از مجموعه متن انتخاب کرد.  در این گزارش برای ساخت آنتولوژی نیمه اتوماتیک، از آنتولوژی wordNet استفاده کرده که در بخش ۲-۱ توضیح داده شده. در بخش ۶ به شرح پیاده­ سازی جهت استخراج الگوهای منطبق بر ورودی­ها طبق رتبه­ ی آنها می­پردازیم که در محیط Microsoft Visual Studio 10.0با زبانCانجام شده است .

۱-    مقدمه:

تحقیقات وب معنایی تنها در بخش “عمومی” وب نباید تمرکز کند، بلکه از نظر برنامه های کاربردی خاص business­، مانند شبکه های داخلی و غیره باید بررسی شود. زمانیکه در حال توسعه ساختمان چنین برنامه های کاربردی معنایی هستیم آنتولوژی سازمانی بخش حیاتی است.ساخت آنتولوژی بصورت دستی  کار ​​بسیار پیچیده و خسته کننده است، بنابراین امروز روش های  نیمه اتوماتیک مختلفی پیشنهاد شده. مسئله مهم دیگر معرفی دانش با قابلیت استفاده مجدد در روند ساخت آنتولوژی است. در حوزه business، شباهت های بسیاری در اطلاعات و چگونگی فرآیندهای سازماندهی شرکت ها وجود دارد. این اقدامات مشترک باید مورد استفاده قرار گیرند، و همچنین به عنوان ترسیم بهترین شیوه در مهندسی آنتولوژی است. امروزه روشهای ساخت نیمه اتوماتیک آنتولوژی معمولا منجر به آنتولوژی های گوناگون و پراکنده می­شوند که این می­تواند با استفاده از الگوهای آنتولوژی بهبود یابد. استدلال مبتنی بر روش مورد نظر تصویب می­کند که OntoCase شامل یک دید عملی از ساخت آنتولوژی و همچنین کشف الگو و استفاده ازآن است.

در مقاله ای که در این  گزاش آمده تمرکز بر روی بخش خاصی از روش، یعنی انتخاب وبازیابی از الگو است. در بخش­ های زیر به طور خلاصه به معرفی برخی از پس زمینه و کار مرتبط می­پردازیم. در بخش ۳، طرح کلی از رویکرد OntoCase کامل شرح داده شده است، و در بخش ۴ الگوی فرایند بازیابی در جزئیات بیشتری بررسی می شود. بخش ۶ شرح پیاده سازی بخشی ازاین مقاله آمده.


۲-   تعاریف و کارهای مرتبط:

آنتولوژی مشخصات رسمی صریح و روشن از یک مفهوم مشترک است. ما در این مرحله تحقیقات خودرا به یک آنتولوژی خاص فرموله ی نماینده  محدود نکردیم، اما در روش OntoCase فرض براین است که امکان کاهش آنتولوژی به یک گراف معنایی وجوددارد. البته متوجه هستیم که چنین کاهشی بی اهمیت نیست و ممکن است منجر به ازدست دادن برخی از اطلاعات شود،  اما این موضوع خارج از محدوده این مقاله در نظر گرفته شده است. تحقیق ما نیز به طور عمده در دامنه و کاربرد آنتولوژی درون سازمانی است، که به طور عمده برای ساختارو بازیابی اطلاعات با توجه به یکی از شرکت ها در نظر گرفته شده است.


۲-۱  WordNet

یک پایگاه داده­ی لغوی برای زبان انگلیسی است. کلمات انگلیسی را به مجموعه‌های مترادفی کهsynsetsنامیده می‌شود، گروه بندی می‌کند، تعاریف کوتاه عمومی را فراهم می‌سازد، و روابط مترادف‌های گوناگون را با این مجموعه‌های مترادف ضبط می‌کند.WordNetتوسط آزمایشگاه CognitiveScience در دانشگاه Princeton از سال ۱۹۸۵ توسعه داده شده است. برخلاف فرهنگ های جامع استاندارد، WordNet بین یک کلمه و معنی آن، با معرفی synset ها تمایز قائل می­شود که این synset ها شامل کلماتی هستند در حوزه­ای، معنای یکسانی دارند. WordNet اطلاعاتی در مورد چهار بخش­گفتار در اختیار می­گذارد که عبارتند از اسم، صفت، فعل و قید. WordNet تعدادی ارتباط لغوی بین کلمات و نیز بین synset ها مشخص کرده است که عبارتند از:

·    synonymy: کلمات هم معنی کلماتی هستند که در یک حوزه­ی خاص، معنای یکسانی دارند. در واقع آن­ها پایه و اساس واحد معنایی WordNet یعنی synset ها را تشکیل می­دهند.

·    hypernymy: این ارتباط بین synset ها تعریف می­شود. بطور خاص، اگر s1 و s2 ­ دو synset باشند، می­گوییم s1 یک hypernym از s2 است اگر معنای s1 ، معنای s2 را رده­بندی کند، به عبارت دیگر، s1 ابرکلاس s2 باشد. عکس این رابطه، hyponymy نامیده می­شود.

·    meronymy: این رابطه نیز بین دو synset تعریف می­شود. می­گوییم s1 یک meronym از s2 است اگر s1 یک بخش از s1 را نشان دهد. عکس این رابطه، holonymy نامیده می­شود.

·        antonymy: رابطه­ی بین دو synset است که از نظر معنایی با هم متضاد می­باشند.

علاوه بر این، رابطه­ های زیر بین صفت ها وجود دارد:

·        Similarto: صفت ها را به صفت های مشابه مرتبط می­کند، مانند big و great.

·        attribute: صفت ها را به کیفیت یا ویژگی­ای که توصیف می­کنند ربط می­دهد، مانند big و size.

·        antonymy: صفت ها را به صفت های متضاد آن­ها ربط می­دهد مانند big و small.

·        derivationally: کلمات از سایر بخش های گفتار را که یک صفت بصورت اشتقاقی با آن­ها ارتباط دارد می­دهد، مانند big و bigness.

·        جدول ۲-۱ مثال هایی از ارتباطات بین اسم ها در WordNet را نشان می­دهد.

·    علاوه بر synset ها و ارتباطات لغوی بین آن­ها، WordNet برای هر synset، توصیف معنای آن را نیز دارد که به آن gloss گفته می­شود. در واقع gloss ها را می­توان توصیفات مفاهیم به حساب آورد و آن­ها در پردازش زبان طبیعی (NLP) کاربردهای زیادی دارند .

جدول ۱- مثال هایی از ارتباطات لغوی در WordNet

Example

Paraphrase

Type

“illness means the same Eis disease”

=> synonym(disease,illness)

means the same as

Synonym

“furniture is the general term for chair”

=> hypernym (furniture, chair)

is the general term for

Hypernym

“a chair is a kind of furniture”

=> hyponym(chair, furniture)

is a kind of

Hyponym

“a branch is a part of a tree”

=^ meronymfbranch, tree)

“wood is the substance of a tree”

=> meronym(wood, tree)

“a person is member of a group”

=> meronymfperson, group

is part

substance/

member of

Meronym

“a bicycle has a wheel as part”

=> holonym(bicycle,u)heel)

“a tree has wood as substance”

=> holonym (tree, wood)

“a group has a person as member”

=> holonym(group, person)

has part/

substance/

member

Holonym

“ascent is the contrary of descent”

=> antonym(ascent, descent)

is the contrary of

Antonym

جدول ۲- مقایسه­ ی انواع منابع معنایی لغوی جهت استفاده در شخصی­ سازی وب

معایب

مزایا

منبع

·         مشخص نکردن مفاهیم

·         مشخص نکردن نوع ارتباط

·         عدم وجود ساختار سلسله­ مراتبی

·         در دسترس نبودن واسط برنامه ­نویسی مناسب

·         عدم پوشش مناسب از دامنه ­های خاص

·         پوشش کم از موجودیت ­های نامدار

·  دقت و کیفیت بالا

·  ویرایش سریع در نسخه­ های برخط

فرهنگ لغت

·         انواع ارتباطات کم

·         پوشش کم از مفاهیم خاص دامنه

·         هزینه­ ی زیاد ایجاد و به ­روز­رسانی

·         در دسترس نبودن بصورت رایگان

·  مشخص کردن مفاهیم

·  دقت و کیفیت بالا

فرهنگ جامع

·         هزینه­ و زمان زیاد ایجاد و به­روز­رسانی

·         وابستگی به کاربرد خاص

·         در دسترس نبودن بصورت رایگان

·  پوشش خوب از مفاهیم خاص دامنه

·  دقت بالا

واژگان شناختی مربوط به دامنه­ ی خاص

واژگان­ شناختی و رده ­بندی

·         عدم پوشش از مفاهیم خاص دامنه

·         هزینه­ و زمان زیاد ایجاد و به­ روز­رسانی

·     عدم در دسترس بودن بیشتر آن­ها بصورت رایگان

·         محدود به چند زبان

·         پوشش کم از موجودیت ­های نامدار

·  پوشش خوب از مفاهیم کلی

·  دقت و کیفیت بالا

واژگان شناختی­ های عمومی مانند CYC

·         عدم پوشش از مفاهیم خاص دامنه

·         هزینه­ و زمان زیاد ایجاد و به­ روز­رسانی

·         پوشش کم از موجودیت­ های نامدار

·  پوشش خوب از مفاهیم کلی

·  دقت و کیفیت بالا

·  ارتباطات مفید

·  در دسترس بودن انواع واسط­ه ای برنامه ­نویسی به زبان­های مختلف

·  رایگان

·  در دسترس بودن به زبان­های مختلف

WordNet

·         فقط رابطه­ ی هست

·         عدم پوشش از مفاهیم خاص دامنه

·         اطلاعات ناکافی درباره­ ی مفاهیم

·         نیاز به خزش وب

·         عدم توازن در قسمت­ های مختلف سلسله مراتب

·         محدود به زبان انگلیسی

·         عدم وجود واسط برنامه ­سازی مناسب

·  پوشش خوب از مفاهیم کلی

·  دقت و کیفیت بالا

·  رایگان

دایرکتوری­ های وب

·         عدم پوشش از مفاهیم خاص دامنه

·         هزینه­ و زمان زیاد ایجاد و به ­روز­رسانی

·         عدم در دسترس بودن بیشتر آن­ها بصورت رایگان

·         در دسترس نبودن واسط برنامه ­نویسی مناسب

·  دقت و کیفیت بالا

فرهنگ عمومی چاپی

فرهنگ عمومی
۲-۳ الگوهای آنتولوژی:

به طور کلی دو دیدگاه مختلف از الگوها وجود دارد:

۱٫       یک دیدگاه معتقد به استخراج الگو و به رسمیت شناختن آنها است، که در آن هدف پیدا کردن نظم و قاعده در برخی از مجموعه ای از اشیاء است.

۲٫       دیدگاه دیگر این است که با استفاده از یک الگوی از پیش تعریف شده و کدگذاری شده با بهترین شیوه ها، به عنوان یک الگو برای ساخت یک راه حل جدید عمل کند.

الگوی طراحی آنتولوژی در OntoCase خود شامل یک قالب برای ساخت یک جزء آنتولوژی که متشکل از مجموعه ای از شکلهای هندسی آنتولوژی سازگار است می­باشد.


۴٫۲ ساخت آنتولوژی نیمه خودکار:

پیشرفت های اخیر در مهندسی آنتولوژی شامل آنتولوژی ساخت نیمه اتوماتیک، گاهی اوقات یادگیری آنتولوژی (OL) عنوان شده است. بسیاری از روش های نیمه اتوماتیک برروی مجموعه ی متن ورودی و روش های تجزیه و تحلیل متن ، به منظور استخراج پیشنهادات برای مفاهیم و روابط تکیه می کنند. جدید ترین روش نیز شامل استخراج روابط نام دارد و علاوه بر آن روش اصول ساده، و همچنین با عنوان پوشش کامل چرخه زندگی آنتولوژی موجود هستند.

علاوه بر روش های استاندارد تجزیه و تحلیل متن، روش های ذکر شده، استخراج عبارت چند کلمه ای (multi-word)، استخراج روابط مختلف و غیره عنوان شده. برای استخراج روابط گاهی اوقات از منابع دانش اضافی، مانند wordnet  استفاده می شود.همچنین انواع مختلف استدلالها برای استخراج رابطه، مانند استدلال “روابط عمودی” وجود دارد. در این استدلال فرض بر این است که اگر یک عبارت، مانند “دانشجو”، به یک عبارت دیگری مانند “دانشجوی دوره کارشناسی ارشد” تغییر میکند، عبارت ترکیب شده احتمالا با عبارت اصلی بدون تغییر جایگزین میشود. علاوه بر این، تکنیکهای تطبیق آنتولوژی می تواند برای کمک به مهندسی آنتولوژی مورد استفاده قرار گیرد .OntoCase به عنوان یک روش تطبیق آنتولوژی در نظر گرفته شده است، هر چند از برخی تکنیک های مشابه استفاده میکند (به عنوان مثال تطبیق رشته(string matching)و معیارهای شباهت (similarity measures)).

چند نکته مهم هنوز در زمینه OL وجود دارد. یک مشکل زمانی که از یک مجموعه متنی به عنوان ورودی استفاده میشود،اغلب اطلاعات مورد نیاز برای تفسیر این متن به صراحت بیان نشده است. برخی از این روش ها عبارتند از منابع دانش اضافی درموردساخت آنتولوژی،استفاده از الگوهای آنتولوژی نیز تاثیر این مشکل را کاهش می دهد. خروجی اغلب روش های OL علاوه براین متنوع و فاقد ساختار مناسب است، در نتیجه نیازمند دستکاری پس از فرآیند است. افزایش کیفیت آنتولوژی و کاهش تلاش های صرف شده توسط کاربر هدف های اصلی روش OntoCase هستند.


۵٫۲ رتبه بندی و انتخاب آنتولوژی:

فرآیند انتخاب ازبین مجموعه ی  الگوهای طراحی آنتولوژی کاملا شبیه به کار رتبه بندی آنتولوژی انجام شده است.

یکی از طرح های اخیر رتبه بندی که استادانه طراحی شده بنام AktiveRank پیشنهاد شده است.چهار معیار استفاده می شود که عبارتند از: تطبیق کلاس ها(classmatches)، نقش محوری(centrality)، تراکم(density) و شباهت معنای(semantic similarity). معیار تطبیق کلاس class matches))، ،  ترکیب دقیق و تطبیق رشته ی نادرست  برای مطابقت با برچسب های مفهوم و عبارت مورد جستجو است.

معیار محوریت(centrality) مفاهیم همسان را درنظر میگیرد(از مرحله قبل) و تولید میکند یک مقدار که نشان میدهد چگونه  نماینده آن  مفاهیم در آنتولوژی هست که بر اساس قرار دادن آنها در سلسله مراتب طبقه بندی نشان میدهد. دید این است که مفاهیم مرکزی در رده بندی مهم ترهستند که آنها نماینده اند.

(معیار)اندازه گیری چگالی(density) توصیف درجه ای از جزئیات (تعداد روابط و غیره) در زمینه مفاهیم همسان است.دید در اینجا این است که “انبوه”در توصیف و تعریف یک مفهوم یعنی مفهوم مفید تر خواهد بود.

در نهایت، (معیار)اندازه گیری شباهت معنایی(semantic similarity) اندازه گیری نزدیکی (از نظر طول مسیر تراورس روابط آنتولوژی)مفاهیم همسان در آنتولوژی هست.دید این روش این است که تطابق گسترش یافته از طریق آنتولوژی نسبت به تطبیقهای دسته بندی شده در یک بخش کمتر اهمیت دارند.


۳٫ طرح کلی OntoCase:

در رویکرد OntoCase مورد پایه مربوط به فهرست الگو (الگوی پایه) است. الگوهای طراحی رسما با استفاده از زبان آنتولوژی نماینده نشان داده شده است.

اولین مرحله OntoCase (بازیابی) تمرکز اصلی این مقاله است و شامل تجزیه و تحلیل ورودی برای استخراج نماینده آن و سپس تطبیق آن نماینده با الگوی پایه برای انتخاب الگوهای طراحی مناسب است.

مرحله دوم OntoCase (استفاده مجدد)، به منزله فرآیند تخصصی، گسترش و آهنگسازی الگوها در اولین نسخه آنتولوژی است.

مرحله سوم OntoCase (اصلاح- تجدید نظر) مربوط به ارزیابی آنتولوژی و اصلاح آن برای بهبود مناسب است.

مرحله نهاییOntoCase(حفظ) شامل کشف نامزدهای الگوی جدید وهمچنین بازخورد الگوی ذخیره شده می باشد. هر فرآیند اولیه، درجه معینی از اطمینان مربوطه را دارد که بر روی آنتولوژی ساخته شده منتقل میشود و همچنین برای رتبه بندی و انتخاب الگو استفاده می شود.


۴٫     بازیابی الگو:

فرآیندOntoCase هنوز کامل اجرا نشده است وبعنوان یک اصل موردارزیابی قرار میگیرد، اما بخش های انتخاب شده  به تفصیل شرح داده شده است.یک بخش موضوع اصلی این مقاله، رتبه بندی و انتخاب از الگواست.


۱٫۴ بازنگری بازیابی:

مرحله اول، مرحله بازیابی است بمنظور توسعه یک نماینده از ورودی، برای استخراج مدارک و شواهد مربوط به آنتولوژی های اولیه از مجموعه  متن است. بیشترین روش های موجود OL بر همین تمرکز دارند، در نتیجه راه حل های جدیدی برای این مسئله در حال توسعه هست که در تحقیقات ما نیست. برای ادامه ی این مقاله فرض می کنیم که عبارت ها  و روابط عمومی را می توان از یک مجموعه متن استخراج کرد، و این که هر ورودی با یک مقدار اطمینانی همراه است و برای نشان دادن درجه ای از یقین آن درنظر گرفته شده است که واقعا مرتبط بوده و به درستی استخراج شده است.جزئیات بیشتر از چگونگی انجام این عملیات خارج از محدوده این مقاله در نظر گرفته شده است.

مرحله دوم از مرحله بازیابی که تمرکز این مقاله است نماینده های ورودی را با الگوی پایه مقایسه کرده و  مبتنی بر انتخاب الگوهای مناسب است. نتایج به دست آمده با هم مقایسه می شوند طبق معیارهای کیفیت الگو مورد استفاده برای تعیین رتبه کلی یک الگو. الگوها بنابررتبه های خود مرتب می­شوند و تا زمانی که معیار انتخاب تحقق یابند انتخاب می­شوند.


۲٫۴٫ رتبه بندی  الگو:

–  پوشش مفهوم:

برای تعیین پوشش مستقیم از عبارات استخراج شده بیش از مفاهیم یک الگو، تطبیق رشته ی برچسب های مفهوم استفاده شده است. پوشش مستقیم بر اساس کسری از مفاهیم الگوی Ciکه منطبق با یک عبارت  tiدرعبارات  استخراج شده از لیست T میباشد.هر عبارت استخراج شده یti با یک مقدار اطمینانِ conf(ti)همراه است همانطور که در قبل ذکر شده است. رشته ی تطبیقی بین عبارات و برچسبهای مفهوم، یک ارزش تشابهsim(ti,cj)به نمایندگی از درجه ی شباهت بین دو رشته تولید میکند(هرمعیار تطبیق رشته نرمال معمولی میتواند استفاده شود). سپس این مقادیر با مقدار وزن تطبیق برای هر تطبیق جزئی کشف شده تشکیل میشودو match(ti,cj) =conf(ti).sim(ti, cj ) . درک این است که  به تطبیقهای شامل عبارات با درجه اطمینان استخراج شده ی بالاتر، ارتباط بالاتر نسبت دهد. مقدار اطمینان و امتیاز تطبیق رشته  نرمال شده، بنابراین امتیاز تطبیق (match())همچنین مقادیری بین ۰ و ۱ فرض شده است. برای هر مفهوم پوشش مستقیم (dc())، حداکثر وزن ارزش تطبیق بصورت زیر محاسبه میشود:

(۱)

از آنجا که اغلب عبارات استخراج شده کاملا خاص هستند، به راه های اضافی برای پیدا کردن سرنخ ارتباط بین الگو وعبارات استخراج شده نیازهست. ما تمرکز اولیه بر روابط جایگزین ممکن  بین عبارات استخراج شده  و برچسب های مفهوم داریم. دو روش استفاده می شود، به دنبال اتصال در WordNet هستیم. ازطریق تطبیق دقیق رشته ، متناظر با واژه  WordNet است (در صورت وجود) که با wn(ti) نشان داده. تطبیق الگوی مفهوم Cj با دیکشنریWordNet می تواند  “offline”انجام شود و تشابه (نشان داده شده با wn(ci))همراه با الگوذخیره میشود. درزمان اجرا، هر wn(ti)برای برخی wn(ci)ها از یک مفهوم مورد بررسی فعلی جستجو میشود. پس از آن wn(ti) میتواند مترادف های مختلفی داشته باشد sen(wn(ti)).

– – – – – – – – – – – – – – – – – – – – – –  – – – – – – – – – – – – – – – – –

_____term5 ______ term6_____term7_____ term8

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Cj

Pattern1

Input representation

ti

WordNet

Wn(cj)=term8

– – – – – – – – – – – – – – – – – – – – – – – – – – – –

– – – – – – – – – – – – – – – – – –

Wn(ti)=term2

term1      term2

term4      term3

Synset

شکل ۱- استفاده از زنجیره hypernym  WordNet

شکل ۲- تطبیق ارتباطات

نمایش تعدای از مترادفها که میتواند مسیرهای مختلفی از wn(ti)وجودداشته باشد که همه ی آنها منجر به تطبیق wn(cj)برای مفهوم cj نمیشوند. اگر یک یا چند زنجیر hypernym بین عبارات پیدا شود (همانطور که در شکل ۱ نشان داده شده است)، تعداد زنجیره های  اتصال  wn(cj)  و wn(ti)با |paths(ti, cj)| نشان داده شده است و کوتاهترین زنجیر با pathmin(ti, cj). پوشش رده بندی(sub()) از مفهوم    میتواند بصورت زیر محاسبه شود:

(۲)

برای اینکه بعضی ارتباطات مفهوم Cjدر الگو مستقیم پیدا شوند،برای یک عبارت چند کلمه ای ti، “روابط عمودی” اکتشافی استفاده شده است. برای هر تطبیق تعدادی  اصلاح(کلمات اضافی قبل از عبارت الگو) با mod(ti,cj) مشخص میشود که اصلاح میشود(درمان میشود) شبیه یک مرحله در زنجیر hypernym دربالا. از آنجا که در حال حاضر هیچ اطلاعاتی در مورد حواس عبارات وجود ندارد این نادیده گرفته شده است. پس از آن این فرمول در فرم ساده فرمول ساده زیر میشود برای محاسبه پوشش ارتباط عمودی (vr()) از مفهوم cj

(۳)

پوشش هر مفهوم به عنوان مجموع سه امتیاز محاسبه شده که برای هر مفهوم از الگو میباشد (با حداکثر امتیاز برای هر مفهوم مجموعه با امتیاز ۱). تعداد کل مفاهیم الگوی فعلی P برابر است با n و تعدادی از مفاهیم است که تا به حال درنظر گرفته نشده اند، m است.سپس کل پوشش مفهوم (CC()) از لیست عبارتT می تواند محاسبه شود همانطور که در زیر نشان داده شده است:

Coverc(ck) = min((dc(ck) + sub(ck)+ vr (ck)) , 1)               (4)

(۵)

–       پوشش ارتباطات

ارتباط برای تطبیق ارتباط ، هر دو می توانند انجام شوند بر اساس برچسب ارتباط و در عبارت با یافتن تطبیق مفهوم در محاسبه مستقیم پوشش مفهوم. اگر T1 در نظر گرفته شده است برای مطابقت C1و T2در نظر گرفته شده است برای مطابقت با C2،  سپس ارتباط بین T1و T2ممکن است مطابق ارتباط  بین C1و C2با برخی درجه اطمینان باشد.  قطعی نیست که همان رابطه است، اگر هیچ سرنخ دیگری وجود ندارد، اما می توان آن را به عنوان فرض با سطح معینی از اطمینان اضافه کرد. اگر رابطه استخراج شده رابطه نامگذاری شده و سپس برچسب نیز مطابقت داده میشود، با استفاده از همان نوع تطبیق رشته که برای  عبارت با  مورد مفهوم قبلا توضیح داده شد.

برای هررابطه priاز مفهوم cdبه مفهوم crدر الگوی فعلی P ، بهترین تطبیق(درصورت وجود) از ارتباطات استخراج شده (همانطور که در شکل ۲ نشان داده شده)rj   از عبارت td به عبارت trاست. امتیاز سازگاری یک انطباق بر اساس امتیازات تطبیق نمونه ها از تطبیق های مفهوم مستقیم (dc()) و اطمینان استخراج شده rj محاسبه میشود که با conf(rj) مشخص میشود. هنگامی که برچسب های ارتباط تطبیق که sim(pri ,rj)نامیده شد، نشان دهنده رشته مشابه بین برچسب های رابطه است. ارزش امتیاز سازگاری رابطه ی الگوی priبرای هر رابطه استخراج شده ی   (که در آن، R مجموعه ای از تمام روابط استخراج شده است)، میتواند محاسبه شود  بعنوان rel(pri,rj)که :

پوشش رابطه کلی از یک رابطه الگوی نمونه بصورت زیر نشان داده شده است:

و سپس پوشش الگو، از تطبیق نمونه ها محاسبه می شود. تعداد کل روابط در الگوی P، با n  نشان داده شده است و تعداد روابط تطبیق داده شده با m مشخص شده است. پوشش کل ارتباط بصورت زیر است:

(۷)

–       اندازه گیری کیفیت:

هنگام ارزیابی سازگاری آنتولوژی، معیارهایی مانند مرکزیت، تراکم و شباهت معنایی به طور معمول استفاده می شوند. این هدف اصلی برای ارزیابی ساختار آنتولوژی بزرگتر است، اما با برخی تغییرات معیارهای مشابه را نیز می توان برای رتبه بندی الگو استفاده کرد. از جمله معیارهای ذکر شده ما  استفاده از مفهوم چگالی و یک نوع تشابه معنایی (که ما آن را “نزدیکی”نامیدیم)  را انتخاب کنید. معیارهایی مانند ساختار و ارتباط ، فقط (یا الگو) را به عنوان یک کل(مجموع) در نظر دارند و در نتیجه برای دادن سرنخ های مناسب بر روی سودمندی یک الگو بیش از حد خام هستند. مرکزیت استفاده نمی شود چون الگوها کوچک هستند، معمولا حداکثر یک یا دو سطح از تخصص طبقه بندی از قبیل تنظیم مرکزیت منطقی بنظر نمیرسد و عاقلانه نیست.

معیار چگالی(تراکم) انتخاب شده، نسخه ساده شده ای از معیاری که پیشنهاد شده است، با توجه به مفاهیم مرتبط تاکسونومیکی ، خواهر و برادر های تاکسونومیکی، و مفاهیم به طور مستقیم از طریق روابط عمومی در ارتباط هستند. دلیل اینکه روابط غیر مستقیم شامل نمیشوند این است که بطور محض ساده میشوند، و نمونه ها سمت چپ هستند چون ما برخوردمیکنیم با الگوهایی که درمحتوای هر نمونه انتظار نمی روند.

تعدادکل مفاهیم یک الگو ی P را با n نشان داده. تعداد مفاهیمی که هر تطبیق در ارزیابی پوشش مفهوم که قبلا با m مشخص شده بود (فرض کنیم Ciبه این مجموعه تعلق دارد).تعداد مفاهیمی که به طور مستقیم از طریق روابط taxonomic)طبقه بندی(Ciمتصل شده اند باtax(ci) نشان دادهشده ، و تعداد خواهران و برادران  با sib(ci)نشان داده شده است.تعداد مفاهیمی که به طور مستقیم از طریق روابط عمومی (روابط غیر طبقه بندی) Ciمتصلشده اند با re(ci) مشخص شده است. روی هم رفته، ما برای هر مفهوم بصورت زیر محاسبه میکنیم:

(۸)

برای هر مفهوم در نظر گرفته شده (Ciدر مجموعه Cکه شاملm  مفهوم است) در نهایت وزن مقدار چگالی با ارزش پوشش coverc(ci)  آن دریافت میشود، زمانی که در مرحله پوشش مفهوم منطبق میشود.

مجموع تمام وزنها که   است و برای نرمالسازی استفاده میشود. تراکم کامل الگوی p بصورت زیر محاسبه میشود:

(۹)

معیار نزدیکی، آن دسته از مفاهیمی را در نظر میگیرد که در برخی از تطابقات از طریق پوشش مفهوم در مجموعه cدر بالا بوده اند. فاصله dist(ci,cj) بین دو مفهوم ci و cjدر یک الگو به عنوان طول کوتاهترین مسیر بین مفاهیم محاسبه شده است، با در نظر گرفتن تمام روابط، به جز مسیرهای عبور “مصنوعی” گره ریشه (در حال حاضر در برخی زبانهای آنتولوژی). حداکثر فاصله (همانطور که در بالا تعریف شده) بین هر دو مفهوم در p، همسان یا نه، نشان داده است با diam(p).

سپس ارزش نزدیکی(مجاورت) c­­I , cj  میتواند بصورت زیر بیان شود:

اگر  :

اگر ci = cj یا اگر هیچ راه اتصالی وجود نداشته باشد :

ارزش مجاورت کل از الگوی pازطریق مجموع زیر نرمال میشود:

و محاسبه میشود بعنوان:

–        رتبه

به منظور ایجاد رتبه های (رده های) الگوهای خاص قابل مقایسه بین نمونه های مختلف فرآیند، همه نرمالسازی شده هستند هریک برمبنای الگوی خودش (به عنوان مثال برروی الگوی سایز). این به نفع مقایسه، از آنجا که یک الگوی رتبه حتی اگر الگوها اضافه شده است (به عنوان طولانی به عنوان ورودی یکسان است). این امر از مزایای مقایسه است، از آنجا که یک الگو با همان رتبه دریافت خواهید نمود حتی اگر الگوها اضافه شده باشند(تازمانیکه ورودی یکسان است).

چهار معیار باید در نهایت به یک مقدار جمع شوند. اگرچه ترکیبات پیشرفته تر می تواند قابل تصورباشند، به دلیل سادگی، ترکیبی خطی با وزن مساوی در چهار معیار مورد استفاده قرار می گیرد. score(p) = {v1, v2, v3, v4}در صورتیکه :

v1 = CC(p, T)  ,    v2 = RC(p,R)  ,   v3 =DE(p,C)    ,     v4 = PR(p,C)

ارزش رتبه بندی ترکیبی الگوی P می تواند به صورت زیر بیان شده است:

–        انتخاب الگو:

ساده ترین روش برای انتخاب الگو این است که به کاربر اجازه تعیین آستانه ارزش رتبه بندی داده شود، اما این خیلی انعطاف پذیر نیست. روشی که استادانه درست شده است، به منظور انتخاب آستانه به صورت پویا به بررسی پوشش کل الگوهای ورودی نماینده میپردازد. راه سوم این است که علاوه بر آن، افزایش در پوششی که هر گام در جهت رتبه بندی تولید  بررسی شود.  ابتدا استفاده از ترکیب دو روش را داریم، تعیین آستانه برای پوشش مناسب و  تعیین آستانه برای رتبه الگوی خودش.

پوشش الگوهای انتخاب شده را می توان با استفاده از تطبیق داده درفرآیند رتبه بندی محاسبه کرد. از آنجا که ممکن است الگوها همپوشانی داشته باشند(در این مرحله دو شکل هندسی اولیه ی هم نوع با برچسب مساوی، یکسان در نظر گرفته شده است) و تمام شکلهای هندسی اولیه باید به طور مستقل در نظر گرفته شود. به عنوان مثال اگر دو الگو هرکدام ۵۰٪ از ورودی را پوشش  دهند، این لزوما به این معنی نیست که آنها با هم ۱۰۰٪ از ورودی را پوشش داده اند. در بدترین حالت، قطعات(بخشهای) منطبق شده یکسان هستند، درآن زمان انتخاب هر دو الگو تنها ۵۰ درصد پوشش کل را دارند.

این پوشش نیز هنوز “نامشخص” است، فقط در طی فرآیند رتبه بندی است. پوشش مجموعه ای از الگوهای Pبیش از مجموعه ای از شکلهای هندسی اولیه ورودی  است (عبارات استخراج شده ی  Tو روابط R) که می تواندبصورت زیر بیان شوند:

(۱۲)

که در آن ارزش از طریق  نرمالسازی میشود،  که در آن conf(primI)  ارزش اطمینان اصلی از شکلهای هندسی اولیه استخراج شده است، و جایی که  بیانگر حداکثر پوشش جزئی هر الگوی اولیه برروی یک ورودی خاص اولیه است. اینکه پوشش بیانگر پوشش مفهوم (coverc() در معادله (۴)) است یا بیانگر پوشش رابطه (coverc()  در معادله ۶)وابسته به مقدار اولیه(شکل هندسی)، که اگر یک رابطه یا یک واژه باشد.
۵٫ آزمایشات اولیه:

یک آزمایش اولیه انجام شده است با استفاده از این رویکرد است. در آزمایش تمرکز بر روی تضاد ویژگی های خاص در مقایسه با رتبه بندی OntoCaseبا روشهای مشابه ، رتبه بندی آنتولوژی و مبتنی بر جستجو کلید واژه است ، اما این یک ارزیابی کامل در نظر گرفته نشده است.

Table 1: Example Patterns

Topic description

Conc.

Name

Classification of product category concepts

۱۱

Product categories

a)

Describing work effort connected to requirements organisations and work effort categories.

۲۴

Work effort

b)

Steps and techniques in validation and testing

۱۹

Validation

c)

Types of actions and their connections to plans

۸

Actions

d)

General tasks of requirements analysis

۴

Requirements analysis

e)

Taxonomy of organisation concepts

۸

Organisations

f)

Classification of different parties

۱۴

Parties

g)

Categories of associations between products

۱۰

Product associations

h)

Types of positions and their fulfilment by a party

۷

Positions

i)

Categories of product features and their attributes

۲۴

Product features

j)

از یک مجموعه الگودر آزمایش های پژوهش های قبلی استفاده شده است  که ۱۰ الگو به طور تصادفی انتخاب شدند. با توجه به محدودیت فضا این امکان پذیر نیست برای نشان دادن جزئیات هر الگو، اما در جدول۱، موضوع عمومی و تعدادی از مفاهیم هر الگو ارائه شده است، و یک الگو بطورمثال در بخش ۵٫۲ نشان داده شده است. شایان ذکر است که همه الگوها “متصل” (درمعنای گراف) هستند. دامنه عمومی آزمایش برای الگوهایی است که دراصل مورد استفاده ی توسعه صنایع با تمرکز بر مهندسی نیازها قرار گرفته اند، و الگوها در دامنه خاص نیستند(باتوجه به حوزه صنعت). یک زیر مجموعه از متون مورد استفاده برای آزمایش مشابهی که در بالا ذکر شده انتخاب شد و متون به یک مجموعه کوچک از شش سند کوتاه کاهش می یابد. ریشه متون مربوط به  شرح فرایند و برنامه های پروژه ی یک شرکت واحد هستند. بر اساس این متون الگوهای ابتدا بصورت دستی مرتب میشوند از طریق کارت های مرتب سازی مانند روش به منظور اجازه دادن به یک مهندس آنتولوژی هر جفت ممکن از الگوها بر اساس تناسب درک است. این فرایند دو بار انجام شد، یک بار با آموزش الگوهای مرتب بر اساس محتوای موضعی و یک بار به ترتیب با توجه به ساختار و کیفیت درک شده است. ترکیبی از این دو ترتیب منجر میشود به  رتبه بندی دستی الگوها که برای مقایسه بارتبه بندی به صورت خودکار که با ترتیب رتبه بندی زیرمحاسبه میشود استفاده می شود. آن نمیتواند به عنوان ترتیب”درست” الگوها تصورشود، و تنها به عنوان نشانه ای است از اینکه چگونه یک مهندس آنتولوژی خاص ، الگوها را تصور میکند. مجموعه متن برای ارزیابی دستی مورد استفاده قرارگرفت و سپس توسط یک سیستم OL موجود پردازش شد . نتایج برای ۴۸ واژه (آستانه فرکانس ۱۰) و ۶۰ رابطه، که هر یک مرتبط به یک مقدار اطمینان است. این استخراج به عنوان یک عامل اصلی در این آزمایش در نظر گرفته نمیشود از آنجا که تمام رتبه بندی به صورت خودکار برمبنای ورودی یکسان بوده، اما در مقایسه با رتبه بندی دستی تحت تاثیر قرار داده . اول، جستجو کلید واژه(تطبیقدرستونادرست) مورد استفاده قرار گرفت ورتبه بندی الگوها براساس اینکه چقدر ازواژه های کلیدی در الگوحاضربودند.  تطبیق نادرست بر اساس گنجاندن رشته بود، چگونه بخش بزرگی از یک رشته توسط دیگر رشته ها پوشیده شده بود. در آزمایش، آستانه عبارات را به عنوان “تطبیق” با ۰٫۵ راه اندازی شد.رتبه در اینجا بخشی از مفاهیم الگوی منطبق شده است.

سپس، رتبه بندی با استفاده از طرح رتبه بندی آنتولوژی AktiveRank انجام شد، از آنجایی که این بیشتر شبیه طرح رتبه بندی مشابه در میان کارهای مرتبط در نظر گرفته شده است. در مورد معیار چگالی(تراکم) کمی ساده­سازی انجام شده بودکه تعدادی روابط غیر مستقیم را از بین برد(که در آن ابهامات فرمول وجود دارد و توضیح متنی مورد استفاده قرار نگرفت).

در نهایت، روش رتبه بندی الگوی OntoCase ارائه شده در این مقاله استفاده شد. بعنوان یک معیار تطبیق رشته نادرست  ازهمان رشته است که در روش قبلی مورد استفاده قرار گرفت. مقایسه نباید به عنوان یک ارزیابی کامل از پژوهش پیشنهاد شده ارائه شود، بلکه صرفا به عنوان یک نشانه از مفید بودن آن است.ارزیابی دقیق تر هنوز هم بخشی از کار در آینده است.


۵٫۲ مثال محاسبه رتبه بندی :

برای نشان دادن روند واقعی محاسبه امتیاز رتبه بندی از یک الگوی خاص، ما به یکی از نمونه های الگو نگاه میکنیم و در حال حاضر مراحل در جزئیات است. برای فهم بیشتر این مثال یکی از کوچکترین الگوها ، الگوی موقعیت (الگویiدر جدول ۱) انتخاب شده است.این الگو را می توان به عنوان ساختار گراف همانطور که در شکل ۳ نشان داده شده است نمایش داد.

Position_Type

Position_Status

Has_Type

Has_Type

Position

Within

Fulfillment_of

Fulfillment_of

Position_Fulfillment

Fulfilled_by

Person

super

sub

Party

super

sub

Organisation

شکل ۳- یک الگوی طراحی آنتولوژی از جمله مفهوم position

در مورد این الگو، واژه نطبق نیست بر برچسب مفهوم بنابراین dc(ci)=0  برای تمام Ciها در الگوی موقعیت . از سوی دیگر، هم برچسب های مفهوم فرد(person) و هم سازمان تحت پوشش مجموعه ای ازعبارات هستند از طریق زنجیره hypernymیWordNet. چهار عبارت، “مهندس”، “طراح”، “توسعه دهنده” و “مدیر” (engineer, designer, developer and manager ) می تواند در WordNet، hyponymsی شخص (person)باشند. در مورد”مهندس” به عنوان مثال، دارای دو معنا(sense) در WordNet است و  مهندس یک hyponym مستقیم از فرد(person) است. سهم این برای پوشش subsumption کل فرد است و سپس  ، و وزن­دار میشود با درجه اطمینان  0.5 * 0.61 = 0.305  . سهم سه عبارت دیگر خلاصه میشوند و در نتیجه sub(person)=0.845 (معادله ۲). شبیه پوشش سازمانی تعیین میشود با sub(organization) =0.677 . اکتشاف عمودی هر سهم را نمی دهد، به طوری که کل پوشش ها  برابر با پوشش subsumption است، و در نتیجه  coverc(person) = 0.845، coverc(organisation) = 0.677و coverc(ci) = 0 برای تمام CIهای دیگر در الگو (معادله۴).بنابراین پوشش مفهوم الگو (با توجه به معادله ۵):

تطابیق مفهوم مستقیم در این الگو یافت نمی شد، بنابراین هیچ تطبیق رابطه ای را در این راه روش نمی توان یافت. به علاوه هیچ تطبیق برچسب های رابطه ، به طوری که در کل هیچ تطبیق رابطه ای را نمی توان یافت، از آنجا که برچسب های تطبیق رابطه متکی بر پوشش مستقیم مفهوم dc()  و برچسب تطبیق است. در هنگام محاسبه ارزش کیفیت برای الگو تنها دومفهوم منطبق شده ی شخص و سازمان استفاده می شود. در هنگام محاسبه چگالی مفهوم شخص ، آن ذکر میکند که فرد دارای یک مفهوم مرتبط تاکسونومیکی است، عبارتنداز بخش superconcept ، اما آن نیز دارای یک خواهر و برادر در طبقه بندی، یعنی سازمان است. علاوه بر این فرد مرتبط است با مفهوم positionfulfillment. بنابراین چگالی فرد بصورت محاسبه میشود    (با توجه به معادله ۸). پس از محاسبات مشابه برای مفهوم سازمان، نمره تراکم کل می تواند به صورت زیر محاسبه شود(با توجه به معادله ۹):

بعد آن، نزدیکی بین همه جفتهای ممکن از مفاهیم همسان باید در نظر گرفته شود. در این مورد، فقط یک ترکیب ممکن وجود دارد، که جفت شخص – سازمان است. طول کوتاه ترین مسیر بین دو مفهوم ۲ و  قطر الگو۳ است. بنابراین نزدیکی فرد و سازمان برابر است با:

و امتیاز نزدیکی کل الگو برابر است (با توجه به معادله ۱۰) با:

در نهایت، رتبه الگو از طریق ترکیب چهار معیار با وزن های برابر (با توجه به معادله ۱۱) محاسبه شده است.ارزش رده بندی نهایی برابر است با:

Rank(positions) = 0.25 * 0.217 + 0.25 * 0 + 0.25 * 0.428 + 0.25*0.524 = 0.292

۵٫۳ نتایج و تجزیه و تحلیل:

۱۰

۹

۸

۷

۶

۵

۴

۳

۲

۱

Method-Position

f)

g)

c)

a)

d)

e)

j)

h)

i)

b)

Manual

e),g),i)

j)

c)

a)

h)

b),d),f)

Keyword

g),i)

a)

h)

c)

d),f)

j)

b),e)

Keyword(inexact)

g),i)

d),f)

e)

c)

h)

a)

b)

j)

AktiveRank

e)

d)

g)

f)

j)

i)

e)

a)

b)

h)

OntoCase

جدول ۳- ترتیب رتبه بندی (۱۰-۱) الگوها (a-j) با استفاده از روش های مختلف رتبه بندی

نتیجه آزمایش رتبه بندی را می توان در جدول ۲ مشاهده کرد. از آنجا که هیچ کدام از ترتیب رتبه بندی نشان دهنده رتبه بندی “درست” نیست و ممکن نیست کارآیی الگوریتم های رتبه بندی بطور کامل ارزیابی شود. ما به جای آن سعی به تجزیه و تحلیل ویژگی های عمومی، و پیدا کردن مزایا و اشکالاتی برای حالت خاصی از رتبه بندی الگو برای ساخت خودکار آنتولوژی داریم.

نخست، توجه داریم که برخی از الگوها به میزان زیادی رتبه بندی شده اند با تمام روش ها، مانندالگوی  B مربوط میشود به تلاش کار. این تعجب آور نیست، چون که متون از برنامه ها و مستندات فرآیند جمع آوری شده است. علاوه بر این، الگو عمدتا از همان واژه ها بعنوان متن استفاده میکند چراکه رتبه بندی بالا حتی با استفاده از تطبیق عبارت دقیق است.  در حالت کلی هر چند، الگوها نادر و کاملا در دامنه خاص خواهد بود.

الگوهای انتزاعی و با دامنه مستقل خیلی رایج تر خواهد بود ، مانند الگوی i، الگوی موقعیت شرح داده شده در بخش قبلی.برای یک ارزیاب انسان، آن برای رتبه بندی یک الگوخیلی طبیعی است، از آنجا که برنامه ها و مستندات فرایند بر موقعیت های(وضعیتهای) مختلف برای پروژه های مختلف که به نوبه خود توسط افراد خاص پر شده است تمرکزدارند. در آزمایش ارائه شده در بالا، خارج از روش رتبه بندی اتوماتیک OntoCase ، تنها قادر به پیدا کردن ارتباطات بین عبارات استخراج شده خاص و مفاهیم کلی تر است، و در نتیجه رتبه این الگو بیشتر به طور مستقیم است.

علاوه بر این، با AktiveRank مقایسه میشود که تاثیر استثنائات مرکزیت و تنظیم معیارها در OntoCase قابل توجه است. AktiveRank عموما با الگوهای بزرگ با یک ساختار طبقه بندی قابل توجهی بزرگتر نسبت به روش Onto-Case رتبه بندی میشود. نمونه هایی از این ها را می توان در رتبه بندی از الگوهای J و C (دو تا از بزرگترین الگوها)، که در هر دو مورد پنج مرحله رتبه بندی بین AktiveRank و Onto-Case متفاوت دیده می شود. به طور کلی، برای افزایش قابلیت استفاده مجدد و composability(ترکیب)،الگوها کمی منطقی و انتزاعی هستند، و در نتیجه واضح است که OntoCase برای ارزیابی این قبیل الگوها مناسبتر است.


۶٫ شبیه­ سازی و تشریح پیاده ­سازی:

همان­طور که گفته شد در این مقاله از آنتولوژی WordNet استفاده شده است که بدین ­منظور WordNet3.0 را دانلود و در مسیر زیر C:\Program Files\WordNet\3.0کپی کرده وبرای فراخوانی آن در ابتدای تابع اصلی پروژه فرمان زیر را اضافه کرده:

Wnlib.WNCommon.path = @”C:\Program Files\WordNet\3.0\dict\”;

سپس به­ منظور استفاده از کلاس­ های آن می ­بایست در مسیر پروژه فایل هایی که در زیر آمده است را کپی کرده:

در گام بعدی، دو فایل input.txtو pattern.txt را در مسیر پروژه، در پوشه bin\Debug…. ایجادکرده که به­ترتیب شامل واژه­ های ورودی و الگو می­باشند.

هدف این است طبق مثالی که در بخش ۵٫۲ آمده مشخص شود که واژه­ هایی که در فایل input.txtموجود هستند به کدام­یک از الگوهای موجود در فایل pattern.txtبیشتر شبیه است. بدین ­منظور:

در تابعی به­ نام LoadInput() کلیه عبارات ورودی را از فایل input.txtخوانده.

(نکته: چنانچه بخواهیم شباهت ارتباطات در گرافی را نیز مورد بررسی کافی است هر واژه را آرایه­ ای ۳تایی گرفت(مشخص شده با//) که برای سادگی تشریح تک واژه درنظر گرفته شده است.

private void LoadInput(string dataset)

{

StreamReader dataset_file = new

StreamReader(@”D:\uni90\term3,4\

Semantic_web\prog\final\WordNet

\WordNet\bin\Debug\input.txt”);

int k, i = 0;

string line;

while ((line = dataset_file.ReadLine()) != null)

{

//string[] txt = line.Split(‘,’);

//  for(k=0;k<txt.Length;k++)

//Input_st[i] = txt[k];

Input_st[i] = line;

i++;

}

len_i = i;

}

سپس در تابعی به ­نام LoadPattern() کلیه الگوها را از فایل Pattern.txtخوانده.

private void LoadPattern(string dataset)

{

StreamReader dataset_file=new

StreamReader(@”D:\uni90\term3,4\

Semantic_web\prog\final\WordNet

\WordNet\bin\Debug\pattern.txt”);

int k, i = 0;

string line;

while ((line = dataset_file.ReadLine()) != null)

{

pattern_st[i] = line;

i++;

}

len_p = i;

}

در نهایت برای دریافت نزدیکترین الگوی هر عبارت تابع SearchInput را نوشته که در آن با استفاده از کلاس SentenceSimilarity و تابعGetScor()  امتیازهای شباهت هر ورودی را با تک تک الگوها گرفته و در نتیجه به الگویی که بیشترین شباهت را دارد نزدیکتر می­باشد.

private void SearchInput(string dataset)

{

float[,] Simialrity = new float[len_i, len_p];//2 is input size

int i, j, k;

SentenceSimilarity semsim = new SentenceSimilarity();

for(i=0;i<len_i;i++)

for (j = 0; j < len_p; j++)

{

Simialrity[i, j] = semsim.GetScore(Input_st[i], pattern_st[j]);

}

}

Add a Comment

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پاسخ من را به ایمیلم ارسال کن

پرفروش ترین محصولات

جدید ترین محصولات


مشاوره می خواهید؟ ما همیشه آنلاین هستیم. در هر حوزه ای در تلگرام یا واتس آپ با شماره تلفن 09367938018 ارتباط بگیرید
+