पर आधारित मिलान के लिए एल्गोरिदम मान लीजिए कि हमारे पास ऐसे खरीदारों और विक्रेता हैं जो बाजार में एक दूसरे को खोजने की कोशिश कर रहे हैं। खरीदार अपनी जरूरतों को कीवर्ड के साथ टैग कर सकते हैं; विक्रेता जो भी बेच रहे हैं उसके लिए वही कर सकते हैं। मुझे एल्गोरिदम खोजने में दिलचस्पी है कि रैंक ऑर्डर विक्रेताओं को उनके दो कीवर्ड सेट के आधार पर एक विशेष खरीदार के लिए उनकी प्रासंगिकता के संदर्भ में।कीवर्ड छेड़छाड़
buyer_keywords = {"furry", "four legs", "likes catnip", "has claws"}
और फिर हम दो संभावित विक्रेताओं है कि हम उनकी प्रासंगिकता के संदर्भ में आदेश रैंक करने के लिए की जरूरत है:
seller_keywords[1] = {"furry", "four legs", "arctic circle", "white"}
seller_keywords[2] = {"likes catnip", "furry",
"hates mice", "yarn-lover", "whiskers"}
हम सिर्फ खोजशब्दों के चौराहे का उपयोग करते हैं
यहाँ एक उदाहरण है , हमें बहुत भेदभाव नहीं मिलता है: दोनों 2 कीवर्ड पर छेड़छाड़ करते हैं। यदि हम सेट यूनियन के आकार से छेड़छाड़ की गणना को विभाजित करते हैं, तो विक्रेता 2 अधिकतर कीवर्ड की वजह से वास्तव में खराब होता है। ऐसा लगता है कि कीवर्ड सेट आकार को सही नहीं करने के लिए किसी भी विधि के लिए स्वचालित जुर्माना पेश करना प्रतीत होता है (और हम निश्चित रूप से कीवर्ड जोड़ने को दंडित नहीं करना चाहते हैं)।
समस्या पर थोड़ा और संरचना में कहें, लगता है हम हम कर सकते थे अब कीवर्ड गुण (प्रत्येक विक्रेता के लिए 1 के लिए योग करने के लिए है जो), उदाहरण के लिए ,:
seller_keywords[1] = {"furry":.05,
"four legs":.05,
"arctic circle":.8,
"white":.1}
seller_keywords[2] = {"likes catnip":.5,
"furry":.4,
"hates mice":.02,
"yarn-lover":.02,
"whiskers":.06}
की तीव्रता के कुछ सच्चा उपाय है हिट के मूल्य को जोड़ो: तो अब विक्रेता 1 को केवल 1 का स्कोर मिलता है, जबकि विक्रेता 2 का स्कोर 9। अब तक, तो अच्छा है, लेकिन अब हम एक तिहाई विक्रेता एक बहुत ही सीमित, गैर-वर्णनात्मक कीवर्ड सेट के साथ मिल सकता है:
seller_keywords[3] = {"furry":1}
यह उनका एकमात्र कीवर्ड पर कोई हिट है, जो नहीं है के लिए शीर्ष करने के लिए उन्हें catapults अच्छा।
वैसे भी, मेरा अनुमान (और आशा) यह है कि यह एक सामान्य समस्या है और ज्ञात शक्तियों और सीमाओं के साथ विभिन्न एल्गोरिदमिक समाधान मौजूद हैं। यह शायद सीएस 101 में शामिल कुछ है, इसलिए मुझे लगता है कि इस प्रश्न का एक अच्छा जवाब प्रासंगिक संदर्भों का एक लिंक हो सकता है।
मुझे लगता है कि हमें मिलान किए गए कीवर्ड की संख्या के साथ प्रभावी स्कोर गुणा करना चाहिए। उदाहरण के लिए आपके उदाहरण के दूसरे मामले में हमारे पास केवल 1 मैच है और इसमें 1 का स्कोर प्रभावी स्कोर 1 * 1 = 1. है लेकिन मैं वही मामला जहां दो मैचों पाए जाते हैं, हमारे पास प्रभावी स्कोर 2 * 1 = 2 होगा। इस प्रकार यह चुना जाता है। आप इस दृष्टिकोण के बारे में क्या कहते हैं। – Algorithmist