37
תתתתת תתתת תתתתתת – תתתתת תתתתתN-grams with smoothings תתת תתת תתתת תתתתת תתתתתתתתתת תת תתתתתת

עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

  • Upload
    yakov

  • View
    49

  • Download
    0

Embed Size (px)

DESCRIPTION

עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings. יעל נצר מדעי המחשב אוניברסיטת בן גוריון. תזכורת. מסתכלים על ההסתברות של משפט כהסתברות של רצף מילים: P( I want to eat British food ) שימוש בחוק השרשרת: - PowerPoint PPT Presentation

Citation preview

Page 1: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

עיבוד שפות טבעיות – שיעור חמישיN-grams with smoothings

יעל נצר

מדעי המחשב

אוניברסיטת בן גוריון

Page 2: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

תזכורת

מסתכלים על ההסתברות של משפט כהסתברות של רצף מילים:

P(I want to eat British food)שימוש בחוק השרשרת:

P(I)*P(want|I)*P(to|I want)*P(eat|I want to) *P(British|I want to eat)

*P(food|I want to eat British)

Page 3: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

תזכורת – הנחה מרקובית

הנחה מרקובית מצמצמת את החישוב של הסתברות מילים )כלומר הנחה מרקובית Nהמשפט לרצף של

(.N-1מסדר P(I)*P(want|I)*P(to|I want)*

P(eat|want to) *P(British|to eat) *P(food|eat British)

ככל שמסתכלים על מספר מילים גדול יותר לפני המילה הנוכחית, ההערכה מדוייקת יותר.

ככל שמסתכלים על יותר מילים, קשה יותר לקבל נתונים סטטיסטיים מדוייקים.

Page 4: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

Berkeley Restaurantדוגמא – Project - BERP

פרוייקט שנעשה באוניברסיטת ברקלי לייעוץ מסעדות מבוסס-קול

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

I’d like to eat dinner someplace nearby.I’m looking for a good place to eat breakfast.I’m looking for Cantonese food.

Page 5: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

הערה על שימוש בלוגים

נניח כי נתונות ההסתברויות: P(<s>|I)*P(want|I)*P(to|want)*

P(eat|to) *P(British|eat) *P(food| British)=0.25*0.32*0.65*0.26*0.002*0.60 = 0.000016

מכפלתן קטנה ככל שמספר 1מכיוון שההסתברויות קטנות מ- numericalהמוכפלים גדל, מה שיכול להביא ל-

underflow.לכן, נהוג להעביר את החישוב למרחב לוג – )ברירת המחדל

( ואז, מחזירים את התוצאה למספר המקורי log2פה תהיה )האנטי-לוג(.

Page 6: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

Bi-gram grammar from BERP

<s> I.25I want.32want to.65to eat.26British

food.60

<s>I’d.06I would.29want a.05to have.14British restauran

t

.15

<s>Tell

.04I don’t.08want some

.04to spend.09British cuisine

.01

<s>I’m

.02I have.04want thai.01to be.02British lunch

.01

Page 7: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

Bi-gram counts of seven words

Page 8: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

bi-grams frequency

Page 9: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

כמה נקודות חשובות

Page 10: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

איך ניתן לחשב הסתברות של אירוע שטרם נצפה?

training and testing setsקורפוס – Training set הקורפוס ממנו נלקחים –

התדירויות והנתונים. קב' אימון כמודל שפה – . וקב' הבחינה – n-gramsממנו נלקחות ספירת ה

עליה מעריכים את המודל שנבנה.

Page 11: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

שיטה טובה יותר – חלוקה לשלוש

Training setDev Test Set נתונים עליהם מתבצעת –

של המודלfine-tuningההערכה וה-Test set הקבוצה הסופית לבחינת המודל –

והערכתועדיף: מכיוון שכאשר משתמשים בקבוצת

כדי לאפיין את המודל בעצמו, testingה-הופכים אותו בעצם לחלק מקבוצת האימון.

Page 12: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

Cross validation

:cross validationאפשרות נוספת היא קבוצותNחלק את הנתונים ל-

תתי קבוצותN-1אמן את המודל על

-יתNובדוק על הקבוצה ה-

הקבוצותNחזור על הפעולה עבור כל אחת מ-

התוצאה תהיה הממוצע של המודלים.

Page 13: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

Maximum Likelihood Estimation - MLE

הרעיון: תדירות הופעת מילה בקורפוס היא ה- MLE של הופעת המילה בשפה ככלל, או בשפה

40פשוטה: נראה הכי הגיוני שאם מילה מופיעה פעמים בתוך מליון מילים, אזי תדירותה בשפה

.0.00004היא

Bi-gram של MLEמדד ה-)מדוע מספיק לחלק את התוצאה במספר ההופעות

