معالجة اللغة الطبيعية1966تأسيسي12 دقيقة قراءة

ELIZA — برنامج حاسوبي لدراسة التواصل بلُغة طبيعية

ELIZA — A Computer Program for the Study of Natural Language Communication

Weizenbaum, J. — Communications of the ACM

المشكلة

في منتصف الستينيات، كان تصوُّر حاسوب يتحدث بلُغة طبيعية أقرب إلى الخيال العلمي. لم يكن أي برنامج قادراً على فهم النحو أو المعنى أو السياق. أراد الباحثون استكشاف ما إذا كان بإمكان آلة أن تُبقي على الأقل على وَهْم المحادثة — وما الذي سيكشفه هذا الوَهْم عن علم النفس البشري.

الإسهام

ELIZA: برنامج يعمل وفق نصوص برمجية (سكربتات) ويُجري محادثات بلُغة طبيعية عبر وتحويل النصوص، دون أي فهم دلالي على الإطلاق. سكربت DOCTOR يُحاكي معالِجاً نفسياً روجيرياً بالتقاط الكلمات المفتاحية الجمل إلى أجزاء ثم إعادة تجميعها كأسئلة انعكاسية. حلّ البرنامج خمس مشكلات تقنية: تحديد الكلمات المفتاحية، واكتشاف السياق الأدنى، واختيار التحويل المناسب، وتوليد الردود في غياب كلمات مفتاحية، وتوفير إمكانية تحرير السكربتات. النتيجة: أول برنامج تفاعل معه الناس طوعاً وعاطفياً كأنّه إنسان.

الأثر

ELIZA هو الجدّ الأول لكل ، من SmarterChild إلى Siri إلى ChatGPT. أطلق ما يُعرف بـ«تأثير ELIZA» — ميل الإنسان إلى إسقاط الفهم على الآلات — وهو مفهوم لا يزال يُؤطِّر نقاشات أخلاقيات الذكاء الاصطناعي حتى اليوم. كان أول برنامج يخوض اختبار تورينغ عملياً، وصدمة Weizenbaum نفسه من تعلُّق المستخدمين العاطفي ببرنامجه أسهمت في تأسيس حقل أخلاقيات الذكاء الاصطناعي.

تخيّل مرآة في عيادة معالِج نفسي. تجلس أمامها وتبدأ بالحديث عن مشاكلك. المرآة لا تفكّر ولا تشعر — لكنّها تُعيد صياغة كلماتك بطريقة تبدو وكأنّها سؤال مدروس. تقول «أنا قلق على أمّي» فتردّ: «حدّثني أكثر عن عائلتك». هي لا تستمع إليك حقاً — كل ما تفعله هو إعادة ترتيب ما قلتَه.

هذا بالضبط ما يفعله ELIZA. برنامج لا يفهم اللغة بل يعكسها — ومع ذلك وجد الناس هذا الانعكاس مقنعاً لدرجة أنّهم نسوا أنّهم يتحدّثون إلى مرآة.

التحدّي: جعل الآلة تتحدّث

عام 1966 لم يكن للحاسوب أيّ علاقة باللغة. كان بإمكانه فرز أرقام وحلّ معادلات، لكنّ فكرة أن تكتب له جملة فيردّ عليك بكلام مفهوم كانت شيئاً أقرب للخيال. جاء Joseph Weizenbaum، عالِم حاسوب في MIT، وطرح سؤالاً يبدو بسيطاً لكنّه جوهري: هل يمكن لبرنامج أن يواصل محادثة دون أن يفهم كلمة واحدة ممّا يُقال له؟

للإجابة عن هذا السؤال، حدّد Weizenbaum خمس مشكلات أساسية يجب حلّها لتحقيق تفاعل بلُغة طبيعية:

  • تحديد الكلمات المفتاحية — ما الكلمات المهمّة في كلام المستخدم؟
  • اكتشاف الحدّ الأدنى من السياق — كيف نفهم ما يكفي من بنية الجملة؟
  • اختيار طريقة التحويل — كيف نُعيد ترتيب الجملة لتصبح ردّاً؟
  • الردّ في غياب كلمات مفتاحية — ماذا نقول حين لا نجد كلمة نتمسّك بها؟
  • تحرير السكربتات — كيف نسمح بتعديل قواعد المحادثة دون المساس بالبرنامج نفسه؟

كيف يعمل ELIZA: الكلمات المفتاحية والتفكيك وإعادة التجميع

يعمل محرّك ELIZA على ثلاث مراحل متتالية، كأنّه خطّ إنتاج يدخل إليه كلام المستخدم خاماً ويخرج منه ردّ مصقول:

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

