درسنامه ها و مقالات

سورس کد پروژه پردازش تصویر متن دست نوشته با svm

درسنامه ، مقاله، تحقیق، پروژه | 19 May, 2018 02:12

مشخصات کلی پروژه
زبان پیاده سازی: سی شارپ #C
الگوریتم: SVM- support vector machine
حجم داده : 1000 عدد (800 داده آموزش و 200 عکس برای تست)
پروژه آماده، دانلود پروژه پردازش تصویر، دانلود پروژه آماده، تشخیص عدد، تشخیص عکس، پروژه دانشجویی
در این پروژه که برای شما آماده کردم. اعدادی که بصورت نقاشی هستند و دست نویس به سیستم داده میشن و سیستم پس از یادگیری اونها توسط الگوریتم svm (support vector machine) یا همان ماشین بردار پشتیبان، توانایی تشخیص این رو پیدا میکنه که هر تصویر چه عددی رو داره نمایش میده.
درتصویر زیر نمای برنامه رو پس از بارگزاری دیتای برنامه از منوی فایل نمایش میده.

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

 
برای دریافت پروژه اینجا کلیک کنید
 
 
 
 

گویش‌های غیر استاندارد RIF

درسنامه ، مقاله، تحقیق، پروژه | 29 January, 2014 19:27


در شرایطی که گویش‌های RIF پاسخگوی نیاز یک سیستم قانون مشخص نباشند، میبایست امکان تعریف گویش جدید، از طریق توسعه گویش‌های قبلی وجود داشته باشد. این گویش‌های جدید، میبایست توسط سیستم‌هایی که از گویش‌های استاندارد پشتیبانی می‌کنند، قابل مدیریت باشند. چند گویش RIF جدید وجود دارد که از جمله آن‌ها می‌توان به گویش برنامه نویسی مجموعه جواب (CASPD) ، گویش قانون غیر قطعی (URD) و SILK اشاره کرد. اما هیچ کدام از آن‌ها به صورت رسمی‌توسط کنسرسیوم وب جهانی مورد تایید قرار نگرفته اند و بنابراین بخشی از مشخصات RIF نیستند.


گویش‌های استاندارد و اصلی RIF

درسنامه ، مقاله، تحقیق، پروژه | 29 January, 2014 19:24


گویش ها می‌توانند در دو دسته گویش‌های مبتنی بر منطق و گویش‌هایی برای قوانین تولید، قرار گیرند.

گویش‌های مبتنی بر منطق، شامل زبان‌هایی هستند که از انواع مختلف منطق استفاده می‌کنند، مانند منطق مرتبه اول، یا منطق‌های غیر مرتبه اول. گویش‌های قوانین تولید نیز شامل سیستم‌های قوانین تولید (مانند Jess، Drools و JRules) و قوانین واکنشی یا همان رخداد-شرط-عمل (مانند Reaction RuleML و XChange) هستند.

در حال حاضر، درRIF  تنها دو گویش مبتنی بر منطق وجود دارد: گویش منطقی پایه (RIF-BLD)، که از قوانین اعلانی که در بالا ذکر شد پشتیبانی می‌کند و گویش هسته (Core) که زیر مجموعه ای مشترک با گویش‌های RIF-BLD و RIF-PRD می‌باشد. گویشی که برای پشتیبانی از قوانین تولید وجود دارد، گویش قوانین تولید یا RIF-PRD می‌باشد.

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


سازگاری RIF با RDF و OWL

درسنامه ، مقاله، تحقیق، پروژه | 29 January, 2014 19:21


طراحی RIF به گونه ای بوده که با سایر استاندارد‌های وب  سازگاری داشته باشد. از این رو قوانین قابل تبادل توسط RIF می‌توانند در ترکیب با داده‌های RDF، RDFS و هستان‌شناسی ‌های OWL مورد استفاده قرار گیرند.

بنابراین، در RIF امکان تبادل میان سه‌گانه[1]‌های RDF و یا axiom‌های OWL 2 با مجموعه قوانین RIF، وجود دارد. RIF برای برقراری ارتباط با RDF یا OWL از قالب نحوی خودش استفاده می‌کند. این قالب ها به سه‌گانه‌های RDF نگاشت می‌شوند و امکان تبادل را فراهم می‌آورند.

سند RIF-RDF+OWL، امکان تبادل همکاری میان RIF و این استاندارد‌های وب معنایی را نشان می‌دهد. بعلاوه نحو و معنای زبان‌های ترکیبی RIF+RDF و RIF+OWL 2 را نیز تعریف می‌کند.  

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

مطابق با توضیحات ذکر شده برای سازگاری RIF با RDF، می‌توان از روش‌های مشابه برای سازگاری RIF با OWL استفاده کرد


چارچوب توالی XML

درسنامه ، مقاله، تحقیق، پروژه | 28 January, 2014 18:25


