2011-02-22 7 views
12

जेफ Atwood हाल ही में एक CodeReview पोस्ट जहां वह जानना चाहते हैं कि समुदाय अपने 'calculating entropy of a string "कोड स्निपेट को बेहतर बना सकते चाहता था के लिए एक लिंक ट्वीट किया। उन्होंने समझाया, "हम स्टैक ओवरफ़्लो में कम गुणवत्ता वाले हस्ताक्षरकर्ता के रूप में कुछ स्थानों को स्ट्रिंग की एन्ट्रॉपी की गणना कर रहे हैं।"अंग्रेजी पाठ की एक स्ट्रिंग की एन्ट्रॉपी कैसे कम गुणवत्ता का संकेत देती है?

int uniqueCharacterCount = string.Distinct().Count(); 

मुझे समझ नहीं आता कि कैसे:

अपनी विधि का सार है कि अगर आप एक स्ट्रिंग में अद्वितीय वर्णों की संख्या, कि प्रतीक है उत्क्रम माप (PieterG's answer से लिया कोड) गिनती लग रहा था अद्वितीय वर्ण गणना एक स्ट्रिंग के एन्ट्रॉपी को इंगित करती है, और एक स्ट्रिंग की एन्ट्रॉपी कम गुणवत्ता का प्रतीक कैसे है। मैं सोच रहा था कि क्या इस क्षेत्र में अधिक ज्ञान वाला कोई व्यक्ति समझा सकता है कि श्री एटवुड क्या करने की कोशिश कर रहा है।

धन्यवाद!

+0

स्ट्रिंग एन्ट्रॉपी दो तारों के बीच अंतर नहीं है? यह एक मात्रात्मक माप निर्धारित करने की कोशिश की तरह लगता है कि किसी ने अपने शब्दों को कितनी बुरी तरह लिखा है। अधिक गलत वर्तनी, पोस्ट खराब है। – zzzzBov

+7

asdfasdfasdfasdfasdfsdf –

+4

@Hans Passant: abcdefghijklmnopqrstuvwxyz - इस एल्गोरिथ्म के अनुसार, मेरे स्ट्रिंग में एक बहुत उच्च एन्ट्रापी है, फिर भी समान गुणवत्ता की है। – Pandincus

उत्तर

5

स्ट्रिंग 'aaaaaaaaaaaaaaaaaaaaaaaaaaa' बहुत कम एन्ट्रापी है, और नहीं बल्कि अर्थहीन है।

स्ट्रिंग 'ब्ला ब्ला ब्ला ब्ला ब्ला ब्ला ब्ला ब्लाह' थोड़ा अधिक एन्ट्रॉपी है, लेकिन अभी भी मूर्खतापूर्ण है और a part of an attack हो सकता है।

एक पोस्ट या कि है एन्ट्रापी इन तार करने के लिए तुलनीय शायद उचित नहीं है एक टिप्पणी; इसमें कोई सार्थक संदेश, यहां तक ​​कि एक स्पैम लिंक भी शामिल नहीं हो सकता है। इस तरह की एक पोस्ट को सिर्फ एक अतिरिक्त कैप्चा फ़िल्टर किया जा सकता है या वारंट किया जा सकता है।

0

नहीं वास्तव में अपने प्रश्न का उत्तर लेकिन, विकिपीडिया this explanation of Entropy है:

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

अंग्रेजी पाठ काफी कम एन्ट्रापी है। दूसरे शब्दों में, यह काफी अनुमानित है। भले ही हम नहीं जानते कि आगे क्या आने वाला है, हम काफी निश्चित हो सकते हैं कि, उदाहरण के लिए, ज़ेड की तुलना में कई और ई होंगे, या संयोजन 'qu' संयोजन से कहीं अधिक आम होगा किसी भी अन्य संयोजन इसमें 'क्यू' के साथ और संयोजन 'वें' उनमें से किसी भी से अधिक आम होगा। असंपीड़ित, अंग्रेजी पाठ में संदेश के प्रत्येक बाइट (आठ बिट्स) के लिए लगभग एक बिट एन्ट्रॉपी है। Entropy (information theory) पर विकिपीडिया प्रवेश के समय

+0

दरअसल! अगर अंग्रेजी पाठ में उच्च एन्ट्रॉपी वर्तनी जांचकर्ता काम नहीं करेंगे। – Jasen

3

आइए नज़र:

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

और अंग्रेजी की जानकारी के साथ विशेष रूप से:

अंग्रेजी पाठ के एन्ट्रापी दर 1.0 और 1.5 के बीच पत्र बिट्स प्रति, या पत्र के अनुसार 0.6 1.3 करने के लिए बिट्स जितनी कम, शैनन द्वारा अनुमान के आधार के अनुसार है मानव प्रयोगों पर।

दूसरे शब्दों में, यह नहीं बस है कि कम एन्ट्रापी है बुरा है और उच्च एन्ट्रापी अच्छा है, या इसके विपरीत - वहाँ एक इष्टतम एन्ट्रापी रेंज है।

5

भ्रम इस विचार से प्रतीत होता है कि पोस्ट को पोस्ट करने से रोकने के लिए इसका उपयोग किया जाता है - ऐसा नहीं है।

यह कई संभव कम गुणवत्ता वाले पदों को खोजने के लिए इस्तेमाल किया एल्गोरिदम, low quality posts tabपर प्रदर्शित में से एक है (10k प्रतिनिधि की आवश्यकता है) मॉडरेटर उपकरणों की। वास्तविक मनुष्यों को अभी भी इस पद को देखने की जरूरत है।

विचार सभी कम गुणवत्ता वाले पदों नहीं पकड़ने के लिए, ~~~~~~No.~~~~~~ या FUUUUUUUU------ तरह पदों को पकड़ने के लिए है।


के रूप में "कैसे अद्वितीय चरित्र गिनती एन्ट्रापी दर्शाता है?" - यह वास्तव में नहीं है। सबसे ऊपर दिए गए जवाब पूरी तरह से बिंदु को याद करते हैं।

https://codereview.stackexchange.com/questions/868#878 और https://codereview.stackexchange.com/questions/868#926 देखें

+1

वास्तव में मेरे भ्रम को संबोधित करने के लिए धन्यवाद ;-) – Pandincus

