본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

"HWP 수식을 LaTeX으로"…오픈소스 변환기 등장

OSS 게시글 작성 시각 2017-01-09 07:34:04 게시글 조회수 6064

2016년 12월 29일 (목)

ⓒ 지디넷코리아, 임민철 기자


에듀테크 스타트업 '바풀', 한글문서 수식 자동변환 기술 개발


종이 시험지에 갇힌 수학문제 자료를 다른 정보처리 시스템에서 재사용할 수 있는 길이 열렸다. 한글과컴퓨터 한글(HWP) 문서에 담긴 수식(equation)을 컴퓨터용 학술논문 작성언어 '라텍(LaTeX)' 형식으로 만들어주는 변환기 소프트웨어(SW)가 오픈소스로 공개된 덕분이다.


모바일 문제풀이, 공부방 서비스를 운영하는 스타트업 바풀(Bapul)이 지난 20일 깃허브(GitHub)에 'HML 수식 변환기(hml equation parser)' 소스코드를 공개했다. 변환기는 HWP 파일에 담긴 수식 부분 표현(string)을 추출해 라텍 형식으로 바꿔 준다.


에듀테크 스타트업 바풀이 HWP 문서에 담긴 수식을 라텍(LaTeX) 형식으로 바꿔주는 변환기를 만들어 오픈소스로 공개했다.

에듀테크 스타트업 바풀이 HWP 문서에 담긴 수식을 라텍(LaTeX) 형식으로 바꿔주는 변환기를 만들어 오픈소스로 공개했다.


바풀이 만든 HML 수식 변환기를 활용하면 수학문제에서 숫자, 수학기호, 사분면 그래프 등으로 표현된 수식을 그림이 아니라 라텍 언어용 텍스트로 저장, 데이터화할 수 있다. 바풀 SW개발자 오형석 씨가 이를 개발하는 데 꼬박 1주일정도 걸렸다고 회사측은 밝혔다.


[☞참조링크: Introduction to LaTeX]

[☞참조링크: GitHub - OpenBapul/hml-equation-parser]


■"수학문제, 이미지 아닌 '데이터'로 다루려고"


바풀은 서비스 제공 방식을 개선하기 위해 변환기를 개발했다. 기존 수학문제 콘텐츠가 주로 HWP 문서나 캡처 이미지 파일로 저장되다보니 모바일 기기 환경에 맞게 옮겨 활용하기 어려운 부분이 있었다. HWP 문서 내 수식을 라텍 형식으로 바꾸면 범용성을 높일 수 있다고 봤다.


라텍은 공학, 과학 논문 작성과 데이터 가공 목적으로 발전해 온 언어로 '매스ML(MathML)'과 함께 컴퓨터용 수식 표현에 널리 쓰인다. 파일 내용을 다른 컴퓨터 시스템에 재사용, 가공할 수 있는 수단이 HWP 문서보다 다양하다.


바풀이 깃허브 프로젝트로 공개한 오픈소스 HML 수식 변환기 설명.

바풀이 깃허브 프로젝트로 공개한 오픈소스 HML 수식 변환기 설명.


김영재 바풀 최고기술책임자(CTO)는 "99% 학원에서 HWP 문서로 시험문제 콘텐츠를 만드는데, 그간 수학문제 콘텐츠를 2차 활용할 때 주로 '이미지 캡처' 방식을 써 데이터화가 안 된(검색·재사용에 불리한) 상황"이었다며 "이를 해결하려고 (변환기를) 만들게 됐다"고 설명했다.


라텍으로 표현된 수식은 일반적인 문자 정보처럼 컴퓨터 시스템에서 검색될 수 있다. 또 출처가 제각각인 수학 문제 데이터의 문자나 기호 등 서식을 사용자 기기 화면에서 일관되게 표현할 수 있다. 바풀 측은 이미 회사가 제공하는 서비스에 수식 변환기를 활용 중이다.


바풀은 서비스에 수식 변환기 기술을 어떻게 활용할까. 학생이 공부하다 모르는 문제를 접하면 스마트폰으로 그걸 찍어 온라인에 질문을 올리고 답변을 받을 수 있는 '바로풀기' 서비스가 있다. 여기에 문제를 올리면 문제DB에서 이미 달린 답변을 찾아 풀이와 함께 보여 준다.


답변이 달린 문제DB에 일치하는 질문이 없으면, 서비스는 비슷한 유형의 문제와 답을 대신 가져와 보여주는 방식으로 풀이를 돕는다. 동일한 유형에 주어진 값만 다른 수학 문제를 풀 때 도움이 되는 동작이다. 수식을 이미지가 아닌 데이터로 다루면 그 정확성을 높일 수 있다.


■HWP 문서 수식 처리하는 최초 오픈소스SW


바풀의 HML 수식 변환기는 HWP 문서에 들어간 수식을 재사용할 수 있게 만들어진 첫 오픈소스SW라는 점에서 눈길을 끈다. 이전에도 HWP 문서의 텍스트 정보를 추출하거나 다른 파일 형식으로 바꿀 수 있는 오픈소스SW가 있었지만 수식을 처리할 수 있는 기능은 없었다.


김 CTO는 "eqn이라는 조판용 수식 정보를 (라텍에 쓸 수 있게) 바꿔 주는 'eqn2tex'가 있는데 eqn 체계가 HWP 문서 수식과는 달랐고, HWP 문서의 텍스트를 추출 또는 변환해 주는 'pyhwp'같은 오픈소스 프로젝트는 HWP 수식 처리 부분이 구현되지 않았다"고 설명했다.


pyhwp는 파이썬 개발자들이 HWP 문서 텍스트를 다룰 수 있게 해주는 SW다. 이외에 오픈소스 오피스SW인 '리브레오피스'에서 HWP 문서를 열어볼 수 있게 해주는 '달콤(Dalkom)'이란 확장기능도 오픈소스SW로 개발되고 있다.


[☞참조링크: GitHub - mete0r/pyhwp: .hwp file format v5 parser in python]

[☞관련기사: 리눅스PC로 HWP 문서 읽고 쓰기 쉬워지나]


위 두 오픈소스 프로젝트 소개 내용에는 한글과컴퓨터 측이 공개한 HWP 형식 자료를 참조했다는 언급이 있다. 바풀의 HML 수식 변환기는 어떨까? 바풀 측은 한글과컴퓨터의 HWP 형식 자료가 있다는 건 알았지만 내용은 개발에 참고할 게 없었다는 입장이다.


프로젝트 메인컨트리뷰터 오형석 씨는 "한글(워드)에서 수식 키를 하나 입력한 입력한 샘플 문서를 일일이 만들고 이 문서가 온전히 변환되는가를 기준으로 (변환기를) 개발했다"며 "한컴이 제공한 HWP 형식 자료가 있거나 없거나, 변환기를 만들기 위해 했어야 하는 일이 달라지지 않았을 것"이라 언급했다.


바풀 측의 희망사항은 향후 HML 수식 변환기가 다른 규격의 결과물도 만들 수 있게 발전하는 것. 예를 들면 라텍과 함께 널리 사용되는 매스ML 형식을 지원하는 것이다. 이를 위해선 HWP 수식 파싱 과정에 생성되는 중간 결과물을 표준화해야 한다. 다만 개발 일정은 미정이다.




※ 본 내용은 (주)메가뉴스(http://www.zdnet.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒ 지디넷코리아. 무단전재 및 재배포 금지


[원문출처 : http://www.zdnet.co.kr/news/news_view.asp?artice_id=20161229092520]

맨 위로
맨 위로