چارچوب توالی XML یک نگاشت اصولی از نحو ارائه RIF-FLD به XML فراهم آورده و یک شِمای XML اصولی برای نحو XML تعریف می کند. نحو گویش های منطقی با بهره گیری از این نگاشت می تواند به نحو XML تبدیل شود و بدین صورت ارتباط میان سیستم های قانون گوناگون امکان پذیر خواهد شد.

 یک سند RIF-FLD معتبر که با KPN XML بیان شده در صورتی یک سند XML  نیز به حساب می آید که مطابق با شِمای XML باشد. RIF0FLD از XML1.0 ، برای نحو XML خود استفاده می کند. 

چارچوب معنایی RIF-FLD

درسنامه ، مقاله، تحقیق، پروژه | 28 January, 2014 18:24

 

چارچوب معنایی RIF-FLD مفاهیمی را برای ساختار های معنایی و مدل های مرتبط با فرمول های RIF-FLD فراهم می کند. معنای یک گویش از طریق تخصیص پارامتر های زیر، از این مفاهیم به دست می آید.

 اثر نحو

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

مقادیر درستی

چارچوب معنایی RIF-FLD به فرمول ها این امکان را می دهد تا مقادیر درستی خود را از یک مجموعه دلخواه از مقادیر درستی که به صورت جزئی مرتب شده اند انتخاب کند. طراحی RIF-FLD به گونه ایست که با گویش هایی که از استدلال با اطلاعات ناسازگار و غیر قطعی پشتیبانی می کنند، مطابقت دارد. بیشتر این گویش ها چند مقداری هستند. به همین دلیل، RIF-FLD فرض می کند مجموعه ای از مقادیر درستی وجود دارد که شامل مقادیر t (درست)، f (نادرست) و سایر مقادیر ممکن می باشند.

انواع داده

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

Directiveها ، اتصال دهنده ها و نقاط توسعه

این قسمت شامل تخصیص تعاریف directiveهای RIF-BLD و اتصال دهنده های منطقی می باشد. معنای اجزای نحوی متناظر با نقاط توسعه RIF-FLD نیز در این قسمت قرار می گیرد.

استلزام منطقی

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

استلزام منطقی در RIF-FLD با توجه به مجموعه نامشخصی از ساختارهای معنایی در نظر گرفته شده، تعریف می شود. این مفهوم از استلزام بسیار عمومی بوده و برای استنتاج اکثر معانی منطقی شناخته شده برای سیستم های مبتنی بر قانون، شناخته می شود. یک گویش RIF میبایست ساختارهای معنایی در نظر گرفته شده را تعریف کند.

 

چارچوب نحوی RIF-FLD

درسنامه ، مقاله، تحقیق، پروژه | 28 January, 2014 17:58


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

در واقع در این چارچوب نحوی، نحو ارائه RIF-FLD معرفی می شود که می توان بر اساس آن، نحوی برای ارائه گویش های منطقی دیگر به دست آورد. 

1- ترم ها

ساختار پایه یک زبان قانون، ترم‌ها هستند. این چارچوب انواع ترم های زیر را تعریف می کند: 

  

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

 ترم های موضعی/مکانی: اگر t و t1,…,tn ترم باشند، آنگاه t(t1 ... tn) یک ترم مکانی خواهد بود. این ترم ها مشابه ترم های معمول در منطق مرتبه اول هستند، با این تفاوت که نماد ها لزوما به individual ها، توابع یا مسند ها افراز نمی شوند(این محدودیت ها بسته به گویش می توانند متفاوت باشند). به علاوه متغیر ها می توانند در هر جایی که یک ترم می تواند قرار داشته باشد، قرار گیرند. بنابراین یک ترم مکانی می تواند مانند یک ترم hilog  باشد و عباراتی با ساختار زیر می توانند مجاز باشند. ?X(abc ?W)(?Y ?Z(?V 33))

ترم ها با آرگومان های دارای نام: این ترم ها مشابه ترم های مکانی هستند و آرگومان های یک ترم می توانند دارای نام باشند و ترتیب این آرگومان ها نیز در داخل چنین ترم هایی اهمیت ندارد.

ترم های لیست: این ترم ها متناظر با ترم های برنامه نویسی منطق هستند و از آنها در RIF-BLD استفاده می شود. حالت محدودتر آن ها نیز در گویش RIF-Core و RIF-PRD استفاده می شود. ترم های لیست دارای دو نوع هستند: باز و بسته.

لیست های بسته دارای قالب List(t1 ... tm) هستند، به گونه ای که m>=0 و t1,…,tm ترم هستند. لیست های باز دارای قالب List(t1…tm t) هستند که در آن m>0 و t1,…,tm , t ترم هستند. لیست های باز در نحو نمایشی به صورت List(t1 ... tm | t) نمایش داده می شوند. آرگومان  t در انتهای لیست نشان دهنده دنباله لیست بوده و از این رو خود یک لیست می باشد.

 

ترم های تساوی: یک ترم تساوی دارای قالب t=s می باشد که t و s هر دو ترم هستند.

ترم های دسته بندی: این ترم ها از منطق مرتبه اول گرفته شده اند و دارای دو نوع می باشند: ترم های عضویت کلاس(یا بطور ساده ترم های عضویت) و ترم های زیرکلاس. t#s یک ترم عضویت است و نشان می دهد که شئ t یک نمونه یا عضو از شئ کلاس s می باشد. t##s یک ترم زیرکلاس است و نشان می دهد که t زیر کلاس s می باشد.

