← Home

מבחן לדוגמה — עיבוד שפה טבעית (NLP)

ד״ר איגור קליינר
HITHolon Institute of Technology
משך הבחינה: 120 דקות
סך הכול: 100 נקודות
מספר שאלות: 8
שפת הבחינה: עברית, עם מונחים מקצועיים באנגלית
חומר עזר מותר:
  • דף A4 אחד עם חומר כתוב משני צדדיו.
  • סטודנטים בעלי אישור לדף מורחב רשאים להביא דף נוסף, כתוב בצד אחד בלבד.
  • מותר להשתמש במחשבון רגיל. אין להשתמש במחשב, בטלפון או בכל כלי מקוון.
יש לענות על כל השאלות. חשוב לנמק ולהראות דרך פתרון. תשובה ללא נימוק מספק לא תקבל ניקוד מלא.
שם הסטודנט/ית:
מספר זהות:
קבוצה:
שאלהניקוד
115
28
315
415
515
610
76
816

שאלה 1 — מודל שפה מסוג n-grams

15 נקודות

מודלים לייצוג שפה שומרים סטטיסטיקות של רצפי מילים על סמך מאגרי טקסט. בטבלה נתונות הסתברויות מעבר של מודל ביגרם: ההסתברות למילה בעמודה בהינתן המילה בשורה. לדוגמה, P(I | <s>) = 0.375.

טבלת הסתברויות מעבר: P(column | row)
row \ column<s>IamSam
<s>0.1250.3750.1250.375
I0.1250.1250.6250.125
am0.3750.1250.1250.375
Sam0.1250.3750.3750.125
א. 7 נק׳ חשבו את הסתברות המשפטים <s> I am Sam ו־<s> Sam am I. פרטו את אופן החישוב.
ב. 4 נק׳ כיצד ייתכן שבטבלה מתקבל ערך חיובי עבור P(<s> | <s>)? ציינו הסבר אפשרי אחד.
ג. 4 נק׳ אילו הנחות מאפשרות לחשב הסתברות של משפט באמצעות מכפלת הסתברויות מעבר כפי שעשיתם בסעיף א׳? ציינו שתי הנחות או מגבלות של השיטה.

שאלה 2 — Cosine Similarity בין מסמכים

8 נקודות

על מנת לחשב דמיון בין מסמכים נשתמש במדד cosine similarity. בטבלה מופיע מספר הפעמים שכל מילה הופיעה בכל אחד משני המסמכים a ו־b.

DocumentAdvertisingAutoCarDetroitEngineGermanySales
a5881234335036
b71125427602788
חשבו את הדמיון בין שני המסמכים באמצעות cosine similarity. נדרש להציג את ההצבה בנוסחה ואת שלבי החישוב; אין חובה לחשב את הקירוב העשרוני הסופי.

שאלה 3 — Distributional Similarity ומילים בעייתיות

15 נקודות

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

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

שאלה 4 — ייצוג וקטורי של מילים ומסמכים

15 נקודות
א. 4 נק׳ מטרת ייצוג מסמכים באמצעות מילים המשוקללות לפי TF-IDF היא להבליט מילים חשובות במסמך ולהקטין משקל של מילים נפוצות מדי. ציינו שני חסרונות של ייצוג זה.
ב. 4 נק׳ Word2Vec הוא מודל לייצוג וקטורי של מילים. במה הוא דומה לשיטות מטריציוניות כמו SVD, ובמה הוא שונה מהן? ציינו יתרון אחד של Word2Vec על פני SVD.
ג. 4 נק׳ נתונים וקטורים לכל מילה במילון, שנלמדו באמצעות Word2Vec. כיצד ניתן לייצג מסמך שלם כווקטור אחד?
ד. 3 נק׳ הסבירו בקצרה את ההבדל בין ייצוג דליל (sparse) לבין ייצוג צפוף (dense) של טקסט.

