מה זה word2vec, ומי יצר אותו
word2vec הוא שם כולל לקבוצת-שיטות שפיתחו טומאש מיקולוב וחוקרי-גוגל נוספים, ופרסמו בשני מאמרים קשורים ב-2013, להמרת מילים לווקטורים מספריים צפופים שמשקפים קרבה משמעותית ביניהן. לפני כן, השיטות הנפוצות ייצגו מילים כווקטורים דלילים (כמו One-Hot) שלא נשאו כל מידע על משמעות — שתי מילים שונות היו "רחוקות" באותה מידה בדיוק, בין אם משמעותן דומה או הפוכה. word2vec הפיק במקום זאת וקטורים קצרים יחסית (בדרך-כלל 100–300 מספרים), שבהם מילים בעלות שימוש דומה מתכנסות למיקום קרוב במרחב הווקטורי.
המאמר הראשון (ינואר 2013): שתי ארכיטקטורות, CBOW ו-Skip-gram
המאמר הראשון, "Efficient Estimation of Word Representations in Vector Space", הועלה ל-arXiv בינואר 2013 בידי מיקולוב, קאי צ'ן, גרג קוראדו וג'פרי דין, והציג בתוכו שתי ארכיטקטורות נפרדות. CBOW (ראשי-תיבות של Continuous Bag-of-Words) מנחש את המילה המרכזית מתוך מילות-ההקשר שסביבה — מהיר יותר לאימון, ומתאים במיוחד למילים נפוצות. Skip-gram עושה את ההפך: מנחש את מילות-ההקשר מתוך המילה המרכזית עצמה — איטי יותר, אך מדויק יותר עבור מילים נדירות. שתי הארכיטקטורות משתמשות ברשת-נוירונים רדודה בלבד, בלי שכבות-ביניים לא-לינאריות, מה שאפשר למאמר לדווח על אימון וקטורים איכותיים ממאגר של 1.6 מיליארד מילים בפחות מיום אחד — מהיר משמעותית מגישות רשתות-נוירונים עמוקות שקדמו לו.
המאמר השני (אוקטובר 2013): Negative Sampling כשיפור ל-Skip-gram, לא ל-CBOW
תשעה חודשים אחר-כך, באוקטובר 2013, פרסמו מיקולוב, איליה סוצקבר, קאי צ'ן, גרג קוראדו וג'פרי דין מאמר שני, "Distributed Representations of Words and Phrases and their Compositionality". חשוב להבחין: מאמר זה אינו מציג מחדש את CBOW או Skip-gram — הן כבר קיימות מהמאמר הראשון — אלא מוסיף שלושה שיפורים ספציפיים לארכיטקטורת Skip-gram בלבד: Negative Sampling (חלופה מהירה ופשוטה בהרבה לשכבת-הפלט ה-Hierarchical-Softmax המקורית), דגימת-חסר של מילים נפוצות (השמטה חלקית של מילים שכיחות מדי כמו מילות-יחס, כדי להאיץ אימון ולשפר את איכות הווקטורים של מילים נדירות), ושיטה לזיהוי צירופי-מילים קבועים (כמו "ניו יורק") וייצוגם כיחידה אחת. כלומר: המונח "word2vec" כפי שהוא משמש היום מתייחס לרוב לכלי המשולב שנוצר משני המאמרים גם-יחד, אבל Negative Sampling עצמו הוא שיפור ספציפי ל-Skip-gram, לא שיטה שיושמה על CBOW באותו מאמר.
הדוגמה המפורסמת: חשבון-ווקטורים על משמעות
ההדגמה שהפכה את word2vec למוכר גם מחוץ לקהילת ה-NLP הייתה חשבון-ווקטורים שמשקף יחסים סמנטיים ותחביריים: הווקטור של "מלך" פחות הווקטור של "גבר" ועוד הווקטור של "אישה" מגיע למיקום קרוב מאוד לווקטור של "מלכה" — כאילו המודל למד "כיוון" גיאומטרי עקבי שמייצג "מלוכה" ו"כיוון" נפרד שמייצג "מגדר", בלי שאף אחד לימד אותו במפורש את המושגים הללו. חשבון דומה עבד גם עבור זוגות מדינה-בירה וצורות-נטייה של פעלים. זו הייתה אחת ההדגמות הראשונות והברורות לכך שיעד-אימון סטטיסטי טהור — ניחוש מילים לפי הקשר — יכול ללכוד מבנה סמנטי אמיתי בתוך המרחב הגיאומטרי שהוא יוצר.
מ-word2vec ל-GloVe ו-fastText: המשפחה שהתרחבה
גוגל שחררה את קוד-האימון כקוד-פתוח (דרך Google Code), מה שהפך את word2vec לכלי-עבודה נגיש ומהיר-לאימוץ, וכמעט לברירת-מחדל בפרויקטים מבוססי-טקסט לשנים אחדות. עד מהרה הופיעו גישות מתחרות-ומשלימות: GloVe, שפרסמו חוקרי אוניברסיטת סטנפורד ב-2014, נקטה מסלול מתמטי שונה — התבססות על סטטיסטיקת-שכיחות-משותפת גלובלית של מילים על-פני כל הקורפוס, במקום חלונות-הקשר מקומיים — אך לאותה מטרה בדיוק. fastText, ששחררו חוקרי Facebook AI ב-2016, הרחיבה את רעיון ה-Skip-gram לרמת רצפי-האותיות (n-grams) בתוך כל מילה, ואפשרה לו להפיק וקטורים סבירים גם למילים נדירות או שלא נראו כלל באימון — כמו טעויות-כתיב או שפות עתירות-מורפולוגיה כמו עברית, מקרה שהגרסה המילולית המקורית של word2vec לא ידעה להתמודד איתו.
המגבלה המרכזית: וקטור סטטי מול הטמעה הקשרית
המגבלה המרכזית של word2vec, שהתחום נדרש להתמודד איתה במלואה רק שנים אחר-כך, היא שהוא מפיק וקטור קבוע אחד לכל מילה: המילה "בנק" מקבלת בדיוק אותו וקטור בין אם המשפט מדבר על גדת-נהר ובין אם על מוסד-פיננסי — המודל לא יכול להבחין ביניהם בזמן-שימוש, כי הווקטור נקבע סופית כבר בזמן-האימון. מודלים של הטמעות הקשריות, כמו ELMo (2018) ובמיוחד BERT (גם ב-2018, גם הוא מגוגל), פתרו את זה בכך שהם מייצרים וקטור שונה לאותה מילה בכל פעם, בהתאם למשפט הספציפי שסביבה. עם זאת, הטמעות סטטיות בסגנון word2vec עדיין שימושיות כיום ביישומים קלי-משקל שבהם מהירות ופשטות חשובות יותר מדיוק-הקשרי מלא, והרעיון המרכזי שלו — ייצוג משמעות כמיקום במרחב גיאומטרי שנלמד מהקשר — נשאר יסודי לכל שיטות ההטמעה המשמשות במודלי-שפה גדולים גם היום.