# فهم المفهوم الذي يقوم عليه AIML

> AIML أو Artificial Intelligence Markup Language هي لغة مبنية على XML تُستخدم لإنشاء روبوتات الدردشة (AI)، وتُحفظ دائمًا بالامتداد (.aiml).

بقلم Shodipo Ayomide، نُشرت في 8 ديسمبر 2017. نسخة الويب: https://blog.shodipoayomide.com/ar/understanding-the-concept-behind-aiml

![](https://res.cloudinary.com/developerayo/image/upload/v1551555821/aiml.png)

## ما هو AIML؟

AIML أو Artificial Intelligence Markup Language هي لغة مبنية على XML تُستخدم لإنشاء روبوتات الدردشة (AI)، وتُحفظ دائمًا بالامتداد (.aiml).

الوسم الذي يُستخدم دائمًا في AIML لتحديد وظيفة جديدة هو وسم `category`، ويندرج تحته وسمان آخران هما وسم `pattern` ووسم `template`. وداخل وسم template يمكن أن تكون لدينا أيضًا وسوم مدمجة أخرى «بحسب نوع البوت الذي تبنيه»، مثل `set` و `br/` و `srai`… إلخ

لكن انتبه إلى أمر ما، فكما هو الحال في HTML أو أي لغة برمجة أو لغة سكربت أخرى، بل وحتى لغات الترميز التي لها وسم إغلاق، لا يوجد هنا في AIML فرق كبير في الحقيقة، فوسوم الإغلاق هي `/category` و `/template` و `/srai>` و `/set`… إلخ

## مثال

```HTML
<category><pattern>WHO IS ABRAHAM LINCOLN</pattern>

<template>was a great President of the United States, during the American Civil War.<br/>

</template>

</category>
```

وعندما يُدخل المستخدم هذا أو شيئًا قريبًا جدًا منه، سيرد البوت على المُدخل

«WHO IS ABRAHAM LINCOLN» بالرد «was a great President of the United States, during the American Civil War.».

والآن لننشئ بوتًا بسيطًا باستخدام AIML

```html
<!doctype html>
<html>
  <body>
    <em>Emphasized text</em><br />
    <strong>Strong text</strong><br />
    <code>A piece of computer code</code><br />
    <samp>Sample output from a computer program</samp><br />
    <kbd>Keyboard input</kbd><br />
    <var>Variable</var>
  </body>
</html>
```

```AIML
<?xml version=”1.0" encoding=”UTF-8"?>

<aiml version=”1.0">

<category><pattern>Hi</pattern>

<template>Hi, I’m Oscar I was developed by Shodipo Ayomide 2017, <br/>How may I be of help</template>

</category>

<category><pattern>What are you </pattern>

<template>I said, My name is Oscar and I was developed by Shodipo Ayomide ok! </template>

</category>

<category><pattern>Why are you rude </pattern>

<template>Oh sorry, Please forgive my manners do not report me PLEASE!!! </template>

</category>

<category><pattern>ok </pattern>

<template>PLEASE!!! </template>

</category>

</aiml>
```

## والآن لنشرح القوالب (Templates)

يحدد القالب الرد على النمط المطابق.

**اسمي Oscar**

يمكن للقالب أن يستخدم متغيرات مثل

أخبرتني أن عمرك `get name=”user-age”` عامًا
وهذا سيجلب عمر المستخدم إن كان موجودًا في قاعدة البيانات.

---

شكرًا على القراءة! 🔥🚀
