מה מחשבים מבינים ואנלוגיות פוליטיות

אנלוגיות פוליטיות

האם מחשב יכול לזהות בעצמו מי ראש האופוזיציה?איך השוויון בין המינים בא לידי ביטוי במפלגות השונות? מה שלום השד העדתי נכון לתחילת 2019? איך החלפת היו”ר במחנה הציוני (ז”ל) באה לידי ביטוי? מי מזוהה יותר עם המשרד שלו – ליברמן (לשעבר) או כחלון?

פרולוג – מה בעצם מחשבים מבינים?

(הקדמה קצרה לגבי מה מחשבים “מבינים”. מי שכבר ממש בוער לו לראות דברים מגניבים ופחות מלל מוזמן לדלג לפסקאות הבאות ואז לחזור כדי להבין טוב יותר מה בעצם קורה פה …)

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

הנה מספר תשובות שיצדיקו את קיום הבלוג וכמות לא מבוטלת של משרות:

  1. לא תמיד המחשב חייב להבין עד הסוף. מספיק שיספק תוצרי ביניים שקל לאדם לצרוך. למשל, מנוע חיפוש לא פותר לאנשים שאלות הבנה אלא רק חוסך להם את החיפוש בכמות עצומה של מקורות מידע, ומשאיר להם את השלב האחרון של בחינת כל מקור ידע לעומק.
  2. עיבוד שפה טבעית (natural language processing) הוא תחום שעוסקים בו שנים רבות באקדמיה ובתעשיה. בשנים האחרונות היו לא מעט פריצות דרך בעיבוד שפה ובתחומים קשורים כגון לימוד מכונה (machine learning) ואינטיליגנציה מלאכותית (artificial intelligence) וכיום השיטות והכלים חזקים הרבה יותר מבעבר. בנוסף, השילוב בין כמויות אדירות של נתונים אשר זמינים למשתמשים בודדים וארגונים, לבין חבילות תוכנה פתוחות ללימוד מכונה מאיץ את תהליך השיפור בתחומי המחקר הנ”ל.
  3. השיטות שמוצגות בבלוג הזה יתמקדו בדרך כלל פחות בהבנה ממוקדת של טקסטים בודדים ויותר בהבנה כללית של אוסף טקסטים גדול המכונה “קורפוס”. דמיינו שאתם עומדים במוזיאון ממש קרוב לציור גדול וממשיכים להתבונן בו תוך שאתם מתרחקים לאט לאט וכך בהדרגה במקום להתמקד במשיחות מכחול בודדות אתם עוברים להסתכל על היצירה כולה. אז יכול להיות שיש לא מעט נקודות שמקרוב לא ברור למתבונן אם הן אדומות או כתומות אבל כשמתרחקים קל לראות שהציור כולו נוטה לצבעים חמים.

על הסמנטיקה העדינה של הסמנטיקה

מה זו סמנטיקה? תלוי את מי שואלים.  באופן כללי סמנטיקה היא תחום שעוסק בחקר והבנת המשמעות של טקסטטים (אבל לא רק). קיימות כמובן דרכים שונות להבין ולייצג את המשמעות של טקסט. למשל, אפשר לקבל את המשמעות של כל מילה מסוג של מילון, ולחבר איכשהו למשמעות המשפט תוך הסתמכות על הקשר בין המילים המכונה “תחביר” (syntax). אפשר אולי גם להצליב עם מקורות ידע חיצוניים כגון וויקיפדיה כדי שכשמזכירים את בריאותה הרופפת של מלכת אנגליה והאפשרות שצ’ארלס יירש אותה, המחשב יבין שמלכת אנגליה היא אליזבת וצ’ארלס הוא בנה.

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

אמור לי מי שכניך ואומר לך מי אתה

במקרה שלנו, “וקטור של מספרים” הוא פשוט סדרת מספרים באורך קבוע. לדוגמא, מספר טלפון סלולרי בישראל הוא וקטור של 10 מספרים שלמים בין 0 ל-9 (עם כמה מגבלות על מבנה הוקטור למשל הוא חייב להתחיל ב-0). בהקשר של סמנטיקה, זו עדיין סדרת מספרים באורך קבוע אבל הוקטור ארוך יותר מ-10 ומכיל מספרים בעלי נקודה עשרונית (float).

רוב השיטות ללימוד הייצוג של מילים וביטויים כוקטור מספרים מקורפוס טקסטים, עובדות באופן הבא:

