BookTranslator
BookTranslator

OCR ל-PDF רב-לשוני: בדיקת סינית, אנגלית ומספרים בנפרד

בחרו שפות OCR ל-PDF רב-לשוני בסינית ובאנגלית, בחנו פלטי דוגמה אמיתיים ובדקו תווים, מזהים, מספרים וקשרי טבלאות.

BookTranslator

BookTranslator Team

10 min read

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

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

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

תחילה הבדילו בין טקסט חסר לטקסט שגוי

השאירו את הקובץ המקורי ללא שינוי. בעותק, בחרו משפט מעמוד מייצג והדביקו אותו בעורך טקסט פשוט. נסו קטע בסינית וקטע באנגלית, לא רק את כותרת המסמך.

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

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

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

בחרו שפות זיהוי, לא יעד תרגום

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

ערכו מלאי קצר:

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

לדוגמה, דוח בסינית מסורתית עשוי להכיל תקציר ומקורות באנגלית. פרק בסינית מפושטת עשוי לכלול טבלה עם A-01,‏ 23.5 ו-°C. אין להעריך אף אחד מהם על ידי בדיקת הפסקה הסינית הארוכה ביותר בלבד.

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

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

השתמש בזרימת עבודה שמקבלת PDFים בפועל

מסלול שולחני: NAPS2

NAPS2 מציע מסלול מתועד להפיכת PDFים סרוקים לניתנים לחיפוש:

  1. ייבא עותק של הקובץ ופתח את הגדרות ה-OCR שלו.
  2. הורד את שפות הזיהוי הנדרשות עבור המסמך.
  3. בחר שפות מרובות ובחר את השפות הרלוונטיות.
  4. הפעל OCR ל-PDF ניתן לחיפוש ושמור לקובץ חדש.
  5. פתח מחדש את הקובץ והשווה טקסט סיני, אנגלי ומספרי שהועתק עם הדף הנראה לעין.

אפשרות השפות המרובות מופיעה לאחר שהורדו יותר משפה אחת. שלבים אלו עוקבים אחר המדריך הרשמי של NAPS2; לא ביצענו בדיקה מעשית של NAPS2 עבור מאמר זה.

מסלול שורת פקודה: OCRmyPDF

עבור PDF של סינית מפושטת/אנגלית שהוא תמונה בלבד, דוגמה המבוססת על התיעוד הרשמי היא:

ocrmypdf -l chi_sim+eng --output-type pdf \
  --sidecar recognized.txt input.pdf searchable.pdf

התקן תחילה את חבילות השפה הנדרשות. השתמש ב-chi_tra עבור בדיקת סינית מסורתית במקום להניח שהכתביות ניתנות להחלפה.

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

זהו מסלול מבוסס תיעוד, לא סביבת הבדיקה הנמדדת שלנו. לא הרצנו את OCRmyPDF כאן.

Tesseract רגיל זקוק לדפים מרונדרים

אל תשתמש ב-tesseract input.pdf ... כאילו היה קורא PDF. Tesseract אינו מקבל קלט PDF, למרות שהוא יכול להפיק פלט PDF. ל-Tesseract.js יש אותה הבחנה לגבי קלט PDF: רנדר תחילה את הדפים עם ספריית PDF, ואז זהה את התמונות.

זהו המסלול שבו השתמשנו בניסוי שלהלן. הוא מפיק טקסט וראיות TSV, לא פלט PDF ניתן לחיפוש שנבדק.

מה קרה בעשר קריאות OCR מקומיות

יצרנו PDF של שלושה דפים שהוא תמונה בלבד המכיל:

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

הטקסט והערכים הם חומר הוראה שנכתב על ידינו, לא קבצי לקוחות או מדידות אמיתיות. כל קטע טקסט מכיל 124 נקודות קוד שאינן רווח, כולל 41 תווים סיניים. הטבלה מכילה 79 נקודות קוד שאינן רווח.

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

לדפי המקור של ה-PDF לא היה טקסט שניתן לחלץ. עיבדנו אותם באמצעות Poppler 26.08.0 ברזולוציה של 300 dpi, ויצרנו תמונות בגודל 1600×1000 פיקסלים. גודל הגופן היה 48 פיקסלים ב-Noto Sans CJK SC/TC Regular. כל סימני הפיסוק הגיעו מהגליפים האופקיים הרגילים של הגופנים.

ב-8 בספטמבר 2026 הרצנו את Tesseract.js 7.0.0 עם tesseract.js-core 7.0.0 באופן מקומי על macOS ARM64. מודלי tessdata_fast הרשמיים הוצמדו לקומיט 87416418657359cb625c412a48b6e1d6d41c29bd. כל קריאה השתמשה ב-OEM 1 וב-PSM 6, הגדרת בלוק טקסט אחיד, עם אותה תמונת עמוד לכל השוואת שפות.

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

