שתף קטע נבחר

איך זה עובד: זיהוי ממוחשב של דיבור

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

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

 

 

 

 

שלב ראשון: הפירוק

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

 

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

 

מחשב, תזמין לי פיצה! (צילום: shutterstock) (צילום: shutterstock)
מחשב, תזמין לי פיצה!(צילום: shutterstock)

 

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

 

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

 

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

 

שלב שני: ההרכבה

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

 

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

 

זו לא הפונמה שלי! (צילום: index open) (צילום: index open)
זו לא הפונמה שלי!(צילום: index open)

 

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

 

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

 

שלב שלישי: ההבנה

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

 

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

 

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

 

 תגובה חדשה
הצג:
אזהרה:
פעולה זו תמחק את התגובה שהתחלת להקליד
צילום: shutterstock
קולות הופכים לפקודות
צילום: shutterstock
מומלצים