لغة ترميز الذكاء الاصطناعي

لغة ترميز الذكاء الاصطناعي ( AIML ) هي لهجة XML لإنشاء وكلاء برمجيات اللغة الطبيعية .

تاريخ

تم تطوير لهجة XML المسماة AIML بواسطة ريتشارد والاس ومجتمع البرمجيات الحرة العالمي بين عامي 1995 و2002. شكلت AIML الأساس لما كان في البداية برنامج Eliza موسعًا للغاية يسمى " ALICE " ("كيان حاسوبي لغوي اصطناعي على الإنترنت")، والذي فاز بجائزة Loebner السنوية في مسابقة الذكاء الاصطناعي [ 3 ] ثلاث مرات، وكان أيضًا بطل تحدي Chatterbox [ 4 ] في عام 2004.

نظرًا لأن مجموعة ALICE AIML صدرت بموجب رخصة GPL ، ولأن معظم مترجمات AIML تُقدم بموجب رخصة حرة أو مفتوحة المصدر ، فقد تم إنشاء العديد من "نسخ Alicebot" استنادًا إلى التنفيذ الأصلي للبرنامج وقاعدة معارف AIML الخاصة به. وقد طوّر مجتمع المستخدمين مجموعات AIML مجانية [ 5 ] بلغات متعددة وأتاحوها. تتوفر مترجمات AIML بلغات Java و Ruby و Python و C++ و C# و Pascal وغيرها (انظر أدناه ). كما تتوفر مواصفات شبه رسمية [ 6 ] ومخطط W3C XML لـ AIML [ 7 ] . يُنسب الفضل إلى نويل بوش في تأليف المواصفات الرسمية، بينما يُذكر ريتشارد إس. والاس كمبتكر AIML، وتضم قائمة المساهمين في المسودة العاملة أسماء توماس رينجيت وأنتوني تايلور وجون باير [ 8 ] .

منذ أوائل عام 2013، تعمل مؤسسة ALICE على مسودة مواصفات لـ AIML 2.0. [ 9 ]

عناصر لغة الذكاء الاصطناعي

يحتوي AIML على عدة عناصر. سيتم شرح أهمها بمزيد من التفصيل أدناه.

فئات

تُشكّل التصنيفات في لغة AIML الوحدة الأساسية للمعرفة. ويتألف التصنيف من عنصرين إضافيين على الأقل: عنصر النمط وعنصر القالب . إليك مثال بسيط على تصنيف:

<category> <pattern> ما اسمك ؟ </pattern> <template> اسمي مايكل ن . س. إيفانيوس . </template> </category>

عند تحميل هذه الفئة، سيرد روبوت AIML على المدخل "ما اسمك؟" بالرد "اسمي مايكل إن إس إيفانيوس".

أنماط

النمط هو سلسلة من الأحرف تهدف إلى مطابقة مدخل واحد أو أكثر من مدخلات المستخدم. مثال على نمط حرفي:

ما اسمك

سيطابق هذا النمط مدخلاً واحداً فقط، متجاهلاً حالة الأحرف: "ما اسمك؟". لكن قد تحتوي الأنماط أيضاً على أحرف بدل، والتي تطابق كلمة واحدة أو أكثر. نمط مثل

ما هو *

سوف يطابق عددًا لا نهائيًا من المدخلات، بما في ذلك "ما اسمك؟"، "ما هو مقاس حذائك؟"، "ما هو هدفك في الحياة؟"، إلخ.

تُعدّ بنية أنماط لغة AIML لغة أنماط بسيطة للغاية، أقل تعقيدًا بكثير من التعابير النمطية ، وبالتالي فهي أقل من المستوى الثالث في تسلسل تشومسكي الهرمي . وللتعويض عن بساطة إمكانيات مطابقة الأنماط ، يمكن لمفسرات AIML توفير وظائف معالجة مسبقة لتوسيع الاختصارات، وإزالة الأخطاء الإملائية، وما إلى ذلك.

إنّ بنية لغة AIML معقدةٌ على الأقل كآلات الحالة المحدودة ، وبالتالي فهي على الأقل من المستوى الثالث في تسلسل تشومسكي الهرمي . والسبب في ذلك هو أن كل حالة ترتبط بموضوع واحد . ولتنفيذ هذا السلوك، يجب أن يحتوي الموضوع على نمط "*" لضمان عدم تغيير الحالة عن طريق الخطأ. ويتم تنفيذ انتقال الحالة باستخدام الوسم. وبهذه الطريقة، سيتمكن الروبوت من "تذكر" الموضوع الذي تم الحديث عنه، أو حتى صلاحيات المستخدم التي تم اكتسابها أثناء المحادثة.<think><setname="topic">state2</set></think>

