חברת מלינגו מוכרת לציבור הרחב בעיקר בזכות המילונים האינטרנטיים שלה, "מורפיקס" (אנגלי-עברי-אנגלי) ו"רב-מילים" (עברי-עברי). רצינו לחשוף בפני קוראי בלוג השפה העברית מעט מהפעילות המקבילה של החברה בתחום המוסדי – פעילות בתחום הטכנולוגי מרתק, עיבוד שפה טבעית. תחום זה עוסק במחשוב של פעולות אנושיות כגון קריאה והבנה של טקסט. הפוסט הזה התפרסם בבלוג של חברת מטריקס, מחברת המחשוב המובילה בישראל, לרגל חתימת הסכם שיתוף פעולה רחב בין מלינגו לבין מטריקס.
מטריקס חתמה לאחרונה על הסכם הפצה בלעדי עם מלינגו. מלינגו היא חברת NLP – Natural Language Processing , ובעברית, עיבוד שפה טבעית, או ניתוח שפה טבעית.
אז מה זה בדיוק שפה טבעית ולמה צריך לנתח אותה?
המונח "שפה טבעית" מתייחס לכל השפות האנושיות המוכרות לנו. כיוון שהמונח צמח כנושא במדעי המחשב, ראו ראשוני העוסקים בתחום צורך לציין במפורש שמדובר בשפה טבעית, בניגוד לשפת מחשב.
ולמה צריך לעבד או לנתח את השפה?
נתחיל בכך שכשאתם קוראים את הפוסט הזה, ברגע זה ממש, המוח שלכם מבצע עיבוד שפה. שאם לא כן, לא הייתם מצליחים להבין דבר ממה שאתם קוראים.
אם תחשבו על זה, מה שעיניכם רואות כרגע זה בסך הכול רצף של סימנים, שרירותיים ודי מוזרים, שנקראים אותיות, ועוד כמה סימנים כמו פסיק, נקודה או רווח.
הפוסט הזה, כמו כל פוסט שפורסם או יפורסם אי פעם, מכיל בסך הכול רצף של תווים כאלה. באופן מופלא למדיי, כשתסיימו לסרוק את הרצף הזה – נניח, כ- 3000 תווים, תעבור אליכם (כך אפשר לקוות לפחות) משמעות – תוכן הפוסט הזה. בשפות בעלות כתיב פונטי – רוב שפות העולם כיום – תווי הכתיב הם המקבילה הכתובה של צלילי השפה, ההגאים, שגם להם אין כל משמעות ללא תוכנת הפענוח שמוחנו.
התהליך של הפקת משמעות מרצף של סימנים מלווה אותנו בכל יום, מרגע שאנחנו פוקחים את עינינו וחלק משמעותי ( וכנראה הולך וגדל) מהתכנים מגיע אלינו בצורת טקסט. מהמייל הראשון בבוקר ועד הסטאטוס האחרון בפייסבוק בערב – עינינו קולטות רצפי אותיות, שאין להן פשר ללא תהליך הפקת המשמעות.
לצורך סימולציה של מצב שבו תוכנת ניתוח הטקסט שבמוחנו חסרה, תארו לעצמכם שאתם בחופשה בתאילנד, שיש בה חוקי משחק מיוחדים: מדברים אליכם וכותבים לכם אך ורק בשפה התאילנדית. אוזניכם קולטות את הצלילים, עיניכם קולטות את האותיות, אך שום משמעות אינה מופקת. (נסו לטעום מהחוויה כאן). לא בטוח שהייתם נהנים מחופשה כזאת.
לרוב תוכנות המחשב כיום חסר מרכיב NLP. היכולת שלהן להבין עברית או על אנגלית דומה ליכולת של רובנו להבין תאילנדית. הן יודעות לקלוט טקסט ולהציג אותו, אבל משאירות את כל עבודת ניתוח הטקסט למוח האנושי. המוח האנושי עושה את זה לא רע, אבל הוא מוגבל בכמות המידע שהוא יכול לקלוט ולעבד.
קחו למשל את תוכנת המייל שלכם. בהודעת מייל קצרה כמו "זכינו במכרז." יכולה להיות מקופלת דרמה, אבל קרוב לוודאי שתוכנת המייל לא תתרגש ממנו. היא לא תבדיל בינו לבין "אין חדש", "אנחנו מציעים לך קופון" או "אולי נאכל צהריים ביחד מתישהו". כל זה לא אומר דבר לתוכנת המייל.
הנושא שבו מלינגו עוסקת הוא הפקת המשמעות של מסרים, תוך חיקוי חלק מהמנגנונים שפועלים במוחנו כשאנחנו קוראים.
למשל, התוכנה של מלינגו מזהה שהרצף "זכינו" מתייחס למושג הזכייה. בעברית, וגם בשפות אחרות, אותו מושג עשוי להופיע במאות ואף אלפי צורות שונות – למשל בנטיות שונות: זכינו, זכייה, הזכיה, זוכים, זכייתנו. מילים נרדפות עשויות להביע מושג זהה או דומה, כמו ניצחון, ניצחנו וכו'. התוכנה מזהה את כל הצורות השונות שמביעות את אותו הרעיון, וממפה אותן למושג משותף שעומד מאחוריהן. התוכנה גם מזהה ש"צהריים" הוא מושג זמן, וכן מודעת להקשרים, למשל, מזהה שברצף "נאכל צהריים" הכוונה היא למושג "ארוחת צהריים", מושג שלא מוזכר במפורש בטקסט. גם אם מישהו יכתוב לאנצ' או lunch, התוכנה תזהה שמדובר באותו מושג, וכך גם לגבי מכרז, מיכרז, או RFP.
חשיבות זיהוי המושגים שמאחורי האותיות היא עצומה. קישור בין רצף אותיות לבין מושג בעולם האמיתי הוא אבן בניין מרכזית בתהליך המוחי שהופך טקסט למשמעות, ולכן הוא גם אבן בניין מרכזית בתוכנה שמנתחת טקסט.
בפוסטים נוספים אפרט יותר את מגוון היישומים שמלינגו מפתחת. הפעם רק אתן דוגמה אחת למה שניתן לבצע באמצעות ניתוח טקסט: תארו לעצמכם שיש לכם מעין עוזר ממוחשב, שקורא עבורכם את כל המיילים שאתם מקבלים, מסמן לכם את דרגת החשיבות של כל מייל, מציע לכם באופן אוטומטי למי להעביר את המיילים, מה ראוי למחיקה מיידית, וכן הצעות לתיוק המיילים בתיקיות לפי נושאים. נראה שרובנו צריכים קצת עזרה בהתמודדות עם מבול המיילים היומי שאנחנו עסוקים חלק גדול מהיום בהדיפתו, לא?
במאמרו משנת 1950, Computing Machinery and Intelligenceטען אלן טיורינג שלא ניתן לבחון ישירות האם מחשב "חושב", ולכן צריך לשאול את השאלה – האם מחשב מסוגל לעשות פעולות שבני אדם יכולים לעשות, אשר מעידות על חשיבה.
תחום עיבוד השפה הטבעית עוסק בייצור יישומים שמבצעים פעולות סביב טקסט (וגם, במידה מסוימת, סביב דיבור) שיש בהן מידה של אנושיות. באופן מפתיע למדיי (לא למי שעוסק בתחום), זהו אחד התחומים המאתגרים ביותר במדעי המחשב; למשל, קשה יותר לכתוב תוכנה שמבינה מייל פשוט על בוריו מאשר תוכנה שמנצחת את אלוף העולם בשחמט. הסיבה היא כנראה, שבניגוד לשחמט, שפה טבעית אינה מערכת שהאדם המציא או קבע ביודעין את חוקיה. ובכל זאת, עם ההתקדמות בתחום עיבוד השפה הטבעית, תוך שילוב מערכות חוקים מפורטות ושיטות סטטיסטיות, הולכים וגוברים ההישגים הכמעט-אנושיים בו.
הכותב הוא יוני נאמן, מייסד ונשיא לטכנולוגיות בחברת מלינגו.
פוסט זה התפרסם במקור בבלוגיקס, הבלוג של מטריקס.
לפוסט ולתגובות בבלוגיקס
מפנה ל- http://wide.blogix.co.il/2011/naturallanguageprocessing
סוד השפה האנושית.
כדי לפצח את סוד השפה האנושית, צריך להסכים כי צריך לשתוק.
ומדוע לשתוק ? כי אין מלים , ואולי יש רק אותיות.
השפה האנושית עוד לא הומצאה,
ואם השפה האנושית עוד לא הומצאה , באיזו שפה נתאר את המצאתה ?
התשובה באה מאליה……..כמובן, בשפת המעשים.
ומה צריך לעשות ?
אפשר לעשות מעשה פשוט מאוד , ולנגוע בדופן פנימית של מקרר.
עד מהרה יתברר, כי בעקבות מעשה פשוט כזה, באה אל העושה….ידיעה מופלאה.
ראובן: אני נוגע בדופן פנימית של מקרר….וידיעה באה אלי
לוי: מה אתה יודע ?
ראובן ידיעה פלאית באה אלי בעקבות מגע בדופן פנימית של מקרר.
אני לא יכול לתאר את הידיעה הזו, כיוון שהשפה עוד לא הומצאה.
לוי: גם אני רוצה שידיעה פלאית כזו תבוא אלי.
ראובן: תנגע בדופן פנימית של מקרר, וידיעה זו תבוא אליך.
לוי: נכון, נגעתי, וידיעה פלאית הגיעה אלי.
גם אני לא יכול לתאר את הידיעה הזו, כיוון שהשפה עוד לא הומצאה.
ראובן: אולי נעניק שם לידיעה פלאית זו ? וכך נתחיל ליצור שפה.
לוי: אתה צודק, אם נעניק שם לידיעה הפלאית הזו, כך נתחיל ליצור שפה.
ראובן: שפה מתחילה עם שם.
לוי: מה זה שם ?
ראובן: צירוף של אותיות ( בעל צליל ייחודי, וצורה חיצונית ייחודית)
צירוף האותיות ל ו י הוא השם שלך, וצירוף האותיות ר א ו ב ן הוא השם שלי.
לוי: ואתה רוצה להמציא צירוף אותיות, שיהיה השם של הידיעה שבאה אלינו, בעקבות מגע בדופן פנימית של מקרר ?
ראובן: כן, זה ממש מתבקש להמציא שם לידיעה המופלאה שבאה אלינו, בעקבות מעשה
פשוט, של מגע בדופן פנימית של מקרר.
לוי: אתה מסכים שצירוף האותיות ק ר מ י ר יהיה השם שלה ?
ראובן: מסכים.
לוי: עכשיו המצאנו את המלה הראשונה של השפה האנושית.(צירוף האותיות ק ר מ י ר )
ראובן: מה בסך הכל המצאנו ? בחרנו צירוף אותיות באופן שרירותי, והחלטנו שצירוף אותיות זה , יהיה שם של ידיעה.
זוהי ידיעה מסוימת, שבאה בעקבות מעשה מסוים, של מגע בדופן פנימית של מקרר.
לוי: עכשיו כל אדם יכול לעשות את המעשה המסוים הזה – ולדעת.
השם של הידיעה הזאת, יהיה ק ר מ י ר.
ראובן: השפה האנושית היא פשוטה מאוד, וזוהי שפה של שמות.
כל צירוף אותיות נבחר יכול למלא תפקיד של שם.
שמעון שפתאום הגיע שואל : מה זה ק ר מ י ר ?
לוי: זה צירוף אותיות, שהתפקיד שלו הוא שם.
שמעון: שם של מה ? שם של מי ?
לוי: צירוף האותיות ק ר מ י ר הוא שם מוסכם של ידיעה טבעית, שבאה בעקבות מעשה
של מגע בדופן פנימית של מקרר.
שמעון: אתה יכול לתאר לי את הידיעה הזו ?
לוי: עם מה ? עם צירופי אותיות אחרים ? הרי זה בלתי אפשרי.( כל צירוף הוא רק שם)
שמעון: ואיך תבוא אלי הידיעה הזו ?
לוי: עליך לעשות מעשה , ולנגוע בדופן פנימית של מקרר.
שמעון: טוב, הנה עשיתי את המעשה…..ואני מסכים שידיעה מופלאה הגיעה אלי.
לוי: עכשיו עליך להסכים, כי צירוף האותיות ק ר מ י ר יהיה השם המוסכם של ידיעה זו.
שמעון: אולי נקצר את השם שבחרתם, עבור הידיעה הפלאית שבאה בעקבות מעשה, של מגע בדופן פנימית של מקרר. ?
לוי: אפשר במקום צירוף האותיות ק ר מ י ר להסתפק בצירוף האותיות ק ר מ י
שמעון: ואולי מספיק להשתמש בצירוף האותיות קרמ
ראובן : כן זה שם יפה קרמ
לוי: אני הייתי מסתפק בצירוף האותיות ק ר מה דעתכם ?
ראובן: השפה האנושית היא שפה של שמות. כל צירוף אותיות הוא רק שם.
שמעון: קשה להתרגל לרעיון הזה , האם באמת כל צירוף אותיות הוא רק שם ?
ראובן: יש המון צירופי אותיות, ולכל צירוף יש צליל ייחודי וצורה ייחודית.
יש המון "דברים" בעולם שהאדם מבחין בהם באופן מעשי, ולכל דבר מאלה יש לבחור צירוף אותיות שימלא תפקיד של שם.
שמעון: יש המון פעולות מעשיות שהאדם מסוגל לעשות, ולכל פעולה צריך לבחור צירוף
אותיות שימלא תפקיד של שם.
לוי: יש המון ידיעות טבעיות שבאות אל האדם בעקבות מעשים שהוא עושה, ולכל ידיעה כזו יש לבחור צירוף אותיות, שימלא תפקיד של שם.
שמעון: אני כבר התרגלתי לרעיון הזה , שכל צירוף אותיות הוא רק שם ?
לוי: מה זה צירוף האותיות הזה ק ר ע י ל ך ד ר ?
ראובן:איזו שאלה מוזרה ? הרי כל צירוף של אותיות יכול למלא רק תפקיד של שם.
שמעון: נכון, צריך לשאול ….שם של מה ? הוא צירוף האותיות ק ר ע י ל ך ד ר
שם של דבר ממשי ? , של דבר לא ממשי ? של פעולה ממשית ? של פעולה לא ממשית ?
של ידיעה שבאה בעקבות מעשה ?
ראובן: הצירוף הזה פנוי , והוא יכול למלא תפקיד של שם, ……למה שנרצה.
השפה האנושית היא שפה פשוטה מאוד.
שפה זו מבוססת על מעשים המביאים ידיעות, וזה העיקר.
האדם עושה ויודע…..וזה העיקר.
השלב השני בשפה הוא השימוש בצירופי אותיות הממלאים תפקיד של שמות לידיעות.
לוי: לא פלא שיש אלפי שפות אנושיות בעולם, הרי כל אדם עושה ויודע.
לא פלא שילדים רוכשים שפה בקלות ובמהירות, מכיוון שהם כל הזמן עושים מעשים,
( משחקים ) ורוכשים ידיעות הבאות אליהם ללא מאמץ.
המבוגרים, רק מלמדים את הילדים, את השמות המוסכמים של הידיעות.
א.עצבר
7/2016
אהבתיאהבתי