পাঠ ২৯ · ৫৭-এর মধ্যে · মডিউল ৭
Home / AI Courses / Human-Centered AI / বৈচিত্র্যময় ব্যবহারকারী

বৈচিত্র্যময় ব্যবহারকারীদের জন্য AI ডিজাইন

Designing AI for diverse users
৮ মিনিট পড়া মধ্যম · Intermediate Python কোডসহ সম্পূর্ণ বাংলায়

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

  • কেন "একটি ইন্টারফেস সবার জন্য" ধারণাটি বিপজ্জনক অনুমান
  • ব্যবহারকারীদের বৈচিত্র্যের মূল মাত্রা — প্রযুক্তি-দক্ষতা, ভাষা, সক্ষমতা, সাংস্কৃতিক প্রেক্ষাপট
  • অভিযোজিত জটিলতা, ডিফল্ট সরলতা ও প্রকৃত লোকালাইজেশনের ডিজাইন কৌশল
  • একটি সত্যিকারের পার্সোনা-ভিত্তিক UI-মোড নির্ধারণ ইঞ্জিন, এবং নিয়মের ক্রম কীভাবে ফলাফল বদলে দেয়

১ · "গড় ব্যবহারকারী" একটি বিপজ্জনক কল্পকাহিনী

AI প্রোডাক্ট ডিজাইনের সবচেয়ে সাধারণ ভুল হলো এমন একজন কল্পিত "গড় ব্যবহারকারী"-কে মাথায় রেখে ডিজাইন করা, যিনি প্রযুক্তিতে দক্ষ, ইন্টারফেসের ভাষায় স্বাচ্ছন্দ্য বোধ করেন, চোখে-কানে-হাতে সম্পূর্ণ সক্ষম, এবং ডিজাইনারের নিজের সাংস্কৃতিক প্রেক্ষাপটের সাথে পরিচিত। বাস্তবে এমন একক "গড়" ব্যবহারকারী প্রায় কখনোই থাকেন না — প্রতিটি প্রোডাক্টের ব্যবহারকারী-ভিত্তি একটি বিস্তৃত বর্ণালী (spectrum), একটি বিন্দু নয়। M2-এ (ইউজার রিসার্চপ্রকৃত ব্যবহারকারীদের আচরণ, প্রয়োজন ও প্রেক্ষাপট সরাসরি পর্যবেক্ষণ ও পরীক্ষা করে বোঝার প্রক্রিয়া।) ও পার্সোনা তৈরির যে পদ্ধতি শেখা হয়েছিল, সেটি এই বাস্তবতা মাথায় রেখেই ব্যবহার করতে হয় — একজন নয়, একাধিক ভিন্ন পার্সোনার বিপরীতে ডিজাইন যাচাই করা।

AI Ethics কোর্সের সাথে সম্পর্ক

AI Ethics কোর্স ফেয়ারনেস প্রশ্নটিকে পরিসংখ্যানিক দৃষ্টিকোণ থেকে দেখে — মডেলের আউটপুট বিভিন্ন জনগোষ্ঠীর মধ্যে কতটা ন্যায্যভাবে বিতরণ করা হচ্ছে তা মেট্রিক দিয়ে মাপা। এই মডিউল সেই একই "বিভিন্ন ধরনের ব্যবহারকারী" প্রশ্নটিকে সম্পূর্ণ ভিন্ন ডিজাইন দৃষ্টিকোণ থেকে দেখে — মডেলের আউটপুট যেটাই হোক না কেন, ইন্টারফেসটি কি সবাই বুঝতে ও ব্যবহার করতে পারছেন? এই দুটো প্রশ্ন আলাদা, এবং দুটোই দরকার।

২ · বৈচিত্র্যের মূল মাত্রা