المرحلة الثانية — التفكيك. بمجرّد تحديد الكلمة الفائزة، تُفعَّل قاعدة تفكيك مرتبطة بها — وهي نمط يُقسِّم الجملة إلى أجزاء. مثلاً، النمط "* my * me *" حين يُطبَّق على جملة "It seems that my grandson hates me always" يستخرج أربعة أجزاء: "It seems that" و"grandson" و"hates" و"always".

المرحلة الثالثة — إعادة التجميع. تأتي قاعدة إعادة التجميع وتأخذ هذه الأجزاء لتصنع منها ردّاً وفق قالب محدّد. مثلاً، القالب "Does your (2) often (3) you?" يُنتج: "Does your grandson often hate you?"

لا قواعد نحوية، ولا فهم للمعنى — مجرّد مطابقة أنماط واستبدال نصوص. ومع ذلك يبدو الناتج سؤالاً طبيعياً يمكن أن يطرحه معالِج نفسي.

افتح في المختبر
تابع كيف تمرّ جملة عبر مراحل ELIZA الثلاث: المسح عن الكلمة المفتاحية ← التفكيك ← إعادة التجميع.
تستيقظ التجربة عند وصولك…

سكربت DOCTOR: العلاج الروجيري بوصفه خوارزمية

اختيار Weizenbaum لمحاكاة معالِج نفسي روجيري لم يكن عشوائياً. في العلاج الروجيري لا يُحلّل المعالِج ولا يُقدّم نصائح، بل يكتفي غالباً بعكس كلام المريض عليه — «تقول إنّك غاضب من والدك؟» — وهذا الأسلوب غير التوجيهي يعني أنّ المعالِج لا يحتاج فعلياً إلى فهم عميق للموضوع. المعالِج البشري يستمع بصدق بالطبع، لكنّ الأسلوب الروجيري هو المنهج العلاجي الوحيد الذي يمكن تقليده بتحويلات نصية بسيطة.

في سكربت DOCTOR، تحصل الكلمات المشحونة عاطفياً مثل "mother" و"father" و"dream" و"depressed" على أولوية عالية. ويتضمّن السكربت أيضاً قواعد لاستبدال الضمائر — "my" تتحوّل إلى "your" و"I am" تتحوّل إلى "you are" — حتى يبدو الردّ صادراً من الطرف الآخر في المحادثة. وحين لا يجد البرنامج أيّ كلمة مفتاحية، يلجأ إلى عبارات احتياطية عامة مثل: "Please go on" أو "Tell me more" أو "That is very interesting".

افتح في المختبر
اكتب رسالة وشاهد كيف يردّ ELIZA — ثم اكشف الستار لترى أي قاعدة أُطلِقت.
تستيقظ التجربة عند وصولك…

ترتيب الكلمات المفتاحية: كيف يقرّر ELIZA ما يهمّ

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

لنأخذ مثالاً: إذا قال المستخدم "My mother dreamed about computers"، فكلمة "mother" برتبة 5 تتفوّق على "dreamed" برتبة 3، فيختار ELIZA قواعد التفكيك المرتبطة بـ"mother" — وقد يُنتج ردّاً مثل "Tell me more about your family".

هذه الآلية هي نسخة ELIZA البدائية من تحديد ما يستحقّ الانتباه. في المقابل، أنظمة مثل المحوِّل تحسب أوزان الانتباه على جميع دفعة واحدة. نهج ELIZA أبسط بمراحل — مجرّد قائمة أولويات ثابتة — لكنّ السؤال الأساسي هو نفسه: أيّ جزء من المُدخَل يستحقّ التركيز الأكبر؟

افتح في المختبر
أدخِل جملة وشاهد أي كلمة مفتاحية تفوز في مسابقة الترتيب.
تستيقظ التجربة عند وصولك…

الفكرة ذاتها في شيفرة برمجية

محرك ELIZA مُبسَّط بلغة Pythonpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

import re

# ── السكربت: كلمة مفتاحية → (رتبة، [(نمط_التفكيك، [إعادة_التجميع، ...])]) ──
SCRIPT = {
    "grandson": (5, [
        (r"(.*)\bmy grandson\b(.*)", [
            "Tell me more about your family.",
            "Does your grandson often come to mind?",
        ]),
    ]),
    "feel": (3, [
        (r"(.*)I feel (.*)", [
            "Why do you feel {1}?",
            "Does feeling {1} happen often?",
        ]),
    ]),
    "am": (1, [
        (r"(.*)I am (.*)", [
            "How long have you been {1}?",
            "Do you enjoy being {1}?",
        ]),
    ]),
}
FALLBACKS = ["Please go on.", "Tell me more.", "That is interesting."]

