ABBYY의 기술로 버마어를 읽다! 



안녕하세요, 레티아 이주임입니다.

OCR 문자인식 기술에 조금이라도 관심있으신 분들이라면,굉장히 흥미로울만한 이야기를 들고 왔습니다 :)


여러분 도대체 ABBYY 파인리더는 어떻게 '이미지' 를 '텍스트' 로 인식하는 지 궁금하셨죠? 


이미지의 텍스트를 읽어내기 위해 어떤 개발 과정이 필요한 지, 아래 내용을 보시면 좀 더 쉽게 이해가 되실거에요! ABBYY의 새로운 버마어 인식 프로젝트를 소개합니다!  


 

( *참고 : ABBYY 파인리더는 현재 버마어 인식을 지원하지 않습니다. 

아래 내용은 ABBYY의 버마어 OCR 인식 프로젝트를 소개하는 것이며 향후 OCR패키지프로그램에서도 새로운 인식언어가 추가될 수 있습니다. ) 






동남아시아에 위치한 미얀마 연방공화국은 이전에 버마로 알려져있던 나라입니다. 버마는 1962년부터 2010년까지 군사 정권에 의해 통치되었지만, 지난 5년 간은 다른 나라들과 무역, 문화 링크를 구축하면서 외부 세계에 개발되었습니다. 



버마언어는 많은 방언을 포함하지만, 공식 문헌과 인쇄 매체에 사용되는 코어 알파벳을 공유합니다. 이 공유 알파벳은 33개의 자음과 12 보조 문자를 가지고 있습니다. 지역 방언들은 이외에 다른 글자들도 사용하며, 전체 글자의 수는 코어 알파벳의 약 3배입니다. 



다행히 ABBYY의 작업은 가장 대중적인 미얀마의 세가지 폰트를 최소 10포인트 이상의 크기로 인쇄된 텍스트를 인쇄 하는 것이었습니다. 텍스트 이미지들은 최소 300dpi 이상되는 그레이(회색조), 흑백 또는 칼라 이미지를 선택하였습니다. 





 


위 그림은 전형적인 버마어 텍스트의 모습입니다! 


이 프로젝트의 예비 단계에서 ABBYY는 OCR 정확도 75% , 최소 샘플에 대한 정확도 94% 의 인식률을 달성할 수 있었습니다. 


버마 텍스트는 각 자음이 기본 모음의 소리를 전달하는 소위 "알파실너버리(alphasyllabray)" 입니다. 다른 모음 소리는 특수한 문자들과 자음의 위,아래,전,후 또는 주위에 있는 발음 구별 부호를 사용하여 표현합니다. 흥미로운 사실은, 과거의 텍스트들이 야자수 잎에 씌어졌고 이것들은 직선 자국에 의해 쉽게 손상되기 때문에 대부분의 글자들은 '반원형' 으로 이루어져 있습니다. 


또한 버마어는 '톤' 이 있는 언어입니다. 높은 톤, 낮은 톤, 끽 소리가 나는 주요 세가지 톤과 억지모음 소리와 떨어지는 두 가지의 보조 톤이 있습니다.





버마어의 톤들도 글을 쓸 때 표현되어야 하기 때문에 버마어 텍스트들은 두가지의 발음기호를 주 글자의 위,아래에 효과적으로 배치하고 있습니다. 이런 두 계층 발음 기호 체계는 OCR 소프트웨어에 심각한 문제를 야기합니다! 문자의 일부 조합은 새로운 캐릭터를 형성하기 위해 함께 융합할 수 있어 상황은 더 복잡해집니다. 



OCR 작업에 대해 가장 대중적인 방식으로 설명하자면, OCR은 다음과 같은 처리를 합니다.  


OCR 소프트웨어가 이미지를 수신하면 먼저 이미지를 흑백으로 변화하고 왜곡을 보정합니다. 다음으로 문서에서 '텍스트' '그림' '표' 등 서로 다른 종류들에 대한 영역을 검출합니다. '텍스트' 영역은 다시 라인으로 나뉘어 지고, 라인은 다시 단어로, 단어는 글자 단위로 쪼개어집니다. 각 글자들이 인식된 후 문서의 아래 위로 재조립됩니다.