القوالب

يحدد القالب الاستجابة لنمط مطابق. قد يكون القالب بسيطًا مثل نص حرفي، مثل

اسمي جون.

قد يستخدم القالب متغيرات، مثل المثال

اسمي هو <bot name="name"/>.

والذي سيستبدل اسم الروبوت في الجملة، أو

أخبرتني أن عمرك <get name="user-age"/> سنوات.

والذي سيستبدل عمر المستخدم (إن كان معروفاً) في الجملة.

تتضمن عناصر القالب تنسيق النص الأساسي، والاستجابة الشرطية (إذا-ثم/وإلا)، والاستجابات العشوائية.

قد تُعيد القوالب التوجيه إلى أنماط أخرى، باستخدام عنصر يُسمى srai (الاختزال الرمزي في الذكاء الاصطناعي). يُمكن استخدام هذا العنصر لتطبيق الترادف، كما في هذا المثال (حيث يُستخدم CDATA لتجنب الحاجة إلى تهريب XML ):

<category> <pattern> ما اسمك ؟ </pattern> <template> <![CDATA[اسمي هو <bot name="name"/>. ] ] > </template> </category> <category> <pattern> ما اسمك ؟ </pattern> <template> <srai> ما اسمك ؟ </srai> </template> </category>

تُجيب الفئة الأولى ببساطة على سؤال "ما اسمك؟" باسم الروبوت. أما الفئة الثانية، فتقول إنه يجب إعادة توجيه سؤال "ما اسمك؟" إلى الفئة التي تُطابق سؤال "ما اسمك؟" - أي أنها تُقر بأن العبارتين متطابقتان.

يمكن أن تحتوي القوالب على أنواع أخرى من المحتوى، والتي قد تتم معالجتها بواسطة أي واجهة مستخدم يتفاعل معها الروبوت. فعلى سبيل المثال، قد يستخدم القالب وسوم HTML للتنسيق، والتي يمكن تجاهلها من قبل العملاء الذين لا يدعمون HTML.

مراجع

  1. "بيان صحفي: اعتماد معيار AIML 1.0 (مؤسسة ALICE للذكاء الاصطناعي)" . alicebot.org . سان فرانسيسكو، كاليفورنيا. 16 يوليو 2001. مؤرشف من الأصل في 15 يوليو 2007. تم الاطلاع عليه في 1 ديسمبر 2013 .
  2. 1 2 "AIML 2.1 (مؤسسة AIML)" . aiml.foundation/ . مؤرشف من الأصل بتاريخ 14 مايو 2019. تم الاطلاع عليه بتاريخ 11 يونيو 2022 .
  3. "loebner.net - معلومات حول موضوع لوبنر" . loebner.net . 26 أكتوبر 2007. مؤرشف من الأصل في 30 ديسمبر 2010. تم الاطلاع عليه في 10 نوفمبر 2010 .
  4. "تحدي الثرثرة" . chatterboxchallenge.com . مؤرشف من الأصل بتاريخ 25 مارس 2006. تم الاطلاع عليه بتاريخ 10 نوفمبر 2010 .
  5. "مجموعات AIML مجانية - aitoold.org" . aitools.org . 17 مايو 2006. مؤرشف من الأصل في 9 أكتوبر 2006.
  6. "AIML 1.0.1 (مؤسسة ALICE للذكاء الاصطناعي)" . alicebot.org . ١٣ أكتوبر ٢٠١١. مؤرشف من الأصل في ١٨ نوفمبر ٢٠١٣. تم الاطلاع عليه في ١ ديسمبر ٢٠١٣ .
  7. "AIML.xsd" . aitools.org . مؤرشف من الأصل بتاريخ 17 مارس 2006. تم الاطلاع عليه بتاريخ 10 نوفمبر 2010 .
  8. "مواصفات مسودة العمل AIML 1.0.1 (مراجعة 006)"، مؤسسة ALICE AI، أكتوبر 2001 - نويل بوش (المؤلف)؛ ريتشارد والاس (المنشئ)؛ توماس رينجيت، أنتوني تايلور، جون باير (المساهمون).
  9. «إصدار مسودة مواصفات AIML 2.0» . alicebot.blogspot.com . ١٦ يناير ٢٠١٣. مؤرشف من الأصل في ١٨ مايو ٢٠١٣. تم الاطلاع عليه في ١٩ يونيو ٢٠١٤ .