2016-05-09 10 views
5

मैं एक प्रश्न के लिए tf-idf की गणना कैसे करूं? मैं समझता हूँ कि कैसे निम्नलिखित परिभाषा के साथ दस्तावेजों का एक सेट के लिए tf-आईडीएफ गणना करने के लिए:मैं क्वेरी के टीएफ-आईडीएफ की गणना कैसे करूं?

tf = दस्तावेज़/कुल शब्दों में दस्तावेज़ में आवृत्तियां

आईडीएफ = लॉग (#documents/#documents जहाँ शब्द

होता है लेकिन मुझे समझ नहीं आता कैसे है कि प्रश्नों को संबद्ध करता है।

उदाहरण के लिए, मैं a resource कि एक प्रश्न "life learning"

जीवन के मूल्यों को कहा गया है पढ़ा | टीएफ = .5 | आईडीएफ = 1.405507153 | tf_idf = 0.702753576
सीखना | टीएफ = .5 | आईडीएफ = 1.405507153 | tf_idf = 0,702753576

tf मूल्यों मैं समझता हूँ, प्रत्येक शब्द के दो संभावित शर्तों, इस प्रकार 1/2 से बाहर केवल एक बार दिखाई देता है, लेकिन मुझे नहीं पता कि जहां idf से आता है।
मुझे लगता है कि # दस्तावेज़ = 1 और घटना = 1, लॉग (1) = 0, इसलिए idf 0 होगा, लेकिन ऐसा लगता है कि यह मामला नहीं है। क्या यह आपके द्वारा उपयोग किए जा रहे दस्तावेज़ों पर आधारित है? आप क्वेरी के लिए टीएफ-आईडीएफ की गणना कैसे करते हैं?

उत्तर

2

केवल टीएफ (जीवन) क्वेरी पर निर्भर करता है। हालांकि, एक क्वेरी का आईडीएफ पृष्ठभूमि दस्तावेजों पर निर्भर करता है, इसलिए आईडीएफ (जीवन) = 1+ एलएन (3/2) ~ = 1.405507153। यही कारण है कि टीएफ-आईडीएफ को एक वैश्विक घटक (टर्म आवृत्ति) को वैश्विक घटक (व्यस्त दस्तावेज़ आवृत्ति) के साथ गुणा करने के रूप में परिभाषित किया जाता है।

0

आपकी क्वेरी मान लें, सबसे अच्छा कार बीमा है अपने कुल शब्दावली कार, सबसे अच्छा, ऑटो, बीमा शामिल हैं और आप N=1,000,000 दस्तावेज नहीं हैं।

enter image description here

और के अपने दस्तावेज़ हो सकता है एक:: तो आपकी क्वेरी से नीचे की तरह कुछ है

enter image description here

अब आप अपने Query और Document की TF-IDF के बीच कोज्या समानता गणना।

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