אנחנו בשלבי פיתוח של מנוע המלצות שיודע להמליץ על סרט בהתאם לתקציר מאמר או סילבוס של קורס אקדמי. זאת במטרה לסייע למרצות ומרצים (או כל מי שרוצה לשלב סרט בהרצאה או מצגת) לאתר את הסרט המתאים ביותר לנושא שעליו מדברים או חוקרים.
הסבר טכני על המערכת נמצא בקישור זה, כאן בבלוג.
ברשומה הזו אצלול לצד הפילוסופי יותר ואל אחורי הקלעים של הדרך בה נוצרות המלצות.
חיפוש קלאסי
עד פרוץ הלמידה החישובית (מה שמכונה בינה מלאכותית) באופן יישומי לחיינו, החיפוש הקלאסי התאפיין בעיקר באיתור מילות מפתח.
השיטה היתה פשוטה וישירה, לפחות ברמת הלוגיקה שלה: המחפשים/ות מציבים שאילתה (query) והמנוע יוצא לחפש עמודי תוכן שכוללים בתוכם את המספר הגבוה ביותר של אותן מילות מפתח. עמוד תוכן שכלל בתוכו את המספר הגבוה ביותר, התחרה עם עמודים אחרים בעלי אותו מספר מילות מפתח. ההכרעה על אילו מהם להמליץ למחפש/ת, היתה ועודנה תלויה במוניטין של אתר האינטרנט בו נמצא העמוד. גוגל הביאו את ענין ה'מוניטין' לכדי מלאכת מחשבת על ידי חישובים מסובכים שבמהותם עונים על השאלה ״מי ממליץ עלי״. מעין גרסה מודרנית ל״אמור לי מי חבריך ואומר לך מי אתה״.
שיטת מילות המפתח גרמה לתחרות פרועה בין מקדמי אתרים. נניח לרגע שיש לך חנות למכירת כלי כתיבה. אז מקדם אתרים היה מבקש ממך לכתוב קודם כל טקסט נקי וספונטני אודות החנות.
וכעת נניח שהחנות הוקמה על ידי סבתך לפני 65 שנה בצריף קטן. מאז עברתם לחנות גדולה ומרווחת במרכז העיר. היום רבים מבני המשפחה עובדים שם. אתם משלבים גם בעלי צרכים מיוחדים, התרחבתם גם לייבוא אופניים והוצאה לאור של ספרי לימוד.
יצרתם טקסט נחמד לעמוד ה״אודות״, המתאר את תולדות החנות. ואז בא מקדם האתרים הקלאסי, שרואה מול עיניו מילות מפתח. "איזה סיפור מענין" הוא אומר ואם שומעים נימת לעג קל בתוכו. "אבל מה עם מילות המפתח???"
הוא מתכוון מן הסתם לקלסרים, מחברות, עטים, עפרונות, מחקים, טושים, דבק פלסטי, דבק מגע ועוד.
"הי, עצור את הסוסים," אתם אומרים לו בחומרה. איך נדחוף את המילים האלה לטקסט?"
"נורא פשוט!" קורא מקדם האתרים של פעם ומתחיל לשכתב:
"לפני 70 שנה עלתה נפרדה סבתי מהוריה בפלונסק ועלתה על ספינת מעפילים שהיתה דומה למחדד. חלומה היה להקים חנות למכשירי כתיבה ברחוב הרצל. הספינה כמעט נטרפה בים, שהיה סוער כמו עט נובע, אבל היא התגברה על כל הקשיים, שיחדה בנמל את הקצין התורכי בשני מחקים וקלסר ספירלה (ועוד כמה בישליקים) והצליחה להשיג סרטיפיקט לארץ ישראל."
וכך המשיך לו מקדם האתרים לדחוף מילות מפתח שמקדמות את החנות שלכם, במקומות שצריך ולא צריך ועם חזרתיות על אותם ביטויים כל שתי שורות.
למבטכם המתוסכל היה מסביר שהוא לא כותב לקוראים, אלא לבוט הסורק את האתרים.
בהמשך הדרך, כאשר מנועי החיפוש השתכללו מעט, נוצרו גם כלים שידעו לספור מרווחים בין מילות מפתח שכן אם חזרתם על אותה מילה בתדירות גבוהה מדי, מנוע החיפוש היה מוריד לכם את הדירוג.
וכך הפכו לאיטם טקסטים ספרותיים לפרי יצירת מכונה.
אלא שגם גוגל לא קפאה על השמרים.
מה שהטריד את גוגל לא היה ירידת הערך הספרותי של הטקסט הסיפורי המקסים על סבתא שלכם, אלא העובדה שמקדמי אתרים הפכו את האתר שלכם למומלץ יותר, למרות שבלי להעליב, החנות המתחרה ראויה יותר להמלצה.
ואם גוגל או בוט אחר ממליץ על החנות שלכם כאשר יש חנויות טובות יותר, אז מתישהו המשתמשים/ות יגלו זאת ואז המוניטין של גוגל ייפגע.
חתירה להבנת הכוונה של המחפשת
לכן חיפשו בגוגל דרכים יעילות יותר לקטלג את האתרים.
אחת המטרות היתה לנסות ולהבין למה התכוונתם כאשר אתם כותבים משהו במחרוזת החיפוש, גם כאשר אינכם כותבים את המילים המדויקות. שימו לב, המילה 'כוונה' חוזרת על עצמה בעולם מנועי החיפוש וההמלצה המתקדם. זוהי מילת מפתח (לא של חיפוש.. אלא במשמעותה המקורית).
אחת הדרכים הישירות והקלות יותר להבנה של כוונה כזו היא מיפוי של מילים נרדפות. זה קל יחסית ליישום. כל מילון שמכבד את עצמו כולל בתוכו מילים נרדפות. כך שאם רשמתם "חנות פוזמקאות" בחיפוש, גוגל יידע שאתם רוצים לקנות גרביים.
אבל מילים נרדפות הן רק השלב הראשון. לפעמים הן לא מתאימות ושנית - כבני אדם הדוברים שפה אנושית, בוודאי שמתם לב שברוב המקרים יש צורך במשפט שלם כדי להבין את כוונת האדם הדובר מולכם.
כלומר - שההבנה אינה רק תולדה של חיבור כמותי של המילים במשפט אלא היא תוצאה של שלם העולה על סכום חלקיו, או במילים אחרות, משפט שלם הוא יצירה העומדת בפני עצמה ולא ניתנת רק לרדוקציה של שמות העצם, התואר, הפעלים ומילות היחס שמרכיבים אותה.
בלשנים עוסקים רבות בשאלה של הבנת ההבנה דרך הדיסציפלינות השונות של המקצוע. בתחביר (סינטקס) למשל, מניחים שמשפט הוא יחידת המידע הבסיסית של השפה. לכן תחביר עוסק בהבנת המבנה הלוגי של משפטים, לא של מילים. לא מדובר רק במבנה שהופך משפט לאפשרי (Plausible) באזני דובר ילידי (Native Speaker), אלא גם ביחסים בין מרכיביו.
פרגמטיסטים עוסקים במיפוי כוונות שעולות מתוך משפטים ולא נאמרות במפורש. דוגמה הפשוטה היא השאלה לאדם אקראי ברחוב - ״יש לך שעון?״ - רוב האנשים, אם יש להם שעון, יענו באמירת השעה (נניח - ״רבע לאחת עשרה״). אם אדם כזה יענה ״כן, יש לי שעון״ וימשיך ללכת, נחשוב שהוא מוזר או שהוא לא משתף פעולה בכוונה. הוא אמנם ענה תשובה ישירה, אבל שנינו יודעים שלמרות ששאלנו ״יש לך שעון״, התכוונו בעצם לשאול ״מה השעה״?
דוגמה נוספת היא כאשר אנחנו מתארחים ונניח שחם ומחניק. הרבה אנשים יאמרו אז - ״אוי, חם פה״ (תוך כדי נפנוף דף נייר בתנועת אוורור). למרות שלא ביקשנו במפורש, המארח הסביר יפעיל את המזגן. אם הוא או היא לא יעשו זאת, נניח שהם חסרי רגישות.
דברים פשוטים ובסיסיים אלה, הנובעים מהיגיון פשוט אנושי, מהווים את הבסיס של הניתוח הבלשני. ואז עולה השאלה: איך מלמדים את הבוט להבין כוונות כאלה? האם זה בכלל אפשרי?
במקביל, דיסציפלינות אחרות בבלשנות (ובפסיכולוגיה ובחקר המוח) מתענינות בשאלת ההבנה: מתי נוצרת הבנה של כוונת הדובר/ת? האם היא מצריכה שמיעה של כל המשפט? ואם כן, מתי היא מתרחשת? תוך כדי הגייתו, בהדרגה, או בבת אחת, בסופו, מתוך חיבור פתאומי של כל חלקיו תוך הסתכלות לאחור על מרכיבי המשפט?
ואיזה תפקיד יש להקשר בו נאמר המשפט (בסלון, באוטובוס, בשדה הקרב, במקום העבודה)? ולאינטונציה? ולידע תרבותי? ולגיל הדוברים? וליחסים ביניהם (אהבה, מרות, שנאה, זרות)? ולרמה בה כל אחד מבין את השפה? וליכולת השמיעה של כל דובר/ת? ולרעשי רקע? ולנוכחות אנשים אחרים?
מן הסתם יש לכל אחד מאיתנו תשובות לכל אלה, המבוססות על השכל הישר.
אבל מה יקרה אם אבקש מכם להיכנס לחדר ולנסות ולנסח חוקים של הבנת כוונת הדובר, מבלי לומר ולו פעם אחת את הביטוי "זה תלוי"?
עם פריצת כלי הבינה המלאכותית לחיינו, הכל נעטף בהילה מסתורית, המייחסת הבנה אנושית, אישיות, שיקול דעת, מצב רוח ואופי לבוט. זאת בזכות ממשק השיחה, שביצע צעדי ענק ביכולת לחקות בן אנוש. אבל זהו רק חיקוי.
אז איך מנתחים סרט? ואיך מנתחים תיאור הרצאה
כאמור, אנחנו נוטים לייחס למכונה יכולות אנושיות של הבנה. אך נכון להיום, מדובר באוסף של שיטות מתמטיות, שלא קרובות אפילו לדרך בה בני אדם מבינים זה את זה. איננו יודעים עדיין איך אנחנו (בני האדם) יודעים את מה שאנחנו יודעים. אנחנו גם לא יודעים להסביר איך מכונות יודעות את מה שהן יודעות. כרגע, הכל אוסף של תוצאות, ללא הבנה של התהליך (קופסה שחורה). ככל הנראה, לא מדובר בתהליך זהה, של המכונה ושלנו.
בבסיס, למרות התקדמות הלמידה החישובית, קיימת עדיין שיטה של ניתוח של מילות מפתח. במקום פשוט לספור אותן, מודדים ומחושבים את האופן בו הן מפוזרות על פני הטקסט. נוסחה מחשבת את הפיזור הזה ומנסה למצוא בו דפוסים.
מנגנון אחר יחשב מילים שונות שמדברות על אותו דבר. מדובר לא רק על המילים נרדפות שהזכרתי קודם, אלא גם על מילים שמביעות את אותו דבר בשפות שונות. דוגמה מפורסמת היא שבאנגלית אפשר לכתוב שואה כך: holocaust, אבל גם shoah. מנגנון ממוחשב טוב ידע לזהות שמדובר באותה כוונה לקסיקלית.
ויש מילים שנהגות אותו דבר, אך כתובות אחרת (את השם ׳מוחמד׳ למשל אפשר לכתוב באותיות לטיניות ביותר מעשר צורות).
ואם כבר בשמות עסקינן, אז מנגנון נוסף ינסה לאתר שמות וישויות בתוך טקסטים: מילה שהיא שם של עיר, מילה שהיא שם של אדם, מילה שהיא שם של אדם מפורסם וכדומה.
כל רובד כזה, או ״מנגנון״ כמו שקראתי לו, מסייע במיפוי הטקסט ובהבנתו בצורה ברורה ומדוייקת יותר.
חישוב דומות/דמיון (similarities)
אחת הדרכים הגאוניות בהן למידה חישובית (בינה מלאכותית) מוצאת דמיון בין שני טקסטים היא באמצעות מה שמכונה embeddings: תרגום והמרה של מילים ומשפטים לייצוגים מתמטיים, העלאתם על מרחבים הנדסיים וירטואליים ומדידת המשותף הגאומטרי ביניהם (וקטורים). בעוד אנחנו כבני אדם מדברים על ״נראה לי״ ״מרגיש לי״ ״מזכיר לי״ וכדומה, בינה מלאכותית פשוט הופכת הכל לייצוגים מתמטיים ומחשבת את נקודות המפגש ביניהם (במקרה שלנו - אלו של תיאור סרט אל מול אלו של תיאור הרצאה). שיטה זו היא כיום בעלת הסיכוי הגבוה ביותר להביא להבנה מדויקת של טקסט.
ומי יודע? אולי גם אנחנו כבני אדם, כאשר אנחנו אומרים ״אני מרגיש שזה דומה״, מבצעים באחורי מוחנו גם כן חישוב מתמטי הדומה לזה של הבוט? - נכון להיום (2025), אין תשובה על כך.
קראו כאן עוד על מנוע ההמלצות ועל הממשק המתוכנן