नवीनतम लेख
घर / लिनक्स सिंहावलोकन / एन-ग्राम. अक्षर n ग्राम का उपयोग करके प्रतिस्पर्धी प्रोग्राम की सहायता से ऑन-पेज अनुकूलन में सुधार करना

एन-ग्राम. अक्षर n ग्राम का उपयोग करके प्रतिस्पर्धी प्रोग्राम की सहायता से ऑन-पेज अनुकूलन में सुधार करना


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


एन-ग्राम (अंग्रेजी एन-ग्राम) कुछ अनुक्रम के एन तत्वों का एक अनुवर्ती है। आइए शब्दों के अनुक्रम पर नजर डालें। यूनिग्राम बिल्ली, कुत्ता, घोड़ा,... बिगग्राम छोटी बिल्ली, बड़ा कुत्ता, मजबूत घोड़ा,... ट्रिग्राम छोटी बिल्ली खाती है, बड़ा कुत्ता भौंकता है, मजबूत घोड़ा दौड़ता है,... परिभाषा


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


एन-ग्राम का एक भाषा मॉडल बनाना सूचीबद्ध एप्लिकेशन समस्याओं को हल करने के लिए, आपको एन-ग्राम का एक भाषा मॉडल बनाना होगा। एक मॉडल बनाने के लिए आपको: 1. प्रशिक्षण कोष में एन-ग्राम की संभावनाओं की गणना करनी होगी। 2. स्मूथिंग विधियों में से किसी एक का उपयोग करके कॉर्पस की विरलता की समस्या को दूर करें। 3. एन्ट्रापी का उपयोग करके परिणामी एन-ग्राम भाषा मॉडल की गुणवत्ता का आकलन करें।


एन-ग्राम की संभावना की गणना (1) प्रशिक्षण कोष में, कुछ निश्चित एन-ग्राम होते हैं विभिन्न आवृत्तियाँ. प्रत्येक एन-ग्राम के लिए, हम गिन सकते हैं कि यह कॉर्पस में कितनी बार दिखाई देता है। प्राप्त आंकड़ों के आधार पर, एक संभाव्य मॉडल बनाया जा सकता है, जिसका उपयोग कुछ परीक्षण कॉर्पस में एन-ग्राम की संभावना का अनुमान लगाने के लिए किया जा सकता है।


एन-ग्राम की संभावना की गणना (2) आइए एक उदाहरण देखें। मान लीजिए कि कॉर्पस में एक वाक्य है: उन्होंने पूल के किनारे पिकनिक मनाई, फिर घास पर लेट गए और सितारों को देखा। यूनीग्राम: वे, पिकनिकड, द्वारा,... बिगग्राम: उन्होंने पिकनिक किया, पिकनिक किया, द्वारा, द्वारा,... ट्रिग्राम उन्होंने पिकनिक किया, पिकनिक्ड द्वारा, पूल द्वारा,...


एन-ग्राम की संभावना की गणना (3) अब आप एन-ग्राम की गणना कर सकते हैं। सभी पहचाने गए द्वि- और ट्रिग्राम कॉर्पस में एक बार दिखाई देते हैं। द शब्द को छोड़कर सभी यूनीग्राम भी एक बार आते हैं। द शब्द तीन बार आता है। अब जब हम जानते हैं कि प्रत्येक एन-ग्राम कितनी बार आता है, तो हम एन-ग्राम का एक संभाव्य मॉडल बना सकते हैं। यूनीग्राम के मामले में, शब्द यू की संभावना की गणना सूत्र का उपयोग करके की जा सकती है: उदाहरण के लिए, शब्द के लिए संभावना 3/16 के बराबर होगी (क्योंकि कॉर्पस में 16 शब्द हैं, जिनमें से 3 हैं शब्द). प्रशिक्षण कोष में यू शब्द की घटनाओं की संख्या उन्होंने पूल के किनारे पिकनिक मनाई, फिर घास पर लेट गए और तारों को देखा


1, संभाव्यता की गणना थोड़ा अलग तरीके से की जाती है। आइए बिग्राम के मामले पर विचार करें: पूल में बिग्राम की संभावना की गणना करना आवश्यक है। यदि हम बिग्राम के प्रत्येक शब्द को कुछ घटना के रूप में मानते हैं, तो संभाव्यता" शीर्षक = " एन-ग्राम की संभावना की गणना (4) एन-ग्राम के लिए, जहां एन> 1, संभावना की गणना थोड़ा अलग तरीके से की जाती है। बिग्राम के मामले पर विचार करें: यदि हम बिग्राम के प्रत्येक शब्द को किसी घटना के रूप में मानते हैं, तो संभाव्यता बिग्राम पूल की गणना करना आवश्यक है" class="link_thumb"> 9 !}एन-ग्राम की संभावना की गणना (4) एन-ग्राम के लिए, जहां n>1, संभावना की गणना थोड़ा अलग तरीके से की जाती है। आइए बिग्राम के मामले पर विचार करें: पूल में बिग्राम की संभावना की गणना करना आवश्यक है। यदि हम बिग्राम के प्रत्येक शब्द को एक घटना के रूप में मानते हैं, तो घटनाओं के एक सेट की संभावना की गणना सूत्र का उपयोग करके की जा सकती है: इस प्रकार, बिग्राम की संभावना पूल है:, जहां 1, संभाव्यता की गणना थोड़ा अलग तरीके से की जाती है। आइए बिग्राम के मामले पर विचार करें: पूल में बिग्राम की संभावना की गणना करना आवश्यक है। यदि हम बिग्राम के प्रत्येक शब्द को किसी घटना के रूप में मानते हैं, तो विश्वास "> 1, संभाव्यता की गणना कुछ अलग ढंग से की जाती है। बिग्राम के मामले पर विचार करें: बिग्राम पूल की संभावना की गणना करना आवश्यक है। यदि हम प्रत्येक शब्द पर विचार करते हैं किसी घटना के रूप में बिग्राम की, तो घटनाओं के एक सेट की संभावना की गणना सूत्र का उपयोग करके की जा सकती है: इस प्रकार, बिग्राम की संभावना पूल:, जहां "> 1, संभावना की गणना थोड़ा अलग तरीके से की जाती है। आइए बिग्राम के मामले पर विचार करें: पूल में बिग्राम की संभावना की गणना करना आवश्यक है। यदि हम बिग्राम के प्रत्येक शब्द को कुछ घटना के रूप में मानते हैं, तो संभाव्यता" शीर्षक = " एन-ग्राम की संभावना की गणना (4) एन-ग्राम के लिए, जहां एन> 1, संभावना की गणना थोड़ा अलग तरीके से की जाती है। बिग्राम के मामले पर विचार करें: यदि हम बिग्राम के प्रत्येक शब्द को किसी घटना के रूप में मानते हैं, तो संभाव्यता बिग्राम पूल की गणना करना आवश्यक है"> title="एन-ग्राम की संभावना की गणना (4) एन-ग्राम के लिए, जहां n>1, संभावना की गणना थोड़ा अलग तरीके से की जाती है। आइए बिग्राम के मामले पर विचार करें: पूल में बिग्राम की संभावना की गणना करना आवश्यक है। यदि हम बिग्राम के प्रत्येक शब्द को किसी घटना के रूप में मानें, तो"> !}