ترم های قاب : یک ترم قاب، برای توصیف خصیصه های یک شئ استفاده می شود. مشابه ترم های با آرگومان های دارای نام، در ترم های قاب نیز ترتیب خصیصه ها در یک قاب فاقد اهمیت است. نحو فرم ها مشابه با آرگومان های دارای نام است، اما از نظر معنایی با هم تفاوت دارند. یک قاب دارای قالب t[p1àv1 ... pnàvn]  می باشد که در آن t, p1, ..., pn, v1, ..., vn ترم هستند. t مشخص کننده یک شئ، pi ها، خصیصه های آن و vi ها مقادیر مربوط به هر خصیصه می باشند.

ترم های تعریف شده خارجی: از این ترم های برای نمایش توابع و مسند های Built-in استفاده می شود. اگر ترم t یک ثابت، ترم دارای نام، تساوی، دسته بندی یا ترم قاب باشد، آنگاه External(t loc) یک ترم تعریف شده خارجی می باشد. قسمت loc نقش مکان یاب منبعی را دارد که ترم خارجی t را تعریف می کند.

ترم های فرمول: RIF-FLD چندین نوع فرمول تعریف می کند که بیشتر آنها را از منطق های دیگر گرفته شده است.  هر فرمول دارای اجزایی مانند مسند ها، ثوابت، متغیر ها، پرانتز ها و غیره می باشد. فرمول ها می توانند شامل ترکیب های عطفی (AND)، فصلی (OR) و سورهای عمومی و وجودی باشند. این نماد ها، به صورت پیشوندی نمایش داده می شوند. همچنین، ایجاب، در RIF-Core به صورت عبارت if A then B بیان می شود، اما در نحو ارائه RIF-BLD به صورت B :- A نمایش داده می شود. نفی کلاسیک نیز در منطق مرتبه اول با نماد NEG و نفی پیش فرض در برنامه نویسی منطق با نماد NAF نمایش داده می شوند.

ترم های تجمعی: یک ترم تجمعی دارای قالب sym ?V[?X1 ... ?Xn] می باشد که در آن sym نمادی برای نشان دادن تابع تجمعی است. تابع تجمعی می تواند Min، Avg، Sum و... باشد. عبارت  ?V, ?X1, ..., ?X نیز نشان دهنده متغیر ها می باشد.

 

ترم های راه دور: یک ترم راه دور دارای قالب φ@r  می باشد که در آن φ یک ترم بوده و r می تواند ثابت، متغیر، ترم مکانی یا آرگومان دارای نام باشد.  از این ترم ها برای پرس و جو بر روی اسناد RIF راه دور، که ماژول های راه دور نامیده می شوند، استفاده می شود. در واقع r یک ارجاع است که از آن برای شناسایی ماژول راه دور استفاده می شود.

 

2- IRI ها

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

در RIF، به منظور رفع ابهام، از IRI ها(شناسه های بین المللی منابع) استفاده می شود. یک IRI، یک آدرس وب است که معمولا شامل اطلاعات در مورد جایی است که ثابت مورد نظر به آن اشاره دارد. 

3-  Directive ها

Directive ها دارای انواع مختلفی هستند که در ادامه تشریح خواهند شد.

 Dialect Directive

یک dialect directive دارای قالب Dialect(D) می باشد که در آن D یک رشته Unicode است که نام گویش را مشخص می کند. این directive مشخص کننده گویش یک سند RIF می باشد. برخی از گویش ها این directive را در کلیه مستنداتشان نیاز دارند، در حالی که برخی دیگر، به ویژه RIF-BLD اجازه استفاده از این Directive را نمی دهند و به نحو های دیگری متکی هستند.

 Base directive

IRI  های پایه با استفاده Base directive مشخص می شوند. یک base directive دارای قالب Base(<iri>;) می باشد، که در آن iri یک رشته  unicodeمی باشد و مشخص کننده یک IRI است. هر سند حداکثر می تواند یک base directive داشته باشد.

 Prefix Directive

نوشتن IRI ها به صورت کامل به ازای هر ثابت، کاری دشوار می باشد، لذا در نحو ارائه، عملیاتی و سایر نحوهای فشرده RIF، از طریق استفاده از اعلان فضاهای نام، می توان IRI ها را با اختصار بیشتر بیان کرد.

یک prefix directive دارای قالب Prefix(p <v>;) می باشد، که در آن p یک رشته الفبایی رقمی است که نام پیشوند را مشخص می کند(فضای نام) و v توسعه ای برای p می باشد، رشته ای که IRI را شکل می دهد. (یک رشته الفبایی رقمی دنباله ای از کاراکتر های اسکی می باشد که می تواند حرف، رقم یا "_" باشند، و با یک حرف شروع می شوند). پس از تعریف فضای نام، نام ثابت به صورت p:v در قوانین به کار می رود.

 

 Import Directive

