Word2vec

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש

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

Word2vec נוצר ופורסם בשנת 2013 על ידי צוות חוקרים שהובל על ידי תומאס מיקולוב מגוגל ונכתב עליו פטנט. לאחר מכן נותח והוסבר האלגוריתם גם על ידי חוקרים אחרים.[1] לווקטורים מוטמעים (embedding vectors) שנוצרו באמצעות אלגוריתם Word2vec יש יתרונות רבים בהשוואה לאלגוריתמים קודמים כמו ניתוח סמנטי סמוי (latent semantic analysis (אנ')).

CBOW ו-skip-grams

Word2vec יכולה להשתמש באחת מבין שתי ארכיטקטורות של מודלים כדי לייצר ייצוג מבוזר של מילים: bag of words רציף (continuous bag-of-words (אנ'), CBOW) או skip gram רציף (אנ'). בארכיטקטורת CBOW, המודל חוזה את המילה הנוכחית מתוך "חלון" של מילות-הקשר הנמצאות מסביבה. סדר המילים בהקשר אינו משפיע על החיזוי (הנחת bag-of-words). בארכיטקטורת skip-gram הרציפה, המודל משתמש במילה הנוכחית כדי לחזות את החלון שמסביבה של מילות הקשר. ארכיטקטורת skip-gram ממשקלת בחיזוי מילות הקשר קרובות כיותר משמעותיות מאשר מילות הקשר רחוקות יותר. על פי הערת המחברים,[2] CBOW מהיר יותר בעוד ש-skip-gram איטי יותר אך עושה עבודה טובה יותר למילים נדירות.

פרמטריזציה

תוצאות של אימון word2vec יכולות להיות רגישות לפי קביעת הפרמטרים. להלן כמה פרמטרים חשובים באימוני word2vec.

אלגוריתם האימון

ניתן לאמן מודל Word2vec בעזרת softmax (אנ') היררכי או דגימה שלילית. כדי להתקרב לסבירות הלוגריתמית המותנית (conditional log-likelihood) שהמודל מבקש למקסם, שיטת הסופטמקס ההיררכית משתמשת בקוד האפמן כדי לצמצם את החישוב. לעומת זאת, שיטת הדגימה השלילית מתקרבת לבעיית המקסום על ידי צמצום פונקציית הנראות של מקרים שליליים שנדגמו. לטענת המחברים, softmax היררכי עובד טוב יותר למילים נדירות בעוד שדגימה שלילית עובדת טוב יותר למילים תכופות ויותר טובה עם וקטורים בממדים נמוכים.[2] ככל שמתארך משך האימון, הסופטמקס ההיררכי מפסיק להיות שימושי.[3]

דגימת משנה

מילים בתדירות גבוהה מספקות לעיתים קרובות אינפורמציה מועטה בלבד. ייתכן שמילים עם תדירות גבוהה מסף מסוים, יידגמו באופן חלקי בלבד כדי לקצר את משך האימון.[4]

ממדיות

איכות הטמעת המילים עולה עם ממדיות גבוהה יותר. אך לאחר שתגיע לנקודה מסוימת, הרווח השולי יקטן. בדרך כלל, ממדי הווקטורים מוגדרים כ־100 ל -1,000.

חלון ההקשר

גודל חלון ההקשר קובע כמה מילים לפני ואחרי מילה נתונה ייכללו כמילות הקשר של המילה הנתונה. על פי הערת המחברים, הערך המומלץ הוא 10 עבור skip-gram ו-5 עבור CBOW.[2]

הרחבות

הוצעה הרחבה של word2vec לבניית embedding ממסמכים שלמים (ולא ממילים בודדות). הרחבה זו נקראת paragraph2vec או doc2vec ויושמה בכלי C, Python[5][6] ו- Java / Scala[7] (ראה להלן), כאשר גרסאות ה- Java וה- Python תומכות גם בהקשר ל-embedding של מסמך על מסמכים חדשים שטרם נראו.

וקטורי מילים לביואינפורמטיקה: BioVectors

אסגארי ומופרד הציעו להרחיב את וקטורי המילים עבור n-gram גם עבור רצפים ביולוגיים (למשל DNA, RNA וחלבונים ) ליישומי ביואינפורמטיקה .[8] הם כינו את הווקטורים הללו ביו-וקטורים (BioVec) כאשר הם מתייחסים לרצפים ביולוגיים באופן כללי. וקטורים של חלבונים כונו ProtVec (רצפי חומצות אמינו) ווקטורי גנים כונו GeneVec, ניתן להשתמש בייצוג זה באופן נרחב ביישומים של למידת מכונה בפרוטאומיקה וגנומיקה. מהתוצאות עולה כי ביו-וקטורים יכולים לאפיין רצפים ביולוגיים מבחינת פרשנויות ביוכימיות וביו-פיזיות של התבניות הבסיסיות. גרסה דומה, dna2vec, הראתה כי יש קשר בין ציון הדמיון של Needleman -Wunsch לבין הדמיון הקוסיני (cosine similarity) של וקטורי המילים dna2vec.

מימושים

הערות שוליים

  1. ^ Řehůřek, Radim. Word2vec and friends (Youtube video). נבדק ב-2015-08-14.
  2. ^ 2.0 2.1 2.2 "Google Code Archive - Long-term storage for Google Code Project Hosting". code.google.com. נבדק ב-2016-06-13.
  3. ^ "Parameter (hs & negative)". Google Groups. נבדק ב-2016-06-13.
  4. ^ "Visualizing Data using t-SNE" (PDF). Journal of Machine Learning Research, 2008. Vol. 9, pg. 2595. נבדק ב-2017-03-18.
  5. ^ "Doc2Vec tutorial using Gensim". נבדק ב-2015-08-02.
  6. ^ "Doc2vec for IMDB sentiment analysis". נבדק ב-2016-02-18.
  7. ^ "Doc2Vec and Paragraph Vectors for Classification". אורכב מ-המקור ב-2015-12-31. נבדק ב-2016-01-13.
  8. ^ Asgari, Ehsaneddin; Mofrad, Mohammad R.K. (2015). "Continuous Distributed Representation of Biological Sequences for Deep Proteomics and Genomics". PLOS ONE. 10 (11): e0141287. arXiv:1503.05140. Bibcode:2015PLoSO..1041287A. doi:10.1371/journal.pone.0141287. PMC 4640716. PMID 26555596.
הערך באדיבות ויקיפדיה העברית, קרדיט,
רשימת התורמים
רישיון cc-by-sa 3.0

29106884Word2vec