एन-ग्राम की संभावना की गणना (5) अब एक मनमाने ढंग से एन-ग्राम (या लंबाई एन की वाक्य) की संभावना की गणना करने पर विचार करें। बिग्राम के मामले का विस्तार करते हुए, हम एन-ग्राम के लिए संभाव्यता सूत्र प्राप्त करते हैं: ऐसे सूत्र का उपयोग करके संभाव्यता की गणना करना आसान नहीं है, इसलिए एक सरलीकरण पेश किया गया है - एक निश्चित लंबाई के इतिहास का उपयोग करें, अर्थात। इस प्रकार, एक वाक्य की संभाव्यता की गणना इस वाक्य को बनाने वाले एन-ग्राम की सशर्त संभाव्यता की गणना करने के लिए नीचे आती है:




कॉर्पस स्पार्सिटी को खत्म करना (1) अनस्मूथ एन-ग्राम भाषा मॉडल के साथ समस्या: कुछ एन-ग्राम के लिए संभावना को बहुत कम (या शून्य भी) किया जा सकता है, हालांकि वास्तव में (परीक्षण कॉर्पस में) ये एन-ग्राम अक्सर हो सकते हैं . कारण: प्रशिक्षण दल की सीमाएँ और उसकी विशिष्टताएँ। समाधान: कुछ एन-ग्राम की संभावना को कम करके, उन एन-ग्राम की संभावना को बढ़ाएं जिनका प्रशिक्षण कोष में सामना नहीं किया गया (या बहुत कम ही हुआ)।




कॉर्पस स्पार्सिटी को हटाना (3) स्पार्सिटी रिमूवल एल्गोरिदम निम्नलिखित अवधारणाओं का उपयोग करते हैं: प्रकार - पाठ में विभिन्न शब्द (शब्दों के अनुक्रम)। टोकन - पाठ में सभी शब्द (शब्दों का क्रम)। उन्होंने पूल के किनारे पिकनिक मनाई, फिर घास पर लेट गए और तारों को देखा - 14 प्रकार, 16 टोकन





ऐड-वन स्मूथिंग (4) विधि गणना में एक मजबूत त्रुटि उत्पन्न करती है (उदाहरण के लिए, पिछली स्लाइड पर यह दिखाया गया था कि चीनी शब्द के लिए बिग्राम की संख्या 8 गुना कम हो गई थी)। परीक्षणों से पता चला है कि बिना चिकना मॉडल अक्सर अधिक सटीक परिणाम दिखाता है। नतीजतन, यह विधि केवल सैद्धांतिक दृष्टिकोण से दिलचस्प है।


विटेन-बेल डिस्काउंटिंग (1) एक सरल विचार पर आधारित: लापता एन-ग्राम की संभावना का अनुमान लगाने के लिए प्रशिक्षण कोष में होने वाले एन-ग्राम के बारे में डेटा का उपयोग करें। विधि का विचार संपीड़न एल्गोरिदम से लिया गया है: दो प्रकार की घटनाओं पर विचार किया जाता है - एक नए प्रतीक (प्रकार) का सामना करना पड़ा और एक प्रतीक (टोकन) का सामना करना पड़ा। सभी लुप्त एन-ग्रामों के लिए संभाव्यता सूत्र (अर्थात परीक्षण कोष में एक एन-ग्राम मिलने की संभावना जो प्रशिक्षण कोष में नहीं था): एन प्रशिक्षण कोष में टोकन की संख्या है, टी उन प्रकारों की संख्या है जिनके पास है प्रशिक्षण कोष में पहले ही सामना किया जा चुका है






विटेन-बेल डिस्काउंटिंग (4) =>=> =>"> =>"> =>" title='विटन-बेल डिस्काउंटिंग (4)==>"> title="विटेन-बेल डिस्काउंटिंग (4) =>=>"> !}




गुड-ट्यूरिंग डिस्काउंटिंग (1) आइडिया: एन-ग्राम के लिए जो शून्य बार (एस बार) हुआ, स्कोर एन-ग्राम की संख्या के समानुपाती होता है जो एक बार (एस + 1 बार) हुआ। आइए एक उदाहरण देखें: मान लीजिए 18 मछलियाँ पकड़ी गईं। कुल पकड़ा गया अलग - अलग प्रकार- 6, और तीन प्रजातियों में से केवल एक प्रतिनिधि पकड़ा गया। हमें इसकी प्रायिकता ज्ञात करने की आवश्यकता है कि अगली मछली एक नई प्रजाति की होगी। कुल मिलाकर 7 संभावित प्रजातियाँ हैं (6 प्रजातियाँ पहले ही पकड़ी जा चुकी हैं)।








कैटज़ बैकऑफ़ (2) गुणांक α (एन-1)-ग्राम की संभाव्यता वितरण के अनुसार एन-ग्राम की अवशिष्ट संभावना के सही वितरण के लिए आवश्यक है। यदि आप α दर्ज नहीं करते हैं, तो अनुमान गलत होगा, क्योंकि समानता संतुष्ट नहीं होगी: α की गणना रिपोर्ट के अंत में दी गई है।




एन्ट्रॉपी का उपयोग करके एक भाषा मॉडल का मूल्यांकन करना (3) विभिन्न भाषा मॉडल की तुलना करने के लिए, क्रॉस-एन्ट्रॉपी का उपयोग किया जाता है: क्रॉस-एन्ट्रॉपी मान H(p,m) वास्तविक एन्ट्रॉपी H(p) के जितना करीब होगा, भाषा मॉडल उतना ही बेहतर होगा: हमारे मामले में, एच(पी) परीक्षण कोष की एन्ट्रापी है। एम(डब्ल्यू) - भाषा मॉडल (उदाहरण के लिए, एन-ग्राम मॉडल)


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


एन्ट्रॉपी का उपयोग करके एक भाषा मॉडल का अनुमान (5) एक उदाहरण के रूप में, यूनीग्राम, बिग्राम और ट्रिगर के प्रशिक्षित मॉडल का उपयोग करके प्राप्त एक निश्चित कॉर्पस के लिए उलझन मूल्यों पर विचार करें: ट्रिगर के मामले में, उलझन सबसे छोटी है, क्योंकि ट्रिगर्स की सशर्त संभावनाओं की गणना करते समय सभी मॉडलों की सबसे बड़ी इतिहास लंबाई (2 के बराबर) द्वारा असंबद्धता की सुविधा प्रदान की जाती है। यूनिग्रामबिग्रामट्राइग्राम उलझन


