title: शब्द आवृत्ति विश्लेषक description: पाठ के एक ब्लॉक को पढ़ें और सबसे सामान्य शब्दों की रिपोर्ट करें।
शब्द आवृत्ति विश्लेषक
मीरा नमस्ते। मुझे मिशन लॉग से अंतर्दृष्टि निकालने का काम दिया गया है और उनमें सैकड़ों हैं। मुझे कुछ ऐसा चाहिए जो एक टेक्स्ट फ़ाइल लेता है, प्रत्येक शब्द कितनी बार दिखाई देता है इसे गिनता है, और मुझे शीर्ष परिणाम दिखाता है। मुझे यह जानना चाहता हूँ कि कौन से विषय बार-बार आते हैं बिना सब कुछ मैन्युअल रूप से पढ़े।
आप क्या बना रहे हैं
पाठ दर्ज करें, या पढ़ने के लिए फ़ाइल का नाम: sample.txt
शीर्ष 10 शब्द:
the 42
and 31
python 18
is 16
you 14
...आपको क्या चाहिए
- Strings - पाठ को शब्दों में विभाजित करना, विराम चिह्न हटाना, लोअरकेस करना
- Dictionaries - गिनना कि प्रत्येक शब्द कितनी बार दिखाई देता है
- Lists - शीर्ष परिणामों को सॉर्ट करना और स्लाइस करना
- Files and exceptions - टेक्स्ट फ़ाइल से पढ़ना
- Lambda, comprehensions, and zip - list comprehensions और
sorted()एक key के साथ यहाँ अच्छी तरह काम करते हैं
संकेत
गिनने से पहले सामान्यीकृत करें। गिनती बनाने से पहले सब कुछ लोअरकेस करें और विराम चिह्न हटाएं। अन्यथा "Python" और "python" और "Python," सभी अलग-अलग शब्द गिने जाते हैं।
एक dictionary गिनती करती है। शब्दों के माध्यम से लूप करें। यदि शब्द पहले से एक key है, तो इसकी गिनती बढ़ाएं। यदि नहीं है, तो इसे 1 की गिनती के साथ जोड़ें। .get() एक डिफ़ॉल्ट मान के साथ इसे साफ बनाता है।
एक dictionary को मान द्वारा सॉर्ट करना। sorted() एक key= तर्क स्वीकार करता है। आवृत्ति द्वारा सॉर्ट करने के लिए प्रत्येक key के लिए मान लौटाने वाली एक lambda पास करें।
आगे बढ़ना
एक बार मूल विश्लेषण काम करने लगे:
- Stop words। "the", "and", "is" जैसे सामान्य शब्दों को अनदेखा करें। stop words का एक समुच्चय परिभाषित करें और किसी भी शब्द को छोड़ दें जो इसमें दिखाई दे।
- कॉन्फ़िगर करने योग्य top N। उपयोगकर्ता को यह निर्दिष्ट करने दें कि हमेशा 10 दिखाने के बजाय कितने परिणाम दिखाएं।
- Visual output। प्रत्येक शब्द को दोहराए गए वर्णों की एक पट्टी के साथ प्रिंट करें जो इसकी गिनती के अनुपातिक हो। एक साधारण संस्करण भी output को बहुत अधिक पठनीय बनाता है।