이미지 프로세싱 및 인식 영역 검출은 버마어도 다른 대부분의 언어와 동일하게 처리가 되지만, 버마어의 라인 검출은 다양한 발음기호 때문에 짧은 라인을 식별할 수 있도록 OCR 프로그램을 훈련하는 것이 어려워, 까다로운 작업일 수 밖에 없습니다. 



ABBYY의 알고리즘은 텍스트 라인을 특정 짓는 몇 가지 특성들을 사용하며, 이 특성 중 하나가 바로 '가상의' 베이스라인입니다. 

이 베이스 라인 위에 모든 다른 특성값들이 존재하게 됩니다. OCR 프로그램은 개별 문자에 대한 설득력 있는 가설을 생성하기 위해 베이스 라인의 위치를 알아야 합니다. 






OCR 프로그램은 베이스 라인들을 검출하기 위해 통계 데이터를 사용합니다.

필요한 통계를 수집하기 위해 문자들을 구성하는 검은 점으로 생성되는 히스토그램의 피크들을 찾습니다. 유럽어 알파벳에 대한 히스토그램에는, 베이스 라인 및 소문자의 높이에 대응하는 세 개의 선명하게 보이는 피크가 있습니다. 


그러나 버마어에는, 라인의 정상적인 폭 밖에 있는 여러가지 발음기호들 대문에 히스토그램상에 통계적으로 의미있는 추가적인 피크들이 생깁니다. 이런 이유로, 유럽어 텍스트를 대상으로 만들어진 ABBYY의 알고리즘은 버마어 텍스트 라인의 중요한 파라미터를 식별하는 데 실패할 수 밖에 없었습니다. 






위 그림을 보면 OCR 프로그램이 제대로 처음 두 개의 베이스 라인을 검출하지만, 세번째는 검출하는 데 실패한 것을 보실 수 있습니다. 



버마어 텍스트를 정상적으로 인식하려면, 라인 검출 알고리즘의 수정이 필요했습니다. 

라인이 검출되면, 단어와 단어 사이, 글자와 글자 사이의 간격을 찾고 시작할 수 있습니다! 이제 수평 히스토그램을 사용하여 큰 간격은 단어 사이의 공간으로, 작은 간격은 글자 사이의 공백으로 해석할 수 있습니다. 버마어 텍스트에서 간격을 검출하는것은 문제가 거의 없었습니다. 반면 타이어(Thai language)는 거의 간격이 없기 때문에 문제가 있기도 했습니다. (ABBYY의 OCR 기술은 태국어 또한 인식 가능합니다!) 


라인들이 작은 단위로 분리되면 이것들은 다시 독립적은 문자들로 구분합니다. 다시 히스토그램에서 글자 간격에 대응하는 피크들을 찾습니다. 간격들 중 일부는 확실하게 찾아지는 반면, 다른 것들은 여러 시행 착오에 의해 검증되어야 합니다. 




위 그림은 영어 단어에 대한 히스토그램입니다! 버마어 문서의 무수히 많은 반원형 글자들은 간격 검출이 어렵게 만드는 'False' 피크들을 많이 만들지만, 버마어에도 히스토그램 방식은 잘 동작합니다. :) 






이제 각 개별 문자들, 즉 그래핌(grapheme)을 인식합니다. 그래핌은 한 문자의 그래픽적인 표현이지만 유럽어에서 1대1로 대응되지는 않습니다. 한 그래핌이 한 개 이상의 글자에 대응이 될 수도 있고, (예를 들어 대문자 'C' 와 소문자 'c' 는 하나의 그래핌입니다.) 한 글자가 여러 그래핌으로 표현될 수도 있습니다. (예를 들어 'a'는 서로 다른 폰트의 그래핌으로 표현될 수 있습니다)





그래핌의 표준 목록은 없습니다. 

