वीके उपयोगकर्ता की उम्र का पता लगाएं या सामाजिक ग्राफ क्या बता सकता है

"मुझे बताओ कि आपका दोस्त कौन है और मैं आपको बताऊंगा कि आप कौन हैं।"
यूरिपिड्स 480-406 ई.पू. ई।

लंबे समय तक मैंने एपीआई वीके को एक वॉशिंग मशीन में एक बिल्ली की तरह देखा - मुझे सबसे बड़े सामाजिक नेटवर्क में से एक में कुछ प्रकार के अनुसंधान करने के अवसर से सम्मोहित किया गया, जिसने हमारे जीवन के कई क्षेत्रों में प्रवेश किया। और एक बार एक सवाल पैदा हो गया, क्या किसी सामाजिक नेटवर्क के उपयोगकर्ता के सामाजिक सर्कल द्वारा उसकी उम्र निर्धारित करना संभव है?




जो लोग छिपी हुई उम्र जानना चाहते थे, उनके लिए पहले एक छोटी सी हैक थी। आपको बस लोगों द्वारा खोज का उपयोग करने की आवश्यकता है, संकीर्ण पैरामीटर निर्दिष्ट करें ताकि वांछित प्रोफ़ाइल SERP में गिर जाए, और फिर आयु सीमा निर्धारित करने के लिए द्विआधारी खोज का उपयोग करें। या यह पता चला है कि संपर्क जानकारी अचानक स्नातक होने के वर्ष को इंगित करती है। और आपको कोई स्क्रिप्ट लिखने की जरूरत नहीं है। लेकिन छिपी हुई उम्र और अप्रत्यक्ष जानकारी विकृत हो सकती है, और सबसे महत्वपूर्ण बात यह है कि लेख अभी भी नहीं है कि कैसे अधिक व्यक्तिगत जानकारी प्राप्त की जाए। लेख में सामाजिक ग्राफ के पहलुओं में से एक का विश्लेषण करने का प्रस्ताव है।

प्रोफ़ाइल कनेक्शन पर विचार करते समय पहली चीजों में से एक: चलो देखते हैं कि सहपाठियों और सहपाठियों की आयु देखते हैं, विशाल बहुमत में इस उपयोगकर्ता की आयु + 1 वर्ष होगी। इसके लिए, सार्वभौमिक माध्यमिक शिक्षा के लिए धन्यवाद। केवल एक चेतावनी है: सहपाठियों की पहचान करें। जितना ज्यादा समय ग्रेजुएशन से गुजरता है, उतने ही हम ज्यादा से ज्यादा हलके हलकों में घूमने लगते हैं। स्कूल के दोस्त पिछले जीवन में प्रतीत होते हैं, और अब वे बड़ी संख्या में नए दोस्तों के बीच लगभग अभेद्य हैं। क्या परिपक्व उम्र के लोगों के प्रोफाइल को किसी भी तरह से समझना संभव है कि उन्होंने किस स्ट्रीम का अध्ययन किया और इसलिए, अनुमानित उम्र?

तो, आइए सहपाठियों और सहपाठियों के सबसेट को निर्धारित करने के रूप में एक उपयोगकर्ता की आयु निर्धारित करने के कार्य को देखें। यही है, हमने इस धारणा के लिए लिया कि उसके दोस्तों में एक निश्चित संख्या में सहपाठी हैं, जिनकी उम्र लगभग प्रोफ़ाइल की उम्र से मेल खाती है। बेशक अपवाद हैं, लेकिन वे दुर्लभ हैं। एक व्यक्ति 10 साल के लिए घंटी से घंटी तक स्कूल जाता है, इस अवधि के दौरान कई क्रॉस-सोशल संपर्क स्थापित किए गए हैं। संक्षेप में, हर कोई एक-दूसरे को जानता है, जबकि इस सामाजिक उलझन में फैली उम्र न्यूनतम है। भविष्य में, जब कोई व्यक्ति अन्य समूहों में शामिल होता है, एक नियम के रूप में, उनमें फैली उम्र महत्वपूर्ण होती है, चाहे वह काम हो, खेल गतिविधि हो या कोई रुचि क्लब। इस अंतर के आधार पर, हम आवश्यक सामाजिक समूहों की पहचान करने की कोशिश करेंगे।