सिमेंटिक कोर

आधुनिक वास्तविकताओं में किसी वेबसाइट की दृश्यता को सफलतापूर्वक विकसित करने और बढ़ाने के लिए, इसका लगातार विस्तार करना आवश्यक है सिमेंटिक कोर. में से एक सर्वोत्तम तरीकेएक्सटेंशन का उद्देश्य प्रतिस्पर्धियों के कीवर्ड एकत्र करना है।

आज, प्रतिस्पर्धियों के शब्दार्थ प्राप्त करना कठिन नहीं है, क्योंकि ऐसी कई सेवाएँ हैं, सशुल्क और निःशुल्क दोनों।

मुफ़्त की सूची:

— megaindex.ru — “साइट दृश्यता” उपकरण

- xtool.ru - एक प्रसिद्ध सेवा जो उन कीवर्ड को भी दिखाती है जिनके लिए साइट को रैंक किया गया है

भुगतान किए गए लोगों की सूची:

— Spywords.ru — Yandex और Google के लिए उपयुक्त

— semrush.ru — केवल Google की ओर उन्मुख

— prodvigator.ua — स्पाइवर्ड्स.ru का यूक्रेनी एनालॉग

सेवाओं के अलावा, आप शीर्षक और विवरण को एन-ग्राम में विभाजित करने के आधार पर मैन्युअल विधि का भी उपयोग कर सकते हैं, जिसके परिणामस्वरूप आउटपुट के रूप में वाक्यांशों की एक अतिरिक्त सूची प्राप्त होगी।

एन-ग्राम - एन तत्वों का एक क्रम. व्यवहार में, एन-ग्राम अक्सर शब्दों की एक श्रृंखला के रूप में पाया जाता है। अक्सर दो लगातार तत्वों का अनुक्रम कहा जाता है बाइग्राम, तीन तत्वों के अनुक्रम को कहा जाता है ट्रिग्राम. कम से कम चार या अधिक तत्वों को एन-ग्राम के रूप में नामित किया गया है, एन को लगातार तत्वों की संख्या से प्रतिस्थापित किया जाता है।

आइए इस तकनीक को चरण दर चरण देखें:

— हम प्रतिस्पर्धियों का शीर्षक (विवरण) अनलोड करते हैं। स्क्रीमिंग फ्रॉग एसईओ प्रोग्राम का उपयोग करके किया जा सकता है।

— एक पाठ संपादक में, हम भाषण के सहायक भागों, विराम चिह्नों और अन्य कचरे से परिणामी सूची को साफ करते हैं। मैं उदात्त पाठ संपादक में खोज और प्रतिस्थापन फ़ंक्शन का उपयोग करता हूं ( हॉटकी Ctrl+H), रेगुलर एक्सप्रेशन का उपयोग करते हुए:

- वांछित एन-ग्राम का चयन करें और आवृत्ति को कम से कम एक पर सेट करें। सबसे अच्छा विकल्प ट्रिग्राम और 4-ग्राम है:

- हमें निम्नलिखित परिणाम मिलता है:

स्तंभगिनती करनादोहराव की संख्या दर्शाता हैएन-ग्राम, स्तंभआवृत्ति -आवृत्तिएन-ग्राम.

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

समूहीकरण अनुरोध

यह समझना बहुत महत्वपूर्ण है कि प्रतिस्पर्धियों के सिमेंटिक कोर को कैसे समूहीकृत किया जाता है, क्योंकि यह साइट पृष्ठों पर मुख्य वाक्यांशों को सही ढंग से वितरित करने में मदद करता है।

ऐसा करने के लिए, हमारे गठन के बाद पूरी सूचीअनुरोधों के लिए, हमें प्रासंगिक पृष्ठ और प्रतिस्पर्धियों की स्थिति (आप seolib.ru सेवा का उपयोग कर सकते हैं) प्राप्त करने की आवश्यकता है, और फिर अपने समूह के साथ तुलना करें। यदि यह स्पष्ट है कि एक प्रतियोगी एक अच्छी स्थिति पर है और साथ ही उसका समूह हमारे से भिन्न है (उदाहरण के लिए, एक प्रतियोगी के अनुरोधों को वितरित किया जाता है) अलग-अलग पेज, और हमारे पास एक ही अनुरोध है), आपको इस पर ध्यान देना होगा और अपनी वेबसाइट पर लैंडिंग पृष्ठों की समीक्षा करनी होगी।

आइए एक सशर्त साइट और उसके प्रतिस्पर्धी के समूह की तुलना करने का एक छोटा सा उदाहरण देखें।

जैसा कि तालिका से देखा जा सकता है, वेबसाइट site.ru पर सभी कीवर्ड के लिए एक लैंडिंग पृष्ठ चुना गया था। प्रतियोगी समान प्रश्नों के लिए अलग-अलग पेजों को रैंक करता है और टॉप या टॉप के करीब स्थान लेता है। इसके आधार पर, हम यह निष्कर्ष निकाल सकते हैं कि site.ru पर समूहीकरण को संशोधित करने की आवश्यकता है, विशेष रूप से, "मुखौटा" शब्द के साथ प्रमुख वाक्यांशों के लिए एक अलग पृष्ठ बनाना आवश्यक है।

पाठों की गुणवत्ता

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

आइए कुछ उदाहरण देखें.

मान लीजिए कि आप फूल वितरित करते हैं और होम पेजपाठ में आप उनकी ताजगी की गारंटी देते हैं। उदाहरण के लिए, इस तरह:

फूल वितरण सेवासाइट. आरयूठंड के मौसम में भी गुलदस्ते की सुरक्षा की गारंटी देता है।

यहां हमारे प्रतिस्पर्धियों में से एक का उदाहरण दिया गया है:

हमसे सुगंधित रचनाओं का ऑर्डर देना लाभदायक है, क्योंकि यदि फूलों की ताजगी पर संदेह हो तो हम 100% पैसे वापस करने की गारंटी देते हैं।

एक प्रतियोगी की गारंटी पैसे द्वारा समर्थित होती है, जो एक अमूर्त गारंटी से अधिक महत्वपूर्ण है।

आइए एक और उदाहरण देखें - एक ऑनलाइन स्टोर की "सिरेमिक टाइल्स" श्रेणी के पृष्ठ पर पाठ:

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

अब आइए प्रतियोगी के पाठ को देखें:

यह पाठ अधिक उपयोगी है क्योंकि... टाइल्स के बीच अंतर को संक्षेप में बताता है और आपको यह समझने में मदद करता है कि सही टाइल कैसे चुनें।

इस प्रकार, प्रतिस्पर्धियों के पाठों की अपने पाठों से तुलना करके, आप बहुत सी उपयोगी जानकारी प्राप्त कर सकते हैं जो तकनीकी विशिष्टताओं को तैयार करते समय कॉपीराइटरों को मदद करेगी।

