सबसे पहले अपने आप को शाब्दिक विश्लेषण और कैसे एक स्कैनर जनरेटर विनिर्देश लिखने के साथ परिचित। YACC, Lex, Bison, या मेरे व्यक्तिगत पसंदीदा, JFlex जैसे टूल का उपयोग करने के लिए परिचय पढ़ें। यहां आप परिभाषित करते हैं कि टोकन का गठन क्या होता है। यह वह जगह है जहां आप टोकननाइज़र बनाने के तरीके के बारे में जानेंगे।
अगला आपके पास बीज सूची कहा जाता है। स्टॉप सूची के विपरीत आमतौर पर प्रारंभ सूची या सीमित लेक्सिकॉन के रूप में जाना जाता है। लेक्सिकॉन भी सीखने के लिए एक अच्छी बात होगी। ऐप के भाग को स्टार्ट सूची को मेमोरी में लोड करने की ज़रूरत है ताकि इसे जल्दी से पूछताछ की जा सके। स्टोर करने का सामान्य तरीका एक फ़ाइल प्रति पंक्ति वाला एक फ़ाइल है, फिर इसे मानचित्र की तरह कुछ में, ऐप की शुरुआत में पढ़ें। आप हैशिंग की अवधारणा के बारे में जानना चाहेंगे।
यहां से आप मूल एल्गोरिदम और परिणाम संग्रहित करने के लिए आवश्यक डेटा संरचनाओं के बारे में सोचना चाहते हैं। एक वितरण को आसानी से दो आयामी स्पैस सरणी के रूप में दर्शाया जाता है। एक स्पैर मैट्रिक्स की मूल बातें जानें। यह समझने के लिए आपको 6 महीने के रैखिक बीजगणित की आवश्यकता नहीं है।
क्योंकि आप बड़ी फ़ाइलों के साथ काम कर रहे हैं, मैं एक स्ट्रीम-आधारित दृष्टिकोण की वकालत करता हूं। पूरी फाइल में स्मृति में मत पढ़ो। इसे टोकननाइज़र में एक धारा के रूप में पढ़ें जो टोकन की धारा उत्पन्न करता है।
एल्गोरिदम के अगले भाग में टोकन सूची को उस सूची में बदलने के तरीके के बारे में सोचें जो केवल वही शब्द है जिसमें आप चाहते हैं। यदि आप इसके बारे में सोचते हैं, तो सूची स्मृति में है और बहुत बड़ी हो सकती है, इसलिए शुरुआत में गैर-प्रारंभ-शब्द फ़िल्टर करना बेहतर होता है।तो महत्वपूर्ण बिंदु पर जहां आपको टोकनज़र से नया टोकन मिलता है और इसे टोकन सूची में जोड़ने से पहले, इन-मेमोरी स्टार्ट-शब्द-सूची में एक लुकअप करें, यह देखने के लिए कि शब्द एक प्रारंभ शब्द है या नहीं। यदि ऐसा है, तो इसे आउटपुट टोकन सूची में रखें। अन्यथा इसे अनदेखा करें और पूरी टोकन पर जाएं जब तक कि पूरी फ़ाइल पढ़ी न जाए।
अब आपके पास केवल रुचि के टोकन की एक सूची है। बात यह है कि, आप स्थिति और मामले और संदर्भ जैसे अन्य अनुक्रमण मेट्रिक्स को नहीं देख रहे हैं। इसलिए, आपको वास्तव में सभी टोकन की एक सूची की आवश्यकता नहीं है। आप वास्तव में संबंधित गणनाओं के साथ विशिष्ट टोकन के एक स्पैर मैट्रिक्स चाहते हैं।
तो, पहले एक खाली स्पैर मैट्रिक्स बनाएं। फिर पार्सिंग के दौरान नए पाए गए टोकन को सम्मिलित करने के बारे में सोचें। जब ऐसा होता है, तो इसकी गणना बढ़ जाती है यदि सूची में है या अन्यथा 1 की गिनती के साथ एक नया टोकन डालें। इस बार, फ़ाइल को पार्स करने के अंत में, आपके पास अलग टोकन की एक सूची है, प्रत्येक कम से कम आवृत्ति के साथ 1.
वह सूची अब-मेम है और आप जो भी चाहें कर सकते हैं। इसे एक सीएसवी फ़ाइल में डंप करना प्रविष्टियों पर पुनरावृत्ति की एक छोटी प्रक्रिया होगी और प्रति पंक्ति प्रत्येक प्रविष्टि को इसकी गिनती के साथ लिखना होगा।
उस मामले के लिए, गैर-वाणिज्यिक उत्पाद "गेट" कहा जाता है या http://textanalysis.info
मैं उत्सुक हूं, शब्दों की सूची क्या है? (और ग्रंथों की तरह) –
लेख। शर्तों की सूची फ़ील्ड से महत्वपूर्ण शब्द हैं। – fdsayre