Python

· Python
이전에 올렸던 [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": [ ..
· Python
2. 임베딩2.1 임베딩이란?자연어를 숫자나 벡터형태로 변환하는 것을 임베딩이라고 한다.즉, 임베딩은 단어나 문장을 수치화해서 벡터공간으로 표현하는 과정을 의미한다.임베딩기법문장임베딩 : 여러개의 문장에서 각각의 문장을 벡터로 표현하는 기법문장의 흐름을 벡터화하기 때문에 문맥적의미응 가지는 장점이 있다.하지만, 문장을 임베딩하기 위해서는 많은 문장이 필요하며 학습비용이 많이 든다.상용시스템에서 많이 사용된다. (단어임베딩에 비해 품질이 우수하다.)단어임베딩 : 개별 단어를 벤터로 표현하는 기법동음의의어에 대한 구분을 하지 않는다.그렇기 때문에 의미가 다르더라도 단어형태가 같다면 동일한 벡터값으로 표현하는 단점이 있다.하지만, 문장임베딩에 비해 학습이 간단하여 실무에 많이 사용된다.2.2 단어임베딩단어 임..
· Python
1. 토크나이징1.1 토크나이징이란?컴퓨터분야에서 자연어의 의미를 분석해서 처리할 수 있도록 하는 것이 자연어처리 NLP(Natural Language Processing)이라 한다.자연어처리를 하는 가장 일반적인 방법은?주어진 문장을 일정한 의미가 있는 가장 단어로 분리그 다음에 분리된 단어를 이용해서 의미를 분석한다.여기서 가장 기본이 되는 단어를 토큰 token이라고 한다.토큰단위는 토크나이징하는 방법에 따라 달라질 수가 있다.하지만, 일반적으로 일정한 의미가 있는 가장 작은 단위로 결정된다.이렇게 주어진 문장에서 토큰 단위로 정보를 분리하는 작업을 토크나이징이라고 한다.토크나이징을 구현하기 위해서는 한국어문법에 대한 이해가 필요하다.하지만, 한국어 토크나이징을 지원하는 파이썬 라이브러리가 있다.한..
· Python
내장함수https://docs.python.org/3/library/functions.html Built-in FunctionsThe Python interpreter has a number of functions and types built into it that are always available. They are listed here in alphabetical order.,,,, Built-in Functions,,, A, abs(), aiter(), all(), a...docs.python.org # 1. all(iterable)# iterable자료형을 전달 받아서 그 요소들의 값이 전부 True면 True를 리턴, 아니면 False를 리턴# all?# 1) li..
· Python
예외처리(Exception)1. 예외처리문법try: # 예외가 발생할 가능성이 있는 문장 result = 10 / 0 except Exception: # 예외가 발생했을 경우 처리할 문장 print('0으로 나눌 수가 없습니다!') else: # 정상적으로 처리할 경우 실행할 문장 print(f'나누기결과 = {result}') finally: # 반드시 한번은 실행할 문장 print('프로그램이 정상적으로 종료되었습니다!')2. 파이썬의 예외종류   * http://docs.python.org/library/exceptions.html3. 파이썬예외계층도# 1. 예외처리a = ..
· Python
패키지 Package 파이썬의 패키지는 디렉토리와 파이썬모듈(~.py)로 구성된다. 물리적으로 여러개의 모듈(~.py파일)을 모아 놓은 디렉토리이다. 즉, 모듈은 확장가 py인 파일이고 package는 디렉토리 즉, 폴더이다. a. 패키안에 __init__.py은 해당 폴더가 패키지임을 파이썬엔진에게 알려주는 역할을 한다. b. 파이썬 v3.3이후 부터는 이 파일 없어도 패키지로 인식된다. c. v3.3이전버전에 이 파일이 없으면 패키지로 인식되지 않는다. d. 하위버전과 호환성을 위해서 dummy파일로 생성하는 것이 좋다. 파이썬 모듈를 계층적(그룹핑, 디렉토리)으로 관리하기 위해서는 dot(.)연산자를 사용한다. __name__변수에는 패키지명.모듈명의 형식으로 저장된다. # 1. source하위 폴..
· Python
모듈(Module) 1. 모듈이란? 함수 : 파일내에 일정한 작업을 수행할 수 있는 재사용이 가능한 코드블럭을 말한다. 모듈 : 함수, 변수, class들을 한 개의 파일에 모아 높은 파일을 말한다. 확장자가 ~.py인 파일 유사하거나 연관된 작업을 하는 함수나 변수를 모아서 하나의 파일에 저장한 후 재사용하기 위해 정의한다. 모듈의 이름은 확장자 ~.py를 제외한 것이 모듈이름이다. 패키지 : 여러개의 모듈을 하나의 디렉토리(폴더)에 모아 놓은 것을 말한다. 레벨 : 패키지(디렉토리, 폴더) > 모듈(파일명.py) > 클래스(변수, 메서드, 생성자), 함수 or 변수 2. 모듈의 사용목적 코드의 재사용 : 모듈이 없다면 자주 사용되는 함수를 매번 작성해야 하기 때문에 개발, 유지보수가 어렵다. 작업의 ..
myopin
'Python' 태그의 글 목록