ग्रंथों की प्रासंगिकता

पाठ की गुणवत्ता के विषय को जारी रखते हुए, हम उनकी प्रासंगिकता पर ध्यान दिए बिना नहीं रह सकते। आज, पाठ को प्रासंगिक बनाने के लिए केवल कीवर्ड शामिल करना ही पर्याप्त नहीं है। पाठ को स्पैमयुक्त बनाए बिना पृष्ठ की प्रासंगिकता बढ़ाने के लिए, आपको विषय से संबंधित शब्दों का उपयोग करना होगा।

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

आप प्रतिस्पर्धियों के टेक्स्ट में अपने प्रश्नों के लिए शब्दों की सबसे उपयुक्त सूची प्राप्त कर सकते हैं। ऐसा करने के लिए आपको निम्नलिखित कदम उठाने होंगे:

— हम वांछित एचएफ अनुरोध के अनुसार टॉप-10 से सभी टेक्स्ट को अलग-अलग टेक्स्ट फाइलों में कॉपी करते हैं।

— हम पाठ (पहले चर्चा की गई) से भाषण के सहायक भागों, विराम चिह्न और संख्याओं को हटा देते हैं।

- शब्दों को एक पंक्ति में व्यवस्थित करें - "खोजें और बदलें" फ़ंक्शन का उपयोग करें नियमित अभिव्यक्ति. स्थान को \n से बदलें।

- इसके बाद, सभी शब्द रूपों को सामान्य शब्दकोश रूप (लेमे) में लाना आवश्यक है। ऐसा करने के लिए, आप https://tools.k50project.ru/lemma/ सेवा का उपयोग कर सकते हैं। फ़ील्ड में आपको प्रत्येक फ़ाइल से शब्दों की एक सूची अलग से दर्ज करनी होगी और "लेमेटाइज़ और सीएसवी तालिका के रूप में आउटपुट" बटन पर क्लिक करना होगा। परिणाम में लेमेटाइज्ड शब्दों वाली 10 फाइलें होनी चाहिए।

— हम प्रत्येक फ़ाइल में डुप्लिकेट शब्द हटा देते हैं।

— हम फाइलों से शब्दों को एक सूची में जोड़ते हैं।

— अब हमें एक फ़्रीक्वेंसी डिक्शनरी बनाने की ज़रूरत है। ऐसा करने के लिए, परिणामी सूची को सेवा https://tools.k50project.ru/lemma/ पर जोड़ें और "CSV फॉर्म में फ़्रीक्वेंसी डिक्शनरी बनाएं" पर क्लिक करें।

— हमारे शब्दों की सूची तैयार है:

यदि आवृत्ति 10 है, तो इस शब्द का प्रयोग सभी 10 साइटों पर किया गया था, यदि 8, तो केवल 8 आदि पर। हम सबसे आम शब्दों का उपयोग करने की सलाह देते हैं, लेकिन दुर्लभ शब्दों के बीच भी दिलचस्प समाधान ढूंढे जा सकते हैं।

इस कदर सरल तरीके सेआप कॉपीराइटरों के लिए तकनीकी विशिष्टताओं को संकलित करने के लिए विषयगत शब्दों की एक सूची प्राप्त कर सकते हैं।

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

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

रेखीय खोज

इनपुट टेक्स्ट के शब्दों पर किसी दिए गए मीट्रिक (उदाहरण के लिए, लेवेनशेटिन मीट्रिक) का सरल अनुक्रमिक अनुप्रयोग। प्रतिबंधित मीट्रिक का उपयोग करते समय, यह विधि इष्टतम प्रदर्शन की अनुमति देती है। लेकिन, साथ ही, और भी अधिक के, परिचालन समय उतना ही अधिक बढ़ता है। स्पर्शोन्मुख समय अनुमान - ठीक है एन).

बिटैप (जिसे शिफ्ट-ऑर या बेज़ा-येट्स-गोनेट के नाम से भी जाना जाता है, और वू-मैनबर द्वारा इसका संशोधन)

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

इस एल्गोरिदम का विचार सबसे पहले नागरिकों द्वारा प्रस्तावित किया गया था रिकार्डो बेज़ा-येट्सऔर गैस्टन गोनेट, 1992 में एक संबंधित लेख प्रकाशित करना।
एल्गोरिदम का मूल संस्करण केवल वर्ण प्रतिस्थापन से संबंधित है, और वास्तव में, दूरी की गणना करता है हेमिंग. लेकिन थोड़ी देर बाद सुन वूऔर उड़ी मनबरदूरी की गणना करने के लिए इस एल्गोरिदम में संशोधन का प्रस्ताव रखा Levenshtein, यानी सम्मिलन और विलोपन के लिए समर्थन पेश किया, और इसके आधार पर एग्रेप उपयोगिता का पहला संस्करण विकसित किया।






परिणामी मूल्य

कहाँ के- त्रुटियों की संख्या, जे- प्रतीक सूचकांक, एसएक्स - कैरेक्टर मास्क (मास्क में, यूनिट बिट्स अनुरोध में इस कैरेक्टर की स्थिति के अनुरूप स्थिति में स्थित हैं)।
अनुरोध मेल खाता है या नहीं यह परिणामी वेक्टर आर के अंतिम बिट द्वारा निर्धारित किया जाता है।

इस एल्गोरिदम की उच्च गति गणनाओं की बिट समानता द्वारा सुनिश्चित की जाती है - एक ऑपरेशन में 32 या अधिक बिट्स पर एक साथ गणना करना संभव है।
साथ ही, तुच्छ कार्यान्वयन 32 से अधिक की लंबाई वाले शब्दों की खोज का समर्थन करता है। यह सीमा मानक प्रकार की चौड़ाई से निर्धारित होती है int यहाँ(32-बिट आर्किटेक्चर पर)। बड़े आयामी प्रकारों का भी उपयोग किया जा सकता है, लेकिन यह एल्गोरिदम को कुछ हद तक धीमा कर सकता है।

इस तथ्य के बावजूद कि इस एल्गोरिथ्म का स्पर्शोन्मुख चलने का समय ठीक है एन)यह रैखिक विधि से मेल खाता है, यह लंबी क्वेरी और त्रुटियों की संख्या के साथ बहुत तेज़ है के 2 से अधिक.

परीक्षण

परीक्षण 3.2 मिलियन शब्दों के पाठ पर किया गया, औसत शब्द की लंबाई 10 थी।
सटीक खोज
खोज समय: 3562 मि.से
लेवेनशेटिन मीट्रिक का उपयोग करके खोजें
समय खोजें क=2: 5728 एमएस
समय खोजें क=5: 8385 एमएस
वू-मैनबर संशोधनों के साथ बिटैप एल्गोरिदम का उपयोग करके खोजें
समय खोजें क=2: 5499 एमएस
समय खोजें क=5: 5928 एमएस

