IT 꿀 정보/생산성 꿀 정보

네이버 번역기, 파파고 API 사용법 (Feat. 파이썬, Python)

애드센서_ 2023. 2. 7. 16:29

외국인들은 구글 번역기를 많이 이용하지만, 우리나라에서는 네이버 파파고 번역기를 많이 이용하고 있는 것 같습니다. 저도 구글 번역기와 네이버 파파고를 비교해 보면서 쓰고 있지만, 한국어를 기준으로 구글 번역기보단 네이버 파파고의 번역 퀄리티가 더 높다고 느끼고 있습니다. 네이버에서 제공하는 파파고 번역 서비스는 문맥을 이해하는 번역 기술이 점점 좋아지고 있고, 우리는 파파고를 통해 자연스러운 결과를 얻을 수 있습니다. 오늘은 이러한 좋은 서비스의 API를 사용하는 방법에 대해 소개하고자 합니다.

 

 

01. 네이버 파파고란?

 

파파고(Papago)는 네이버에서 무료로 제공하고 있는 기계 번역(Machine translator) 서비스입니다. 파파고란 이름은 에스페란토에서 앵무새를 뜻하는 단어에서 가져왔다고 합니다. Naver Labs에서 자체 개발한 인공신경망(Artificial Neural Network) 기반 번역 서비스로 한국어, 영어, 일본어, 중국어, 프랑스어, 베트남어, 태국어, 인도네시아어, 러시아어, 독일어, 이탈리아어를 지원하고 있습니다.

 

파파고는 현재 PC용 웹사이트 버전, 안드로이드 버전, IOS 버전으로 이용할 수 있습니다.

 

파파고가 제공하는 API는 다음과 같습니다.

  • Papago 번역: 파파고의 인공 신경망 기반 기계 번역 기술(NMT, Neural Machine Translation)로 텍스트를 번역한 결과를 변환하는 RESTful API입니다.
  • 언어 감지: 입력된 텍스트의 언어를 감지해 주는 RESTful API입니다.
  • 한글 인명-로마자 변환: 한글로 된 이름을 로마자 표기로 변환한 결과를 변환하는 RESTful API입니다.

 

 

02. 키 발급 방법

 

 

NAVER Developers

네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음

developers.naver.com

 

 

위의 박스를 클릭하여 NAVER Developers 사이트에 접속합니다.

 

네이버-디벨롭스-상단-메뉴-화면

 

사이트에 접속 후, 상단 메뉴 중 1) Application > 2) 애플리케이션 등록 버튼을 클릭합니다.

 

파파고-API-애플리케이션-등록

 

3) 애플리케이션 이름 설정 - 본인이 구분 가능한 이름을 기재해 주시면 됩니다.

4) 사용  API를 선택합니다. 파파고 번역만 선택하셔도 되고, 저처럼 파파고 번역, 파파고 언어감지, 한글인명-로마자변환을 선택하셔도 됩니다.

5) 비로그인 오픈 API 서비스 환경은 해당사항 없으므로 네이버를 적었습니다.

6) 등록하기 버튼을 클릭합니다.

 

파파고-API-클라이언트-시크릿-값

 

그럼 Client ID값과 Client Secret값을 확인할 수 있는데, 따로 저장해 둡니다.

 

 

03. 파파고 번역 API 연동 코드 제작

 

네이버-디벨롭스-상단-메뉴

 

파파고 API 연동을 위한 코드를 알아보기 위해서 1) Documents > 2) Papago 번역 버튼을 클릭합니다.

 

파파고-번역-API-예제

 

3) 구현예제 버튼 클릭 > 4) 본인이 원하는 언어를 선택합니다. 저는 Python을 선택하겠습니다.

 

파이썬-예제

 

위의 코드를 복사할 수 있게 아래에 남겨놓겠습니다.

 

import os
import sys
import urllib.request
client_id = "YOUR_CLIENT_ID" # 개발자센터에서 발급받은 Client ID 값
client_secret = "YOUR_CLIENT_SECRET" # 개발자센터에서 발급받은 Client Secret 값
encText = urllib.parse.quote("반갑습니다")
data = "source=ko&target=en&text=" + encText
url = "https://openapi.naver.com/v1/papago/n2mt"
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request, data=data.encode("utf-8"))
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)

 

위의 코드에서

1) Client_id 값과, 2) Client_secret 값을 위에서 따로 저장한 값들로 대체하여 삽입합니다.

 

위의 코드를 실행한 결과 아래와 같이 결과값이 출력되는 것을 확인할 수 있습니다. "반갑습니다"라는 입력값을 result:값에서 "Nice to meet you"로 번역된 것을 확인할 수 있습니다.

 

{"message":{"result":{"srcLangType":"ko","tarLangType":"en","translatedText":"Nice to meet you.","engineType":"PRETRANS","pivot":null,"dict":null,"tarDict":null},"@type":"response","@service":"naverservice.nmt.proxy","@version":"1.0.0"}}

 

 

04. 언어 감지 예제

 

파파고-언어감지-예제

 

언어 감지를 진행하고 싶으시다면, 1) 언어 감지 > 2) 구현 예제 > 3) client_id, client_secret, encQuery값을 각각 입력해 줍니다. 저는 언어감지 값을 "Ti amo"라고 입력해 보겠습니다. Ti amo는 이탈리아어로 사랑해라는 뜻인데 이 단어를 이탈리아어로 감지하는지 알아보겠습니다. 코드 값은 아래와 같습니다.

 

# 네이버 Papago 언어감지 API 예제
import os
import sys
import urllib.request
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
encQuery = urllib.parse.quote("Ti amo")
data = "query=" + encQuery
url = "https://openapi.naver.com/v1/papago/detectLangs"
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id",client_id)
request.add_header("X-Naver-Client-Secret",client_secret)
response = urllib.request.urlopen(request, data=data.encode("utf-8"))
rescode = response.getcode()
if(rescode==200):
    response_body = response.read()
    print(response_body.decode('utf-8'))
else:
    print("Error Code:" + rescode)

 

출력된 결과 값은 아래와 같습니다.

 

{"langCode":"it"}

 

위의 결과값에서 알듯이 이탈리아를 나타내는 'it'라는 것을 확인할 수 있습니다.

 

중국어나 일본어 등 영어가 아닌 다른 언어를 한국어로 번역하는 경우, 오역이 되는 경우가 많이 있습니다. 따라서 오역이 되는 경우 영어로 변환 후 다시 한국어로 변환하면 올바른 변역이 되는 경우가 많으니 참고 바랍니다.  

 

 

깃허브(GitHub) 회원 가입 방법(계정 생성!)

이전에 티스토리 자동화를 위해 티스토리 API 등록과 관련하여 포스팅을 했었습니다. 티스토리 자동화를 위해 또 하나 준비해야 할 것은 깃허브(GitHub)라는 곳에 회원가입을 해야 합니다. 티스토

adsensery.tistory.com

 

티스토리 API 사용 등록 방법 - 자동화를 위한 준비!!

티스토리에 글을 작성하기 우해서는 에디터에 들어가서 작성하는 것이 일반적입니다. 하지만 티스토리에서 제공하는 API를 이용한다면 에디터를 통하지 않고 글을 작성할 수 있습니다. 오늘은 A

adsensery.tistory.com

해당 글은 지속적으로 수정·보완될 예정입니다.
잘못된 정보가 있다면 댓글로 피드백 부탁드립니다.
반응형