आइए बहुत सारे दोस्तों के साथ वीके प्रोफाइल में से एक पर एक नज़र डालें। हमें मित्रों की सूची का उपयोग करके मित्र की सूची मिल जाएगी। हम केवल निर्दिष्ट उम्र के साथ प्रोफाइल पर विचार करेंगे और उन्हें समय-समय पर हिस्टोग्राम के रूप में वर्ष तक जगह देंगे। बहुत सारे दोस्तों को वार्षिक अंतराल में कैसे तोड़ना है, इसके साथ थोड़ी बारीकियां हैं। आखिरकार, हम यह सुनिश्चित करना चाहते हैं कि सहपाठी एक अंतराल में प्रवेश करें, और दो पड़ोसी लोगों में न फैले। यह प्रायोगिक तौर पर पाया गया कि गिरावट में वर्ष को तोड़ना सबसे अच्छा है, और इसलिए कि पीले मौसम में जन्म की तारीख वाले उपयोगकर्ता तुरंत दो आसन्न अंतराल में प्रवेश करते हैं। अर्थात्, सितंबर से नवंबर तक के 15 महीने के अंतराल को 12 महीने की वेतन वृद्धि में प्राप्त किया जाता है।

oX उपयोगकर्ताओं की आयु है, oY उन उपयोगकर्ताओं की संख्या है जो किसी दिए गए अंतराल के भीतर आते हैं।

हम दोस्तों की अधिकतम वार्षिक संख्या के साथ पांच साल के पठार का निरीक्षण करते हैं। इस 5 साल की अवधि के बीच साथियों का समूह ढूंढना बिल्कुल भी स्पष्ट नहीं है। सच में, ऐसी तस्वीर ठेठ नहीं है। अधिक बार, सहपाठियों / सहपाठियों के जन्म का वर्ष दोस्तों की एक बड़ी संख्या से बाहर खड़ा होता है। लेकिन चलो प्रत्येक उपयोगकर्ता के लिए एक मुश्किल मामले में मूल उपयोगकर्ता के अन्य दोस्तों के साथ कनेक्शन की संख्या के लिए वार्षिक समूह के भीतर मित्रता का अनुपात पाते हैं, जिनके लिए हम उम्र का निर्धारण करते हैं; फिर हम प्रत्येक वर्ष के लिए इस सूचक को औसत करते हैं। इसे हम कनेक्टिविटी का सामान्यीकृत गुणांक कहते हैं।

oX उपयोगकर्ताओं की आयु है, oY किसी दिए गए अंतराल के लिए कनेक्टिविटी का सामान्यीकृत गुणांक है।

तस्वीर बदल गई है, और नेताओं का एक साल है। एक समान उम्र के साथ एक टीम में एक बड़ी हिस्सेदारी है, इसलिए हमें यह उम्मीद करने का अधिकार है कि चूंकि उपयोगकर्ता इसका हिस्सा है, तो उसकी एक समान आयु है। लेकिन क्या होगा अगर इस सामूहिक में एक व्यक्ति कुछ विशेष भूमिका निभाता है, उदाहरण के लिए, एक सहपाठी नहीं, बल्कि एक शिक्षक? दरअसल, शिक्षकों / प्रशिक्षकों के मामले में, संकीर्ण उम्र के अंतराल में कनेक्शन के उच्च घनत्व के साथ उपसमूह हो सकते हैं। भाग में, इस मामले को तब संभाला जा सकता है, जब कोई समूह चुनते हैं, उच्चतम कनेक्टिविटी के साथ नहीं, बल्कि पर्याप्त रूप से बड़ी कनेक्टिविटी वाले समूहों के बीच उच्चतम आयु के साथ। दूसरे शब्दों में, तर्क का उपयोग करें कि उनके जीवन पथ पर एक व्यक्ति को पहले एक साधारण छात्र होना चाहिए, और उसके बाद ही "एक समान उम्र वाली टीमों" में एक विशिष्ट भूमिका निभाएं।