그래서 ABBYY는 각 그래핌에 대한 모든 가능한 글자들을 구체화할 수 있도록 수동으로 만들어 냅니다. 그래핌은 단어 후보가 생성된 이후의 단계에서 문자로 변환됩니다! 







앞서 언급한 바와 같이 버마어 텍스트에는 많은 발음기호 문자들이 있고, 그 중 많은 글자가 주요 글자와 융합되어 새로운 글자를 만들 수 있습니다.  발음기호 표시가 글자와 물리적으로 분리된 경우, 먼저 문자를 인식하고 다음으로 발음 기호를, 그 다음으로 인식결과를 결합하여 그래핌을 얻습니다. 발음기호 표시와 글자가 개별 단위를 형성한다면 전체를 인식합니다. 


융합 글자들은 버마어 문자 체계에서 아주 흔해서 ABBYY 는 3,500개의 새로운 그래핌을 인식하도록 OCR 기술을 훈련해야만 했습니다! 


그래핌을 인식한 후 ABBYY는 그것을 유니코드 문자들로 번역하고 단어들을 만들어야 합니다. 이 과정은 유럽어에서는 아주 간단해서 한 글자씩 인식을 해서 유니코드로 변경하면 됩니다. 그러나 버마어의 융합 글자들은 특별한 처리를 해줘야 합니다. 



Windows가 글자들을 합하기 위해 버마어 글자들이 키보드로부터 입력되어야 하는 특정한 순서가 있습니다. 어떤 글자들은 Windows가 음절의 시작 부분에 입력할 수 있도록 다른 모든 글자들이 타이핑 된 후에 타이핑되어야 합니다. 




예를 들어 텍스트 편집기에서 이 단어를 입력할 때, 사용자는 다음의 순서로 문자를 입력해야 합니다. 






ABBYY는 이런 타이핑 룰을 따르기 위해서 특별한 보정 모듈을 추가했습니다. 모든 텍스트가 인식되면 모듈이 다시 인식 결과를 읽어서 글자 순서가 맞는지를 검사합니다. 버마어는 잘 구조화된 언어이며, 이러한 검사를 수행할 수 있는 충분한 형식적인 규칙이 있습니다. 


단히 버마어 텍스트를 OCR로 인식할 때 ABBYY의 OCR 기술이 직면한 주요 문제들을 간단하게 설명했습니다. ABBYY는 이 프로젝트의 97% 인식 정확도를 만들어내면서 완료하는데 4개월이 걸렸습니다 (고객의 요구사항은 최소 94% 의 정확도) 향후 더 많은 버마어 폰트들이 추가 될 예정입니다! 




 





레티아 블로그를 방문해주셔서 감사합니다! 레티아 블로그에서만 보실 수 있는 다양한 OCR 이야기, 앞으로도 많은 관심부탁 드립니다. 



더 많은 OCR 솔루션이 궁금하시다면? 


> 레티아 홈페이지 바로가기 


> 세계 최고의 OCR 프로그램 'ABBYY 파인리더' 무료 시험판 사용해보기 





블로그 이미지

OCR전문기업 레티아

OCR프로그램, PDF변환프로그램 리뷰를 포함하여 ABBYY의 OCR엔진, 모바일, 데이터캡처 솔루션, 서버형 솔루션, 명함인식 솔루션 등 다양한 정보를 제공합니다.

,


ABBYY 개발자 인터뷰 4탄



ABBYY PDF Transformer+ 

The Loyal User : A Testing Engineer 

















by llia lsaev, 

ABBYY Testing Engineer



"나는 제품 출시할 때 까지 면도를 하지 않을거야 :)  




새로운 소프트웨어 제품을 테스트하는 직원들은 회사의 어떤 직원들보다 충성심이 강하다고 얘기할 수 있습니다. 


왜냐하면 개발 기간 내내 버그, 오류, 검은화면과 프리즈들을 마주쳐야 하기 때문에 우리는 직업에 대한 충성심이 필요합니다 :) 다른 사람들보다도 집중적으로 제품을 다루는 것이 필요하며, 출시하고, 설치하고, 버그를 리포트하고, 리포트된 버그를 종료하는 일을 매주 수백번 하게 되어 우리의 충성심도 매일 테스트 되고 있습니다. 






