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

لا يستطيع النموذج أن يصف إلا المجتمع الذي سُحبت منه بياناته. حدّد من هو الغائب قبل أن تقرر ما الذي يُسمح للنموذج بأن يستنتجه.

آخر تحديث 23 Aug 2026 · Data and Data Quality المحور

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

ما المشكلة التي يعالجها هذا الحل؟

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

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

لكنها لا تحتوي إلا على من أنهى المعاملة. تُظهر التحليلات ١٫٤ مليون إكمال مقابل ٢٫١ مليون جلسة بدأت، أي أن نحو ٧٠٠ ألف محاولة انتهت دون طلب مكتمل ولا تظهر في أي صف تدريبي. ولا يُعرف شيء إطلاقًا عن المقيمين الذين لم يبدأوا لأنهم توجهوا إلى مركز خدمة بدلًا من ذلك، أو الذين تعذّر عليهم التحقق من هويتهم.

بلغ النموذج مساحة تحت المنحنى قدرها ٠٫٩١ في التحقق. وبعد التشغيل قدّر الطلب على الدعم المساعَد بأقل من الواقع بفارق كبير، لأن أكثر الناس حاجة إلى المساعدة هم بالضبط من لم ينتجوا طلبًا مكتملًا يمكن التعلم منه. لم يفشل النموذج على بياناته، بل أجاب عن سؤال أضيق من السؤال المطروح.

كيف يعمل الحل؟

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

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

قارن المجموعة المغطاة بغير المغطاة على أي سمة متاحة لكليهما. فإن اختلفتا في الفئة العمرية أو الإمارة أو القناة أو اللغة، كان هذا الاختلاف تحذيرًا مباشرًا بشأن التنبؤات التي ستنتقل والتي لن تنتقل.

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

قيّد نطاق التشغيل بالمجتمع الذي تغطيه البيانات فعلًا، وصرّح بذلك في وثائق النموذج لا في حاشية لا يقرؤها أحد.

  1. 1
    سمِّ المجتمع المستهدف المجموعة الكاملة التي ينطبق عليها القرار - مثلًا كل مقيم مؤهل للخدمة، لا كل مقيم استخدمها.
  2. 2
    سمِّ إطار المعاينة المجموعة التي كان يمكن للبيانات أن تأتي منها. وهنا هي «الجلسات التي بلغت خطوة الإكمال على القناة الرقمية».
  3. 3
    قِس الفجوة قارن الإطار بالمستهدف عبر عدّ مستقل: البدء مقابل الإكمال، والرقمي مقابل الحضوري، والمسجَّل مقابل المؤهل.
  4. 4
    حلّل شكل الفرق لكل سمة يمكن رصدها في المجموعتين، اختبر تطابق التوزيعين. والتباعد يحدد اتجاه التحيز.
  5. 5
    أعد الترجيح أو ضيّق النطاق رجّح السجلات المغطاة نحو توزيع المستهدف حيث يتوفر مرجع موثوق، وإلا فقصر الادعاء على المجتمع المغطى.
تحيز الاختيار: ما يراه النموذج مقابل ما يشمله القرارثلاث حلقات متداخلة: عينة التدريب هي الطلبات المكتملة، داخل إطار القناة الرقمية، داخل مجتمع المقيمين المؤهلين الذي ينطبق عليه القرار فعلًا.تحيز الاختيار: ما يراه النموذج مقابل ما يشمله القرارعينة التدريب١٫٤ مليونالمجتمع المؤهلإطار القناة الرقميةماذا تحتوي كل حلقةالطلبات المكتملة١٫٤ مليون صف - كل ما تعلّم منه النموذجالجلسات التي بدأت على القناة الرقمية٢٫١ مليون - الإطار الذي سُحبت منه العينةالمقيمون المؤهلون للخدمةالمجتمع الذي ينطبق عليه قرار الطاقة الاستيعابيةحاضر في القرار وغائب عن البياناتنحو ٧٠٠ ألف جلسة بدأت ولم تكتملكل معاملات مراكز الخدمة ومراكز الاتصالمعدل التغطية ٦٧٪ قياسًا بالإطار، وأدنى من ذلك قياسًا بالمجتمع المؤهل.
النموذج يصف الحلقة الداخلية، بينما ينطبق القرار على الحلقة الخارجية.

