अनुशंसा

TensorFlow.org पर देखें Google Colab में चलाएं GitHub पर स्रोत देखें

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

शुरू हो जाओ

हम एक TensorFlow Lite नमूना एप्लिकेशन प्रदान करते हैं जो दर्शाता है कि Android पर उपयोगकर्ताओं को प्रासंगिक आइटम की अनुशंसा कैसे करें।

एंड्रॉइड उदाहरण

यदि आप Android के अलावा किसी अन्य प्लेटफ़ॉर्म का उपयोग कर रहे हैं, या आप पहले से ही TensorFlow Lite API से परिचित हैं, तो आप हमारे स्टार्टर अनुशंसा मॉडल को डाउनलोड कर सकते हैं।

स्टार्टर मॉडल डाउनलोड करें

हम आपके अपने मॉडल को कॉन्फ़िगर करने योग्य तरीके से प्रशिक्षित करने के लिए जीथब में प्रशिक्षण स्क्रिप्ट भी प्रदान करते हैं।

प्रशिक्षण कोड

मॉडल आर्किटेक्चर को समझें

हम एक दोहरे-एनकोडर मॉडल आर्किटेक्चर का लाभ उठाते हैं, संदर्भ-एनकोडर के साथ अनुक्रमिक उपयोगकर्ता इतिहास को एन्कोड करने के लिए और अनुमानित अनुशंसा उम्मीदवार को एन्कोड करने के लिए लेबल-एनकोडर। संदर्भ और लेबल एन्कोडिंग के बीच समानता का उपयोग इस संभावना का प्रतिनिधित्व करने के लिए किया जाता है कि अनुमानित उम्मीदवार उपयोगकर्ता की जरूरतों को पूरा करता है।

इस कोड आधार के साथ तीन अलग-अलग अनुक्रमिक उपयोगकर्ता इतिहास एन्कोडिंग तकनीकें प्रदान की जाती हैं:

  • बैग-ऑफ-वर्ड्स एन्कोडर (BOW): संदर्भ क्रम पर विचार किए बिना उपयोगकर्ता गतिविधियों की औसत एम्बेडिंग।
  • कन्वेन्शनल न्यूरल नेटवर्क एनकोडर (सीएनएन): संदर्भ एन्कोडिंग उत्पन्न करने के लिए कन्वेन्शनल न्यूरल नेटवर्क की कई परतों को लागू करना।
  • आवर्तक तंत्रिका नेटवर्क एनकोडर (RNN): संदर्भ अनुक्रम को एन्कोड करने के लिए आवर्तक तंत्रिका नेटवर्क को लागू करना।

प्रत्येक उपयोगकर्ता गतिविधि को मॉडल करने के लिए, हम गतिविधि आइटम की आईडी (आईडी-आधारित), या आइटम की कई विशेषताओं (सुविधा-आधारित), या दोनों के संयोजन का उपयोग कर सकते हैं। फीचर-आधारित मॉडल उपयोगकर्ताओं के व्यवहार को सामूहिक रूप से सांकेतिक शब्दों में बदलने के लिए कई विशेषताओं का उपयोग करता है। इस कोड आधार के साथ, आप एक विन्यास योग्य तरीके से या तो आईडी-आधारित या सुविधा-आधारित मॉडल बना सकते हैं।

प्रशिक्षण के बाद, एक TensorFlow लाइट मॉडल निर्यात किया जाएगा जो सीधे अनुशंसा उम्मीदवारों के बीच शीर्ष-K पूर्वानुमान प्रदान कर सकता है।

अपने प्रशिक्षण डेटा का उपयोग करें

प्रशिक्षित मॉडल के अलावा, हम आपके अपने डेटा के साथ मॉडल को प्रशिक्षित करने के लिए GitHub में एक ओपन-सोर्स टूलकिट प्रदान करते हैं। टूलकिट का उपयोग करने और अपने स्वयं के मोबाइल एप्लिकेशन में प्रशिक्षित मॉडल को परिनियोजित करने का तरीका जानने के लिए आप इस ट्यूटोरियल का अनुसरण कर सकते हैं।

कृपया अपने स्वयं के डेटासेट का उपयोग करके अनुशंसा मॉडल को प्रशिक्षित करने के लिए यहां उपयोग की गई उसी तकनीक को लागू करने के लिए इस ट्यूटोरियल का अनुसरण करें।

उदाहरण

