이전에 올렸던 [Python]챗봇연동코드-친구 추천하기 에서 수정을 했다. 챗봇 팀 프로젝트를 하면서 팀원들의 코드를 다 합치는데 코드가 1000줄이 넘어가게 길어졌다. 이를 해결하기 위해1. 개인 코드를 줄이기2. Blueprint를 이용해 라우팅 함수를 관리하기( @app.route와 같은 애너테이션으로 URL을 매핑하는 함수를 라우팅 함수라고 한다.) 플라스크의 블루프린트를 이용하면 라우팅 함수를 체계적으로 관리할 수 있다. 플라스크에서는 URL과 함수의 매핑을 관리하기 위해 사용하는 도구(클래스)이다. 블루프린트 생성# flask에 있는 request와 Bluepoint 호출from flask import Flask, request, jsonify, Blueprintimport pymysqli..
Python
성별 나이로 친구 추천을 해주는 코드from flask import Flask, requestimport randomimport MySQLdbgender = Noneage_group = Noneapplication = Flask(__name__)conn = MySQLdb.connect(host="localhost", port=3306, db='friendly', user='root', password='12345')# 성별 선택@application.route('/start02', methods=['POST'])def select_gender(): response = { "version": "2.0", "template": { "outputs": [ ..
1. Python의 주요 라이브러리(패키지)numpy : 데이터분석의 기본적인 기능을 제공, 특히 벡터와 행렬연산과 관련된 기능을 제공pandas: 1차원자료구조(Series)와 2차원자료구조(DataFrame)를 이용해서 대용량의 데이터를 보다 빠르게 처리할 수 있도록 한다.matplotlib : 데이터분석결과에 대한 시각화를 직관적으로 수행한다.2. 참고사이트numpy : https://numpy.orgpandas : https://pandas.pydata.orgmatplotlib : https://matplotlib.org3. magic 명령어%hist : 실행명령들의 이력을 조회%matplotlib : 그래프출력을 완성된 상태로 출력 or interactive하게 출력할 것인지 여부를 설정%mat..
1. STT(Speech To Text)pip instalSpeechRecognitiononpip install pyaudio2. TTS(Text to Speech)pip install gttspip install playsun2d==1..2.!pip install SpeechRecognition!pip show SpeechRecognition!pip install pyaudio!pip show pyaudio!pip install gtts!pip show gtts!pip install playsound==1.2.2!pip show playsound!mkdir .\stt_tts%%writefile .\stt_tts\stt_test.pyimport speech_recognition as srfrom play..
8.카카오톡 챗봇 만들기8.1 카카오 아이 오픈빌더 소개8.1.1 카카오톡 채널가입https://business.kakao.com/info/kakaotalkchannel/카카오톡 채널 시작하기 클릭가입 및 2단계 인증8.2 카카오톡 챗봇 연동오픈빌더의 개념 : https://i.kakao.com/docs/key-concepts-block8.2.1 시나리오와 블럭오픈빌더에서는 사용자의도(intent)를 처리하는 가장 작은 단위를 block이라 한다.이 블럭들이 모여서 하나의 시나리오scenario로 구성된다.이렇게 카카오챗봇은 시나리오를 어떻게 구성하느냐에 따라 챗봇의 기능이 달라진다.블럭에는 사용자예상발화패턴이나 봇이 수행하는 액션과 응답형식을 정의한다.즉, 사용자발화가 입력되었을 때 블럭 내 발화패턴을..
7. 챗봇API7.1 chatbot API?실습시 작성한 챗봇엔진서버와 직접통신을 하는 카카오톡, 네이버톡톡등과 같은 메신저플랫폼과 챗봇엔진을 사용할 수 있는 챗봇API서버를 구축해야 한다.챗봇기능을 지원하는 메신저플랫폼과 통신하기 위해서는 REST API방식으로 챗봇서버를 구현해야 한다.7.2 Python FlaskFlask는 파이썬 기반의 경량화된 프레임워크`웹애플리케이션 경량 프레임워크 Flask'를 사용7.2.1 Hello Flask!mkdir .\hello_flask!pip show flask%%writefile ./hello_flask/app.py# 1. Hello Flask 출력 & Login Form 출력# 실행 : python d:\lec\05.python\hello_flask\app.p..
6. 쳇봇엔진만들기6.1 쳇봇엔진구조쳇봇 엔진의 핵심 기능핵심기능설명질문의도분류화자의 질문의도를 파악, 해당 질문을 의도분류모델을 이용해 의도클래스를 예측하는 문제개체명 인식화자의 질문에서 단어 토큰별 개체명을 인식. 이는 단어 토큰에 맞는 개체명을 예측하는 문제핵심 키워드 추출화자질문에서 핵심단어토큰을 추출. 형태소분석기로 핵심 키워드가 되는 명사,동사를 추출답변 검색해당질문의도, 개체명, 핵심키워드등을 기반으로 답변을 학습DB에서 검색소켓 서버다향한종류(카카오톡, 네이버톡톡)의 챗봇 클라이언트에서 요청 질문을 처리하기 위해 소켓서버 프로그램 역할을 한다. 따라서 이 책에서는 챗봇엔진 서버 프로그램이라 할 예정6.2 쳇봇엔진처리과정화자질의문장을 입력후 쳇봇엔진은 제일 먼저 전처리를 실행형태소분석기를 통..
5. 쳇봇학습툴만들기5.1 프로젝트구조chatbot 프로젝트train_tools : 챗봇 학습툴 관련파일models : 챗봇엔진에서 사용하는 딥러닝 모델관련 파일intent : 의도 분류 모델ner : 개체인식모델utils : 챗봇 개발에 필요한 유틸리티 라이브러기config : 챗봇 개발에 필요한 환경설정test : 챗봇 개발에 필용한 테스트 코드!mkdir .\chatbot\train_tools\qna!mkdir .\chatbot\models\intent!mkdir .\chatbot\models\ner!mkdir .\chatbot\utils!mkdir .\chatbot\config!mkdir .\chatbot\test5.2 테이터베이스 & 테이블 생성chatbot_train_dataid : 학습데이터..