Presentation is loading. Please wait.

Presentation is loading. Please wait.

עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings יעל נצר מדעי המחשב אוניברסיטת בן גוריון.

Similar presentations


Presentation on theme: "עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings יעל נצר מדעי המחשב אוניברסיטת בן גוריון."— Presentation transcript:

1

2 עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings יעל נצר מדעי המחשב אוניברסיטת בן גוריון

3 תזכורת מסתכלים על ההסתברות של משפט כהסתברות של רצף מילים : 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)

4 תזכורת – הנחה מרקובית הנחה מרקובית מצמצמת את החישוב של הסתברות המשפט לרצף של N מילים ( כלומר הנחה מרקובית מסדר N-1). P(I)*P(want|I)*P(to|I want)* P(eat|want to) *P(British|to eat) *P(food|eat British) ככל שמסתכלים על מספר מילים גדול יותר לפני המילה הנוכחית, ההערכה מדוייקת יותר. ככל שמסתכלים על יותר מילים, קשה יותר לקבל נתונים סטטיסטיים מדוייקים.

5 דוגמא – 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.

6 הערה על שימוש בלוגים נניח כי נתונות ההסתברויות : P( |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. לכן, נהוג להעביר את החישוב למרחב לוג – ( ברירת המחדל פה תהיה log 2 ) ואז, מחזירים את התוצאה למספר המקורי ( האנטי - לוג ).

7 Bi-gram grammar from BERP.60British food.26to eat.65want to.32I want.25 I.15British restaurant.14to have.05want a.29I would.06 I ’ d.01British cuisine.09to spend.04want some.08I don ’ t.04 Tell.01British lunch.02to be.01want thai.04I have.02 I ’ m

8 Bi-gram counts of seven words

9 bi-grams frequency

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

11 איך ניתן לחשב הסתברות של אירוע שטרם נצפה ? קורפוס – training and testing sets Training set – הקורפוס ממנו נלקחים התדירויות והנתונים. קב ' אימון כמודל שפה – ממנו נלקחות ספירת ה n-grams. וקב ' הבחינה – עליה מעריכים את המודל שנבנה.

12 שיטה טובה יותר – חלוקה לשלוש Training set Dev Test Set – נתונים עליהם מתבצעת ההערכה וה -fine-tuning של המודל Test set – הקבוצה הסופית לבחינת המודל והערכתו עדיף : מכיוון שכאשר משתמשים בקבוצת ה - testing כדי לאפיין את המודל בעצמו, הופכים אותו בעצם לחלק מקבוצת האימון.

13 Cross validation אפשרות נוספת היא cross validation: חלק את הנתונים ל -N קבוצות אמן את המודל על N-1 תתי קבוצות ובדוק על הקבוצה ה -N- ית חזור על הפעולה עבור כל אחת מ -N הקבוצות התוצאה תהיה הממוצע של המודלים.

14 Maximum Likelihood Estimation - MLE הרעיון : תדירות הופעת מילה בקורפוס היא ה - MLE של הופעת המילה בשפה ככלל, או בשפה פשוטה : נראה הכי הגיוני שאם מילה מופיעה 40 פעמים בתוך מליון מילים, אזי תדירותה בשפה היא 0.00004. מדד ה -MLE של Bi-gram ( מדוע מספיק לחלק את התוצאה במספר ההופעות של מילה בקורפוס ?)

15 Smoothing – 1 add-one

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

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

18 בעיות ב -ADD_ONE שינוי חד מדי בהסתברויות שאינן אפס, מכיוון שמסה גדולה מדי הועברה להסתברויות האפס. הערכה מוטעית משמעותית ביחס להסתברויות האפסיות. לפעמים אפילו יותר גרוע מאשר בשיטות שהן ללא smoothing.

19 Witten Bell Discounting הרעיון הבסיסי הוא – מילה שלא נצפתה עדיין ( או bi-gram) ההסתברות שלה לקרות היא כמו של התדירות של מילה / צירוף שטרם נראה בקורפוס. מהו צירוף שטרם נראה ? בעצם צירוף שנצפה בפעם הראשונה. כלומר – מספר ה ' טיפוסים ' type של הצירופים בקורפוס בסך הכל.

20 מנרמלים במספר ה -tokens בתוספת מספר ה -types מכיוון שרואים את הקורפוס כרצף של אירועים – אירוע לכל token ואירוע לכל type. כאן – T הוא מספר הטיפוסים שכבר ראינו, ו -V הוא סך הטיפוסים שנוכל לראות בסך הכל.

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

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

23 Discounting

24

25

26

27

28 קצת על אנטרופיה Entropy ו -preplexity הם שני מדדים חשובים לחישוב מודלי N-grams. שייכים למה שנקרא – תורת האינפורמציה אנטרופיה היא מידה של אינפורמציה – ומדד חשוב בעיבוד שפות טבעיות, כמו גם זיהוי קול. משמש להערכת הדמיון, למשל בין דקדוק או מודל נתון ובין השפה שאותו מייצג. בהנתן, למשל, שני דקדוקים וקורפוס, ניתן להעריך בעזרת האנטרופיה מי מייצג טוב יותר את הקורפוס.

29 חישוב אנטרופיה חישוב האנטרופיה מניח קיום משתנה אקראי X שמקבל ערכים אפשריים ( מילים, אותיות, חלקי דיבר וכו '), ופונקצית הסתברות כלשהי p(x). האנטרופיה של משתנה אקראי X היא ע " פ ההגדרה H(X)= -Σ x in X p(x)log 2 p(x) אנטרופיה נמדדת בביטים ( השימוש בלוג 2) אפשר לראות אנטרופיה כחסם תחתון למספר הביטים הנדרשים לייצוג מידע בסכמת קוד אופטימלית.

30 דוגמא רוצים להמר במירוץ סוסים, אבל לשלוח את ההודעות לסוכן מרחוק. יש שמונה סוסים במירוץ. דרך אחת לקידוד היא שימוש בייצוג בינארי כלומר – סוס מספר 1 – 001, סוס מספר 2 – 010 וכולי, ואילו סוס מספר 8 יהיה 000. אם כל היום נהמר בקוד של שלושה ביטים, בממוצע נשלח 3 ביטים לכל מירוץ.

31 האם ניתן לעשות טוב יותר ? נניח שההסתברות עבור כל אחד מהסוסים שונה – סוס 1 – ½ סוס 2 – ¼ סוס 3 – 1/8 סוס 4 – 1/16 סוסים 5,6,7,8 – 1/64

32 האנטרופיה עבור ההימור עבור X משתנה אקראי שמקבל את ערכי הסוסים, האנטרופיה נותנת לנו את החסם התחתון למספר הביטים : H(X) = -  i=1,8 p(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

33 במקרה של שוויון בהסתברויות אם נסתכל על המקרה הראשון שלכל סוס ניתנה הסתברות שווה כלומר 1/8 – האנטרופיה בבחירת הסוס היא H(X)= -  i=1,8 1/8log1/8 =-log1/8=3 bits כלומר, האנטרופיה כאן עקבית עם מה שכבר ידענו.

34 Preplexity Preplexity מוגדר כערך 2 H באופן אינטואיטיבי, זהו ממוצע " ממושקל “ weighted של מספר ההחלטות הממוצע שהמשתנה האקראי צריך להחליט – כלומר : בחירה בין 8 סוסים, שלכל אחד מהם הסתברות שווה, ה -preplexity הוא 2 3 כלומר 8. עבור הטבלה בה לכל סוס הסתברות שונה – הערך הוא 2 2 כלומר 4.

35 אנטרופיה של רצף כשמסתכלים למשל על מודל של שפה, מסתכלים על רצפים של מילים ומשתנה אקראי אחד לא מספיק. ניתן להניח קיום משתנה אחד שערכיו הם כל הרצפים האפשריים w 1 w 2 ….. w n ניתן להגדיר entropy rate כאנטרופיה של הרצף על ידי חלוקה של האנטרופיה במספר המילים ברצף עמ ' 226 6.47

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

37 מודל הסתברותי נקרא קבוע stationary אם ההסתברות שנתנות לרצף אינן משתנות ביחס לזמן Time index כלומר, ההסתברויות בזמן t שקולות לאלה בזמן t+1. מודלי מרקוב, הם קבועים. מצד שני שפה טבעית אינה stationary מכיוון שקיימות בשפה תלויות ממרחק גדול יותר ותלויות - זמן. לכן, מודל סטטיסטי כזה נותן רק הערכה ביחס לתפוצות ולאנטרופיה של השפה.

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


Download ppt "עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings יעל נצר מדעי המחשב אוניברסיטת בן גוריון."

Similar presentations


Ads by Google