یک import directive می تواند دارای دو قالب Import(loc) یا Import(loc p) باشد. loc یک مکان یاب است که به طور یکتا، تعدادی سند دیگر را، که در سند مورد نظر، import  شده اند، مشخص می کند. قالب اصلی مکان یاب loc، پروتکلی که مکان یاب ها را با مستندات مرتبط می کند و نئع سند import شده توسط هر گویش مشخص می شود. آرگومان p دنباله ای از کاراکتر های Unicode است که نمایه import نامیده می شود و مشخص می کند چه نوع موجودیتی، تحت چه معنایی می تواند import شود. از اینdirective   برای import کردن موجودیت های غیرRIF، مانند داده های RDF یا هستان شناسی های OWL استفاده می شود.

 Remote module directive

این directive دارای قالب Module(n loc) می باشد، که در آن n، یک ترم فاقد متغیر است، که نام داخلی ماژول راه دوری که به سند پیوند خورده است را، نشان می دهد. این همان نامی است که ماژول تحت آن در سند مورد ارجاع قرار می گیرد. loc، نیز مکان یاب سند است که شامل قوانین و داده های ماژول می باشد.

4- فضاهای نماد

در RIF، هر ثابت به یک فضای نماد تعلق دارد. به عبارت دیگر می توان گفت که فضای نماد، نوع ثابت را مشخص می کند. نمایش یک ثابت در یک فضای نماد RIF خاص، به صورت "literal"^^<symbolSpaceIri> می باشد.

5- حاشیه نویسی

RIF-FLD به ترم ها و فرمول ها این امکان را می دهد تا به صورت اختیاری حاشیه نویسی شوند. حاشیه نویسی دارای قالب (* id φ *) می باشد که در آن id یک ثابت بوده و φ یک فرمول RIF می باشد. هر دو عنصر داخل حاشیه نویسی اختیاری می باشند. قسمت id  نشان دهنده شناسه یک ترم یا فرمول می باشد که حاشیه نویسی به آن ضمیمه[20] شده است. قسمت  φنیز باقیمانده حاشیه نویسی است که RIF-FLD هیچ گونه محدودیت خاصی را به آن اعمال نمی کند. از اینرو φ می تواند شامل متغیر ها، نماد های تابعی، ثابت ها و غیره باشد.

حاشیه نویسی، قبل از ترم یا فرمول مورد نظر قرار می گیرد. به عنوان مثال (* id φ *) t[w -> v]. این مسأله باعث ایجاد ابهام می شود که آیا حاشیه نویسی مربوط به ترم t بوده یا مرتبط با قاب t[w -> v] می باشد. برای رفع ابهام، RIF-FLD حاشیه نویسی را به بزرگ ترین فرمولی نسبت می دهد که در سمت راست حاشیه نویسی قرار دارد. بنابراین در مثال بالا، حاشیه نویسی متعلق به قاب [w -> v] می باشد.

 

در RIF-FLD برای حاشیه نویسی و  افزودن اَبَرداده ها می توان از خصیصه های موجود در Dublin Core، RDFS و OWL مثل owl:versionInfo، rdfs:label، rdfs:comment، rdfs:comment، dc:creator، foaf:maker و غیره استفاده کرد. 

6- ترم های خوش-قالب و امضا ها

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

از این رو با بهره گیری از امضا ها می توان کنترل کرد که کدام نماد ها می توانند برای مسند ها و کدام یک برای توابع استفاده شوند، حضور متغیر ها در چه مکان هایی مجاز و در چه مکان هایی غیر مجاز می باشد.

یک امضا دارای قالب η{e1, ..., en, ...} می باشد که در آن η نام امضا و {e1, ..., en, ...} مجموعه ای قابل شمارش از عبارات پیکانی است. یک عبارت پیکانی دارای قالب (k1 ... kn) )=> k می باشد که در آن  k و k1 ... kn نام های امضا هستند. یک امضا می تواند صفر تا بی نهایت عبارت پیکانی داشته باشد. تعداد عبارات پیکانی در گویش های مختلف با یکدیگر متفاوت است.

نمادها نیز می توانند تعداد مختلفی از آرگومان ها و نیز انواع مختلفی از آن ها را داشته باشند. از اینرو هر گویش میبایست تعیین کند که چه امضاهایی به چه نماد هایی داده شود و انتساب ها چگونه صورت گیرد.

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

7- عملگر های ساختاری

برای نوشتن قوانین در RIF دو عملگر Group و Document مورد استفاده قرار می گیرند. عملگر Group، برای گروه بندی مجموعه ای از قوانین در یک سند RIF مورد استفاده قرار می گیرد. از نظر معنایی، عملگر Group معادل با AND کردن قوانین است.

یک سند می تواند شامل تعدادی گروه باشد. از طرفی یک گروه می تواند تنها شامل یک قانون باشد.

هر سند RIF حداقل نیاز به یک عملگر Documnt دارد، چرا که یک سند می تواند اسناد دیگری را import کند. عملگر Documnt معمولا در ابتدای سند قرار می گیرد و پس از آن تعریف پیشوند ها و گروه ها می آید.  

8- نقاط توسعه

نماد های NEWCONNECTIVE، NEWQUANTIFIER، NEWAGGRFUNC  ،   NEWTERMو NEWSYMBOL ، نقاط توسعه RIF-FLD می باشند. هر یک از گویش های RIF در صورت تمایل می توانند این نماد ها را، با اتصال دهنده های جدید، سور های جدید، توابع تجمعی جدید، نماد های واقعی جدید و انواع ترم های جدید، جایگزین کنند. 