המחשב נותן ייצוג וקטורי התחלתי לכל מילה (למשל רצף אקראי של 100 מספרים בין 0.0 ל-1.0), ואז הוא עובר על המון טקסטים (“קורפוס”) כמה וכמה פעמים, ובכל פעם שרואה מילה הוא משנה קצת את הייצוג שלה כך שיתאים יותר לייצוגים של המילים השכנות לה.

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

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

  • “מלך ל-מלכה זה כמו גבר ל_____?” (תשובה: אישה)
  • “איטליה ל-רומא זה כמו צרפת ל____?” (תשובה: פריז)
  • “שוחה ל-שחה זה כמו אוכל ל____?” (תשובה: אכל)

 

אם ניקח בחשבון שהאנלוגיות הללו נלמדות ע”י המחשב ללא הסבר ספציפי של מה זו מדינה ומהי עיר בירה, וללא מקורות מידע כגון וויקיפדיה אלא תוך הסתמכות על טקסטים פשוטים כגון חדשות זה לא פחות ממדהים !!! 

אנלוגיות פוליטיות

אז בנינו קורפוס שכולל את כל הטוויטים הפומביים בעברית שפורסמו בשנים האחרונות ע”י

  • ערוצי חדשות מובילים (עיתונים, אתרים, רדיו, טלוויזיה)
  • חברי כנסת בכנסת הנוכחית
  • מועמדים חדשים לכנסת הבאה (בהינתן הרשימות נכון לשעה זו)
  • מפלגות בכנסת הנוכחית
  • מפלגות חדשות שמתמודדות לכנסת הבאה (בהינתן הרשימות נכון לשעה זו)

למעשה בנינו 2 קורפוסים. הראשון עם ציוצים מ3-4 שנים אחורה והשני עם ציוצים מ-2018 בלבד. למדנו ייצוג וקטורי על כל קורפוס כנ”ל ואז התחלנו לבחון את התוצאות לפתרון אנלוגיות שונות.

זה הזמן שוב להסתייגות – מה שמוצג כאן משקף רק את הטקסטים שאספנו ללא הטיה, וללא התחשבות במקורות חיצוניים כגון מצע של מפלגה או פרוטוקולים מהכנסת וכו’. יכול להיות למשל שפוליטיקאי מסוים רואה עצמו כמוביל נושא מסוים אבל במאגר הטקסטים הוא לא מתואר ככזה.

איך מודדים חוזק של אנלוגיה?

נניח שהייתם מתבקשים לפתור את האנלוגיה הבאה : “חמוץ ללימון כמו מתוק ל_?”

בעלי דעה מוצקה בנושא היו עונים תשובה החלטית כגון “שוקולד” (מתנצל בפני חסידי הוניל) , אבל לא מעט אנשים היו מתלבטים ועונים שזה יכול להיות שוקולד אבל גם אולי וניל או דבש.

כדי לחדד את תשובת המתלבטים נבקש מהם למשקל את רמת הביטחון בכל אפשרות ואז תשובה אפשרית של אדם מתלבט היתה יכולה להיות 50% שוקולד, 45% וניל ושאר ה-5% דבש. תשובה כזאת אומרת שאצל אותו אדם באופן אישי האנלוגיה לא עם פתרון חד משמעי כי הוא מאוד מתלבט בין שוקולד (50) לדבש (45) ויש פער קטן של 5% ביניהם. לעומת זאת אם המתלבט היה אומר 50% שוקולד, 30% וניל, ו-20% דבש היינו אומרים שלמרות ההתלבטות העקרונית יש נטייה ברורה לשוקולד.

גם אצלנו בניתוח של טוויטר אנחנו נפעיל את אותו העיקרון של מדידת הפער בין האפשרות המובילה לאפשרות במקום השני בכדי להעריך חוזק האנלוגיה, ופער של 20% למשל בין המקום הראשון לשני אומר שהתשובה לאנלוגיה הרבה יותר חד-משמעית מאשר פער של 2%. אלא שבמקום להסתמך על הדעה האישית של אנשים  בודדים אנחנו נותנים למחשב לפתור את האנלוגיה ע”פ המשמעות שלמד מהציוצים הפומביים של הרבה אנשים בעלי דעות שונות ומגוונות ולכן סדר הגודל של הפער בין המקום הראשון לשני יהיה מצומצם יותר.

אנחנו גם ננצל את השוני בין 2 הקורפוסים שיצרנו (הראשון של 3-4 שנים אחורה, והשני החל מ-2018) בכדי להבין באילו מקרים אנלוגיות השתנו לאורך הזמן (ראו למשל את מקרה ציפי לבני להלן).

גברים ונשים

פער ב-2018

פער ממקום 2

ל___?

כמו

ל

