30/05/2026

הנשק הסודי של OCR: איך מילון תחום משדרג זיהוי טקסט

שלישי בסדרת ה-OCR שלנו — אחרי המדריך הפרקטי ומקרה הבוחן על ניקוד ביטחון.

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

למה מנוע OCR טוב לא מספיק

מנועי OCR מודרניים כוללים מודל שפה כללי שעוזר להם "לנחש נכון" מתוך הקשר. הבעיה: המודל הכללי אומן על טקסט יומיומי, לא על החומר שלכם. הוא יודע ש"שלום" מילה נפוצה — אבל לא מכיר שם משפחה נדיר, כינוי של עיירה במזרח אירופה, מונח הלכתי, או ראשי-תיבות מקצועיים. בדיוק בְּמילים האלה — הנדירות, הייחודיות — נמצא הערך ההיסטורי, ובדיוק שם המנוע הכללי נכשל הכי הרבה.

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

מה נכנס למילון תחום

מילון תחום אינו "מילון" במובן הרגיל. הוא אוסף ממוקד של היחידות הלשוניות שמאפיינות אוסף ספציפי:

  • שמות פרטיים ומשפחה — כולל כתיבים חלופיים ושיבושי תעתיק.
  • שמות מקומות — עיירות, רחובות, מחוזות, לעיתים בשמות היסטוריים שכבר לא בשימוש.
  • מונחים מקצועיים — הלכתיים, רפואיים, משפטיים, הנדסיים — לפי סוג האוסף.
  • קיצורים וראשי-תיבות — שכיחים מאוד בכתבי יד עבריים ומבלבלים מנועים כלליים.
  • תבניות קבועות — תאריכים עבריים, נוסחאות פתיחה וסיום, יחידות מידה.

בפרויקטים שלנו מילון עובד נע בין כמה מאות לכמה אלפי ערכים. אפילו מילון של כ-2,000 מונחים מכסה את רוב המקרים הקשים באוסף ממוקד.

איך בונים מילון תחום

לא ממציאים את המילון — אוספים אותו ממקורות שכבר קיימים:

  1. אינדקסים ורשימות קיימות — מפתחות ספרים, רשימות חברים, פנקסי קהילה מתומללים בעבר.
  2. תמלול אמת-יסוד — מאות השורות הראשונות שתמללתם ידנית כבר מכילות את אוצר המילים המרכזי.
  3. ידע מומחים — היסטוריון או ארכיונאי שמכיר את האוסף יודע אילו מונחים ושמות חוזרים.
  4. מקורות חיצוניים — מאגרי שמות, גזטירים גאוגרפיים, מילוני מונחים מקצועיים.

אחרי האיסוף מנרמלים: מאחדים כתיבים, מסמנים חלופות, ומשייכים לכל ערך הקשר (סוג, תדירות צפויה). מילון טוב הוא חי — הוא גדל ככל שמתמללים עוד חומר.

איך המילון משתלב בצינור

המילון אינו מחליף את המנוע — הוא שכבה מעליו, בשלושה מקומות:

  • דירוג מועמדים מחדש — המנוע מפיק כמה קריאות אפשריות לכל מילה; המילון מעדיף את זו שתואמת ערך מוכר.
  • תיקון פוסט-OCR — מילה שקרובה מאוד (מרחק עריכה קטן) לערך במילון מתוקנת אליו, בזהירות.
  • ניקוד ביטחון — כפי שהסברנו במקרה הבוחן הקודם, התאמה למילון היא כ-40% מציון הביטחון. מילה שקיימת במילון מקבלת חיזוק; רצף אקראי נענש.

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

המלכודת: מתי מילון מזיק

מילון תחום הוא חרב פיפיות. אם מכריחים כל מילה להתאים לערך הקרוב ביותר, המערכת "מתקנת" טקסט נכון לכדי שגיאה — תופעה שנקראת over-correction. שם משפחה אמיתי שלא קיים במילון יוחלף בטעות בשם דומה שכן קיים. כך מילון שנועד להעלות דיוק דווקא מוריד אותו, ובשקט.

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

כמה זה באמת עוזר

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

הסיבה פשוטה: אימון מודל דורש GPU וזמן; מילון דורש רשימה. וברוב האוספים ההיסטוריים, הרשימה כבר קיימת חלקית — רק צריך לאסוף אותה.

מאיפה ממשיכים מכאן

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