পাঠ ১৪ · ৫৭-এর মধ্যে · মডিউল ৪
Home / AI Courses / Human-Centered AI / এক্সপ্লেইনেবিলিটি

কেন এক্সপ্লেইনেবিলিটি একটি UX সমস্যা, শুধু টেকনিক্যাল নয়

Why explainability is a UX problem, not just technical
৭ মিনিট পড়া মধ্যম · Intermediate Python কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • টেকনিক্যালি-সঠিক এক্সপ্লেনেশন কীভাবে তবুও একটি UX ব্যর্থতা হতে পারে তার ৪টি সাধারণ ধরন চেনা
  • কেন এক্সপ্লেইনেবিলিটি মূলত একটি ইন্টারঅ্যাকশন-ডিজাইন সমস্যা, শুধু মডেল-আউটপুট সমস্যা নয়
  • একটি সত্যিকারের কোড উদাহরণ দিয়ে দেখা কীভাবে প্রসঙ্গ (context) একটি এক্সপ্লেনেশনের UX-উপযোগিতা নির্ধারণ করে
  • M4-এর বাকি পাঠগুলো (এক্সপ্লেনেশনের ধরন, কনফিডেন্স কমিউনিকেশন, প্রোগ্রেসিভ ডিসক্লোজার, ইভালুয়েশন) কীভাবে একসাথে এই সমস্যার সমাধান করে তার একটি রোডম্যাপ

১ · টেকনিক্যালি সঠিক ≠ ব্যবহারযোগ্য

একটি AI মডেলের সিদ্ধান্তের পেছনের কারণ বের করা একটি টেকনিক্যাল সমস্যা — এর জন্য SHAP, LIME, অ্যাটেনশন-ওয়েট, ডিসিশন-ট্রি পাথের মতো কৌশল ব্যবহার করা হয় (এই কৌশলগুলোর গভীর প্রযুক্তিগত আলোচনা AI Ethics কোর্সে আছে)। কিন্তু সেই সঠিক ব্যাখ্যাটি একজন প্রকৃত ব্যবহারকারীর কাছে কার্যকরভাবে পৌঁছানো — সে ঠিক সময়ে, ঠিক ভাষায়, ঠিক পরিমাণ তথ্য দিয়ে তা বুঝতে পারা — সেটি একটি সম্পূর্ণ ভিন্ন সমস্যা: একটি UX সমস্যাUX সমস্যাযে সমস্যাটি মডেলের ভেতরের গণনার সঠিকতার সাথে সম্পর্কিত নয়, বরং একজন প্রকৃত ব্যবহারকারী সেই তথ্যের সাথে কীভাবে মিথস্ক্রিয়া করে, বোঝে এবং ব্যবহার করে তার সাথে সম্পর্কিত।। একটি মডেল ৯৯.৯% নিখুঁত SHAP মান গণনা করতে পারে, অথচ সেই মানটি ব্যবহারকারীর সামনে যেভাবে উপস্থাপন করা হয় তা যদি ভুল হয়, পুরো এক্সপ্লেনেশন-প্রচেষ্টাটাই বিফলে যায়।

২ · চারটি সাধারণ ব্যর্থতার ধরন

অতিরিক্ত টেকনিক্যাল
"ফিচার #৭-এর SHAP মান -০.৩৪" — এই বাক্যটি একজন ডেটা সায়েন্টিস্টের কাছে অর্থবহ, কিন্তু একজন সাধারণ ব্যবহারকারীর কাছে এটি নিছক শব্দগুচ্ছ, কোনো বোধগম্য তথ্য নয়।
অতিরিক্ত দীর্ঘ / দেরিতে আসা
ব্যবহারকারী যদি ইতিমধ্যে সিদ্ধান্ত নিয়ে ফেলেছেন (বা UI-তে দেখার মতো সময়ই না থাকে), তাহলে নিখুঁত ব্যাখ্যাও অপ্রাসঙ্গিক হয়ে যায়।
ভুল প্রশ্নের উত্তর
ব্যবহারকারী জানতে চান "আমি কী করলে ফলাফল বদলাবে?" (কন্ট্রাস্টিভ), কিন্তু সিস্টেম শুধু "মডেল সাধারণত কীভাবে কাজ করে" (গ্লোবাল) দেখায় — উত্তর সঠিক, প্রশ্নের সাথে অমিল (বিস্তারিত L15-এ)।
কোনো পদক্ষেপ নেই
"আপনার আবেদন প্রত্যাখ্যাত হয়েছে কারণ X" জানানো যথেষ্ট নয় যদি ব্যবহারকারী না জানেন এরপর কী করা উচিত — একটি ভালো ব্যাখ্যা প্রায়ই একটি সম্ভাব্য পরবর্তী পদক্ষেপও ইঙ্গিত করে।
AI Ethics কোর্সের সাথে সম্পর্ক

