2010-05-13 16 views
5

मैं एक दस्तावेज़ और बड़ी संख्या में दस्तावेज़ों (एन ~ = 1 मिलियन) जितनी जल्दी हो सके दस्तावेज़ समानता निर्धारित करने की कोशिश कर रहा हूं। अधिक विशेष रूप से, जिन दस्तावेज़ों की तुलना मैं कर रहा हूं वे ई-मेल हैं; उन्हें समूहीकृत किया जाता है (यानी, फ़ोल्डर्स या टैग होते हैं) और मैं यह निर्धारित करना चाहता हूं कि कौन सा समूह नए ई-मेल के लिए सबसे उपयुक्त है। तेज प्रदर्शन महत्वपूर्ण है।बहुत तेज़ दस्तावेज़ समानता

मेरी प्राथमिकता यह है कि टर्म वेक्टर के बीच कोसाइन समानता इस एप्लिकेशन के लिए उपयुक्त है; कृपया टिप्पणी करें कि यह उपयोग करने के लिए एक अच्छा उपाय है या नहीं!

मैं पहले से ही प्रदर्शन को तेज करने के लिए नीचे दी गई संभावनाओं को ध्यान में रखा है

  1. सभी अवधि वैक्टर

  2. प्रत्येक समूह के लिए एक शब्द वेक्टर की गणना (एन ~ = 10,000) पूर्व सामान्य प्रत्येक ई-मेल (एन ~ = 1,000,000) के बजाए; यह शायद मेरे आवेदन के लिए स्वीकार्य होगा, लेकिन यदि आप ऐसा करने का कोई कारण नहीं सोच सकते हैं, तो मुझे बताएं! एक नया ई-मेल एक नया शब्द पिछले ई मेल में से किसी में पहले कभी नहीं देखा है, तो

    1. , इसका मतलब यह है कि मैं फिर से करने की जरूरत है:

    मैं कुछ प्रश्न हैं मेरे शब्द वैक्टर के सभी गणना करें? यह महंगा लगता है।

  3. क्या केवल वेक्टरों पर विचार करने के लिए कुछ चालाक तरीका है जो क्वेरी दस्तावेज़ के करीब होने की संभावना है?

  4. क्या इन सभी वैक्टरों के लिए उपयोग की जा रही मेमोरी की मात्रा के बारे में अधिक मितव्ययी होने का कोई तरीका है?

धन्यवाद!

उत्तर

4

Bayesian filtering का उपयोग करें। प्रदान किया गया लिंक स्पैम फ़िल्टरिंग को संदर्भित करता है, लेकिन आप एल्गोरिदम को कई श्रेणियों/टैगों पर आसानी से अनुकूलित कर सकते हैं।

बहुत अच्छे SO question about Bayesian filtering भी हैं।

+0

सिफारिश के लिए धन्यवाद। Bayesian फ़िल्टरिंग एक दिलचस्प विचार है। मेरे पास कुछ प्रश्न हैं: 1. आपको लगता है कि बीएफ इस उदाहरण के लिए कोसाइन समानता से बेहतर क्यों है? 2. मुझे कुछ याद आ रहा है, लेकिन क्या मेरे वर्गीकरण समय अभी भी एन (एन) श्रेणियों की संख्या के लिए नहीं होगा, जैसा कि यह कोसाइन समानता के लिए होगा? मुझे लगता है कि मुझे संभावित वर्गीकरण उम्मीदवारों को रैंक करने के लिए एक ओ (लॉग एन) या ओ (1) लुकअप टेबल की आवश्यकता है। – Peyton

+0

इस पर वापस आ रहा है - अब मैं समस्या के लिए बेयसियन फ़िल्टरिंग की कोशिश कर रहा हूं - एक अच्छा विचार प्रतीत होता है, इसलिए इस उत्तर को स्वीकार करना। – Peyton

संबंधित मुद्दे