הערכת ביקורות על מוצרים באמצעות AI

Maud Nalpas
Maud Nalpas
Kenji Baheux
Kenji Baheux
Alexandra Klepper
Alexandra Klepper

כשקונים באינטרנט, קשה לראות את הכמות של ביקורות המוצרים ואת כמות המוצרים הזמינים. איך אפשר לסנן את כל ה"רעש" כדי למצוא את המוצר שיענה על הצרכים הספציפיים שלנו?

לדוגמה, נניח שאנחנו קונים תיק גב לעבודה. תרמילים צריכים לשמור על איזון בין תפקוד, אסתטיקה ופרקטיות. לפי מספר הביקורות, כמעט בלתי אפשרי לדעת אם מצאת את התיק המושלם. מה היה קורה אם היינו יכולים להשתמש ב-AI כדי לסנן את הרעש ולמצוא את המוצר המושלם?

המידע הכי שימושי הוא סיכום של כל הביקורות, ורשימה של היתרונות והחסרונות הנפוצים ביותר.

דוגמה לביקורת של משתמש עם הדגשות חיוביות ושליליות.
דוגמה לביקורת של משתמש עם דירוג כוכבים ורשימת יתרונות וחסרונות.

כדי ליצור אותו, אנחנו נעזרים בבינה מלאכותית גנרטיבית בצד השרת. הסקת המסקנות מתרחשת בשרת.

במסמך הזה מפורט מדריך לשימוש ב-Gemini API עם Node.js, תוך שימוש ב-Google AI JavaScript SDK כדי לסכם נתונים מביקורות רבות. נתמקד בחלק של ה-AI הגנרטיבי בעבודה הזו, ולא נסביר איך לשמור את התוצאות או ליצור תור למשימות.

בפועל, אפשר להשתמש בכל ממשק API של LLM עם כל ערכת SDK. עם זאת, יכול להיות שתצטרכו להתאים את ההצעה לפעולה כדי לעמוד במודל שבחרתם.

דרישות מוקדמות

  1. יוצרים מפתח ל-Gemini API ומגדירים אותו בקובץ הסביבה.

  2. מתקינים את Google AI JavaScript SDK, לדוגמה באמצעות npm: npm install @google/generative-ai

בניית אפליקציה לסיכום ביקורות

  1. מפעילים אובייקט של AI גנרטיבי.
  2. צור פונקציה כדי ליצור סיכומי ביקורות.
    1. בוחרים את מודל ה-AI הגנרטיבי. בתרחיש לדוגמה שלנו, נשתמש ב-Gemini Pro. עליכם להשתמש במודל שהוא ספציפי לתרחיש לדוגמה שלכם (לדוגמה, gemini-pro-vision הוא לקלט מרובה מצבים).
    2. מוסיפים הנחיה.
    3. צריך לקרוא לפונקציה generateContent כדי להעביר את ההנחיה כארגומנט.
    4. יוצרים את התגובה ומחזירים אותה.
const { GoogleGenerativeAI } = require("@google/generative-ai");

// Access the API key env
const genAI = new GoogleGenerativeAI(process.env.API_KEY_GEMINI);

async function generateReviewSummary(reviews) {
  // Use gemini-pro model for text-only input
  const model = genAI.getGenerativeModel({ model: "gemini-pro" });
  // Shortened for legibility. See "Write an effective prompt" for
  // writing an actual production-ready prompt.
  const prompt = `Summarize the following product reviews:\n\n${reviews}`;
  const result = await model.generateContent(prompt);
  const response = await result.response;
  const summary = response.text();
  return summary;
}

כתיבת הנחיה יעילה

הדרך הטובה ביותר להצליח בעזרת בינה מלאכותית גנרטיבית היא ליצור הנחיה יסודית. בדוגמה הזו השתמשנו בטכניקה הנחיה אחת (one-shot) כדי לקבל פלט עקבי.