প্রযুক্তি-দক্ষতা
কেউ প্রতিদিন একাধিক AI টুল ব্যবহার করেন, কেউ প্রথমবার স্মার্টফোনে কোনো AI ফিচার দেখছেন। একই "কনফিডেন্স স্কোর" শব্দটি একজনের কাছে স্পষ্ট, অন্যজনের কাছে অর্থহীন।
ভাষা
ইন্টারফেসের ভাষায় স্বাচ্ছন্দ্য না থাকলে জটিল বাক্য, ইডিয়ম বা টেকনিক্যাল শব্দ ব্যবহারকারীকে ধীর করে দেয় বা ভুল বোঝায়।
সক্ষমতা (ability)
দৃষ্টি, শ্রবণ, মোটর ও জ্ঞানীয় সক্ষমতার পার্থক্য — এটি বিস্তারিতভাবে L30-এ কভার করা হবে।
সাংস্কৃতিক প্রেক্ষাপট
রঙ, আইকন, তারিখ-ফরম্যাট, এমনকি "AI-কে প্রশ্ন করা স্বাভাবিক কি না" — এসবের অর্থ সংস্কৃতিভেদে ভিন্ন হতে পারে।

৩ · তিনটি মূল ডিজাইন কৌশল

এই বৈচিত্র্য মোকাবিলা করার জন্য প্রতিটি স্ক্রিনকে আলাদাভাবে পুনর্লিখন করার দরকার নেই — বরং তিনটি ব্যবস্থাপনাযোগ্য কৌশল দিয়ে বেশিরভাগ ক্ষেত্র কভার করা যায়।

অভিযোজিত জটিলতা (adaptive complexity)

সব ব্যবহারকারীকে একই স্তরের ফিচার-ঘনত্ব দেখানোর বদলে, ব্যবহারকারীর আচরণ বা প্রোফাইল অনুযায়ী ইন্টারফেসের জটিলতা ধাপে ধাপে বাড়ানো যায় — নতুন ব্যবহারকারী একটি সরলীকৃত, বেশি-ব্যাখ্যাসহ সংস্করণ দেখেন; অভিজ্ঞ ব্যবহারকারী চাইলে অ্যাডভান্সড কন্ট্রোল আনলক করতে পারেন। এটি L17-এর প্রোগ্রেসিভ ডিসক্লোজার ধারণার সাথে সরাসরি সম্পর্কিত।

ডিফল্টভাবে সরল ভাষা

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

অনুবাদ ≠ লোকালাইজেশন

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

৪ · একটি সত্যিকারের পার্সোনা-ভিত্তিক UI-মোড ইঞ্জিন

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

Python
from collections import Counter

def recommend_ui_mode(persona):
    # নিয়ম ১: সহায়ক প্রযুক্তি ব্যবহার করলে বা প্রযুক্তি-দক্ষতা খুব কম হলে -- সরলীকৃত মোড অগ্রাধিকার পায়
    if persona["uses_assistive_tech"] or persona["tech_literacy"] <= 2:
        return "সরলীকৃত + বেশি সহায়তা"
    # নিয়ম ২: ইন্টারফেসের ভাষায় স্বাচ্ছন্দ্য না থাকলে -- অনুবাদ-সহায়ক সরলীকৃত মোড
    elif not persona["language_match"]:
        return "সরলীকৃত + অনুবাদ সহায়তা"
    # নিয়ম ৩: উচ্চ প্রযুক্তি-দক্ষতা হলে -- অ্যাডভান্সড মোড আনলক
    elif persona["tech_literacy"] >= 4:
        return "অ্যাডভান্সড/পাওয়ার-ইউজার"
    else:
        return "স্ট্যান্ডার্ড"

personas = [
    {"name": "Rahim",  "tech_literacy": 2, "language_match": True,  "uses_assistive_tech": False},
    {"name": "Karim",  "tech_literacy": 4, "language_match": True,  "uses_assistive_tech": False},
    {"name": "Fatema", "tech_literacy": 3, "language_match": False, "uses_assistive_tech": False},
    {"name": "Nasrin", "tech_literacy": 3, "language_match": True,  "uses_assistive_tech": True},
    {"name": "Zahid",  "tech_literacy": 3, "language_match": True,  "uses_assistive_tech": False},
]