AI Ethics কোর্সের এক্সপ্লেইনেবল AI (XAI) পাঠ প্রশ্ন করে "কীভাবে আমরা গণনামূলকভাবে একটি মডেলের সিদ্ধান্তের কারণ বের করব?" — LIME, SHAP-এর মতো টেকনিক নিয়ে। এই মডিউল ভিন্ন প্রশ্ন জিজ্ঞাসা করে: "সেই টেকনিক্যাল আউটপুটকে কীভাবে একজন মানুষের জন্য বোধগম্য, সময়োপযোগী ও কার্যকর ইন্টারফেসে রূপান্তর করব?" — দুটো প্রশ্নই দরকার, একটি ছাড়া অন্যটি অসম্পূর্ণ।

৩ · একটি সত্যিকারের উদাহরণ — প্রসঙ্গ অনুযায়ী একই ব্যাখ্যা সফল বা ব্যর্থ

ধরা যাক একজন ব্যবহারকারীর ঋণ আবেদন প্রত্যাখ্যাত হয়েছে, এবং সিস্টেমের কাছে একই সিদ্ধান্তের দুটি ভিন্ন ব্যাখ্যা আছে — একটি টেকনিক্যাল (SHAP-স্টাইল), একটি সহজ ভাষায়। নিচের কোডে দেখা যাক এই দুটি ব্যাখ্যা দুটি ভিন্ন UI প্রেক্ষাপটে (একটি দ্রুত নোটিফিকেশন ব্যানার, যেখানে মাত্র কয়েক সেকেন্ড সময় থাকে; আর একটি ডেডিকেটেড রিভিউ পেজ, যেখানে অনেক বেশি সময় থাকে) কেমন করে।

Python
technical_words = ["এই", "মডেলের", "সিদ্ধান্তটি", "মূলত", "এনসেম্বল", "ট্রি-র", "মধ্যে", "ফিচার",
                    "ডেট-টু-ইনকাম-রেশিওর", "SHAP", "মান", "এবং", "ফিচার", "ক্রেডিট-হিস্টোরি-লেংথের",
                    "সাথে", "তার", "ইন্টারঅ্যাকশন", "টার্মের", "সম্মিলিত", "প্রভাবের", "উপর", "ভিত্তি",
                    "করে", "নির্ধারিত", "হয়েছে।"]
plain_words = ["আপনার", "ঋণ-আয়", "অনুপাত", "বেশি", "হওয়ায়", "আবেদনটি", "প্রত্যাখ্যাত", "হয়েছে।"]

technical_explanation = " ".join(technical_words)
plain_explanation = " ".join(plain_words)

reading_speed_wps = 3.0  # ধরে নেওয়া হয়েছে গড়ে সেকেন্ডে ৩টি শব্দ পড়া যায় (শুধু উদাহরণের জন্য একটি অনুমান)

contexts = [
    ("দ্রুত নোটিফিকেশন ব্যানার", 3),
    ("ডেডিকেটেড রিভিউ পেজ", 15),
]

explanations = [
    ("টেকনিক্যাল (SHAP-স্টাইল)", technical_explanation),
    ("সহজ ভাষা", plain_explanation),
]

for exp_name, exp_text in explanations:
    word_count = len(exp_text.split())
    read_time = word_count / reading_speed_wps
    print(f"{exp_name}: {word_count} শব্দ, পড়তে লাগবে ~{read_time:.1f} সেকেন্ড")
    for ctx_name, budget in contexts:
        fits = "ফিট করে" if read_time <= budget else "ফিট করে না -- UX ব্যর্থতা"
        print(f"  -> {ctx_name} (বাজেট {budget}s): {fits}")
    print()

    