מי/מה

19%11%שקדאישהבנטגבר
17%ציפיאישהגבאיגבר
אישה / לפיד

כחלון

גבר
20%בוז’יגברלבניאישה

נקודות מעניינות:

  1. שקד נמצאת באופן עקבי כאנלוגיה הנשית של בנט, כפי שאכן מסתמן שקורה במציאות עם ההובלה המשותפת של “הימין החדש”.
  2. כשמתמקדים בציוצים מ-2018 אך לא לפני, ליבני נמצאת מקבילה לגבאי. כשמוסיפים גם ציוצים של מספר שנים אחורה היא מקבילה לבוז’י אך לא ב-2018. כמובן זה מוסבר ע”י החלפתו של בוז’י בגבאי כמועמד המחנצ לראשות הממשלה.
  3. ללפיד וכחלון אין מקבילה נשית כלל. גם זה הגיוני.

סטראוטיפים

פער ב-2018

פער ממקום 2

ל___?

כמו

ל

מי/מה

26%16%רוסיליברמןכיפה בנט
-7% (אלאלוף)3%מרגימזרחיגפניאשכנזי

נקודות מעניינות:

  1. נראה שבנט וליברמן מתוארים בטוויטר באופן דומה עד כדי מאפייני הדת והמוצא. חשוב לציין שליברמן כבר שנים רבות בארץ והוא בכלל עלה ממולדובה ועדיין הסטראוטיפ חי ונושם. נראה גם שהבידול הזה מתחזק ככל שמתקדמים לעבר הבחירות ומתמקדים בציוצים של 2018.
  2. השיוך העדתי של אשכנזי/מזרחי עדיין איתנו, אבל בניגוד לזוג בנט-ליברמן אין פה זוג אנשים שמהווים ארכיטיפ אשכנזי-מזרחי ויש תחלופה בין מרגי לאלאלוף.

נושאים וחוקים מקודמים

פער ב-2018

פער ממקום 2

ל___?

כמו

ל

מי/מה

18%16%רגבנאמנותשקדהתגברות

נקודות מעניינות:

  1. ספינת הדגל או אחת מהספינות בארמדה של איילת שקד היא פסקת ההתגברות והיא נמצאה אנלוגית לחוק הנאמנות של רגב.

תפקידים פוליטיים

פער ב-2018

פער ממקום 2

ל___?

כמו

ל

מי/מה

20%
3%לפידאופוזיציהביביקואליציה
1%דרעיש”סביביליכוד
2%מרצשמאלליכודימין
20%8%ליברמןביטחוןבנטחינוך
3%2%כחלוןאוצרליצמןבריאות

נקודות מעניינות:

  1. בשורות רעות למחנ”צ. מעמדו של לפיד כמנהיג האופוזיציה הולך ומתחזק ככל שמתקדמים לעבר 2018. בנוסף מרצ ולא מחנ”צ הם המפלגה המייצגת את השמאל.
  2. מנהיגותו של ביבי הרבה יותר דומיננטית מאשר זו של דרעי.
  3. הקשר בין ליברמן לתיק הביטחון בולט הרבה יותר מהקשר בין כחלון לתיק האוצר.

סיכום

אז מה בעצם ראינו בפוסט הזה?

  1. אפשר ללמוד ייצוג סמנטי של מילים וביטויים על גבי קורפוס טקסטואלי. ספציפית, הדגמנו את השיטה הנ”ל על קורפוס טקסטואלי של ציוצים בעברית.
  2. ייצוג סמנטי מאפשר לנו ללמוד אנלוגיות. בקורפוס הטוויטרי שלנו ראינו שניתן למצוא בצורה אוטומטית משמעויות פוליטיות שאנחנו כבני אדם יכולים להבין ולאשר את נכונותן.

הערות והרחבות

  1. שיטת ה-embedding הספציפית בה נעשה שימוש בפוסט נקרא word2vec. מוזמנים לקרוא עליה עוד פה. עוד שיטות פופולאריות הן Glove, fasttext.
  2. חבילת הפייטון בה עשיתי שימוש לטובת ייצוגים וקטוריים היא Gensim.
  3. נניח שאנו רוצים לפתור את האנלוגיה “a ל-b כמו מה ל-c?” אזי בהינתן הייצוג הוקטורי של המילים a,b,c שיסומן כ-Va, Vb, Vc, נמצא את המילה w שמרחקה הוא המינימלי מהסכום Va+Vc-Vbמבין כל המילים עבורן למדנו יצוג. המרחק יכול להיות מחושב למשל ע”י cosine אבל יש גם דרכים נוספות.