הגדרה יכולה לתקן שדה אחד ולפגוע באחר

בעמוד המסורתי, chi_tra שמר על כל 41 התווים הסיניים ברצף, אך עדיין עשה שגיאות שאינן בסינית. לדוגמה, הוא שינה את התווית באנגלית Document ID ל-Document 1ID וקרא לא נכון את סימן המעלות.

הוספת eng החזירה את Document ID, אך חלק מהמשפט על טמפרטורה ומסה הפך לקטעים שנראים לטיניים:

Expected: 樣本溫度為 23.5 °C,質量為 1.08 kg。
Observed with chi_tra+eng: RA MEA 23.5°C > HBA 1.08 kg。

המספרים שרדו בשורה הזו בעוד הסינית שמסביבם לא. בדיקה של 23.5 ו-1.08 בלבד הייתה מחמיצה את הנזק.

העמוד המפושט הראה פשרה אחרת. הוספת אנגלית החזירה את BK-2026-A07, שאותו החזירה ההרצה בסינית בלבד כ-BK-2026-AO7. אבל היא גם שינתה את 与 ל-5 במקום אחר. המזהה הדו-משמעי חזותית O0I1-l נשאר שגוי.

האבחונים הבאים מראים מדוע לא הכרזנו על מנצח:

קלט ובחירת שפהעריכות ברצף התווים הסינייםמחרוזות מוגנות שנמצאו
כל אחד מעמודי הטקסט, eng בלבד41 מתוך 41 תווים סיניים צפויים חסרים9 מתוך 10
עמוד מפושט, chi_sim17 מתוך 10
עמוד מפושט, כל סדר סינית/אנגלית28 מתוך 10
עמוד מסורתי, chi_tra09 מתוך 10
עמוד מסורתי, בסדר סיני/אנגלי כזה או אחר99 מתוך 10
טבלה, eng או chi_sim+engלא הוחזר טקסט0 מתוך 9

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

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

טבלה ריקה אינה חילוץ מוצלח

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

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

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

עבור טבלה אמיתית, דרשו את הקשר המלא Temperature → A-01 → 23.5 → °C, ולא ארבעה אסימונים שנמצאו אי-שם בעמוד. אם הפלט ריק או שלא ניתן לבדוק קשרים, חדלו להתייחס אליו כתעתוק מהימן. נסו תהליך עבודה מודע לפריסה או תעתקו את התאים הדרושים תוך התייחסות לתמונה.

מה שהניסוי הזה אינו יכול לקבוע

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

התוצאות שימושיות כדוגמאות נגד לכלל בלתי מותנה של „הוסיפו עוד שפות”. הן אינן דירוג מנועים, שיעור דיוק כללי או תחזית ל-PDF שלכם. זה לא היה מבחן של BookTranslator, וקובץ ה-PDF המקורי שכולו תמונות אינו עותק קריאה שהושלם ב-OCR.

השתמשו בבדיקת קבלה בת ארבעה חלקים על הקובץ שלכם

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

  1. טקסט סיני: השוו משפט שלם, כולל תווים פחות נפוצים והצורות המפושטות/המסורתיות המיועדות. אל תנרמלו בשקט תו שגוי לתו שציפיתם לו.
  2. אנגלית ומזהים: בדקו שמות מחברים, הפניות, ראשי תיבות, רישיות ותווים דומים כמו O/0 או I/l/1. קוד לא מוכר אינו מילה שיש לתקן אוטומטית.
  3. מספרים ויחידות: השוו כל ערך עם הסימן, הנקודה העשרונית, היחידה והתווית שלו. 0.05 ו-0.50 חייבים להישאר נבדלים; 23.5 שזוהה בלי היחידה הנכונה אינו שלם.
  4. קשרים ושלמות: בדקו שכל פסקה או שורת טבלה נמצאת במקום הצפוי. ודאו שכיתובים, הערות וקטעים קטנים בשפת משנה נוכחים, ולא רק הטקסט הראשי.

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

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

תרגמו רק לאחר שתדעו מה כתוב במקור

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

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

לאחר התרגום, השתמשו ברשימת בדיקות QA לתרגום PDF כדי להבחין בין שגיאת זיהוי מקור לבין שגיאת תרגום או פריסה. תיקון בשלב הלא נכון הוא הדרך שבה טעות קריאה שורדת אל הקובץ הסופי.

פוסטים קשורים