מבוא - כלים ושיטות לניתוח ממוחשב של טקסטים בשפה העברית

‫סימפוזיון‪ :‬ניתוח אוטומטי של טקסטים בעברית –‬
‫יישומים במחקר ובהערכה‬
‫פרויקט השפה העברית‬
‫)‪Hebrew Language Project (HLP‬‬
‫מאל"ו‬
‫הכנס השביעי של אפי‪ ,2011 ,‬ירושלים‬
‫סימפוזיון‪ :‬ניתוח אוטומטי של טקסטים בעברית –‬
‫יישומים במחקר ובהערכה‬
‫מבוא‪-‬כלים ושיטות לניתוח ממוחשב של טקסטים בשפה העברית‬
‫ יואב כהן‬‫המבנה הגורמי של מאפייני טקסט בשפה העברית הכתובה ‪ -‬יעל‬
‫שפרן‪ ,‬ענת בר‪-‬סימן‪-‬טוב‬
‫התרומה הדיפרנציאלית של מאפייני טקסט להערכה ממוחשבת‬
‫של חיבורים מסוגים שונים ‪ -‬ענת בן‪-‬סימון‬
‫הערכת רמות קושי של טקסטים המשמשים בהערכת יכולת‬
‫הבנת הנקרא‪-‬באמצעות מאפיינים סטטיסטיים ומורפולוגיים של‬
‫הטקסט ‪ -‬דנה רובינשטיין‪ ,‬יעל שפרן‪ ,‬ענת בן‪-‬סימון‬
‫מבוא ‪ -‬כלים ושיטות לניתוח ממוחשב של‬
‫טקסטים בשפה העברית‬
‫יואב כהן‬
‫ פרויקט השפה העברית )‪ ,(HLP‬מאל"ו‬‫הכנס השביעי של אפי‪ ,2011 ,‬ירושלים‬
‫הקדמה‬
‫המטרה העיקרית של הפרויקט‪:‬‬
‫ניצול כלים של בלשנות חישובית לצורך הערכה של תוצרי כתיבה‪.‬‬
‫משתתפים ותורמים לפרויקט‪:‬‬
‫ענת בן‪-‬סימון – מנהלת הפרויקט‬
‫יעל שפרן‪ ,‬ענת בר‪-‬סימן‪-‬טוב‪ ,‬גלי נוטי‪ ,‬אפי‬
‫מירה חובב‪ ,‬אפרת מילר‪ ,‬מרק שובמן‪ ,‬דוד קשתן‪ ,‬אלעד דינור‪ ,‬אייל שוורץ‪ ,‬רועי‬
‫רייכרט‬
‫בארה"ב קיימים מספר פרויקטים‪:‬‬
‫‪1995 ,1994 ,1966 – Page-PEG‬‬
‫‪ ,1997 ETS – eRater‬וכן ‪1998,1999,2000,2001 Burstein et al.‬‬
‫‪2001 Elliot ,1997 – Intellimetric‬‬
‫‪1997 Landauer et al. – IEA‬‬
‫חלק מן הכלים אינם תלויי שפה‬
‫)‪( Cohen, Ben-Simon & Hovav, 2003‬‬
‫הקדמה‬
‫ייחודיות של השפה העברית‪:‬‬
‫שיטות כתיב שונות‬
‫כתיב מנוקד‬
‫"כתיב חסר"‬
‫ניקוד חלקי‬
‫כתיב חסר ניקוד )"כתיב מלא"(‬
‫הטיות לסוגיהן‬
‫הטיות השורשים ליצירת פעלים‬
‫כינויים חבורים‬
‫מוספיות‬
‫תחיליות – אותיות שימוש‪ ,‬ה הידיעה‪ ,‬ו החיבור‬
‫סופיות – ה המגמה‬
‫ריבוי מחרוזות‪ ,‬ריבוי משמעויות‬
‫בעברית כמה מיליוני מילים‬
‫שורשים‪:‬‬
‫לכל שורש‪2 :‬עד ‪ 7‬בניינים ‪ 3‬זמנים ‪ 3‬גופים ‪ 2‬צורות ריבוי ‪ 2‬מינים ‪<--‬‬
‫‪ 72‬עד ‪ 252‬צורות‬
‫וכן‪ :‬כינויים חבורים‪ :‬כינוי המושא )‪ 4‬לכל הטייה( ‪ 1000 - 280 <--‬צורות‬
‫וכן תחיליות‪ :‬ו ההיפוך‪ ,‬ש‪ ,‬כש ‪3000 - 840<--‬‬
‫בעברית מקראית ‪ 2000‬שורשים‪ ,‬שפת המשנה הוסיפה ‪800‬‬
‫מספר הטיות השורשים המינימלי הוא איפוא‪ 2.3 :‬מיליון!‬
‫שמות‬
‫‪ 24‬כינויי קניין ) ‪ 2‬צורות ריבוי‪ 12 ,‬כינויי שייכות(‬
‫‪ 4‬עד ‪ 5‬תחיליות )ו‪,‬ל‪,‬ש‪,‬מ‪,‬ב‪(...‬‬
‫אם יש ‪ 30,000‬שמות ‪ 3,000,000<--‬צורות שונות של שמות‬
‫ריבוי הומוגרפים‬
‫ספר‬
SEFER
SAFAR
SAPAR
SFAR
SAPER
(SUPAR)
(SIPPER)
•
•
•
•
•
•
•
‫עמימות‬
“Time flies like an arrow”
(Oetinger, 1966)
‫ריבוי צורות הקריאה‬
‫"כשהתחלתי )‪ (2‬לחשוב )‪ (3‬על ייסודו של )‪ (3‬כתב )‪(2‬‬
‫עת זה‪ ,‬בדקתי )‪ (2‬ומצאתי )‪ (2‬שלמעלה )‪ (2‬מ‪1,100-‬‬
‫תירות‪,‬‬
‫במסג‬
‫כואנליזה‬
‫סי‬
‫בפ‬
‫עוסקים‬
‫(‬
‫‪2‬‬
‫)‬
‫בארץ‬
‫ואיש‬
‫אישה‬
‫"כשהתחלתי לחשוב על ייסודו של כתב עת זה‪ ,‬בדק‬
‫)‪ (2‬בחברות‪ (3) ,‬ובמכונים )‪ (3‬שונים" )גבי שפלר‪(2010 ,‬‬
‫ומצאתי שלמעלה מ‪ 1,100-‬אישה ואיש בארץ עוסקים‬
‫במסגרות‪ ,‬בחברות‪ ,‬ובמכונים שונים"‬
‫בפסי‬
‫כואנליזה ‪4‬‬
‫‪7‬‬
‫‪(2010‬כ‪ 10,168 <-- 3 X 2 :‬אופני קריאה שונים‬
‫ובסה"‬
‫שפלר‪,‬‬
‫)גבי‬
‫הוראות‬
‫טקסטים‬
‫‪ +‬הערכות‬
‫‪Nite Rater‬‬
‫‪ .1‬שלב לימוד‬
‫‪ .2‬בניית מודל ניבוי‬
‫‪ .3‬יישום המודל‬
‫הערכות‬
‫‪ +‬טיב הניבוי‬
‫הוראות‬
‫טקסטים‬
‫‪ +‬הערכות‬
‫‪Nite Rater‬‬
‫הערכות‬
‫‪ +‬טיב הניבוי‬
Nite Rater
‫תיאור סכמטי של מפיג העמימות המורפולוגי‬
‫והסמנטי‬
Raw
Text
Tokenizer
Corpus
Morphological
Dictionary
Corpus
Disambiguated
Text (2)
Morphological
Disambiguation
Semantic
Disambiguation
13
Morphological
Analysis
Disambiguated
Text (1)
HMM
‫תיאור סכמטי של שלב הניבוי‬
‫‪Disambiguated‬‬
‫‪Text 1‬‬
‫הערכות‬
‫מאפייני‬
‫שטח‬
‫מודל ניבוי‬
‫מאפיינים‬
‫מורפולוגיים‬
‫מאפיינים‬
‫לקסיקליים‬
‫יישום משוואות ניבוי‬
‫‪Disambiguated‬‬
‫‪Text 2‬‬
‫הערכות‬
‫‪14‬‬
‫הוראות‬
‫טקסטים‬
‫‪ +‬הערכות‬
‫‪Nite Rater‬‬
‫הערכות‬
‫‪ +‬טיב ניבוי‬
‫סיכום – "ארגז הכלים"‬
‫‪Tokenizer‬‬
‫מפיג עמימות מורפולוגית‬
‫מילון מורפולוגי‬
‫קורפוס מתויג‬
‫מפיג עמימות סמנטית‬
‫לקסמות‬
‫איפיוני שטח‬
‫איפיונים מורפולוגיים ולקסיקליים‬
‫עד כאן ההקדמה‪,‬‬
‫ועכשיו‪ :‬מה לומדים מזה ומה עושים עם זה?‬
‫תודה רבה‬
‫‪Tokenizer‬‬
‫תוכנה המפרידה בין מחרוזות‪ ,‬מספרים וסימני פיסוק‪.‬‬
‫לדוגמה‪:‬‬
‫"הספר עולה סה"כ ‪".NIS 25‬‬
‫מאפיינים סטטיסטיים ב'מאפיין הטקסטים'‬
‫)‪(CAI‬‬
‫קטגוריה‬
‫מספר‬
‫‪1.1‬‬
‫שם משתנה‬
‫‪ #‬תווים‬
‫תו‬
‫‪1.2‬‬
‫‪1.3‬‬
‫‪1.4‬‬
‫‪1.5‬‬
‫‪1.6‬‬
‫‪1.7‬‬
‫‪1.8‬‬
‫‪ #‬אותיות ומספרים‬
‫‪ #‬מספרים‬
‫יחס מספרים למחרוזות‬
‫אורך ממוצע של מספר‬
‫‪ #‬סימני פיסוק‬
‫‪ #‬סוגי סימני פיסוק‬
‫יחס סימני פיסוק למחרוזות‬
‫‪1.9‬‬
‫שיעור המופע היחסי של אותיות‬
‫הא"ב‬
‫שיעור המופע היחסי של אותיות‬
‫הא"ב שבראש מילה‬
‫שיעור המופע היחסי של אותיות‬
‫הא"ב בסוף מילה‬
‫‪1.10‬‬
‫‪1.11‬‬
‫תיאור‬
‫מספר התווים הכולל )כל סימני הדפוס ללא רווחים‪ ,‬סוף שורה וסוף‬
‫פסקה(‬
‫מספר התווים המופיעים במילים‬
‫מספר המספרים )לדוגמה‪ ,‬המספר ‪ 203‬יספר כמספר אחד(‪.‬‬
‫היחס של מס' המספרים למס' המחרוזות‬
‫אורך ממוצע של מספר )למשל‪ ,‬אורכו של המספר ‪ ,203‬הוא ‪(3‬‬
‫מס' סימני הפיסוק הכולל בטקסט‬
‫מס' סימני הפיסוק השונים בטקסט‬
‫שיעור המופע של כל אחד מסימני הדקדוק )כנ"ל פרופורציה‪ :‬מספר מופעי‬
‫הסי מכלל סימני הדקדוק בטקסט(‬
‫שיעור המופע של כל אחת מ אותיות הא"ב בטקסט מתוך כלל האותיות‬
‫שיעור המופע של כל אחת מ אותיות הא"ב בראש מילה‬
‫שיעור המופע של כל אחת מאותיות הא"ב בסוף מילה‬
‫‪20‬‬
‫מאפיינים סטטיסטיים ב'מאפיין הטקסטים'‬
‫)‪(CAI‬‬
‫קטגוריה‬
‫משפט‬
‫מספר‬
‫‪3.1‬‬
‫‪3.2‬‬
‫‪3.3‬‬
‫‪3.4‬‬
‫‪3.5‬‬
‫‪3.6‬‬
‫שם משתנה‬
‫‪ #‬המשפטים‬
‫אורך ממוצע של משפט‬
‫)במחרוזות(‬
‫אורך ממוצע של משפט )בתווים(‬
‫ס‪.‬ת‪ .‬של אורך משפט‬
‫)במחרוזות(‬
‫ס‪.‬ת‪ .‬של אורך משפט )בתווים(‬
‫אורך המשפט הראשון‪..‬שישי‬
‫בטקסט‬
‫תיאור‬
‫מס' המשפטים הכולל בטקסט‬
‫אורך ממוצע של משפט במחרוזות‬
‫אורך ממוצע של משפט בתווים‬
‫סטיית התקן של אורכי המשפטים )במילים(‪.‬‬
‫סטיית התקן של אורכי המשפטים )בתווים(‬
‫אורך של המשפט הראשון – השישי בטקסט‬
‫‪21‬‬
‫‪Morphological Analyzer‬‬
‫תוכנה המפיקה עבור כל מחרוזת בטקסט את כל‬
‫הניתוחים המורפולוגיים האפשריים המתאימים לכל‬
‫הפירושים האפשריים של המחרוזת‬
‫לדוגמה‬
‫יש לנתח את המשפט‪:‬‬
‫"מחקר חדש‪ :‬נתגלה הורמון הגורם‪"...‬‬
‫‪22‬‬
‫פלט של המנתח המורפולוגי‬
‫"מחקר חדש‪ :‬נתגלה הורמון הגורם‪"...‬‬
‫מס שורה מס מלה צורה נטויה צורת יסוד שורש חלק דיבר בניין‪/‬משקל זמן גוף לפועל מספר מין‬
‫יחיד זכר‬
‫‪81‬‬
‫שם עצם‬
‫מחקר‬
‫מחקר‬
‫‪1‬‬
‫‪1‬‬
‫הווה נייטראלי יחיד זכר‬
‫פיעל‬
‫חקר בינוני‬
‫מחקר‬
‫מחקר‬
‫‪1‬‬
‫‪1‬‬
‫יחיד זכר‬
‫‪292‬‬
‫ֶח ֶקר שם עצם‬
‫חקר‬
‫מחקר‬
‫‪1‬‬
‫‪1‬‬
‫הווה נייטראלי יחיד זכר‬
‫פועל‬
‫מחו&קר חקר בינוני‬
‫מחקר‬
‫‪1‬‬
‫‪1‬‬
‫פיעל‬
‫חקר מקור‬
‫חקר‬
‫מחקר‬
‫‪1‬‬
‫‪1‬‬
‫פעל‬
‫חקר מקור‬
‫חקו&ר‬
‫מחקר‬
‫‪1‬‬
‫‪1‬‬
‫יחיד זכר‬
‫אפיון‬
‫‪662‬‬
‫תואר‬
‫חדש‬
‫חדש‬
‫‪2‬‬
‫‪1‬‬
‫יחיד זכר‬
‫עבר שלישי‬
‫פיעל‬
‫חדש פועל‬
‫חי&דש‬
‫חדש‬
‫‪2‬‬
‫‪1‬‬
‫יחיד זכר‬
‫‪297‬‬
‫חֹדֶש שם עצם‬
‫חו&דש‬
‫חדש‬
‫‪2‬‬
‫‪1‬‬
‫יחיד זכר‬
‫ציווי שני‬
‫פיעל‬
‫חדש פועל‬
‫חדש‬
‫חדש‬
‫‪2‬‬
‫‪1‬‬
‫יחיד זכר‬
‫עבר שלישי‬
‫פועל‬
‫חדש פועל‬
‫חו&דש‬
‫חדש‬
‫‪2‬‬
‫‪1‬‬
‫פיעל‬
‫חדש מקור‬
‫חדש‬
‫חדש‬
‫‪2‬‬
‫‪1‬‬
‫סימן פיסוק‬
‫‪ :‬נקודותיים‬
‫‪3‬‬
‫‪1‬‬
‫יחיד זכר‬
‫עבר שלישי‬
‫התפעל‬
‫גלה פועל‬
‫נתגלה‬
‫נתגלה‬
‫‪4‬‬
‫‪1‬‬
‫רבים נייטראלי‬
‫עתיד ראשון‬
‫התפעל‬
‫גלה פועל‬
‫נתגלה‬
‫נתגלה‬
‫‪4‬‬
‫‪1‬‬
‫יחיד זכר‬
‫‪3008‬‬
‫שם עצם‬
‫הורמון‬
‫הורמון‬
‫‪5‬‬
‫‪1‬‬
‫יחיד זכר‬
‫‪174‬‬
‫גּוֹרֵם שם עצם‬
‫גורם‬
‫הגורם‬
‫‪6‬‬
‫‪1‬‬
‫הווה נייטראלי יחיד זכר‬
‫פעל‬
‫גרמ בינוני‬
‫גורם‬
‫הגורם‬
‫‪6‬‬
‫‪1‬‬
‫פעל‬
‫מקור‬
‫גור‬
‫גורם‬
‫הגורם‬
‫‪6‬‬
‫‪1‬‬
‫פעל‬
‫גרר מקור‬
‫גו&רם‬
‫הגורם‬
‫‪6‬‬
‫‪1‬‬
‫מה וכיצד יודע המנתח המורפולוגי?‬
‫‪23‬‬
‫נפרד‪/‬נסמך תחילית‬
‫נפ‪/‬נס‬
‫נפ‪/‬נס‬
‫מ‬
‫נפ‪/‬נס‬
‫נפ‪/‬נס‬
‫מ‬
‫נסמך‬
‫מ‬
‫נסמך‬
‫נפ‪/‬נס‬
‫נפ‪/‬נס‬
‫נסמך‬
‫נפרד‬
‫נפרד‬
‫נפרד‬
‫נפרד‬
‫נפרד‬
‫ה‬
‫ה‬
‫ה‬
‫ה‬
‫המנתח המורפולוגי של ‪NITE‬‬
‫מספר חלקי הדיבר העיקריים‬
‫• פעלים‪ 3,295 :‬שורשים )‪ 369,933‬מוטים(‬
‫שמות עצם‪15,341 :‬‬
‫שמות תואר‪2,489 :‬‬
‫תוארי פועל‪302 :‬‬
‫שמות פרטיים‪6,488 :‬‬
‫מילות יחס‪123 :‬‬
‫סך הכול מחרוזות‪1,067,290 :‬‬
‫ובנוסף‪ :‬רכיב הבודק תחיליות וסופיות‬
‫‪24‬‬
‫מפיג עמימות אוטומטי‬
‫תוכנה המפיגה באופן אוטומטי את העמימות המורפולוגית של‬
‫המחרוזת בטקסט ובכלל זה חלקי דיבר‬
‫התוכנה משתמשת ב‪Hidden Markov Model -‬‬
‫‪ . (et al. 1970‬הרעיון המרכזי הוא למצוא את הפירוש הסביר‬
‫ביותר של המשפט לאור שכיחויות נצפות בשפה‪.‬‬
‫) ‪Baum‬‬
‫מקור הידע על השכיחויות הוא קורפוס מתויג מורפולוגית‬
‫רמת הדיוק של מפיג העמימות האוטומטי היא ‪ 90%‬עבור ניתוח‬
‫מורפולוגי מלא ו‪ 95%-‬עבור זיהוי של חלקי דיבר‪.‬‬
‫‪25‬‬
‫קורפוסים של ‪NITE‬‬
‫קורפוס ‪) M1‬לא מתויג(‬
‫•‬
‫•‬
‫קורפוס הכולל כמיליון מילים שהופקו מתוך ‪ 644‬טקסטים שנלקחו‬
‫ממקורות שונים וסוגות שונות‬
‫הקורפוס משמש למחקר ופיתוח‬
‫קורפוס מתויג‬
‫•‬
‫•‬
‫כולל ‪ 260,000‬מילה מתוך ‪ 700‬יחידות טקסט בנות ‪ 500‬מילה כל אחת‬
‫כל הטקסטים תויגו על ידי לשונאי מומחה‬
‫רמת הדיוק של מפיג העמימות האוטומטי ‪:‬‬
‫•‬
‫‪ 90%‬עבור ניתוח מורפולוגי מלא ו‪ 95%-‬עבור זיהוי של חלקי דיבר‪.‬‬
‫‪26‬‬
‫מפיג עמימות סמנטי‬
‫רכיב תוכנה המסייע למפיג העמימות האוטומטי בהפגת עמימות‬
‫סמנטית עבור מחרוזות עם ניתוח מורפולוגי זהה‪ .‬בסיום שלב‬
‫זה יש כבר אפשרות לזהות את הערך המילוני של המחרוזת –‬
‫הלקסמה‪.‬‬
‫‪I bought a book as a present, ..‬‬
‫‪Semantic‬‬
‫‪Disa.‬‬
‫‪Morph.‬‬
‫‪Disa.‬‬
‫)‪Noun (1‬‬
‫‪Book‬‬
‫)‪Noun (3‬‬
‫‪Morph.‬‬
‫‪Token Analyzer‬‬
‫)‪Noun (6‬‬
‫)‪Verb (8‬‬
‫‪27‬‬
‫‪: :‬‬
‫‪tell‬‬
‫‪tell‬‬
‫‪tell‬‬
‫‪count‬‬
‫ספר‬
Semantic Disambiguation
Algorithm
The algorithm is based on Context-Vectors (CV).
For each lexeme the lexemes which co-appear
with it in the sentence.
Training phase: CVs are built from a manually
Labeled Corpus for each lexeme in the corpus.
sentences.) 8,670 lexeme types,12,598(
Disambiguation phase: for each ambiguous
lexeme in a given sentence, the CV of the
sentence is compared to the CVs of all the
possible corresponding lexemes
The accuracy rate is 95%
28
I bought a book as a present, ..
Sentence Context Vector
Read
Buy
Gift
Discount
Hair
Shampoo
City
passport
0
1
1
1
0
0
0
0
-0.358 : BARBER ‫מתאם עם וקטור‬
-0.433 : BARBER ‫מתאם עם וקטור‬
0.310
Corpus Context Vectors
Lexeme
Read
Buy
Gift
Discount
Hair
: BOOK ‫מתאם עם וקטור‬
Shampoo
City
passport
Book-Noun
12
5
4
8
1
0
2
1
3
1
1
5
10
13
2
0
2
3
1
0
0
2
10
12
Barber-Noun
Border-Noun
29