टीएफ-आईडीएफ टेक्स्ट में टोकन के महत्व को मापने का एक तरीका है; दस्तावेज़ों को संख्याओं की सूची में बदलने का यह एक बहुत ही आम तरीका है (शब्द वेक्टर जो कोण के एक किनारे को आप कोसाइन प्राप्त कर रहे हैं) प्रदान करता है।
कोसाइन समानता की गणना करने के लिए, आपको दो दस्तावेज़ वैक्टरों की आवश्यकता है; वेक्टर इंडेक्स के साथ प्रत्येक अद्वितीय शब्द का प्रतिनिधित्व करते हैं, और उस सूचकांक का मूल्य कुछ उपाय है कि दस्तावेज़ के लिए यह शब्द कितना महत्वपूर्ण है और सामान्य रूप से दस्तावेज़ समानता की सामान्य अवधारणा के लिए।
आप बस प्रत्येक शब्द दस्तावेज़ में हुई समय की संख्या (टी ईआरएम एफ requency) गिनती सकता है, और वेक्टर में अवधि स्कोर के लिए कि पूर्णांक परिणाम का उपयोग, लेकिन परिणाम बहुत नहीं होगा अच्छा। बेहद आम शब्द (जैसे "है", "और", और "द") कई दस्तावेजों को एक-दूसरे के समान दिखने का कारण बनेंगे। (उन विशेष उदाहरणों को stopword list का उपयोग करके संभाला जा सकता है, लेकिन अन्य सामान्य शब्द जो सामान्य रूप से एक स्टॉपवर्ड नहीं मानते हैं, वही समस्या का कारण बनते हैं। स्टैक ओवरफ्लो पर, शब्द "प्रश्न" इस श्रेणी में पड़ सकता है। अगर आप थे खाना पकाने के व्यंजनों का विश्लेषण करने, तो आप शायद शब्द "अंडा" में समस्याएं आती हैं चाहते हैं।)
TF-आईडीएफ ध्यान में रखते हुए कच्चे अवधि आवृत्ति समायोजित कर देता है कि कैसे लगातार प्रत्येक शब्द सामान्य (डी ocument एफ में होता है आवश्यकता)। मैं nverse डी ocument एफ requency आमतौर पर दस्तावेजों की संख्या अवधि (विकिपीडिया से छवि) में होता है से विभाजित दस्तावेजों की संख्या का लॉग है:
का लगता है कि ' 'मामूली बारीकियों के रूप में लॉग इन करें जो चीजों को लंबे समय तक काम करने में मदद करता है - जब यह तर्क बढ़ता है तो बढ़ता है, इसलिए यदि शब्द दुर्लभ है, तो आईडीएफ उच्च होगा (बहुत सारे दस्तावेजों द्वारा विभाजित दस्तावेज बहुत सारे हैं), यदि शब्द आम है, आईडीएफ कम होगा (दस्तावेजों के बहुत सारे दस्तावेजों द्वारा विभाजित दस्तावेज ~ = 1)।
कहें कि आपके पास 100 व्यंजन हैं, और सभी को अंडे की आवश्यकता है, अब आपके पास तीन और दस्तावेज हैं जिनमें सभी को पहले दस्तावेज़ में "अंडा", दूसरे दस्तावेज़ में दो बार और तीसरे दस्तावेज़ में एक बार "अंडे" शब्द होता है। प्रत्येक दस्तावेज़ में 'अंडे' के लिए आवृत्ति शब्द 1 या 2 है, और दस्तावेज़ आवृत्ति 99 है (या, तर्कसंगत रूप से, 102, यदि आप नए दस्तावेज़ों को गिनते हैं। चलो 99 के साथ चिपके रहें)।
'अंडा' की TF-आईडीएफ है:
1 * log (100/99) = 0.01 # document 1
2 * log (100/99) = 0.02 # document 2
1 * log (100/99) = 0.01 # document 3
ये सब बहुत कम संख्या कर रहे हैं; इसके विपरीत, आइए एक और शब्द देखें जो केवल आपके 100 नुस्खा कॉर्पस में से 9 में होता है: 'arugula'। यह पहले दस्तावेज़ में दो बार होता है, दूसरे में तीन बार होता है, और तीसरे दस्तावेज़ में नहीं होता है।
'arugula' के लिए TF-आईडीएफ है:
1 * log (100/9) = 2.40 # document 1
2 * log (100/9) = 4.81 # document 2
0 * log (100/9) = 0 # document 3
'arugula' दस्तावेज़ 2 के लिए वास्तव में महत्वपूर्ण है, कम से कम 'अंडा' की तुलना में। कौन परवाह करता है अंडे कितनी बार होता है? सब कुछ अंडा होता है! ये शब्द वैक्टर सरल गणनाओं की तुलना में बहुत अधिक जानकारीपूर्ण होते हैं, और परिणामस्वरूप दस्तावेज़ 1 & 2 एक साथ निकटता (दस्तावेज़ 3 के संबंध में) होने के परिणामस्वरूप होंगे यदि वे सामान्य शब्द गणना का उपयोग करते हैं। इस मामले में, एक ही परिणाम शायद उठ जाएगा (हे! हमारे पास केवल दो शब्द हैं), लेकिन अंतर छोटा होगा।
यहां ले टेक-होम यह है कि टीएफ-आईडीएफ दस्तावेज़ में किसी शब्द के अधिक उपयोगी उपाय उत्पन्न करता है, इसलिए आप वास्तव में सामान्य शब्दों (स्टॉपवर्ड, 'अंडे') पर ध्यान केंद्रित नहीं करते हैं, और महत्वपूर्ण शर्तों को खो देते हैं ('आर्गुला')।
मुझे एक अद्भुत [ब्लॉग] मिला (https://janav.wordpress.com/2013/10/27/tf-idf-and-cosine-similarity/)। यह वास्तव में मदद करता है। – divyum