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

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

כריית מידע -- Clustering
מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
חיפוש בינה מלאכותית אבי רוזנפלד. סוגי חיפוש כלליים UNINFORMED SEARCH -- חיפושים לא מיודעים במרחי מצבים – BFS – DFS INFORMED SEARCH – חיפושים מיודעים –
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
Mutual informatiom Royi Itzhak Compobio course. Entropy מדד למידת אי הוודאות של מ"מ אקראי בהתפלגות מסוימת במדעי המחשב אנטרופיה היא מדד למספר הביטים הדרושים.
מתמטיקה בדידה תרגול 3.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
Na+ P-. הפוטנציאל האלקטרוכימי אנרגיה חופשית ל - 1 mole חומר. מרכיב חשמלי מרכיב כימי מרכיבי הפוטנציאל האלקטרוכימי של חומר X: המרכיב הכימי : RTlnC x R –
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
ערמות ; מבני נתונים 09 מבוסס על מצגות של ליאור שפירא, חיים קפלן, דני פלדמן וחברים.
תחשיב הפסוקים חלק ג'. צורות נורמליות א. DF – Disjunctive Form – סכום של מכפלות. דוגמא: (P  ~Q  R)  (R  P)  (R  ~Q  ~P) הגדרה: נוסחה השקולה לנוסחה.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
הקיבול איננו תלוי במטען ובפוטנציאל
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
טיב פני שטח (טפ"ש) טיב פני שטח- רמת החלקות של המשטח.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
רגרסיה קו רגרסיה הוא קו תיאורטי המאפשר לנו לבחון את השפעתו של משתנה מנבא אחד (או יותר) על המשתנה התלוי: במילים אחרות, מודל רגרסיה עוזר לנו לנבא על פי משתנה.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
עיבוד שפות טבעיות - שעור שלישי n-grams יעל נצר המחלקה למדעי המחשב אוניברסיטת בן גוריון.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
1 חישוב של אופרטורים רלציוניים Evaluation of Relational Operators.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
A. Frank File Organization Hardware Size Parameters.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
(C) סיון טל גילוי מידע וזיהוי תבניות תרגול מס. 9 גילוי מידע וזיהוי תבניות תרגול מס. 9 דחיסת נתונים מהו קידוד תכונות של קידודים אי - שוויון קרפט.
1 גילוי מידע וזיהוי תבניות תרגול מס. 3 התפלגות נורמלית רב - מימדית Kullback-Leibler Divergence - משפט קמירות - נגזרת שנייה משפט Log sum inequality משפט.
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
1 מבוא למדעי המחשב רקורסיה. 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים.
Presentation by Gil Perry Supervised by Amos Fiat 1.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
Costs and Filters Dr. Avi Rosenfeld Department of Industrial Engineering Jerusalem College of Technology
שיאון שחוריMilOSS-il מוטיבציה  python זה קל ו C זה מהיר. למה לא לשלב?  יש כבר קוד קיים ב C. אנחנו רוצים להשתמש בו, ולבסס מעליו קוד חדש ב python.
Data Structures Hanoch Levi and Uri Zwick March 2011 Lecture 3 Dynamic Sets / Dictionaries Binary Search Trees.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
Formal Specifications for Complex Systems (236368) Tutorial #1
מבוא למדעי המחשב סיבוכיות.
השוואת נתונים למודל הסתברותי - כללית
תוכנה 1 תרגול 13 – סיכום.
NG Interpolation: Divided Differences
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

עיבוד שפות טבעיות – שיעור חמישי 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)

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

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

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

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

Bi-gram counts of seven words

bi-grams frequency

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

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

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

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

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

Smoothing – 1 add-one

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

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

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

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

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

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

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

Discounting

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

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

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

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

האנטרופיה עבור ההימור עבור 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, , , ,

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

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

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

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

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

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