यह स्पष्ट है कि बिटैप एल्गोरिदम के विपरीत, मीट्रिक का उपयोग करके एक सरल खोज, त्रुटियों की संख्या पर अत्यधिक निर्भर है के.

हालाँकि, जब बड़े, अपरिवर्तित पाठों को खोजने की बात आती है, तो ऐसे पाठ को पूर्व-प्रसंस्करण द्वारा खोज समय को काफी कम किया जा सकता है, जिसे अनुक्रमण.

अनुक्रमण के साथ फ़ज़ी खोज एल्गोरिदम (ऑफ़लाइन)

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

ये एल्गोरिदम समस्या को हल करने के लिए विभिन्न तरीकों का उपयोग करते हैं - उनमें से कुछ सटीक खोज में कमी का उपयोग करते हैं, अन्य विभिन्न स्थानिक संरचनाओं के निर्माण के लिए मीट्रिक के गुणों का उपयोग करते हैं, और इसी तरह।

सबसे पहले, पहले चरण में, स्रोत पाठ से एक शब्दकोश बनाया जाता है, जिसमें पाठ में शब्द और उनकी स्थिति शामिल होती है। खोज परिणामों की गुणवत्ता में सुधार के लिए आप शब्दों और वाक्यांशों की आवृत्तियों की भी गणना कर सकते हैं।

यह माना जाता है कि सूचकांक, शब्दकोश की तरह, पूरी तरह से मेमोरी में लोड होता है।

शब्दकोश की सामरिक और तकनीकी विशेषताएँ:

  • स्रोत पाठ - मोशकोव लाइब्रेरी (lib.ru) से 8.2 गीगाबाइट सामग्री, 680 मिलियन शब्द;
  • शब्दकोश का आकार - 65 मेगाबाइट;
  • शब्दों की संख्या - 3.2 मिलियन;
  • औसत शब्द लंबाई 9.5 अक्षर है;
  • औसत वर्ग शब्द लंबाई (कुछ एल्गोरिदम का मूल्यांकन करते समय उपयोगी हो सकती है) - 10.0 अक्षर;
  • वर्णमाला - राजधानियाँ अक्षर A-Z, ई के बिना (कुछ परिचालनों को सरल बनाने के लिए)। गैर-वर्णमाला वर्ण वाले शब्द शब्दकोश में शामिल नहीं हैं।
पाठ की मात्रा पर शब्दकोश के आकार की निर्भरता पूरी तरह से रैखिक नहीं है - एक निश्चित मात्रा तक, शब्दों का एक बुनियादी ढांचा बनता है, 500 हजार शब्दों के लिए 15% से लेकर 5 मिलियन के लिए 5% तक, और फिर निर्भरता रैखिक होती जा रही है, धीरे-धीरे कम हो रही है और 680 मिलियन शब्दों के लिए 0.5% तक पहुंच रही है विकास के बाद के रखरखाव को ज्यादातर दुर्लभ शब्दों के माध्यम से सुनिश्चित किया जाता है।

नमूनाकरण विस्तार एल्गोरिथ्म

इस एल्गोरिदम का उपयोग अक्सर वर्तनी-जांच प्रणालियों (यानी, वर्तनी-जांचकर्ताओं) में किया जाता है, जहां शब्दकोश का आकार छोटा होता है, या जहां गति मुख्य मानदंड नहीं होती है।
यह अस्पष्ट खोज समस्या को सटीक खोज समस्या में बदलने पर आधारित है।

प्रारंभिक क्वेरी से, "गलत" शब्दों का एक सेट बनाया जाता है, जिनमें से प्रत्येक के लिए शब्दकोश में सटीक खोज की जाती है।

इसका चलने का समय त्रुटियों की संख्या k और वर्णमाला A के आकार पर निर्भर करता है, और बाइनरी शब्दकोश खोज का उपयोग करने के मामले में यह है:

उदाहरण के लिए, जब के = 1और रूसी वर्णमाला में लंबाई 7 के शब्द (उदाहरण के लिए, "मगरमच्छ"), कई गलत शब्द आकार में लगभग 450 होंगे, यानी, शब्दकोश में 450 प्रश्न करना आवश्यक होगा, जो काफी स्वीकार्य है।
लेकिन पहले से ही के = 2ऐसे सेट का आकार 115 हजार से अधिक विकल्प होगा, जो एक छोटे शब्दकोश की पूरी खोज से मेल खाता है, या हमारे मामले में 1/27, और इसलिए, काम का समय काफी लंबा होगा। साथ ही, हमें यह नहीं भूलना चाहिए कि इनमें से प्रत्येक शब्द के लिए शब्दकोश में सटीक मिलान की खोज करना आवश्यक है।

ख़ासियतें:
एल्गोरिथ्म को मनमाने नियमों के अनुसार "गलत" विकल्प उत्पन्न करने के लिए आसानी से संशोधित किया जा सकता है, और, इसके अलावा, शब्दकोश की किसी भी प्रारंभिक प्रसंस्करण की आवश्यकता नहीं होती है, और तदनुसार, अतिरिक्त मेमोरी की आवश्यकता नहीं होती है।
संभावित सुधार:
"गलत" शब्दों के पूरे सेट को उत्पन्न करना संभव नहीं है, लेकिन केवल वे शब्द जो वास्तविक स्थिति में घटित होने की सबसे अधिक संभावना है, उदाहरण के लिए, सामान्य वर्तनी त्रुटियों या टाइपिंग त्रुटियों को ध्यान में रखते हुए शब्द।

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

अभ्यास में सबसे अधिक उपयोग किए जाने वाले ट्रिग्राम हैं - लंबाई 3 के सबस्ट्रिंग। एन का बड़ा मान चुनने से न्यूनतम शब्द लंबाई पर एक सीमा हो जाती है जिस पर त्रुटियों का पहले से ही पता लगाया जा सकता है।

ख़ासियतें:
एन-ग्राम एल्गोरिदम सभी संभावित गलत वर्तनी वाले शब्दों को नहीं ढूंढता है। उदाहरण के लिए, यदि हम VOTKA शब्द लें और इसे ट्रिग्राम में विघटित करें: VO टीकेए → वीओ टीके बारे में टीको टीकेए - आप देख सकते हैं कि उन सभी में त्रुटि टी है। इस प्रकार, "वोडका" शब्द नहीं मिलेगा, क्योंकि इसमें इनमें से कोई भी ट्रिगर शामिल नहीं है, और इसे संबंधित सूचियों में शामिल नहीं किया जाएगा। इस प्रकार, शब्द की लंबाई जितनी कम होगी और उसमें जितनी अधिक त्रुटियां होंगी, संभावना उतनी ही अधिक होगी कि इसे क्वेरी के एन-ग्राम के अनुरूप सूचियों में शामिल नहीं किया जाएगा, और परिणाम में मौजूद नहीं होगा।

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