एक अधिक विस्तृत विवरण और कुछ सूत्र
ग्राफ घटना पर संख्यात्मक रूप से व्यक्त एक्सप्रेस। बता दें कि F0 उस उपयोगकर्ता के दोस्तों के सेट को निरूपित करता है जिसके लिए आयु की गणना की जाती है। Fi - किसी भी प्रोफ़ाइल के कई दोस्त। Fi, y, वार्षिक अंतराल y में जन्म तिथि निर्दिष्ट करने वाले प्रोफ़ाइल मित्रों का समूह है। तब i, y अंतराल में प्रोफ़ाइल i का कनेक्शन है:

C_ {i, y} = \ frac {| F_0 \ cap F_ {i, y} |}} | {| F_0 \ cap F_i |}

C_ {i, y} = \ frac {| F_0 \ cap F_ {i, y} |}} | {| F_0 \ cap F_i |}


y सभी प्रोफाइल के लिए अंतराल y में कनेक्टिविटी का गैर-सामान्यीकृत गुणांक है:

Cy= sumF0,yiCi,y


और अंत में, जन्म का वांछित वर्ष:

\ DeclareMathOperator * {\ _ argmax} {argmax} वर्ष \ _of \ _birth = \ argmax_y (\ frac {C_y} {| F_ {0, y}}}: C_y \ geq 0.7 \ max_ {y} in Y} () | C_y)

\ DeclareMathOperator * {\ _ argmax} {argmax} वर्ष \ _of \ _birth = \ argmax_y (\ frac {C_y} {| F_ {0, y}}}: C_y \ geq 0.7 \ max_ {y} in Y} () | C_y)



इस बात पर विचार करने के लिए एक विचार था कि यह किस प्रकार या उस संबंध से संबंधित है। यदि कनेक्शन का प्रकार स्कूल या विश्वविद्यालय के दोस्त हैं, तो उन्हें बढ़े हुए वजन के साथ विचार करें। और अगर सहकर्मी के प्रकार, रिश्तेदारों और बाकी सब कुछ, तो ऐसे रिश्तों को सामान्य रूप से ध्यान में न रखें। हालांकि, यदि आप ऐसी सूचनाओं को डाउनलोड करने वाले अनुरोधों का उपयोग करते हैं, तो प्रतीक्षा समय 5 के कारक से बढ़ जाएगा। इसके अलावा, कनेक्शन के प्रकार को निर्दिष्ट करना एक लोकप्रिय अभ्यास नहीं है, इसलिए केवल कुछ दोस्तों के साथ प्रोफाइल के लिए ऐसी जानकारी का अनुरोध करने का निर्णय लिया गया था।

उपरोक्त एल्गोरिथ्म से, उम्र का निर्धारण करने के लिए दृष्टिकोण की प्रयोज्यता की प्राकृतिक सीमा। यदि उपयोगकर्ता अपने स्कूल के वर्षों के लिए उदासीनता से ग्रस्त नहीं है, और उसके सहपाठियों / सहपाठियों के दोस्त नहीं हैं, तो हमें दूसरी विधि का उपयोग करना चाहिए।

व्यापार में इस गड़बड़ की कोशिश के बारे में कैसे? वीके समूह "फॉर्च्यून टेलर ऑफ़ द एज" में एक कॉमिक सेवा लागू की गई थी। यदि आप उपरोक्त एल्गोरिथ्म का उपयोग करते हुए एक वीके प्रोफाइल पर एक लिंक छोड़ते हैं, तो एक अनुकूल बॉट उम्र खो देगा।

