सकारात्मक और नकारात्मक समीक्षाओं से खरीदार के खरीदारी के फ़ैसले के बारे में पता चल सकता है.
बाहरी शोध के अनुसार, 82% ऑनलाइन खरीदार सक्रिय रूप से नकारात्मक चीज़ों पर ध्यान देते हैं जो खरीदारी करने से पहले उनकी समीक्षा करते हैं. ये नकारात्मक समीक्षाएं इनके लिए काम की हैं शामिल हैं, क्योंकि नकारात्मक समीक्षाओं की उपलब्धता से आपको मदद मिल सकती है. सामान लौटाने की दरों को कम किया जा सकता है और मैन्युफ़ैक्चरर को अपने प्रॉडक्ट बेहतर बनाने में मदद की जा सकती है.
समीक्षा की क्वालिटी को बेहतर बनाने के लिए, यहां कुछ तरीके दिए गए हैं:
- सबमिट करने से पहले, हर समीक्षा की जांच करके उसमें बुरे बर्ताव का पता लगाना. हम उपयोगकर्ताओं को आपत्तिजनक भाषा के साथ-साथ, काम न आने वाली दूसरी टिप्पणियों को हटाने के लिए बढ़ावा दे सकते हैं, ताकि उनकी समीक्षा से दूसरे उपयोगकर्ताओं को खरीदारी करने का बेहतर फ़ैसला लेने में मदद मिले.
- नेगेटिव: यह बैग बहुत बुरा है और मुझे इससे नफ़रत है.
- काम के फ़ीडबैक के साथ नेगेटिव: ज़िपर बहुत सख्त होते हैं और मटीरियल सस्ता लगता है. मैंने यह बैग लौटा दिया है.
- समीक्षा में इस्तेमाल की गई भाषा के आधार पर, अपने-आप रेटिंग जनरेट होने की सुविधा चालू करें.
- तय करें कि समीक्षा, अच्छी है या नकारात्मक.
कुल मिलाकर, उपयोगकर्ता को प्रॉडक्ट रेटिंग के बारे में आखिरी जानकारी देनी चाहिए.
यहां दिया गया कोडलैब, ब्राउज़र में उपयोगकर्ता के डिवाइस पर ही सलूशन देता है. एआई की सुविधा नहीं है डेवलपमेंट की जानकारी, सर्वर या एपीआई पासकोड ज़रूरी हैं.
ज़रूरी शर्तें
वहीं, सर्वर साइड एआई (AI) की मदद से (जैसे, Gemini API या OpenAI API) की मदद से, पब्लिशरों के लिए बेहतरीन समाधान मिलते हैं इस गाइड में, हमने उपयोगकर्ता के डिवाइस पर मौजूद वेब एआई पर फ़ोकस किया है. उपयोगकर्ता के डिवाइस पर वेब एआई (AI) ऐसा तब होता है, जब ब्राउज़र में एआई मॉडल चलते हैं. इससे वेब उपयोगकर्ताओं को बेहतर अनुभव मिलता है ऐसा करने के लिए सर्वर राउंडट्रिप का इस्तेमाल नहीं किया जा सकता.
इस कोडलैब में, हम अलग-अलग तकनीकों का इस्तेमाल करके आपको दिखाते हैं कि आपके टूलबॉक्स में क्या-क्या है उपयोगकर्ता के अनुभव को बेहतर बनाने में मदद करता है.
हम इन लाइब्रेरी और मॉडल का इस्तेमाल करते हैं:
- TensforFlow.js का इस्तेमाल बुरे बर्ताव का विश्लेषण करने के लिए किया जाता है. TensorFlow.js, वेब पर अनुमान और ट्रेनिंग, दोनों के लिए एक ओपन सोर्स मशीन लर्निंग लाइब्रेरी है.
- भावनाओं के विश्लेषण के लिए, transformers.js. Transformers.js, Hugging Face की वेब एआई लाइब्रेरी है.
- स्टार रेटिंग के लिए Gemma 2B. Gemma एक लाइटवेट और ओपन मॉडल है. इसे Google ने रिसर्च और टेक्नोलॉजी का इस्तेमाल करके Gemini मॉडल बनाने के लिए बनाया है. Gemma को ब्राउज़र में चलाने के लिए, हम इसका इस्तेमाल MediaPipe के एक्सपेरिमेंट वाले LLM Inference API के साथ करते हैं.
उपयोगकर्ता अनुभव और सुरक्षा से जुड़ी बातें
उपयोगकर्ताओं को बेहतर अनुभव देने और उनकी सुरक्षा बनाए रखने के लिए, इन बातों का ध्यान रखें:
- उपयोगकर्ता को रेटिंग में बदलाव करने की अनुमति दें. कुल मिलाकर, उपयोगकर्ता के पास आखिरी फ़ैसला के बारे में ज़्यादा जानकारी मिलेगी.
- उपयोगकर्ता को साफ़ तौर पर बताएं कि रेटिंग और समीक्षाएं ऑटोमेटेड हैं.
- उपयोगकर्ताओं को ऐसी समीक्षा पोस्ट करने की अनुमति दें जिसे बुरे बर्ताव की कैटगरी में रखा गया हो. हालांकि, उसके लिए दोबारा जांच करना ज़रूरी है सर्वर पर जाएं. अगर समीक्षा में बुरे बर्ताव के ख़िलाफ़ कोई कार्रवाई की गई है, तो इससे बुरे बर्ताव की संभावना कम हो जाती है उसे गलती से बुरे बर्ताव (फ़ॉल्स पॉज़िटिव) के तौर पर मार्क किया गया हो. इसमें ऐसे मामले भी शामिल हैं जहां नुकसान पहुंचाने वाला उपयोगकर्ता, क्लाइंट-साइड जांच को बायपास कर लेता है.
- बुरे बर्ताव की जांच क्लाइंट-साइड से करना फ़ायदेमंद होता है, लेकिन इसे बायपास किया जा सकता है. पक्का करें कि तो सर्वर-साइड की भी जांच कर लें.
TensorFlow.js की मदद से, बुरे बर्ताव का विश्लेषण करना
TensorFlow.js की मदद से, उपयोगकर्ता की समीक्षा के बुरे बर्ताव का विश्लेषण तुरंत शुरू किया जा सकता है.
- इंस्टॉल करें और इंपोर्ट करें TensorFlow.js लाइब्रेरी और बुरे बर्ताव वाला मॉडल.
- अनुमान के लिए कम से कम भरोसा सेट करें. डिफ़ॉल्ट वैल्यू 0.85 है और हमारे उदाहरण में, हमने इसे 0.9 पर सेट कर दिया है.
- मॉडल को एसिंक्रोनस रूप से लोड करें.
- समीक्षा को एसिंक्रोनस रूप से वर्गीकृत करें. हमारा कोड यह पता लगाता है कि के थ्रेशोल्ड को 0.9 तक बढ़ाया जा सकता है.
इस मॉडल में, किसी भी तरह के बुरे बर्ताव को अलग-अलग कैटगरी में बांटा जा सकता है. जैसे, किसी व्यक्ति की पहचान करना, उसका अपमान करना, अश्लीलता वगैरह.
उदाहरण के लिए:
import * as toxicity from '@tensorflow-models/toxicity';
// Minimum prediction confidence allowed
const TOXICITY_COMMENT_THRESHOLD = 0.9;
const toxicityModel = await toxicity.load(TOXICITY_COMMENT_THRESHOLD);
const toxicityPredictions = await toxicityModel.classify([review]);
// `predictions` is an array with the raw toxicity probabilities
const isToxic = toxicityPredictions.some(
(prediction) => prediction.results[0].match
);
Transformers.js की मदद से भावनाओं का पता लगाएं
इंस्टॉल करें और Transformers.js लाइब्रेरी को इंपोर्ट करें.
भावनाओं का विश्लेषण करने की सुविधा सेट अप करना टास्क एक खास पाइपलाइन की मदद से. जब किसी पाइपलाइन का पहली बार इस्तेमाल किया जाता है, तो मॉडल को डाउनलोड और कैश मेमोरी में सेव किया जाता है. इसके बाद से, भावनाओं का विश्लेषण काफ़ी तेज़ी से हो जाना चाहिए.
समीक्षा को एसिंक्रोनस रूप से वर्गीकृत करें. लेवल सेट करने के लिए, अपने हिसाब से थ्रेशोल्ड सेट करना भरोसा है, जिसे आप अपने आवेदन के लिए उपयोगी मानते हैं.
उदाहरण के लिए:
import { pipeline } from '@xenova/transformers';
const SENTIMENT_THRESHOLD = 0.9;
// Create a pipeline (don't block rendering on this function)
const transformersjsClassifierSentiment = await pipeline(
'sentiment-analysis'
);
// When the user finishes typing
const sentimentResult = await transformersjsClassifierSentiment(review);
const { label, score } = sentimentResult[0];
if (score > SENTIMENT_THRESHOLD) {
// The sentiment is `label`
} else {
// Classification is not conclusive
}
Gemma और MediaPipe के साथ, स्टार रेटिंग का सुझाव दें
एलएलएम इन्फ़रेंस एपीआई की मदद से, लार्ज लैंग्वेज मॉडल (एलएलएम) को पूरी तरह से चलाया जा सकता है ब्राउज़र में खोलें.
यह नई क्षमता खास तौर पर मेमोरी और इसे देखते हुए पूरी तरह से बदलाव कर सकती है एलएलएम की डिमांड का आकलन करें. ये डिमांड, एलएलएम से सौ गुना ज़्यादा होती हैं ऑन-डिवाइस मॉडल. डिवाइस स्टैक में मौजूद ऑप्टिमाइज़ेशन से इनमें शामिल हैं: नए ऑपरेशन, क्वांटाइज़ेशन, कैश मेमोरी, और वेट शेयरिंग. सोर्स: "MediaPipe और TensorFlow Lite के साथ, डिवाइस पर बड़े लैंग्वेज मॉडल".
- इंस्टॉल और इंपोर्ट करना MediaPipe LLM अनुमान API (एपीआई).
- मॉडल डाउनलोड करें. यहां हम Gemma 2B का इस्तेमाल करते हैं, Kaggle से डाउनलोड किया गया. Gemma 2B, Google के ओपन-वेट मॉडल में से सबसे छोटा है.
FilesetResolver
का इस्तेमाल करके, कोड को मॉडल की सही फ़ाइलों पर ले जाएं. यह है यह ज़रूरी है, क्योंकि जनरेटिव एआई मॉडल की एक खास डायरेक्ट्री हो सकती है एसेट के लिए.- MediaPipe के एलएलएम इंटरफ़ेस के साथ मॉडल को लोड और कॉन्फ़िगर करें. इस्तेमाल के लिए मॉडल: इसके मॉडल की जगह की जानकारी, जवाबों की पसंदीदा लंबाई, साथ ही, तापमान के साथ क्रिएटिविटी का पसंदीदा लेवल भी सेट कर सकते हैं.
- मॉडल को कोई प्रॉम्प्ट दें (उदाहरण देखें).
- मॉडल के जवाब का इंतज़ार करें.
- रेटिंग के लिए पार्स करें: मॉडल के रिस्पॉन्स से स्टार रेटिंग निकालें.
import { FilesetResolver, LlmInference } from '@mediapipe/tasks-genai';
const mediaPipeGenAi = await FilesetResolver.forGenAiTasks();
const llmInference = await LlmInference.createFromOptions(mediaPipeGenAi, {
baseOptions: {
modelAssetPath: '/gemma-2b-it-gpu-int4.bin',
},
maxTokens: 1000,
topK: 40,
temperature: 0.5,
randomSeed: 101,
});
const prompt = …
const output = await llmInference.generateResponse(prompt);
const int = /\d/;
const ratingAsString = output.match(int)[0];
rating = parseInt(ratingAsString);
प्रॉम्प्ट का उदाहरण
const prompt = `Analyze a product review, and then based on your analysis give me the
corresponding rating (integer). The rating should be an integer between 1 and 5.
1 is the worst rating, and 5 is the best rating. A strongly dissatisfied review
that only mentions issues should have a rating of 1 (worst). A strongly
satisfied review that only mentions positives and upsides should have a rating
of 5 (best). Be opinionated. Use the full range of possible ratings (1 to 5). \n\n
\n\n
Here are some examples of reviews and their corresponding analyses and ratings:
\n\n
Review: 'Stylish and functional. Not sure how it'll handle rugged outdoor use, but it's perfect for urban exploring.'
Analysis: The reviewer appreciates the product's style and basic functionality. They express some uncertainty about its ruggedness but overall find it suitable for their intended use, resulting in a positive, but not top-tier rating.
Rating (integer): 4
\n\n
Review: 'It's a solid backpack at a decent price. Does the job, but nothing particularly amazing about it.'
Analysis: This reflects an average opinion. The backpack is functional and fulfills its essential purpose. However, the reviewer finds it unremarkable and lacking any standout features deserving of higher praise.
Rating (integer): 3
\n\n
Review: 'The waist belt broke on my first trip! Customer service was unresponsive too. Would not recommend.'
Analysis: A serious product defect and poor customer service experience naturally warrants the lowest possible rating. The reviewer is extremely unsatisfied with both the product and the company.
Rating (integer): 1
\n\n
Review: 'Love how many pockets and compartments it has. Keeps everything organized on long trips. Durable too!'
Analysis: The enthusiastic review highlights specific features the user loves (organization and durability), indicating great satisfaction with the product. This justifies the highest rating.
Rating (integer): 5
\n\n
Review: 'The straps are a bit flimsy, and they started digging into my shoulders under heavy loads.'
Analysis: While not a totally negative review, a significant comfort issue leads the reviewer to rate the product poorly. The straps are a key component of a backpack, and their failure to perform well under load is a major flaw.
Rating (integer): 1
\n\n
Now, here is the review you need to assess:
\n
Review: "${review}" \n`;
सीखने वाली अहम बातें
एआई/एमएल की जानकारी होना ज़रूरी नहीं है. प्रॉम्प्ट को डिज़ाइन करने के लिए बार-बार काम करना पड़ता है, लेकिन बाकी कोड, स्टैंडर्ड वेब डेवलपमेंट है.
उपयोगकर्ता के डिवाइस पर मौजूद मॉडल काफ़ी सटीक होते हैं. अगर आप इससे स्निपेट चलाते हैं रिकॉर्ड कर रहे हैं, तो आप पाएंगे कि बुरे बर्ताव और भावनाओं का विश्लेषण, सटीक नतीजे. Gemma की रेटिंग ज़्यादातर Gemini मॉडल से मेल खाती हैं की रेटिंग दें. इस बात की पुष्टि करने के लिए कि जानकारी सही है, के लिए और टेस्ट करने की ज़रूरत है.
हालांकि, Gemma 2B के लिए प्रॉम्प्ट को डिज़ाइन करने में बहुत मेहनत लगती है. क्योंकि Gemma 2B छोटा एलएलएम हो, तो उसे बेहतर नतीजे देने के लिए पूरी जानकारी देने की ज़रूरत होती है—खास तौर पर, ज़्यादा जानकारी मौजूद है.
अनुमान बहुत तेज़ी से लगाया जा सकता है. इस दस्तावेज़ के स्निपेट चलाने पर, आपको यह देखना चाहिए कि अनुमान तेज़ी से और सर्वर से ज़्यादा तेज़ हो सकता है . इसलिए, अनुमान की स्पीड अलग-अलग हो सकती है काफ़ी अच्छी तरह से मदद कर सकते हैं. टारगेट डिवाइस के लिए अच्छी मानक तय करने की ज़रूरत है. हमें डिवाइस पर मौजूद होने की उम्मीद है अनुमान लगाया जा सकता है. इससे वेब जीपीयू, WebAssembly, और लाइब्रेरी के अपडेट से जुड़ी जानकारी मिलती है. उदाहरण के लिए, Transformers.js किसी v3 में वेब जीपीयू सहायता, इसकी मदद से, उपयोगकर्ता के डिवाइस पर कई गुना तेज़ी से अनुमान लगाए जा सकते हैं.
डाउनलोड का साइज़ बहुत बड़ा हो सकता है. ब्राउज़र में अनुमान तेज़ है, लेकिन एआई मॉडल लोड करना मुश्किल हो सकता है. ब्राउज़र में मौजूद एआई के इस्तेमाल के लिए, को लाइब्रेरी और मॉडल, दोनों की ज़रूरत होती है, जो आपके वेब ऐप्लिकेशन के डाउनलोड साइज़ में जुड़ जाते हैं.
वहीं, Tensorflow में बुरे बर्ताव वाला मॉडल (क्लासिक नैचुरल लैंग्वेज प्रोसेसिंग मॉडल) यह सिर्फ़ कुछ किलोबाइट का है. यह जनरेटिव एआई मॉडल, जैसे कि Transformers.js का डिफ़ॉल्ट मॉडल है भावनाओं का विश्लेषण करने वाला मॉडल, 60 एमबी तक पहुंच गया है. जेमा जैसे बड़े लैंग्वेज मॉडल 1.3 जीबी जितना बड़ा होना चाहिए. यह मीडियन से ज़्यादा है 2.2 एमबी वाले वेब पेज का साइज़, जो कि अब तक के बेहतरीन परफ़ॉर्मेंस के लिए सुझाए गए बजट से बहुत ज़्यादा है. डिवाइस पर जनरेटिव एआई कुछ खास स्थितियों में कारगर है.
वेब पर जनरेटिव एआई का क्षेत्र तेज़ी से बदल रहा है! इससे छोटा, वेब के लिए ऑप्टिमाइज़ किए गए मॉडल ये हैं उभरते हुए मिलने की उम्मीद है आने वाले समय में.
अगले चरण
Chrome, ब्राउज़र में जनरेटिव एआई का इस्तेमाल करने के लिए, एक और तरीके पर एक्सपेरिमेंट कर रहा है. आपके पास रिलीज़ होने से पहले झलक दिखाने वाले कार्यक्रम के लिए साइन अप करने का विकल्प है इसका परीक्षण करें.