<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>टिप्पणियाँ |</title><link>https://clementgodbarge.com/hi/category/%E0%A4%9F%E0%A4%BF%E0%A4%AA%E0%A4%AA%E0%A4%A3%E0%A4%BF%E0%A4%AF%E0%A4%BE/</link><atom:link href="https://clementgodbarge.com/hi/category/%E0%A4%9F%E0%A4%BF%E0%A4%AA%E0%A4%AA%E0%A4%A3%E0%A4%BF%E0%A4%AF%E0%A4%BE/index.xml" rel="self" type="application/rss+xml"/><description>टिप्पणियाँ</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>hi-in</language><lastBuildDate>Sun, 06 Sep 2026 00:00:00 +0000</lastBuildDate><image><url>https://clementgodbarge.com/media/icon_hu_64a6c3bec25b3d7b.png</url><title>टिप्पणियाँ</title><link>https://clementgodbarge.com/hi/category/%E0%A4%9F%E0%A4%BF%E0%A4%AA%E0%A4%AA%E0%A4%A3%E0%A4%BF%E0%A4%AF%E0%A4%BE/</link></image><item><title>बाड़ असली सवाल है, आग नहीं</title><link>https://clementgodbarge.com/hi/post/fence-not-fire/</link><pubDate>Sun, 06 Sep 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/hi/post/fence-not-fire/</guid><description>&lt;p&gt;नॉर्थ लास वेगास के एक गोदाम में Amazon एक ऐसी मशीन चलाता है, जो पुरानी किताबों की रीढ़ काट देती है। खुले पन्ने स्कैनर से गुज़रते हैं, और फिर काग़ज़ लुगदी बनने चला जाता है। एआई को खिलाने के लिए किताबें नष्ट करना: इस कहानी में सांस्कृतिक कांड बनने का हर मसाला मौजूद था।
ने इसे आधुनिक ज़माने की किताबों की होली बताया और रास्ते में कोई घिसा-पिटा मुहावरा नहीं छोड़ा: सावोनारोला का हवाला, देखने में दुर्लभ लगती किताबों की स्टॉक तस्वीरें और, ज़ाहिर है, बर्लिन की चिता। जैसी उम्मीद थी, गंभीर अख़बार ठंडे रहे, लेकिन वही तुलना हवा में लटकी छोड़ गए। पर अपने सारे आक्रोश के बावजूद इन लेखों ने एआई उद्योग को हैरतअंगेज़ ढंग से बख़्श दिया। काग़ज़ का अंजाम मंच के बीचोबीच है; इससे बनने वाले डिजिटल पुस्तकालयों का मालिकाना तस्वीर में मुश्किल से आता है। जो ज्ञान स्कैन हो रहा है, उस पर नियंत्रण किसका होगा? इस सवाल को इंतज़ार करना होगा, जब तक हम किताब-दहन की इस बकवास से निपट न लें।&lt;/p&gt;
&lt;h2 id="सकनर-कई-चत-नह"&gt;स्कैनर कोई चिता नहीं&lt;/h2&gt;
&lt;p&gt;सावोनारोला की चिताओं या नाज़ी किताब-दहन से यह तुलना बेतुकी है: एक प्रति नष्ट करना किसी पाठ को दबाना नहीं है। वे चिताएँ सार्वजनिक परित्याग की कार्रवाइयाँ थीं। वह बेचारा भिक्षु सावोनारोला, जिसका नाम किताब जलाने के हर विवाद में घसीटा जाता है, लोगों से कह रहा था कि वे सार्वजनिक प्रायश्चित के रूप में अपनी कुछ संपत्ति की आहुति दें। नाज़ी चिताओं ने एक अलग तरह का परित्याग मंचित किया: किताबें सरेआम जलाकर यह घोषणा की गई कि उनके लेखकों के लिए जर्मन सांस्कृतिक जीवन में कोई जगह नहीं। दोनों ही मामलों में, चाहे जितना अप्रिय हो, विनाश एक प्रदर्शन था। विनाशक स्कैनिंग – डिजिटलीकरण की एक प्रचलित विधि – का मक़सद दूसरा है: प्रति की गर्दन इसलिए काटी जाती है कि उसकी अंतर्वस्तु बच जाए। किताब नष्ट होती है; पाठ अभौतिक हो जाता है। जो लोग &lt;em&gt;Fahrenheit 451&lt;/em&gt; की दुहाई दे रहे हैं, उन्हें उसका केंद्रीय सबक याद कर लेना चाहिए: पाठ वह काग़ज़ नहीं है जिस पर वह छपा है।&lt;/p&gt;
&lt;p&gt;Daily Mail से ज़्यादा तीखा पर उतना ही फूहड़,
ने अपने शीर्षक में “दुर्लभ किताबें” डालकर हंगामे में और हवा दी। लेकिन उसी की जाँच-रिपोर्ट में उद्धृत एक पुस्तक-विक्रेता ने बताया कि इन थोक ऑर्डरों में
– जिसका इशारा मोटे तौर पर 1970 के आसपास ISBN की शुरुआत के बाद छपे संस्करणों की ओर है। यह रद्दी बाज़ार और ख़ैराती दुकानों का माल है, जिसे अक्सर घर की एक सफ़ाई ही कूड़े तक पहुँचा देती है। सांस्कृतिक विपदा का ऐलान करने से पहले पुस्तकालय का कैटलॉग देख लेना चाहिए। ये ठीक वही प्रकाशन हैं जिन्हें सहेजने के लिए वैधानिक-निक्षेप वाले पुस्तकालय बने हैं। माना कि 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 में अमेरिका की दो ज़िला अदालतों ने अपने सामने आए मामलों में माना कि भाषा मॉडलों को प्रशिक्षित करने के लिए किताबों का इस्तेमाल उचित उपयोग (fair use) है।
में अदालत ने प्रशिक्षण के रूपांतरकारी चरित्र पर ज़ोर दिया: किताबें एक ऐसा सिस्टम बनाने के लिए इस्तेमाल हुईं जो नई अभिव्यक्ति पैदा कर सके। मॉडल अंश याद रख सकते हैं, लेकिन किसी किताब को प्रशिक्षण में इस्तेमाल करने से पूरा पाठ माँगने पर हाज़िर नहीं हो जाता। और शब्दशः पुनरुत्पादन का न होना हर आपत्ति को निपटा भी नहीं देता।
में न्यायाधीश ने चेताया कि एआई-निर्मित रचनाएँ बाज़ार में बाढ़ ला सकती हैं और ऐसे नुक़सान का सबूत उचित-उपयोग के बचाव को हरा सकता है। पर इन वादियों ने अपनी रचनाओं को हुए ऐसे नुक़सान का कोई ठोस सबूत पेश नहीं किया था। दोनों में से कोई फ़ैसला एआई कंपनियों को खुली छूट नहीं देता, न नैतिक विवाद को सुलझाता है। वे हमसे फ़र्क़ करने की माँग करते हैं – किताबें कैसे हासिल की गईं, प्रतियाँ कैसे रखी गईं, और प्रशिक्षण उनके साथ क्या करता है। इस सब को “चोरी” कह देना इन सवालों को अनुत्तरित छोड़ देता है।&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 पर। उसका लेख
का हिस्सा है – अख़बार-मालिकों और प्रकाशकों का एक अभियान, जो एआई के लिए
चाहता है। दो सुविधाजनक अदला-बदलियाँ सारा काम करती हैं: Big Tech एआई की जगह खड़ा हो जाता है, और अधिकार-धारक “ब्रिटिश रचनात्मकता” की जगह। पाठकों को संस्कृति की रक्षा के लिए बुलाया जाता है, जबकि प्रकाशक उसकी बिक्री की शर्तों पर मोल-भाव कर रहे होते हैं। इस कहानी को साझा करने वाले शोधकर्ता ख़ुद से पूछ सकते हैं कि उनका आक्रोश किसका काम कर रहा है।&lt;/p&gt;
&lt;p&gt;Big Tech और
किराये पर झगड़ रहे हैं, लेकिन बाड़ पर किसी को आपत्ति नहीं। टेक-दिग्गज के हाथों लुटे अकेले लेखक की कहानी उस चीज़ को ढँक देती है, जो महँगे लाइसेंस-सौदे दोनों कॉर्पोरेट खेमों को देते हैं: प्रकाशकों को पैसा मिलता है, और Big Tech को ऐसा बाज़ार, जिसमें उसके छोटे प्रतिद्वंद्वी मुक़ाबले का ख़र्च ही नहीं उठा सकते। पीटर थील ने सिलिकॉन वैली की पसंद को और दो-टूक कहा था:
।&lt;/p&gt;
&lt;p&gt;लाइसेंसिंग का यह नतीजा निकलना ज़रूरी नहीं। किफ़ायती, ग़ैर-अनन्य पहुँच छोटे डेवलपरों की मदद कर सकती है। लेकिन जो व्यवस्था हर नए प्रवेशी को बड़े अधिकार-धारकों से महँगे सौदे करने पर मजबूर करे, वह ख़रीदने की ताक़त को प्रवेश की शर्त बना देती है। सांस्कृतिक उद्योगों को रियायत के रूप में पेश किया गया भुगतान अंततः भावी प्रतिद्वंद्वियों से सुरक्षा ख़रीद लेता है।&lt;/p&gt;
&lt;h2 id="एआई-big-tech-क-जगर-नह"&gt;एआई Big Tech की जागीर नहीं&lt;/h2&gt;
&lt;p&gt;एक और गहरा मसला है। एआई की बहुत-सी आलोचना उसके सबसे बड़े व्यावसायिक आपूर्तिकर्ताओं को ही पूरा क्षेत्र मान लेती है। उत्पाद सुर्ख़ियों पर छाए रहते हैं; उन कंपनियों से बाहर का शोध और विकास नज़र से ओझल हो जाता है। Big Tech इससे ज़्यादा फ़ायदेमंद ग़लतफ़हमी की कामना नहीं कर सकता। पूरे क्षेत्र पर क़ब्ज़े की उसकी महत्वाकांक्षा उसी के ख़िलाफ़ की जाने वाली आलोचना की पूर्वधारणा बन जाती है। एकाधिकार अभी पक्का नहीं हुआ है। उसे तय मान लेना इन कंपनियों पर बहुत बड़ा एहसान है। और यह ध्यान को ओपन सोर्स से भी हटा देता है: उसकी ज़रूरतों से, उसके अस्तित्व की संभावनाओं से, उसके हितों से, विकल्प के रूप में उसकी वैधता से।&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;पुस्तकालय और अभिलेखागार पीढ़ियों से वही सामग्री जुटाते आए हैं, जिसकी इन सिस्टमों को ज़रूरत है। उनके संग्रह इसलिए हैं कि ज्ञान तक पहुँच उसे बेचने के व्यावसायिक हित से ज़्यादा टिकनी चाहिए। बहुत कुछ पहले ही स्कैन हो चुका है:
के पास शोध-पुस्तकालयों से आए क़रीब 1.9 करोड़ डिजिटल खंड हैं, जिनमें से कई अब भी कॉपीराइट में हैं। पुस्तकालय किताब स्कैन करता है और उसे रख लेता है। वहाँ किसी को गिलोटिन नहीं चाहिए। HathiTrust
, लेकिन उसने
की घोषणा भी की है – ग़ैर-व्यावसायिक एआई शोध और विकास के लिए कॉर्पस तक पहुँच देने की परियोजना। इन शर्तों पर पहुँच भी कुछ स्वतंत्र डेवलपरों को बाहर ही छोड़ देगी।&lt;/p&gt;
&lt;p&gt;हालाँकि किताबों का मालिक होना किसी पुस्तकालय को उनकी कॉपीराइट-सुरक्षित अंतर्वस्तु को प्रशिक्षण-कॉर्पस के रूप में बाँटने का हक़ नहीं देता।
शोध-संस्थाओं और पुस्तकालयों को वैज्ञानिक शोध के लिए क़ानूनी रूप से सुलभ रचनाओं की माइनिंग की अनुमति देता है, और जहाँ अधिकार-धारकों ने अपने अधिकार आरक्षित नहीं किए हैं, वहाँ व्यापक माइनिंग की भी।
: उसका माइनिंग-अपवाद ग़ैर-व्यावसायिक शोध तक सीमित है और प्रतियों के हस्तांतरण को सीमित करता है। दोनों में से कोई ढाँचा पुस्तकालयों को यह सामान्य अधिकार नहीं देता कि वे अपनी कॉपीराइट-सुरक्षित सामग्री दूसरों के निर्माण के लिए साझा करें।&lt;/p&gt;
&lt;p&gt;हम इस पर भी दोबारा सोच सकते हैं कि किताबों के कंप्यूटेशनल उपयोग पर अधिकार-धारकों का नियंत्रण कितने समय तक रहना चाहिए। औषधि-पेटेंट एक सौदे की मिसाल हैं: अस्थायी एकाधिकार नवाचार का इनाम देता है, फिर आविष्कार दूसरों के इस्तेमाल के लिए खुल जाता है। उनकी सामान्य बीस-वर्षीय अवधि कॉपीराइट की – लेखक के जीवनकाल और उसके बाद सत्तर साल की – सुरक्षा से कहीं छोटी है। किताबों के कंप्यूटेशनल उपयोग पर ऐसा ही सिद्धांत क्यों न लागू हो? मान लीजिए, पहले प्रकाशन के बीस साल बाद कोई किताब बिना लाइसेंस-शुल्क के टेक्स्ट और डेटा माइनिंग के लिए उपलब्ध हो जाए, जबकि पुनर्प्रकाशन और बिक्री के अधिकार सुरक्षित रहें। लेखक अपनी किताबों से कमाते रह सकते हैं, और शोधकर्ताओं की पीढ़ियों को उनका विश्लेषण करने की इजाज़त के लिए मोल-भाव नहीं करना पड़ेगा।&lt;/p&gt;
&lt;p&gt;मैंने दो साल पहले
में दलील दी थी कि विरासत-डेटा को सार्वजनिक संपदा माना जाए। सरकारों को पुस्तकालयों और अभिलेखागारों को अपने संग्रहों के डिजिटलीकरण, प्रतिलेखन और दस्तावेज़ीकरण के लिए धन देना चाहिए, और उन्हें यह क़ानूनी अधिकार भी कि वे इससे बने कॉर्पस दूसरों के निर्माण के लिए उपलब्ध कराएँ। Big Tech एक समर्पित उपकर के ज़रिये इस ख़र्च में हाथ बँटा सकता है।&lt;/p&gt;
&lt;p&gt;सार्वजनिक धन के साथ प्रकाशित संग्रह-नीतियाँ और पहुँच के नियम आने चाहिए, जो अकादमिक और व्यावसायिक काम दोनों को समेटें – बिना अनन्य सौदों या दानदाताओं के लिए विशेष पहुँच के। प्रशिक्षण के लिए पहुँच का मतलब कॉपीराइट-सुरक्षित किताबों का बेरोक पुनर्वितरण होना ज़रूरी नहीं। लेखकों को सार्वजनिक योजना के डिज़ाइन में शामिल होना चाहिए – इसमें भी कि वह सहमति, पारिश्रमिक और उनकी रचनाओं से प्रतिस्पर्धा के सवालों को कैसे सँभाले। उपयोगकर्ताओं के लिए मुफ़्त पहुँच का यह मतलब नहीं कि लेखकों को सार्वजनिक धन से पारिश्रमिक न मिल सके। ब्रिटेन की
योजना – जो किताबें उधार लिए जाने पर लेखकों को सार्वजनिक कोष से भुगतान करती है – एक मिसाल है। आग कभी असली कहानी थी ही नहीं। बाड़ है।&lt;/p&gt;</description></item><item><title>प्रिय संपादको: मेरी आवाज़ चाहिए तो मेरी भाषा लौटा दीजिए</title><link>https://clementgodbarge.com/hi/post/dear-editors/</link><pubDate>Thu, 27 Aug 2026 00:00:00 +0000</pubDate><guid>https://clementgodbarge.com/hi/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;तो ज़िम्मेदार उपयोग दिखता कैसा है? लेखकों से कहा गया है: “बहुत सावधानी बरतनी चाहिए … अपनी आवाज़ बचाए रखने की”। दुरुपयोग है एआई का सहारा लेकर “ऐसी भाषा में लिखना जिसे लेखक सामान्यतः कभी ख़ुद इस्तेमाल न करते”। मातृभाषी के लिए यह बात समझ में आती है: जो आप नहीं हैं, वह होने का ढोंग मत कीजिए। लेकिन उन विदेशियों के लिए, जिन्हें पराई भाषा में लिखना ही पड़ता है, यह आदेश ख़ुद को ही काटता है। नीति जिस आवाज़ की हिफ़ाज़त करती है, वही एकमात्र चीज़ है जो पत्रिका के अपने नियम हमसे छीन लेते हैं।&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 में स्टैनफ़ोर्ड की एक टीम ने इंसानों के लिखे निबंधों पर सात प्रचलित एआई-डिटेक्टर आज़माए: डिटेक्टरों ने ग़ैर-मातृभाषियों के TOEFL निबंधों में से औसतन 61% को मशीन-निर्मित ठहराया, जबकि मातृभाषियों के निबंधों को लगभग पूरी सटीकता से पहचाना; एक डिटेक्टर ने तो TOEFL सेट के 97.8% पर झंडी लगा दी (
)। वजह शिक्षाप्रद है। डिटेक्टर पूर्वानुमेयता नापते हैं, और दूसरी भाषा के रूप में सीखी गई अंग्रेज़ी – जिसे औसत की ओर ढाला गया है – बनावट से ही पूर्वानुमेय है: सबसे संभावित शब्द, सबसे संभावित क्रम में। उसी अध्ययन ने यह संकेत असली शोध में भी पाया: ग़ैर-मातृभाषी प्रथम लेखकों के सम्मेलन-पत्रों में भाषाई विविधता कम थी। जो शैलीगत लक्षण “एआई” जैसे पढ़े जाते हैं, वे दक्ष द्वितीय-भाषा अंग्रेज़ी के लक्षण हैं, और इंसान का विवेक-आधारित फ़ैसला उन्हीं लक्षणों को मशीन की तरह पढ़ता है। फंदा दोनों तरफ़ से कस गया: अपनी अंग्रेज़ी लिखूँ तो मशीन जैसा दिखूँ; मशीन इस्तेमाल करूँ तो उनका नियम टूटे।&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;आदर्श रास्ता इंसानी है: शोधकर्ताओं को एक से ज़्यादा भाषाएँ पढ़नी चाहिए। इसके बजाय अंग्रेज़ीभाषी विश्वविद्यालय आधुनिक भाषाओं के विभाग बंद करना पसंद करते हैं। ग़ौर कीजिए कि ये बंदियाँ एंग्लो-अमेरिकी परिघटना हैं: बाक़ी दुनिया के शोधकर्ताओं को एकभाषिकता का ऐशो-आराम कभी मिला ही नहीं। और समय पर भी ग़ौर कीजिए। भाषा-विभाग बंद करना एक दाँव लगाना है – कि अंग्रेज़ी हमेशा के लिए जीत चुकी है और पढ़ने लायक़ कोई चीज़ अब किसी और भाषा में कभी नहीं लिखी जाएगी। यह दाँव ठीक ग़लत वक़्त पर लगाया जा रहा है, और दोहरे ढंग से। पहला, क्योंकि मशीनी अनुवाद पहली बार यह संभव बना रहा है कि किसी साझा भाषा (lingua franca) के बिना ही काम चल जाए; दूसरा, क्योंकि जिस विश्व-व्यवस्था ने अंग्रेज़ी को डिफ़ॉल्ट बनाया, वह पीछे हट रही है: अंग्रेज़ी-जगत अंतर्मुखी हो रहा है, वैश्वीकरण का ज्वार उतर रहा है, मुक्त व्यापार अपने ही घर में विवादित है, और एक बहुध्रुवीय दुनिया आकार ले रही है, जिसमें पढ़ने लायक़ भाषाएँ बढ़ती जाएँगी। विश्वविद्यालय ऐसे शोधकर्ता तैयार कर रहे हैं जो सिर्फ़ अंग्रेज़ी पढ़ते हैं – एक ऐसी दुनिया के लिए, जहाँ अंग्रेज़ी काफ़ी नहीं होगी। इस नुक़सान की विरासत सबसे पहले संपादक-मंडलों को मिलेगी।&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>लेवांते का एक अनुभूत भूगोल</title><link>https://clementgodbarge.com/hi/post/levante/</link><pubDate>Sat, 29 Oct 2022 10:02:52 -0500</pubDate><guid>https://clementgodbarge.com/hi/post/levante/</guid><description>&lt;h1 id="भमक"&gt;भूमिका&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;लेवांते&lt;/em&gt; एक फिसलती हुई जगह है। उसकी परिभाषा आम तौर पर किसी दूसरे इलाक़े के संबंध में – या उसके विरोध में – की जाती है, इसलिए उसका अर्थ शायद ही कभी स्थिर रहा; जिस जगह और जिस समय यह शब्द इस्तेमाल हुआ, उसके हिसाब से यह अलग-अलग भूगोल जगाता रहा। लेकिन अगर इस शब्द की वस्तुनिष्ठ और सटीक परिभाषा गढ़ना कठिन है, तो भी उम्मीद की जा सकती है कि किसी दिए हुए पाठ-कॉर्पस के भीतर मौजूद सहसंबंधों के आधार पर उस क्षेत्र का एक व्यक्तिपरक नक़्शा खींचा जाए। दूसरे शब्दों में, पाठकों के किसी ख़ास समूह के मन में &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;Mediceo del Principato&lt;/em&gt; अभिलेखागार के &lt;em&gt;avvisi&lt;/em&gt; खंड में रखे हज़ारों दस्तावेज़ों की तस्वीरें ली हैं, उनकी प्रतिलिपि की है, सार लिखे हैं और उन्हें वर्गीकृत किया है। हमारा डेटाबेस मूलतः सांख्यिकीय विश्लेषण के लिए नहीं बना था, फिर भी जो मेटाडेटा हमने उपलब्ध कराया है, उसे डाउनलोड करके डेटासेट के रूप में इस्तेमाल किया जा सकता है।&lt;/p&gt;
&lt;h1 id="डटसट"&gt;डेटासेट&lt;/h1&gt;
&lt;p&gt;यहाँ मैंने जो डेटासेट बनाया है, वह 1543 से 1566 तक &lt;em&gt;लेवांते&lt;/em&gt; से आई सारी ख़बरों को समेटता है – यानी अभिलेखागार में दर्ज पहले 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 (comma separated values) डेटासेट के रूप में पढ़ने योग्य बनाना होगा। साथ ही यहाँ दी गई भौगोलिक जानकारी को एक ज़्यादा “मशीन-अनुकूल” रूप में बदलना होगा: 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;इस प्रयोग के लिए – और चूँकि मुझे जल्दी थी – मैंने
के एक API का इस्तेमाल किया। वैसे कई विज़ुअलाइज़ेशन लाइब्रेरियाँ और भौगोलिक सूचना प्रणालियाँ (GIS) इसी तरह का घनत्व-मानचित्र बनाने देती हैं।&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>पांडुलिपियों का विज़ुअलाइज़ेशन 2 (अपडेट)</title><link>https://clementgodbarge.com/hi/post/treemap2/</link><pubDate>Sat, 20 Nov 2021 16:00:00 +0000</pubDate><guid>https://clementgodbarge.com/hi/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;बेहतर अनुभव के लिए वेबपेज की सेटिंग Light मोड में रखें (ऊपर दाईं ओर चंद्रमा के आइकन पर क्लिक करें)।&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/hi/post/treemap/</link><pubDate>Sun, 20 Jun 2021 16:00:00 +0000</pubDate><guid>https://clementgodbarge.com/hi/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;यहीं अभिलेखीय मेटाडेटा हमारे काम आ सकता है। दरअसल ऐसे डेटा से हम इंटरैक्टिव दृश्य-अमूर्तन रच सकते हैं, जो पाठकों को एक वैकल्पिक इंद्रिय-सहारा देते हैं और इस तरह सुविधा और सुगमता दोनों बढ़ाते हैं। अभिलेखागार को आँखों से घूमने लायक़ बनाने के लिए एक ट्रीमैप – या कोई भी आरेख जो श्रेणीबद्ध डेटा को कुशलता से खोलकर दिखाए – काम कर जाता है।&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;आने वाले महीनों में मैं इस विचार पर प्रयोग जारी रखूँगा, दूसरे आरेख और दूसरी श्रेणी-व्यवस्थाएँ आज़माते हुए… इंतज़ार कीजिए!&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;बेहतर अनुभव के लिए वेबपेज की सेटिंग Light मोड में रखें (ऊपर दाईं ओर चंद्रमा के आइकन पर क्लिक करें)।&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/hi/post/dashboard/</link><pubDate>Mon, 24 May 2021 16:00:00 +0000</pubDate><guid>https://clementgodbarge.com/hi/post/dashboard/</guid><description>&lt;h1 id="समसय"&gt;समस्या&lt;/h1&gt;
&lt;p&gt;ऐतिहासिक अभिलेखागार डरावनी हद तक अस्त-व्यस्त हो सकते हैं।
का &lt;em&gt;Mediceo del Principato&lt;/em&gt; इसकी सटीक मिसाल है। उसका बस एक छोटा-सा हिस्सा सूचीबद्ध है, और उसके बहुत-से दस्तावेज़ बिना किसी ज़ाहिर वजह के 6,500 से ज़्यादा जिल्दों में बिखरे पड़े हैं। मुश्किल यहीं ख़त्म नहीं होती: अभिलेखागार एक बार में सीमित संख्या में ही जिल्दें (या &lt;em&gt;filze&lt;/em&gt; – फ़ाइल/बस्ता – जैसा वहाँ कहते हैं) देखने देता है। सामान्य दिनों में यह सीमा प्रतिदिन 4 &lt;em&gt;filze&lt;/em&gt; की है। महामारी के दौर में यह घटकर हर दो हफ़्ते में 4 रह गई है। विस्तृत सूचियों के अभाव में अभिलेखागार का विशाल आकार शोधकर्ताओं को मजबूर करता है कि वे मनचाहे दस्तावेज़ जल्दी ढूँढ़ने की रणनीतियाँ गढ़ें।&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/hi/post/visualization/</link><pubDate>Sun, 20 Dec 2020 18:15:00 +0000</pubDate><guid>https://clementgodbarge.com/hi/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 Project पांडुलिपि की विषय-वस्तु की अद्यतन जानकारी वाली एक स्प्रेडशीट तैयार करता है: &lt;code&gt;entry_metadata.csv&lt;/code&gt;। यह फ़ाइल Making &amp;amp; Knowing के
से ली जा सकती है। वैकल्पिक रूप से, मैथ्यू कुमार के शानदार
– BnF Ms. Fr. 640 का Python संस्करण – की मदद से अपनी ज़रूरत के मुताबिक़ .csv फ़ाइलें बनाई जा सकती हैं, और मार्कअप जोड़ते हुए।&lt;/p&gt;
&lt;h2 id="python-क-तयर"&gt;Python की तैयारी&lt;/h2&gt;
&lt;p&gt;डेटा सँवारने के लिए हम Pandas, हीटमैप के लिए Matplotlib और seaborn, और आख़िर में सहसंबंध-आधारित नेटवर्क बनाने के लिए NetworkX इस्तेमाल करेंगे।&lt;br&gt;
इस तरह के चरों के लिए हम Pearson विधि से बचेंगे और उसकी जगह 𝜙𝐾 विधि अपनाएँगे। इस सहसंबंध विधि और उसकी लाइब्रेरी &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="Correlation Heatmap of 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;हीटमैप “खोजबीन” के संदर्भ में उपयोगी हैं, लेकिन श्रोताओं को थोड़े बिखरे-बिखरे लग सकते हैं – ख़ास तौर पर जब आप पांडुलिपि में ख़ास सिमेंटिक क्लस्टरों की चर्चा कर रहे हों, या अभी उन्हें ढूँढ़ ही रहे हों। Seaborn का &lt;code&gt;clustermap&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;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="Correlation Clustermap of 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;एक पिक्सेलयुक्त (जी हाँ, यह शब्द OED में है) कीड़े जैसा दिखने के अलावा, क्लस्टरमैप अलग-थलग टैगों (ऊपर और बाईं ओर) को उन टैगों से साफ़ अलग करता है जो आपस में ज़्यादा जुड़े हैं। हम अलग-थलग क्लस्टर भी पहचान सकते हैं – जैसे संगीत और प्वातवैं (किसने सोचा होगा!) – और उनके मुक़ाबले ज़्यादा केंद्रीय क्लस्टर, जैसे माप, सामग्री, परिभाषाएँ और हथियार। पेशे ज़्यादा जुड़े हुए हैं, लेकिन कम से कम इस ख़ास सहसंबंध-मैट्रिक्स में वे किसी एक क्लस्टर का हिस्सा नहीं।&lt;/p&gt;
&lt;h3 id="सहसबध-नटवरक"&gt;सहसंबंध नेटवर्क&lt;/h3&gt;
&lt;p&gt;अगर हम अपने मैट्रिक्स के सहसंबंधों को और भी संक्षेप में समेटना चाहें, तो नेटवर्क ग्राफ़ एक सुरुचिपूर्ण समाधान है। यह ख़ास तौर पर उन संदर्भों में सच है, जहाँ हमें पांडुलिपि की विषय-वस्तु के बारे में दूसरों को बताना हो।&lt;br&gt;
इसके लिए हमें अपने मैट्रिक्स को किनारों (edges) और गाँठों (nodes) की सूची में बदलना होगा और कमज़ोर सहसंबंधों को ग्राफ़ से हटाने के लिए एक दहलीज़ (threshold) तय करनी होगी।&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="Correlation graph of 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;.write_gexf()&lt;/code&gt; फ़ंक्शन से ग्राफ़ को निर्यात करके &lt;code&gt;Gephi&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="Weighted correlation graph of 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>