2009-04-27 17 views
18

चीजों को सुझाव देने के लिए एक अच्छा एल्गोरिदम क्या है जो किसी को उनके पिछले विकल्पों के आधार पर पसंद हो सकता है? (उदाहरण के रूप में अमेज़न के द्वारा लोकप्रिय पुस्तकों का सुझाव है, और क्रुद्ध रेडियो या YAPE जैसी सेवाओं में प्रयोग किया जाता है जहाँ आप रेटिंग आइटम द्वारा सुझाव प्राप्त)उत्पादों का सुझाव देने के लिए एल्गोरिदम

उत्तर

12

सरल और सीधा (क्रम गाड़ी):

लेनदेनों की सूची रखें किस मद के साथ आदेश दिया गया था के संदर्भ में। उदाहरण के लिए जब कोई अमेज़ॅन पर कैमकॉर्डर खरीदता है, तो वे एक ही समय में रिकॉर्डिंग के लिए मीडिया खरीदते हैं।

किसी दिए गए उत्पाद पृष्ठ पर "सुझाए गए" का निर्णय लेने पर, उस उत्पाद को ऑर्डर करने वाले सभी ऑर्डर देखें, एक ही समय में खरीदे गए सभी अन्य आइटमों की गणना करें, और फिर शीर्ष 5 आइटम प्रदर्शित करें जो अक्सर होते थे एक ही समय में खरीदा।

आप न केवल आदेश के आधार पर उसे वहाँ से विस्तार कर सकते हैं, लेकिन लोगों को जो खोजा वेबसाइट के अनुक्रम, आदि में

एक रेटिंग प्रणाली के संदर्भ (यानी, फिल्म रेटिंग्स) में:

जब आप रेटिंग में फेंकते हैं तो यह अधिक कठिन हो जाता है। किसी ने खरीदे गए सामानों की एक अलग टोकरी के बजाय, आपके पास आइटम रेटिंग का ग्राहक इतिहास है।

उस बिंदु पर आप डेटा खनन देख रहे हैं, और जटिलता जबरदस्त है।

हालांकि, एक साधारण एल्गोरिदम ऊपर से बहुत दूर नहीं है, लेकिन यह एक अलग रूप लेता है। ग्राहक की उच्चतम रेटेड आइटम और सबसे कम रेटेड आइटम लें, और अन्य ग्राहकों को समान उच्चतम रेटेड और निम्न रेटेड सूचियों वाले ढूंढें। आप उन लोगों के साथ मिलना चाहते हैं जिनके पास समान चरम पसंद और नापसंद हैं - यदि आप केवल पसंदों पर ध्यान केंद्रित करते हैं, तो जब आप कुछ नफरत करते हैं, तो आप उन्हें एक बुरा अनुभव देंगे। सुझाव प्रणालियों में आप हमेशा "नफरत" के बजाय "कमजोर" अनुभव के पक्ष में गलती करना चाहते हैं क्योंकि एक बुरा अनुभव उन्हें सुझावों का उपयोग करने से खड़ा कर देगा।

ग्राहक को अन्य उच्चतम सूचियों में आइटमों का सुझाव दें।

+2

इसके बाद आप उसी जनसांख्यिकीय जानकारी (उदाहरण के लिए 18-24 आयु वर्ग के कोकेशियान पुरुषों) द्वारा किए गए उत्पाद खोजों की जांच कर सकते हैं। – TheTXI

+1

आदर्श रूप से आप बाजार को बहुत ही सीमित, जनसांख्यिकी, टैगिंग, समीक्षा कीवर्ड आदि सेगमेंट करेंगे, सभी आपके सुझाव इंजन में फ़ीड करेंगे। यह बहुत ही जटिल हो सकता है बहुत जल्दी ... लेकिन एक सरल पहले ऑर्डर सिस्टम के लिए उपर्युक्त बहुत अच्छी तरह से काम कर सकता है। एक बार यह जगह हो जाने पर, आप एल्गोरिदम और डेटा स्रोतों को अपने दिल की सामग्री में बदल सकते हैं ... –