البنية المرجعية

يُخلق تحيز الاختيار عند الجمع ولا يمكن إصلاحه إصلاحًا كاملًا إلا هناك. أما الطبقات اللاحقة فتقيسه وتفصح عنه.

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

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

القدرات الرئيسية

توثيق إطار المعاينة

مجتمع مستهدف وإطار مكتوبان، مع بيان الفرق بينهما بدل افتراضه.

متاح

قياس فجوة التغطية

معدل تغطية وتباعد لكل شريحة مقابل مرجع مستقل.

متاح

إعادة الترجيح والجمع الطبقي

أوزان تصحيحية حيث يتوفر مرجع، وخطة جمع موجَّهة للشرائح التي لا تصلحها الأوزان.

تطوير مخصص

تشغيل مقيَّد النطاق

وثائق وضوابط تمنع تطبيق النموذج على مجتمع لم يره قط.

تطوير مخصص

التكاملات

العلاج الدائم يقع في طبقة الجمع، ولذلك يمس هذا العمل تصميم الخدمة وتحليلات القنوات بقدر ما يمس النموذج.

النظامنقطة التكامل والبيانات المتبادلةالاتجاه
منصة تحليلات الخدمةتصدير مسار البدء مقابل الإكمال بوصفه تعريفًا للإطار، لا مجرد مؤشر تحويل. ← Missing Values: Why the Gap Itself Carries Informationثنائي الاتجاه
قنوات الخدمة المساعَدةالتقاط معاملات الكاونتر ومركز الاتصال بمخطط قابل للمقارنة حتى يتوقف مجتمع الدعم عن كونه غير مرئي. ← Duplicate Data: When One Patient Becomes Four Recordsثنائي الاتجاه
توثيق النموذج ومراقبتهنشر معدل التغطية والتباعد مع بطاقة النموذج وإعادة قياسهما مع كل إعادة تدريب.ثنائي الاتجاه

حالات الاستخدام والقطاعات

الخدمات الحكومية الرقمية

بيانات المعاملات المكتملة تصف المقيمين القادرين على الخدمة الذاتية، لا الذين احتاجوا مساعدة.

الائتمان والإقراض

تاريخ السداد لا يوجد إلا للمتقدمين المقبولين، فلا يرصد النموذج أبدًا كيف كان سيؤدي المرفوضون.

البحوث السريرية

المشاركون الذين أكملوا المتابعة يختلفون منهجيًا عمن انقطعوا عنها.

قياس رضا العملاء

المستجيبون للاستبيان يختارون أنفسهم، وأصحاب أقوى الآراء هم الأعلى استجابة.

اعتبارات الإمارات والخليج

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

منهجية التنفيذ

  1. 1
    اكتب الإطار فقرة واحدة تسمّي المجتمع المستهدف وإطار المعاينة. فالغموض هنا هو السبب الجذري لا مجرد نقص في التوثيق.
  2. 2
    اعثر على مرجع مستقل واحد نشرة إحصائية رسمية أو حجم معاملات مركز خدمة أو عدّ لمسار الرحلة. فبدون رقم من الخارج لا يمكن قياس الفجوة إطلاقًا.
  3. 3
    انشر معدل التغطية سجّله بجوار نتيجة النموذج في الجدول نفسه. فـ٠٫٩١ على إطار تغطيته ٦٧٪ ادعاء مختلف عن ٠٫٩١ على تغطية كاملة.
  4. 4
    اجمع الشريحة الغائبة عن قصد عينة صغيرة مصممة خصيصًا من المجموعة غير المغطاة أثمن من عينة كبيرة من المغطاة.
  5. 5
    قيّد نطاق التشغيل حدد في وثائق النموذج المجتمع الذي يجوز تطبيق النموذج عليه، وافرض ذلك في مسار الخدمة.

