כמה צריך לדעת כדי להבין?
למה כל כך קשה למחשב לעשות מה שכל כך קל לאדם? הניסיון שנצבר בפרוייקט CYC מראה כי אחד הגורמים הוא הכמות העצומה של ידע שאדם משתמש בו מבלי להיות מודע לכך
נניח שהעירייה במקום מגוריכם מקימה "דוכני מידע" במקומות מרכזיים. דוכני מידע אלה מספקים מידע על אירועים ואתרים בעיר, מאפשרים להשיג מפות, וכן הלאה – קל להוסיף סוגים רבים, וכמויות רבות, של מידע. במבט ראשון, נראה כי אין שום מגבלות על שירות זה לציבור. זו טעות: כדי להבין עד כמה השירות מוגבל, חישבו על השאלה: "איפה אפשר לקנות עיתון בסביבה הקרובה?". גם אם הייתה העירייה רוצה לספק מידע כזה, האתגר קשה הרבה יותר ממה שהוא נראה.
ראשית, יש להניח שבבסיס הנתונים של כל בתי העסק לא מופיעה אף "חנות עיתונים". לנו, בני האדם, קל להבין שיש לחפש קיוסקים, חנויות מכולת, סופרמרקטים, ואפילו מכונות מכירה אוטומטיות. שנית, מה זה "קרוב"? קשה לענות במדויק, אך ברור שמשמעות המילה "קרוב" בשאלה זו שונה ממשמעותה בשאלה הנראית זהה: "איפה יש שדה תעופה קרוב?" שלישית, התשובה צריכה להיות תלויה בשעה שבה נשאלת השאלה - לא כל חנות פתוחה בחצות, למשל. לנו קל להבין שמטרת השואל היא לקנות עיתון, ואנו יודעים שאי אפשר לקנות עיתונים בחנות סגורה.
מחסום הפריכות
דוכן המידע יכול לשלוף מיליוני פריטי מידע, ולענות על שאלות מורכבות כמו "איך אוכל להגיע לתחנת האוטובוס הקרובה ביותר?" – פשוט על ידי חיפוש ברשימת תחנות האוטובוס ופנייה לתוכנה גיאוגרפית לחישוב מרחקים ומסלולי הליכה. כפי שראינו, אשליה זו נשברת כאשר התוכנה נדרשת לענות על שאלה שנמצאת לכאורה בתחום המידע שלה, אך דורשת עוד כמה עובדות של "שכל ישר" כמו בחנויות מאילו סוגים ניתן לקנות עיתונים.
בעיה זו ידועה בבינה המלאכותית בשם "מחסום הפריכות" (brittleness), שנקרא כך בגלל צורות הכשל הבלתי-צפויות המאפיינות הרבה סוגי תוכנה, ומאיימות במיוחד דווקא על תוכנות "חכמות" יותר. מחסום הפריכות מתאפיין ביכולת הרבה של התוכנות של היום לפתור בעיות כבדות ומסובכות בתוך מעטפת התכנון שלהן, עם כישלון מוחלט – לפעמים מצחיק, לפעמים מרגיז ולפעמים אפילו טרגי – לטפל בבעיות שנראות למשתמש בתוכנה כדומות מאוד לבעיות שהתוכנה כבר פתרה בהצלחה.
בין מידע לידע
בעולם הבינה המלאכותית מקפידים להבחין בין "מידע" (information) לבין "ידע" (knowledge). קשה להגדיר חד-משמעית את המושגים, ואין קו ברור המפריד ביניהם. בכל זאת, הדוגמה של דוכן המידע ממחישה את ההבדל בין המידע "יש חנות מכולת ברח' האשל 15, שפתוחה עד שמונה בערב", לבין הידע "חנויות מכולת מוכרות בדרך כלל עיתונים", או "אפשר לקנות רק בחנות פתוחה". המידע כשלעצמו תורם הרבה פחות משילוב המידע עם הידע הנדרש להפעלתו לצרכינו. לרבים בקהילת הבינה המלאכותית נראה כי שילוב של מספיק מידע עם מספיק ידע ו"שכל ישר" יכולים לשבור את מחסום הפריכות.
רבים מאתנו מכירים את התסכול בשימוש במנועי חיפוש באינטרנט, הנובע מהשילוב של היכולת למצוא כמעט כל דבר עם הסיכוי הרב למצוא דברים שאינם רלבנטיים כלל לענייננו. למשל, כאשר נרצה לדעת מיהו נשיא צרפת, מנוע החיפוש עשוי למצוא גם מידע על נשיא חברת Air France, על תגובת נשיא ארה"ב להכרזות משרד החוץ הצרפתי, או על נשיאי צרפת בעבר. אלה תגובות שבשום אופן לא היינו מסכימים לקבל מבן-אנוש. רוב המשתמשים במנועי החיפוש מבינים את ההבדל, וכך נמנעים (יש לקוות...) מטעויות מביכות, אך הצעד הבא יקרה רק כאשר נוכל לספק למנועי החיפוש את השכל הישר הנדרש כדי להבין את מטרת השואל, וכדי להתאים אותה למה שבאמת נדון באתר האינטרנט, במקום להופעה מקרית של המילים "נשיא" ו"צרפת".
חשוב גם לשים לב לכך שבעיה זו קשורה הדוקות לבעיית "השפה הטבעית": החלום הישן לדבר אל המחשב בשפה אנושית כלשהי. הרבה מהאתגרים בהבנת שפה טבעית אינם יכולים להיפתר ללא הבנת העולם שמסביבנו. למשל, צמד המשפטים "שמעון קנה את המחשב בכרטיס אשראי" ו- "שמעון קנה את המחשב בחנות" דורשים הבנה כי "חנות" היא מקום, בעוד "כרטיס אשראי" הוא סוג של אמצעי תשלום. במשפט השני, אנו נניח כי שמעון היה פיזית בחנות; בראשון, ייתכן כי שמעון לא עזב את הבית. לעומת זאת, במשפט "בכרטיס האשראי יש פס מגנטי", המלים "כרטיס אשראי" מציינות מיקום פיזי. יש צורך בהרבה מידע על כרטיסי אשראי כדי להבין הבדל זה, ואי אפשר להבינו בעזרת ניתוח לשוניבלבד .
פרוייקט CYC
דגלאס לנה (Lenat), מבכירי תחום הבינה המלאכותית, היה מהראשונים שזיהו את אתגר הפריכות ואת הצורך במאגר ידע כדי להתמודד, ולו חלקית, עם האתגר זה. ב- 1984 החל לנה באחד הפרוייקטים השאפתניים ביותר של התחום: פרוייקט CYC. שמו של הפרוייקט נגזר מ"אנציקלופדיה", ומטרת הפרוייקט היא לא פחות מאשר לאסוף את הידע הפשוט והטריוויאלי המשותף לרוב האנשים ולייצג אותו בתוך בסיסי ידע ממוחשבים. כך נוכל להימנע מהדרישה הבלתי-אפשרית לבנות כמות עצומה של ידע לתוך כל תוכנה בנפרד. ידע כזה לובש מספר צורות, כמו סיווג ("אדם הוא יונק; יונק הוא חיה"), סיבתיות ("אכילה מפחיתה תחושת רעב"), קשרים בין מושגים ("לאדם יש שתי ידיים; למדינה יש נשיא"), והגדרות ("סב הוא אב של הורה; הורה הוא אם או אב"). כל פריט כזה נקרא "אקסיומה".
דוגמה ליכולת של CYC : אחת הבעיות המרכזיות של חיפוש מידע היא חיפוש תמונות, קטעי וידאו, אנימציה וכו'. איך נחפש תמונה המתאימה לצורך מסוים - למשל כדי להתאים למאמר מסוים בעיתון? כיום מסודרים הרבה מאגרי תמונות כך שהתמונות מתוארות במספר מילים, אך זה לא מספיק לשליפה נוחה. נניח שהמאמר הוא על הסכנה בשיזוף-יתר. בעזרת CYC נוכל לחפש תמונה לפי התיאור "חשיפה לשמש", ונקבל למשל תמונה שהתיאור שלה הוא "נערה על חוף הים". לא נקבל תמונה שהתיאור שלה הוא "נערה על חוף הים מתחת לשמשייה". זה אולי נשמע טריוויאלי, אבל בחיפוש זה נעשה שימוש נרחב באקסיומות כמו "חוף הים הוא מקום פתוח", "מקומות פתוחים חשופים לשמש", ו- "מתחת לשמשייה לא חשופים לשמש". שתי התמונות יישלפו כתוצאה מבקשה כמו "אנשים בחופשה".
כמה מידע נדרש?
לאחר עשר שנים של פיתוח בסביבת מחקר אקדמית עבר CYC לפיתוח מסחרי על ידי חברת CYCORP. בשלב מסויים, הוא הכיל כמיליון אקסיומות, אם כי מאוחר יותר, לאחר ארגון מחדש של הידע, המספר ירד לכחצי מיליון, וכיום הוא שוב בתהליך גדילה. במהלך השנים, נתן דאגלס לנה הערכות שונות לגבי מספר האקסיומות הנדרשות: בתחילה ההערכה היתה מיליון, אחר-כך שני מיליון וארבעה מיליון, ובשנים האחרונות ההערכה הגיעה אפילו למאה מיליון: כל זה לא כדי לדעת כל מה שידוע לאדם, אלא כדי לדעת מספיק כדי לאפשר ל- CYC לקרוא בצורה עצמאית מידע – למשל ערכים באנציקלופדיה – ולהשתמש בו כדי להכניס ערכים חדשים לתוך הידע שלו, בלי התערבות אדם. לנה מציין כי בקצב ההתקדמות הנוכחי, יידרשו עוד כמאתיים שנה להגיע לרמה זו.
כיום, תהליך הכנסת המידע הוא ידני: אדם המומחה בנושא מסויים מגדיר מושג חדש – למשל "צמח טורף", משייך אותו ל"הייררכיית המידע האוניברסלית" השאפתנית של CYC (למשל, גם תחת "צמח" וגם תחת "טורף") ומציין כללים מסויימים התופשים לגבי מושג זה והקשרים שלו למושגים קיימים (למשל סוג המזון שהצמח זקוק לו). CYC ידווח אם יש סתירות עם הידע הקיים כבר (למשל "טורפים הם חיות", "צמחים אינם חיות"), ויבקש מהמומחה הבהרות לגבי הדרך ליישב סתירות אלה. CYC גם ינסה לזהות חוסרים בידע שלו, לפי ידע שכבר קיים על מושגים דומים, וישאל את המומחה: "הנה עוד דבר שהייתי רוצה לדעת על צמחים טורפים".
מובן שיש גם מבקרים ומתנגדים. הם מצביעים על הקושי לייצג ידע אנושי, אפילו טריוויאלי, בנוסחאות ממוחשבות, ועל כך שהאתגר של חיפוש פרטים רלוונטיים וסינון הלא-רלוונטיים הוא אולי מעניין וחשוב יותר מאשר הוספת כמות ענקית של מידע. בדוגמה של חיפוש חנות עיתונים, למשל, חשוב לדעת מה נמכר בכל סוג חנות, ולהתעלם ממידע משפטי על חוקים הנוגעים למכירה וקנייה. נטען גם כי CYC אינו יכול לייצג – או "להבין" – קשרים סיבתיים בין תופעות, וכי חשוב יותר לפתור קודם בעיה זו, הידועה כאחת הקשות ביותר בבינה המלאכותית: ממילא שיפור הייצוג של ידע כזה עשוי לדרוש הכנסה מחדש של כל הידע הקיים.
תוכנת CYC והידע האצור בה שייכות לחברה פרטית, המוכרת אותם (במחירים גבוהים) ללקוחות שונים – בעבר נרמז כי הלקוחות
כוללים גם ארגוני מודיעין אמריקאיים. לאחרונה, החליטה החברה להעביר חלק מהתוכנה ומהידע לתחום הציבורי, ושחררה חלקים אלה כקוד פתוח. דבר זה מאפשר לרבים להתנסות בטכנולוגיה זו, ואולי להרחיבה.
הקיפוד והשועל
עדיין מוקדם לציין את CYC כהצלחה או ככישלון. עם זאת, עצם השאלות שהוא מעלה יכולות להציע כיוונים ותובנות לגבי היתכנותם של מחשבים אינטליגנטיים. המשורר היווני ארכילוכוס, בסביבות 450 לפני הספירה, אמר: "השועל יודע הרבה דברים, אבל הקיפוד יודע דבר אחד גדול". ייתכן שכוונתו היתה להבדיל בין האנשים המודרכים תמיד על ידי חזון גדול אחד, לבין אלה העוסקים במגוון גדול של דברים ללא קשר ברור ביניהם. אפשר לראות ב-CYC השקפה המעדיפה את דרכו של השועל: איסוף פרטי מידע רבים ככל היותר יביא לבסוף להצלחה שחומקת מהבינה המלאכותית. אם כך, יהיה זה אירוני לראות איך עבודתו העיקשת, הקיפודית, של דאגלס לנה תהיה זו שתביא לניצחון השועל.
דבר אחד לפחות אפשר ללמוד כבר עכשיו, בהקשר של השאלה האופיינית לבינה המלאכותית: למה כל כך קשה למחשב לעשות מה שכל כך קל לאדם? הניסיון שנצבר בפרוייקט CYC מראה כי אחד הגורמים הוא הכמות העצומה של ידע שאדם משתמש בו מבלי להיות מודע לכך. מי היה מאמין כי מיליון עובדות הן רק חלק קטן מהמאגר המשותף לכל התרבות המערבית (או כל תרבות אחרת)?