CNS Story/Coding Genius

손 글씨도 읽어주는 '감성 AI' 만들기

2020. 7. 17. 09:30

안녕하세요, 코지입니다.


 

지난 시간에는 MIT 연구실에서 만든 AI 프로그램인 Cognimate를 활용해 AI 챗봇을 만들어보았는데요. 이번 시간에는 중국에서 만든 mblock(이하 ‘엠블럭’)이라는 프로그램을 경험해보려고 합니다. 엠블럭은 머신러닝 기능과 더불어 여러 확장 기능들을 제공해서, 좀 더 흥미로운 AI 개발이 가능합니다. 심지어 사용자들이 직접 확장 기능을 추가할 수도 있습니다.


오늘은 엠블럭을 활용해 손글씨를 인식하는 AI를 만들어보겠습니다. 그전에 손글씨 인식과 관련된 실제 AI 사례를 알아볼까요?


● 일본의 고대 필기체를 인식하는 AI


l 일본의 필기체 ‘쿠주시지’ (출처: NVIDIA 블로그)


‘쿠주시지’는 일본의 필기체 글자를 말하는데요. 무려 천 년 동안 써온 문자인데, 1900년대 들어서 일본어가 표준화되고 현대적인 인쇄 기술이 출현함에 따라 점차 사용하지 않게 되었다고 합니다. 이제는 쿠주시지를 읽을 수 있는 사람도 일부 전문가를 비롯한 0.1% 인구에 불과한데요. 수백만 개의 역사적인 서적을 어떻게 해석해내야 할까요? 이 문제를 해결하기 위해 일본의 한 연구진이 쿠주시지를 인식하고 읽을 수 있는 AI, 일명 ‘쿠로넷’을 개발했다고 합니다.


쿠로넷은 17~19세기의 도서 목록 데이터를 학습한 결과로 문자를 판독할 수 있다고 하는데요. 2초에 한 페이지를 읽을 수 있고, 책 한 권을 해석하는 데 한 시간 정도 소요된다고 합니다. 아직 정확도는 85%이고 읽을 수 있는 책도 한정되어 있지만, 연구진은 계속해서 쿠로넷을 발전시켜 나갈 계획이라고 합니다. AI가 일본의 고대 서적의 새 생명을 불어넣는다고 해도 과언이 아니겠죠?


 

이제 우리도 쿠로넷처럼 손글씨를 판독해 주는 AI를 만들어보겠습니다. 사실 이전 편처럼 직접 데이터를 학습시킬 필요는 없는데요. 이미 엠블럭에 손글씨를 인식할 수 있는 AI 기능이 있기 때문입니다. 먼저 엠블럭에 접속해볼까요?


https://www.mblock.cc/en-us/



엠블럭은 블록과 파이썬 2가지로 개발할 수 있는데요. 우리는 익숙한 블록을 선택해보겠습니다. ‘블록이 있는 코드’를 선택합니다. 그러면 이렇게 블록코딩을 할 수 있는 창이 뜨는데요. 우리가 개발할 손글씨 인식 기능을 사용하기 위해서 ‘스프라이트’ 탭을 클릭한 후, 화면 아래쪽에 ‘확장’ 버튼을 클릭해 줍니다.



정말 다양한 확장 기능이 있죠? 그 중에 우리는 ‘인식 서비스’ 기능을 사용하겠습니다. ‘추가’ 버튼을 클릭해 주면 오른쪽 화면처럼 다양한 기능들이 추가된 것이 보입니다. 이제 블록코딩으로 필기 된 텍스트를 인식하는 기능을 구현해보겠습니다. 로직은 다음과 같습니다.


● When: 초록 깃발을 클릭했을 때

● How: 필기한 영어 텍스트 인식 블록을 인식해

● What: 문자 인식 결과를 말하기



초록색 깃발을 클릭하니 인식 창이 나오고, 2초 후 문자를 인식하여 말해주네요. 참 쉽죠?

이번에는 조금 더 업그레이드해볼까요? 배경과 캐릭터도 바꾸고 손글씨를 인식해서 음성으로 말해주는 프로그램을 만들어보겠습니다.



먼저 ‘스프라이트’ 탭에서 ‘추가’ 버튼을 클릭해서 캐릭터를 골라 주겠습니다. 마침 우리가 프로그래밍하는 것과 동일한 일을 하는 ‘프로그래머’가 눈에 띄네요. 프로그래머 캐릭터를 선택해 준 다음, 크기나 방향도 자유롭게 설정할 수 있습니다.



이제 배경 탭을 클릭해 프로그래머가 있을 법한 장소를 골라주겠습니다. 사무실 책상 앞이 가장 어울리겠죠?



그런 다음 또 다른 확장 기능을 추가하겠습니다. 바로 ‘Text to Speech’ 기능인데요. 문자를 음성으로 바꿔주는 기술을 의미합니다. 줄여서 ‘TTS’라고도 하죠. 우리는 이 TTS 기술을 이용해서 우리의 손글씨를 인식해 음성으로 말해주는 프로그래머를 만들어보겠습니다.


‘TTS’의 반대로 ‘STT’라는 기술도 있는데요. ‘Speech to Text’라고 해서 음성을 문자로 변환해 주는 기술이랍니다. 두 기술은 음성인식 AI 비서 등에 널리 쓰이고 있죠!



TTS 기능을 추가한 다음, 텍스트 인식 결과를 말하도록 코딩 해봤습니다. 어떤 목소리로 말할지도 선택할 수 있는데요. 결과적으로, 손글씨를 음성으로 잘 말하는 것을 확인할 수 있었답니다.



어떤가요? 엠블럭의 기능 정말 재밌죠? 손글씨 인식 기능을 다 구현하고 나서, 다른 재미있는 확장 기능들도 활용해봤는데 같이 확인해볼까요?


l 성별 감지하는 AI


l 감정 인식 AI


l AI 화상 면접 기능 구현


요즘 많은 기업이 도입한 AI 화상 면접 기능을 비슷하게 구현해봤습니다. 얼굴을 인식해 성별과 감정, 안경 유형, 미소 점수, 나이 등을 판별해내는 AI죠. 실제로 AI 화상 면접에서는 면접자의 표정과 눈빛만 봐도 면접자의 대답이 거짓인지 판별해낼 수 있다고 합니다. 여러분도 엠블럭에서 재미있는 확장 기능을 경험해보세요.


지금까지 ‘엠블럭’ AI 프로그램을 체험해봤습니다. 이전에 경험했던 구글의 티쳐블 머신, IBM의 머신러닝포키즈, MIT의 Cognimate에 비해 어떠셨나요? 제일 쉽고 재미있는 프로그램은 무엇이었나요?



다음 편은 대망의 마지막 화인데요. AI는 항상 옳은 방향으로 행동할까요? AI를 다루기 위해서 우리가 가져야 할 태도는 무엇일까요? 다음 시간까지 기대해 주세요.


글 l LG CNS 대외협력팀


* 해당 콘텐츠는 저작권법에 의해 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.

* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.





Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS

댓글을 달아 주세요

  1. 으니 2020.09.08 09:51  댓글주소  수정/삭제  댓글쓰기

    필기한 영어 텍스트 인식이 안보여요ㅜ

위로