| |
הרצת המנתח הצורני
כדי להריץ את התוכנית mcht.exe או mch.exe יש לכתוב:
<program-name> <argument-file>
כאשר <program-name> הוא שם התוכנית ( mcht.exe או mch.exe ), ו <argument-file> הוא שם של קובץ שמגדיר את אופן הריצה.
קבצי הגדרות לדוגמה
-
nitux_ay_tokna.mca. אם תורץ התוכנה עם הקובץ הזה (mcht.exe nitux_ay_tokna.mca) התוכנה תקרא את המאמר
tqstim/harc10a.txt , תבצע עליו ניתוח צורני (שלב המילה ושלב הזוג בלבד, ללא תחביר), ותכתוב את הפלט לקובץ tqstim/harc10a.out. הפלט ייכתב ב
פורמט הסתברויות.
- limud_tiqunim_20.mca
. קובץ זה מורה לתוכנה ללמוד הסתברויות מתוך הקורפוס הלא מנותח
harc20
כולו, ואז ללמוד פקודות תיקון מתוך הקורפוס המנותח
harc20
(שמכיל 5374 מילים), פרט ל469 המילים הראשונות שלו (שנשמרות לצורך בדיקה). יילמדו כל התיקונים שהציון שלהם לפחות 2. ההסתברויות משלב המילה יישמרו בקובץ
harc20.nts
, ופקודות התיקון שיילמדו יישמרו בקובץ tiqunim3.ma
במדור המילון.
- limud_tiqunim.mca
. קובץ זה מורה לתוכנה ללמוד הסתברויות מתוך הקורפוס הלא מנותח
harc
(שכולל כ170000 מילים), ואז ללמוד פקודות תיקון מתוך הקורפוס המנותח
harc20
(שמכיל 5374 מילים), פרט ל469 המילים הראשונות שלו (שנשמרות לצורך בדיקה). יילמדו רק התיקונים שהציון שלהם לפחות 5. ההסתברויות משלב המילה יישמרו בקובץ
harc.nts
, ופקודות התיקון שיילמדו יישמרו בקובץ tiqunim3.ma
במדור המילון.
- bdiqa.mca
. קובץ זה מבצע את שלב המילה בעזרת ההסתברויות שנשמרו מההרצה הקודמת; את שלב הזוג בעזרת פקודות התיקון האחרונות שנלמדו; וגם את שלב המשפט. הניתוח שמתקבל מושווה לניתוח האמיתי עבור 469 המילים הראשונות של הקורפוס המנותח. התוצאות אחרי כל שלב מודפסות על המסך. כשמריצים את התוכנית עם קובץ זה, ועם קובץ פקודות-התיקון שנוצר מההרצה בסעיף 2, מקבלים בסוף 19 שגיאות, מתוכן 17 בערך המילוני. כשמריצים את התוכנית עם קובץ זה, ועם קובץ פקודות-התיקון שנוצר מההרצה בסעיף 3, מקבלים בסוף 23 שגיאות, מתוכן 20 בערך המילוני.
מבנה קובץ ההגדרות
כל טקסט בין סימן של אחוז (%) לסוף השורה נחשב להערה והתוכנה מתעלמת ממנו.
קובץ ההגדרות מכיל שתי קבוצות של הגדרות: בקבוצה הראשונה יש הגדרות של משתני-מחרוזת, ובקבוצה השניה יש הגדרות של משתנים מספריים. כל קבוצה מוקפת בסוגריים מסולסלים ({}). כל הגדרה מורכבת משם של משתנה, אחריו נקודתיים (:), ואחריהן ערך המשתנה (מחרוזת עד 30 תוים, או מספר).
להלן פירוט משמעות ההגדרות:
-
QorpusLoMnutx - שם של קובץ קורפוס לא מנותח, ללא הסיומת (הסיומת היא תמיד txt , התעתיק מפורט
כאן). קורפוס זה משמש ללימוד הסתברויות עבור שלב המילה.
-
QorpusMnutx - שם של קובץ קורפוס מנותח, ללא סיומת. קובץ זה יכול לשמש ללימוד מדוייק יותר של הסתברויות עבור שלב המילה, לימוד פקודות תיקון, ובדיקה. החלוקה בין האימון לבדיקה נקבעת ע"י משתנים מספריים שיתוארו ב
המשך.
-
שם זה, בתוספת הסיומת txt , הוא הטקסט הגולמי של הקורפוס (ללא ניתוח).
-
שם זה, בתוספת הסיומת to , הוא הניתוח הנכון של הקורפוס. הפורמט של הניתוח מפורט
כאן.
-
משתני-מחרוזת SyomtQovcQltTocaotJlvMila, SyomtQovcPltTocaotJlvMila, ומשתנה מספרי KtovEtKlTocaotJlvHMila : משתנים אלה נועדו לאפשר למשתמש לשמור בקובץ את התוצאות של שלב המילה (חישוב ההסתברויות עבור כל ניתוח ללא תלות בהקשר), כדי לטעון אותן בהרצות הבאות ולחסוך את זמן הריצה של שלב המילה. שם הקובץ שבו יישמרו התוצאות של שלב המילה זהה לשם של קובץ הקורפוס, בתוספת סיומת:
-
SyomtQovcQltTocaotJlvMila - משתנה זה מציין, אם הוא קיים, את הסיומת של קובץ הקלט של תוצאות שלב המילה. אם משתנה זה אינו מוגדר - שלב המילה יורץ מחדש בהפעלה הנוכחית, כלומר ההסתברויות של כל ניתוח יחושבו מחדש מתוך הקורפוס הבלתי-מנותח.
-
SyomtQovcPltTocaotJlvMila - משתנה זה מציין, אם הוא קיים, את הסיומת של קובץ הפלט של תוצאות שלב המילה. לקובץ זה יישמרו תוצאות החישוב של שלב המילה בהרצה הנוכחית.
-
תוצאות החישוב של שלב-המילה כוללות כמה מבני-נתונים; חלקם יחסית קצרים (כגון מבנה-נתונים שסופר כמה פעמים מופיע בקורפוס כל ערך מילוני), וחלקם הרבה יותר ארוכים (כגון מבנה-הנתונים שמחזיק את ההסתברויות הסופיות עבור כל מילה). ניתן לשמור את כל הנתונים (ואז הקובץ יוצא מאד גדול), או רק את הנתונים הקצרים יותר. המשתנה שלפיו נקבע כמה נתונים לשמור הוא - KtovEtKlTocaotJlvHMila - משתנה זה יכול להיות 0 או 1; אם הוא 1 ייכתבו כל הנתונים, ואם הוא 0 ייכתבו רק מבני הנתונים הקצרים. אם כותבים רק את מבני הנתונים הקצרים, ובהפעלה הבאה טוענים אותם - התוצאות יהיו פחות מדוייקות, ולכן לא רצוי להשתמש באפשרות זו.
-
MamrLNituxAlYdiMjtmj
: שם של קובץ מאמר לניתוח ע"י המשתמש. אם משתנה זה מוגדר, התוכנה תקרא את קובץ הטקסט ששמו=משתנה זה עם סיומת txt , תנתח אותו, תציג למשתמש את הניתוח עבור כל מילה בנפרד, ותאפשר לו לאשר או לתקן. הפלט יישמר בקובץ ששמו=משתנה זה עם סיומת out.
-
לתוכנית יש מנשק-משתמש פשוט ולא-ידידותי במיוחד (רץ על DOS). היא מציגה בפני המשתמש את הניתוח המשוער למאמר, מילה אחרי מילה, ומבקשת את אישורו (כדאי לפתוח את המאמר המנותח בחלון נפרד כדי לבדוק אם הניתוח נכון ).
-
אם הניתוח נכון -- לוחצים על A ועוברים למילה הבאה.
-
אם הניתוח לא נכון -- לוחצים על T ואז מקבלים רשימה של כל הניתוחים האפשריים וצריך לבחור מתוכם את הניתוח הנכון.
-
אם מתחרטים -- לוחצים על X כדי לחזור למילה הקודמת.
-
אם רוצים לשמור את הניתוח שניתחנו עד כה (כדי שלא יאבד אם המחשב יפול) לוחצים על K.
-
כדי לשמור ולסיים לוחצים על S.
-
אם מפסיקים את העבודה לפני סוף המאמר (ע"י לחיצה על S), ניתן להמשיך את הניתוח מהאמצע ע"י שינוי המשתנה המספרי HmjkNitux ל1. אבל זה יעבוד רק אם הפורמט שנקבע עבור קובץ הפלט הוא
PltCfuf.
-
MamrLnituxAlYdiTokna
: שם של קובץ מאמר לניתוח ע"י המחשב. אם משתנה זה מוגדר, התוכנה תקרא את קובץ הטקסט ששמו=משתנה זה עם סיומת txt , תנתח אותו ותכתוב את הניתוח הנכון לקובץ ששמו=משתנה זה עם סיומת out . פורמט הניתוח נקבע ע"י המשתנים המספריים הבאים (אחד מהם בדיוק חייב להיות 1, והשאר 0):
-
PltCfuf
: אם משתנה זה הוא 1, הפלט יהיה בפורמט צפוף, כמו שמתואר
כאן. זהו הפורמט היחיד שהתוכנה יודעת גם לקרוא, ולכן אם רוצים
להמשיך את הניתוח לאחר מכן - יש להשתמש בפורמט זה.
-
PltBrur
: אם משתנה זה הוא 1, הפלט יהיה בפורמט ברור, כלומר הניתוח של כל מילה יוצג במילים שאדם דובר-עברית יכול להבין. מטרת הפורמט הזה היא לתת לקורא התרשמות כללית על הניתוח הצורני.
-
PltHstbruyot
: אם משתנה זה הוא 1, הפלט יהיה - עבור כל מילה במאמר - מספר הניתוחים האפשריים עבור כל מילה, ורשימת הניתוחים האפשריים, כאשר לפני כל ניתוח כתובה ההסתברות שלו (מוכפלת ב1000).
-
MslulLogim
: שם התיקיה שאליה ייכתבו קבצי הלוג של התוכנה תוך כדי ריצה.
-
MslulMilon
: שם התיקיה שממנה ייקראו קבצי ה
מילון עבור המנתח הצורני הבסיסי.
-
QovcTiqunim
: שם קובץ של פקודות-תיקון עבור שלב הזוג. אם משתנה זה אינו מוגדר, שלב הזוג לא יבוצע. כדי שהמנתח ילמד פקודות תיקון חדשות מתוך קורפוס מנותח, יש להשתמש במשתנים המספריים
TxiltXlqImunJlvZug, SofXlqImunJlvZug.
-
QovcCmcumim
: שם קובץ של חוקי-צמצום עבור שלב המשפט. אם משתנה זה אינו מוגדר, שלב המשפט לא יבוצע.
-
המשתנים המספריים , CyunQtnByotrLTiqun TxiltXlqImunJlvZug , SofXlqImunJlvZug : משתנים אלה משמשים ללימוד פקודות תיקון חדשות מתוך
קורפוס מנותח.
-
שני המשתנים הראשונים מציינים את האיזור, בקורפוס המנותח, שבו יש להשתמש ללימוד פקודות תיקון (ממילה מספר TxiltXlqImunJlvZug עד מילה מספר SofXlqImunJlvZug ). אם לשני המשתנים האלה יש אותו ערך - לא יילמדו פקודות תיקון חדשות.
-
המשתנה CyunQtnByotrLTiqun מציין את הציון הקטן ביותר שיכול להיות לפקודת תיקון בשלב האימון. ככל שהציון הזה קטן יותר, יילמדו יותר תיקונים, אבל האיכות של התיקונים האחרונים תהיה נמוכה יותר. אין טעם לשים במשתנה זה מספר קטן מ2, כי פקודת תיקון עם ציון 1 היא פקודת תיקון שמתקנת רק טעות אחת בקורפוס הלימוד, ומאד לא סביר שפקודה כזאת תביא תועלת בעתיד.
-
המשתנים המספריים TxiltXlqImunJlvMila , SofXlqImunJlvMila : משתנים אלה משמשים ללימוד הסתברויות מתוך
קורפוס מנותח, עבור שלב המילה. הם מציינים את האיזור, בקורפוס המנותח, שבו יש להשתמש ללימוד הסתברויות אלו (ממילה מספר TxiltXlqImunJlvMila עד מילה מספר SofXlqImunJlvMila ). אם לשני המשתנים האלה יש אותו ערך - לא יילמדו הסתברויות מתוך הקורפוס המנותח, אלא רק מתוך הקורפוס הלא מנותח.
יש לוודא שאין חפיפה בין האיזור המשמש ללימוד פקודות תיקון לבין האזור המשמש ללימוד הסתברויות, כי אחרת פקודות התיקון לא יהיו אמינות!
Running the Hebrew Probabilistic Morphological Analyzer
In order to run the program mch.exe (or mcht.exe) write:
<program-name> <argument-file>
where <program-name> is mch.exe or mcht.exe, and <argument-file> is a file that contains arugments for the program.
Example argument files
The argument files are simple text files that can be edited to change the behaviour of the programs.
nitux_ay_tokna.mca: run with this argument file (mcht.exe nitux_ay_tokna.mca), the program will read the article tqstim/harc10a.txt, analyze it morphologically, and write the output to the file tqstim/harc10a.out. The output file will include probability data. You can change the output format by changing the argument PltHstbruyot to 0.
- limud_tiqunim_20.mca: This file tells the program to study context-indepenent probabilities from the unannotated corpus
harc20, and then study correction-rules from the annotated corpus harc20 (which contains 5374 words), except for its first 469 words which are kept for testing. The threshold for learning new rules is 2 (that is: the program will learn no rule that corrects less than 2 errors). The probabilities calculated in the word phase will be saved in the file harc20.nts, and the correction rules will be saved in the file milon/tiqunim3.ma.
- limud_tiqunim.mca:
This file tells the program to study context-independent probabilities from the entire unannotated corpus
harc
(which includes about 170000 words),
and then study correction-rules from the annotated corpus
harc20 (which contains 5374 words), except for its first 469 words which are kept for testing.
The threshold for learning new rules is 5 (that is: the program will learn no rule that corrects less than 5 errors). The probabilities calculated in the word phase will be saved in the file harc20.nts, and the correction rules will be saved in the file milon/tiqunim3.ma.
- bdiqa.mca:
This file runs the word-phase using the probabilities calculated in the last run. It then runs the pair-phase using the correction rules learned in the last run. It then runs the sentence-phase.
The resulting analysis is compared with the
correct analysis for the first 469 words of the analyzed corpus.
The results after each phase are printed to the console.
Running the program using this argument file, after learning correction rules using the argument file of (2), results with 19 errors, 17 of which are in the lexical value.
Running the program using this argument file, after learning correction rules using the argument file of (3), results with 23 errors, 20 of which are in the lexical value.
The structure of the argument file
The argument files are plain-text files.
Text between the percent symbol (%) and the end of the line is ignored by the program (it is a comment).
The argument file includes two sets of arguments: the first set is for string-arguments, and the second set is for numerical arguments. Each set is surrounded by a pair of braces ({}).
Each argument-definition includes the argument name, then - a colon (:), and then - the argument value (a string up to 30 chars long, or an integer).
The rest of this section was not translated to English yet...
| |
This page
should be viewed using Microsoft Internet Explorer 4+, with Hebrew
support. If you don't have Hebrew support, or don't read Hebrew, you can read a
partial English translation here.
|