मैं यह पता लगाने की कोशिश कर रहा हूं कि क्या कोई लेख या मंच पोस्ट डेटाबेस के भीतर एक डुप्लिकेट प्रविष्टि है। मैंने इसे कुछ सोचा है, इस निष्कर्ष पर पहुंच रहा हूं कि कोई व्यक्ति जो डुप्लिकेट सामग्री है वह तीन में से एक का उपयोग करके ऐसा करेगा (पता लगाने के लिए अवरोही में मुश्किल है):
- सरल प्रतिलिपि पूरे पाठ को चिपकाएँ
- पाठ के हिस्सों को कॉपी और पेस्ट करें और इसे अपने स्वयं के साथ मर्ज करें
- एक बाहरी साइट से एक लेख की प्रतिलिपि बनाएँ और अपने स्वयं के रूप में बहाना करें
विश्लेषण के लिए तैयारी पाठ
मूल रूप से किसी भी विसंगतियों; लक्ष्य पाठ को यथासंभव "शुद्ध" बनाना है। अधिक सटीक परिणामों के लिए, पाठ "मानकीकृत" द्वारा है:
- डुप्लिकेट सफेद रिक्त स्थान स्ट्रिपिंग और प्रमुख और अनुगामी ट्रिमिंग।
- न्यूलाइन्स को \ n में मानकीकृत किया जाता है।
- HTML टैग हटा दिए जाते हैं।
- डारिंग फायरबॉल यूआरएल नामक एक RegEx का उपयोग करके छीन लिया जाता है।
- मैं अपने एप्लिकेशन में BB कोड का उपयोग करता हूं ताकि वह जाए।
- (ä) ccented और विदेशी (Enlgish के अलावा) अपने गैर विदेशी रूप में परिवर्तित हो जाते हैं।
मैं प्रत्येक लेख के बारे में (1) सांख्यिकी तालिका और (2) कीवर्ड तालिका में जानकारी संग्रहीत करता हूं।
(1) सांख्यिकी तालिका निम्नलिखित आँकड़े पाठ्य सामग्री (इस पोस्ट की तरह) के बारे में संग्रहीत हैं
- पाठ की लंबाई
- पत्र की गिनती
- शब्द गणना
- वाक्य गिनती
- प्रति वाक्य औसत शब्द
- स्वचालित पठनीयता सूचकांक
- कोहरे का स्कोर
यूरोपीय भाषाओं के लिए कोलमैन-लियाउ और स्वचालित पठनीयता सूचकांक का उपयोग किया जाना चाहिए क्योंकि वे शब्दांश गिनती का उपयोग नहीं करते हैं, इसलिए एक उचित सटीक स्कोर का उत्पादन करना चाहिए।
(२) खोजशब्द तालिका
कीवर्ड शब्द (सामान्य शब्द) की एक विशाल सूची को छोड़कर उत्पन्न होते हैं, उदाहरण के लिए, 'the', 'a', 'of', 'to', 'etc' आदि।
नमूना डेटा
- text_length, 3963
- letter_count, 3052
- word_count, 684
- pun_count, 33
- word_per_sentence, 21
- गन_फॉग, 11.5
- auto_read_index, 9.9
- कीवर्ड 1, मारा गया
- कीवर्ड 2, अधिकारी
- कीवर्ड 3, पुलिस
यह ध्यान दिया जाना चाहिए कि एक बार एक लेख को अपडेट करने के बाद उपरोक्त सभी आंकड़े पुन: प्राप्त हो जाते हैं और पूरी तरह से अलग मूल्य हो सकते हैं।
मैं उपरोक्त जानकारी का उपयोग यह पता लगाने के लिए कैसे कर सकता हूं कि क्या कोई लेख जो पहली बार प्रकाशित हो रहा है, पहले से ही डेटाबेस में मौजूद है?
मुझे पता है कि मैं कुछ भी डिजाइन करूंगा वह सही नहीं होगा, सबसे बड़ा जोखिम (1) सामग्री जो डुप्लिकेट नहीं है उसे डुप्लिकेट के रूप में चिह्नित किया जाएगा (सिस्टम) डुप्लिकेट सामग्री के माध्यम से अनुमति देता है।
इसलिए एल्गोरिथ्म को 0 से कोई जोखिम नहीं होने का जोखिम मूल्यांकन संख्या उत्पन्न करना चाहिए 5 संभावित डुप्लिकेट होना और 10 का डुप्लिकेट होना। 5 से ऊपर कुछ भी हो, तो एक अच्छी संभावना है कि सामग्री डुप्लिकेट है। इस मामले में सामग्री को ध्वजांकित किया जा सकता है और इसे लेख से जोड़ा जा सकता है जो कि संभव डुप्लिकेट हैं और एक मानव यह तय कर सकता है कि हटाएं या अनुमति दें।
जैसा कि मैंने कहा कि इससे पहले कि मैं पूरे लेख के लिए कीवर्ड संग्रहीत कर रहा हूं, हालांकि मुझे आश्चर्य है कि क्या मैं पैराग्राफ के आधार पर ऐसा कर सकता हूं; इसका मतलब डीबी में मेरे डेटा को अलग करना भी होगा लेकिन इससे मुझे अपने शुरुआती पद का पता लगाने में भी आसानी होगी।
मैं आँकड़ों के बीच औसत भारित सोच रहा हूँ, लेकिन किस क्रम में और क्या परिणाम होगा ...