테스트 엔지니어가 가장 중요하게 생각할 것은 테스터와 개발자가 긴밀한 협력 작업을 해야한다는 것을 기억하는 것입니다. 테스터와 개발자 사이에는 많은 서로간의 교류가 필요하며, 페이스를 유지하기 위해서 제품에 대한 충성심을 가지는 것도 중요합니다. 




테스터와 개발자간의 지속적인 대화가 협력의 사이클을 만들어 냅니다. 그리고 정말 좋은 개발자는 테스터에게 작성한 것을 확인하도록 해서 이런 사이클의 속도를 높이는 데 일조를 합니다. 추가로, 자동화 테스터 과정이 이런 프로세스를 짧게 만든다고 말하는 사람들도 분명 있을 겁니다. ABBYY 제품은 실제 사람이 사용할 것이라는 것을 기억해야 합니다. 그래서 실제 사람의 눈으로 소프트웨어를 직접 보는 것이 중요합니다. 




마지막으로 테스터는 유머감각이 필요합니다!! 

한번은 ABBYY PDF Transformer+ 제품 작업을 할 때 동료들에게 사진을 보며 이렇게 말했습니다. "나는 제품 출시할때까지 면도를 하지 않을 거야" 그러나 PDF 파일 포맷은 매우 복잡하기 때문에 작업을 마칠 때까지는 제 생각보다 훨씬 오랜 시간이 걸렸습니다. 제품이 출시 할때쯤 제 턱수염은 정말 많이 자라있었죠! 







ABBYY 개발자 인터뷰는 계속됩니다 

기대해주세요 ^^ 


- 레티아 드림 



    






What is ABBYY PDF Transformer+ ?


 시험판 다운로드 및 사용 리뷰 보러가기 










블로그 이미지

OCR전문기업 레티아

OCR프로그램, PDF변환프로그램 리뷰를 포함하여 ABBYY의 OCR엔진, 모바일, 데이터캡처 솔루션, 서버형 솔루션, 명함인식 솔루션 등 다양한 정보를 제공합니다.

,


ABBYY 개발자 인터뷰 3탄


ABBYY PDF Transformer+ 

Who's at Fault When a PDF Problem Pops UP?        













by llia lsaev

ABBYY Testing Engineer



"제가 자신있게 말할 수 있는 건, ABBYY팀은 사용자 중심적인 소프트웨어를 위해 힘쓰고 있다는 사실입니다"



PDF파일의 문제가 있는 경우 PDF 솔루션의 사용자들은 PDF 소프트웨어의 잘못이라고 거의 자동으로 생각하게 됩니다. 

반대로 개발자들은 보통 PDF파일이 잘못된 것이라고 생각합니다.그럼 테스터에게 같은 질문을 하면 어떻게 답변할까요? 

아마 '파일? 혹은 소프트웨어? 50대 50' 이라고 말할겁니다. 




왜 50 대 50 이라고 답변할까요? 


저와 같이 PDF솔루션을 반복적으로 테스트하는 테스터들은 PDF포맷이 정말 복잡해서 PDF 파일 자체가 잘못될 확률이 크다는 점을 알게됩니다. 그러나 반면 버그의 가능성도 있고, 사용자의 사용 오류에 의한 문제일수도 있다는 것도 알 수 있습니다. 소프트웨어로 PDF파일을 생성할 때 부터 잘못 만들어졌을 수도 있고,혹은 PDF파일의 복잡성 때문에 사용자가 작업을 준비할때 잘못된 셋팅을 선택할 가능성도 있습니다. 



예를 들어, 오른쪽에서 왼쪽으로 써 나가는 아랍어와 같은 언어를 선택하고 이것을 다시 왼쪽에서 오른쪽으로 가도록 재설정하는 것을 잊어버리게 되면 PDF 파일은 잘못 만들어질 수 있습니다. 이 모든 것들은 PDF 파일에 이상이 없더라도 파일을 받은 사람이 파일을 열고 작업할 때 문제가 발생할 수 있다는 것을 의미합니다.






