네이버 국어사전/영어사전 검색 도구 개요

네이버 국어사전/영어사전 검색 도구 개요 에 대해 설명한다.

1. 네이버 국어사전/영어사전 검색 도구 개요

1.1. 필요성

네이버 국어사전과 영어사전을 검색하고 그 검색결과를 수작업으로 엑셀에 복사&붙여넣기를 반복해 본일이 있는가?

검색할 단어(또는 용어)가 몇 개 되지 않는다면 수작업으로 하면 된다. 하지만 그 개수가 수백개, 수천개 또는 그 이상이라면 수작업은 너무 비생산적이다.

데이터 표준을 도입하는 기업의 규모에 따라 다르겠으나, 표준단어는 수천개 이상, 표준용어는 수만개 이상인 경우가 많다. 이 정도 규모에서는 수작업보다 자동화 도구가 꼭 필요하다.

데이터 표준화 작업 과정중 표준단어, 표준용어의 설명(정의)를 작성할 때 이 도구가 크게 도움이 될 수 있다. 

네이버 국어사전, 영어사전 검색 도구 화면
네이버 국어사전, 영어사전 검색 도구 화면

1.2. 주의사항

네이버에서 국어사전, 영어사전 검색을 위한 API를 제공하지 않는다. 백과사전 검색 API는 제공한다. (아래 URL 참조)

https://developers.naver.com/docs/serviceapi/search/encyclopedia/encyclopedia.md#백과사전

이 도구는 네이버에서 공식적으로 제공하는 방법이 아닌 다른 방법으로 검색결과를 가져오기 때문에, 어느 날 갑자기 동작하지 않을 수 있다. (이 글을 작성하는 2021-06-23 현재는 문제없이 동작한다.)

사용조건에 대해서는 “#History#” 시트에 명시된 라이선스 내용을 참조하기 바란다.

1.3. 다운로드

아래 github에서 “네이버 국어사전,영어사전 검색 도구_v1.00_20210620.xlsm” 파일을 선택하여 다운 받거나,

https://github.com/DAToolset/ToolsForDataStandard

또는 이 URL로 바로 다운로드할 수 있다.

https://github.com/DAToolset/ToolsForDataStandard/raw/main/네이버 국어사전,영어사전 검색 도구_v1.00_20210620.xlsm

* 2022-07-08 내용 추가

benif님이 댓글로 제보한 오류를 패치한 내용을 새로운 글로 작성하였다.

위 버전(v1.00)은 더이상 동작하지 않으니 아래 글에서 다운로드 받으면 된다.

네이버 국어사전/영어사전 검색 도구_v1.01_20220708


2. 네이버 국어사전/영어사전 검색 도구 기능과 옵션

네이버 국어사전, 영어사전 검색 도구 기능과 옵션
네이버 국어사전, 영어사전 검색 도구 기능과 옵션

2.1. 기능

  • 네이버 사전 검색: 검색대상 목록에 대하여 설정에 따라 사전을 검색하고 결과를 엑셀에 출력한다.
  • 검색 중지: 검색 중 실행을 중지한다.
  • Clear: 검색결과 영역에 출력된 내용을 삭제한다.

2.2. 옵션

  • 검색 대상 설정
    • 국어사전, 영어사전: 선택한 사전을 검색한다.
    • 결과값 있으면 Skip: 검색결과 영역에 이미 내용이 있으면 해당 단어는 검색하지 않고 다음 단어로 넘어간다.
  • 검색 결과 표시 설정 (예시는 검색어 “주택자금”에 대한 결과)
    • 정확히 일치: 검색어와 정확히 일치하는 결과 표시(matchType -> exact:entry)
      (예: 주택자금)
    • 구성단어: 검색어의 구성 단어에 대한 검색 결과 표시(matchType -> term:or)
      (예: 주택, 자금)
    • 포함단어/용어: 검색어가 포함된 단어/용어에 대해 검색 결과 표시(matchType -> allterm:proximity)
      (예: 국민주택자금, 최초주택구입자금대출 등)
    • 결과출력 제한개수: 검색어에 대한 검색결과를 출력할 개수. 검색 결과가 너무 많을 때 개수에 제한을 둘 수 있음.
      • 0: 제한 없음 (모든 검색결과 출력)
      • n: n개 검색결과 출력