2

शैनन Entropy एच (पी) एक प्रायिकता वितरण पी की संपत्ति एक स्ट्रिंग के मामले में एक यादृच्छिक चर एक्स

की, इलाज का एक अल्पविकसित तरीका है यह पात्रों का एक बैग के रूप में है। इस मामले में, आवृत्ति गणना स्ट्रिंग में यादृच्छिक रूप से चुने गए चरित्र की संभाव्यता वितरण पी का अनुमान प्रदान करती है।

यदि हम केवल स्ट्रिंग में अद्वितीय वर्णों की संख्या को गिनना चाहते थे, तो यह उस स्ट्रिंग में दिखाई देने वाले अद्वितीय वर्णों की संख्या के समान वितरण की एन्ट्रॉपी से संबंधित होगा। और अद्वितीय पात्रों की संख्या जितनी अधिक होगी, उतनी ही अधिक एन्ट्रॉपी होगी।

हालांकि, जेफ Atwood (और BlueRaja के) बाद में कोड योगदान, बेहतर उपाय कर रहे हैं के रूप में वे खाते में अन्य संभावित वितरण कि एक स्ट्रिंग ले; अभी भी एक बैग (आवश्यक रूप से अद्वितीय नहीं) के बैग के रूप में सोचा; का प्रतिनिधित्व करता है।

रेक्स एम के जवाब पर बिल्डिंग ... इसे और अधिक समझ बनाने हैं तार जहां 'चरित्र एन्ट्रापी' 1.0 के बाहर गिर गया देखने के लिए - '। कम गुणवत्ता तार' 1.5 रेंज, संभव के रूप में

संबंधित मुद्दे