





| |
מנתח צורני הסתברותי תחבירי - תיעוד
התוכנה
כללי
באריזה זו
נמצאים כל הקבצים הדרושים לקומפילציה ולהרצה של המנתח הצורני.
כל הקבצים הם קבצי טקסט. האריזה נוצרה על מחשב PC. לכן, כדי להתאים את הקבצים לעבודה
על UNIX, יש להוריד מהם את תווי סוף-השורה. ניתן לבצע זאת באופן אוטומטי
אם פותחים את האריזה בעזרת הפקודה
unzip -aa
(לפרטים נוספים: man unzip).
האריזה כוללת שלוש תוכניות:
- התכנית mc.exe היא מנתח צורני -- ללא הסתברות וללא הקשר
(הוא רק מחזיר עבור כל מילה את כל הניתוחים האפשריים עבורה).
- התכנית mch.exe היא מנתח צורני הסתברותי שמשתמש בפקודות
תיקון, כלומר -- שלב המחרוזת ושלב הזוג (הוא מנתח קבצי טקסט שלמים).
- התכנית mcht.exe היא מנתח צורני הסתברותי תחבירי,
כלומר -- שלב המחרוזת, שלב הזוג ושלב המשפט.
תקציר על הקבצים
- הקבצים cpp/cpplib/*.cpp, cpp/cpplib/*.h הם קבצי-מקור
כלליים, שלא קשורים לשפות טבעיות.
- הקבצים cpp/morph/*.cpp, cpp/morph/*.h הם קבצי-מקור
שקשורים לניתוח צורני ותחבירי.
- הקבצים hmntx/milon/*.ma הם קבצי המילון, הדרושים להרצת
המנתחים הצורניים. הסבר על המילון
- הקבצים hmntx/tqstim/*.txt הם קבצי טקסט שעליהם מתבצע
הניתוח. הסבר על הטקסטים
- הקבצים hmntx/tqstim/*.to הם קבצים שכוללים את הניתוח
הנכון לחלק מקבצי הטקסט. הסבר על הניתוח
- הקבצים hmntx/tqstim/*.nts הם קבצי-פלט של שלב המילה
(הם נשמרים כדי שלא יהיה צורך להריץ את שלב המילה בכל פעם מחדש).
-
הקובץ hmntx/makefile הוא קובץ יצירה עבור התוכניות.
- הקובץ hmntx/hmntx.dsw הוא קובץ סביבת-עבודה עבור
Microsoft Visual Studio 6.0. הקבצים hmntx/*.dsp הם קבצי פרוייקט המשמשים
לבניית הפרוייקט על Windows.
-
הקבצים hmntx/*.mca הם קבצי הגדרות
עבור התוכנה. הסבר על
קבצי ההגדרות
בניית התוכניות
על unix
יש להיכנס למדור hmntx ולכתוב: make [name].exe כאשר [name] הוא שם
התוכנית. אפשר גם לכתוב make all או make כדי לבנות את שלוש התכניות.
על windows
יש לפתוח את הקובץ hmntx.dsw בMicrosoft Visual Studio, לבחור את התוכנית
שרוצים לבנות, ובתפריט לבחור Build -> Build.
על הרצת המנתח ניתן לקרוא כאן.
פירוט הקבצים
אין תיעוד מפורט לתוכנה כולה, אך יש תיעוד ישן לחלק מהתוכנה (עד שלב
המילה). ניתן להוריד אותו כאן.
כדי ליצור את המנתח הצורני שלא תלוי בהקשר (mc.exe) -- דרושים הקבצים (cpp)
הבאים:
- קבצים שנמצאים בספריה cpplib (לא קשורים
לשפות-טבעיות):
- klli1.cpp -- שגרות-עזר כלליות
- cmdline1.cpp -- שגרות-עזר לטיפול בשורת הפקודה
- ui.cpp -- שגרות-עזר למנשק-משתמש בדו"ס
- stringt.cpp -- שגרות-עזר לטיפול במחרוזות
- קבצים שנמצאים בספריה morph:
- morphtyp.cpp -- הגדרת סוגים מורפולוגיים --
חלק-דיבר, מין, מספר וכו'
- morphinf.cpp -- הגדרת המבנים שמייצגים ניתוח
צורני של מילה אחת (MorphInfoBasic -- בלי ערך-מילוני; MorphInfo -- עם
ערך מילוני).
- tavnit.cpp -- הגדרת "תבנית-מילה", מבנה שמשמש
לזיהוי תבניות במחרוזות.
- morphtav.cpp -- הגדרת תבניות-המילה שמשמשות את
המנתח שלנו.
- lexinf.cpp -- הגדרת סוגים שקשורים
למידע-מילוני (המידע שצריך להיות כתוב במילון על כל מילה).
- lexicon.cpp -- הגדרת המילון שמשמש את המנתח
שלנו.
- morphanl.cpp -- הגדרת המנתח הצורני.
- morphanl.test.cpp -- התוכנית הראשית. זוהי
תכנית-דוגמא שמאפשרת לכתוב מילה ולקבל את כל הניתוחים הצורניים האפשריים
עבורה.
חוץ מהקבצים האלה דרושים עוד כמה קבצי-כותרת, שנמצאים באריזה.
כדי ליצור את המנתח הצורני ההסתברותי (mch.exe) דרושים, בנוסף לקבצים הנ"ל, גם
הקבצים הבאים:
- morphsik.cpp -- מבנה שמכיל את כל הניתוחים
האפשריים למילה אחת, עם "סיכוי" שמותאם לכל ניתוח.
- morphst2.cpp -- מבנה שמכיל את כל הניתוחים
האפשריים לכל המילים, עם "סיכוי" שמותאם לכל ניתוח.
- mone-nit.cpp -- מונה ניתוחים, לצורך חישוב
ההסתברות של כל ניתוח.
- cpplib/wordcnt.cpp -- מונה מילים שלמות, כנ"ל.
- bw2fw.cpp -- מבנה שמתאים כל ערך מילוני לכל
המילים השלמות שנגזרות ממנו.
- similar.cpp -- יחידה שמגדירה את מושג ה'דמיון'
בין מילים, עבור חישובים סטטיסטיים.
- alghist.cpp -- אלגוריתם לחישוב ההסתברות של כל
ניתוח (בלי הקשר).
- mip.cpp -- תבנית של מידע צורני של מילה
- tiqun3.cpp -- יחידה ללימוד של פקודות-תיקון
ולשימוש בהן (כדי לתקן את הניתוח של מילה ע"פ המילה שלפניה והמילה
שאחריה)
- corpus.cpp -- מבנה לאחסון וניתוח טקסטים
- sntncinf.cpp -- מבנה לאחסון וניתוח משפטים
- morphui.cpp -- יחידה לקריאת ניתוח-צורני של
מילה מהמקלדת
- hpmaio.cpp -- יחידת ק"פ של התכנית הראשית
- hpmamain.cpp -- עוד יחידת עזר של התכנית
הראשית
- addlex.cpp -- שגרות שקשורות להוספת מילים
חדשות למילון (לא מתועד)
- MntxCurniHstbruti.main.cpp -- התכנית הראשית,
כוללת גם את מנשק-המשתמש.
כדי ליצור את המנתח הצורני ההסתברותי שכולל מנתח תחבירי דרושים, בנוסף לקבצים
הנ"ל, גם הקבצים הבאים:
- soi.cpp -- מבנה-עזר למנתח התחבירי ההסתברותי.
- cimcumim.cpp -- קובץ שמגדיר חוקי-צמצום
תחביריים -- צמצום של כמה רכיבים לרכיב אחד.
- sa-aux.h -- המנתח התחבירי
- sntncas.cpp -- המנתח התחבירי ההסתברותי: מנסה
למצוא את הניתוח הסביר ביותר למשפט בעזרת ניתוח-תחבירי שטחי.
- MntxCurniHstbrutiTxbiri.main.cpp -- תוכנית
ראשית שכוללת ניתוח תחבירי (קצת יותר מסובכת מהקודמת).
Hebrew Probabilistic Morphological Analyzer -- The Software
General
This zipfile contains all files needed for
compiling and running the probabilistic morphological analyzer. All files
are text files for PC. In order to compile on Unix, you should clean them
of the "Line Feed" (^M) characters. You can do this automatically using
the command unzip -aa. (for
more info: man unzip ).
The zipfile includes three different programs:
-
mc.exe -- a basic morphological analyzer, which returns for each input word the set of all its morphological analyses.
-
mch.exe -- a probabilistic morphological
analyzer with correction rules (i.e.: the word-token phase and the
word-pair phase). It can analyze entire articles with or without
supervision.
- mcht.exe -- an extension of mch.exe, that uses
syntactic rules (i.e.: the word-token phase, the word-pair phase and the
sentence phase).
File summary
-
The files
cpp/cpplib/*.cpp and cpp/cpplib/*.h are general source
files, not related to natural languages.
- >
The files
cpp/morph/*.cpp and cpp/morph/*.h are source files,
related to morphological and syntactical analysis.
-
The files
hmntx/milon/*.ma are the lexicon data files.
-
The files
hmntx/tqstim/*.txt are the input text files.
-
The files
hmntx/tqstim/*.to are the correct analysis
files.
-
The files
hmntx/tqstim/*.nts are output
files of the word-token phase. They are kept here to save time.
- >
The file
hmntx/makefile is the makefile for all
programs.
- The file
hmntx/hmntx.dsw is a workspace file for
Microsoft Visual Studio 6.0. The files hmntx/hmntx.dsp
are project files for building the projects on a Windows
system.
- The files hmntx/*.mca are argument files for
running the programs.
Making the programs
On Unix
change to directory "hmntx", and write
make [name].exe
where [name] is the program name.
You can also write
make or
make all to make all three programs.
On Windows
Open the file hmntx.dsw with Microsoft Visual Studio 6.0, choose the program you wish to build, and choose menu Build -> Build.
Read here about running the analyzer.
File detail
Curently there is no full documentation for the
entire software. There are only several old files that document the basic
morphological analyzer and the word-token phase. They can be downloaded here.
| |
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.
|