उदाहरण के तौर पर, हमने आईडी-आधारित और फीचर-आधारित दृष्टिकोणों के साथ अनुशंसा मॉडल को प्रशिक्षित किया। आईडी-आधारित मॉडल इनपुट के रूप में केवल मूवी आईडी लेता है, और फीचर-आधारित मॉडल मूवी आईडी और मूवी शैली आईडी दोनों इनपुट के रूप में लेता है। कृपया निम्नलिखित इनपुट और आउटपुट उदाहरण खोजें।

इनपुट

  • प्रसंग मूवी आईडी:

    • द लायन किंग (आईडी: 362)
    • टॉय स्टोरी (आईडी: 1)
    • (और अधिक)
  • प्रसंग मूवी शैली आईडी:

    • एनिमेशन (आईडी: 15)
    • बच्चों की (आईडी: 9)
    • संगीतमय (आईडी: 13)
    • एनिमेशन (आईडी: 15)
    • बच्चों की (आईडी: 9)
    • कॉमेडी (आईडी: 2)
    • (और अधिक)

आउटपुट:

  • अनुशंसित मूवी आईडी:
    • टॉय स्टोरी 2 (आईडी: 3114)
    • (और अधिक)

प्रदर्शन बेंचमार्क

प्रदर्शन बेंचमार्क नंबर यहां वर्णित टूल से जेनरेट किए जाते हैं।

मॉडल नाम मॉडल का आकार उपकरण सी पी यू
अनुशंसा (मूवी आईडी इनपुट के रूप में) 0.52 एमबी पिक्सेल 3 0.09ms*
पिक्सेल 4 0.05ms*
अनुशंसा (मूवी आईडी और मूवी शैली इनपुट के रूप में) 1.3 एमबी पिक्सेल 3 0.13ms*
पिक्सेल 4 0.06ms*

* 4 धागे का इस्तेमाल किया।

अपने प्रशिक्षण डेटा का उपयोग करें

प्रशिक्षित मॉडल के अलावा, हम आपके अपने डेटा के साथ मॉडल को प्रशिक्षित करने के लिए GitHub में एक ओपन-सोर्स टूलकिट प्रदान करते हैं। टूलकिट का उपयोग करने और अपने स्वयं के मोबाइल एप्लिकेशन में प्रशिक्षित मॉडल को परिनियोजित करने का तरीका जानने के लिए आप इस ट्यूटोरियल का अनुसरण कर सकते हैं।

कृपया अपने स्वयं के डेटासेट का उपयोग करके अनुशंसा मॉडल को प्रशिक्षित करने के लिए यहां उपयोग की गई उसी तकनीक को लागू करने के लिए इस ट्यूटोरियल का अनुसरण करें।

आपके डेटा के साथ मॉडल अनुकूलन के लिए टिप्स

इस डेमो एप्लिकेशन में एकीकृत पूर्व-प्रशिक्षित मॉडल को MovieLens डेटासेट के साथ प्रशिक्षित किया गया है, आप अपने स्वयं के डेटा के आधार पर मॉडल कॉन्फ़िगरेशन को संशोधित करना चाह सकते हैं, जैसे वोकैब आकार, एम्बेडिंग डिम्स और इनपुट संदर्भ लंबाई। यहां कुछ सलाह हैं:

  • इनपुट संदर्भ लंबाई: सर्वोत्तम इनपुट संदर्भ लंबाई डेटासेट के साथ भिन्न होती है। हम सुझाव देते हैं कि लंबी अवधि के हितों बनाम अल्पकालिक संदर्भ के साथ कितने लेबल ईवेंट सहसंबद्ध हैं, इसके आधार पर इनपुट संदर्भ लंबाई का चयन करें।

  • एन्कोडर प्रकार का चयन: हम इनपुट संदर्भ लंबाई के आधार पर एन्कोडर प्रकार का चयन करने का सुझाव देते हैं। बैग-ऑफ-वर्ड्स एन्कोडर कम इनपुट संदर्भ लंबाई (जैसे <10) के लिए अच्छी तरह से काम करता है, सीएनएन और आरएनएन एन्कोडर लंबे इनपुट संदर्भ लंबाई के लिए अधिक संक्षेपण क्षमता लाते हैं।

  • वस्तुओं या उपयोगकर्ता गतिविधियों का प्रतिनिधित्व करने के लिए अंतर्निहित सुविधाओं का उपयोग करने से मॉडल के प्रदर्शन में सुधार हो सकता है, ताजा वस्तुओं को बेहतर ढंग से समायोजित किया जा सकता है, संभवतः कम पैमाने पर एम्बेडिंग रिक्त स्थान इसलिए मेमोरी खपत को कम करता है और डिवाइस पर अधिक अनुकूल होता है।