संभावित सुधार:
आप एन-ग्राम हैश तालिकाओं को शब्द की लंबाई और किसी शब्द में एन-ग्राम स्थिति के आधार पर विभाजित कर सकते हैं (संशोधन 1)। खोज शब्द और क्वेरी की लंबाई में इससे अधिक का अंतर कैसे नहीं हो सकता के, और किसी शब्द में एन-ग्राम की स्थिति k से अधिक भिन्न नहीं हो सकती है। इस प्रकार, शब्द में इस एन-ग्राम की स्थिति के अनुरूप केवल तालिका की जांच करना आवश्यक होगा, साथ ही बाईं ओर के टेबल और दाईं ओर के टेबल, यानी। कुल 2k+1पड़ोसी टेबल.

आप तालिकाओं को शब्द की लंबाई से विभाजित करके और इसी तरह केवल पड़ोसी को देखकर देखने के लिए आवश्यक सेट के आकार को और कम कर सकते हैं 2k+1तालिकाएँ (संशोधन 2)।

इस एल्गोरिथम का वर्णन एल.एम. बॉयत्सोव के लेख में किया गया है। "हस्ताक्षर द्वारा हैशिंग।" यह बिट बिट्स के रूप में किसी शब्द की "संरचना" के काफी स्पष्ट प्रतिनिधित्व पर आधारित है, जिसका उपयोग हैश तालिका में हैश (हस्ताक्षर) के रूप में किया जाता है।

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

हैश की गणना करने की प्रक्रिया - हैश का प्रत्येक बिट वर्णमाला के वर्णों के समूह से जुड़ा होता है। स्थिति में बिट 1 मैंहैश में इसका मतलब है कि स्रोत शब्द में एक अक्षर शामिल है i-वेंवर्णमाला समूह. किसी शब्द में अक्षरों के क्रम का बिल्कुल कोई अर्थ नहीं है।

एक अक्षर हटाने से या तो हैश मान नहीं बदलेगा (यदि शब्द में अभी भी एक ही वर्णमाला समूह के अक्षर हैं), या इस समूह के अनुरूप बिट 0 में बदल जाएगा। डालने पर, उसी तरह, या तो एक बिट बदल जाएगा 1 पर जाएँ, अन्यथा कोई परिवर्तन नहीं होगा। वर्णों को प्रतिस्थापित करते समय, सब कुछ थोड़ा अधिक जटिल होता है - हैश या तो बिल्कुल अपरिवर्तित रह सकता है, या 1 या 2 स्थितियों में बदल सकता है। क्रमपरिवर्तन के दौरान, कोई भी परिवर्तन नहीं होता है, क्योंकि जैसा कि पहले उल्लेख किया गया है, हैश का निर्माण करते समय प्रतीकों के क्रम को ध्यान में नहीं रखा जाता है। इस प्रकार, k त्रुटियों को पूरी तरह से कवर करने के लिए, आपको कम से कम बदलने की आवश्यकता है 2kहैश में बिट.

परिचालन समय, औसतन, k "अपूर्ण" (सम्मिलन, विलोपन और स्थानान्तरण, साथ ही प्रतिस्थापन का एक छोटा सा हिस्सा) त्रुटियों के साथ:

ख़ासियतें:
इस तथ्य के कारण कि एक वर्ण को प्रतिस्थापित करते समय दो बिट्स एक साथ बदल सकते हैं, उदाहरण के लिए, एक एल्गोरिथ्म जो एक साथ 2 बिट्स से अधिक की विकृतियों को लागू करता है, वास्तव में एक महत्वपूर्ण (निर्भर) की अनुपस्थिति के कारण परिणामों की पूरी मात्रा का उत्पादन नहीं करेगा हैश आकार और वर्णमाला के अनुपात पर) दो प्रतिस्थापन वाले शब्दों का हिस्सा (और हैश आकार जितना बड़ा होगा, उतनी ही अधिक बार एक वर्ण प्रतिस्थापन एक साथ दो बिट्स के विरूपण को जन्म देगा, और परिणाम उतना ही कम पूर्ण होगा) ). इसके अलावा, यह एल्गोरिदम उपसर्ग खोज की अनुमति नहीं देता है।

बीके-पेड़

पेड़ बर्कहार्ड-केलरमीट्रिक पेड़ हैं, ऐसे पेड़ों के निर्माण के लिए एल्गोरिदम त्रिकोण असमानता को पूरा करने के लिए मीट्रिक की संपत्ति पर आधारित हैं:

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

सुधार:
आप बाधा के साथ दूरी की गणना करने के लिए कुछ मैट्रिक्स की क्षमता का उपयोग कर सकते हैं, शीर्ष के बच्चों की अधिकतम दूरी और परिणामी दूरी के योग के बराबर ऊपरी सीमा निर्धारित कर सकते हैं, जिससे प्रक्रिया थोड़ी तेज हो जाएगी:

परीक्षण

परीक्षण लैपटॉप पर किया गया इण्टेल कोरडुओ T2500 (2GHz/667MHz FSB/2MB), 2GB रैम, OS - Ubuntu 10.10 डेस्कटॉप i686, JRE - OpenJDK 6 अपडेट 20।

डेमेरौ-लेवेनशेटिन दूरी और त्रुटियों की संख्या का उपयोग करके परीक्षण किया गया था के = 2. सूचकांक का आकार शब्दकोश (65 एमबी) के साथ दर्शाया गया है।

सूचकांक का आकार: 65 एमबी
खोज समय: 320ms / 330ms
परिणामों की पूर्णता: 100%

एन-ग्राम (मूल)
सूचकांक का आकार: 170 एमबी
सूचकांक निर्माण समय: 32 सेकंड
खोज समय: 71 एमएस / 110 एमएस
परिणामों की पूर्णता: 65%
एन-ग्राम (संशोधन 1)
सूचकांक का आकार: 170 एमबी
सूचकांक निर्माण समय: 32 सेकंड
खोज समय: 39ms / 46ms
परिणामों की पूर्णता: 63%
एन-ग्राम (संशोधन 2)
सूचकांक का आकार: 170 एमबी
सूचकांक निर्माण समय: 32 सेकंड
खोज समय: 37ms / 45ms
परिणामों की पूर्णता: 62%

सूचकांक का आकार: 85 एमबी
सूचकांक निर्माण समय: 0.6 सेकंड
खोज समय: 55 मि.से
परिणामों की पूर्णता: 56.5%

बीके-पेड़
सूचकांक का आकार: 150 एमबी
सूचकांक निर्माण समय: 120 सेकंड
खोज समय: 540 मि.से
परिणामों की पूर्णता: 63%

कुल

