[API] PAPAGO Translation API

황지원·2023년 7월 10일

개발

목록 보기
3/6

1. PAPAGO는?

NAVER CLOUD PLATFORM

👏 Naver에서 지원하는 AI 번역기이며, 자체 기술로 만들어진 AI 기술을 통해서 사용자가 외국어를 읽고, 쓰고, 듣고, 말하는 여러 기능을 도와주는 번역 서비스 입니다.

→ PAPAGO는 API를 통해 해당 번역 서비스를 Developer가 사용할 수 있게 하고 있습니다.

2. 코드 구성

import json
import urllib

def papagoTrans(text:str, src:str, tgt:str) -> str:
		# API를 신청하여 얻은 ID, Secret값을 사용해 API를 사용합니다.
		client_id = ***
		client_secret = ***

    url = "https://openapi.naver.com/v1/papago/n2mt"  # API url
    encText = urllib.parse.quote(text, encoding="utf-8")

    # 데이터 요청
    data = f"source={src}&target={tgt}&text={encText}"
    request = urllib.request.Request(url)

    # PAPAGO API 계정 로그인
    ## papago API Client ID
    request.add_header("X-Naver-Client-Id", client_id )
    ## papago API Client Secret
    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()
        t_data = json.loads(response_body)
        return t_data['message']['result']['translatedText']
    else:
        print("n2mt Error Code:", rescode)
  • 변수 설명
    1. text : 번역을 원하는 원문
    2. src(source) : 번역전 원문의 언어 (ex) ko
    3. tgt(target) : 번역을 원하는 목표 언어 (ex) en
    4. client_id, client_secret : API를 사용하기 위한 KEY값

3. 실행결과

  • 다음과 같이 변수를 적용하면 원하는 번역 결과를 확인 할 수 있다.
    text = "심심한 사과의 말씀을 드립니다."
    source = "ko"    # 한국어
    target = "en"    # 영어
    
    translatedText = papagoTrans(text, source, target)
    print(translatedText)    # "I would like to express my deepest apologies."

4. 이후 계획

해당 라이브러리를 사용해 API 서버와 접목해 앱에서 요청시 번역결과를 반환해주는 REST API를 구축하고자 한다.
profile
함께 도전하고 성장하는 어린 꿀벌, 주니어 개발자 황지원 입니다

0개의 댓글