چارچوب RIF برای گویش منطقی (RIF-FLD)

درسنامه ، مقاله، تحقیق، پروژه | 28 January, 2014 17:57


چارچوب RIF برای گویش‌های منطقی، RIF-FLD، یک فرمالیته برای مشخص کردن کلیه گویش های منطق RIF، از جمله RIF-BLD می باشد. FLD منطقی است که در آن نحو و معنای گویش ها از طریق تعدادی مکانیزم که در عمل بسیار استفاده می شوند اما به ندرت یک جا جمع شده اند، توصیف می شود. تلفیق تمامی این مکانیزم ها ضروری است، چرا که چارچوب باید به اندازه کافی وسیع باشد تا انواع گوناگون زبان های منطق را پوشش دهد و مکانیزم های پیشرفته متنوع برای تسهیل ترجمه به یک چارچوب مشترک ضروری است.

طراحی RIF به گونه ایست که گویش های منطق در آینده بر مبنای RIF-FLD خواهند بود و به عنوان یک تخصیص[1]از RIF-FLD تعریف خواهند شد. به عبارتی نیازهای آینده گویش‌ها می تواند منجر به تکامل بیشتر RIF-FLD شود. هنگامی که کلیه گویش ها از یک چارچوب مشتق شوند، اطمینان حاصل می شود که گویش های RIF به لحاظ نحوی و معنایی با یکدیگر سازگاری خواهند داشت و سیستم های قانون قادر خواهند بود مجموعه های قانونشان را با بهره گیری از این گویش ها با یکدیگر ارتباط دهند.

یک طراح گویش می تواند، نحو و معنای یک گویش را با استفاده از نحو و معنای RIF-FLD طراحی کند و جزئیات مورد نظر را به آن اضافه کند. همزمان با انجام این کار، طراح می تواند از میان فرمول ها، انواع داده ای، مدل ها و سایر موارد ارائه شده توسط RIF-FLD، موارد مورد نظر خود را انتخاب کند، بدون اینکه نیازی به تعریف دوباره آنها داشته باشد. بنابراین برای طراحی گویش های منطقی دو روش وجود دارد: روش اول، تعریغ مستقیم و بیان کردن همه تعاریف برای گویش است، این روش برای افرادی که نمی خواهند درگیر جزئیات توسعه و تخصیص از روی یک چارچوب شوند مناسب است و عملیات را تسهیل می کند. روش دوم، استفاده از RIF-FLD به منظور ایجاد گویش مورد نظر است، که در این روش فرآیند ایجاد گویش با سرعت و سهولت بیشتری انجام خواهد شد و مقدار تلاش مورد نیاز برای تعریف و بررسی صحت گویش های منطقی جدید را، به شدت کاهش می دهد.

بنابراین، از این چارچوب می توان برای مشخص کردن نحو و معنای گویش های منطقی RIF، مانند RIF-Core و RIF-BLD استفاده کرد، اما این چارچوب برای گویش های RIF-PRD ارائه نشده است، چرا RIF-PRD یک گویش مبتنی بر منطق نیست و بر مبنای قوانین تولید است.

RIF-FLD شامل سه مولفه اصلی است: چارچوب نحوی، چارچوب معنایی و چارچوب XML. در ادامه هر یک از این چارچوب ها به اختصار توضیح داده خواهند شد.


گویش قوانین تولید (RIF-PRD)

درسنامه ، مقاله، تحقیق، پروژه | 28 January, 2014 01:11


RIF-PRD یکی دیگر از گویش های اصلی RIF است که امکان تبادل  میان سیستم های مبتنی بر قوانین تولید را فراهم می آورد. RIF-PRD بر خلاف RIF-BLD از نفی و حذف قوانین پشتیبانی می کند. ترتیب قوانین در  RIF-PRD دارای اهمیت است، از این رو هنگامی که چندین قانون همزمان با یکدیگر fire می شوند، نیاز به روش هایی برای رفع برخورد می باشد. RIF-PRD بر مبنای زنجیره استنتاج پیشرو عمل می کند.

RIF-PRD دارای نحو انتزاعی می باشد. یکی از تفاوت های اصلی نحو ارائه و نحو انتزاعی نحوه نمایش ایجاب ها می باشد.

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

·         Assert: افزودن عبارات به پایگاه دانش.

·         Retract: حذف عبارات از پایگاه دانش.

·         Modify: حذف یک عبارت از پایگاه دانش و افزودن یک عبارت جدید به آن.

بر خلاف گویش های منطقی که چارچوب RIF-FLD برای آن ها ارائه شده بود، تا کنون هیچ چارچوب استانداردی برای گویش های قوانین تولید ایجاد نشده است. 





 

گویش هسته (RIF-Core)

درسنامه ، مقاله، تحقیق، پروژه | 28 January, 2014 01:08