अधिकांश अनुक्रमित फ़ज़ी खोज एल्गोरिदम वास्तव में सबलाइनर नहीं हैं (यानी, एक एसिम्प्टोटिक रनिंग टाइम है) ओ(लॉग एन)या उससे कम), और उनकी परिचालन गति आमतौर पर सीधे निर्भर करती है एन. फिर भी, कई सुधार और संशोधन बहुत बड़ी मात्रा में शब्दकोशों के साथ भी पर्याप्त कम परिचालन समय प्राप्त करना संभव बनाते हैं।

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

वास्तविक रूप से फ़ज़ी खोज एल्गोरिदम का व्यावहारिक उपयोग खोज इंजनध्वन्यात्मक एल्गोरिदम, लेक्सिकल स्टेमिंग एल्गोरिदम से निकटता से संबंधित है - एक ही शब्द के विभिन्न शब्द रूपों के आधार भाग को अलग करना (उदाहरण के लिए, स्नोबॉल और यांडेक्स मिस्टेम यह कार्यक्षमता प्रदान करते हैं), साथ ही सांख्यिकीय जानकारी के आधार पर रैंकिंग, या जटिल परिष्कृत मैट्रिक्स का उपयोग करना .

  • लेवेनशेटिन दूरी (कटऑफ़ और उपसर्ग विकल्प के साथ);
  • डेमेरौ-लेवेनशेटिन दूरी (कटऑफ़ और उपसर्ग विकल्प के साथ);
  • बिटैप एल्गोरिदम (शिफ्ट-ओआर/शिफ्ट-एंड वू-मैनबर संशोधनों के साथ);
  • नमूनाकरण विस्तार एल्गोरिदम;
  • एन-ग्राम विधि (मूल और संशोधनों के साथ);
  • हस्ताक्षर हैशिंग विधि;
  • बीके-पेड़.
मैं कोड को समझने में आसान और साथ ही पर्याप्त कुशल बनाना चाहता था व्यावहारिक अनुप्रयोग. जेवीएम से अंतिम रस निचोड़ना मेरा काम नहीं था। आनंद लेना।

यह ध्यान देने योग्य है कि इस विषय का अध्ययन करने की प्रक्रिया में, मैं अपने स्वयं के कुछ विकासों के साथ आया जो मुझे सूचकांक आकार में मामूली वृद्धि और स्वतंत्रता पर कुछ प्रतिबंधों के कारण परिमाण के क्रम से खोज समय को कम करने की अनुमति देते हैं। मेट्रिक्स चुनें. लेकिन यह बिल्कुल अलग कहानी है.

एन-ग्राम का उपयोग करना

एन-ग्राम का सामान्य उपयोग

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

प्राकृतिक भाषा प्रसंस्करण में भी एन-ग्राम का व्यापक रूप से उपयोग किया जाता है।

प्राकृतिक भाषा प्रसंस्करण आवश्यकताओं के लिए एन-ग्राम का उपयोग करना

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

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

Google अनुसंधान परियोजनाएँ

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

Google ने अपना स्वयं का शैक्षिक भवन बनाने का निर्णय लिया। इस परियोजना को Google teracorpus कहा जाता है और इसमें सार्वजनिक वेबसाइटों से एकत्र किए गए 1,024,908,267,229 शब्द शामिल हैं।

एन-ग्राम निकालने की विधियाँ

विभिन्न समस्याओं को हल करने के लिए एन-ग्राम के लगातार उपयोग के कारण, उन्हें पाठ से निकालने के लिए एक विश्वसनीय और तेज़ एल्गोरिदम की आवश्यकता होती है। एक उपयुक्त एन-ग्राम निष्कर्षण उपकरण असीमित पाठ आकार को संभालने, तेज़ होने और उपलब्ध संसाधनों का कुशल उपयोग करने में सक्षम होना चाहिए। पाठ से एन-ग्राम निकालने की कई विधियाँ हैं। ये विधियाँ विभिन्न सिद्धांतों पर आधारित हैं:

टिप्पणियाँ

यह भी देखें


विकिमीडिया फाउंडेशन.

  • 2010.
  • एन टी वी

