<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Clement |</title><link>https://clementgodbarge.com/ar/authors/clement/</link><atom:link href="https://clementgodbarge.com/ar/authors/clement/index.xml" rel="self" type="application/rss+xml"/><description>Clement</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>ar</language><lastBuildDate>Sun, 06 Sep 2026 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/authors/clement_hu_3c9b888d0ca9e974.webp</url><title>Clement</title><link>https://clementgodbarge.com/ar/authors/clement/</link></image><item><title>السياج لا النار</title><link>https://clementgodbarge.com/ar/post/fence-not-fire/</link><pubDate>Sun, 06 Sep 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/fence-not-fire/</guid><description>&lt;p&gt;في مستودع بشمال لاس فيغاس تدير Amazon آلةً تقطع كعوب الكتب المستعملة؛ فتمر الأوراق المفكوكة على ماسح ضوئي، ثم يُساق الورق إلى العجن. وقد شبّهت صحيفة
هذا النشاط بحرق الكتب في ثوبه الحديث، ولم تدّخر في سبيل ذلك كليشيهًا واحدًا: تلميح إلى سافونارولا، وصور أرشيفية لكتب تبدو نادرة، ثم محرقة برلين بطبيعة الحال. أما الصحف الرصينة فكانت، كما يُنتظر منها، أهدأ لهجة، لكنها تركت المقارنة نفسها معلّقة في الهواء. وعلى كثرة ما في هذه المقالات من سخط، فقد خرجت صناعة الذكاء الاصطناعي منها سالمة لا يمسها سوء. فمن يملك زمام المعرفة التي تُمسح ضوئيًّا؟ على هذا السؤال أن ينتظر ريثما نفرغ من هراء حرق الكتب.&lt;/p&gt;
&lt;h2 id="الماسح-الضوئي-ليس-محرقة"&gt;الماسح الضوئي ليس محرقة&lt;/h2&gt;
&lt;p&gt;إتلاف النسخة الورقية لا يجعل من المسح الإتلافي، في ذاته، نظيرًا حديثًا لمحارق سافونارولا أو لإحراق النازيين للكتب. فتلك الأفعال استمدت معناها مما أُدين فيها ولماذا أُدين. فذلك الراهب المسكين سافونارولا، الذي يُجرّ إلى كل جدل حول حرق الكتب، دعا الناس إلى إحراق بعض ما يملكون توبةً معلنة على الملأ. أما محارق النازيين فأخرجت ضربًا آخر من التبرؤ: كان إحراق الكتب على الملأ إعلانًا بأن لا مكان لأصحابها في الحياة الثقافية الألمانية. وفي الحالين كان الإتلاف مشهدًا مقصودًا لذاته. أما المسح الإتلافي، وهو أسلوب شائع في الرقمنة، فغايته أخرى: تُضحَّى بالنسخة حفظًا لمحتواها؛ يُتلف الكتاب، ويُجرَّد النص من مادته. ومن يستنجد بـ«فهرنهايت 451» فليتذكر أن رجال الإطفاء عند برادبري لم يكونوا يحفظون النص ليوم آخر.&lt;/p&gt;
&lt;p&gt;وزادت
الهلع هلعًا بوضع «كتب نادرة» في عنوانها، ورددت الصحف الأخرى الوصف بأمانة. غير أن بائع كتب استُشهد به في تحقيقها نفسه ذكر أن هذه الطلبيات بالجملة
، مما يدل في الغالب على طبعات صدرت منذ اعتماد أرقام ISBN نحو عام 1970. هذه بضاعة أسواق الأغراض المستعملة ومتاجر الجمعيات الخيرية، لا يفصل كثيرًا منها عن مكب النفايات إلا تنظيفٌ عابر لرفوف البيت. وقبل إعلان الكارثة الثقافية، ما أجدر المرء بأن يراجع فهرس المكتبة؛ فهذه بالضبط هي المطبوعات التي أُنشئت مكتبات الإيداع القانوني لحفظها. صحيح أن رقم ISBN لا يضمن بقاء نسخة الإيداع، لكن الندرة في سوق الكتب المستعملة لا تثبت هي الأخرى أن النص قد ضاع.&lt;/p&gt;
&lt;p&gt;نعم، يمحو العجن النسخة الورقية بما فيها من إهداءات وحواشٍ. والنسخ التي تحمل تعليقات أو أصولًا ذات شأن تاريخي جديرة بأن تُميَّز وتُصان، والأفضل أن يكون ذلك قبل بلوغها سوق المستعمل. ولنا أن نقلق من تناقص النسخ الورقية للعناوين التي نفدت طبعاتها؛ لكن علينا حينئذ أن نسأل أيضًا لماذا لا يعيد أصحاب حقوقها طبعها، ولا يأذنون بالاطلاع على ما يوجد منها من نسخ رقمية. والباحثون يعرفون هذا الغيظ حق المعرفة: يعثر Google Books على المقطع المنشود، ثم لا يعرض إلا شذرة من كتاب لا يمكنكم شراؤه جديدًا ولا قراءته على الشبكة. هنا خسائر تستحق النقاش؛ لكنها لا تحوّل ماسحًا ضوئيًّا إلى محرقة نازية.&lt;/p&gt;
&lt;p&gt;ثم إن تجارة الكتب دأبت منذ زمن طويل على عجن ما لم يُبع من الكتب عجنًا روتينيًّا. ففي فرنسا وحدها قُدّر ما عُجن عام 2023 بـ
، أي نحو 60 في المئة من الحمولة المردودة إلى الموزعين بلا بيع. واسم هذا في التجارة: إدارة المخزون. وللنسخ الفائضة وللعناوين المستعملة النادرة أسئلة مختلفة تتعلق بالإتاحة، لكن إتلاف الورق لا يرقى في ذاته إلى الرقابة ولا إلى الطغيان.&lt;/p&gt;
&lt;h2 id="مزيد-من-الكتب-ذكاء-اصطناعي-أفضل"&gt;مزيد من الكتب، ذكاء اصطناعي أفضل؟&lt;/h2&gt;
&lt;p&gt;الحق أن إقبال شركات الذكاء الاصطناعي على شراء الكتب ومسحها خبرٌ سارّ. فتقنية يُعاب عليها باستمرار ضحالة إلمامها بالثقافة الإنسانية ها هي تتزود منها؛ وكان للمرء أن يتوقع من الباحثين أن يرحبوا بهذا المسعى.&lt;/p&gt;
&lt;p&gt;فالويب بديل رديء عن السجل المتراكم لأي لغة. وشطر كبير من الحياة المدوّنة للغة، من الروايات والمذكرات إلى الأغاني الشعبية والمحادثات المفرَّغة، لم ينتقل قط من الورق إلى الويب؛ وكثير من هذه الكتب عمّر بعد ناشريه. وضمّها إلى بيانات التدريب أشد ما يكون أهمية حيث لا يكاد يتوافر غيرها. فبضعة كتب إضافية بالإنجليزية قد لا تجلب إلا تحسينات هامشية؛ أما في لغة ضعيفة التمثيل فقد تكون هذه الكتب هي الفارق بين نظام يُنتفع به ونظام لا خير فيه. وهل تنتمي هذه الأدوات إلى خدماتنا العامة أو حياتنا اليومية؟ ذلك سؤال متروك للنقاش العام. لكن حيثما اخترنا أن نستعملها، ينبغي أن يكون ذلك بلغتنا.&lt;/p&gt;
&lt;p&gt;وتجعل الطلبيات المبلَّغ عنها في إسبانيا وهولندا الرهان اللغوي ملموسًا. ففي مايو وصفت
بائع كتب في بادالونا يتلقى طلبيات متتابعة، جُلّها كتب غير أدبية بالكتالانية: كتب تاريخ، وأدلة تقنية، ووقائع مؤتمرات قديمة. وبحلول أغسطس تحدثت تقارير هولندية عن طلب وُجّه إلى De Slegte لشراء
. ولغة الكتب جديرة بما لا يقل عن الاهتمام الذي يُولى لمصير تجليدها. ولعل ذلك أكثر مما يُطلب من الـDaily Mail؛ غير أن الصحف الأرصن لم تقل هي الأخرى إلا القليل عن اللغات المعنية.&lt;/p&gt;
&lt;p&gt;وقد تسعف اتفاقيات الترخيص مع كبار الناشرين بمادة قيّمة أيضًا، لكن فهارسهم الرقمية لا تغطي إلا نزرًا مما ظهر مطبوعًا. فالكتب التي لم تُرقمن قط، أو التي لم يعد الناشر يملك حقوقها، تقع خارج العرض. وحتى أسخى صفقات الترخيص لا تقوم مقام تاريخ النشر، فضلًا عن تاريخ الثقافة كله. وشراء النسخ المستعملة سبيل إلى تجاوز تلك الحدود التجارية.&lt;/p&gt;
&lt;h2 id="السرقة-ليست-حجة"&gt;«السرقة» ليست حجة&lt;/h2&gt;
&lt;p&gt;ولا تغني تسمية الأمر «سرقة». ففي يونيو 2025 قضت محكمتان أمريكيتان من محاكم المقاطعات بأن استعمال الكتب لتدريب النماذج اللغوية استعمالٌ عادل في القضيتين المعروضتين عليهما. ففي قضية
شددت المحكمة على الطابع التحويلي للتدريب: استُعملت الكتب لبناء نظام قادر على إنتاج تعبير جديد. وقد تحفظ النماذج مقاطع بعينها، لكن استعمال كتاب في التدريب لا يجعل نصه كاملًا قابلًا للاسترجاع عند الطلب. ولا يبدّد غياب النسخ الحرفي كل اعتراض؛ ففي قضية
حذّر القاضي من أن الأعمال المولَّدة بالذكاء الاصطناعي قد تُغرق السوق، وأن الدليل على ضرر كهذا قد يُسقط دفع الاستعمال العادل؛ غير أن أولئك المدّعين لم يقدموا دليلًا يُعتد به على ضرر أصاب أعمالهم. ولا يمنح أي من الحكمين شركات الذكاء الاصطناعي إذنًا مطلقًا، ولا يحسم الخلاف الأخلاقي؛ بل يفرضان علينا أن نميّز بين كيف تُقتنى الكتب، وكيف تُحفظ النسخ، وما يصنع التدريب بها. وتسمية ذلك كله «سرقة» تترك هذه الأسئلة بلا جواب.&lt;/p&gt;
&lt;p&gt;وبالمناسبة، ففي حكم Anthropic مسوّغ للمقصلة. فقد أقرّت المحكمة رقمنة النسخ المشتراة، ورفضت تكديس الكتب المقرصنة في مكتبة دائمة، وهو ما
. وقد أُجيزت الرقمنة جزئيًّا لأن كل نسخة ورقية أُتلفت في أثناء التحويل: حلت النسخة الرقمية محلها ولم تُشارَك خارج الشركة. فالإتلاف الذي يثير كل هذا الحنق هو ما أعان Anthropic على إثبات أن برنامجها في الرقمنة استعمال عادل. الشراء ثم المسح ثم التخلص: تلك كانت في هذه القضية سبيلًا مشروعة. فالمقصلة هنا أداة امتثال. وشراء النسخ قد يحل مشكلة الاقتناء، لكنه لا يمنح أحدًا، في ذاته، إذنًا بمشاركة المدونة الناتجة.&lt;/p&gt;
&lt;p&gt;ثمة أسباب وجيهة لأن نريد للذكاء الاصطناعي أن ينهل من لغات أكثر، وعلم أكثر، ومن ذلك العالم الذي كان قائمًا قبل الإنترنت. وهذه الأسباب لا تتبخر لمجرد أن شركة لا نحبها وجدت في ذلك فرصة تجارية.&lt;/p&gt;
&lt;h2 id="سخط-مستعار"&gt;سخط مستعار&lt;/h2&gt;
&lt;p&gt;فلنعد إذن إلى الـDaily Mail. مقالها جزء من
، وهي حملة يقودها ملاك الصحف والناشرون سعيًا إلى
للذكاء الاصطناعي. ويقوم الأمر كله على استبدالين مريحين: شركات التقنية الكبرى تقوم مقام الذكاء الاصطناعي، وأصحاب الحقوق يقومون مقام الإبداع البريطاني. فيُدعى القراء إلى الذود عن الثقافة بينما يساوم الناشرون على شروط بيعها. وحريّ بالباحثين الذين يتناقلون هذه القصة أن يسألوا: في خدمة أي قضية يُصرف سخطهم؟&lt;/p&gt;
&lt;p&gt;شركات التقنية الكبرى و
يتنازعون على الريع، ولا يعترض أحد منهم على السياج. فحكاية المؤلف الوحيد الذي يسلبه عملاق تقني تحجب ما تعود به صفقات الترخيص الباهظة على المعسكرين معًا: الناشرون يقبضون الثمن، والشركات الكبرى تظفر بسوق لا يقوى منافسوها الأصغر على دخولها. وقد عبّر بيتر ثيل عن هوى وادي السيليكون بلا مواربة:
.&lt;/p&gt;
&lt;p&gt;وليس محتومًا أن يفضي الترخيص إلى هذه النتيجة؛ فالإتاحة الميسورة غير الحصرية قد تعين صغار المطورين. لكن نظامًا يُلزم كل وافد بالتفاوض على صفقات مكلفة مع كبار أصحاب الحقوق يجعل القدرة الشرائية شرطًا للدخول. ودفعةٌ تُقدَّم في صورة تنازل للصناعات الثقافية تنتهي إلى شراء الحماية من منافسي الغد.&lt;/p&gt;
&lt;h2 id="الذكاء-الاصطناعي-ليس-ملكا-لشركات-التقنية-الكبرى"&gt;الذكاء الاصطناعي ليس ملكًا لشركات التقنية الكبرى&lt;/h2&gt;
&lt;p&gt;وثمة ما هو أعمق. فكثير من نقد الذكاء الاصطناعي يحسب كبار مورّديه التجاريين هم الميدان كله: تستأثر المنتجات بالعناوين، ويغيب عن الأنظار ما يجري خارج تلك الشركات من بحث وتطوير. وما كانت الشركات الكبرى لتتمنى سوء فهم أنفع لها من هذا؛ فطموحها إلى امتلاك الميدان يغدو مسلَّمةً في النقد الموجّه إليها. والاحتكار لم يُحكم بعد، ومعاملته كأمر مقضي إسداءٌ لتلك الشركات بخدمة جليلة.&lt;/p&gt;
&lt;p&gt;يتيح الذكاء الاصطناعي مفتوح المصدر للناس أن يبنوا نظمًا تعكس تنوعًا أوسع في اللغات والثقافات وصور التعبير، وأن يطوّعوها لحاجاتهم. وذلك، لبلدان أوروبا وأفريقيا وأمريكا اللاتينية، وكذلك لكوريا الجنوبية واليابان والهند، أساس عملي للسيادة التقنية والثقافية: القدرة على تقرير كيف تعمل النظم، وأي اللغات تخدم، وأين تُستعمل. وينبغي أن يبقى قرار استعمال الذكاء الاصطناعي من عدمه، ولأي غاية، خيارًا عامًّا لا قرارًا يمليه الارتهان لمورّد أجنبي.&lt;/p&gt;
&lt;p&gt;لكن حرية تعديل نظام ما لا تساوي شيئًا بلا وسائل التعديل. فالعمل المستقل يحتاج إلى خبرة، وبنية حاسوبية، ومنفذ إلى مواد التدريب. وهذا يعيدنا إلى الكتب: فإذا كان على كل فريق بحثي أو مؤسسة عامة أن يفاوض على صفقاته مع الناشرين أو يجمّع مكتبته الخاصة، بقي الاستقلال امتيازًا لمن يقدر على ثمنه.&lt;/p&gt;
&lt;h2 id="الكتب-هنا-منذ-زمن"&gt;الكتب هنا منذ زمن&lt;/h2&gt;
&lt;p&gt;أفنت المكتبات والأرشيفات أجيالًا في جمع المادة التي تحتاج إليها هذه النظم. ومجموعاتها قائمة لأن الوصول إلى المعرفة ينبغي أن يبقى بعد زوال المصلحة التجارية في بيعها. وقد مُسح الكثير ضوئيًّا من قبل: فـ
يحوي نحو تسعة عشر مليون مجلد مرقمن من مكتبات البحث، كثير منها لا يزال محميًّا بحقوق التأليف. تمسح المكتبة الكتاب وتحتفظ به، ولا حاجة لأحد هناك إلى مقصلة. وسيغلق HathiTrust
، لكنه أعلن أيضًا عن
، وهو مشروع يتيح المدونات للبحث والتطوير غير التجاريين في الذكاء الاصطناعي. على أن الإتاحة بهذه الشروط ستبقي بعض المطورين المستقلين خارج الأسوار.&lt;/p&gt;
&lt;p&gt;غير أن امتلاك الكتب لا يخوّل المكتبة توزيع محتوياتها المحمية بحقوق التأليف مدونةَ تدريب. فـ
يجيز لمؤسسات البحث والمكتبات تنقيب الأعمال المتاحة قانونًا لأغراض البحث العلمي، ويجيز تنقيبًا أوسع حيث لم يحتفظ أصحاب الحقوق بحقوقهم. و
: فاستثناؤها الخاص بالتنقيب يقتصر على البحث غير التجاري ويقيّد نقل النسخ. ولا يمنح أي من الإطارين المكتبات حقًّا عامًّا في مشاركة مقتنياتها المحمية ليبني عليها غيرها.&lt;/p&gt;
&lt;p&gt;وقد نعيد النظر كذلك في المدة التي يظل فيها أصحاب الحقوق متحكمين في الاستعمالات الحاسوبية للكتب. وبراءات الاختراع الدوائية تصلح للمقارنة: فمدتها المعتادة، عشرون عامًا، أقصر بكثير من حماية حقوق التأليف الممتدة عمر المؤلف كله وسبعين عامًا بعده. فهل يمكن أن تُتاح الكتب لتنقيب النصوص والبيانات بلا رسوم ترخيص بعد عشرين عامًا، مثلًا، من صدورها الأول، مع بقاء حقوق إعادة النشر والبيع مصونة؟ فحماية حق المؤلف في بيع كتابه لا تستلزم التحكم في كل وجه من وجوه الانتفاع بمحتواه لأجيال.&lt;/p&gt;
&lt;p&gt;وقد ذهبت قبل عامين في
إلى أن بيانات التراث ينبغي أن تُعامل منفعةً عامة. فعلى الحكومات أن تموّل المكتبات والأرشيفات لترقمن مجموعاتها وتفرّغ نصوصها وتوثقها، وأن تمنحها الصلاحية القانونية لإتاحة المدونات الناتجة ليبني عليها الآخرون. ولشركات التقنية الكبرى أن تسهم في الكلفة عبر رسم مخصص.&lt;/p&gt;
&lt;p&gt;وينبغي أن يقترن التمويل العام بسياسات اقتناء وقواعد إتاحة معلنة، تشمل العمل الأكاديمي والتجاري دون صفقات حصرية أو أفضلية للمانحين. والإتاحة للتدريب لا تعني بالضرورة إعادة توزيع الكتب المحمية بلا قيد. وعلى المؤلفين أن يشاركوا في تصميم النظام العام، بما في ذلك كيف يعالج مسائل الموافقة والمكافأة ومنافسة أعمالهم. والإتاحة المجانية للمستعملين لا تحول دون مكافأة المؤلفين من المال العام؛ و
، الذي يدفع للمؤلفين من الخزانة العامة كلما استُعيرت كتبهم، سابقة صالحة. لم تكن النار يومًا هي القصة. القصة هي السياج.&lt;/p&gt;</description></item><item><title>أيها المحررون الأفاضل: إن أردتم صوتي فردّوا إليّ لغتي</title><link>https://clementgodbarge.com/ar/post/dear-editors/</link><pubDate>Thu, 27 Aug 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/dear-editors/</guid><description>&lt;p&gt;لا يمر يوم إلا وتطلع علينا مجلة تزهو بسياستها في شأن الذكاء الاصطناعي. والدور اليوم على &lt;em&gt;Progress in Human Geography&lt;/em&gt;، التي نشر محرروها
ينذرون فيه بأن اتخاذ الذكاء الاصطناعي بديلًا من قراءة المرء وتفكيره وكتابته «خرقٌ لأخلاقيات البحث يُشبه الانتحال». فما يثبت فيه هذا الخرق من أبحاث «قد يُسحب»، وأهون ما ينتظره التصحيح مع إشعار يُطبع في المجلة. ويضيف المحررون أن على المؤلفين «أن يتدبّروا مليًّا هل يرغبون في أن تقترن أسماؤهم بحالات سحب وإشعارات تصحيح».&lt;/p&gt;
&lt;p&gt;وهذه جملة تستوقف القارئ. فسحب البحث هو أقصى ما في جعبة النشر الأكاديمي من عقوبات، جزاءٌ لا يُنزَل عادةً إلا بمن لفّق أو غشّ. وها هو ذا يُعلَّق هنا على مخالفة تعجز الافتتاحية نفسها عن تعريفها؛ فثمة، باعتراف المحررين، «مناطق رمادية حقيقية» و«لا خطوط واضحة تحدّ منطقة ”اللامسؤولية“». وسيقوم التطبيق على «أحكام تقديرية قد تُغضب بعض المؤلفين ممن سيزعمون أنهم لم يُسرفوا في استعمال الذكاء الاصطناعي»؛ أي إن إقرار المرء بنفسه قد يُردّ عليه. ثم تأتي النصيحة بالبقاء «في مأمن داخل منطقة ”المسؤولية“»، ولا يوصى بالأمان إلا حيث الخطر. ومعاقبة الناس على تخطي خطٍّ تقرّون بعجزكم عن رسمه لا تستقيم إلا إذا كان القصد أن يُساس الناس بالترهيب. فلنُمسك بهذا الخيط.&lt;/p&gt;
&lt;h2 id="ذريعة-الصوت"&gt;ذريعة الصوت&lt;/h2&gt;
&lt;p&gt;فكيف يكون الاستعمال المسؤول؟ يُقال للمؤلفين: «لا بد من عناية فائقة&amp;hellip; بالحفاظ على صوتهم الخاص». أما الإساءة فهي اللجوء إلى الذكاء الاصطناعي «للكتابة بلغة ما كان المؤلفون ليستعملوها هم أنفسهم في الأحوال العادية». وهذا كلام مستقيم في حق الناطق الأصلي: لا تتظاهر بما لست إياه. أما في حق الأجانب الذين يُفرض عليهم أن يكتبوا بغير لسانهم، فالأمر ينقض نفسه بنفسه: الصوت الذي تحميه السياسة هو عينه ما تحرمنا إياه قواعد المجلة.&lt;/p&gt;
&lt;p&gt;وليكن أنا حالة الاختبار. الإنجليزية لغتي الرابعة، وهي بالضبط مما لا أستعمله «في الأحوال العادية». وقد روّضتني الجامعات الأنجلوفونية على أن أكتبها قصيرة، مرصّعة بعلامات الإرشاد، تكاد تكون آلية: جملة الموضوع في الصدر، والتحفظات في مواضعها المقررة، وأدوات الربط من القائمة المعتمدة. وقد أتى الترويض أُكُله: لم يكن في إنجليزيتي قط صوت يُحمى، بل كان أول ما وجب التخلي عنه. فعلى تعريف المحررين أنفسهم، كل ما خططته بالإنجليزية استعمال غير مناسب، بآلة كان أم بغير آلة.&lt;/p&gt;
&lt;h2 id="بين-المطرقة-والسندان"&gt;بين المطرقة والسندان&lt;/h2&gt;
&lt;p&gt;يقول المحررون إنهم لم ينسونا: فالسياسة تقرّ بأن غير الناطقين بالإنجليزية ينتفعون بمراجعة الذكاء الاصطناعي لإنجليزيتهم، بل «بخدماته في الترجمة والكتابة والتحرير». غير أن نصيب الذكاء الاصطناعي من الكتابة «لا ينبغي أن يتجاوز، في أقصى الأحوال، المعاونة في التحرير والتدقيق»، ولا أن يبلغ حد «مقاطع كبيرة من نص كتبه الذكاء الاصطناعي». والورقة المترجمة آليًّا مكتوبة بالذكاء الاصطناعي من أول كلمة إلى آخرها؛ ما هي إلا مقاطع من هذا القبيل. فلا يصمد التنازل إذن إلا إذا لم تكن الترجمة كتابة. فأين يمر الخط؟ قد أجابونا من قبل: «لا خطوط واضحة».&lt;/p&gt;
&lt;p&gt;بل ثمة ما هو أدهى: فالشبهة ليست عصيّة على الدحض فحسب، وإنما هي منحازة سلفًا. ففي عام 2023 اختبر فريق من ستانفورد سبعة كواشف للذكاء الاصطناعي ذائعة الاستعمال على مقالات كتبها بشر، فإذا الكواشف تصنّف في المتوسط 61% من مقالات TOEFL التي كتبها غير الناطقين بالإنجليزية على أنها مولَّدة آليًّا، بينما تصيب في مقالات الناطقين الأصليين إصابة تكاد تكون تامة؛ وبلغ أحد الكواشف 97.8% من مجموعة TOEFL (
). والعلة ذات دلالة: فالكواشف تقيس القابلية للتنبؤ، والإنجليزية المكتسبة لغةً ثانية، المدرَّبة على الوسط، قابلة للتنبؤ بحكم تكوينها: الكلمة الأرجح في الترتيب الأرجح. وقد وجدت الدراسة نفسها الإشارة ذاتها في البحث العلمي الفعلي، إذ يقل التنوع اللغوي في أوراق المؤتمرات التي يكون مؤلفها الأول من غير الناطقين الأصليين. فالسمات الأسلوبية التي تُقرأ «ذكاءً اصطناعيًّا» هي سمات الإنجليزية المتمكنة عند من تعلّمها لغةً ثانية، والحكم التقديري البشري يقرأ ما تقرؤه الآلة بعينه. وهكذا يُطبق الفكّان: أكتب إنجليزيتي فأبدو آلة، وأستعمل الآلة فأخرق قاعدتهم.&lt;/p&gt;
&lt;h2 id="ضريبة-اللغة"&gt;ضريبة اللغة&lt;/h2&gt;
&lt;p&gt;ولو خلت المفارقة من التهديد لكانت هيّنة. لكن التهديدات تفضح داءً أعمق وأقدم لا تسمّيه السياسة قط: الأحادية اللغوية. فـ
تطلب «أوسع تغطية دولية ممكنة»، وتنص في الصفحة نفسها على أن «لغة المجلة هي الإنجليزية».&lt;/p&gt;
&lt;p&gt;وليست كلفة هذا الترتيب من قبيل الافتراض. فقد استطلع أمانو وزملاؤه آراء 908 من علماء البيئة، فوجدوا أن غير الناطقين بالإنجليزية يُنفقون في كتابة الورقة وقتًا يزيد بنسبة تصل إلى 51%، وتُرفض أوراقهم 2.5 مرة أكثر، ويُطلب منهم مراجعتها 12.5 مرة أكثر، لأسباب لغوية لا غير (
). هذه الضريبة تُجبى قبل أن تأتي أي سياسة للذكاء الاصطناعي؛ أما نموذج الإقرار وما يحفّ به من تهديد فتفتيشٌ يُضاف فوقها.&lt;/p&gt;
&lt;h2 id="fin-dempire"&gt;Fin d’empire&lt;/h2&gt;
&lt;p&gt;الأحادية اللغوية هي المسلَّمة التي لا يناقشها أحد. إرثٌ إمبراطوري اكتسب مع الزمن مسوّغًا عمليًّا: كانت الترجمة بطيئة باهظة، وما كان لهيئة تحرير أن تقيّم ما لا تقرؤه. لكن شيئًا من هذا لا يصمد أمام ما بلغته الترجمة الآلية؛ فأحدث نظمها يصلح طبقةً موثوقة بين المؤلفين والمحررين.&lt;/p&gt;
&lt;p&gt;والمخرج الأمثل بشري: أن يقرأ الباحثون بأكثر من لغة. لكن الجامعات الأنجلوفونية تؤثر بدل ذلك أن تغلق كليات اللغات الحديثة. ولاحظوا أن الإغلاق ظاهرة أنجلو-أمريكية، فالباحثون في سائر البلدان لم يذوقوا يومًا ترف الأحادية اللغوية. ولاحظوا التوقيت أيضًا. فإغلاق كلية للغات رهانٌ على أن الإنجليزية قد انتصرت نصرًا لا رجعة فيه، وأن ما يستحق القراءة لن يُكتب بعد اليوم بلسان سواها. وهو رهان يُعقد في أسوأ لحظة ممكنة، من وجهين: أولهما أن الترجمة الآلية تجعل الاستغناء عن اللغة المشتركة ممكنًا لأول مرة في التاريخ؛ وثانيهما أن النظام الذي نصّب الإنجليزية لغةً افتراضية آخذ في الانحسار: فالعالم الأنجلوفوني ينكفئ على نفسه، والعولمة تتقهقر، والتجارة الحرة تُنازَع في مواطنها الأولى، وعالمٌ متعدد الأقطاب يتشكّل ستتكاثر فيه اللغات الجديرة بالقراءة. تُخرّج الجامعات باحثين لا يقرؤون إلا الإنجليزية لعالمٍ لن تكفي فيه الإنجليزية، وهيئات التحرير أول من سيرث هذه الخسارة.&lt;/p&gt;
&lt;h2 id="اختبار-للمحررين"&gt;اختبار للمحررين&lt;/h2&gt;
&lt;p&gt;حين تشكو هيئة تحرير من أنها لا تسمع صوت مؤلفيها الحقيقي، فلعل بعض العلة في الهيئة نفسها.&lt;/p&gt;
&lt;p&gt;وهذه تهمة ثقيلة، ومعها اختبار بحجمها: هل تقبل &lt;em&gt;Progress in Human Geography&lt;/em&gt; تحكيم بحث مكتوب بالفرنسية أو الإيطالية أو اليابانية، مشفوعًا بنسخة إنجليزية مترجمة آليًّا؟ إرشادات المجلة نفسها تقرّ بخدمات «الترجمة» التي تجعل ذلك ميسورًا. فإن قالوا نعم انتهت المشكلة؛ وإن قالوا لا عرفنا ما الذي تحميه السياسة في الحقيقة.&lt;/p&gt;
&lt;p&gt;وفي الحالين، القرار بيد المحررين. فإن كان الصوت يهمّهم كما يزعمون، فلتقبل المجلة الأبحاث باللغات التي يفكر بها أصحابها؛ وإن لم يكن، فليذهب نموذج الإقرار، ولتذهب معه التهديدات.&lt;/p&gt;</description></item><item><title>tei-mcp v0.3: ترميز TEI من غير أن يُمَسّ المصدر</title><link>https://clementgodbarge.com/ar/post/tei-mcp-span-locked/</link><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/tei-mcp-span-locked/</guid><description>&lt;p&gt;حين
، كان المراد أن نكفّ مساعدي الذكاء الاصطناعي عن هلوسة ترميز TEI. وقد حلّ التأسيس على المخطط (schema grounding) شطرًا من المشكلة: فمع الوصول المباشر، عبر الأدوات، إلى مواصفة P5، لم يعد النموذج مضطرًّا إلى تخمين معنى عنصر أو السمات التي يقبلها، وصارت مخرجاته تجتاز التحقق.&lt;/p&gt;
&lt;p&gt;على أن للهلوسة في ترميز TEI وجهين، والمخطط لا يمسك إلا بأحدهما. فالتحقق وفق المواصفة يخبركم بأن &lt;em&gt;الترميز&lt;/em&gt; حسن التكوين، ولا يقول حرفًا عن &lt;em&gt;النص&lt;/em&gt; الذي يغلّفه ذلك الترميز. وفي النص نفسه تكمن الهلوسات الأشد ضررًا. والتركيب المقفل بالمدى، وهو أبرز ما في الإصدار v0.3، مصمم خصيصًا لدرئها.&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" &gt;
&lt;summary&gt;فهرس المحتويات&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#الهلوسة-التي-يعجز-المخطط-عن-التقاطها"&gt;الهلوسة التي يعجز المخطط عن التقاطها&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#التركيب-المقفل-بالمدى"&gt;التركيب المقفل بالمدى&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ما-هو-وما-ليس-هو"&gt;ما هو، وما ليس هو&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#لماذا-يهم-الأمر-خارج-tei-أيضا"&gt;لماذا يهم الأمر خارج TEI أيضًا&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#الحصول-على-التحديث"&gt;الحصول على التحديث&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h2 id="الهلوسة-التي-يعجز-المخطط-عن-التقاطها"&gt;الهلوسة التي يعجز المخطط عن التقاطها&lt;/h2&gt;
&lt;p&gt;اطلبوا من نموذج أن يرمّز رسالة فرنسية من القرن السادس عشر، فسيعود إليكم في الغالب بوثيقة TEI لا غبار عليها في الظاهر: الترويسة معبّأة، ووسوم &lt;code&gt;&amp;lt;persName&amp;gt;&lt;/code&gt; في مواضعها الصحيحة، و&lt;code&gt;&amp;lt;dateline&amp;gt;&lt;/code&gt; حسن التكوين. مرّروها على &lt;code&gt;validate_document&lt;/code&gt; فتجتاز الاختبار.&lt;/p&gt;
&lt;p&gt;ثم قابلوا المتن بالمصدر.&lt;/p&gt;
&lt;p&gt;فإذا &lt;code&gt;mesme&lt;/code&gt; قد صارت &lt;code&gt;même&lt;/code&gt;، وفاصلة قد انتقلت من موضعها، و&lt;code&gt;luy&lt;/code&gt; قد حُدِّثت في صمت إلى &lt;code&gt;lui&lt;/code&gt;، وجملة عسُرت قراءتها في المخطوطة قد «صُحِّحت» إلى شيء أنظف. لم يُطلب شيء من هذه التغييرات، ولم يُنبَّه إلى شيء منها؛ فالوثيقة صحيحة وفق المخطط، وخاطئة في صمت.&lt;/p&gt;
&lt;p&gt;وفي سير العمل الأرشيفي — حيث يصير النص المرمَّز السجل الدائم الذي يعوّل عليه القراء اللاحقون وفهارس البحث والاستشهادات — هذا هو نمط الإخفاق الذي يُحسب له حساب. فالوسم المشوّه مزعج لا أكثر؛ أما الرسم المحدَّث الذي لا يفطن إليه أحد خمس سنين فتحريف.&lt;/p&gt;
&lt;h2 id="التركيب-المقفل-بالمدى"&gt;التركيب المقفل بالمدى&lt;/h2&gt;
&lt;p&gt;يأتي الإصدار الجديد (v0.3) بآلية لمنع الهلوسة تستهدف نمط الإخفاق هذا بعينه. والغاية من التصميم أن تصير هلوسة نص المتن مستحيلة بحكم البناء، لا مستبعدة فحسب.&lt;/p&gt;
&lt;p&gt;والفكرة بسيطة: &lt;strong&gt;النموذج لا يكتب نص المتن قط&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;وإنما يجري العمل على النحو الآتي:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;يستدعي النموذج &lt;code&gt;get_source(&amp;quot;letter_001&amp;quot;)&lt;/code&gt; فيتلقى النص المصدري الخام سلسلةً نصية غير قابلة للتغيير.&lt;/li&gt;
&lt;li&gt;يستدعي لكل وسم يريد تطبيقه &lt;code&gt;tag_span(&amp;quot;letter_001&amp;quot;, start, end, element_path, attrs)&lt;/code&gt; — فيسجّل عنصر TEI على مدى من المحارف فوق المصدر.&lt;/li&gt;
&lt;li&gt;فإذا فرغ استدعى &lt;code&gt;compose(&amp;quot;letter_001&amp;quot;)&lt;/code&gt;، فيُدرج الخادم الوسوم المسجّلة في تضاعيف النص الخام الأصلي، ويصيّر الـTEI النهائي، ثم يتحقق &lt;em&gt;بايتًا بايتًا&lt;/em&gt; من أن المحتوى النصي المسطّح للوثيقة المصيَّرة يساوي المصدر.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;فإن تطابقت البايتات عادت الوثيقة؛ وإن لم تتطابق — إن اقتضت وسوم النموذج على نحو ما متنًا يخالف المصدر ولو بمحرف واحد — رفع &lt;code&gt;compose()&lt;/code&gt; استثناءً بدل أن يعيد وثيقة فاسدة.&lt;/p&gt;
&lt;p&gt;ليس في سير العمل هذا مسار واحد يُخرج فيه النموذج وثيقة TEI يخالف متنها المصدر. فالثابت (invariant) ميكانيكي لا سلوكي: لستم مطالبين بأن تثقوا في أن النموذج لن يهلوس، بل بأن تثقوا في فحص &lt;code&gt;==&lt;/code&gt; بين سلسلتي بايتات.&lt;/p&gt;
&lt;h2 id="ما-هو-وما-ليس-هو"&gt;ما هو، وما ليس هو&lt;/h2&gt;
&lt;p&gt;التركيب المقفل بالمدى &lt;strong&gt;مكمّل&lt;/strong&gt; للتأسيس على المخطط، لا بديل منه. فأدوات التأسيس على المخطط (&lt;code&gt;validate_document&lt;/code&gt; و&lt;code&gt;lookup_element&lt;/code&gt; و&lt;code&gt;valid_children&lt;/code&gt; وسائر الأدوات الست عشرة الأصلية) تعين النموذج على إخراج TEI &lt;em&gt;صحيح&lt;/em&gt;؛ أما التركيب المقفل بالمدى فيضمن أن نص المتن داخل ذلك الـTEI &lt;em&gt;أمين&lt;/em&gt; للمصدر. وسير عمل الترميز الصالح للنشر لا بد أن يستوفي المحورين معًا، وقد صار كلاهما اليوم في عهدة خادم واحد.&lt;/p&gt;
&lt;p&gt;ثم إنه ليس عصًا سحرية تحل كل شيء. فـ&lt;code&gt;compose()&lt;/code&gt; لا يتحقق بعدُ من أن الوسوم المسجّلة جائزة وفق تخصيص ODD المحمَّل — وذلك عمل لاحق. والوسوم المسجّلة تقيم في ذاكرة العملية ولا تصمد بعد إعادة التشغيل. ولا بد أن تكون الملفات المصدرية مقروءة من حيث يعمل الخادم. وكل ذلك قابل للمعالجة، وليس فيه ما يقوّض الثابت الجوهري.&lt;/p&gt;
&lt;h2 id="لماذا-يهم-الأمر-خارج-tei-أيضا"&gt;لماذا يهم الأمر خارج TEI أيضًا&lt;/h2&gt;
&lt;p&gt;هذا النمط قابل للتعميم. فكلما طُلب من نموذج أن يعلّق على نص أو يحوّله أو يغلّفه — وكانت سلامة النص الأصلي أهم من براعة النموذج في «تحسينه» — صلح الحل نفسه: لا تسألوا النموذج أن يعيد كتابة النص، بل سلوه تعليمات فوق النص، ودعوا مركّبًا حتميًّا يطبّقها في ظل ثابت المساواة.&lt;/p&gt;
&lt;p&gt;وفي الطبعات الرقمية على وجه الخصوص، يغيّر هذا حدود ما يمكن أن يُعهد به إلى نموذج بضمير مرتاح. فيغدو الترميز بغتةً مهمة تُفوَّض من غير أن تضطروا إلى مقابلة كل مخرج بالمصدر بأيديكم: تسلك الآلة الطريق الممل، ويراجع المحقّق الترميز لا الرسم.&lt;/p&gt;
&lt;h2 id="الحصول-على-التحديث"&gt;الحصول على التحديث&lt;/h2&gt;
&lt;p&gt;إن كان tei-mcp مثبتًا لديكم من قبل:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uvx tei-mcp@latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;أو تثبيتًا من جديد:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ولاستعمال التركيب المقفل بالمدى، وجّهوا الخادم إلى مجلد يضم ملفات النصوص المصدرية الخام:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;TEI_MCP_SPAN_SOURCE_ROOT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/path/to/sources
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;uvx tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ويصير جذع اسم كل ملف معرّفًا لوثيقته (&lt;code&gt;letter_001.txt&lt;/code&gt; → &lt;code&gt;letter_001&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;الشيفرة المصدرية والتوثيق الكامل وملاحظات التصميم الخاصة بالثابت:
&lt;/p&gt;</description></item><item><title>طبعة رقمية من طراز آخر</title><link>https://clementgodbarge.com/ar/post/cavriana-edition/</link><pubDate>Tue, 24 Mar 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/cavriana-edition/</guid><description>&lt;p&gt;أكثر المصادر الأولية لا يرى النور أبدًا. والنموذج الذي نعوّل عليه لتدارك هذا النقص، أعني الطبعات الرقمية الممولة بالمنح، أغلى وأشد مركزيةً وأوهى من أن يصلح على نطاق واسع. وقد نشرت لتوّي
أبيّن فيها لماذا أبني الطبعة النقدية لرسائل كافريانا (Cavriana) على نحو مختلف: مصادر أولية مرقمنة تنمو نموًّا عضويًّا، ببنية تحتية لا تكاد تُذكر، وصيانة مؤتمتة، وباب مفتوح للتعاون، وكلفة من الزهد بحيث تستغني عن المنح كليًّا. إنها مرافعة عن إنسانيات رقمية تمضي في طريقها سواء أساندتها المؤسسات أم خذلتها.&lt;/p&gt;</description></item><item><title>tei-mcp: مواصفة TEI P5 في متناول وكلاء الذكاء الاصطناعي</title><link>https://clementgodbarge.com/ar/post/tei-mcp/</link><pubDate>Sun, 15 Mar 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/tei-mcp/</guid><description>&lt;p&gt;من جرّب يومًا أن يكتب TEI XML بمساعد برمجة يعمل بالذكاء الاصطناعي، فلا بد أنه لاحظ كثرة عثراته: عناصر تظهر في غير موضعها، وسمات تُخترع اختراعًا، وقواعد تداخل تُطرح جانبًا. فللنموذج فكرة تقريبية عن هيئة TEI، أما معرفةٌ يُعتدّ بها بالمواصفة فلا.&lt;/p&gt;
&lt;p&gt;وهذا ما يعالجه tei-mcp: يفتح لوكلاء الذكاء الاصطناعي بابًا مباشرًا، عبر الأدوات، إلى إرشادات TEI P5.&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" &gt;
&lt;summary&gt;فهرس المحتويات&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#ما-mcp"&gt;ما MCP؟&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ما-الذي-يصنعه-tei-mcp"&gt;ما الذي يصنعه tei-mcp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#لماذا-يهم-هذا-الأمر"&gt;لماذا يهم هذا الأمر&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#للبدء"&gt;للبدء&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h2 id="ما-mcp"&gt;ما MCP؟&lt;/h2&gt;
&lt;p&gt;
، أو MCP اختصارًا، معيار مفتوح يتيح لتطبيقات الذكاء الاصطناعي أن تتصل بمصادر بيانات وأدوات خارجية. تصوّروه منفذ USB للذكاء الاصطناعي: بروتوكول واحد يوصل أي عميل متوافق — Claude وCursor وWindsurf وسواها — بخدمات متخصصة.&lt;/p&gt;
&lt;p&gt;ويتيح خادم MCP &lt;em&gt;أدوات&lt;/em&gt; يستدعيها الذكاء الاصطناعي في أثناء المحادثة؛ فبدل أن يتكل النموذج على ما حفظه من بيانات التدريب، يستفتي مصدرًا حيًّا موثوقًا.&lt;/p&gt;
&lt;h2 id="ما-الذي-يصنعه-tei-mcp"&gt;ما الذي يصنعه tei-mcp&lt;/h2&gt;
&lt;p&gt;يحلّل tei-mcp مواصفة TEI P5 بصيغة ODD ويتيح 16 أداة تجيب عن أكثر ما يطرحه المحقّق أو المرمّز من أسئلة:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ما هذا العنصر؟&lt;/strong&gt; ابحثوا عن أي عنصر أو صنف أو ماكرو أو وحدة (module) بالاسم، بمطابقة لا تفرّق بين حالتي الأحرف، مع اقتراحات لتصويب الأخطاء الإملائية.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ما السمات التي يقبلها؟&lt;/strong&gt; حلّوا السمات عبر التسلسل الهرمي الكامل للأصناف — السمات المحلية أولًا، ثم الموروثة على ترتيبها.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ما الذي يجوز إدراجه داخله؟&lt;/strong&gt; ابسطوا نماذج المحتوى في أشجار مهيكلة، أو اطلبوا قائمة مسطّحة بالعناصر الأبناء الصالحة.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;أيجوز وضع هذا العنصر هنا؟&lt;/strong&gt; تحققوا من تداخل الأصل والفرع، أو تتبّعوا إمكانية البلوغ عبر التسلسل الهرمي الكامل للعناصر.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;هل وثيقتي صحيحة؟&lt;/strong&gt; تحققوا من ملف TEI XML وفق المواصفة: نماذج المحتوى، وقيم السمات، وقوائم القيم المغلقة، وسلامة الإحالات، وتحذيرات الإهمال (deprecation).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;وماذا عن مخطط مشروعي؟&lt;/strong&gt; حمّلوا ملف تخصيص ODD ليُحصر كل ما سبق في المجموعة الفرعية من TEI الخاصة بمشروعكم.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="لماذا-يهم-هذا-الأمر"&gt;لماذا يهم هذا الأمر&lt;/h2&gt;
&lt;p&gt;الترميز بـTEI لا يستغني عن الرجوع الدائم إلى الإرشادات. فالمرمّز المتمرس يستبطن الأنماط الأكثر شيوعًا، لكنه يظل محتاجًا إلى مراجعة المواصفة عند العناصر الأقل ألفة أو نماذج المحتوى المعقدة. أما مساعدو الذكاء الاصطناعي، وليس لديهم شيء من هذه المعرفة المستبطنة، فالداء عندهم أشد: يهلوسون ترميزًا معقول المظهر باطل الجوهر.&lt;/p&gt;
&lt;p&gt;مع tei-mcp لا يعود النموذج بحاجة إلى التخمين؛ إذ يستطيع أن يلتمس الجواب في المواصفة قبل أن يخطّ قوسًا زاويًّا واحدًا. والحصيلة ترميز مطابق لـTEI P5 — أو لتخصيص ODD الخاص بمشروعكم.&lt;/p&gt;
&lt;h2 id="للبدء"&gt;للبدء&lt;/h2&gt;
&lt;p&gt;ثبّتوه من PyPI:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pip install tei-mcp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ثم أضيفوه إلى إعدادات عميل MCP لديكم:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;tei&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;uvx&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;tei-mcp&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ينزّل الخادم مواصفة TEI عند أول تشغيل، ويعمل مع أي عميل متوافق مع MCP.&lt;/p&gt;
&lt;p&gt;الشيفرة المصدرية والتوثيق الكامل:
&lt;/p&gt;</description></item><item><title>جغرافيا إدراكية لبلاد الليفانتي (Levante)</title><link>https://clementgodbarge.com/ar/post/levante/</link><pubDate>Sat, 29 Oct 2022 10:02:52 -0500</pubDate><guid>https://clementgodbarge.com/ar/post/levante/</guid><description>&lt;h1 id="مقدمة"&gt;مقدمة&lt;/h1&gt;
&lt;p&gt;الـ&lt;em&gt;ليفانتي&lt;/em&gt; (Levante) مكانٌ يتملّص من التعريف. فهو يُحدَّد عادةً بالقياس إلى إقليم آخر أو في مقابله، ولم يكد معناه يستقر يومًا، إذ يستدعي جغرافيات شتى بحسب مكان استعمال اللفظ وزمانه. على أن تعذّر التعريف الموضوعي الدقيق لا يمنعنا من أن نطمع في رسم خريطة ذاتية لتلك المنطقة، نقيمها على الارتباطات القائمة داخل مدونة نصية بعينها. وبعبارة أخرى: أيّ فضاء كان الـ&lt;em&gt;ليفانتي&lt;/em&gt; يستحضره في أذهان جماعة محددة من القراء؟&lt;br&gt;
أبيّن لكم في هذه التدوينة كيف تستعينون ببيانات
التابعة لمشروع أرشيف آل ميديتشي (Medici Archive Project)
لتصوّر الأماكن التي كان هذا الاسم يقترن بها على وجه التحديد.&lt;/p&gt;
&lt;h1 id="قاعدة-بيانات-mia"&gt;قاعدة بيانات MIA&lt;/h1&gt;
&lt;p&gt;قاعدة MIA منصة تعاونية للباحثين الراغبين في رفع ما صوّروه من مواد
ومشاركته. وقد صوّر فريقنا خلال العام المنصرم، برعاية
، آلاف الوثائق المحفوظة في قسم الـ&lt;em&gt;avvisi&lt;/em&gt; من رصيد &lt;em&gt;Mediceo del Principato&lt;/em&gt; في فلورنسا، ونسخها ولخّصها وصنّفها. ولئن لم تُصمَّم قاعدتنا في الأصل للتحليل الإحصائي، فإن البيانات الوصفية التي أتحناها تقبل التنزيل والاستعمال مجموعاتِ بيانات.&lt;/p&gt;
&lt;h1 id="مجموعة-البيانات"&gt;مجموعة البيانات&lt;/h1&gt;
&lt;p&gt;تغطي مجموعة البيانات التي أعددتها هنا كل الأخبار الواردة من الـ&lt;em&gt;ليفانتي&lt;/em&gt; بين 1543 و1566، أي من أول avviso مسجَّل في الأرشيف إلى سنة وفاة السلطان
. وهذه عيّنة مما استخرجته من الخادم، في ثلاثة أعمدة: رقم فريد للوثيقة، واسم مكان، وتاريخ.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csv" data-lang="csv"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386 Malta / Europe / World / Top of the TGN hierarchy 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386 Modon / Messinias&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt; Nomos / Peloponnisos / Ellas 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386 Al-Iskandariyah / Muhafazat al Iskandariyah / Egypt / Africa 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386 Evvoia / Evvoias&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt; Nomos / Sterea Ellas-Evvoia / Ellas 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386 Venetian Republic / Italia / Europe / World 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386 Arsenale / Istanbul / Istanbul / Marmara 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386 Black Sea / Asia / World / Top of the TGN hierarchy 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389 Otranto / Lecce / Puglia / Italia 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389 Nisoi Aiyaiou / Ellas / Europe / World 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389 Malta / Europe / World / Top of the TGN hierarchy 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389 Buda / Budapest / Budapest / Magyarorszag 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389 Al-Iskandariyah / Muhafazat al Iskandariyah / Egypt / Africa 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389 Kipros / Asia / World / Top of the TGN hierarchy 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389 Rodhos / Rodos&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt; Nisos / Sporadhes / Nisoi Aiyaiou 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389 Arsenale / Istanbul / Istanbul / Marmara 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389 Çorlu / Thraki / Ellas / Europe 1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="تنقية-البيانات"&gt;تنقية البيانات&lt;/h2&gt;
&lt;p&gt;لتصوّر هذه البيانات، لا بد أولًا من جعلها مقروءة مجموعةَ بيانات بصيغة csv (قيم مفصولة بفواصل)، ثم من تحويل ما فيها من معلومات جغرافية إلى صيغة «أحبّ إلى الآلة»: إحداثيات GPS. ولما كانت المجموعة تضم مئات المداخل، فالأولى أن نؤتمت هذه العملية؛ وهو ما تنجزه بسرعة معقولة ودقة جيدة النماذج اللغوية المدرَّبة مسبقًا، مثل
أو
أو
، على سبيل المثال لا الحصر. غير أن العملية تقتضي إشرافًا لصيقًا، فالنماذج المدرَّبة مسبقًا لا تخلو من نزعة خفيفة إلى الهلوسة.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csv" data-lang="csv"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;documentId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;latitude&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;longitude&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;documentDate&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;35.899167&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;14.514167&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;37.05&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;22.116667&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;31.200028&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;29.918719&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;38.366667&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;23.666667&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;45.438333&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;12.331333&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;41.018611&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;28.984444&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57386&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;42.7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;18.8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;40.216667&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;18.166667&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;37.966667&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;23.716667&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;35.899167&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;14.514167&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;47.4925&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;19.051389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;31.200028&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;29.918719&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;34.916667&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;33.616667&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;36.405419&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;28.227778&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;41.018611&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;28.984444&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="s"&gt;57389&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;41.133333&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;27.416667&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;1565-1-3&lt;/span&gt;&lt;span class="p"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="خريطة-الكثافة"&gt;خريطة الكثافة.&lt;/h1&gt;
&lt;p&gt;خريطة الكثافة ضرب من التصوّر يُبرز تواتر ذكر المكان الواحد في مجموعة بيانات ما. وهي تُجدي بوجه خاص في إدراك النطاق الجغرافي للبيانات، بل أيضًا في تبيّن بؤر تركيزها: أيّ الأماكن أكثر ورودًا على الخريطة، وأيّها عابر؟ أين المراكز، وكم تبعد الأطراف؟ وأين يُرجَّح أن ينشدّ انتباه القارئ؟&lt;/p&gt;
&lt;iframe width='100%' height='600px' src="https://api.mapbox.com/styles/v1/clemclem/cl9q7c77p004y14mqytjrfnex.html?title=false&amp;access_token=pk.eyJ1IjoiY2xlbWNsZW0iLCJhIjoiY2lmbGpvbjMwZjh3NnJ5bHg4ZzkzeWZzeCJ9.IgOF4fphVbsWAIKyzAV-DQ&amp;zoomwheel=false#3.83/43.29/33.61" title="Levante" style="border:none;"&gt;&lt;/iframe&gt;
&lt;p&gt;استعنت في هذه التجربة — وكنت على عجلة من أمري — بإحدى واجهات
البرمجية. على أن كثيرًا من مكتبات التصوّر ونظم المعلومات الجغرافية تمكّنكم من إخراج خرائط كثافة من هذا القبيل.&lt;/p&gt;
&lt;h1 id="بضع-ملاحظات"&gt;بضع ملاحظات&lt;/h1&gt;
&lt;p&gt;النتيجة أدنى إلى لوحة انطباعية منها إلى تمثيل دقيق لمفهوم واضح الحدود، وذلك بالضبط ما يروقني في هذه التجربة. فالحق أنه
&lt;mark&gt;إذا كان علم البيانات حليفًا قويًّا للإنسانيات، فلسنا ملزمين بالتقيّد بقواعده في كل حال.&lt;/mark&gt;
&lt;/p&gt;
&lt;p&gt;ومما يلفت النظر في هذه التجربة أيضًا أن الخريطة تكشف عن &lt;em&gt;ليفانتي&lt;/em&gt; ملتحم بسائر أوروبا والبحر المتوسط التحام الجزء بالكل، وتُبرز مركزية أدرنة في الجغرافيا السياسية للدولة العثمانية. ثم إن أبرز مدن إسبانيا على الخريطة ليست مدريد ولا الإسكوريال، بل نابولي. وأخيرًا وليس آخرًا، يبدو أن الجزر ودويلات المدن الصغيرة، كراغوزا، كانت تضطلع بدور مهم في الوساطة بين قوى المنطقة المختلفة.&lt;/p&gt;
&lt;h1 id="كيف-تطلبون-البيانات-من-mia"&gt;كيف تطلبون البيانات من MIA&lt;/h1&gt;
&lt;p&gt;على أن MIA، وهي أداة تعاونية فذّة للباحثين، لا تيسّر الوصول إلى ما تخزنه خوادمها من بيانات؛ فواجهتها الخلفية، مثلًا، غير منشورة في مستودعات عامة. ومع ذلك يمكنكم الحصول على البيانات بالتسجيل في MIA ومخاطبة الخادم بطلبات تكتبونها بلغة python.&lt;/p&gt;
&lt;h3 id="الطلب"&gt;الطلب&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;url&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;https://mia.medici.org/Mia/json/de/advancedsearch/advancedSearchResults/0/90/docYear/asc/?isNewsFeedSearch=False&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;payload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;searchSection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;archivalLocationSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;archivalLocationAdvancedSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;isActiveFilter&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;repository&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;collection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Mediceo del Principato&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;series&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;volume&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;2863&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;insert&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;},{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;searchSection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;categoryAndTypologySearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;categoryAndTypologyAdvancedSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;isActiveFilter&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;category&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;News&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;typology&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;},{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;searchSection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;transcriptionSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;transcriptionAdvancedSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;isActiveFilter&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;transcription&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;},{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;isActiveFilter&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;searchSection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;synopsisSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;synopsisAdvancedSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;synopsis&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;},{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;searchSection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;placesSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;placesAdvancedSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;isActiveFilter&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;places&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:[]},{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;searchSection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;peopleSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;peopleAdvancedSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;isActiveFilter&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;people&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:[]},{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;searchSection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;topicsSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;topicsAdvancedSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;isActiveFilter&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;topics&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:[{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;topicTitle&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Place Index&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;topicId&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;51&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;placeAllId&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;}]},{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;searchSection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dateSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dateAdvancedSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;isActiveFilter&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dateFilterType&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dateYear&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dateMonth&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dateDay&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dateBYear&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dateBMonth&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;dateBDay&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;},{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;searchSection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;documentOwnerSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;documentOwnerAdvancedSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;isActiveFilter&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;editType&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;owner&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;account&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;},{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;searchSection&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;languagesSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;languagesAdvancedSearch&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;isActiveFilter&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;languages&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:[]}]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;headers&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Content-type&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;application/json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Accept&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;*/*&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;requests&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;url&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;payload&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;auth&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;LOGIN&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;PASSWORD&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;لا تنسوا أن تضعوا بيانات اعتمادكم مكان LOGIN وPASSWORD.&lt;/p&gt;
&lt;h3 id="كتابة-الاستجابة-في-ملف"&gt;كتابة الاستجابة في ملف&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;response.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;wb&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;fd&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;chunk&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;iter_content&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chunk_size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;128&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;fd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;chunk&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="فتح-ملف-json"&gt;فتح ملف JSON&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;response.json&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;utf8&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="إرجاع-كائن-json-قاموسا"&gt;إرجاع كائن JSON قاموسًا&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;json_complete&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;load&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="انتقاء-البيانات-من-json-وطباعتها-بصيغة-csv"&gt;انتقاء البيانات من JSON وطباعتها بصيغة CSV&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;results.csv&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;newline&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;csvfile&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;fieldnames&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;documentId&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;placeCited&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;documentDate&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;writer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;DictWriter&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;csvfile&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;fieldnames&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;fieldnames&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writeheader&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;json_complete&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;data&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;topics&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="kc"&gt;None&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;topics&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;documentId&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;documentId&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;placeCited&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;x&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;topicPlaceName&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;date&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;docYear&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;month&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;date&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;docMonth&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;day&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;date&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;docDay&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;documentDate&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;year&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;-&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;month&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;-&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;day&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;writer&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writerow&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;documentId&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;documentId&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;placeCited&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;placeCited&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;documentDate&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;documentDate&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ومتى نزّلتم ملف &lt;code&gt;results.csv&lt;/code&gt;، أمكنكم الشروع في تنقية البيانات على النحو المبيّن أعلاه.&lt;/p&gt;</description></item><item><title>تحليل الببليوغرافيا على نطاق واسع بالنماذج اللغوية المدرَّبة مسبقًا</title><link>https://clementgodbarge.com/ar/post/bibliography/</link><pubDate>Thu, 07 Jul 2022 19:04:14 +0200</pubDate><guid>https://clementgodbarge.com/ar/post/bibliography/</guid><description>&lt;p&gt;الأتمتة مفتاح خفض الكلفة في مشاريع الإنسانيات الرقمية. فإلى يومنا هذا، ما زالت المهام المتكررة المضنية التي يقتضيها العمل التحريري في الأوساط الأكاديمية إما تُنجز بكلفة باهظة على أيدي باحثين مثقلين بالأعباء، وإما «تُوكل» إلى الطلاب. وأذهب في هذه
إلى أن أكثر هذه المهام التي لا يُشكر عليها أحد لا &lt;em&gt;يمكن&lt;/em&gt; أتمتتها فحسب، بل &lt;em&gt;ينبغي&lt;/em&gt; أن تُؤتمت. فأتمتة مهام التحقيق تخفض الكلفة الإجمالية لمشاريع الإنسانيات الرقمية، والأهم أنها تمكّن الباحثين في المناطق المحدودة الدخل من نشر وثائق نفيسة في وقت قصير وبثمن في المتناول.&lt;/p&gt;
&lt;p&gt;وقد بيّنت في
، على سبيل المثال، كيف تستطيع النماذج اللغوية المدرَّبة مسبقًا أن تنهض بمعظم عمل الترميز بلغة XML في طبعة رقمية.&lt;/p&gt;
&lt;p&gt;وأعرض في هذه التدوينة مثالًا ثانيًا، من الببليوغرافيا هذه المرة.&lt;/p&gt;
&lt;h2 id="المشكلة"&gt;المشكلة&lt;/h2&gt;
&lt;p&gt;إنشاء قاعدة بيانات ببليوغرافية من المراجع الواردة في مقال علمي أمر يسير في ذاته: يكفي بحث سريع في فهرس كـ
وتنزيل المرجع بصيغة معينة، أو استيراده تلقائيًّا من قاعدة بيانات محلية. وهذا يجدي مع مقال أو مقالين.
فإذا تجاوزت المراجع عددًا معينًا، انقلبت المهمة عملًا منفّرًا يلتهم الوقت. وللتغلب على ذلك يمكن اللجوء إلى خوارزميات التحليل من قبيل
؛ غير أن هذه الخوارزميات يعسر تشغيلها على نطاق واسع.
فحين استعنت بـanystyle لتحويل ما يزيد على 150 دراسة علمية مضمومة إلى
، تراكمت الأخطاء إلى حد لا يُضبط. فقد أخفق في التعرف على كثير من مصادرنا، فحسب العناوين المطوّلة لكتب مطلع العصر الحديث شيئًا آخر، وعجز عن التعرف على الوثائق الأقل شيوعًا، من صفحات ويب بعينها ومقاطع فيديو على الشبكة وما إليها. فالمحلّلات تؤدي عملها ما دام المؤلف يتقيد تقيّدًا حرفيًّا بقواعد أسلوب معروف كشيكاغو أو تورابيان أو MLA؛ فإذا حاد عن المعيار قيد أنملة تناسلت الأخطاء.&lt;/p&gt;
&lt;h2 id="الحل"&gt;الحل&lt;/h2&gt;
&lt;p&gt;وهنا تأتي
&lt;mark&gt;النماذج اللغوية المدرَّبة مسبقًا&lt;/mark&gt;
بالعون، إذ
&lt;mark&gt;تستوعب في لمح البصر أنماط أي أسلوب ببليوغرافي&lt;/mark&gt;
، حتى ما ابتدعتموه بأنفسكم، ولا تحتاج إلا إلى بضعة أمثلة لتحوّل كميات كبيرة من الببليوغرافيا المنسّقة تحويلًا سليمًا إلى
.&lt;/p&gt;
&lt;p&gt;كان من حسن حظي في مطلع 2021 أن أُتيح لي الوصول المبكر إلى
من OpenAI. وCodex نموذج يترجم اللغة الطبيعية إلى شيفرة، والشيفرة إلى لغة طبيعية. وتزعم OpenAI أنه يتقن ما يزيد على اثنتي عشرة لغة برمجة؛ ومع أن واجهته البرمجية لا تزال، وأنا أكتب هذه السطور، في طور تجريبي، فهي تشغّل من الآن تطبيقات ذائعة مثل
من GitHub.&lt;/p&gt;
&lt;p&gt;وبعد أن جرّبت هذه الواجهة حينًا، تبيّن لي أنها تصلح أيضًا لشيفرة أبسط مثل &lt;code&gt;BibTeX&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;والحق أن أربعة أمثلة في موجّه الإدخال كفتني لتعمل الطريقة عملًا يُعوَّل عليه.&lt;/p&gt;
&lt;h3 id="موجه-الإدخال"&gt;موجّه الإدخال&lt;/h3&gt;
&lt;p&gt;References:
Bayle, Ariane. “Patients exemplaires: la correspondance médicale de Fioravanti.” In &lt;em&gt;Vulgariser la médecine. Du style médical en France et en Italie&lt;/em&gt;, edited by Andrea Carlino and Michel Jeanneret, 181–212. Geneva: Droz, 2009.&lt;/p&gt;
&lt;p&gt;Berns, Andrew D. &lt;em&gt;The Bible and Natural Philosophy in Renaissance Italy: Jewish and Christian Physicians in Search of Truth&lt;/em&gt;. Cambridge: Cambridge University Press, 2015.&lt;/p&gt;
&lt;p&gt;Gabler, Hans Walter. “Theorizing the Digital Scholarly Edition.” &lt;em&gt;Literature Compass&lt;/em&gt; 7, no. 2 (2010): 43–56.
.&lt;/p&gt;
&lt;p&gt;Findlen, Paula. &lt;em&gt;Possessing Nature: Museums, Collecting, and Scientific Culture in Early Modern Italy&lt;/em&gt;. Berkeley: University of California Press, 1994.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-BibTeX" data-lang="BibTeX"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;@incollection&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;bayle2009&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;author&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Bayle, Ariane}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;booktitle&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Vulgariser la médecine. Du style médical en France et en Italie}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;title&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Patients exemplaires: la correspondance médicale de Fioravanti}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;editor&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Carlino, Andrea and Michel Jeanneret}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;year&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{2009}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;address&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Geneva}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;publisher&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Droz}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;langid&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{french}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;@book&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;berns2015&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;title&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{The Bible and Natural Philosophy in Renaissance Italy: Jewish and Christian Physicians in Search of Truth}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;author&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Berns, Andrew D.}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;address&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Cambridge}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;publisher&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Cambridge University Press}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;langid&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{english}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;date&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{2015}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;@article&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;gabler2010&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;author&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Gabler, Hans Walter}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;title&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Theorizing the Digital Scholarly Edition}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;journal&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Literature Compass}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;volume&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{7}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;number&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{2}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;pages&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{43-56}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;doi&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{10.1111/j.1741-4113.2009.00675.x}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;langid&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{english}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;year&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{2010}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;@book&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;findlen1994&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;title&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Possessing Nature: Museums, Collecting, and Scientific Culture in Early Modern Italy}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;author&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Findlen, Paula}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;address&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Berkeley}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;publisher&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{University of California Press}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;langid&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{english}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;date&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{1994}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="النتائج"&gt;النتائج&lt;/h3&gt;
&lt;p&gt;
&lt;mark&gt;مذهلة: ما يزيد على 2000 مرجع ببليوغرافي حُوّلت في غضون أيام.&lt;/mark&gt;
ولم تقتصر هذه المقاربة على إعادة إنتاج النمط المعروض في موجّه الإدخال بدقة، بل أضافت على الوجه الصحيح أنواعًا من المداخل والحقول لم ترد في الموجّه أصلًا. وبعبارة أخرى: &lt;code&gt;GPT-3&lt;/code&gt; يتكلم &lt;code&gt;BibTeX&lt;/code&gt; بطلاقة تامة. ولعل الأدعى إلى العجب، من نموذج دُرّب في الأساس على الإنجليزية، أنه تعرّف على اللغات كلها (الروسية والفرنسية والإيطالية واللاتينية واليونانية والألمانية والإسبانية وغيرها) وأضاف في كل مرة حقل &lt;code&gt;langid&lt;/code&gt; الصحيح.&lt;/p&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;ملاحظة&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;ما زال حجم الإدخال والإخراج في GPT-3 محدودًا، إذ لا يعالج أكثر من 2048 وحدة لغوية (token). فمتى رُفع هذا القيد، لن تستغرق المهمة نفسها على الأرجح أكثر من ساعة.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;ومما لم يكن في الحسبان أن GPT-3 أضاف معلومات لم ترد في المراجع الأصلية.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;Baillot, Anne, and Anna Busch. “Editing for Man and Machine.” In &lt;em&gt;Users of Scholarly Editions: Editorial Anticipations of Reading, Studying and Consulting&lt;/em&gt;, Vol. 13. Variants (Journal of the European Society for Textual Scholarship). Leicester, 2015.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ففي هذا المرجع، مثلًا، أضاف GPT-3 الرابط الدائم إلى المستودع المفتوح (
) الذي تُقرأ فيه الورقة، مع الحقلين المخصوصين &lt;code&gt;HAL_ID&lt;/code&gt; و&lt;code&gt;HAL_VERSION&lt;/code&gt; اللذين استحدثهما مستودع HAL:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-BibTeX" data-lang="BibTeX"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;@inproceedings&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;baillot2015&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;title&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Editing for Man and Machine}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;author&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Baillot, Anne and Busch, Anna}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;year&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;2015&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;booktitle&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Users of Scholarly Editions: Editorial Anticipations of Reading, Studying and Consulting}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;address&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Leicester}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;series&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Variants (Journal of the European Society for Textual Scholarship)}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;volume&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="m"&gt;13&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;editor&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Bruhn, Siglinde and Schreiber, Manfred}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;langid&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{english}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;hal_id&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{halshs-01233380}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;hal_version&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{v1}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;وتدل هذه الإضافات على أن
&lt;mark&gt;GPT-3 لا يكتفي بتحليل المرجع الببليوغرافي، بل يتمّمه بما تعلّمه من قبل.&lt;/mark&gt;
ولذلك يجدر أن نرى هل يسلك المسلك نفسه مع مراجع تالية لتاريخ تدريبه&amp;hellip;&lt;/p&gt;
&lt;h2 id="الحدود"&gt;الحدود&lt;/h2&gt;
&lt;p&gt;على أن GPT-3 ليس منزّهًا عن الخطأ، ولا غنى له عن إشراف بشري. فمن عيوبه المعروفة
: يخترع أحيانًا ما لا وجود له، ويبني افتراضات بعيدة عن الاحتمال.&lt;/p&gt;
&lt;p&gt;وقد تجلّت نوبات الاضطراب عند GPT-3 في تجربتي حين غيّر من تلقاء نفسه اسم عائلة أحد المؤلفين من «Ruscelli» إلى «Ruscello». وليس هذا خطأ بالمعنى الدقيق، فأسماء العائلات الإيطالية في مطلع العصر الحديث كانت تُستعمل بالجمع أو بالمفرد على السواء. غير أن العرف اليوم أن يُترك الاسم على حاله، جمعًا كان أم مفردًا: فلا أحد يسمّي ماكيافيلي «ماكيافيلو»، كما يُنتظر منا أن نكتب Rossello لا Rosselli. فهل تجاهل GPT-3 هذا العرف لقصور في وعيه الزمني؟ أم قاس على الأسماء المجاورة، وقد تصادف أنها كلها في هذا الجزء من الببليوغرافيا بصيغة المفرد (Bariletto, Cesano, Rossello)؟
من يدري.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-Bibtex" data-lang="Bibtex"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;@book&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;rossello1565&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;title&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Della summa de’ secreti universali}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;author&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Rossello, Timoteo}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;address&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Venice}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;publisher&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Giovanni Bariletto}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;langid&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{italian}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;date&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{1565}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nc"&gt;@book&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nl"&gt;ruscello1559&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;title&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{La seconda parte de’ secreti del Reverendo Donno Alessio Piemontese}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;author&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Ruscello, Girolamo}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;address&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Pesaro}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;publisher&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{Bartolomeo Cesano}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;langid&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{italian}&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="na"&gt;date&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;{1559}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="خاتمة"&gt;خاتمة&lt;/h2&gt;
&lt;p&gt;الدراسات التي يزيد عددها على 150
، وقد كُتبت على مدى أربع سنوات من التعاون الحثيث، لا تقدّم معلومات جوهرية عن المخطوطة التي حققناها وترجمناها فحسب، بل تحمل في طياتها أيضًا مادة ببليوغرافية نفيسة.&lt;/p&gt;
&lt;p&gt;وجمع هذه المراجع في قاعدة بيانات يمكّن المحققين من تبديل التنسيق الببليوغرافي في غمضة عين، فيمنحهم حرية أوسع في عرض هذه المعلومات كما يشاؤون. كما تُطلعنا هذه القاعدة على جوانب قيّمة من الطبعة ومن المشروع الذي أتاحها، فتفتح أمام الباحثين آفاقًا تحليلية جديدة. وقاعدة كهذه تُنجز بدقة عالية وفي مدة قياسية.&lt;/p&gt;
&lt;p&gt;وقد تتسرب بعض الأخطاء، لا شك، ولا سيما بسبب نزوع GPT-3 إلى الهلوسة؛ غير أن الأجيال المقبلة من النماذج اللغوية المدرَّبة مسبقًا ستخفف من وطأة هذا الداء.&lt;/p&gt;</description></item><item><title>أتمتة الترميز في الطبعات العلمية الرقمية</title><link>https://clementgodbarge.com/ar/post/gpt3/</link><pubDate>Mon, 22 Nov 2021 18:15:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/gpt3/</guid><description>&lt;h1 id="مقدمة"&gt;مقدمة&lt;/h1&gt;
&lt;p&gt;كيف نُخرج طبعات علمية رقمية من غير أن نستنزف الخزائن؟ هذه التدوينة أولى سلسلةٍ أفردها للتحقيق الفعّال، وأتناول فيها الدور الذي قد تضطلع به النماذج اللغوية المدرَّبة مسبقًا في أتمتة مهامّ التحقيق، ومنها الترميز الدلالي.&lt;/p&gt;
&lt;details class="print:hidden xl:hidden" &gt;
&lt;summary&gt;فهرس المحتويات&lt;/summary&gt;
&lt;div class="text-sm"&gt;
&lt;nav id="TableOfContents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#عمل-بدافع-الحب"&gt;عمل بدافع الحب&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#عتبة-عالية"&gt;عتبة عالية&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#المحولات-transformers-أقصر-الطرق-إلى-الأتمتة"&gt;المحوّلات (Transformers): أقصر الطرق إلى الأتمتة؟&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#codex"&gt;Codex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ما-وراء-openai"&gt;ما وراء OpenAI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#التجربة-1--تصنيف-النصوص"&gt;التجربة 1 &amp;ndash; تصنيف النصوص.&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#هندسة-الموجه"&gt;هندسة الموجّه&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#الاختبار"&gt;الاختبار&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#النتيجة"&gt;النتيجة&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#التجربة-2--الترميز-الدلالي"&gt;التجربة 2 &amp;ndash; الترميز الدلالي&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#هندسة-الموجه-1"&gt;هندسة الموجّه&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#الاختبار-1"&gt;الاختبار&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/nav&gt;
&lt;/div&gt;
&lt;/details&gt;
&lt;h1 id="المشكلة"&gt;المشكلة&lt;/h1&gt;
&lt;h2 id="عمل-بدافع-الحب"&gt;عمل بدافع الحب&lt;/h2&gt;
&lt;p&gt;في الحب لا يُحسب الثمن&amp;hellip; أو هكذا يقول المثل. ولا أصدق منه على الطبعات العلمية الرقمية، فما تقتضيه من نسخ وترجمة وتعليق يستغرق آلاف الساعات، ينهض بها، كما في
، مئات المتعاونين من ذوي الكفاءة العالية.&lt;/p&gt;
&lt;p&gt;ولا شك أن ظفر المشاريع البارزة في الإنسانيات الرقمية بما تحتاج إليه من أموال طائلة نعمة من وجه ما. بيد أن التعويل على سخاء المؤسسات الثرية والجامعات والهيئات الحكومية، والحاجة الممتدة إلى موارد بشرية كبيرة، ليسا نموذجًا اقتصاديًّا يُبنى عليه المستقبل.&lt;/p&gt;
&lt;p&gt;والحق أننا إن أردنا أن نشجع الباحثين في أرجاء العالم على وضع الوثائق التاريخية في متناول جمهور أوسع، فلا بد أن
&lt;mark&gt;تهبط كلفة الطبعات النقدية الرقمية بمراتب عدة&lt;/mark&gt;
.&lt;/p&gt;
&lt;h2 id="عتبة-عالية"&gt;عتبة عالية&lt;/h2&gt;
&lt;p&gt;ومن مفارقات الأمر أن
&lt;mark&gt;الحل قد يأتي من المشاريع كثيفة العمل نفسها، مثل
، لأنها تشكّل مجموعة تدريب نفيسة&lt;/mark&gt;
لأتمتة بعض أشد مهام التحقيق الرقمي نفورًا وتكرارًا، ومنها الترميز.&lt;/p&gt;
&lt;p&gt;وليس هذا انتقاصًا من شأن الترميز؛ بل الواقع أن
&lt;mark&gt;الترميز غدا الركن الذي لا يقوم بدونه أي مشروع علمي رقمي جاد.&lt;/mark&gt;
فمنذ أن قعّدته
، صار يتيح لنا تسجيل ما نشاء من جوانب الوثيقة والنص الذي تحمله: البنية، والحواشي الهامشية، والشطب، والفروق، ونوع الورق، والبقع، والخط&amp;hellip; وما شئتم بعد ذلك.&lt;/p&gt;
&lt;p&gt;ويُظهر المثال الآتي، المأخوذ من
، كيف يُغني الترميز النص بمعلومات إضافية (الفئة، والبنية، والحقول الدلالية، والشطب، وغيرها)، فيمنح الطبعات الرقمية في نهاية المطاف أفضلية بيّنة على أسلافها الورقية.&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; نص عادي &lt;/th&gt;
&lt;th&gt; ترميز XML&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Pour rompre grenades et donner
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;violence aux artifices de foeu
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Mects parmy la pouldre et la sixiesme
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;partye dicelle de vif argent
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;p008r_2&amp;#34;&lt;/span&gt; &lt;span class="na"&gt;categories=&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;arms and armor&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;Pour rompre &lt;span class="nt"&gt;&amp;lt;wp&amp;gt;&lt;/span&gt;grenades&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt; et donner&lt;span class="nt"&gt;&amp;lt;lb/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;violence aux &lt;span class="nt"&gt;&amp;lt;wp&amp;gt;&lt;/span&gt;artifices de foeu&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;ab&amp;gt;&lt;/span&gt;Mects parmy la &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;pouldre&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;del&amp;gt;&amp;lt;ms&amp;gt;&lt;/span&gt;six fois autant&lt;span class="nt"&gt;&amp;lt;/ms&amp;gt;&lt;/span&gt; de
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;vif argent&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&amp;lt;/del&amp;gt;&amp;lt;lb/&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;del&amp;gt;&lt;/span&gt;et&lt;span class="nt"&gt;&amp;lt;/del&amp;gt;&lt;/span&gt; &lt;span class="nt"&gt;&amp;lt;ms&amp;gt;&lt;/span&gt;la sixiesme partye&lt;span class="nt"&gt;&amp;lt;/ms&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; dicelle de &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;vif argent&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&amp;lt;/ab&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;وليست هذه المعلومات نفيسة لأغراض الحفظ الأرشيفي وحدها، بل للتركيب والتحليل أيضًا، كما بيّنت في مناسبات سابقة. غير أن هذا الضرب من التعليق قد يلتهم من الوقت الشيء الكثير، لأن النص الواحد كثيرًا ما يلزم إتاحته بصيغ متعددة: ترجمةً، ونسخًا، وتحديثًا للرسم، وما إلى ذلك.&lt;/p&gt;
&lt;h1 id="الحل"&gt;الحل&lt;/h1&gt;
&lt;h2 id="المحولات-transformers-أقصر-الطرق-إلى-الأتمتة"&gt;المحوّلات (Transformers): أقصر الطرق إلى الأتمتة؟&lt;/h2&gt;
&lt;p&gt;في عام 2020 أطلقت
، بضجة كبيرة، أحدث أسرة من نماذجها اللغوية الكبيرة ذات الأغراض العامة، وسمّتها GPT-3، اختصارًا لـ«Generative Pre-trained Transformer 3». والمحوّلات فتحٌ حديث العهد نسبيًّا في الذكاء الاصطناعي: تتعلم المهام الجديدة بسرعة مذهلة بمجرد قراءة موجّه (prompt) والنظر في عدد قليل جدًّا من الأمثلة، وتقبل كذلك تدريبًا إضافيًّا على مجموعة بيانات مخصوصة (الضبط الدقيق) يحسّن زمن استجابتها ودقتها. ولهذا نقول إن GPT-3 وأشباهه من المحوّلات
.&lt;/p&gt;
&lt;p&gt;وتزعم OpenAI أن GPT-3 يضم عددًا قياسيًّا من المعاملات يبلغ 175 مليارًا، وأنه دُرّب على ما يزيد على 570 غيغابايت من النصوص، جُلّها وثائق إنجليزية مأخوذة على الأرجح من
. وبفضل حجمه الهائل وحده أرسى GPT-3 معيارًا جديدًا في هذا الميدان، فهو ينجز من فوره مهامّ متنوعة بواقعية تبعث على القلق: يكتب
مقبولة، و
في غرف الدردشة، و
، و
، ويترجم الوثائق، ويفسّر المصطلحات، وغير ذلك.&lt;/p&gt;
&lt;p&gt;وقد أتاح لي الوصول المبكر إلى واجهة OpenAI البرمجية منذ مايو 2021 أن أختبر قدرة النموذج على مهامّ يُشهد لها بالصعوبة، كترجمة الشعر الفرنسي والنصوص اللاتينية الحديثة إلى الإنجليزية، وشرح المماثلات (analogies)، بل تبسيط الكتاب الرابع من &lt;em&gt;تأسيس ميتافيزيقا الأخلاق&lt;/em&gt; لكانط لطفل في السابعة (وإن جاء التبسيط غير مقنع).&lt;/p&gt;
&lt;h3 id="codex"&gt;Codex&lt;/h3&gt;
&lt;p&gt;ومن أحدث ما تفرّع عن GPT-3 نموذج يُعنى بلغات الحاسوب، اسمه &lt;em&gt;Codex&lt;/em&gt;، يترجم اللغة الطبيعية إلى لغة حاسوبية والعكس. فإن كنت أبحث مثلًا عن تعبير نمطي «يعثر على الكلمات التي تبدأ بحرف كبير دون سواها»، ترجم GPT-3 ذلك في الحال إلى تعبير نمطي صالح للعمل: &lt;code&gt;[A-Z]+\w+&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;وتزعم OpenAI أن &lt;em&gt;Codex&lt;/em&gt; يتعامل مع نحو اثنتي عشرة لغة حاسوبية، منها Python وJavaScript وGo وPerl وPHP وRuby وSwift. وإذ يحوّل الشيفرة الزائفة إلى شيفرة حقيقية بسلاسة، فإنه يعفي الناس من التدقيق في نحو اللغة الحاسوبية المضني ليصرفوا همّهم إلى الخطوات المنطقية والاستراتيجيات التي تمكّن التطبيقات من حل المشكلات.&lt;/p&gt;
&lt;h3 id="ما-وراء-openai"&gt;ما وراء OpenAI&lt;/h3&gt;
&lt;p&gt;وليست OpenAI، بطبيعة الحال، اللاعب الوحيد في الميدان. فكما أسلفت، أعلنت أكاديمية بكين للذكاء الاصطناعي عام 2021 عن نموذج أكبر وأقدر يُعرف باسم &lt;em&gt;Wu Dao 2&lt;/em&gt;. وتضافرت Nvidia وMicrosoft على إنتاج نموذج &lt;em&gt;Megatron-Turing NLG 530B&lt;/em&gt; الذي جاء اسمه على مسمّاه. وتعرض شركات ناشئة أصغر، مثل
و
، واجهات برمجية للجمهور. وتجدر الإشارة كذلك إلى مبادرات مفتوحة المصدر مثل
. ولما كان مشهد الذكاء الاصطناعي يتبدل بسرعة، فلمتابعة جديد الميدان راجعوا
.&lt;/p&gt;
&lt;h1 id="التجارب"&gt;التجارب&lt;/h1&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;ملاحظة&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;الغاية من هذه التجارب أن نهتدي إلى أقل الطرق كلفةً نحو أتمتة موثوقة لمهام التحقيق. وقد يقال إن بعض هذه المهام يمكن أتمتته أيضًا بخوارزميات التعلم الخاضع للإشراف؛ وسنتحقق من هذه الفرضية في تدوينة مقبلة.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;فهل يستطيع محوّل مثل GPT-3 أن يتعلم التعليق على مخطوطة تقنية علمية من القرن السادس عشر، مثلًا؟&lt;/p&gt;
&lt;h2 id="التجربة-1--تصنيف-النصوص"&gt;التجربة 1 &amp;ndash; تصنيف النصوص.&lt;/h2&gt;
&lt;p&gt;لنبدأ بما هو أيسر نسبيًّا. فما دام GPT-3 «يتعلم من أمثلة قليلة»، فالمنتظر أن يدرك بسرعة كيف صنّف فريقنا التحريري مداخل المخطوطة Ms Fr 640.&lt;/p&gt;
&lt;h3 id="هندسة-الموجه"&gt;هندسة الموجّه&lt;/h3&gt;
&lt;p&gt;لتدريبه استعملت موجّهًا في غاية الإيجاز، واخترت للتمثيل أربعة مداخل نصية قصيرة بلا ترميز، منها مدخل في «الطب»، وآخر في «الأسلحة والدروع»، وثالث في «الرسم».&lt;/p&gt;
&lt;h3 id="الاختبار"&gt;الاختبار&lt;/h3&gt;
&lt;p&gt;ثم نسخت مقطعًا آخر لم يكن في السلسلة الأولى:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Working neatly
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Never put down, if you can, two colors one on top of the other.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;But next, having made your design carefully, keep the place of shadows for them alone,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&amp;amp; also separately that of lights &amp;amp; highlights, without layering one color all over &amp;amp; then highlighting or else shading on it.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;And in this way, you further your work, economize your colors &amp;amp; work neatly.
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Which is the reason that, the colors not being muddled nor mixed together, they do not die &amp;amp; you soften the colors better, since they are not so thick.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;فجاء المخرج مطابقًا للمحتوى تمام المطابقة:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;categories&lt;/span&gt;&lt;span class="err"&gt;=&amp;#34;painting&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;فإذا جرّبنا مدخلًا من فئة لم تكن أصلًا بين النصوص المختارة لتدريب GPT-3، كانت النتيجة مدعاة للدهشة.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;categories&lt;/span&gt;&lt;span class="err"&gt;=&amp;#34;jewelry&amp;#34;&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="النتيجة"&gt;النتيجة&lt;/h3&gt;
&lt;p&gt;لا وجود لفئة «المجوهرات» (jewelry) في طبعتنا للمخطوطة Ms. Fr. 640، فالفريق التحريري
عليها فئة «الأحجار» (Stones) الأوسع. على أن حدس GPT-3 سديد، وهو يدل على أنه بقليل من التدريب الإضافي يستطيع أن يتعلم تصنيف أي مدخل في المخطوطة Ms. Fr. 640، بل ربما مداخل النصوص التقنية المماثلة من القرن السادس عشر.&lt;/p&gt;
&lt;h2 id="التجربة-2--الترميز-الدلالي"&gt;التجربة 2 &amp;ndash; الترميز الدلالي&lt;/h2&gt;
&lt;p&gt;فلنرفع السقف قليلًا. إذا كانت المحوّلات من قبيل GPT-3 تتعلم تصنيف النصوص وفق معايير تحريرية بعينها، فهل تستطيع أيضًا أن تتعرف على بعض عناصر ترميز النص؟&lt;/p&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;ملاحظة&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;تجمع &lt;em&gt;Secrets of Craft and Nature&lt;/em&gt; بين
. وللأسف لا يعالج GPT-3 الصور، بخلاف مشاريع أخرى مثل
. ويُرجَّح أن تشمل الأجيال المقبلة من GPT هذه القدرة، ولا غنى عنها للتعرف على معظم الجوانب البنيوية والمادية للوثيقة. سنتجاوز هذه الوسوم بالذات، ونركّز على الترميز الذي لا يستلزم التعرف على الصور.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="هندسة-الموجه-1"&gt;هندسة الموجّه&lt;/h3&gt;
&lt;p&gt;تشمل الوسوم الدلالية الإحالات إلى الحيوانات والنباتات وأسماء الأماكن والمدركات الحسية وغيرها. وقد انتقيت لموجّه التدريب بضعة أمثلة من الطبعة:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Input prompt--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;The following is a list of words and their corresponding semantic tags
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cannons: &lt;span class="nt"&gt;&amp;lt;wp&amp;gt;&lt;/span&gt;cannons&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;powder: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;powder&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;flasks: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&lt;/span&gt;flasks&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wooden: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;wooden&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;iron: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;iron&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;parchment: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;parchment&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;goats: &lt;span class="nt"&gt;&amp;lt;al&amp;gt;&lt;/span&gt;goats&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;lambs: &lt;span class="nt"&gt;&amp;lt;al&amp;gt;&lt;/span&gt;lambs&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;leather: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;leather&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;earth: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;earth&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fine fatty earth: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;fine fatty earth&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Venice: &lt;span class="nt"&gt;&amp;lt;pl&amp;gt;&lt;/span&gt;Venice&lt;span class="nt"&gt;&amp;lt;/pl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Flemish: &lt;span class="nt"&gt;&amp;lt;pl&amp;gt;&lt;/span&gt;Flemish&lt;span class="nt"&gt;&amp;lt;/pl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;almond: &lt;span class="nt"&gt;&amp;lt;pa&amp;gt;&lt;/span&gt;almond&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;almond oil: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;pa&amp;gt;&lt;/span&gt;almond&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt; oil&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;walnuts skin: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;pa&amp;gt;&lt;/span&gt;walnuts&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt; skin&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;molten lead: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;molten lead&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;today: &lt;span class="nt"&gt;&amp;lt;tmp&amp;gt;&lt;/span&gt;today&lt;span class="nt"&gt;&amp;lt;/tmp&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;In the past: &lt;span class="nt"&gt;&amp;lt;tmp&amp;gt;&lt;/span&gt;In the past&lt;span class="nt"&gt;&amp;lt;/tmp&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Clockmakers: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;Clockmakers&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;red copper: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;red copper&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;crucible: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&lt;/span&gt;crucible&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bellows: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&lt;/span&gt;bellows&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;charcoal: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;charcoal&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;founders: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;founders&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="الاختبار-1"&gt;الاختبار&lt;/h3&gt;
&lt;p&gt;لنجرّب مع نموذج &lt;code&gt;Davinci-codex&lt;/code&gt; بضع كلمات سهلة: &lt;em&gt;Apothecary&lt;/em&gt; (صيدلاني)، و&lt;em&gt;smoke&lt;/em&gt; (دخان)، و&lt;em&gt;glassmakers&lt;/em&gt; (صانعو الزجاج)، و&lt;em&gt;latten&lt;/em&gt; (صفيح نحاسي)، و&lt;em&gt;snake&lt;/em&gt; (ثعبان). فتأتي النتائج فورية لا تشوبها شائبة:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Output--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Apothecary: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;Apothecary&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;smoke: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;smoke&lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;glassmakers: &lt;span class="nt"&gt;&amp;lt;pro&amp;gt;&lt;/span&gt;glassmakers&lt;span class="nt"&gt;&amp;lt;/pro&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;latten: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;latten&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;snake: &lt;span class="nt"&gt;&amp;lt;al&amp;gt;&lt;/span&gt;snake&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;والاختبار الأصعب يقتضي كلمات مركبة، من قبيل &lt;em&gt;copper plates&lt;/em&gt; (صفائح نحاسية)، و&lt;em&gt;walnut oil&lt;/em&gt; (زيت الجوز)، و&lt;em&gt;wood block&lt;/em&gt; (قالب خشبي)؛ والغرض منه أن نرى هل يحسن GPT-3 التعامل مع الوسوم المتداخلة.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Output--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;copper plates: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;copper plates&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;walnut oil: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;pa&amp;gt;&lt;/span&gt;walnut&lt;span class="nt"&gt;&amp;lt;/pa&amp;gt;&lt;/span&gt; oil&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wood block: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&lt;/span&gt;wood block&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;وهنا تتفاوت النتائج: فلم يصب &lt;code&gt;Davinci-codex&lt;/code&gt; إلا في &lt;em&gt;walnut oil&lt;/em&gt;، وفاته الوسمان المتداخلان &lt;code&gt;tl&lt;/code&gt; و&lt;code&gt;m&lt;/code&gt; في &lt;em&gt;copper plates&lt;/em&gt; و&lt;em&gt;wood block&lt;/em&gt;. غير أن هذه الأخطاء تخف، كما يُظهر الاختبار التالي، بموجّه تدريب أحسن. فبعد أن أضفت خمسة أمثلة أخرى على الوسوم المتداخلة، عاد &lt;code&gt;Davinci-codex&lt;/code&gt; بنتيجة تكاد تكون كاملة، لم يخطئ فيها إلا مرة واحدة (&lt;em&gt;oil paintbrushes&lt;/em&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!--Output--&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;cannon powder: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;wp&amp;gt;&lt;/span&gt;cannon&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt; powder&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;arquebus powder: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;wp&amp;gt;&lt;/span&gt;arquebus&lt;span class="nt"&gt;&amp;lt;/wp&amp;gt;&lt;/span&gt; powder&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;oil paintbrushes: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;al&amp;gt;&lt;/span&gt;oil&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt; paintbrushes&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sheep footbones: &lt;span class="nt"&gt;&amp;lt;m&amp;gt;&amp;lt;al&amp;gt;&lt;/span&gt;sheep&lt;span class="nt"&gt;&amp;lt;/al&amp;gt;&lt;/span&gt; footbones&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;bronze mortar: &lt;span class="nt"&gt;&amp;lt;tl&amp;gt;&amp;lt;m&amp;gt;&lt;/span&gt;bronze&lt;span class="nt"&gt;&amp;lt;/m&amp;gt;&lt;/span&gt; mortar&lt;span class="nt"&gt;&amp;lt;/tl&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="خاتمة"&gt;خاتمة&lt;/h1&gt;
&lt;p&gt;ينبغي ألا يغيب عن البال أن هذه الاختبارات أُجريت على شذرات نصية قصيرة. وأحسب أن إغناء الأمثلة والموجّه بمزيد من السياق سيخرج من نماذج GPT-3 نتائج أفضل، وأن الضبط الدقيق للنموذج على مجموعات تدريب مخصوصة سيرفع دقة الوسم أكثر فأكثر.&lt;br&gt;
ولئن كانت هذه التجارب لا تزال بحاجة إلى أن تُجرى على نطاق أوسع لإثبات موثوقية النماذج اللغوية المدرَّبة مسبقًا، فإنه يسعنا أن نخلص إلى أن
&lt;mark&gt;هذه المقاربة تمكّن المحققين من أتمتة عدة مهام من مهام التعليق في خطوات يسيرة، وقد توفر عليهم في ذلك قدرًا هائلًا من الوقت والمال.&lt;/mark&gt;
&lt;/p&gt;</description></item><item><title>تصوّر المخطوطات 2 (تحديث)</title><link>https://clementgodbarge.com/ar/post/treemap2/</link><pubDate>Sat, 20 Nov 2021 16:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/treemap2/</guid><description>&lt;p&gt;وفاءً بما وعدت، هذه نسخة جديدة من الخريطة الشجرية التفاعلية التي عرضتها في
، وقد صارت هذه المرة بوضعَي عرض.&lt;/p&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;ملاحظة&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;تحسن المشاهدة إذا ضبطتم الصفحة على الوضع الفاتح (انقروا أيقونة القمر في أعلى اليمين).&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;head&gt;
&lt;meta charset="UTF-8" /&gt;
&lt;meta http-equiv="X-UA-Compatible" content="IE=edge" /&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0" /&gt;
&lt;title&gt;&lt;/title&gt;
&lt;link rel="preconnect" href="https://fonts.gstatic.com" /&gt;
&lt;link
href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&amp;display=swap"
rel="stylesheet"
/&gt;
&lt;link rel="stylesheet" href="css/index.css" /&gt;
&lt;link rel="stylesheet" href="css/vis-treemap.css" /&gt;
&lt;link rel="stylesheet" href="css/vis-tooltip.css" /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class="stacked"&gt;
&lt;div class="switch"&gt;
&lt;input
type="checkbox"
name="group-by-category-switch"
id="group-by-category-switch"
checked
/&gt;
&lt;label for="group-by-category-switch"&gt; Group folios by category &lt;/label&gt;
&lt;/div&gt;
&lt;div id="treemap"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js" integrity="sha384-CjloA8y00+1SDAUkjs099PVfnY2KmDC2BZnws9kh8D/lX1s46w6EPhpXdqMfjK6i" crossorigin="anonymous" referrerpolicy="no-referrer"&gt;&lt;/script&gt;
&lt;script src="js/vis-treemap.js"&gt;&lt;/script&gt;
&lt;script src="js/vis-tooltip.js"&gt;&lt;/script&gt;
&lt;script src="js/index.js"&gt;&lt;/script&gt;
&lt;/body&gt;</description></item><item><title>متصفّح بصري للأرشيف</title><link>https://clementgodbarge.com/ar/post/treemap/</link><pubDate>Sun, 20 Jun 2021 16:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/treemap/</guid><description>&lt;h1 id="المشكلة"&gt;المشكلة&lt;/h1&gt;
&lt;p&gt;في الطبعات الرقمية مفارقة: فهي تضع وثائق عسيرة المنال في متناول جمهور أوسع، غير أن تجريدها من مادّتها يحرم القارئ مدخله الحسي، فيتيه ويكاد ينصرف عن محتواها. ومن ثمّ يغدو التنقل في مستودعات الوثائق الضخمة عملًا شاقًّا يهاب المرء الإقدام عليه، لا عند قليلي الخبرة بالبحث الأرشيفي وحدهم، بل عند القراء ذوي الإعاقات الإدراكية أيضًا.&lt;/p&gt;
&lt;h1 id="الحل"&gt;الحل&lt;/h1&gt;
&lt;p&gt;هنا تأتي البيانات الوصفية الأرشيفية بالعون. فهي تمكّننا من بناء تجريدات بصرية تفاعلية تمنح القارئ مدخلًا حسيًّا بديلًا، فترتقي بسهولة الاستعمال وإمكانية الوصول معًا. ولجعل الأرشيف قابلًا للتصفح بالعين، تفي بالغرض خريطة شجرية (treemap)، أو أي مخطط يفكك البيانات الهرمية تفكيكًا ناجعًا.&lt;/p&gt;
&lt;h1 id="التجربة"&gt;التجربة&lt;/h1&gt;
&lt;p&gt;في تجربتي الأولى طوّعت
المكتوبة بـ&lt;code&gt;D3.js&lt;/code&gt;، وأضفت إليها روابط تشعبية. وهي تمثّل المخطوطة BnF Ms Fr 640 وأوراقها والمداخل التي تضمها كل ورقة، وتدل الألوان على الفئة الغالبة. ومن مرّر المؤشر فوق أي مدخل ظهر له مزيد من البيانات، ومنها الرابط التشعبي إلى المخطوطة.&lt;br&gt;
وبهذا تصير الخريطة الشجرية فهرسًا بصريًّا تفاعليًّا يعرض على القارئ، في لمحة سريعة متجاوبة، محتويات المخطوطة وأبعاد كل ورقة وكل مدخل فيها.&lt;br&gt;
&lt;del&gt;سأمضي في الأشهر المقبلة في التجريب على هذه الفكرة بمخططات أخرى وتسلسلات هرمية أخرى&amp;hellip; فترقّبوا!&lt;/del&gt; للاطلاع على نسخة جديدة من الخريطة الشجرية، انقروا
.&lt;/p&gt;
&lt;div class="callout flex px-4 py-3 mb-6 rounded-md border-l-4 bg-blue-100 dark:bg-blue-900 border-blue-500"
data-callout="note"
data-callout-metadata=""&gt;
&lt;span class="callout-icon pr-3 pt-1 text-blue-600 dark:text-blue-300"&gt;
&lt;svg height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="m16.862 4.487l1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8l.8-2.685a4.5 4.5 0 0 1 1.13-1.897zm0 0L19.5 7.125"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;div class="callout-content dark:text-neutral-300"&gt;
&lt;div class="callout-title font-semibold mb-1"&gt;ملاحظة&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;تحسن المشاهدة إذا ضبطتم الصفحة على الوضع الفاتح (انقروا أيقونة القمر في أعلى اليمين).&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;head&gt;
&lt;meta charset="UTF-8" /&gt;
&lt;meta http-equiv="X-UA-Compatible" content="IE=edge" /&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0" /&gt;
&lt;title&gt;&lt;/title&gt;
&lt;link rel="preconnect" href="https://fonts.gstatic.com" /&gt;
&lt;link
href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&amp;display=swap"
rel="stylesheet" /&gt;
&lt;link rel="stylesheet" href="css/index.css" /&gt;
&lt;link rel="stylesheet" href="css/vis-treemap.css" /&gt;
&lt;link rel="stylesheet" href="css/vis-tooltip.css" /&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;Click any cell to zoom in, or the top to zoom out.&lt;/p&gt;
&lt;div id="treemap"&gt;&lt;/div&gt;
&lt;script src="https://cdn.jsdelivr.net/npm/d3@7.9.0/dist/d3.min.js" integrity="sha384-CjloA8y00+1SDAUkjs099PVfnY2KmDC2BZnws9kh8D/lX1s46w6EPhpXdqMfjK6i" crossorigin="anonymous" referrerpolicy="no-referrer"&gt;&lt;/script&gt;
&lt;script src="js/vis-treemap.js"&gt;&lt;/script&gt;
&lt;script src="js/vis-tooltip.js"&gt;&lt;/script&gt;
&lt;script src="js/index.js"&gt;&lt;/script&gt;
&lt;/body&gt;</description></item><item><title>الأرشيف في لمحة</title><link>https://clementgodbarge.com/ar/post/dashboard/</link><pubDate>Mon, 24 May 2021 16:00:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/dashboard/</guid><description>&lt;h1 id="المشكلة"&gt;المشكلة&lt;/h1&gt;
&lt;p&gt;قد تبلغ الفوضى في الأرشيفات التاريخية حدًّا يبعث على اليأس، ورصيد &lt;em&gt;Mediceo del Principato&lt;/em&gt; في
خير شاهد. فلم يُجرد منه إلا نزر يسير، وتناثر كثير من وثائقه في ما يزيد على 6500 مجلد من غير سبب ظاهر. ويزيد الطين بلّة أن الأرشيف لا يتيح لكم الاطلاع إلا على عدد محدود من المجلدات (أو الـ&lt;em&gt;filze&lt;/em&gt; كما يسمونها): أربع &lt;em&gt;filze&lt;/em&gt; في اليوم في الأحوال العادية، هبطت في زمن الجائحة إلى أربع كل أسبوعين. وإذ تغيب الجرود المفصّلة، فإن ضخامة الأرشيف تُلجئ الباحث إلى ابتداع الحيل كي يهتدي سريعًا إلى ما ينشده من وثائق.&lt;/p&gt;
&lt;h1 id="الحل"&gt;الحل&lt;/h1&gt;
&lt;p&gt;فمن الباحثين من يعوّل على الصدفة، ومنهم من يضيف إليها تخمينات مدروسة يبنيها على التسلسل الزمني، والمرسَل إليهم، والمؤلفين، ومنشأ الرصيد الأرشيفي، واللغة، وما إلى ذلك. غير أن &lt;em&gt;النظر&lt;/em&gt; إلى هذه المتغيرات كلها دفعةً واحدة قد يكشف في بنية الأرشيف عن أنماط لم تخطر ببال، فيصقل حدسنا. وقد علّمتني التجربة أن البيانات الوصفية التي يجمعها الباحث عادةً في جدول بيانات تصير، متى رُسمت بيانيًّا، عونًا كبيرًا على إدراك ما حوله في الأرشيف.&lt;/p&gt;
&lt;h1 id="التجربة"&gt;التجربة&lt;/h1&gt;
&lt;p&gt;تدور بحوثي الجارية حول مراسلات جاسوس من القرن السادس عشر، تفرّقت رسائله في مئات الـ&lt;em&gt;filze&lt;/em&gt;: كُتبت بهويات شتى، إلى مرسَل إليهم مختلفين لا يُتوقع بعضهم، ومن أماكن متباعدة، وهلم جرًّا. ولكي أهتدي إلى الـ&lt;em&gt;filze&lt;/em&gt; الأرجح احتواءً على الرسائل المنشودة، أعددت لوحة متابعة، وهي تطبيق ويب لتصوّر البيانات تفاعليًّا (
) يربط بين شتى البيانات، ومنها المعلومات الجغرافية والزمنية، وبين مخطط هرمي (
) للرصيد الأرشيفي. تطلعني اللوحة في لمحة على ما عُثر عليه حتى الآن، وعلى مقداره، وتعطيني فكرة تقريبية عن المواضع التي قد أجد فيها رسائل جديدة؛ فإذا نقرت على متغير بعينه، تجدّدت المخططات كلها لتُظهر ارتباطات محددة.&lt;/p&gt;
&lt;h1 id="الخطوات-التالية"&gt;الخطوات التالية&lt;/h1&gt;
&lt;p&gt;ولعل الأهم من ذلك أن هذه اللوحة تصلح فهرسًا بصريًّا. فحين تُنشر الطبعة النقدية لهذه الرسائل على الشبكة، ستغدو اللوحة مدخلًا بديلًا يتصفح القراء منه البيانات. ولا يسعني في الوقت الراهن، لدواعي السرية، إلا أن أعرض لقطة شاشة محجوبة الأجزاء، على أن أطلق اللوحة كاملةً في العام المقبل؛ وفي انتظار ذلك سيتاح نموذج أولي عمّا قريب. فترقّبوا!&lt;/p&gt;</description></item><item><title>تصوّر الترميز الدلالي في المخطوطة BnF Ms. Fr. 640</title><link>https://clementgodbarge.com/ar/post/visualization/</link><pubDate>Sun, 20 Dec 2020 18:15:00 +0000</pubDate><guid>https://clementgodbarge.com/ar/post/visualization/</guid><description>&lt;h1 id="نظرة-عامة"&gt;نظرة عامة&lt;/h1&gt;
&lt;p&gt;تزخر الطبعات العلمية الغنية بالبيانات بتعليقات تحريرية نفيسة يمكن استخراجها وتحليلها وتصوّرها لشتى الأغراض العلمية. وتلك حال
، الصادرة عام 2020، التي تتيح تنزيل ملف بياناتها الوصفية من مستودعها على GitHub. أبيّن في هذه التدوينة كيف نجمع هذه المتغيرات كلها في مصفوفة ارتباط، ثم نصوّرها على أنحاء شتى.&lt;/p&gt;
&lt;h1 id="البيانات"&gt;البيانات&lt;/h1&gt;
&lt;p&gt;يولّد مشروع Making and Knowing جدول بيانات يحمل أحدث المعلومات عن محتويات المخطوطة: &lt;code&gt;entry_metadata.csv&lt;/code&gt;. ويُستحضر الملف من
الخاص بـMaking &amp;amp; Knowing. ويمكن بدل ذلك توليد ملفات .csv على المقاس، مع إضافة مزيد من الترميز، بفضل
، الأداة الممتازة التي أعدّها ماثيو كومار (Matthew Kumar)، وهي نسخة من المخطوطة BnF Ms. Fr. 640 بلغة Python.&lt;/p&gt;
&lt;h2 id="إعداد-python"&gt;إعداد Python&lt;/h2&gt;
&lt;p&gt;سنستعين بـPandas لمعالجة البيانات، وبـMatplotlib وseaborn للخرائط الحرارية، ثم بـNetworkX لبناء شبكات قائمة على الارتباط.&lt;br&gt;
ولن نلجأ مع هذا الصنف من المتغيرات إلى طريقة بيرسون، بل إلى طريقة 𝜙𝐾. فاحرصوا على
على طريقة الارتباط هذه وعلى مكتبتها &lt;code&gt;PhiK&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;#install packages&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;pip&lt;/span&gt; &lt;span class="n"&gt;install&lt;/span&gt; &lt;span class="n"&gt;phik&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# import modules&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pandas&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;pd&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;plt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;seaborn&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;sns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;networkx&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;nx&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="تهيئة-البيانات"&gt;تهيئة البيانات&lt;/h2&gt;
&lt;p&gt;لننزّل أولًا أحدث ملف للبيانات الوصفية للطبعة من مجلد metadata في
.
ثم ننتقي الأعمدة التي نحتاج إليها دون سواها. اخترت لهذا العرض جميع الوسوم الدلالية من الترجمة الإنجليزية &lt;code&gt;tl&lt;/code&gt;، ولكم أن تختاروا وسوم النسخ الفرنسي &lt;code&gt;tc&lt;/code&gt; أو النسخة المعيَّرة &lt;code&gt;tcn&lt;/code&gt;.
وتأتي البيانات قيمًا مفصولة بفواصل منقوطة، ونريد من Python أن يعدّها لنا؛ فنلجأ إلى طريقة stack-unstack مع التعبير النمطي &lt;code&gt;[^;\s][^\;]*[^;\s]*&lt;/code&gt;.
ولتغدو المصفوفة أيسر قراءة، نعيد تسمية الأعمدة. ولمن كان على عجلة أن يتخطى هذه الخطوة، على أن يتذكر أن إطار بياناتنا يحمل في هذه المرحلة اسم &lt;code&gt;tagsrn&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# load the edition&amp;#39;s metadata&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;df&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;read_csv&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;entry_metadata.csv&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# select the tags you want to correlate&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;dftags&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;df&lt;/span&gt;&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;al_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;bp_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;cn_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;df_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;env_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;m_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;md_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;ms_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;mu_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pa_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pl_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pn_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pro_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;sn_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;tl_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;tmp_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;wp_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;de_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;el_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;it_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;la_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;oc_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;po_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# count comma separated values&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;tagcount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;dftags&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dropna&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;str&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;r&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;[^;\s][^\;]*[^;\s]*&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;unstack&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# rename columns&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;tagsrn&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tagcount&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;rename&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;columns&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;al_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;animals&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;bp_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;body parts&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;cn_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;currency&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;df_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;definitions&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;env_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;environment&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;m_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;material&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;md_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;medical&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;ms_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;measurement&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;mu_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;music&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pa_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;plant&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pl_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;toponym&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pn_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;person&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;pro_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;profession&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;sn_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;sensory&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;tl_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;tool&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;tmp_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;temporal&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;wp_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;weapons&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;de_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;German&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;el_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Greek&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;it_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Italian&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;la_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Italian&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;oc_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Occitan&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;po_tl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Poitevin&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="حساب-الارتباط"&gt;حساب الارتباط&lt;/h1&gt;
&lt;p&gt;متى نظُف إطار البيانات، انتقلنا إلى حساب معاملات الارتباط بين كل متغيرين. والمهم في هذه المرحلة أن تفهموا بياناتكم وتتحققوا من أنكم تستعملون أنسب طرق الارتباط لها، وحزمة &lt;code&gt;pandas-profiling&lt;/code&gt; نِعم العون على ذلك.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# calculate correlation coefficient with the phi k method&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;cortag&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tagsrn&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;phik_matrix&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;cortag&lt;/code&gt; هي مصفوفة الارتباط عندنا، وبوسعنا الآن أن نجرّب عليها ضروبًا شتى من التصوّر.&lt;/p&gt;
&lt;h1 id="التصور"&gt;التصوّر&lt;/h1&gt;
&lt;p&gt;أول ما نجرّبه تصويرها مصفوفةً مرمّزة بالألوان، بـ
من &lt;code&gt;seaborn&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="الخريطة-الحرارية-للارتباط"&gt;الخريطة الحرارية للارتباط&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ax&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;subplots&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;figsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;ax&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;heatmap&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cortag&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;linewidths&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;.03&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;vmin&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cmap&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Oranges&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;square&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="الخريطة الحرارية للارتباط في المخطوطة BnF Ms. Fr. 640"
srcset="https://clementgodbarge.com/post/visualization/heatmap_hu_943abdd98e24b0a3.webp 320w, https://clementgodbarge.com/post/visualization/heatmap_hu_eca41311a0e0ac17.webp 480w, https://clementgodbarge.com/post/visualization/heatmap_hu_1650defb643c0285.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://clementgodbarge.com/post/visualization/heatmap_hu_943abdd98e24b0a3.webp"
width="760"
height="665"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;من كان على معرفة وثيقة بالنص أدرك للوهلة الأولى أن الخريطة الحرارية تنطق بالمعقول. فأسماء الأعلام، مثلًا، ترتبط ارتباطًا وثيقًا باللاتينية، إذ جرت العادة، لا سيما عند إنسانيّي القرن السادس عشر، على تلتينها.&lt;/p&gt;
&lt;p&gt;وقد يقول قائل إن هذه الخريطة لا تزيد على تقرير البديهيات. وليس مثل هذا القائل مخطئًا كل الخطأ؛ فالوسوم الطبية تبدو للوهلة الأولى شاهدًا على قوله، إذ ترتبط كما هو متوقع بأعضاء الجسم والمقاييس والنباتات.&lt;/p&gt;
&lt;p&gt;لكن من قرأ الخريطة بإمعان، سطرًا سطرًا، وقع على ارتباطات طريفة لم تكن في الحسبان. فارتباط الوسوم الطبية بالألفاظ الإيطالية واللاتينية، مثلًا، يلقي ضوءًا على منشأ الوصفات الطبية في المخطوطة Ms. Fr. 640. وكذلك يكشف الارتباط بين المهن والتعريفات والمقاييس عن مبلغ ما تشكّل به الهوية المهنية الخطاب التقني في القرن السادس عشر.&lt;/p&gt;
&lt;h3 id="خريطة-التجميع-العنقودي-للارتباط"&gt;خريطة التجميع العنقودي للارتباط&lt;/h3&gt;
&lt;p&gt;الخرائط الحرارية نافعة في مقام «الاستكشاف»، لكنها قد تبدو لجمهوركم مشوّشة بعض الشيء، ولا سيما إن كنتم تناقشون — أو ما زلتم تبحثون عن — عناقيد دلالية بعينها في المخطوطة. وهنا قد تأتي وحدة &lt;code&gt;clustermap&lt;/code&gt; في Seaborn بنتائج مثيرة.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;clustermap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;sns&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;clustermap&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;cortag&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;figsize&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;13&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;dendrogram_ratio&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;.1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;.2&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;vmin&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cmap&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Oranges&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;cbar_pos&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mf"&gt;.06&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;.12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;.03&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;.68&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="خريطة التجميع العنقودي للارتباط في المخطوطة BnF Ms. Fr. 640"
srcset="https://clementgodbarge.com/post/visualization/clustermap_hu_677e6e5028f9d902.webp 320w, https://clementgodbarge.com/post/visualization/clustermap_hu_2dac945fa40a8ac6.webp 480w, https://clementgodbarge.com/post/visualization/clustermap_hu_3abaf7b36a53572.webp 753w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://clementgodbarge.com/post/visualization/clustermap_hu_677e6e5028f9d902.webp"
width="753"
height="760"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;فضلًا عن شبهها بحشرة «مُبكسَلة» (نعم، الكلمة مثبتة في قاموس أكسفورد)، تفصل خريطة التجميع العنقودي فصلًا بيّنًا بين الوسوم المعزولة (في الأعلى وعلى اليسار) والوسوم الأوثق ترابطًا. ونميّز فيها كذلك عناقيد منعزلة، كالموسيقى واللهجة البواتفينية (من كان يظن!)، من عناقيد أدنى إلى المركز كالمقاييس والمواد والتعريفات والأسلحة. أما المهن فأشد ترابطًا، لكنها لا تنتمي، في مصفوفة الارتباط هذه على الأقل، إلى عنقود بعينه.&lt;/p&gt;
&lt;h3 id="شبكة-الارتباط"&gt;شبكة الارتباط&lt;/h3&gt;
&lt;p&gt;وإن أردنا اختزال ما في مصفوفتنا من ارتباطات اختزالًا أبلغ، فالرسوم الشبكية حل أنيق، ولا سيما حين يكون المقصود أن نعرّف الناس بمحتويات المخطوطة.&lt;br&gt;
ولذلك لا بد أن نحوّل مصفوفتنا إلى قائمة من الحواف والعقد، وأن نضع عتبة تُقصي الارتباطات الأضعف عن الرسم.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# transform the data&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;links&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;cortag&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;stack&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;reset_index&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;columns&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;var1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;var2&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;value&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# threshold &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;links_filtered&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;loc&lt;/span&gt;&lt;span class="p"&gt;[(&lt;/span&gt;&lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;value&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mf"&gt;.6&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;var1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;var2&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;])]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;links_filtered&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# create edges&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;G&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;from_pandas_edgelist&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;links_filtered&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;var1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;var2&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# draw network using Kamada &amp;amp; Kawai&amp;#39;s algorithm &lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;plt&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;figure&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;figsize&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;draw_kamada_kawai&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;G&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;with_labels&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;node_color&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;red&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;node_size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;edge_color&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;black&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;linewidths&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;font_size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="رسم الارتباط الشبكي للمخطوطة BnF Ms. Fr. 640"
srcset="https://clementgodbarge.com/post/visualization/graph_hu_396032c00cb7f7f3.webp 320w, https://clementgodbarge.com/post/visualization/graph_hu_85295e5fba6293bc.webp 480w, https://clementgodbarge.com/post/visualization/graph_hu_4190dbca7e86ffc1.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://clementgodbarge.com/post/visualization/graph_hu_396032c00cb7f7f3.webp"
width="760"
height="760"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;فإن كثرت الحواف والعقد فوق الحد، فبوسعكم تعديل العتبة لتحصلوا على نتيجة أنقى. وإلا فصدّروا الرسم لتعبثوا به في &lt;code&gt;Gephi&lt;/code&gt; بالدالة &lt;code&gt;.write_gexf()&lt;/code&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;nx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write_gexf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;G&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;graph.gexf&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;وترون الحصيلة في مستهل هذه التدوينة.&lt;/p&gt;
&lt;h3 id="تحديث-شبكة-موزونة-دائرية"&gt;تحديث: شبكة موزونة دائرية&lt;/h3&gt;
&lt;p&gt;كنت أبحث عن سبل لعرض مصفوفات الارتباط شبكاتٍ موزونة، فوقعت على هذه المقاربة الطريفة التي
، وأطوّعها هنا لمجموعة بياناتنا.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# create graph weighted by correlation coefficients (unfiltered)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Gx&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;nx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;from_pandas_edgelist&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;links&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;var1&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;var2&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;edge_attr&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;value&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# determine a threshold to remove some edges&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;threshold&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;0.4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# list to store edges to remove&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;remove&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# loop through edges in Gx and find correlations which are below the threshold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;var1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;var2&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;Gx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;edges&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;corr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Gx&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;var1&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="n"&gt;var2&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;value&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="c1"&gt;#add to remove node list if abs(corr) &amp;lt; threshold&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;corr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;threshold&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;remove&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="n"&gt;var1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;var2&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# remove edges contained in the remove list&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Gx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;remove_edges_from&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;remove&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39; edges removed&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;وبعد أن نحذف بضع حواف، نحدد لون الباقي منها وسمكه.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# determine the colors of edges&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;assign_colour&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;correlation&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;correlation&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mf"&gt;0.8&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;#ff872c&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# orange&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;#f11d28&amp;#39;&lt;/span&gt; &lt;span class="c1"&gt;# red&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;assign_thickness&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;correlation&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;benchmark_thickness&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;scaling_factor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;benchmark_thickness&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nb"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;correlation&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;**&lt;/span&gt;&lt;span class="n"&gt;scaling_factor&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;assign_node_size&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;degree&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;scaling_factor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;degree&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;scaling_factor&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ونمنح العقد كذلك حجمًا يتناسب مع عدد صلاتها.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# assign node size depending on number of connections (degree)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;node_size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;dict&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;Gx&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;degree&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;items&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;node_size&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;assign_node_size&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;والحصيلة رسم موزون يتسع لعقد أكثر وحواف أكثر بكثير، ويظل مع ذلك مقروءًا غنيًّا بالدلالة.&lt;/p&gt;
&lt;p&gt;
&lt;figure &gt;
&lt;div class="flex justify-center "&gt;
&lt;div class="w-full" &gt;
&lt;img alt="رسم الارتباط الشبكي الموزون للمخطوطة BnF Ms. Fr. 640"
srcset="https://clementgodbarge.com/post/visualization/weightedgraph_hu_7b75f2e5fc7edb1b.webp 320w, https://clementgodbarge.com/post/visualization/weightedgraph_hu_9f0550eb49c17f11.webp 480w, https://clementgodbarge.com/post/visualization/weightedgraph_hu_a9106989817361fb.webp 760w"
sizes="(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px"
src="https://clementgodbarge.com/post/visualization/weightedgraph_hu_7b75f2e5fc7edb1b.webp"
width="760"
height="760"
loading="lazy" data-zoomable /&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;</description></item></channel></rss>