Phase 2: Embeddings & Semantic Search

חיפוש מילות מפתח נכשל כאשר המילים אינן תואמות בדיוק.

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

שלב 2 פותר זאת באמצעות שימוש ב-embeddings ובחיפוש סמנטי.

איך זה עובד:

• Tokenization: מחשבים אינם קוראים מילים. הם קוראים מספרים. Tokenizer מפרק טקסט לחלקים קטנים הנקראים tokens והופך אותם ל-Token IDs. מילים נפוצות הופכות לטוקן אחד. מילים נדירות מתפרקות למספר טוקנים.

• Embeddings: Token ID הוא רק תווית. שכבת ה-embedding הופכת את ה-ID הזה לווקטור. ווקטור הוא רשימה ארוכה של מספרים המייצגת משמעות. במקום מספר אחד, מודל משתמש במימדים רבים כדי לתאר מושג.

• Dimensions: חשבו על המספרים הללו כעל קואורדינטות. מימד אחד עשוי לייצג "frontend מול backend". אחר עשוי לייצג "web מול systems". ווקטורים רב-ממדיים מאפשרים למודל למקם את "React" ו-"JavaScript" קרוב זה לזה במרחב מתמטי.

• Semantic Search: כשאתם שואלים שאלה, המערכת הופכת את השאלה שלכם לווקטור. לאחר מכן היא משווה את הווקטור שלכם לווקטורים של המסמכים השמורים אצלכם.

• Cosine Similarity: מדד זה מודד את הזווית בין שני ווקטורים. אם הווקטורים מצביעים לאותו כיוון, הם דומים. זה מאפשר למערכת למצוא "דרישות התפטרות" גם אם חיפשתם רק "תקופת הודעה מוקדמת".

לקחים מרכזיים לייצור:

  • Vector Databases: חיפוש במיליוני ווקטורים הוא איטי. מסדי נתונים כמו Pinecone או Qdrant משתמשים באינדוקס כדי למצוא את השכנים הקרובים ביותר בתוך מילישניות.
  • Model Migrations: כל מודל embedding משתמש במרחב מתמטי שונה. אי אפשר להשוות ווקטור של OpenAI לווקטור של Cohere. אם אתם מחליפים מודלים, עליכם לבצע re-embedding לכל הנתונים שלכם.
  • Cost vs ROI: ביצוע re-embedding למיליוני מקטעים (chunks) הוא יקר. חברות נשארות לעיתים קרובות עם מודלים ישנים יותר, אלא אם כן השיפור בדיוק מצדיק את עלות ההגירה.
  • תמיד שמרו את מקטעי הטקסט הגולמיים (raw text chunks) שלכם. אם תשדרגו את המודל שלכם מאוחר יותר, תוכלו להשתמש בטקסט הישן כדי ליצור ווקטורים חדשים.

שלב 2 הוא השלב שבו מתרחשת האינטליגנציה.

מקור: https://dev.to/surajrkhonde/phase-2-embeddings-semantic-search-3lco

קהילת למידה אופציונלית: https://t.me/GyaanSetuAi