सेवा कैसे व्यवस्थित है
Fortuneteller के काम में पहली कड़ी VK समूह का संदेश तंत्र है। समूह सेटिंग्स में, कॉलबैक एपीआई अपने स्वयं के सर्वर से जुड़ा होता है। भेजे गए ईवेंट प्रकारों के रूप में, "आने वाले संदेश" का चयन करें। इस तरह, समूह संदेश हमारे सर्वर पर एक अनुरोध में बदल जाता है। अगर आप मेरी तरह फ्रंटएंड के दोस्त नहीं हैं, तो यह एक सुपर विकल्प है। फिर, सर्वर से, वीके एपीआई को उपयोगकर्ताओं के साथ पूछा जाता है। प्रश्न में प्रोफाइल के लिए अनुरोध और दोस्तों के लिए। जन्म की तारीख के साथ प्रोफ़ाइल के दोस्तों के लिए। उनके कार्यान्वयन के लिए टोकन वीके अनुप्रयोगों तक पहुंच की आवश्यकता होती है। मैंने उन अनुरोधों का उपयोग नहीं किया है जिनके लिए उपयोगकर्ता अधिकारों की पुष्टि की आवश्यकता होती है, ताकि पहुंच अनुमति के लिए अनुरोध वाले लोगों को लोड न करें। अनुमानित आयु की गणना किए जाने के बाद, समूह से अनुरोध की प्रतिक्रिया बनती है, और भाग्य-टेलर उपयोगकर्ता संवादों में उत्तर देखता है। सस्ता और खुशमिजाज।

एल्गोरिथ्म को बेहतर बनाने के लिए, कुछ भी आगे जाने से रोकता है, एक निर्दिष्ट उम्र के साथ प्रोफाइल से प्रशिक्षण डेटासेट इकट्ठा करना और प्रोफाइल दोस्तों के बीच आयु ग्राफ के एक आसन्न मैट्रिक्स के आधार पर एक प्रतिगमन मॉडल का प्रशिक्षण। मुझे यकीन है कि पर्याप्त रूप से बड़े नमूने के साथ, परिणाम अनुमानों की तुलना में अधिक सटीक होंगे। जैसा कि मैंने ऊपर उल्लेख किया है, मैं मौलिक विचार की जांच करने के लिए उत्सुक था, इसलिए मैं इस दिशा को विकसित करने की योजना नहीं बना रहा हूं।

अंत में, मैं नैतिकता के पहलू को छूना चाहूंगा। मेरी राय में, "फॉर्च्यून टेलर ऑफ़ द एज" निजी जीवन की सीमा पर है, लेकिन अभी भी इसे पार नहीं करता है, क्योंकि यह विश्लेषण के लिए खुले डेटा का उपयोग करता है। दरअसल, इसलिए, छिपे हुए प्रोफ़ाइल वाले उपयोगकर्ताओं के लिए, सेवा काम नहीं करेगी।

एक भावना है कि सभी प्रकार के "आयु के Fortunetellers", खोज इंजन की तरह, SearchFace सामाजिक रूप से पारदर्शी दुनिया का पहला संकेत हैं। कुछ हद तक, इसे मूल बातों की वापसी कहा जा सकता है। लंबे समय तक मनुष्य छोटे समाजों में विद्यमान था, जहाँ हर कोई एक दूसरे की दृष्टि में था। एक खुली प्रतिष्ठा सामाजिक विनियमन के तंत्र का एक अभिन्न अंग थी। हां, नए उपकरण धीरे-धीरे किसी व्यक्ति की सामाजिक बातचीत को फिर से संभव बना सकते हैं, केवल एक वैश्विक स्तर पर। हां, किसी भी उपकरण की तरह, इसका उपयोग प्रतिबंध के लिए किया जा सकता है। क्या मुझे उन्हें सभी के लिए सुलभ बनाने की आवश्यकता है? मुझे नहीं पता लेकिन मुझे यकीन है कि अगर इस तरह के उपकरण केवल लोगों के एक सीमित दायरे में उपलब्ध हैं, तो रचनात्मक उपयोग की ओर संतुलन निश्चित रूप से शिफ्ट नहीं होगा।

Source: https://habr.com/ru/post/hi447992/


All Articles