টেকনিক্যাল ব্যাখ্যাটি (২৫ শব্দ) পড়তে সময় লাগে ~৮.৩ সেকেন্ড — দ্রুত নোটিফিকেশন ব্যানারের ৩-সেকেন্ড বাজেটে এটি স্পষ্টভাবে ফিট করে না, যদিও ডেডিকেটেড রিভিউ পেজের ১৫-সেকেন্ড বাজেটে ঠিক চলে। সহজ-ভাষার ব্যাখ্যাটি (৮ শব্দ, ~২.৭ সেকেন্ড) দুটো প্রেক্ষাপটেই ফিট করে। লক্ষ্য করুন — দুটো ব্যাখ্যাই টেকনিক্যালি সঠিক; পার্থক্যটা তথ্যের নির্ভুলতায় নয়, বরং প্রসঙ্গের সাথে উপযুক্ততায়। এটাই দেখায় কেন এক্সপ্লেইনেবিলিটি একটি UX ডিজাইন সিদ্ধান্ত — শুধু "কী ব্যাখ্যা দেব" নয়, "কোথায়, কখন, কতটুকু ব্যাখ্যা দেব" সমান গুরুত্বপূর্ণ (L17-এ প্রোগ্রেসিভ ডিসক্লোজার দিয়ে এই সমস্যার একটি ডিজাইন সমাধান দেখা হবে)।

৪ · কেন এটি শুধু টেকনিক্যাল টিমের দায়িত্ব নয়

যেহেতু এক্সপ্লেইনেবিলিটির ব্যর্থতাগুলো ভাষা, সময়, প্রসঙ্গ ও কার্যকারিতার সমস্যা — এগুলো সমাধান করতে হলে UX ডিজাইনার, কনটেন্ট রাইটার এবং প্রোডাক্ট টিমকেও ML ইঞ্জিনিয়ারের পাশাপাশি কাজ করতে হয়। শুধু একটি নির্ভুল SHAP মান তৈরি করাই যথেষ্ট নয় — সেই মানকে কখন, কীভাবে, কার জন্য দেখানো হবে তা ডিজাইন করাটাই আসল কাজ। বাকি এই মডিউল (M4) জুড়ে আমরা দেখব: এক্সপ্লেনেশনের বিভিন্ন ধরন (L15), কনফিডেন্স/আনসার্টেইনটি কমিউনিকেশন (L16), প্রোগ্রেসিভ ডিসক্লোজার (L17), এবং ব্যবহারকারীদের সাথে এক্সপ্লেনেশনের গুণমান যাচাই করা (L18)।

মূল কথা · Key takeaway

একটি এক্সপ্লেনেশন যত টেকনিক্যালি নিখুঁতই হোক না কেন, তা যদি ব্যবহারকারীর ভাষায়, তার সময়সীমার মধ্যে, তার আসল প্রশ্নের উত্তর দিয়ে না পৌঁছায় — তাহলে সেটি ব্যর্থ। এক্সপ্লেইনেবিলিটি তাই একইসাথে একটি টেকনিক্যাল সমস্যা এবং একটি ইন্টারঅ্যাকশন-ডিজাইন সমস্যা — এবং এই কোর্সে আমরা মূলত দ্বিতীয়টির উপর ফোকাস করি।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ একটি এক্সপ্লেনেশন কি "টেকনিক্যালি ভুল" না হয়েও "UX হিসেবে ব্যর্থ" হতে পারে? উপরের ডেমো থেকে একটি উদাহরণ দিন।

হ্যাঁ, এবং এটাই এই পাঠের মূল বিষয়। উপরের ডেমোতে টেকনিক্যাল (SHAP-স্টাইল) ব্যাখ্যাটি সম্পূর্ণ সঠিক তথ্য দেয়, কিন্তু দ্রুত নোটিফিকেশন ব্যানারের প্রেক্ষাপটে তা পড়ার সময়ই থাকে না (৮.৩ সেকেন্ড লাগে, বাজেট মাত্র ৩ সেকেন্ড) — ফলে এটি একটি UX ব্যর্থতা, যদিও এর ভেতরের তথ্য নির্ভুল।

প্র ০২ একই ব্যাখ্যা প্রতিটি প্রেক্ষাপটে দেখানোর বদলে, সিস্টেম কীভাবে প্রসঙ্গ অনুযায়ী ভিন্ন সংস্করণ বেছে নিতে পারে?

