본문 바로가기

IT&Dev/BACK-END

Hwplib와 꼬꼬마 한글 형태소 분석기를 활용한 문서 분석기 제작

먼저 라이브러리를 만들어주신 hwplib 개발자와 꼬꼬마 한글 형태소 분석 전문가 분들께 감사의 말씀을 드린다.

 

사내 프로젝트를 진행하다가 많은 산출물을 보거나 만들다 보니 문서 내 데이터를 추출할 수 있는 방법이 없을까 찾아보게 되었다. MS OFFICE에서 제공하는 word, excel, powerpoint 문서를 추출하는 라이브러리는 종종 사용한 적이 있지만 한글문서에 대해서는 라이브러리가 많이 있을까 궁금해서 구글에 검색을 해보았다. 다행히도 어떤 개발자분께서 오랫동안 공들여 작업하신 라이브러리가 존재하여 쉽고 간편하게 이용할 수 있었다. 개발자 분의 이야기에 따르면 한글문서 파일 구조 역시 MS word의 구조와 동일하고, 한글과 컴퓨터에서 파일 형식에 대한 개발자 가이드를 제공하여 참고하여 개발하였다고 한다. 

 

한글 형태소 분석 라이브러리에서 본인이 사용하고자 한 기능은 텍스트 내 단어 사용 빈도였다. 이 라이브러리는 텍스트를 분석하여 품사를 분석하여 태그를 매기게 되는데 그 중 품사가 명사인 단어들을 추출하고자 하였다.

꼬꼬마 한글 형태소 분석에 대한 자세한 내용은 링크를 참고 바란다.

 

먼저 한글 문서를 준비하여 업로드하는 기능을 구현하였다. 

한글문서 준비(테넷.hwp) - 출처: 위키피디아 "영화 테넷" 검색 결과

한글문서는 A4기준 두 장 정도 분량으로 준비했다. 

 

파일을 업로드

작성한 한글 문서 파일을 업로드한다.

 

업로드 파일에서 텍스트 추출하기

먼저 hwplib을 사용하여 한글문서의 텍스트를 추출하였다. 

 

꼬꼬마 형태소 분석기를 통해 단어 추출

다음으로 꼬꼬마 형태소 분석기를 통해 추출한 텍스트에서 단어(명사)를 추출하여 단어 별 사용 수를 카운트하였다. 

 

추출한 텍스트 결과

상단에 추출한 텍스트 결과를 볼 수 있다.

 

분석 결과 - 단어 사용 빈도수 정렬

하단에는 텍스트 내에 단어 사용 빈도수를 정렬한 결과를 볼 수 있다.

 

단어 선택 시 텍스트 내 사용된 곳을 하이라이트로 표시

분석 결과에서 확인하고자 하는 단어를 클릭하면 문서 내 해당 단어가 사용된 곳을 하이라이트로 표시해준다.

 

 

 

 

사실 라이브러리가 쉽고 간편하게 사용할 수 있도록 제공되어 개발하는데 오랜 시간이 걸리지 않았다. 아직까지는 문서 내 단어 빈도수만 볼 수 있기 때문에 흥미 유발 이외의 다른 목적으로 활용하기에는 아직 부족하고, 전적으로 라이브러리에 의존하기 때문에 기능에 대한 개선도 한계가 존재한다. 다만 장점이라고 하면 브라우저에서 페이지 내 검색처럼 원하는 단어를 쉽게 찾을 수 있고, 그 단어가 얼마나 사용되었는지 한눈에 알 수 있다는 정도가 되겠다.