از نقطه نظر تئوری RIF متناظر با زبان هایی از قوانین Horn قطعی بدون نمادهای تابعی(اغلب به آن Datalog گفته می شود) و همراه با معانی مرتبه اول استاندارد می باشد. این گویش زیرمجموعه ای از RIF-BLD می باشد، بعلاوه زبانی از قوانین تولید می باشد که نتیجه گیری ها به عنوان عملیات درج تفسیر می شوند. از این رو زیر مجموعه ای از از RIF-PRD نیز می باشد. از طرف دیگر RIF-Core بر مبنای توابع و مسند های built-in بر روی انواع داده شِمای XML انتخابی می باشد، همانگونه که در RIF-DTB مشخص شده است، از این رو این زیر مجموعه مشترک از RIF-BLD و RIF-PRD بر مبنای RIF-DTB است. در واقع می توان گفت که گویش های BLD و PRD از توسعه گویش هسته بدست می آیند.

به لحاظ نحوی، RIF-Core تعدادی توسعه Datalog برای پشتیبانی از ویژگی هایی چون اشیاء و قاب ها، IRI ها و انواع داده شمای XML دارد.

RIF-Core زیر مجموعه مشترک بیشینه ای از RIF-BLD و RIF-PRD نمی باشد. این گویش تعدادی از ویژگی های اشتراک  را که به قابلیت بیان زبان نمی افزایند و توسط زبان های قانون چندان مورد پشتیبانی نیستند، حذف می کند.




گویش منطق پایه (RIF-BLD)

درسنامه ، مقاله، تحقیق، پروژه | 28 January, 2014 00:57


RIF-BLD یا گویش منطق پایه RIF، قالبی است که امکان تبادل میان سیستم های قانون مبتنی بر منطق را فراهم می آورد. این گویش، یکی از گویش های اصلی RIF می باشد. RIF-BLD از قوانین Horn قطعی، تساوی و معانی منطق مرتبه اول استاندارد پشتیبانی می کند، اما هیچ گونه پشتیبانی برای نفی ندارد. اشیاء و قاب ها، IRI ها و انواع داده شِمای XML در RIF-BLD پشتیبانی می شود.

دو روش مختلف برای تعریف RIF-BLD وجود دارد. در روش اول مشخصات RIF-BLD به صورت مستقیم و مستقل از چارچوب RIF برای گویش های منطقی (RIF-FLD) ثبت می شوند. این روش برای افرادی که به مسیر مستقیم برای رسیدن به RIF-BLD تمایل دارند و علاقه ای به مسائل مرتبط با توسعه ها ندارند، مناسب می باشد.

در روش دوم RIF-BLD به عنوان یک تخصیص از RIF-FLD به دست می آید. این روش مسیری کوتاه تر و خلاصه تر برای تعریف گویش فراهم می آورد و برای افرادی که با RIF-FLD آشنایی دارند و  مایل نیستند مسیری طولانی برای RIF-BLD طی کنند، مناسب می باشد.

نحو ارائه RIF-BLD، بر مبنای نحو ارائه RIF-FLD به صورت زیر تعریف می شود:

  • نقاط توسعه: کلیه نقاط توسعه RIF-FLD حذف می شوند. در واقع نقاط توسعه با هیچ شئی جایگزین نخواهند شد.
  • الفبا: الفبای نحو RIF-BLD شامل کلیه نماد های موجود در الفبای RIF-FLD می باشد با این تفاوت که نماد های Dialect، Neg و Naf در آن وجود ندارد.
  • امضاها میبایست به نماد های ثابت و متغیر منتسب شوند.
  • انواع ترم های مورد پشتیبانی: RIF-BLD  از کلیه ترم های تعریف شده در RIF-FLD پشتیبانی می کند. تنها تفاوتی که وجود دارد این است که متغیر ها نمی توانند یک فرمول اتمیک باشد. ترم های تجمعی و ماژول ها نیز در RIF-BLD استفاده نمی شوند.  
  • فضاهای نماد مورد نیاز: RIF-BLD به فضاهای نماد تعریف شده در RIF-DTB نیاز دارد.
  • فرمول های مورد پشتیانی: بخش شرط در یک قانون RIF-BLD می تواند فرمول اتم داخلی یا خارجی  و یا ترکیبات عطفی و فصلی آن ها باشد. استفاده از  سور ها نیز امکان پذیر است. نتیجه یک قانون نیز می تواند یک فرمول اتم و یا ترکیبات عطفی و فصلی باشد. اما استفاده از فرمول های اتم خارجی در بخش نتیجه امکان پذیر نیست. بعلاوه کلیه متغیر های موجود در قانون، میبایست در یک سور عمومی قرار گیرند. از directive های ماژول و گویش نیز نمی توان در RIF-BLD استفاده کرد.

قوانین در RIF-BLD دارای قالب  زیر هستند:

Forall var* <conclusion> :-<condition>

انواع داده ای و Built-in ها (RIF-DTB)

درسنامه ، مقاله، تحقیق، پروژه | 28 January, 2014 00:48

 

