עיצוב חווית משתמש מבוססת דיבור

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

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

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

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

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

smd

אומנות החיזוי

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

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

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

להתאים את הממשק לכל משתמש בנפרד

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

כמו משחק פינג פונג

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

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