זיהוי תווים אופטי (באנגלית: Optical Character Recognition; בראשי תיבות: OCR) הוא תחום בתוכנה שבו מטרת התוכנה היא קידוד טקסט כתוב (בדרך כלל בדפוס, לעתים נדירות גם בכתב יד) למידע דיגיטלי טקסטואלי (כלומר, אוסף בתים) שמכיל טקסט זהה.
התהליך כרוך בסריקה או בצילום של טקסט המקור לקובץ תמונה, והפעלה של תוכנה מתאימה שמזהה בתמונה את התווים השונים המרכיבים את הטקסט, וממירה כל אחד מהם לתו יחיד בקובץ טקסט. זהו תהליך הפוך להדפסת מסמך: בעוד שבהדפסה הופכים תווים מוקלדים לתמונה שאין בה הבחנה בין התווים השונים, בזיהוי הכתב האופטי ממירים ומפענחים תמונה שמורכבת ממיליוני נקודות (פיקסלים), לאותיות שיש ביניהן אבחנה כמו באותיות מוקלדות.
את הזיהוי ניתן לבצע בשתי צורות שונות:
1. התאמה תבניתית – שומרים על תבניות שונות של האותיות ומנסים לבדוק איזה מהאותיות היא הדומה ביותר לתבנית.
2. תיאור מבני – מחלקים את האות לחלקים שונים ויוצרים תיאור של חלקיה השונים של האות והיחסים שביניהם.
כדי למזער את כמות התווים השגויים שנוצרים בתהליך, מפעילה התוכנה לפעמים בדיקה מול מילון. במקרה זה התוכנה מכילה רובד נוסף שמרכיב את התווים המזוהים למילים שלמות, מחפש כל מילה במילון, ובמקרה שאינו מוצא אותה, מנסה לשנות תווים מסוימים (אלה שבהם וודאות הזיהוי נמוכה) עד שהמילה המזוהה נמצאת באוצר המילים של המילון.
תהליך זיהוי טקסט – OCR
זיהוי שורות הטקסט ויישור השורה כך שהאותיות יהיו אופקיות. שלב זה פותר בעיות של דפים שסריקתם נעשתה בזווית, מה שמקשה על התוכנה לזהות את צורת האותיות בצורה נכונה. ניקוי של הרקע מלכלוך. במקרה של טקסט עברי מאותר גם הניקוד ונמחק, כדי להקל על זיהוי האותיות עצמן. הפרדת השורות השלמות לאותיות ומילים על פי מרווחים. זיהוי הגופן (פונט) שבו הודפס הטקסט, על ידי הפעלת אלגוריתם (איטי) המזהה מאפיינים של גופנים שונים, ובוחר את הגופן הקרוב ביותר.
זיהוי האותיות הבודדות לפי המאפיינים המפרידים בין האותיות בהתאם לגופן הנבחר (זהו שלב מהיר). חיפוש המילים המזוהות במילון (אופציונלי). בכל מקרה של מילה שאיננה במילון, מבוצע ניסיון להחליף אותיות באותיות קרובות מבחינת מאפיינים, עד הגעה למילה שנמצאת במילון. במקרה של מקור שמכיל גם תמונות, יצירת קובץ שבו משולב הטקסט עם התמונות הסרוקות.
חלק ממאפייני האותיות הם פשוטים, כדוגמת מיקומי קווים אופקיים ואנכיים, או משקל השחור בתתי האזורים השונים בתוך הריבוע המכיל את האות, רוחב האות וגובהה, חריגה מעל או מתחת לקו השורה וכדומה. במקרים בהם המרחק בין מאפייני אותיות דומות הוא גדול יחסית, ההפרדה היא אופטימלית.
במקרים בהם התוכנה היא כזו שמזהה מילים, ניתן להקטין את כמות השגיאות בתהליך אם ניתן לבדוק האם המילה הנבחרת מתאימה לתוכן, כלומר האם במיקום בו היא זוהתה, היא בהקשר סביר לטקסט. הבנת ההקשר היא מורכבת ונעשית על ידי בדיקה האם המילה ממלאת תפקיד חיבורי הגיוני במשפט, או בשיטות סטטיסטיות – האם המילים בקרבתה מופיעות במקום אחר או במסמכים אחרים ובאיזו הסתברות.
תוכנות זיהוי טקסט מתוחכמות בנויות כרשת עצבית, שהיא תהליך תכנותי המבוסס על התנסות ולמידה. תוכנה כזו מציגה את הטקסט המזוהה למשתמש, שמתקן שגיאות בזיהוי, והתוכנה לומדת את השגיאות ומנסה להקטין את הסיכוי שתחזורנה בעתיד. ליכולת זו שימוש רק אם סוג הטקסטים שעוברים זיהוי הם דומים מבחינות שונות – גופן הדפסה, גודל אות, אוצר מילים ועוד.
הקרדיט לויקיפדיה
להצעת מחיר ולהזמנת שירותי סריקת או גריסת מסמכים מלאו את הטופס או חייגו 054-5880060