שאלה 5 — PMI, שכיחות מילים והשוואת קבוצות

15 נקודות

שתי קבוצות נשאלו: “מה הדברים שמביאים לכם סיפוק בחיים?”. קבוצה אחת מזוהה כליברלית וקבוצה אחת כשמרנית. בתרשים מופיעות מילים שהופיעו בתדירות גבוהה בתשובות של כל קבוצה.

LIBERALS

Family
749
Friends
434
Work
374
Time
364
Job
289
Love
262
Children
255
Health
255
Able
224
Enjoy
213

CONSERVATIVES

Family
806
God
344
Friends
312
Children
274
Health
247
Love
236
Time
230
Work
214
Faith
198
Job
177
א. 4 נק׳ כפי שניתן לראות, מילים רבות מופיעות בתדירות גבוהה בשתי הקבוצות. מדוע תדירות גבוהה לבדה אינה תמיד מספיקה כדי לזהות מילים שמאפיינות קבוצה מסוימת?

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

Religious respondentsNon-religious respondentsAll respondents
Responses mentioning “church”1913194
Responses mentioning “hobbies”6546111
Responses mentioning “spouse”442468
All responses3,2841,2084,492
ב. 7 נק׳ חשבו את ערך PMI בין המילה church לבין כל אחת משתי הקבוצות: דתיים ולא־דתיים. הציגו את דרך החישוב.
ג. 4 נק׳ מהי המשמעות של PMI שלילי? האם הוא שימושי בעיבוד שפה טבעית? נמקו.

שאלה 6 — Regex

10 נקודות

נתון הביטוי הרגולרי הבא:

1*0+1?0

סמנו את כל המחרוזות שמתאימות לביטוי זה בהתאמה מלאה, כלומר כל המחרוזת צריכה להתאים לביטוי. הסבירו את הבחירה שלכם.

  • א. 0
  • ב. 00
  • ג. 1010
  • ד. 000010
  • ה. 10
  • ו. 01110
  • ז. 1100
  • ח. 1

שאלה 7 — קידוד ופענוח טקסט

6 נקודות

הסבירו מהו encoder ומהו decoder בהקשר של ייצוג טקסט במחשב, למשל ב־ASCII, Unicode ו־UTF-8. מהו כיוון הפעולה של כל אחד מהם? תנו דוגמה קצרה, והסבירו מה עלול לקרות כאשר מפענחים רצף בתים באמצעות קידוד שגוי.

שאלה 8 — Jaro Similarity ו־Perplexity

16 נקודות
א. 6 נק׳ חשבו את הדמיון בין המחרוזות muose ו־mausse באמצעות מדד Jaro Similarity. הציגו את מספר ההתאמות, מספר הטרנספוזיציות ואת ההצבה בנוסחה.
ב. 4 נק׳ נניח שבניתם שני מודלי שפה: למודל A יש Perplexity = 150, ולמודל B יש Perplexity = 200. באיזה מודל תבחרו? מדוע?
ג. 6 נק׳ נניח שבשפה יש ארבע אותיות בלבד: a,b,c,d. במודל שפה נתון P(a)=0.5, ולכל אחת משלוש האותיות האחרות יש אותה הסתברות, ולכן P(b)=P(c)=P(d)=1/6. נתונה מילה W = a^N b^N c^N d^N, כלומר כל אות מופיעה בדיוק N פעמים. חשבו את Perplexity של W לפי המודל.

נוסחאות עזר

Perplexity

PP(W) = P(w₁,w₂,…,wₙ)−1/n

PP(W) = (∏i=1n P(wᵢ))−1/n

Jaro Similarity

J = ⅓ · ( m/|s₁| + m/|s₂| + (m−t)/m )

m = number of matching characters
t = half the number of transpositions

Cosine Similarity

cos(a,b) = (a · b) / (||a|| · ||b||)

PMI

PMI(x,y) = log( P(x,y) / (P(x) · P(y)) )