این سند انواع داده‌ای و توابع و مسند‌های built-in که میبایست توسط گویش‌های RIF، مانند RIF-Core، RIF-BLD یا RIF-PRD پشتیبانی شوند را مشخص می‌کند. برخی از انواع داده‌ها از انواع داده‌ها از انواع داده شمای XMK تطبیق داده شده اند. بخش عمده ای از تعاریف توابع و عملگرها از توابع XPath گرفته شده اند. نوع داده rdf:plainliteral و توابع و عملگرهای مرتبط با آن از RDF-PLAINLITERAL گرفته شده اند. به منظور داشتن یک تبادل قانون با حفظ معنا، لازم است تا انواع داده ای، توابع و مسند های built-in که در بیشتر زبان ها و سیستم های قانون از آنها می شود، شناسایی شده و معنای آنها به دقت تعریف شود.

در حال حاضر RIF-DTB می تواند از طریق فراهم آوردن زیربنایی عمومی از انواع داده و built-in ها در قابلیت همکاری RIF با سایر استانداردهای وب (معنایی) کمک کند. 

نیازمندی‌های قالب تبادل قوانین(RIF-UCR)

درسنامه ، مقاله، تحقیق، پروژه | 27 January, 2014 15:26

 

اهداف و موارد کاربرد تعدادی نیازمندی را برای قالب تبادل قانون ایجاد می‌کنند. تعدادی از این نیازمندی‌ها عبارتند از:

 

قابلیت پیاده سازی، دقت معنایی، قالب قابل توسعه، ترجمه گر ها، اجزای استاندارد، پوشش زبان قانون، مدل قابل قبول، رفتار پیش فرض، معانی مختلف، تعداد محدودی از گویش‌ها، نظرات تعبیه شده، داده‌های OWL، داده‌های RDF، نحو XML، انواع XML، ادغام مجموعه های قانون، شناسایی مجموعه های قانون و داده‌های XML.
کلیه نیازمندی های ذکر شده می بایست در گویش های RIF برآورده شوند.

 

معماری قالب تبادل قوانین

درسنامه ، مقاله، تحقیق، پروژه | 27 January, 2014 12:57

 



