תוכנת הכתוביות שלי

gilad_no

New member
תוכנת הכתוביות שלי

מצורפת התוכנה שלי לטיפול בכתוביות (SUB,SRT). ניתן להמיר מפורמט אחד לשני ע"י תפריט הCONVERT. ניתן לבדוק שגיאות ע"י SPELLING. כדי להגדיל את מאגר המילים של המילון, ניתן לייבא מכל קובץ טקסט המכיל מילים בעברית. ניתן לייבא מילים ע"י בחירת הקובץ בBUILD DICTIONARY אשר בתפריט TOOLS. לאחר ייבוא מילים, מומלץ למיין את המילון ע"י בחירה בSORT (גם כן בTOOLS). המיון גם מוריד מילים כפולות. נא לא לערוך את המילון לבד (עם NOTEPAD), מכיוון שהתוכנה מניחה כי תו r\ לא קיים בקובץ! בכל בדיקה של מילה, התוכנה גם מנסה להוריד את התחיליות "בהו" באם המילה לא נמצאה. אנא תנו הערות (אם יש). גלעד
 
אני מניח..

שבסוף יישמת את אלגוריתם ה-Edit Distance שנתתי לך. בכל מקרה, אני שם לב שקבעת את ה-edit distance המקסימאלי בין המילה השגויה למילים במילון להיות 2. אני חושב שכדאי שהמרחק המקסימאלי יהיה פונקציה של אורך המילה השגויה, ותמיד יהיה לפחות 1.
 

gilad_no

New member
למה?

הרי אם הוא יהיה אורך המילה, אז כל מילה בעלת אותו מספר אותיות תתאים (דבר שלא כ"כ רצוי). בכל מקרה, המון תודה על האלגוריתם. הוא עובד נהדר. אם תשלח לי את השם שלך אני מוסיף אותך בתודות :)
 
אתה גם רוצה לדעת למה הוא עובד? ../images/Emo3.gif

ושמי המלא נשלח אליך במסר
 
אז ככה...

בעיקרון זה אלגוריתם קצת "רקורסיבי". נסמן ב-S_i את המחרוזת של i התוים הראשונים של S. נסמן ב-T_j את המחרוזת של j התוים הראשונים של T. S_0 היא מחרוזת ריקה וגם T_0 היא מחרוזת ריקה. נסמן ב-[M[i,j את מרחק העריכה בין S_i לבין T_j. מקרה טריויאלי: ברור כי לכל i מתקיים M[i,0] = i מפני שהמרחק של המחרוזת הריקה ממחרוזת בגודל i הוא i (צריך לעשות i פעולות של הוספת תו). מאותה סיבה M[0,j] = j. כעת נסתכל על S_i ועל T_j וננסה לחשב את [M[i,j: אנחנו יכולים לעשות פעולות עריכה בסיסיות כדי להגיע מ-S_i ל-T_j-1 ולהוסיף תו. במקרה הזה מרחק העריכה יהיה M[i,j-1]+1. אנחנו יכולים לעשות פעולות עריכה כדי להפוך את T_j ל-S_i-1 ואז להוסיף תו ולהגיע ל-S_i. במקרה הזה מרחק העריכה יהיה M[i-1,j] + 1. אנחנו יכולים להפוך את S_i-1 ל-T_j-1. אם התוים [S[i ו-[T[j שונים נצטרך להוסיף פעולת עריכה אחת. אם הם זהוים לא נצטרך להוסיף פעולות עריכה. נגדיר p=1 אם הם שונים ו-p=0 אם הם זהים ואז מרחק העריכה יהיה M[i-1,j-1]+p. אנו רוצאים שמרחק העריכה יהיה מספר פעולות מינימאלי. ולכן נקח את המינימום מבין שלושת המקרים להיות מרחק העריכה בין S_i ל-T_j. מכאן מקבלים בדיוק את האלגוריתם שכתבתי לגלעד בפעם הקודמת. מרחק העריכה בין S_n ל-T_m (כאשר m,n הם אורכי המחרוזות בהתאמה) הוא התוצאה המבוקשת של האלגוריתם.
 

cganir

New member
המילון המצורף קצת בעייתי.

הפעלתי את התוכנה, פתחתי תרגום קיים, ובקדתי איות. משום מה הוא התעקש שהמילה תרגום אינה מקובלת, וכנ"ל לגבי המילה הגיע. מוזר, לא ?
 

gilad_no

New member
אפשר ללמד אותו

כאשר מתקנים את המילה, הוא לומד אותה ומוסיף אותה למילון כדי שבפעם הבאה היא תוכר. כמו כן, אם יש לך טקסט שידוע לך שאין בו טעויות, ניתן לייבא אותו למילון (ע"י BUILD DICTIONARY). כרגע מצורף סתם מילון שבניתי באופן אקראי מכמה כתבות בYNET. אני מקווה שעם הזמן, ככל שיישתמשו בו גם יותר אנשים, המילון יגדל ויכיל אוסף יותר מקיף של מילים בעברית.
 

עידו123456

New member
בזמנו בניתי speller באנגלית

ולפני כן עשיתי מחקר קטן ברשת לגבי טעויות כתיב נפוצות (קראתי מאמרים על זה) בכל מקרה מה שגיליתי הוא שכ 80%-95% מהטעויות כתיב אצל דובר השפה בהקלדה נובעות מארבעת הגורמים הבאים: 1) שתי אותיות התחלפו - tihs במקום this 2) אות נוספה - thiss במקום this 3) אות הוחסרה - ths במקום this 4) אות הוחלפה - phis במקום this. כלומר ההבדל העיקרי (והיחיד למעשה) ממה שקיבלת הוא כלל מס' 1. אם אני לא טועה, הסדר הוא חשוב בבדיקה כאשר הסדר אמור להיות הסדר שרשמתי כאן. עכשיו, אתה יכול גם לשכלל את זה עוד יותר (אני לא עשיתי בזמנו, התאים לי גם בלי השכלול) ולהתחשב בתיקון שלך באופי הטעות, כאשר הטעיות נחלקות למספר קטגוריות. אני לא זוכר את זה במדוייק אבל שתי קטגוריות שבטוח היו שם זה: א) טעויות על פי מיקום המקש במקלדת (thks במקום this) ב) טעויות שנובעות מבלבול מצורות כתיב שונות של אותה פונמה (קאן במקום כאן) כלומר תיקון לפי קטגוריה א' או ב' יקבל ציון גבוה יותר מאשר תיקון שאינו נובע מטעות כתיב "הגיונית"
 

mooznach

New member
מאיפה השגת מילון מלא בעברית?

חיפשתי אחד באנגלית. מצאתי משהו, אבל ל נראה לי הוא יעיל מאד...
 

IP yuval

New member
אני לא חושב שהוא "השיג" מילון. הוא

פשוט סרק כמה מקומות, והוסיף את כל המילים לרשימה (אני טועה?). ראה ערך "ושירים" או "הפתוח". בודק איות (חופשי) לעברית: hspell לאנגלית (גם חופשיים): aspell,ispell,myspell
 

gilad_no

New member
צודק

כמו שכתבתי, יש לתוכנה אפשרות לייבוא מילים מטקסט קיים. נותנים לה טקסט כלשהוא, והיא סורקת את כל המילים ומכניסה אותם למילון שלה.
 
למעלה