מילים כנקודות במפה: איך AI מבין משמעות
- להבין שמודל הופך כל מילה לרשימה של מספרים, כמו מיקום במפה
- לראות למה מילים עם משמעות דומה יוצאות קרובות
- להכיר שימוש מעשי: חיפוש לפי משמעות
ראינו שהמודל קורא טוקנים, ושכל טוקן הוא מספר ברשימה. אבל מספר כמו "2,341" לא אומר כלום על המשמעות. אז איך המודל יודע ש"כלב" ו"חתול" קרובים, ו"כלב" ו"אוטובוס" לא? התשובה: הוא שם כל מילה על מפה.
מפה של משמעויות
דמיינו מפה שבה כל מילה היא נקודה. מילים עם משמעות דומה גרות באותה שכונה: חיות כאן, אוכל שם, כלי תחבורה בצד אחר. המודל לא מקבל את המפה מוכנה, הוא לומד אותה באימון: מילים שמופיעות בהקשרים דומים ("ה... נבח", "ה... מיילל", "האכלתי את ה...") מתקרבות.
שימו לב: "חתלתול" קרוב ל"חתול", ו"מאושר" קרוב ל"שמח". ומה עם "עצוב" ליד "שמח"? זה לא באג: הפכים מופיעים בהקשרים דומים ("היום אני מרגיש..."), ולכן גם במודלים אמיתיים הם יוצאים קרובים. המפה מודדת באילו הקשרים מילה מופיעה, לא אם היא טובה או רעה. "קפה" יושב ליד אוכל, אבל בקצה, כי הוא משקה. במפה אמיתית, עם אלפי כיוונים, יש מקום לאינספור דקויות כאלה.
ממקום במפה לרשימת מספרים
מיקום במפה הוא בעצם רשימה של מספרים: כמה ימינה, כמה למעלה. במפה של שני ממדים, שני מספרים. במודל אמיתי, כל מילה מקבלת רשימה של מאות או אלפי מספרים. לרשימה כזו קוראים embedding (בעברית: שיכון, או וקטור).
ומה מרוויחים מזה? אפשר לחשב משמעות. המרחק בין שתי רשימות אומר כמה המשמעות דומה. ואפשר לעשות את זה לא רק למילים, אלא גם למשפטים ולמסמכים שלמים.
שימוש מעשי: חיפוש לפי משמעות
חיפוש רגיל מחפש מילים זהות. אם תחפשו "איך מבטלים מנוי" ובאתר כתוב "הפסקת התקשרות", חיפוש רגיל לא ימצא. חיפוש עם embeddings מוצא, כי המשמעות קרובה.
ככה עובדים הרבה מהכלים שאתם פוגשים: "שאל את המסמכים שלך", צ'אטבוטים של שירות לקוחות שעונים מתוך מאגר מידע, וחיפוש חכם באתרים. מוצאים את הקטעים הכי קרובים במשמעות לשאלה, ונותנים אותם למודל שפה כדי שיענה.
- המודל הופך כל מילה לרשימת מספרים, כמו מיקום במפה של משמעויות.
- מילים בהקשרים דומים מתקרבות. המפה נלמדת באימון.
- ככה עובד חיפוש לפי משמעות, ו"שאל את המסמכים שלך".
🎉 כל הכבוד! סיימתם את שיעור 18.
לשיעור הבא: טמפרטורה ←