RIF توسط مجموعه ای از اسناد توصیف می شود که هر سند، بخشی از اهداف آن را تحت پوشش قرار می دهد. اسناد منتشر شده RIF عبارتند از:

 

  • سند RIF-Primer (مبادی اولیه). این سند یک مقدمه غیر رسمی از RIF می باشد، که مثال هایی از قوانین ساده، در رابطه با داده های فیلم را توسعه داده است.
  • سند RIF-BLD (گویش منطقی پایه). این گویش یکی از دو گویش عمده می‌باشد و گویش مبتنی بر منطق اصلی است. این گویش متناظر با منطق Horn با توسعه های نحوی و معنایی گوناگون می باشد. توسعه های نحوی پایه شامل نحو قاب و گزاره هایی با آرگومان های دارای نام می باشد. توسعه های معنایی شامل انواع داده و گزاره هایی که به صورت خارجی تعریف شده اند می باشد. اگرچه این گویش قابلیت بیان کافی برای بسیاری از کاربرد های قوانین را ندارد، بسیاری از سیستم های قانون موجود را پوشش می دهد و توسعه چنین گویشی نقطه شروعی برای آینده می باشد. انتظار می رود این فعالیت آینده، در چارچوب  توسعه RIF، RIF-FLD اتفاق بیفتد. در این سند، یک قالب تبادل پایه معرفی می شود که به قوانین منطقی (قوانین Horn به همراه تساوی) امکان تبادل می دهد.
  • سند RIF-PRD (گویش قوانین تولید). این گویش، دومین گویش عمده می باشد، که جنبه های اصلی سیستم های قوانین تولید گوناگون را پوشش می دهد. قوانین تولید که در سیستم هایی مانند Jess یا JRules مورد استفاده قرار می گیرند، با استفاده از مکانیزم های محاسباتی ad-hoc، که بر مبنای منطق نیستند، تعRIF می شوند. به همین علت RIF-PRD بخشی از مجموعه گویش های RIF منطقی نیست و جدای از ان قرار می گیرد. اگرچه تلاش های بسیاری انجام شده تا حداکثر به اشتراک گذاری  با گویش های دیگر وجود داشته باشد. این به اشتراک گذاری علت اصلی توسعه RIF-Core می باشد. در این سند، مشخصات گویش قوانین تولید بیان می شود که امکان تبادل را میان قوانین تولید فراهم می کند.
  • سند RIF-Core (گویش هسته). این گویش زیر مجموعه ای از RIF-BLD و RIF_PRD می باشد و بر مبنای RIF-DTBمی باشد، بنابراین تبادل قانون محدودی را میان گویش های منطق و گویش های قوانین تولید فراهم می آورد. RIF-Coreمتناظر با منطق Horn، بدون نماد های تابعی می باشد،(اغلب Datalog نیز نامیده می شود)، که با تعدادی توسعه برای پشتیبانی از ویژگی هایی همچون اشیاء و قاب ها در منطق مرتبه اول، شناسه های منبع سراسری (IRI) برای مفاهیم و نوع داده های شمای XML همراه می شود. 
  • سند RIF-FLD (چارچوب گویش های منطقی). RIF-FLD به نوبه خود یک گویش نیست، بلکه بیشتر یک چارچوب توسعه منطقی عمومی می باشد. RIF-FLD معرفی شد تا حجم تلاش های مورد نیاز برای تعریف و تأیید گویش های منطقی جدید، که از توسعه قابلیت های RIF-BLD به دست می آیند را کاهش دهد. این سند، چارچوبی از روش ها را برای مشخص کردن نحو و معنای گویش های مبتنی بر منطق RIF توصیف می کند.
  • سند RIF-RDF+OWL (سازگاری RDF و OWL). قوانین مبادله شده توسط RIF ممکن است در ترکیب با داده های RDFو شمای RDF یا هستان شناسی های OWL استفاده شده، یا به آن ها وابسته باشند. این سند قابیت همکاری میان RIF و سایر استاندارد های وب معنایی را فراهم می آورد. به عبارتی نحو و معنای ترکیب شده دو زبان RIF-RDF و RIF-OWLرا تعریف می کند.
  • سند RIF-DTB (انواع داده ها و Built-in ها). قوانین اغلب به built-in ها (برای مثال اعمال ریاضی، دستکاری رشته و ...) و انواع داده(به عنوان مثال integer، string، إخخمثشد , …) اشاره دارند. به منظور امکان پذیر کردن تبادل با حفظ معنای چنین قوانینی، ضروری است که اکثر built-in ها و انواع داده هایی که استفاده از آن ها رایج است، شناسایی شده و معنای آن ها به دقت تعریف شود. این هدف با استفاده از سند RIF-DTB تحقق می یابد.
  • سند RIF+XML-Data (ترکیب RIF با داده های XML). قوانین میبایست قابل ترکیب با منابع داده XML باشند. این سند مشخص می کند که چگونه چنین ترکیب هایی انجام می شود.
  • RIF-OWLRL (OWL 2 RL در RIF). OWL2RL زیر مجموعه ای از OWL2 است که توسط یک اصل موضوعیبخشی معانی مبتنی بر RDFِ OWL2، در قالب معانی تعریف شده است. این تعربف می تواند به عنوان پایه ای برای یک پیاده سازی مبتنی بر قانون با بهره گیری از RIF استفاده شود.
  • سند RIF in RDF. اگرچه نحو تبادل استاندارد برای RIF، XML می باشد، این امکان نیز وجود دارد که XML به گراف های RDF نگاشت شود، تا سیستم های RDF بتوانند با سهولت بیشتری مستندات RIF را ذخیره و پردازش کنند. با توجه به اینکه RDF با RIF سازگاری دارد، این نگاشت روشی سازگار برای نوشتن قوانین RIF که مستندات RIF را پردازش می کنند، فراهم می آورد.
  • سند RIF-UCR (موارد کاربرد و نیازمندی ها). یکی از اولین کارها در گروه کاری RIF شناسایی کاربردهایی بود که مجموعه گویش های RIF میبایست مورد توجه قرار دهند. طراحی گویش های RFI تا حد زیادی از نیازمندی های موجود در سند RIF-UCR مشتق شده است.
  • سند RIF-Test (موارد آزمون): این سند در درجه اول مورد توجه افرادی می باشد که RIF را پیاده سازی می کنند. این سند شامل توصیف موارد آزمون-هم مثبت و هم منفی- می باشد، که می توانند به منظور بررسی اینکه آیا یک پیاده سازی خاص از یک گویش RIF با مشخصات، تناقض دارد یا خیر، استفاده شوند. مجموعه ای از کدهای مبدأ برای موارد آزمون گوناگون در این سند موجود است. 

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

در شکل 4، معماری قالب تبادل قوانین و روابط میان گویش های آن، نمایش داده شده است. اغلب گویش های RIF از توسعهRIF-Core به همراه DTB بدست می آیند. در واقع انتظار می رود که گویش های حال و آینده RIF، انواع داده ای، توابع built-in و مسند های built-in را که توسط RIF-DTB تعریف شده اند، به اشتراک بگذارند و از آنها پشتیبانی کنند.

  

ساختار RIF

 

 

گویش های استاندارد و اصلی RIF

درسنامه ، مقاله، تحقیق، پروژه | 26 January, 2014 00:03

 

گویش ها می توانند در دو دسته گویش های مبتنی بر منطق و گویش هایی برای قوانین تولید، قرار گیرند.

گویش های مبتنی بر منطق، شامل زبان هایی هستند که از انواع مختلف منطق استفاده می کنند؛ مانند، منطق مرتبه اول، یا منطق های غیر مرتبه اول. گویش های قوانین تولید نیز، شامل سیستم های قوانین تولید (مانند Jess، Drools و JRules) و قوانین واکنشی یا همان رخداد-شرط-عمل (مانند Reaction RuleML و XChange) هستند.

در حال حاضر، درRIF  تنها دو گویش مبتنی بر منطق وجود دارد: گویش منطقی پایه (BLD)، که از قوانین اعلانی که در بالا ذکر شد پشتیبانی می کند و گویش هسته (Core) که زیر مجموعه ای مشترک با گویش های BLD و PRD می باشد. گویشی که برای پشتیبانی از قوانین تولید وجود دارد، گویش قوانین تولید یا PRD می باشد. 

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


 
Accessible and Valid XHTML 1.0 Strict and CSS
Converted to use with ITS. Powered by FUMblog