সিস্টেম UI-এর ধরন (নোটিফিকেশন বনাম ডেডিকেটেড পেজ), ব্যবহারকারীর ভূমিকা (সাধারণ ব্যবহারকারী বনাম বিশেষজ্ঞ অডিটর), এবং উপলব্ধ সময়/স্থান অনুযায়ী ভিন্ন "স্তরের" ব্যাখ্যা দেখাতে পারে — একটি সংক্ষিপ্ত একলাইন কারণ দ্রুত প্রেক্ষাপটে, আর সম্পূর্ণ ব্রেকডাউন একটি "আরও জানুন" পেজে। এই ধারণাটিই L17-এ প্রোগ্রেসিভ ডিসক্লোজার হিসেবে বিস্তারিত আলোচনা করা হবে।

প্র ০৩ বাস্তব জীবনে এমন একটি প্রোডাক্ট চিন্তা করুন যেখানে আপনি একটি AI/অ্যালগরিদমিক সিদ্ধান্তের ব্যাখ্যা পেয়েছেন, কিন্তু সেটি আপনার আসলে যা জানতে চেয়েছিলেন তার উত্তর দেয়নি।

একটি সাধারণ উদাহরণ: সোশ্যাল মিডিয়া ফিড বা বিজ্ঞাপনের পাশে "কেন এই পোস্ট/বিজ্ঞাপন দেখছেন" বাটনে ক্লিক করলে প্রায়ই একটি অস্পষ্ট গ্লোবাল ব্যাখ্যা পাওয়া যায় ("আপনার আগ্রহের সাথে সামঞ্জস্যপূর্ণ"), অথচ ব্যবহারকারী আসলে জানতে চান একটি লোকাল/কন্ট্রাস্টিভ উত্তর — "ঠিক কোন নির্দিষ্ট সংকেতের কারণে এই নির্দিষ্ট পোস্টটি, অন্য কোনোটি নয়?" এই ধরনের ভুল-ম্যাচ L15-এ বিস্তারিত আলোচনা করা হবে।

অনুশীলন

  1. চিন্তা করুন: উপরের কোডে reading_speed_wps-কে 3.0 থেকে 8.0-এ বাড়ালে (অর্থাৎ ব্যবহারকারী অনেক দ্রুত পড়েন ধরে নিলে), আপনার কি মনে হয় টেকনিক্যাল ব্যাখ্যাটি এখন দ্রুত নোটিফিকেশন ব্যানারের (৩-সেকেন্ড) বাজেটে ফিট করবে?

    অনুমান করা স্বাভাবিক যে অনেক দ্রুত পড়ার হার (৮ শব্দ/সেকেন্ড, যা বাস্তবে প্রায় অসম্ভব দ্রুত) ব্যাখ্যাটি ফিট করিয়ে দেবে — কিন্তু হিসাব করলে দেখা যায় ২৫ শব্দে ৮ শব্দ/সেকেন্ডেও লাগে ~৩.১ সেকেন্ড, যা এখনও ৩-সেকেন্ড বাজেট সামান্য ছাড়িয়ে যায়।

  2. পরীক্ষা করুন: উপরের কোডে reading_speed_wps = 3.0-কে reading_speed_wps = 8.0-এ পরিবর্তন করে Run চেপে আপনার অনুমান যাচাই করুন।

    সত্যিই, wps=8.0-এ টেকনিক্যাল ব্যাখ্যাটি পড়তে লাগে ~৩.১ সেকেন্ড, যা এখনও ৩-সেকেন্ড বাজেটের চেয়ে সামান্য বেশি — তাই "ফিট করে না" ফলাফলই থেকে যায়। এটি একটি গুরুত্বপূর্ণ শিক্ষা: সমস্যাটা শুধু "ব্যবহারকারী কত দ্রুত পড়েন" নয় — আসল সমস্যা হলো এই ব্যাখ্যাটি এই প্রেক্ষাপটের জন্য মৌলিকভাবে অনুপযুক্ত ভাবে ডিজাইন করা হয়েছে। প্রকৃত সমাধান পড়ার গতি বাড়ানো নয়, বরং প্রেক্ষাপট অনুযায়ী ছোট ব্যাখ্যা ডিজাইন করা (L17)।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

আগের পাঠ
ট্রাস্ট ব্যর্থতার কেস স্টাডি