이런 상황에서 사용자는 위와 같이 확인할 수 가 있습니다. 

Adobe Acrobat Pro로 문제가 되는 PDF파일을 열고 텍스트를 복사하여 워드나, 메모장에 붙여넣기를 해보면 텍스트가 네모 박스 또는 이상한 모양의 글자처럼 보여질 경우 이것은 소프트웨어의 잘못이 아니고 PDF 텍스트 레이어가 손상된 것입니다. 


이런 점을 염두에 두었을 때, 저는 ABBYY팀은 정말 사용자 중심적인 소프트웨어 개발에 힘쓰고 있다고 자랑스럽게 말할 수 있습니다. 

ABBYY PDF Transformer+는 PDF 파일의 텍스트레이어가 손상된 경우에도 다시 정확하게 텍스트를 추출할 수 있습니다. 


저희는 이런 기술 발전에 힘쓰고 있습니다. 














ABBYY 개발자 인터뷰는 계속됩니다 

기대해주세요 ^^ 


- 레티아 드림






What is ABBYY PDF Transformer+ ?


 시험판 다운로드 및 사용 리뷰 보러가기 




블로그 이미지

OCR전문기업 레티아

OCR프로그램, PDF변환프로그램 리뷰를 포함하여 ABBYY의 OCR엔진, 모바일, 데이터캡처 솔루션, 서버형 솔루션, 명함인식 솔루션 등 다양한 정보를 제공합니다.

,


ABBYY 개발자 인터뷰 2탄


ABBYY PDF Transformer+ 

Change For The Better        












by Ivan Korneev, 

ABBYY Development Manger 



"더 나은것을 위한 변화"




새로운 제품의 디자인에 참여하는 것은 마치 진행중인 '전후' 스토리와 같다고 생각합니다. 인생의 다른 많은 일들처럼 초기 목적과 계획은 변화하거나 증가합니다. 최종 결과물이 반드시 원래 의도한 기능과 일치하지 않는다고 표현할 수 있겠네요. 



예를 들어, ABBYY PDF Transformer+ 는 원래 디지털 서명 추가 기능을 제공하지 않았습니다.

그러나 지금 디지털 서명(전자 서명) 기능은 ABBYY PDF Transformer+가 제공하는 주요 기능 중 하나가 되었죠. 


(레티아 추가설명: ABBYY PDF Transformer+의 디지털 서명기능은 PDF문서에 디지털 방식으로 서명하고, 디지털 서명의 유효성을 검사할 수 있습니다. 서명을 위해선 디지털 인증서가 필요하기 때문에 종이문서에 수기로 작성된 서명과 마찬가지로 문서에 서명한 사람의 신원을 보증하는 목적, 서명된 문서가 변조되지 않았음을 확인하는 목적으로도 이용할 수 있습니다)










(↑ ABBYY Precise Scan 기술) 



또 다른 계획되지 않았던 기능은 무엇인지 궁금하시나요? 바로 우리가 'Precise Scan' 이라고 부르는 기능입니다. 이 기능도 상품 개발의 매우 늦은 단계에서 추가된 기능입니다.



이 기술은 스캔한 이미지로 만들어진 PDF파일이 깨끗하게 보이도록 도와주며 OCR에 더 적합하게 만들어줍니다. 좀 더 간단히 말하자면 이미지를 벡터화해서 확대하고 가장자리를 부드럽게 처리하고 노이즈를 제거하는 기능입니다. 그 후 이미지를 원래 크기로 변경해서 더 또렷하고 깨끗하게 보이도록 만들어줍니다. 


단언컨대 정말 대단한 기능이죠? 







'ABBYY Precise Scan' 기능은 유튜브 동영상으로 생생하게 확인하실 수 있습니다.  

바로가기 https://youtu.be/wqJigsDGVvM