modes = []
for p in personas:
    mode = recommend_ui_mode(p)
    modes.append(mode)
    print(f"{p['name']}: tech_literacy={p['tech_literacy']}, language_match={p['language_match']}, "
          f"assistive_tech={p['uses_assistive_tech']} -> {mode}")

print()
counts = Counter(modes)
for mode, c in counts.items():
    print(f"{mode}: {c} জন")

    
আউটপুটে দেখা যায় — Rahim (কম প্রযুক্তি-দক্ষতা) ও Nasrin (সহায়ক প্রযুক্তি ব্যবহারকারী) দুজনেই "সরলীকৃত + বেশি সহায়তা" মোড পান, যদিও তাদের পরিস্থিতি ভিন্ন — একজনের ভাষা-দক্ষতা ঠিক থাকা সত্ত্বেও তিনি এই মোডে পড়েন কারণ নিয়ম ১ প্রথমে চেক হয়। Fatema-র প্রযুক্তি-দক্ষতা ও সহায়ক-প্রযুক্তি ব্যবহার স্বাভাবিক, কিন্তু ভাষা না মেলায় তিনি "সরলীকৃত + অনুবাদ সহায়তা" মোড পান। মোট ৫ জনের মধ্যে ২ জন সরলীকৃত+সহায়তা মোডে, ১ জন অনুবাদ-সহায়তা মোডে, ১ জন অ্যাডভান্সড মোডে, আর ১ জন স্ট্যান্ডার্ড মোডে পড়েছেন। এখানে গুরুত্বপূর্ণ বিষয় হলো — নিয়মের ক্রম ফলাফল নির্ধারণ করে, তাই কোন প্রয়োজনকে অগ্রাধিকার দেওয়া হচ্ছে তা একটি সচেতন ডিজাইন সিদ্ধান্ত, কাকতালীয় নয়।
মূল কথা · Key takeaway

বৈচিত্র্যময় ব্যবহারকারীদের জন্য ডিজাইন করা মানে প্রতিটি সম্ভাব্য ব্যবহারকারীর জন্য আলাদা ইন্টারফেস বানানো নয় — বরং কয়েকটি স্পষ্ট, সচেতনভাবে অগ্রাধিকার-দেওয়া নিয়মের মাধ্যমে জটিলতা, ভাষা ও সহায়তার মাত্রা ব্যবহারকারীর প্রকৃত প্রয়োজন অনুযায়ী অভিযোজিত করা। পরবর্তী পাঠে (L30) দেখা যাবে সক্ষমতা-ভিত্তিক অ্যাক্সেসিবিলিটি নীতিমালা আরও নির্দিষ্টভাবে কীভাবে প্রয়োগ করা হয়।

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

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

প্র ০১ উপরের কোডে "সহায়ক প্রযুক্তি ব্যবহার" শর্তটি "ভাষা-মিল" শর্তের আগে চেক করা হয়েছে। এই ক্রম বদলে দিলে (ভাষা আগে চেক করলে) কী পার্থক্য হতো?

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

প্র ০২ এই ইঞ্জিন শুধু তিনটি অ্যাট্রিবিউট ব্যবহার করে। বাস্তব একটি প্রোডাক্টে আর কোন অ্যাট্রিবিউট যোগ করলে সুপারিশ আরও নির্ভুল হতো বলে মনে করেন?

বাস্তবে যোগ করা যেতে পারে: ব্যবহারের ডিভাইস (ছোট মোবাইল স্ক্রিন বনাম ডেস্কটপ), নেটওয়ার্ক-স্পিড (কম-ব্যান্ডউইথ পরিস্থিতিতে ভারী ভিজ্যুয়াল এড়ানো), বা ব্যবহারের সময়ের চাপ (তাড়াহুড়ার মধ্যে থাকলে দ্রুত-সিদ্ধান্তের মোড)। তবে প্রতিটি নতুন অ্যাট্রিবিউট নিয়ম-ইঞ্জিনকে জটিল করে — তাই বাস্তব ডিজাইনে সাধারণত সবচেয়ে বেশি প্রভাবশালী ২-৪টি অ্যাট্রিবিউট বেছে নেওয়া হয়, সবগুলো নয়।

