תוכנת זיהוי תווים אופטי, או באנגלית Optical Character Recognition (OCR) היא תוכנה המבצעת המרה של תמונה סרוקה למסמך בר עריכה במעבד תמלילים במחשב. סריקת מסמכים היא חלק אינטגרלי מהיכולת לזהות טקסט.
כשסורקים מסמך למחשב מקבלים קובץ תמונה (בד"כ TIF, JPG, PDF). כפי שלא ניתן לבצע התערבות בתמונות מצולמות המכילות טקסט ללא שימוש בתוכנה מתאימה, כך גם לא ניתן לבצע עריכה בקבצים של מסמכים סרוקים.
כדי לעשות שימוש בטקסט המופיע בתמונה לצרכי חיפוש או עריכה במעבד תמלילים יש צורך לבצע פעולה על הקובץ הסרוק.
האתגר הגדול ביותר של מפתחי תוכנות OCR הוא להגיע לאחוזי זיהוי גבוהים בתהליך המרת תמונה של מסמך סרוק (או כתב יד). הפעולה עצמה היא זיהוי כל תו מתווי המסמך ותרגומו לאות. תהליך זה כולל מספר כללים וחוקים הקשורים לקטעי התמליל, לסוג האותיות ולשפת האותיות.
קיימות שתי דרכים עיקריות בתהליך זיהוי טקסט (זיהוי תווים אופטי): בדרך הראשונה בודקים איזה מהאותיות דומה לתבנית מוגדרת מראש, ובדרך השנייה מחלקים את האות לחלקים ונותנים תיאור לכל חלק של האות.
החיסרון העיקרי של שימוש ב- OCR הוא אחוז גבוה של שגיאות. תוכנת OCR שמזהה 90% מהמילים, עדיין שוגה ב- 9 מכל 10 מילים. אם המסמך שלכם מכיל 10,000 מילים, 1,000 מילים יהיו שגויות ותצטרכו להשקיע זמן ניכר בתיקון השגיאות והתאמת הטקסט הסרוק למסמך המקורי.
כדי למזער את כמות השגיאות, התוכנה נעזרת במילון. בדרך זו התוכנה מכילה שכבה המתרגמת ומשלימה תווים שזוהו למילים שלמות. אם לא נוצרה מילה שלמה התוכנה משנה תווים במילה עד שנמצאת השלמה מול מילה זהה במילון, או המילה הקרובה ביותר.
קיימת בעיה נוספת בתהליך הזיהוי.
אם המסמך נסרק באופן לא מיושר, יש צורך ביישור המילים לפני הפעלת אלגוריתם הזיהוי. קיימים גם פונטים מורכבים שלא כל תוכנת OCR יכולה או יודעת להתמודד איתם, כגון פונט רש"י.
החוכמה בבחירת תוכנת OCR נמצאת באחוזי הצלחת הפענוח והזיהוי של התוכנה. השאיפה היא לקבל 100% זיהוי של קובץ סרוק. אם מצאתם תוכנה עם 98 – 99% זיהוי עשיתם עסק לא רע.