728x90

프로젝트/[머니버디] 카드상품 추천 챗봇(finchatbot) 6

[머니버디] 최종 결과물 및 기능 소개

[프로젝트 개요] [프로젝트 주제] : ChatGPT를 이용한 개인 맞춤형 카드 상품 추천 챗봇 [진행 기간] : 2023.09 ~ 2023.12 [개발 인원] : 3인 (본인 포함) [주제 선정 배경] ChatGPT가 등장하면서 사람들의 관심이 매우 빠르게 증가 => 금융업 전반에서의 AI 열풍 가속화 ChatGPT 출시 2개월 만에 월간 사용자 1.23억명 도달, 금융권에서도 금융비서, 개인화된 상담 서비스 제공 중요도가 높아졌음을 확인했다. 기존의 챗봇 서비스는 단순한 키워드 중심으로 자세한 추가적인 상담은 상담원을 통해야 한다는 점에 불편함을 느껴 ChatGPT를 이용한 카드 상품 추천 및 자유로운 대화형 상담 챗봇을 구현했다. [개발 환경 및 역할] 1. 개발 환경 데이터베이스 (DataBase..

[머니버디] 예산 및 소비 그래프 오류 수정

Pandas를 이용하여 원그래프를 만들어 예산과 소비금액을 비교하여 보여주고, 데이터베이스에서 예산과 소비금액을 받아와 화면에 보여주는 화면을 구현하던 중 로그인 정보에 맞지 않는 데이터들이 페이지에 보여지는 것을 발견하였다. 따라서 함수를 수정해 로그인정보에 맞는 데이터만 가져오도록 수정해보려한다. 먼저 기존의 코드를 올려두겠다. def budget_data(): conn = connectsql() cursor = conn.cursor() budget_query = "SELECT budget FROM budget;" cursor.execute(budget_query) budget_tuple = cursor.fetchone() Budget = budget_tuple[0] if budget_tuple el..

[머니버디] 카드 추천 데이터 필터링

이전 글에서 카드 추천 페이지를 구현한 과정을 올렸을 때, 카드 상품이 추천되어지는 시간이 오래걸리는 것이 한가지 아쉬운 점이었다. 그래서 추천 과정의 속도를 높이기 위해 카드 데이터를 필터링 해보기로 결정했다. 데이터 양이 많고 거쳐야할 과정이 많은 것이 속도 저하의 원인이라고 보았기 때문이다. ________________________________________________________________________________________________ 먼저 1차적으로 카드 데이터를 신용카드와 체크카드로 구분해보았다. 이전에 구현했던 추천 시스템 로직을 그대로 활용하기 위해 복잡한 방식으로 필터링 하기 보다는 간단하게 데이터를 나누자는 생각이 들었고, 신용카드와 체크카드 버튼을 눌러서 필터..

[머니버디] 카드 추천 페이지 구현

이전 글에 이어서 사용자의 선호도를 입력받아 카드를 추천해주는 추천시스템을 이용하여 사용자가 챗봇 페이지에서 요구사항을 입력하고 카드를 추천 받을 수 있도록 페이지를 구현해주었다. 이전 글의 추천시스템에서는 터미널에서 사용자 입력을 받아 추천이 실행이 되었다면 이제는 챗봇 페이지에서 입력창에 사용자의 선호도를 입력하고 카드를 추천받을 수 있도록 하기 위함이다. 먼저 기본적으로 추천에 사용되는 시스템은 이전 글에서 구현했던 코드를 그대로 사용했다. (자세한 코드가 궁금하다면 이전 글 참고) https://hyunh404.tistory.com/3 [finchatbot] 카드 추천 시스템 이전에 작성했던 임베딩 과정을 통해 얻은 파일을 이용해 사용자의 선호도에 맞는 카드 상품을 추천해주는 코드 파일을 작성했다..

[머니버디] 카드 추천 시스템

이전에 작성했던 임베딩 과정을 통해 얻은 파일을 이용해 사용자의 선호도에 맞는 카드 상품을 추천해주는 코드 파일을 작성했다. 추천시스템을 만들기 위해 임베딩한 파일인 embedded_card_data.csv 파일을 사용하였다. 먼저 flask파일을 실행하기 위한 라이브러리를 불어오겠다. 다른 코드들은 이전의 임베딩 라이브러리를 작성했던 것과 동일하고 새로운 코드인 ' cosine_similarity'는 두 벡터 간의 코사인 유사도를 계산하는데 사용된다. (이전에 cosine_similarity를 사용하기 위한 sklearn.metrics.pairwise를 'pip install scikit-learn' 명령어를 이용해 설치해주었다.) import pandas as pd from transformers i..

[머니버디] 카드 데이터 임베딩(embedding)

chat GPT를 이용해 카드상품 추천을 위한 챗봇 웹 애플리케이션을 만드는 프로젝트를 진행하면서 새롭게 알게되고 학습한 내용인 임베딩에 대해 기록하려 한다. 프로젝트 진행 중에 카드 상품을 csv파일로 저장해놓고 파일을 불러와 원하는 데이터를 임베딩하기 위한 작업을 수행했다. 여러 카드사에서 정보를 수집한 카드데이터이며 csv파일에서 '내용' 열에 있는 데이터만 임베딩해 추천 시스템에 활용하려 한다. 먼저 한글로 되어있는 csv파일을 임베딩 시스템에 적용하기 위해 파이썬을 3.7버전으로 다운 그레이드를 진행해주었다. (3.7버전에서만 한글 지원이 가능하다고 하여 진행한 단계였다.) 파이썬 홈페이지에 들어가 파이썬 3.7.9버전을 다운받아주고 시스템 경로설정을 해주었다. 임베딩을 위한 파이썬 flask파..

728x90