본문 바로가기
카테고리 없음

챗봇 만들기 - 구글 번역을 이용한 번역 챗봇

by 정보장교 2018. 8. 10.
반응형

능: 구글 번역library를 이용한 번역 챗봇 

전체 챗봇 시스템 구조 

   https://go.gliffy.com/go/share/sgm9lx5kct0flqin3sms


채널:  kakaoTalk 플러스 

  - 카카오톡플러스 친구

    가입하기 설명 :  https://brunch.co.kr/@hillstar78/41

    카카오플러스 친구 :https://center-pf.kakao.com/

    kakao API 연동 방법 : https://github.com/plusfriend/auto_reply


  IDE : 구름 IDE (클라우드기반의 통합개발환경 제공)

   -가입 하기 https://ide.goorm.io/


 언어:  Python

  -프레임워크 - Flask

 - library : Google tranlation

     출처: https://pypi.org/project/googletrans/

            http://py-googletrans.readthedocs.io/en/latest/

- GIT: https://github.com/yooseonghwan/chatbot-seminar


채널 접근 : 카카오톡 플러스 친구 - "자연어_챗봇"

  -접속 URL: http://pf.kakao.com/_yySpC/chat




상세 소스:

기본 채팅 



기본 채팅 소스

from flask import Flask
from flask import jsonify
from flask import json

app = Flask(__name__)


@app.route("/keyboard")
def keyboard():
return jsonify(type="text")


@app.route("/message", methods=["POST"])
def message():
response = {
"message": {
"text": "Hello, World!"
}
}

response = json.dumps(response, ensure_ascii=False)
return response


if __name__ == "__main__":
app.run(host="0.0.0.0:80", port=80)




구글 번역

from flask import Flask
from flask import request
from flask import jsonify
from flask import json
from googletrans import Translator

import logging

app = Flask(__name__)


@app.route("/keyboard", methods=["GET"])
def keyboard():
return jsonify(type="text")


@app.route("/message", methods=["POST"])
def message():
data = json.loads(request.data)
content = data["content"]
translator = Translator()
#translated = translator.translate(content, dest="ko", src="en")
translated = translator.translate(content, dest="en", src="auto")
translated2 = translator.translate(content, dest="fr", src="auto")
translated3 = translator.translate(content, dest="ja", src="auto") 
translated4 = translator.translate(content, dest="ko", src="auto") 
translated5 = translator.translate(content, dest="zh-tw", src="auto")

translated6 = translator.translate(content, dest="it", src="auto") 
translated7 = translator.translate(content, dest="th", src="auto") 
translated8 = translator.translate(content, dest="hi", src="auto") 
translated9 = translator.translate(content, dest="ru", src="auto") 
translated10 = translator.translate(content, dest="es", src="auto")
translated10 = translator.translate(content, dest="vi", src="auto")

response = {
"message": {
"text":"[Korean]:"+translated4.text + 
"\n\n[English]:"+translated.text + 
"\n\n[French]:"+translated2.text +
"\n\n[Japanese]:"+translated3.text +
"\n\n[Chinese]:"+translated5.text +
"\n\n[Italian]:"+translated6.text +
"\n\n[Thai]:"+translated7.text +
"\n\n[Hidi]:"+translated8.text +
"\n\n[Rusia]:"+translated9.text +
"\n\n[Spanish]:"+translated10.text +
"\n\n[vietnamese]:"+translated10.text

}
}

response = json.dumps(response, ensure_ascii=False)
return response


if __name__ == "__main__":
app.run(host="0.0.0.0", port=80)


반응형