יצירת הנחיות מדוגמה אחת מיוצגת על ידי הפלט לדוגמה של Gemini.

const prompt =
`I will give you user reviews for a product. Generate a short summary of the
reviews, with focus on the common positive and negative aspects across all of
the reviews. Use the exact same output format as in the example (list of
positive highlights, list of negative aspects, summary). In the summary,
address the potential buyer with second person ("you", "be aware").

Input (list of reviews):
// ... example

Output (summary of reviews):
// ... example

**Positive highlights**
// ... example
**Negative aspects**
// ... example
**Summary**
// ... example

Input (list of reviews):
${reviews}

Output (summary of all input reviews):`;

לפניכם פלט לדוגמה מההנחיה הזו, שכולל סיכום של כל הביקורות ורשימת יתרונות וחסרונות נפוצים.

## Summary of Reviews:

**Positive highlights:**

* **Style:** Several reviewers appreciate the backpack's color and design.
* **Organization:** Some users love the compartments and find them useful for
  organization.
* **Travel & School:** The backpack seems suitable for both travel and school
  use, being lightweight and able to hold necessary items.

**Negative aspects:**

* **Durability:** Concerns regarding the zipper breaking and water bottle holder
  ripping raise questions about the backpack's overall durability.
* **Size:** A few reviewers found the backpack smaller than expected.
* **Material:** One user felt the material was cheap and expressed concern about
  its longevity.

**Summary:**

This backpack seems to be stylish and appreciated for its organization and
suitability for travel and school. However, you should be aware of potential
durability issues with the zippers and water bottle holder. Some users also
found the backpack smaller than anticipated and expressed concerns about the
material's quality.

מגבלות האסימונים

הרבה ביקורות יכולות להגיע למגבלת האסימונים של המודל. אסימונים לא תמיד שווים למילה יחידה; אסימון יכול להיות חלקים ממילה או כמה מילים יחד. לדוגמה, ל-Gemini Pro יש מגבלה של 30,720 אסימונים. כלומר, ההנחיה יכולה לכלול עד 600 ביקורות בממוצע 30 מילים באנגלית, פחות שאר ההוראות של ההנחיות.

משתמשים ב-countTokens() כדי לבדוק את מספר האסימונים, ולהקטין את הקלט במקרה שההנחיה גדולה מהמותר.

const MAX_INPUT_TOKENS = 30720
const { totalTokens } = await model.countTokens(prompt);
if (totalTokens > MAX_INPUT_TOKENS) {
    // Shorten the prompt.
}

פיתוח גרסת build לארגונים

אם אתם משתמשים ב-Google Cloud או שאתם צריכים תמיכה ארגונית, תוכלו להשתמש ב-Vertex AI כדי לקבל גישה ל-Gemini Pro ומודלים נוספים, כמו המודלים של Anthropic קלוד. תוכלו להשתמש ב-Model Garden כדי לקבוע איזה מודל הכי מתאים לתרחיש הספציפי שלכם.

השלבים הבאים

האפליקציה שפיתחנו מסתמכת בעיקר על ביקורות איכותיות כדי לספק את הסיכומים היעילים ביותר. כדי לאסוף את הביקורות האיכותיות האלה, קראו את המאמר הבא בסדרה: איך לעזור למשתמשים לכתוב ביקורות מועילות על מוצרים בעזרת טכנולוגיית AI מבית במכשיר.

אנחנו רוצים לשמוע מה דעתכם על הגישה הזו. ספרו לנו אילו תרחישים לדוגמה מעניינים אתכם ביותר. אתם יכולים לשתף משוב ולהצטרף לתוכנית טרום-ההשקה (Preview) כדי לבדוק את הטכנולוגיה הזו באמצעות אבות טיפוס מקומיים.

המשוב שלכם יעזור לנו להפוך את ה-AI לכלי רב-עוצמה אך מעשי לכולם.

השלב הבא: איך לעזור למשתמשים לכתוב ביקורות מועילות על מוצרים