প্র ০৩ "সরল ভাষা ব্যবহার করা" কি প্রযুক্তি-দক্ষ ব্যবহারকারীর জন্য ক্ষতিকর হতে পারে? যুক্তি দিন।

সাধারণত না — সরল ভাষা প্রযুক্তি-দক্ষ ব্যবহারকারীর জন্য পড়তে সময় কম লাগে এবং বোঝা সহজ হয়, তাই এটি তাদের জন্য ক্ষতিকর নয়, বরং সাধারণত সহায়কই। প্রকৃত ঝুঁকি হলো, খুব বেশি সরলীকরণ করলে গুরুত্বপূর্ণ টেকনিক্যাল বিস্তারিত (যেমন একটি সিদ্ধান্তের সীমাবদ্ধতা) হারিয়ে যেতে পারে — এ কারণেই "ডিফল্টভাবে সরল, কিন্তু বিস্তারিত এক ক্লিক দূরে" (প্রোগ্রেসিভ ডিসক্লোজার, L17) পদ্ধতিটি উভয় গোষ্ঠীর জন্যই কাজ করে।

অনুশীলন

  1. চিন্তা করুন: যদি একটি নতুন পার্সোনা যোগ করা হয় — tech_literacy=1, language_match=False, uses_assistive_tech=False — তাহলে সে কোন মোড পাবে বলে আপনার ধারণা?

    যেহেতু tech_literacy <= 2, নিয়ম ১ প্রথমেই সত্য হয়ে যায় — তাই ভাষা না মেলা সত্ত্বেও সে "সরলীকৃত + বেশি সহায়তা" মোড পাবে, "সরলীকৃত + অনুবাদ সহায়তা" নয়। এটি আবার দেখায় প্রথম শর্তটি (কম প্রযুক্তি-দক্ষতা/সহায়ক প্রযুক্তি) বাকি সব শর্তের উপর অগ্রাধিকার পায়।

  2. পরীক্ষা করুন: উপরের কোড সেলে personas তালিকায় নতুন একটি এন্ট্রি {"name": "Amit", "tech_literacy": 1, "language_match": False, "uses_assistive_tech": False} যোগ করে Run চেপে আপনার অনুমান যাচাই করুন।

    যোগ করার পর Amit-এর জন্য আউটপুটে দেখা যায়: tech_literacy=1, language_match=False, assistive_tech=False -> সরলীকৃত + বেশি সহায়তা — ঠিক অনুমান অনুযায়ী। মোট গণনায় এখন "সরলীকৃত + বেশি সহায়তা" মোডে ৩ জন হয়ে যায় (আগে ছিল ২ জন), বাকি সংখ্যাগুলো অপরিবর্তিত থাকে।

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

  • কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৫৭টি পাঠ ব্যবহারকারী ও প্রেক্ষাপট, ট্রাস্ট ক্যালিব্রেশন, এক্সপ্লেইনেবিলিটি, হিউম্যান-ইন-দ্য-লুপ ডিজাইন, কগনিটিভ লোড, অ্যাক্সেসিবিলিটি, হিউম্যান-AI টিমিং, ইউজেবিলিটি ইভালুয়েশন, ইন্ডাস্ট্রি ফ্রেমওয়ার্ক ও ক্যাপস্টোন।
  • AI Ethics কোর্স সহোদর কোর্স ফেয়ারনেস মেট্রিক্স, বায়াস পরিমাপ, প্রাইভেসি ও নিয়ন্ত্রণ-বিধির গভীর কভারেজ — এই পাঠের ডিজাইন-দৃষ্টিকোণের পরিপূরক।
  • সব Courses দেখুন ABCL TECH C, C++, Python, Java, JavaScript, DSA, Machine Learning, Deep Learning, System Design, Cybersecurity, Cloud Computing & DevOps, এবং আরও অনেক কোর্স — সব এক জায়গায়।
আগের পাঠ
সাধারণ AI UX প্যাটার্ন — সাজেশন, অটোকমপ্লিট, জেনারেটিভ প্রিভিউ