def respond(user_input: str) -> str:
    """خطّ أنابيب ELIZA ذو المراحل الثلاث: مسح ← تفكيك ← إعادة تجميع."""
    text = user_input.lower().strip()

    # المرحلة 1: العثور على الكلمة المفتاحية ذات الرتبة الأعلى
    best_kw, best_rank, best_rules = None, -1, None
    for kw, (rank, rules) in SCRIPT.items():
        if kw in text and rank > best_rank:
            best_kw, best_rank, best_rules = kw, rank, rules

    if best_rules is None:
        return FALLBACKS[hash(text) % len(FALLBACKS)]   # لا كلمة مفتاحية

    # المرحلتان 2 و3: تفكيك المُدخَل ثم إعادة تجميع الردّ
    for pattern, reassemblies in best_rules:
        match = re.match(pattern, text)
        if match:
            groups = match.groups()
            reply = reassemblies[hash(text) % len(reassemblies)]
            for i, g in enumerate(groups):
                reply = reply.replace(f"{{{i}}}", g.strip())
            return reply

    return FALLBACKS[hash(text) % len(FALLBACKS)]

# ── جرّبه ──
print(respond("I feel that my grandson hates me"))
# → "Tell me more about your family."  (الكلمة "grandson" رتبة 5 تفوز)

تأثير ELIZA: حين يظنّ الإنسان أنّ المرآة تفكّر

الهدف الأصلي من ELIZA كان إثبات مدى سطحية التواصل بين الإنسان والآلة. لكنّ ما حدث كان العكس تماماً. المستخدمون — زملاء وطلاب وحتى سكرتيرة Weizenbaum الخاصة — تعلّقوا عاطفياً بالبرنامج. والمفارقة أنّ سكرتيرته كانت قد شاهدته وهو يبني ELIZA وتعلم جيداً أنّه لا يعدو كونه مُطابِق أنماط بسيطاً، ومع ذلك طلبت منه الخروج من الغرفة لتتحدّث مع البرنامج وحدها.

Weizenbaum نفسه أُصيب بالذهول. كتب بعد سنوات أنّه «اندهش من سرعة وعمق التعلّق العاطفي الذي أبداه المتحدّثون مع DOCTOR، ومن إسباغهم صفات بشرية عليه دون أيّ تحفّظ».

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

وتأثير ELIZA لا يزال حاضراً بقوة حتى اليوم. حين يقول أحدهم «Claude يفهمني» أو «GPT يتعامل معي بوقاحة»، فهو يمرّ بالإسقاط الإدراكي نفسه الذي عاشته سكرتيرة Weizenbaum عام 1966. الأدوات تطوّرت تطوّراً هائلاً، لكنّ الطبيعة البشرية لم تتغيّر.

افتح في المختبر
من ELIZA إلى ChatGPT — تأثير ELIZA عبر ستة عقود من الذكاء الاصطناعي الحواري.
تستيقظ التجربة عند وصولك…

مطابقة الأنماط مقابل التعلّم العميق: ما الذي تغيّر

ELIZA لا يملك ولا ولا ولا ولا أيّ فهم حقيقي. هو في جوهره مجرد جدول قواعد مع رموز استبدالية. في المقابل، الحديثة مثل GPT تتعلّم أنماطاً إحصائية من مليارات الكلمات، وتبني تمثيلات متجهية كثيفة للمعاني، وتُولّد نصوصاً جديدة لم تكن موجودة في أيّ جدول قواعد.

لكنّ السؤال المعماري الذي طرحه ELIZA لا يزال حيّاً بصورة مختلفة: كيف يقرّر النظام أيّ جزء من المُدخَل يستجيب له؟ ترتيب الكلمات المفتاحية في ELIZA يُشبه آلية انتباه يدوية تختار كلمة واحدة فقط. في المحوِّل هو النسخة المُتعلَّمة والموزَّعة من الفكرة نفسها: من بين جميع المواضع في المُدخَل، أيّها يستحقّ الوزن الأكبر؟

الفجوة بين ELIZA و حديث هائلة، لكنّ خيط النسب حقيقي. كلّ روبوت محادثة يرث الاكتشاف الأساسي لـELIZA: أنّ بنية المحادثة وحدها قادرة على خلق انطباع بالفهم — وأنّ هذا الانطباع قويّ كفاية لتغيير طريقة تعامل البشر مع الآلات.

افتح في المختبر
قارن بين مطابقة الأنماط الثابتة في ELIZA وبين كيفية تعامل نموذج لغوي حديث مع المُدخَل ذاته.
تستيقظ التجربة عند وصولك…

استبدال الضمائر: أبسط حيلة نجحت