ABBYY 개발자 인터뷰는 계속됩니다 

기대해주세요 ^^ 


- 레티아 드림 



    






What is ABBYY PDF Transformer+ ?


 시험판 다운로드 및 사용 리뷰 보러가기 







블로그 이미지

OCR전문기업 레티아

OCR프로그램, PDF변환프로그램 리뷰를 포함하여 ABBYY의 OCR엔진, 모바일, 데이터캡처 솔루션, 서버형 솔루션, 명함인식 솔루션 등 다양한 정보를 제공합니다.

,



ABBYY 개발자 인터뷰 1탄


ABBYY PDF Transformer+ 

Arab Awakening: Bringing a New Language to PDF Transformer+         















by Maksin Pikhenko, 

ABBYY Head of PDF Tools Development Group  





"제가 가장 보람을 느끼는 경험 중 하나는 제가 개발자로서 'ABBYY' R&D센터에서 아랍어 연구에 관계하고 있다는 점입니다. "


저는 ABBYY의 R&D 센터에서 ABBYY PDF Transformer+ 의 아랍어 PDF문서를 편집, 협업 등을 할 수 있게 처리하는 작업을 맡았습니다. 

이는 사실 쉬운일은 아니었습니다. PDF소프트웨어가 올바르게 동작하고, 사용자들이 PDF문서를 쉽게 작업할 수 있으려면 한 언어의 모든 규칙을 이해하는 것이 필요합니다. 예를 들면, 한 단어에 한 글자를 변경하는 것은 문장 자체를 비 문법적으로 만들기 때문에 전체 문장을 변경해야 하니다. 여기에 추가로 아랍어에서는 대부분의 글자들이 단어 내에 세가지 방법으로 위치할 수 있으므로 각기 다른 위치에 대한 변경도 필요합니다. 


처음에는 이런 미묘한 차이에 대한 중요성을 몰랐습니다. 

(현재의 ABBYY의 OCR 엔진은 아랍어 인식에서 높은 정확도를 보이는 것으로 유명합니다.^^)









오른쪽에서 왼쪽으로 읽는 언어에서의 '커서' 제어가 미치는 영향을 포함하면서 새롭게 아랍어에 적용하려면 이러한 미묘한 점들을 배우는 것이 필요했습니다. 이런 맥락에서, 입력 키를 저장해놓지 않으면 백스페이스키와 같이 아주 간단하게 보이는 것들도 예측할 수 없는 움직임을 만들어 낼 수 있습니다. 



추측하셨겠지만 저는 아랍어를 공부하고 있습니다. 단순히 소프트웨 코드를 위한 아랍어 텍스트 편집이 필요한 것이 아니라, 아랍어를 쓰고 읽는 사람들의 사고방식을 배우는 것이 필요하기 때문입니다. 





이런 모든 점을 감안할 때 아랍어로 잘 작동하는 PDF소프트웨어를 찾는다는 것이 드물다는건 절대 놀라운 일이 아닙니다우리의 앞으로의 주요 목표는 ABBYY PDF Transformer+가 Microsoft Word 처럼 잘 동작하게 하는 것입니다. 우리는 현재 버전에서 이미 아랍어 편집 기능에 대한 성공을 얻었습니다. 그리고 더 많은 것을 성취할 수 있다는 사실을 알고 있습니다. 


저는 ABBYY R&D 연구센터에서 일을 하면서 세상에서 가장 수학적으로 구조화된 언어를 배울 수 있었습니다. 이것은 정말 멋진일입니다!! 





ABBYY 개발자 인터뷰는 계속됩니다 

기대해주세요 ^^ 


- 레티아 드림 



    






What is ABBYY PDF Transformer+ ?


 시험판 다운로드 및 사용리뷰 보러가기 








블로그 이미지

OCR전문기업 레티아

OCR프로그램, PDF변환프로그램 리뷰를 포함하여 ABBYY의 OCR엔진, 모바일, 데이터캡처 솔루션, 서버형 솔루션, 명함인식 솔루션 등 다양한 정보를 제공합니다.

,