समस्या:मिलान निकटतम फ़ाइल फ़ाइलें
मैं करीब 20 ASCII पाठ फ़ाइलें, जिनमें से प्रत्येक का एक आकार कम से कम 10^9 बाइट्स .Another ASCII पाठ फ़ाइल (FOO कहते हैं) दिया जाता है । कार्यक्रम रणनीतिक रूप से दी गई 20 फाइलों के साथ खाद्य पदार्थों की सामग्रियों से मेल खाता है और अंतिम मिलान फ़ाइल का नाम प्रिंट करता है। फूड की सामग्री केवल आंशिक रूप से मिल सकती है।
के बाद से फ़ाइल आकार बहुत बड़ा है, मैं सोच रहा हूँ:
1.How सूचना पुनर्प्राप्ति उपयोग करने के लिए (के बाद से मैं आईआर के बारे में ज्यादा पता नहीं है)
2.which डेटा संरचना मैं का उपयोग करना चाहिए ऐसी जानकारी स्टोर करने के लिए
3. इसे लागू करने के लिए सबसे अच्छा एल्गोरिदम क्या होगा।
मुझे पता है कि मैं बहुत ज्यादा पूछ रहा हूं, लेकिन वास्तव में मैं इस समस्या पर फंस गया हूं और यह जानने में सक्षम नहीं हूं कि कैसे पहुंचे। किसी भी मदद की सराहना की जाएगी। धन्यवाद!
कैसे स्कैन सभी फ़ाइलों के बारे में और प्रत्येक पाठ फ़ाइल के लिए शब्दों की एक आयामी वेक्टर बनाते हैं, तो आप documets के बीच कोण की गणना और चयन कर सकते हैं निकटतम एक? –
जैककार्ड इंडेक्स http://en.wikipedia.org/wiki/Jaccard_index का उपयोग करने का एक आसान तरीका होगा, हालांकि यह कोसाइन समानता के समान सटीकता प्रदान नहीं कर सकता है। ध्यान दें कि यह तकनीक सामान्यीकृत शब्द गणनाओं पर काम करती है। – decden
आपको वास्तव में "निकटतम" को परिभाषित करने की आवश्यकता है। यदि परीक्षण फ़ाइल फ़ाइल # 1 में सभी शब्दों से मेल खाती है, लेकिन रिवर्स ऑर्डर (यानी "त्वरित लाल फॉक्स" और "फॉक्स रेड क्विक द") में शब्दों के साथ, क्या यह फ़ाइल # 2 से बिल्कुल मेल खाने की तुलना में "करीब" है पहले 30% के लिए, लेकिन उसके बाद बहुत कम समानता है? मामला महत्वपूर्ण है? सफेद जगह?"निकटतम" की परिभाषा के बिना, आपको यह तय करने में कठिनाई होगी कि तुलना करने के लिए क्या करना है। –