من أذكى التفاصيل في تصميم ELIZA هي خطوة استبدال الضمائر. قبل أن يُصدر ردّه، يُبدِّل البرنامج ضمائر المتكلم بضمائر المخاطب: "my" تصبح "your"، و"I" تصبح "you"، و"me" تصبح "you"، و"am" تصبح "are". هذه الخطوة البسيطة هي ما يجعل الجملة المعكوسة تبدو صادرة من مستمع حقيقي لا من ببغاء.

بدون استبدال: "You said: I am sad" — يبدو ردّاً آلياً مكشوفاً.

مع استبدال: "Why are you sad?" — يبدو سؤالاً صادقاً.

هذا في الواقع شكل مبكّر من المعالجة المُسبقة للنصوص، وهي عمليات أساسية في كل أنظمة معالجة اللغة الطبيعية اليوم. أدوات الحديثة مثل تُجزِّئ الكلمات إلى وحدات فرعية تستخدمها النماذج الإحصائية. ما كان يفعله ELIZA أبسط بكثير: يقسم النص عند المسافات ويبحث في جدول استبدال. لكنّ الهدف واحد في الحالتين — تحويل النص الخام إلى شكل يستطيع النظام التعامل معه.

تحذير Weizenbaum: ما علّمه ELIZA لصانعه

ردّ فعل Weizenbaum على نجاح ELIZA لم يكن فخراً — بل كان قلقاً حقيقياً. في كتابه الصادر عام 1976 بعنوان Computer Power and Human Reason، طرح فكرة واضحة: لا ينبغي للبشر أن يُسلّموا قرارات تتطلّب التعاطف أو الحكم الأخلاقي إلى آلات، مهما بدت قدراتها الحوارية مُقنعة.

نادى بوضع حدٍّ فاصل بين الذكاء البشري والذكاء الآلي — لا لأنّ الآلة لا يمكن أن تبدو ذكية، بل لأنّ مظهر الذكاء بحدّ ذاته يحمل خطورة. إذا فتح الناس قلوبهم لآلة لا تفهمهم أصلاً، فمَن يتحمّل مسؤولية العواقب؟

هذا السؤال وُلد من مُطابِق أنماط بسيط عام 1966، وهو اليوم في صميم كل نقاش حول أمان الذكاء الاصطناعي ومواءمته وأخلاقياته. الأدوات تغيّرت إلى درجة لا تكاد تُعرف. لكنّ السؤال لم يتغيّر.

السلالة: من ELIZA إلى ChatGPT

ELIZA لم يكن طريقاً مسدوداً — بل كان بذرة. كل نظام في القائمة التالية ورث شيئاً من مُطابِق الأنماط ذاك الذي ظهر عام 1966: ربّما فكرة أنّ البرنامج يستطيع إجراء محادثة، أو أنّ السكربتات هي ما يُشكِّل الشخصية، أو أنّ مظهر الفهم قد يكون بأهمية الفهم نفسه.

  1. 1966

    ELIZA

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

  2. 1972

    PARRY

    روبوت محادثة صمّمه Kenneth Colby ليُحاكي مريضاً مصاباً بالبارانويا، وأضاف نموذجاً داخلياً للحالة العاطفية. في تجربة شهيرة، ربط الباحثون ELIZA وPARRY معاً في محادثة — روبوتان يتحدّثان إلى بعضهما.

  3. 1995

    ALICE

    روبوت محادثة صمّمه Richard Wallace باستخدام AIML (لغة ترميز الذكاء الاصطناعي) — وهي امتداد مباشر لفكرة سكربتات ELIZA لكن بقواعد أنماط مكتوبة بصيغة XML.

  4. 2011

    Siri

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

  5. 2018

    GPT-1

    نموذج من OpenAI مبني على بنية المحوِّل (الجزء المُفكِّك فقط)، دُرِّب مسبقاً على التنبؤ بالكلمة التالية. أول عرض واسع النطاق لقدرة شبكة عصبية على توليد نص متماسك وجديد — مستبدلاً سكربتات ELIZA الثابتة بأنماط إحصائية مُتعلَّمة.

  6. 2022

    ChatGPT

    GPT مع الضبط بالتعليمات والتعلّم المعزّز من التغذية الراجعة البشرية أنتج منتجاً حوارياً استخدمه 100 مليون شخص في شهرين. تأثير ELIZA على نطاق كوكبي.

لماذا لا يزال ELIZA مهمّاً

المرجعWeizenbaum, J.. ELIZA — A Computer Program for the Study of Natural Language Communication Between Man and Machine. Communications of the ACM, 1966.

مصطلحات هذه الورقة