도움말 버튼을 클릭하면 아래와 같이 설정에 대한 간단한 도움말을 확인할 수 있다.

네이버 국어사전, 영어사전 검색 결과 표시 설정 도움말
네이버 국어사전, 영어사전 검색 결과 표시 설정 도움말

3. 네이버 국어사전/영어사전 검색 도구 사용 방법

3.1. 기본 사용 방법

다음 순서로 사용한다.

  1. A열(검색 대상)에 검색어 목록을 채운다.
  2. 옵션에서 검색 대상(국어사전, 영어사전)을 선택한다.
  3. 옵션에서 검색 결과를 표시할 설정을 선택한다.
  4. “네이버 사전 검색” 버튼을 클릭하고 기다린다.

검색어 수가 많아서 오래 걸린다면 다음과 같이 병렬로 처리한다.

  1. 전체 검색어를 적절한 갯수로 나누어 파일을 별도로 저장한다.
    (예: 전체 검색어가 10,000개일 때 1,000개씩 나누어 파일을 _1, _2, …, _10 등으로 저장)
  2. 파일 개수만큼 또는 적절한 수만큼 엑셀을 별도 프로세스로 실행한다. (방법은 아래 참조)
  3. 1에서 나누어 둔 엑셀 파일을 각 엑셀 process에서 열고 “네이버 사전 검색” 버튼을 차례로 클릭한다.
  4. 실행이 완료될 때까지 기다린다.

엑셀 VBA 코드내에서는 multi thread를 사용할 수 없다. 동시에 처리하려면 multi process를 사용해야 하고 이런 이유로 엑셀을 별도 프로세스로 실행해서 처리한다. 다음 순서를 참고한다.

3.2. 여러개 엑셀 process 실행 방법

  1. 엑셀이 실행되어 있지 않다면 먼저 첫 번째 엑셀 process를 실행한다.
  2. 작업 표시줄에 엑셀 아이콘을 마우스 우측 버튼으로 클릭하고, 팝업 메뉴에서 Alt 키를 누른채로(중요) “Excel” 항목을 마우스 왼쪽 버튼으로 클릭한다. (Alt + 마우스 왼쪽 버튼 클릭)
    엑셀 별도 프로세스 실행하기
    엑셀 별도 프로세스 실행하기

    아래 대화상자가 보일 때까지 Alt 키를 누르고 있어야 한다.

  3. “새 Excel 인스턴스를 시작하시겠습니까?” 대화상자에서 “예(Y)” 버튼을 클릭하여 새로운 엑셀 process 실행
    새 Excel 인스턴스 시작
    새 Excel 인스턴스 시작
  4. 여러개의 엑셀 process가 실행되었는지 확인하려면, 작업 관리자에서 “EXCEL.EXE” process가 여러개인지 확인한다

참고로, 사전 검색이 잘 동작하는지 몇 개 검색어만 테스트 해보려면, ▶1) 검색 실행 후 “검색 중지” 버튼을 클릭하는 방법, ▶2) 적정한 검색어 수(5개 내외)아래 빈행을 추가해 두고 검색 실행하는 방법, 이렇게 두가지 방법이 가능하다. 편한 방법을 선택하여 사용하기 바란다.

4. 기타: 참조 소스 코드

VBA JSON parser: https://github.com/VBA-tools/VBA-JSON

네이버 사전 검색결과 JSON 데이터에서 필요한 부분을 추출하는데 parser가 필요하다. 위 URL에 공개된 소스코드를 변경하지 않고 그대로 사용하였다.

참고로, 아래는 저작자 github에 링크된 Tutorial 영상이다.

Tutorial: How to parse JSON with VBA-JSON – https://www.youtube.com/watch?v=CFFLRmHsEAs

Tutorial: How to parse JSON with VBA-JSON

5. 동작 방식과 소스코드 설명

별도의 글로 포스팅하였다. 아래 글을 참조하기 바란다.

네이버 국어사전/영어사전 검색 도구 동작 방식과 소스코드


여기까지 네이버 국어사전, 영어사전 검색 도구의 사용 방법을 알아보았다. 다음에는 동작원리와 소스코드에 대해 살펴본다.


<< 관련 글 목록 >>

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

ko_KR한국어