של מילה בקורפוס?(

Page 14: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

Smoothing – 1 add-one

Page 15: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

BERPטבלת ההופעות ב-

Page 16: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

-ADD אחרי ה-BERPטבלת ההופעות ב-ONE

Page 17: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

ADD_ONE בעיות ב-

שינוי חד מדי בהסתברויות שאינן אפס, מכיוון שמסה גדולה מדי הועברה להסתברויות האפס.

הערכה מוטעית משמעותית ביחס להסתברויות האפסיות.

לפעמים אפילו יותר גרוע מאשר בשיטות שהן .smoothingללא

Page 18: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

Witten Bell Discounting

הרעיון הבסיסי הוא – מילה שלא נצפתה עדיין ( ההסתברות שלה לקרות היא כמו bi-gram)או

של התדירות של מילה/צירוף שטרם נראה בקורפוס.

מהו צירוף שטרם נראה?

בעצם צירוף שנצפה בפעם הראשונה.

של הצירופים typeכלומר – מספר ה'טיפוסים' בקורפוס בסך הכל.

Page 19: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

בתוספת מספר tokensמנרמלים במספר ה- מכיוון שרואים את הקורפוס כרצף של typesה-

.type ואירוע לכל tokenאירועים – אירוע לכל

V הוא מספר הטיפוסים שכבר ראינו, ו-Tכאן – הוא סך הטיפוסים שנוכל לראות בסך הכל.

Page 20: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

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

Page 21: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

המשך

פעמים, כל 0 שנספרו n-grams סך ה-Zיהי אחד כזה מקבל עכשיו את חלקו השווה במסת

ההסתברות החדשה:

-Nלשם כך מפחיתים את ההסתברות של ה-gramsשכבר נצפו

Page 22: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

Discounting

Page 23: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings
Page 24: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings
Page 25: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings
Page 26: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings
Page 27: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

קצת על אנטרופיה

Entropy -ו preplexity הם שני מדדים חשובים .N-gramsלחישוב מודלי

שייכים למה שנקרא – תורת האינפורמציהאנטרופיה היא מידה של אינפורמציה – ומדד חשוב

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

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

Page 28: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

חישוב אנטרופיה

Xחישוב האנטרופיה מניח קיום משתנה אקראי שמקבל ערכים אפשריים )מילים, אותיות, חלקי דיבר

.p(x)וכו'(, ופונקצית הסתברות כלשהי

היא ע"פ ההגדרהXהאנטרופיה של משתנה אקראי

H(X)= -Σx in Xp(x)log2p(x)( 2אנטרופיה נמדדת בביטים )השימוש בלוג

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

Page 29: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

דוגמא

רוצים להמר במירוץ סוסים, אבל לשלוח את ההודעות לסוכן מרחוק.

יש שמונה סוסים במירוץ.דרך אחת לקידוד היא שימוש בייצוג בינארי כלומר

– וכולי, 010 – 2 , סוס מספר 001 – 1 סוס מספר

.000 יהיה 8ואילו סוס מספר אם כל היום נהמר בקוד של שלושה ביטים, בממוצע

ביטים לכל מירוץ.3נשלח

Page 30: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

האם ניתן לעשות טוב יותר?

נניח שההסתברות עבור כל אחד מהסוסים שונה –

– ½ 1סוס

– ¼ 2סוס

1/8 – 3סוס

1/16 – 4סוס

1/64 – 5,6,7,8סוסים

Page 31: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

האנטרופיה עבור ההימור

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

H(X) = -i=1,8p(i)logp(i)= -1/2log1/2 – 1/4log1/4 – 1/8log1/8 –1/16log1/16 – 4(1/64log1/64) = 2 bits.כלומר בממוצע ניתן להשתמש בשני ביטים למירוץ וזאת ניתן לעשות על ידי בניית קידוד על פי ההסתברות – ככל שההסתברות נמוכה יותר מספר הביטים גדל

, ואחריו 0לסוס עם ההסתברות הגדולה ביותר יהיה הקוד –10 ,110 ,1110 ,111100 ,111101 ,111110 ,111111

Page 32: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

במקרה של שוויון בהסתברויות

אם נסתכל על המקרה הראשון שלכל סוס ניתנה – האנטרופיה 1/8הסתברות שווה כלומר

בבחירת הסוס היא

H(X)= -i=1,81/8log1/8 =-log1/8=3 bits

כלומר, האנטרופיה כאן עקבית עם מה שכבר ידענו.

Page 33: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

Preplexity

Preplexity 2 מוגדר כערךH

באופן אינטואיטיבי, זהו ממוצע "ממושקל“weighted של מספר ההחלטות הממוצע

שהמשתנה האקראי צריך להחליט – כלומר: סוסים, שלכל אחד מהם הסתברות 8בחירה בין

.8 כלומר 23 הוא preplexityשווה, ה-עבור הטבלה בה לכל סוס הסתברות שונה –

.4כלומר 22הערך הוא

Page 34: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

אנטרופיה של רצף

כשמסתכלים למשל על מודל של שפה, מסתכלים על רצפים של מילים ומשתנה אקראי אחד לא

מספיק.

ניתן להניח קיום משתנה אחד שערכיו הם כל w1 w2….. wnהרצפים האפשריים

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

6.47 226עמ'

Page 35: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

אבל כאשר מחשבים אנטרופיה של שפה, צריך להחשיב גם רצפים באורך אינסופי

Shanon-McMillan-Breiman theorem גורסת שאם שפה היא רגולרית באופן כלשהו, אזי ניתן להגדיר את

האנטרופיה כ-כלומר אם לוקחים רצף ארוך מספיק במקום לסכם את סך כל

הרצפים האפשריים.ההנחה כאן היא שאם לוקחים רצף ארוך מספיק, אזי הוא

יכול רצפים קצרים, וכל אחד מהרצפים הקצרים האלה יופיע בארוך באותו יחס על פי הסתברותו.

Page 36: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

אם stationaryמודל הסתברותי נקרא קבוע ההסתברות שנתנות לרצף אינן משתנות ביחס לזמן

Time index .t+1 שקולות לאלה בזמן tכלומר, ההסתברויות בזמן מודלי מרקוב, הם קבועים.

מכיוון stationaryמצד שני שפה טבעית אינה שקיימות בשפה תלויות ממרחק גדול יותר ותלויות-זמן.

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

Page 37: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings

לסיכום

קבלת החלטות שאינן נכונות או מדוייקות אך נוחות ומפשטות , ניתן לחשב אנטרופיה של

תהליך הסתברותי על ידי לקיחת דוגמא ארוכה הסתברות שלו.logמאוד של פלט, וחישוב ה

בשיעורים הבאים נראה למה רוצים לעשות את זה וגם איך לחשב.