الأمن وخيارات النشر

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

مثال عملي

أربع سمات مقارنة بين المجموعة المغطاة وأفضل تقدير متاح للمجتمع المستهدف.

  1. الفئة العمرية. تميل الطلبات المكتملة نحو الفئة ٢٥ إلى ٤٤. أما حصة من تجاوزوا الستين في البيانات فتقارب نصف حصتهم من المجتمع المؤهل، وهم الفئة الأكثر احتياجًا للدعم المساعَد.
  2. القناة. مجموعة البيانات رقمية فقط بحكم بنائها. فمعاملات مراكز الخدمة التي تُنجَز على الكاونتر لا تنتج صفًا مماثلًا، وبذلك يصبح مجتمع الدعم المساعَد كله غير مرئي بنيويًا.
  3. لغة الواجهة. معدل ترك الجلسات على الواجهة العربية أعلى منه على الواجهة الإنجليزية. لذا تُمثَّل الواجهة العربية تمثيلًا ناقصًا في المجموعة المكتملة، وهو عكس ما يفترض أن تخدمه المنصة.
  4. عدد المحاولات السابقة. لا تُحفظ إلا المحاولة الناجحة الأخيرة. فالمقيم الذي حاول أربع مرات يظهر مرة واحدة لا تتميز عمن نجح من أول محاولة - أي أن إشارة الصعوبة تُحذف بالعملية نفسها التي تُنشئ السجل.

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

مثال برمجي

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

import numpy as np
import pandas as pd

# `covered` = rows that made it into the training data (completed applications)
# `reference` = an independent distribution for the target population, e.g. a
# published statistical release. Without a reference you cannot measure the gap.

def coverage_report(covered: pd.DataFrame, reference: dict, col: str) -> pd.DataFrame:
    obs = covered[col].value_counts(normalize=True)
    ref = pd.Series(reference)
    out = pd.DataFrame({"observed": obs, "target": ref}).fillna(0.0)
    out["ratio"] = out["observed"] / out["target"].replace(0, np.nan)
    out["weight"] = out["target"] / out["observed"].replace(0, np.nan)
    return out.sort_values("ratio")

AGE_REFERENCE = {"18-24": 0.14, "25-44": 0.42, "45-59": 0.26, "60+": 0.18}
rep = coverage_report(covered, AGE_REFERENCE, "age_band")
print(rep.round(3))

# Total variation distance: one number for "how far is my sample from the target".
tvd = 0.5 * (rep["observed"] - rep["target"]).abs().sum()
print("total variation distance:", round(tvd, 3))

# A stratum observed at zero cannot be reweighted into existence. Reweighting
# rescales groups you HAVE; it never reconstructs a group you never sampled.
unobserved = rep.index[rep["observed"] == 0].tolist()
if unobserved:
    print("NOT correctable by weighting - never sampled:", unobserved)

# Effective sample size after weighting. If this collapses, the weights are
# carrying the result and the honest move is to collect data, not to reweight.
covered = covered.join(rep["weight"], on="age_band")
w = covered["weight"].to_numpy()
ess = w.sum() ** 2 / (w ** 2).sum()
print("n =", len(covered), "| effective n after weighting =", round(ess))
print("efficiency:", round(ess / len(covered), 3))

# Sanity check that belongs in every model card for a biased frame.
print("coverage rate:", round(len(covered) / TARGET_POPULATION, 3))

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

فحوصات تشخيصية

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

متى تستخدم هذه التقنية

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

متى لا تستخدمها

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