एन cadherin

    देखें अन्य शब्दकोशों में "एन-ग्राम" क्या है:ग्राम - (फ्रांसीसी व्याकरण, ग्रीक व्याकरण विशेषता से)। फ्रेंच की इकाई वजन = 1 घन सेंटीमीटर आसुत जल का वजन = 22.5 रूसी। शेयरों रूसी भाषा में शामिल विदेशी शब्दों का शब्दकोश। चुडिनोव ए.एन., 1910। फ्रांस में वजन मापने की GRAM इकाई...

    रूसी भाषा के विदेशी शब्दों का शब्दकोशग्राम - चना, जीन। कृपया. ग्राम और स्वीकार्य (अंकों के बाद मौखिक भाषण में) ग्राम। एक सौ ग्राम (ग्राम)। बचाव मेंनए रूप मे जीनस. बहुवचन मामला ग्राम की संख्या रूसी भाषा के विशेषज्ञ, लेखक के. चुकोवस्की द्वारा बोली गई थी। यह उन्होंने "अलाइव ऐज़ लाइफ़" पुस्तक में लिखा है: ... ...

    देखें अन्य शब्दकोशों में "एन-ग्राम" क्या है:- ग्राम, ग्राम, पति। (ग्रीक व्याकरण चिन्ह, अक्षर से)। मीट्रिक प्रणाली में वजन की मूल इकाई, 1 घन सेंटीमीटर पानी के वजन के बराबर होती है। एक ग्राम का वजन एक पाउंड का लगभग 1/400 होता है। ❖ ग्राम परमाणु (भौतिक) किसी पदार्थ के ग्राम की संख्या उसके परमाणु भार के बराबर.... ... उषाकोव का व्याख्यात्मक शब्दकोश

    ग्राम-रेंटजेन- ग्राम रेंटजेन/एन, ग्राम रेंटजेन/एनए, जनरल। कृपया. ग्राम रॉन्टगन और ग्राम रॉन्टगन... एक साथ। अलग से। हाइफ़नेटेड.

    रूसी भाषा के विदेशी शब्दों का शब्दकोश- ग्राम, यह सरल शब्द त्रुटियों के शब्दकोश में शामिल नहीं किया जा सकता था, यदि दो परिस्थितियाँ न होतीं; सबसे पहले, यदि आप बिल्कुल सही भाषा में दिखावा करना चाहते हैं, तो जब आप स्टोर पर आएं, तो विक्रेता को सही शब्द से स्तब्ध कर दें: मुझे दो सौ ग्राम तौलो (नहीं... ...) रूसी भाषा की त्रुटियों का शब्दकोश

    ग्राम-परमाणु- ग्राम परमाणु, किसी तत्व की वह मात्रा जिसका द्रव्यमान, ग्राम में, उसके परमाणु द्रव्यमान के बराबर होता है। इसे SI इकाई मोल द्वारा प्रतिस्थापित किया गया। उदाहरण के लिए, हाइड्रोजन परमाणु का एक ग्राम (H, परमाणु द्रव्यमान = 1) एक ग्राम के बराबर है। b>ग्राम समतुल्य, वजन उसके ग्राम में... ... वैज्ञानिक और तकनीकी विश्वकोश शब्दकोश

    देखें अन्य शब्दकोशों में "एन-ग्राम" क्या है:- ग्राम, आह, दयालु। कृपया. ग्राम और ग्राम, पति. दशमलव प्रणाली में द्रव्यमान की एक इकाई, एक किलोग्राम का हजारवाँ भाग। किसी भी चीज़ का एक ग्राम (नहीं) नहीं (बोलचाल में) बिल्कुल नहीं, बिल्कुल नहीं। इस आदमी में ज़रा भी विवेक नहीं है। | adj. ग्राम, ओह, ओह. बुद्धिमान... ... ओज़ेगोव का व्याख्यात्मक शब्दकोश

    रूसी भाषा के विदेशी शब्दों का शब्दकोश- ए; कृपया. जीनस. ग्राम और ग्राम; एम. [फ़्रेंच] ग्राम] मीट्रिक प्रणाली में द्रव्यमान की इकाई, एक किलोग्राम का हजारवां हिस्सा। ◊ एक (एक) ग्राम नहीं। बिल्कुल नहीं, बिल्कुल नहीं. जिनमें एल. झूठ का एक कण भी नहीं. किसी के पास रत्ती भर भी विवेक नहीं है. * * *चना (फ्रेंच... विश्वकोश शब्दकोश

    ग्राम ज़ेनोब थियोफाइल- (ग्रैमे) (1826 1901), इलेक्ट्रिकल इंजीनियर। बेल्जियम में जन्मे, फ्रांस में काम किया। रिंग आर्मेचर (1869) के साथ व्यावहारिक रूप से प्रयोग करने योग्य विद्युत जनरेटर के लिए पेटेंट प्राप्त हुआ। विद्युत मशीनों के औद्योगिक उत्पादन की स्थापना की। * * * ग्राम ज़ेनोब... ... विश्वकोश शब्दकोश

    ग्राम-परमाणु- ग्राम में किसी पदार्थ की मात्रा, संख्यात्मक रूप से उसके परमाणु द्रव्यमान के बराबर। यह शब्द उपयोग के लिए अनुशंसित नहीं है. एसआई में, किसी पदार्थ की मात्रा मोल्स में व्यक्त की जाती है। * * * ग्राम परमाणु ग्राम परमाणु, ग्राम में किसी पदार्थ की मात्रा, संख्यात्मक रूप से उसके परमाणु द्रव्यमान के बराबर (सेमी ... विश्वकोश शब्दकोश

    ग्राम अणु- ग्राम में किसी पदार्थ की मात्रा, संख्यात्मक रूप से उसके आणविक भार के बराबर। यह शब्द उपयोग के लिए अनुशंसित नहीं है. एसआई में, किसी पदार्थ की मात्रा मोल्स में व्यक्त की जाती है। * * * ग्राम अणु ग्राम अणु, ग्राम में किसी पदार्थ की मात्रा, संख्यात्मक रूप से उसके बराबर होती है ... ... विश्वकोश शब्दकोश

,

माना एन-ग्राम भाषाई वास्तविकता को रिकॉर्ड करने के साधन के रूप में और एक मॉडल निर्माण के रूप में। मॉडल के बीच संबंध एन-ग्राम और औपचारिक व्याकरण. संभाव्य मॉडल के उपयोग से जुड़ी कमियों और विरोधाभासों की ओर ध्यान आकर्षित किया जाता है।

परिचय

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

यहां कुछ उदाहरण दिए गए हैं एन-ग्राम।

3. , एन-रूसी भाषा के ग्राम। // यह संग्रह.

4. ग्लैंज़ एस.चिकित्सा और जैविक आँकड़े। प्रति. अंग्रेज़ी से द्वारा संपादित और। एम., 1999.

5. वर्णनात्मक भाषाविज्ञान. जी. ग्लीसन की पुस्तक "वर्णनात्मक भाषाविज्ञान का परिचय" की प्रस्तावना। एम., 1959.

6. सैद्धांतिक और व्यावहारिक भाषाविज्ञान। एम., 1968.

8. , स्वचालित वाक् संश्लेषण के दौरान रुकना। // भाषण अनुसंधान का सिद्धांत और अभ्यास। एम. 1999.

9. मिंस्की एम.संज्ञानात्मक अचेतन की बुद्धि और तर्क। // विदेशी भाषाविज्ञान में नया। वॉल्यूम. तेईसवें. एम., 1988.

10. स्लोबिन डी., ग्रीन जे.मनोभाषाविज्ञान। एम., 1976

11. संभाव्यता सिद्धांत. एम., 1972.

12. फू के.पैटर्न पहचान में संरचनात्मक तरीके। एम., 1977.

13. हैरिस टी.यादृच्छिक प्रक्रियाओं की शाखा का सिद्धांत। एम., 1966.

14. ब्रिल ई. एट अल.आगे एन-ग्राम: क्या भाषाई परिष्कार भाषा मॉडलिंग में सुधार कर सकता है?

15. बूथ टी.औपचारिक भाषाओं का संभाव्यता प्रतिनिधित्व। //आईईईई वार्षिक सिम्प। स्विचिंग और ऑटोमेटा सिद्धांत। 1969.

16. जेलिनेक एफ.वाक् पहचान के लिए स्व-संगठित भाषा मॉडलिंग। // वाक् पहचान में रीडिंग। 1989.

17. जेलाइनक एफ., लाफ़र्टी जे.स्टोकेस्टिक संदर्भ-मुक्त व्याकरण द्वारा प्रारंभिक सबस्ट्रिंग पीढ़ी की संभावना की गणना। // कम्प्यूटेशनल भाषाविज्ञान, वॉल्यूम।

18. हैरिस जेड.एस.संरचनात्मक भाषाविज्ञान में विधि. शिकागो, 1951.

19. लैश्ली के.व्यवहार में क्रमबद्धता की समस्या. // साइकोलिंग्विस्टिक्स: ए बुक ऑफ रीडिंग्स, एन.वाई. 1961।

20. स्लेसिंगर ई.वाक्य संरचना और पढ़ने की प्रक्रिया। माउटन. 1968.

21. शीबर एस.प्राकृतिक भाषा की संदर्भ-मुक्ति के विरुद्ध साक्ष्य। // भाषाविज्ञान और दर्शन, खंड।

22. सोला पूल Iआज सामग्री विश्लेषण में रुझान। // साइकोलिंग्विस्टिक्स: ए बुक ऑफ रीडिंग्स, एन. वाई. 1961

23. स्टोलके ए., सेगल जे.स्टोकेस्टिक संदर्भ-मुक्त व्याकरण से सटीक एन-ग्राम संभावनाएं। //एसीएल की 32वीं वार्षिक बैठक की कार्यवाही। 1994.