مدير الحوار
مدير الحوار (DM) هو أحد مكونات نظام الحوار (DS)، وهو مسؤول عن حالة المحادثة وسيرها. عادةً:
- المدخلات إلى معالج القرار هي الكلام البشري، والذي عادةً ما يتم تحويله إلى تمثيل دلالي خاص بالنظام بواسطة مكون فهم اللغة الطبيعية . على سبيل المثال، في نظام حوار تخطيط الرحلات الجوية، قد تبدو المدخلات كالتالي : "ORDER(from=TA,to=JER,date=2012-01-01)".
- عادةً ما يحتفظ مدير المحادثة ببعض متغيرات الحالة ، مثل سجل الحوار، وآخر سؤال لم تتم الإجابة عليه، وما إلى ذلك، وذلك حسب النظام.
- يُخرج مُدير الحوار قائمةً من التعليمات لأجزاء أخرى من نظام الحوار، وعادةً ما تكون هذه التعليمات مُصاغةً في تمثيل دلالي، على سبيل المثال "TELL(flight-num=123,flight-time=12:34)". ويتم تحويل هذا التمثيل الدلالي عادةً إلى لغة بشرية بواسطة مُكوّن توليد اللغة الطبيعية (NLG).
توجد العديد من مديري الألعاب المختلفة التي تؤدي أدوارًا متباينة للغاية. بل قد يحتوي نظام إدارة الألعاب الواحد على عدة مكونات لمديري الألعاب.
الشيء الوحيد المشترك بين جميع وحدات معالجة البيانات هو أنها تحتفظ بحالة ، على عكس الأجزاء الأخرى من نظام البيانات (مثل مكونات فهم اللغة الطبيعية وتوليدها)، والتي هي مجرد وظائف لا تحتفظ بحالة. ويمكن تقسيم أدوار وحدات معالجة البيانات تقريبًا إلى هذه المجموعات:
- التحكم في المدخلات، والذي يُمكّن من معالجة العبارات البشرية وفقًا للسياق.
- التحكم في الإخراج، والذي يُمكّن من توليد النصوص بناءً على الحالة.
- التحكم الاستراتيجي في التدفق، والذي يحدد الإجراء الذي يجب على وكيل الحوار اتخاذه في كل نقطة من نقاط الحوار.
- التحكم في تدفق التكتيكات، والذي يتخذ بعض القرارات التكتيكية المتعلقة بالمحادثة (معالجة الأخطاء، والتحكم في المبادرة، وما إلى ذلك).
التحكم في المدخلات DM
تختلف معاني المدخلات البشرية باختلاف السياق. على سبيل المثال، في نظام بيانات تخطيط السفر:
- الحاسوب: من أين تريد الانطلاق؟
- الإنسان: تل أبيب.
- الحاسوب: إلى أين تريد الوصول؟
- إنسان: غزة.
يعتمد معنى اسم المدينة على السؤال المطروح سابقاً. يمكن لمدير اللعبة الاحتفاظ بهذا السؤال في متغير حالة، واستخدامه لتحويل "تل أبيب" إلى "أريد المغادرة من تل أبيب"، وتحويل "غزة" إلى "أريد الوصول إلى غزة".
تقع هذه الوظيفة على الحدود بين فهم اللغة الطبيعية ومعالجتها: في بعض الأنظمة يتم تضمينها في فهم اللغة الطبيعية، مثل القواعد المعتمدة على السياق لميلوارد (2000) ؛ بينما في أنظمة أخرى يتم تضمينها في معالجتها، مثل وحدة حل NP لميركوفيتش وكافيدون (2005) .
تتمثل إحدى وظائف وحدة فهم اللغة الطبيعية ووحدة معالجة البيانات في تحديد أي من عبارات الإدخال تشكل جزءًا من عبارة واحدة. إليك مثال من حوار تفاوض على وظيفة:
- أعرض راتباً قدره 20,000 شيكل إسرائيلي
- وسيارة
- سيتم تحديد شروط المعاش التقاعدي لاحقاً
جميع العبارات الثلاث تُشكّل عرضًا واحدًا. بالنسبة للعبارة الثانية، تُعدّ كلمة "و" دليلًا، أما بالنسبة للعبارة الثالثة، فالدليل الوحيد المُحتمل هو أنها قيلت مباشرةً بعد الثانية. لفهم هذا، يُنصح مدير اللعبة بتسجيل وقت كل عبارة.
التحكم في الإخراج DM
يمكن جعل مخرجات الحاسوب أكثر طبيعيةً من خلال حفظ سجل الحوار. على سبيل المثال، يسمح برنامج NPCEditor (وهو إطار عمل لإنشاء شخصيات تجيب على أسئلة البشر) للمؤلف بتحديد أزواج من الأسئلة والأجوبة، بحيث يكون لكل سؤال عدة إجابات محتملة. يختار مدير اللعبة أفضل إجابة للسؤال، إلا إذا كانت مستخدمة مسبقًا، فحينها يختار ثاني أفضل إجابة، وهكذا.
توجد ميزة مماثلة في ChatScript (إطار عمل لتأليف روبوتات الدردشة): في كل مرة يستخدم فيها DS قاعدة معينة، يقوم DM بوضع علامة على هذه القاعدة على أنها "مستخدمة"، بحيث لا يتم استخدامها مرة أخرى.
يستخدم نظام دعم فني حديث قواعد متقدمة للتعلم الآلي لاختيار أفضل المصطلحات لوصف العناصر. على سبيل المثال، إذا لاحظ مدير اللعبة أنه يتحدث مع شخص بالغ، فسيستخدم مصطلحات مثل "اليد اليسرى"؛ وإذا لاحظ أنه يتحدث مع طفل، فسيستخدم مصطلحات أقل تخصصًا مثل "عقرب الساعة".
تقع هذه الوظيفة على الحدود بين DM و NLG.
إدارة تدفق استراتيجية
يتمثل الدور الرئيسي لمدير الحوار في تحديد الإجراء الذي يجب أن يتخذه وكيل الحوار في كل نقطة من نقاط الحوار.
إحدى الطرق البسيطة لتحقيق ذلك هي السماح للمؤلف بتحديد بنية الحوار بشكل كامل. على سبيل المثال، قد تبدو مواصفات بنية حوار البرنامج التعليمي كما يلي:
- الحاسوب: "ما هي القوى التي تؤثر على الإلكترون؟"
- الإنسان: "القوة الكهربائية".
- الحاسوب: "صحيح"
- [انتقل إلى السؤال التالي]
- الإنسان: "القوة الكهربائية".
- الحاسوب: "ما هي القوى التي تؤثر على الكتلة؟"
- الإنسان: "القوة الكهربائية".
- الحاسوب: "غير صحيح، الكتلة ليس لها شحنة".
- [انتقل إلى درس تعليمي حول الكهرباء]
- الإنسان: "القوة الكهربائية".
يحتفظ مدير اللعبة بمؤشر لموقعنا الحالي في البرنامج النصي. ويتم تحديث هذا الموقع وفقًا للمدخلات البشرية.
هناك العديد من اللغات والأطر التي تسمح للمؤلفين بتحديد هياكل الحوار، مثل: VoiceXML (المحسّن لحوارات الكلام)، و AIML، وFacade وChatScript (المحسّنة لروبوتات الدردشة)، و CDM (المستند إلى Java، والمحسّن لحوارات التحكم في الأجهزة)، و TuTalk (المحسّن لحوارات البرامج التعليمية).
بالإضافة إلى ذلك، يمكن وصف بنية الحوار على أنها مخطط حالة، باستخدام لغة قياسية مثل SCXML . ويتم ذلك في DomainEditor (إطار عمل لشخصيات الاستجواب التكتيكي ).
يُعدّ كتابة بنية حوار كاملة أمرًا شاقًا للغاية بالنسبة للمؤلفين. هناك العديد من التحسينات التي تسمح للمؤلفين بوصف الحوار بمستوى تجريدي أعلى، مع زيادة العبء على مدير اللعبة.
الهيكل الهرمي
تتيح أداة Ravenclaw (وهي أداة لإدارة الحوارات الموجهة نحو تحقيق الأهداف، وتعتمد على أداة التواصل الخاصة بجامعة كارنيجي ميلون) للمؤلف وصفًا متقدمًا ومتعدد المستويات لبنية الحوار، مثل:
- مهمة حجز الغرف:
- تسجيل الدخول
- اسأل عن اسم المستخدم
- اطلب كلمة مرور المستخدم
- اختيار الغرف
- اختيار المبنى
- اختيار أرقام الغرف
- اختيار الوقت
- ينهي
- تسجيل الدخول
يحتفظ مدير لعبة رافينكلو بمجموعة من وحدات الحوار، ويستخدمها لمعالجة المدخلات البشرية.
يشجع هذا الهيكل على إعادة استخدام التعليمات البرمجية ، على سبيل المثال، يمكن استخدام وحدة تسجيل الدخول في حوارات أخرى.
كما يدّعون أيضاً إمكانية إنشاء حوارات مهام ديناميكية، حيث لا يتم تحديد هيكلها مسبقاً، بل يتم بناؤها ديناميكياً بناءً على معلومات مختارة من قاعدة بيانات. على سبيل المثال، في نظام يساعد فنيي صيانة الطائرات خلال تنفيذ مهام الصيانة، يعتمد هيكل الحوار على هيكل مهمة الصيانة ويتم بناؤه ديناميكياً.
تتبع المواضيع
تتيح أطر عمل روبوتات المحادثة، مثل ChatScript، التحكم في بنية المحادثة باستخدام المواضيع . ويمكن للمؤلف إنشاء قواعد تحدد الموضوع الذي
- الموضوع: الطفولة (طفل، ولد، بنت، صغير)
- ت: لقد حظيت بطفولة سعيدة.
- ت: لكنها انتهت مبكراً جداً.
- ...
إذا نطق المستخدم بإحدى الكلمات بين قوسين، يتذكر مدير المحادثة أن الموضوع هو "الطفولة". يبدأ برنامج الدردشة الآلي بسرد القصة تحت عنوان "الطفولة"، طالما أنه يتحكم في المحادثة (ويجيب المستخدم تلقائيًا بكلمات مثل "حسنًا" أو "صحيح"). أما إذا طرح المستخدم أسئلة، فيمكن للنظام إما الرد مباشرةً، أو استخدام سطر من القصة التي كان سيقولها على أي حال.
وهذا يسمح أيضًا للمؤلفين بإعادة استخدام المواضيع، ودمج العديد من المواضيع المستقلة لإنشاء روبوت محادثة أكثر ذكاءً.
تعبئة النماذج
يُعدّ استخدام أنظمة الحوار بديلاً شائعاً للاستمارات. فعلى سبيل المثال، ينبغي على موظف حجز الرحلات الجوية أن يسأل العميل عن وقت ومكان المغادرة، ووقت ومكان الوصول - تماماً كما لو كان العميل يملأ استمارة بهذه الخانات الأربع.
يتمثل الحل البسيط في استخدام نظام المبادرة ، حيث يسأل نظام الحوار المستخدم عن كل معلومة على حدة، ويجب على المستخدم ملؤها بهذا الترتيب بالضبط، كما هو الحال في هذا الحوار (من عرض تقديمي لديفيد تراوم ):
- أهلاً بك في نظام تأكيد الرحلات. ما هو رقم رحلتك؟
- يونايتد 123 في 8 أغسطس من لوس أنجلوس
- ما هي مدينة المغادرة؟
- قلت لكم يا أهل لوس أنجلوس، في الثامن من أغسطس
- أعتذر، لم أفهم. ما هي مدينة المغادرة؟
- مغادرة لوس أنجلوس في 8 أغسطس.
- ما هو يوم المغادرة؟
- أنت لا تستمع! 8 أغسطس!
- من فضلك، حدد يوم المغادرة؟
- 8 أغسطس
- تم تأكيد مغادرة رحلة يونايتد رقم 123 من لوس أنجلوس إلى لندن في تمام الساعة الثانية ظهراً يوم 8 أغسطس.
إن عكس المبادرة النظامية هو المبادرة من المستخدم ، حيث يأخذ المستخدم زمام المبادرة، ويستجيب النظام لأي شيء يوجهه المستخدم.
يُعدّ أسلوب المبادرة المختلطة حلاً وسطاً شائعاً بين الطريقتين ، حيث يبدأ النظام بطرح الأسئلة، لكن يمكن للمستخدمين التدخل وتغيير مسار الحوار. ويفهم النظام المستخدم حتى عندما يتحدث عن تفاصيل لم يُسأل عنها بعد.
مع ذلك، فإن وصف مثل هذا النظام يدويًا، على شكل مخطط حالة، أمرٌ شاق للغاية، إذ قد يذكر الإنسان نقطة البداية ثم الوجهة، أو العكس. وفي كلتا الحالتين، قد يذكر الإنسان الزمان ثم المكان، أو العكس.
لذا، توجد أدوات إدارة الرسائل التي تسمح لكاتب الحوار بتحديد المعلومات المطلوبة فقط، دون تحديد الترتيب الدقيق. على سبيل المثال، قد يكتب الكاتب ما يلي:
- السفر = {مكان الانطلاق، وقت الانطلاق، مكان الوصول، وقت الوصول}
يتولى مدير اللعبة تتبع الخانات المشغولة والخانات الفارغة، ويوجه الحوار لجمع المعلومات الناقصة. على سبيل المثال، قد يسأل مدير اللعبة اللاعب عن مكان الانطلاق أولاً، ولكن إذا أضاف اللاعب مكان الوصول، فسيحتفظ مدير اللعبة بالمعلومة ولن يسأل عنها مرة أخرى.
تم تطوير أنظمة البيانات هذه في معهد ماساتشوستس للتكنولوجيا ، على سبيل المثال، Wheels (للبحث عن إعلانات السيارات المستعملة)، وJupiter (للحصول على توقعات الطقس)، وغيرها.
تتعامل أنظمة إدارة الرسائل البسيطة مع ملء الخانات بشكل ثنائي: إما أن تكون الخانة "مملوءة" أو "فارغة". أما أنظمة إدارة الرسائل الأكثر تطورًا، فتتتبع أيضًا درجة الفهم - أي مدى تأكدنا من فهمنا لما قاله المستخدم: سواء كان "مُقدمًا حديثًا"، أو "مُقدمًا مرة أخرى"، أو "مُؤكدًا"، أو "مُكررًا"، إلخ. كما يمكننا السماح للمؤلف بتحديد درجة الفهم المطلوبة لكل معلومة، على سبيل المثال، المعلومات الحساسة تتطلب درجة فهم أعلى. يستخدم نظام إدارة الرسائل هذه المعلومات للتحكم في مسار الحوار، فمثلاً، إذا ذكر المستخدم موضوعًا حساسًا، ولم نكن متأكدين من فهمنا له، فسيطرح نظام إدارة الرسائل سؤالًا للتأكيد. انظر روك وتراوم (2008) .
حالة المعلومات
تتيح مجموعة أدوات TrindiKit، المؤرشفة بتاريخ 23 فبراير 2012 في Wayback Machine ، والتي طُوّرت خلال مشروع Trindi، المؤرشفة بتاريخ 11 مايو 2012 في Wayback Machine ، للمؤلفين تعريف حالة معلومات معقدة، وكتابة قواعد عامة لمعالجة هذه الحالة. إليك مثال على قاعدة:
تكامل الإجابة: الشروط المسبقة: ("إذا قدم الإنسان إجابة ذات صلة بسؤال قيد المناقشة حاليًا...") in(SHARED.LM, answer (usr, A)) fst(SHARED.QUD, Q) إجابة_ذات_صلة(س، أ) الآثار: ("... ثم قم بإزالته من السؤال قيد المناقشة، وأضفه إلى الأرضية المشتركة") pop(SHARED.QUD) تقليل(Q، A، P) أضف (SHARED.COM، P) يقرر مدير اللعبة، وفقًا للمدخلات والحالة، القواعد التي تنطبق، ويطبقها للحصول على الحالة الجديدة.
قد يساعد هذا المؤلفين على إعادة استخدام القواعد العامة لإدارة الحوار، استنادًا إلى نظريات الحوار. تشمل أنظمة الحوار المطورة باستخدام TrindiKit: GoDiS وMIDAS وEDIS وSRI Autorate.
تم تطوير نهج حالة المعلومات لاحقًا في مشاريع مثل Siridus Archived 2012-03-23 at the Wayback Machine ومجموعة أدوات Dipper .
مثال آخر على مدير حوار قائم على حالة المعلومات هو FLoReS . يستخدم هذا النظام حالة معلومات افتراضية لترميز الحالة الحالية، ويختار الإجراء التالي باستخدام عملية اتخاذ قرار ماركوف . تم تطبيق مدير الحوار هذا في برنامج jmNL .
التخطيط العام
يتمثل أحد أشكال هذا النهج في السماح للمؤلف بتحديد أهداف الفاعل، والسماح لمدير القرار بوضع خطة لتحقيق تلك الأهداف. تتكون الخطة من عمليات، حيث يمثل كل فعل كلامي عملية. ولكل عملية شروط مسبقة وشروط لاحقة (آثار)، على سبيل المثال:
إعلام (المتحدث، المستمع، المسند): الشرط المسبق: يعرف (المتحدث، المسند) ويريد (المتحدث، إبلاغ (المتحدث، المستمع، المسند)) التأثير: يعرف (المستمع، المسند) الجسد: يعتقد (المستمع، يريد (المتحدث، يعرف (المستمع، المسند)) يمكن إدارة الحوار باستخدام أداة تخطيط عامة، مثل SOAR (نقاط القوة، الفرص، الطموحات، والنتائج). تحافظ أداة التخطيط على الوضع الحالي، وتحاول وضع خطة لتحقيق الهدف، باستخدام العمليات المتاحة.
يُتبع نهج مماثل في SASO-ST [ 1 ] (نظام دعم القرار لتدريب التفاوض متعدد الأطراف). يسمح استخدام SOAR بدمج نماذج عاطفية واجتماعية معقدة، على سبيل المثال: يمكن للوكيل أن يقرر، بناءً على تصرفات الإنسان، ما إذا كان يريد التعاون معه، أو تجنبه، أو حتى مهاجمته.
يُتبع نهج مماثل في نظام TRIPS [ 2 ] (وهو نظام ديناميكي لحل المشكلات التعاوني متعدد الوكلاء). حيث يقسمون إدارة الحوار إلى عدة وحدات:
- مدير المراجع - بالنظر إلى كلمة (على سبيل المثال "المرأة")، حدد الكائن في العالم الذي تشير إليه (على سبيل المثال "WOM1234").
- مدير المهام - تحديد إجراءات حل المشكلات التي يحاول المستخدم تحقيقها (إنشاء هدف جديد، وتوسيع هدف موجود، وما إلى ذلك).
- مدير الترجمة الفورية - بالإضافة إلى الاتصال بالشخصين الأولين، حدد أيضًا التزامات الخطاب، على سبيل المثال: "الرد على السؤال الأخير".
- يُحدد الوكيل السلوكي كيفية تحقيق الهدف الذي يريده المستخدم. ويستخدم هذا الوكيل عدة وكلاء متخصصين في مهام محددة يقومون بالتخطيط الفعلي.
يُعدّ إثبات النظريات نوعًا مختلفًا من التخطيط . يمكن وصف الحوار بأنه محاولة لإثبات نظرية ما. يتفاعل النظام مع المستخدم لتزويده بـ"المسلمات الناقصة" للمساعدة في إكمال الإثبات (يُسمى هذا " الاستدلال العكسي "). وقد طُبّق هذا النهج بواسطة:
يمكن ربط مدير الحوار بنظام خبير ، لمنح القدرة على الرد بخبرة محددة.
التحكم في تدفق التكتيك DM
بالإضافة إلى اتباع الهيكل العام وأهداف الحوار، يتخذ بعض مديري الرسائل أيضًا بعض القرارات التكتيكية المتعلقة بالمحادثة - وهي قرارات محلية تؤثر على جودة المحادثة.
معالجة الأخطاء
لا تكون وحدات التعرف التلقائي على الكلام (ASR) ووحدات فهم اللغة الطبيعية (NLU) متأكدة تمامًا من فهمها للمستخدم؛ بل تُصدر عادةً درجة ثقة تعكس جودة الفهم. في مثل هذه الحالات، ينبغي على مدير الجلسة أن يقرر ما إذا كان ينبغي عليه:
- افترض فقط أن التفسير الأكثر احتمالاً هو الصحيح، واستمر في المحادثة ( بدون تأكيد )؛
- استمر في المحادثة، ولكن أضف بعض الكلمات التي تُظهر الفهم، مثل "حسنًا، أنت تريد الذهاب إلى مطعم. أين بالضبط؟" ( تأكيد ضمني ).
- اسأل المستخدم عما كان يقصد قوله بالضبط ( تأكيد صريح ): "هل تقصد X؟" "هل قلت X أم Y؟"، إلخ.
- قل للمستخدم "لم أفهم، من فضلك قل هذا مرة أخرى".
قد يؤدي اختيار "عدم التأكيد" إلى تسريع الحوار، ولكنه قد يؤدي أيضًا إلى حدوث أخطاء سيستغرق تصحيحها وقتًا أطول لاحقًا.
لقد تم بحث معالجة الأخطاء بشكل مكثف من قبل رافينكلو ، مما يسمح للمؤلف بالتحكم يدويًا في استراتيجية معالجة الأخطاء في كل جزء من الحوار.
التحكم في المبادرة
تتضمن بعض أنظمة إدارة البيانات عدة أنماط تشغيل: النمط الافتراضي هو نمط المبادرة من المستخدم ، حيث يسأل النظام المستخدم ببساطة "ماذا يمكنني أن أقدم لك؟" ويترك له حرية توجيه المحادثة. هذا النمط مناسب للمستخدمين ذوي الخبرة. مع ذلك، إذا كثر سوء الفهم بين المستخدم والنظام، فقد يقرر مدير النظام التحول إلى نمط المبادرة المختلطة أو نمط المبادرة من النظام - أي طرح أسئلة محددة على المستخدم، وقبول إجابة واحدة في كل مرة.
القرارات التربوية
تُتخذ القرارات التكتيكية من نوع مختلف بواسطة كورديليرا (نظام إدارة دروس لتعليم الفيزياء، مبني باستخدام TuTalk). في العديد من نقاط الدرس، ينبغي على مدير اللعبة اتخاذ القرار التالي:
- هل نخبر التلميذ بحقيقة معينة، أم نحاول استخلاص هذه الحقيقة منه عن طريق طرح أسئلة توجيهية؟
- هل نطلب من الطالب تبرير إجابته، أم نتجاوز التبرير ونتابع؟
تؤثر هذه القرارات على الجودة الإجمالية للتعلم، والتي يمكن قياسها من خلال مقارنة الاختبارات قبل وبعد التعلم.
التكتيكات المكتسبة
بدلاً من تكليف خبير بشري بكتابة مجموعة معقدة من قواعد اتخاذ القرار، يُستخدم عادةً التعلم المعزز . يُصوَّر الحوار كعملية ماركوف لاتخاذ القرار (MDP)، وهي عملية يتعين فيها على صانع القرار، في كل حالة، اختيار إجراء بناءً على تلك الحالة والمكافآت المحتملة لكل إجراء. في هذا السياق، يقتصر دور مُنشئ الحوار على تحديد دالة المكافأة، على سبيل المثال: في حوارات الدروس التعليمية، تكون المكافأة هي زيادة درجة الطالب؛ وفي حوارات طلب المعلومات، تكون المكافأة إيجابية إذا تلقى المستخدم المعلومات، ولكن توجد أيضًا مكافأة سلبية لكل خطوة من خطوات الحوار.
ثم تُستخدم تقنيات التعلم المعزز لتعلم سياسة معينة، على سبيل المثال، ما نوع التأكيد الذي يجب أن نستخدمه في كل حالة؟ وما إلى ذلك. ويتم استخدام هذه السياسة لاحقًا من قبل مدير اللعبة في حوارات حقيقية.
كتب ليمون وريزر (2009) دليلاً تعليمياً حول هذا الموضوع .
هناك طريقة مختلفة لتعلم سياسات الحوار وهي محاولة تقليد البشر، باستخدام تجارب ساحر أوز، حيث يجلس الإنسان في غرفة مخفية ويخبر الكمبيوتر بما يجب قوله؛ انظر على سبيل المثال Passonneau et al (2011) .
مراجع
للمزيد من القراءة
- Traum, 2008: مناهج أنظمة الحوار وإدارة الحوار - ملاحظات المحاضرة وقائمة المراجع .
- ألين وآخرون، 2001: نحو تفاعل حواري بين الإنسان والحاسوب . مراجعة لنماذج اتخاذ القرار حسب درجة التعقيد: نماذج الحالة المحدودة، ونماذج الإطار، ونماذج مجموعات السياقات، ونماذج الخطة، ونماذج الوكلاء. وصف لنظام TRIPS القائم على الوكلاء.
- المزيد من الأبحاث في مجال إدارة الحوار
- التفاعل بين الإنسان والحاسوب
