![Page 1: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/1.jpg)
עיבוד שפות טבעיות – שיעור חמישיN-grams with smoothings
יעל נצר
מדעי המחשב
אוניברסיטת בן גוריון
![Page 2: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/2.jpg)
תזכורת
מסתכלים על ההסתברות של משפט כהסתברות של רצף מילים:
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](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/3.jpg)
תזכורת – הנחה מרקובית
הנחה מרקובית מצמצמת את החישוב של הסתברות מילים )כלומר הנחה מרקובית 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](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/5.jpg)
הערה על שימוש בלוגים
נניח כי נתונות ההסתברויות: 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](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/7.jpg)
Bi-gram counts of seven words
![Page 8: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/8.jpg)
bi-grams frequency
![Page 9: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/9.jpg)
כמה נקודות חשובות
![Page 10: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/10.jpg)
איך ניתן לחשב הסתברות של אירוע שטרם נצפה?
training and testing setsקורפוס – Training set הקורפוס ממנו נלקחים –
התדירויות והנתונים. קב' אימון כמודל שפה – . וקב' הבחינה – n-gramsממנו נלקחות ספירת ה
עליה מעריכים את המודל שנבנה.
![Page 11: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/11.jpg)
שיטה טובה יותר – חלוקה לשלוש
Training setDev Test Set נתונים עליהם מתבצעת –
של המודלfine-tuningההערכה וה-Test set הקבוצה הסופית לבחינת המודל –
והערכתועדיף: מכיוון שכאשר משתמשים בקבוצת
כדי לאפיין את המודל בעצמו, testingה-הופכים אותו בעצם לחלק מקבוצת האימון.
![Page 12: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/12.jpg)
Cross validation
:cross validationאפשרות נוספת היא קבוצותNחלק את הנתונים ל-
תתי קבוצותN-1אמן את המודל על
-יתNובדוק על הקבוצה ה-
הקבוצותNחזור על הפעולה עבור כל אחת מ-
התוצאה תהיה הממוצע של המודלים.
![Page 13: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/13.jpg)
Maximum Likelihood Estimation - MLE
הרעיון: תדירות הופעת מילה בקורפוס היא ה- MLE של הופעת המילה בשפה ככלל, או בשפה
40פשוטה: נראה הכי הגיוני שאם מילה מופיעה פעמים בתוך מליון מילים, אזי תדירותה בשפה
.0.00004היא
Bi-gram של MLEמדד ה-)מדוע מספיק לחלק את התוצאה במספר ההופעות
של מילה בקורפוס?(
![Page 14: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/14.jpg)
Smoothing – 1 add-one
![Page 15: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/15.jpg)
BERPטבלת ההופעות ב-
![Page 16: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/16.jpg)
-ADD אחרי ה-BERPטבלת ההופעות ב-ONE
![Page 17: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/17.jpg)
ADD_ONE בעיות ב-
שינוי חד מדי בהסתברויות שאינן אפס, מכיוון שמסה גדולה מדי הועברה להסתברויות האפס.
הערכה מוטעית משמעותית ביחס להסתברויות האפסיות.
לפעמים אפילו יותר גרוע מאשר בשיטות שהן .smoothingללא
![Page 18: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/18.jpg)
Witten Bell Discounting
הרעיון הבסיסי הוא – מילה שלא נצפתה עדיין ( ההסתברות שלה לקרות היא כמו bi-gram)או
של התדירות של מילה/צירוף שטרם נראה בקורפוס.
מהו צירוף שטרם נראה?
בעצם צירוף שנצפה בפעם הראשונה.
של הצירופים typeכלומר – מספר ה'טיפוסים' בקורפוס בסך הכל.
![Page 19: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/19.jpg)
בתוספת מספר tokensמנרמלים במספר ה- מכיוון שרואים את הקורפוס כרצף של typesה-
.type ואירוע לכל tokenאירועים – אירוע לכל
V הוא מספר הטיפוסים שכבר ראינו, ו-Tכאן – הוא סך הטיפוסים שנוכל לראות בסך הכל.
![Page 20: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/20.jpg)
רוצים לראות מהי ההסתברות של כל אחד ואחד מהזוגות – וזאת על ידי חלוקה במספר הופעות האפסים.
![Page 21: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/21.jpg)
המשך
פעמים, כל 0 שנספרו n-grams סך ה-Zיהי אחד כזה מקבל עכשיו את חלקו השווה במסת
ההסתברות החדשה:
-Nלשם כך מפחיתים את ההסתברות של ה-gramsשכבר נצפו
![Page 22: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/22.jpg)
Discounting
![Page 23: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/23.jpg)
![Page 24: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/24.jpg)
![Page 25: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/25.jpg)
![Page 26: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/26.jpg)
![Page 27: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/27.jpg)
קצת על אנטרופיה
Entropy -ו preplexity הם שני מדדים חשובים .N-gramsלחישוב מודלי
שייכים למה שנקרא – תורת האינפורמציהאנטרופיה היא מידה של אינפורמציה – ומדד חשוב
בעיבוד שפות טבעיות, כמו גם זיהוי קול.משמש להערכת הדמיון, למשל בין דקדוק או מודל נתון
ובין השפה שאותו מייצג.בהנתן, למשל, שני דקדוקים וקורפוס, ניתן להעריך בעזרת האנטרופיה מי מייצג טוב יותר את הקורפוס.
![Page 28: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/28.jpg)
חישוב אנטרופיה
Xחישוב האנטרופיה מניח קיום משתנה אקראי שמקבל ערכים אפשריים )מילים, אותיות, חלקי דיבר
.p(x)וכו'(, ופונקצית הסתברות כלשהי
היא ע"פ ההגדרהXהאנטרופיה של משתנה אקראי
H(X)= -Σx in Xp(x)log2p(x)( 2אנטרופיה נמדדת בביטים )השימוש בלוג
אפשר לראות אנטרופיה כחסם תחתון למספר הביטים הנדרשים לייצוג מידע בסכמת קוד אופטימלית.
![Page 29: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/29.jpg)
דוגמא
רוצים להמר במירוץ סוסים, אבל לשלוח את ההודעות לסוכן מרחוק.
יש שמונה סוסים במירוץ.דרך אחת לקידוד היא שימוש בייצוג בינארי כלומר
– וכולי, 010 – 2 , סוס מספר 001 – 1 סוס מספר
.000 יהיה 8ואילו סוס מספר אם כל היום נהמר בקוד של שלושה ביטים, בממוצע
ביטים לכל מירוץ.3נשלח
![Page 30: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/30.jpg)
האם ניתן לעשות טוב יותר?
נניח שההסתברות עבור כל אחד מהסוסים שונה –
– ½ 1סוס
– ¼ 2סוס
1/8 – 3סוס
1/16 – 4סוס
1/64 – 5,6,7,8סוסים
![Page 31: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/31.jpg)
האנטרופיה עבור ההימור
משתנה אקראי שמקבל את ערכי הסוסים, 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](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/32.jpg)
במקרה של שוויון בהסתברויות
אם נסתכל על המקרה הראשון שלכל סוס ניתנה – האנטרופיה 1/8הסתברות שווה כלומר
בבחירת הסוס היא
H(X)= -i=1,81/8log1/8 =-log1/8=3 bits
כלומר, האנטרופיה כאן עקבית עם מה שכבר ידענו.
![Page 33: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/33.jpg)
Preplexity
Preplexity 2 מוגדר כערךH
באופן אינטואיטיבי, זהו ממוצע "ממושקל“weighted של מספר ההחלטות הממוצע
שהמשתנה האקראי צריך להחליט – כלומר: סוסים, שלכל אחד מהם הסתברות 8בחירה בין
.8 כלומר 23 הוא preplexityשווה, ה-עבור הטבלה בה לכל סוס הסתברות שונה –
.4כלומר 22הערך הוא
![Page 34: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/34.jpg)
אנטרופיה של רצף
כשמסתכלים למשל על מודל של שפה, מסתכלים על רצפים של מילים ומשתנה אקראי אחד לא
מספיק.
ניתן להניח קיום משתנה אחד שערכיו הם כל w1 w2….. wnהרצפים האפשריים
כאנטרופיה של הרצף entropy rateניתן להגדיר על ידי חלוקה של האנטרופיה במספר המילים ברצף
6.47 226עמ'
![Page 35: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/35.jpg)
אבל כאשר מחשבים אנטרופיה של שפה, צריך להחשיב גם רצפים באורך אינסופי
Shanon-McMillan-Breiman theorem גורסת שאם שפה היא רגולרית באופן כלשהו, אזי ניתן להגדיר את
האנטרופיה כ-כלומר אם לוקחים רצף ארוך מספיק במקום לסכם את סך כל
הרצפים האפשריים.ההנחה כאן היא שאם לוקחים רצף ארוך מספיק, אזי הוא
יכול רצפים קצרים, וכל אחד מהרצפים הקצרים האלה יופיע בארוך באותו יחס על פי הסתברותו.
![Page 36: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/36.jpg)
אם stationaryמודל הסתברותי נקרא קבוע ההסתברות שנתנות לרצף אינן משתנות ביחס לזמן
Time index .t+1 שקולות לאלה בזמן tכלומר, ההסתברויות בזמן מודלי מרקוב, הם קבועים.
מכיוון stationaryמצד שני שפה טבעית אינה שקיימות בשפה תלויות ממרחק גדול יותר ותלויות-זמן.
לכן, מודל סטטיסטי כזה נותן רק הערכה ביחס לתפוצות ולאנטרופיה של השפה.
![Page 37: עיבוד שפות טבעיות – שיעור חמישי N-grams with smoothings](https://reader036.vdocument.in/reader036/viewer/2022062305/568151b1550346895dbfdeea/html5/thumbnails/37.jpg)
לסיכום
קבלת החלטות שאינן נכונות או מדוייקות אך נוחות ומפשטות , ניתן לחשב אנטרופיה של
תהליך הסתברותי על ידי לקיחת דוגמא ארוכה הסתברות שלו.logמאוד של פלט, וחישוב ה
בשיעורים הבאים נראה למה רוצים לעשות את זה וגם איך לחשב.