본문 바로가기

BLOG/오픈소스 리뷰기

[오픈소스 리뷰기] 번역 API 이용하기(2) - 네이버파파고, 카카오 번역

 

오프소스 리뷰 : 슬기로운 오픈소스 사용법 리뷰해드립니다!
#6 번역 API 이용하기(2) - 네이버파파고, 카카오 번역

 

안녕하세요. 디노랩스입니다!

어제 포스팅에 이어서 오늘도 번역 API 이용하기! 두번째 순서인데요.

오늘은 네이버의 파파고번역기, 카카오 번역기의 API를 사용하는법 리뷰해 드리겠습니다 ^_^

 

 

 

PAPAGO 

먼저 첫번째로, 네이버에서 개발한 Papago 번역 API 활용법을 알아보겠습니다.
아래 링크에서 오픈 API 사용신청 버튼을 클릭한 뒤 애플리케이션 이름, 사용 API, 비로그인 오픈 API 사용환경을 입력하여 등록을 완료해주세요!

https://developers.naver.com/products/papago/nmt/nmt.md

 

Neural Machine Translation - INTRO

Neural Machine Translation NAVER Developers - Papago 소개 NMT는 Neural Machine Translation(인공신경망 기반 기계번역)의 약어입니다. 파파고의 NMT 기술은 입력 문장을 문장벡터로 변환하는 신경망(encoder)과 문장벡

developers.naver.com

 

 

 

 

이후 내 애플리케이션에서 API 사용을 위한 아이디와 키값을 확인할 수 있습니다.

 

 

 

이제 Papago API를 활용하기 위한 모든 준비를 끝냈습니다.
아래 코드와 같이 Client ID, Client Secret 값을 입력한 뒤, 번역하고자 하는 텍스트와 source 언어 target 언어를 입력하여 번역 결과를 출력할 수 있습니다.

import os
import sys
import json
import urllib.request

url = 'https://openapi.naver.com/v1/papago/n2mt'
client_id = '개발자센터에서 발급받은 Client ID 값'
client_secret = '개발자센터에서 발급받은 Client Secret 값'

text = '안녕하세요. 저는 한국인입니다.'
# Papago API 를 사용할 때는 google 번역 API와 다르게 원본 언어와 타겟 언어를 반드시 지정을 해야합니다
source = 'ko'
target = 'en'

encText = urllib.parse.quote(text)
data = f'source={source}&target={target}&text=' + encText
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()
    decode = json.loads(response_body.decode('utf-8'))
    # print(decode)
    result = decode['message']['result']['translatedText']
    print(result)
else:
    print("Error Code:" + rescode)
Hello, I'm a Korean.

 

 

Papago에서 지원하는 언어와 해당 언어코드는 아래 링크에서 확인할 수 있습니다.

https://developers.naver.com/docs/papago/papago-nmt-api-reference.md

 

Papago 번역 API 레퍼런스 - Papago API

Papago 번역 API 레퍼런스 인공 신경망 기반 기계 번역 설명 인공 신경망 기반의 기계 번역(NMT, Neural Machine Translation) 결과를 반환합니다. 요청 URL https://openapi.naver.com/v1/papago/n2mt 프로토콜 HTTPS HTTP 메

developers.naver.com

 

 

 

 

 

KAKAO

 

마지막으로 카카오에서 개발한 번역 API 활용법을 알아보겠습니다.
아래 링크에서 시작하기 버튼을 클릭, 애플리케이션 추가하기 버튼을 클릭하여 앱 이름, 사업자명을 입력하여 생성을 완료합니다.

https://developers.kakao.com/product/translation

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

 

 

 

앱 생성을 완료하면 앱 설정에서 생성된 REST API 키값을 확인할 수 있습니다.
이후 아래 코드와 같이 키값과 text, source언어, target언어를 입력하여 API를 호출하면 번역된 결과값을 추출할 수 있습니다.

import requests
import json

url = "https://dapi.kakao.com/v2/translation/translate"
rest_api_key = '발급받은 REST API 키값'

text = '안녕하세요. 저는 한국인입니다.'
# Kakao 번역 API 역시 Papago API와 마찬가지로 원본 언어와 타겟 언어를 반드시 지정을 해야합니다
source = 'kr'
target = 'en'

params = {'query': text, 'src_lang': source, 'target_lang': target}
header = {'authorization': f'KakaoAK {rest_api_key}'}
response = requests.get(url=url, headers=header, params=params)

if response.status_code == 200:
    decode = response.json()
    result = decode['translated_text'][0][0]
    print(result)
else:
    print("Error Code:" + response.status_code)
Hello, I am Korean.

 

 

Kakao에서 지원하는 언어와 해당 언어코드는 아래 링크에서 확인할 수 있습니다.

https://developers.kakao.com/docs/latest/ko/translate/common

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

 

!pip install kakaotrans
Collecting kakaotrans
  Downloading kakaotrans-0.1.2-py3-none-any.whl (5.2 kB)
Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from kakaotrans) (2.23.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->kakaotrans) (2021.5.30)
Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->kakaotrans) (2.10)
Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->kakaotrans) (3.0.4)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->kakaotrans) (1.24.3)
Installing collected packages: kakaotrans
Successfully installed kakaotrans-0.1.2
from kakaotrans import Translator
translator = Translator()
print(translator.translate("Try your best rather than be the best."))
print(translator.translate("최고가 되기보다는 최선을 다하라.", src='kr', tgt='de'))
최고가 되기보다는 최선을 다해라.
Tun Sie Ihr Bestes, anstatt das Beste zu sein.

 

 

여기까지 무사히 마치신 것을 축하드립니다~!

이렇게 오늘 구글에 이어서 네이버파파고와 카카오, 두가지 번역 API를 이용해보았는데요. 이제는 번역도 API를 이용해 보다 쉽게 사용할 수 있으시겠죠? ㅎㅎ

 

이상 오늘의 오픈소스 사용법 알려드렸습니다 :D