القيود والمتطلبات المسبقة

  • تتطلب إعادة الترجيح توزيعًا مرجعيًا موثوقًا؛ وحيث لا يوجد يمكن وصف التحيز لا تصحيحه.
  • ترفع الأوزان التباين، فقد يكون التقدير المصحَّح بقوة غير متحيز وعديم الفائدة في آن واحد.
  • لا شيء يسترجع شريحة لم تُعايَن قط - العلاج الوحيد هو الجمع.
  • كثيرًا ما يتزامن تحيز الاختيار مع الخلط، وتصحيح أحدهما لا يعالج الآخر.

تحيز الاختيار والأخطاء التي يُخلط بها

هذه تفشل بطرق مختلفة وتُعالَج بطرق مختلفة. وزيادة البيانات لا تفيد إلا واحدة منها.

المشكلةما الذي يختلهل تفيد زيادة البيانات؟
تحيز الاختيارالإطار يختلف عن المجتمع المستهدفلا - بل تضخّمه
خطأ المعاينةتباين عشوائي في عينة عادلةنعم
تحيز الناجينلا تُسجَّل إلا الوحدات التي استمرتلا
تحيز التسمياتالتسميات تعكس عملية متحيزةلا
انزياح المتغيراتتوزيع المدخلات يتغير بعد التدريبفقط بإعادة المعاينة

الاختبار الفارق بسيط: إذا كان جمع عشرة أضعاف البيانات عبر القناة نفسها لن يصلح المشكلة، فهي ليست خطأ معاينة.

الخلاصة

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

الأسئلة الشائعة

لا. فمزيد من السجلات من الإطار المتحيز نفسه يضيّق فقط مجال الثقة حول تقدير خاطئ. والعلاج الوحيد هو تغيير طريقة الجمع.

المجتمع المستهدف هو المجموعة التي ينطبق عليها القرار، أما الإطار فهو المجموعة التي كان يمكن لبياناتك أن تأتي منها. وتحيز الاختيار هو الفرق بينهما، وينبغي أن يُكتب في جملة صريحة.

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

تحيز الناجين صورة خاصة من تحيز الاختيار يكون فيها المرشِّح هو الاستمرار - إذ لا تُسجَّل إلا الوحدات التي نجت. والتشخيص والعلاج من النوع نفسه.

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

قد تتأثر. فالتوزيع العشوائي يحمي من الخلط، لكن إذا اختلف معدل الانقطاع بين الذراعين فإن المجتمع المُحلَّل يصبح مُختارًا وإن لم يكن التوزيع كذلك.

المجتمع المستهدف، والإطار، ومعدل التغطية، والشرائح ذات الرصد الصفري، وبيان صريح بالمجتمع الذي يجب ألا يُطبَّق النموذج عليه.

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

هل تعرف من الغائب عن مجموعة بياناتك؟

أرسل لنا إطار المعاينة، والقنوات التي جُمعت البيانات عبرها، والمجتمع الذي تريد للنموذج أن يصفه. سنرسم فجوة التغطية ونحدد أي الاستنتاجات تدعمها البيانات وأيها لا تدعمه.

اطلب تقييم تغطية البيانات

+971 56 404 6555 · info@swedishtechnology.com

المصادر والأدلة

  1. Groves et al., Survey Methodology — مرجع أساسي في أطر المعاينة وخطأ التغطية وعدم الاستجابة.
  2. Heckman, Sample Selection Bias as a Specification Error — المعالجة القياسية الاقتصادية للاختيار بوصفه خطأ في التوصيف.
  3. scikit-learn: sample_weight in model fitting — المرجع الرسمي لتطبيق الأوزان التصحيحية أثناء التدريب.
  4. Mitchell et al., Model Cards for Model Reporting — صيغة التوثيق التي يُفصح فيها عن قيود المجتمع والتغطية.

أسماء الموردين والمنتجات علامات تجارية لمالكيها؛ وتُستخدم المراجع للسياق التقني ولا تعني شراكة أو اعتمادًا أو تأييدًا ما لم يُذكر ذلك صراحة.