레이블이 py-googletrans인 게시물을 표시합니다. 모든 게시물 표시
레이블이 py-googletrans인 게시물을 표시합니다. 모든 게시물 표시

2019년 1월 30일 수요일

python : naver translate VS google translate

파파고 번역 VS 구글 번역

1. 함수 생성

import os, urllib, requests, json
from googletrans import Translator

client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"

def call_naver_api_papago_nmt(con_str, _src, _dest):
 encText = urllib.pathname2url(con_str)
 data = "source=" + _src + "&target=" + _dest + "&text=" + encText
 url = "https://openapi.naver.com/v1/papago/n2mt"
 headers = {'X-Naver-Client-Id': client_id
            , 'X-Naver-Client-Secret' : client_secret
            , 'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8' 
           }
 r = requests.post(url, headers=headers, data=data.encode("utf-8"))

 if(r.status_code==200):
  trn_result= json.loads(str(r.text))
  print 'Papago Trans:' ,trn_result['message']['result']['translatedText']
 else:
     print "Error Code:" + r.status_code

def call_google_trans(con_str, _src, _dest):
 # translator = Translator()
 translator = Translator(service_urls=[
       'translate.google.com',
       'translate.google.co.kr',
     ])

 tr_results = translator.translate(con_str,dest=_dest, src=_src)
 print 'Google Trans:', tr_results.text

2. korean --> english

con_str_string = ["전문가들은 사물인터넷이 가전제품을 이끄는 기술이 될 것이라고 말한다.", "한국은 전자, 자동차, 그리고 IT 분야가 세계에서 가장 영향력 있다.", "그는 큰 전자 복합기업에서 근무하는 엔지니어이다."]
src = "ko"
dest = "en"

for con_str in con_str_string:
 print 'Org String:', con_str
 call_naver_api_papago_nmt(con_str, src, dest)
 call_google_trans(con_str, src, dest)
 print '----------------'

>> 결과
Org String: 전문가들은 사물인터넷이 가전제품을 이끄는 기술이 될 것이라고 말한다.
Papago Trans: Experts say that the Internet of Things will become a leading technology for home appliances.
Google Trans: Experts say that the Internet of things will be the technology that leads home appliances.
----------------
Org String: 한국은 전자, 자동차, 그리고 IT 분야가 세계에서 가장 영향력 있다.
Papago Trans: Korea has the most influence in the world in the fields of electronics, cars, and IT.
Google Trans: Korea is the most influential in the world in electronics, automobiles, and IT.
----------------
Org String: 그는 큰 전자 복합기업에서 근무하는 엔지니어이다.
Papago Trans: He is an engineer working for a large electronics complex.
Google Trans: He is an engineer working in a large electronics complex.
----------------

3. english --> korean

con_str_string = ["Experts say that the IoT will become a leading technology in consumer electronics.", "Korea is most competent in the fields of electronics, automobiles, and IT.", "He is an engineer with a large electronics conglomerate."]
src = "en"
dest = "ko"

for con_str in con_str_string:
 print 'Org String:', con_str
 call_naver_api_papago_nmt(con_str, src, dest)
 call_google_trans(con_str, src, dest)
 print '----------------'

>> 결과
Org String: Experts say that the IoT will become a leading technology in consumer electronics.
Papago Trans: 전문가들은 IoT가 가전 분야의 선도적 기술이 될 것으로 보고 있다.
Google Trans: 전문가들은 IoT가 소비자 전자 제품의 선도 기술이 될 것이라고 말한다.
----------------
Org String: Korea is most competent in the fields of electronics, automobiles, and IT.
Papago Trans: 한국은 전자 자동차 IT 분야에서 가장 유능하다.
Google Trans: 한국은 전자, 자동차 및 IT 분야에서 가장 유능한 기업입니다.
----------------
Org String: He is an engineer with a large electronics conglomerate.
Papago Trans: 그는 대기업의 기술자다
Google Trans: 그는 거대한 전자 제품 대기업을 보유한 엔지니어입니다.
----------------

4. link
네이버 번역 with python
구글 번역 with python

2019년 1월 27일 일요일

python : googletrans 사용해 자동 번역하기

구글번역 라이브러리(googletrans) 활용해 번역하기

0. 패키지 설치

pip install googletrans

1. 기본 사용방법

from googletrans import Translator
translator = Translator()

tr_results = translator.translate('안녕하세요.')
print 'Trans(EN):', tr_results.text, tr_results.src, tr_results.dest
결과
Trans(EN): Hi. ko en
아무것도 입력하지 않는 경우 source = auto, destination = english 가 기본 셋팅 1.1 다른 언어로 번역
tr_results = translator.translate('안녕하세요.', src='ko', dest='ja')
print 'Trans(JA):', tr_results.text, tr_results.pronunciation
결과
Trans(JA): こんにちは。 Kon'nichiwa.
1.2 번역 가능한 언어 확인