1

अनुशंसित उत्पाद एल्गोरिदम अब एक दिन बड़े व्यवसाय हैं। एक के लिए नेटफ्लिक्स अपने एल्गोरिदम की सटीकता में केवल मामूली वृद्धि के लिए 100,000 की पेशकश कर रहा है।

3

हैकर समाचार पर "What is a Good Recommendation Algorithm?" और इसके discussion पर विचार करें। माइक्रोसॉफ्ट एसोसिएशन एल्गोरिथ्म माइक्रोसॉफ्ट निर्णय पेड़ एल्गोरिथ्म

इस MSDN लेख के लिए बाहर की जाँच करें:

माइक्रोसॉफ्ट उनके विश्लेषण सर्वर के साथ दो उपयुक्त एल्गोरिदम प्रदान करता है:

0

मार्केट बास्केट विश्लेषण अध्ययन के क्षेत्र के लिए आप देख रहे हैं इस समस्या को हल करने के लिए विश्लेषण सेवाओं का सर्वोत्तम उपयोग करने के सुझाव।

link text

3

वहाँ एक निश्चित जवाब नहीं है और यह अत्यधिक संभावना नहीं है कि के लिए एक मानक एल्गोरिथ्म है।

आप कैसे करते हैं उस डेटा पर निर्भर करता है जिस प्रकार आप संबंधित करना चाहते हैं और यह कैसे व्यवस्थित किया जाता है। यह इस बात पर निर्भर करता है कि आप अपने आवेदन के दायरे में "संबंधित" को कैसे परिभाषित करते हैं।

अक्सर सबसे सरल विचार अच्छे परिणाम उत्पन्न करता है। पुस्तकों के मामले में, यदि आपके पास प्रत्येक पुस्तक प्रविष्टि (लेखक, दिनांक, शैली इत्यादि कहें) के कई गुणों वाला डेटाबेस है, तो आप बस उसी लेखक, समान शैली, समान शीर्षक से पुस्तकों का यादृच्छिक सेट सुझा सकते हैं और इस तरह के अन्य।

हालांकि, आप हमेशा अधिक जटिल सामग्री का प्रयास कर सकते हैं। इस "उत्पाद" की आवश्यकता वाले अन्य उपयोगकर्ताओं का रिकॉर्ड रखना और अतीत में आवश्यक अन्य "उत्पादों" का सुझाव देना (उत्पाद किसी पुस्तक से कुछ भी हो सकता है, जिसे आप कल्पना कर सकते हैं)। कुछ ऐसी चीजें जिनके पास एक सुझाव समारोह है (हालांकि वे उत्पाद की विशेषताओं से जनसांख्यिकीय तक, बहुत अच्छी जानकारी लेते हैं, क्लाइंट की सेवा करने के लिए)।

या आप तथाकथित एआई का भी सहारा ले सकते हैं; तंत्रिका नेटवर्क का निर्माण किया जा सकता है जो उन सभी में उत्पाद के गुण हैं और कोशिश करें (पिछले अवलोकनों के आधार पर) इसे दूसरों से जोड़ने और खुद को अपडेट करने के लिए।

इनमें से किसी भी मामले का मिश्रण आपके लिए काम कर सकता है।

मैं व्यक्तिगत रूप से इस बारे में सोचने की सलाह दूंगा कि आप एल्गोरिदम कैसे काम करना चाहते हैं और संबंधित "उत्पादों" का सुझाव कैसे देना चाहते हैं। फिर, आप सभी विकल्पों का पता लगा सकते हैं: सरल से जटिल और अपनी आवश्यकताओं को संतुलित करें।

0

मुझे लगता है कि कम मीन स्क्वायर रिग्रेशन (या ऐसा कुछ) पर Google को करने से आपको चबाने के लिए कुछ मिल सकता है।

0

सिर्फ यह सोच बाहर जोर:

आप हर किसी को और हर किसी के बीच संबंध की गणना करनी है - अगर अच्छे और बुरे रेटिंग की अपने पैटर्न किसी और के द्वारा उन से मेल खाता है, तो यह अपने उच्च सुझाव दे सकते हैं (ओ^2?) आपको

पर यह चीजें हैं लेकिन यदि आपके पास केवल कुछ डेटा पॉइंट हैं तो यह कैसे काम करता है?

रेटिंग्स सामान्यीकृत होने की जरूरत है - जो सब कुछ दर 1 के रूप में किसी के द्वारा 2 * की रेटिंग * स्पष्ट रूप से एक हाँ वोट, जबकि जो 4 के रूप में सब कुछ * -5 * अधिक है दर किसी के द्वारा 2 * की रेटिंग है डाउन-वोट

स्पैमर को अपने सभी चीजों को अत्यधिक और प्रतिस्पर्धी बुरी तरह से कैसे रोकें? शायद सहसंबंध प्रणाली है कि करता है वैसे भी - अगर स्पैमर्स अपनी रेटिंग तो अपने सुझाव

अवमूल्यन कर रहे हैं साथ मेल नहीं खाते
0

मुझे लगता है कि एक "एकल मूल्य अपघटन के आधार पर पसंद/सिफारिश इंजन" है अधिकांश उपयोगी सलाह पहले से ही सुझाई गई है, लेकिन मैंने सोचा कि मैं बस इस बारे में सोचूंगा कि मैं इसके बारे में कैसे सोचूंगा, बस सोच रहा हूं, क्योंकि मैंने ऐसा कुछ नहीं किया है।

सबसे पहले मुझे पता चलेगा कि एप्लिकेशन में कहां इस्तेमाल किया जाएगा, इसलिए यदि मेरे पास स्टोर है तो यह चेक आउट में होगा। फिर मैं चेकआउट कार्ट में प्रत्येक आइटम के बीच एक रिश्ता बचाऊंगा।

अब यदि कोई उपयोगकर्ता किसी आइटम पृष्ठ पर जाता है तो मैं अन्य वस्तुओं से संबंधों की संख्या को गिन सकता हूं और उदाहरण के लिए चयनित आइटम के उच्चतम संख्या वाले 5 आइटम चुन सकता हूं।

मुझे यह सरल पता है, और शायद बेहतर तरीके हैं।

लेकिन मुझे आशा है कि यह मदद करता है

1

आप अब तक जवाब से निष्कर्ष निकाला है, और वास्तव में आप का सुझाव के रूप में, यह एक बड़े और जटिल विषय है।

  • प्रोग्रामिंग सीआई:: मैं नहीं आप एक जवाब, कम से कम कुछ भी नहीं नहीं किया गया है पहले से ही कहा गया है कि एक बिंदु आप विषय पर उत्कृष्ट पुस्तकों के एक जोड़े को दे सकते हैं, लेकिन मैं http://oreilly.com/catalog/9780596529321/ एक है पाइथन में नमूने के साथ काफी सौम्य परिचय।

  • सीआई कार्रवाई में: http://www.manning.com/alag गहराई में एक थोड़ा और अधिक लग रहा है (लेकिन मैं पहला अध्याय सिर्फ पढ़ा है या 2) और जावा में उदाहरण है।

+0

+1। मैं प्रोग्रामिंग सीआई पसंद करता हूं, जो मुझे लगता है कि सीआई में कार्रवाई के लिए सिद्धांत और अभ्यास के बीच संतुलन अधिक है, जो जावा पुस्तकालयों का उपयोग करने के लिए पूरी तरह से व्यंजनों के प्रति समर्पित है। लेकिन वे दोनों देखने लायक हैं। –

0

वहाँ Certona बुलाया अमेज़न द्वारा बनाई गई एक सिफारिश मंच है, आप पा सकते यह उपयोगी है, यह इस तरह के बी & क्यू और Screwfix www.certona.com/ में अधिक जानकारी प्राप्त कर के रूप में कंपनियों द्वारा इस्तेमाल किया जाता है

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

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