import googletrans
print(googletrans.LANGUAGES)
{'gu': 'gujarati', 'gd': 'scots gaelic', 'ga': 'irish', 'gl': 'galician', 'lb': 'luxembourgish', 'la': 'latin', 'lo': 'lao', 'tr': 'turkish', 'lv': 'latvian', 'lt': 'lithuanian', 'th': 'thai', 'tg': 'tajik', 'te': 'telugu', 'fil': 'Filipino', 'haw': 'hawaiian', 'yi': 'yiddish', 'ceb': 'cebuano', 'yo': 'yoruba', 'de': 'german', 'da': 'danish', 'el': 'greek', 'eo': 'esperanto', 'en': 'english', 'eu': 'basque', 'et': 'estonian', 'es': 'spanish', 'ru': 'russian', 'zh-cn': 'chinese (simplified)', 'ro': 'romanian', 'be': 'belarusian', 'bg': 'bulgarian', 'uk': 'ukrainian', 'bn': 'bengali', 'jw': 'javanese', 'bs': 'bosnian', 'ja': 'japanese', 'xh': 'xhosa', 'co': 'corsican', 'ca': 'catalan', 'cy': 'welsh', 'cs': 'czech', 'ps': 'pashto', 'pt': 'portuguese', 'zh-tw': 'chinese (traditional)', 'tl': 'filipino', 'pa': 'punjabi', 'vi': 'vietnamese', 'pl': 'polish', 'hy': 'armenian', 'hr': 'croatian', 'ht': 'haitian creole', 'hu': 'hungarian', 'hmn': 'hmong', 'hi': 'hindi', 'ha': 'hausa', 'he': 'Hebrew', 'mg': 'malagasy', 'uz': 'uzbek', 'ml': 'malayalam', 'mn': 'mongolian', 'mi': 'maori', 'mk': 'macedonian', 'ur': 'urdu', 'mt': 'maltese', 'ms': 'malay', 'mr': 'marathi', 'ta': 'tamil', 'my': 'myanmar (burmese)', 'af': 'afrikaans', 'sw': 'swahili', 'is': 'icelandic', 'am': 'amharic', 'it': 'italian', 'iw': 'hebrew', 'sv': 'swedish', 'ar': 'arabic', 'su': 'sundanese', 'zu': 'zulu', 'az': 'azerbaijani', 'id': 'indonesian', 'ig': 'igbo', 'nl': 'dutch', 'no': 'norwegian', 'ne': 'nepali', 'ny': 'chichewa', 'fr': 'french', 'ku': 'kurdish (kurmanji)', 'fy': 'frisian', 'fa': 'persian', 'fi': 'finnish', 'ka': 'georgian', 'kk': 'kazakh', 'sr': 'serbian', 'sq': 'albanian', 'ko': 'korean', 'kn': 'kannada', 'km': 'khmer', 'st': 'sesotho', 'sk': 'slovak', 'si': 'sinhala', 'so': 'somali', 'sn': 'shona', 'sm': 'samoan', 'sl': 'slovenian', 'ky': 'kyrgyz', 'sd': 'sindhi'}
총 106개의 언어 확인 1.3 service URL 변경
translator = Translator(service_urls=[
      'translate.google.com',
      'translate.google.co.kr',
    ])

2. list로 된 여러 문장 번역하기

translations = translator.translate(['The quick brown fox', 'jumps over', 'the lazy dog'], dest='ko')
for translation in translations:
 print translation.origin, ' -> ', translation.text 
결과
The quick brown fox  ->  빠른 갈색 여우
jumps over  ->  점프하다
the lazy dog  ->  게으른 개

3. 언어 탐색

print translator.detect('이 문장은 한글로 쓰여졌습니다.')
print translator.detect('この文章は日本語で書かれました。')
print translator.detect('This sentence is written in English.')
print translator.detect('Tiu frazo estas skribita en Esperanto.')
print translator.detect('Esta frase está escrita en coreano.')

결과
Detected(lang=ko, confidence=1)
Detected(lang=ja, confidence=1)
Detected(lang=en, confidence=1)
Detected(lang=eo, confidence=1)
Detected(lang=es, confidence=0.85902715)
감지된 언어와 신뢰도가 표시됨

4.ref

https://github.com/ssut/py-googletrans

추천 게시물

python: SVD(Singular Value Decomposition)로 간단한 추천시스템 만들기( feat. surprise )

svd_example In [15]: # !pip install surprise In [21]: from...