일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 프롬프트 엔지니어링
- 태블로
- 기초통계
- 프로젝트
- 군집화
- GA4
- Python
- 클러스터링
- SQLD
- 팀프로젝트
- 시각화
- 데이터 분석
- SQL
- 기초프로젝트
- jd
- data analyst
- 데이터분석
- Chat GPT
- 크롤링
- pandas
- 최종 프로젝트
- 머신러닝
- 히트맵
- 전처리
- da
- streamlit
- If
- lambda
- cross join
- 서브쿼리
- Today
- Total
세조목
최종 프로젝트 10일차(24.04.05) 본문
최종 프로젝트 10일차입니다.
오전에 팀원들과 어제 못다한 얘기를 가지고서 회의를 진행했습니다.
- 특성 정하기
- Chat GPT 활용한 리뷰 긍/부정 및 특성별 점수 매기기 샘플 테스트
- RAG
이야기 주제는 위 세가지였습니다.
1. 특성정하기
특성은 네이버 플레이스에서 확인할 수 있는 특성들을 일부 수정 및 추가해서 사용하기로 했습니다.
2. Chat GPT 활용한 리뷰 긍/부정 및 특성별 점수 매기기 샘플 테스트
아직 API 활용법을 숙지하지 못한 상태였기 때문에 1, 2개 정도의 리뷰를 가지고서
프롬프트 창에 요구사항을 입력하고 결과값을 확인했습니다.
확인 결과 GPT 3.5가 확실히 GP4에 비해 정확도가 떨어졌습니다.
3. RAG (Retrieval-Augmented Generation)
기존 LLM의 경우 최신 데이터를 반영하지 못하기때문에 hallucination(환각)이 발생하여
제대로된 답변을 하지 못하기때문에 LLM에 학습 과정에 포함되지 않은 지식을 주입하면
그와같은 문제를 해결할 수 있습니다.
학습 과정에 포함되지 않은 지식을 주입하는 방법은 크게 2가지가 있는데
2가지 중 한 가지가 RAG입니다.
RAG의 정의는 다음과 같습니다.
저 포함 팀원들 모두 새로 접하는 개념이다보니 조금 더 학습이 필요할 것 같아
일단 개념에 대해서만 이야기하고 어제부터 지금까지 이야기 나눴던 부분을 가지고서
담당 튜터님께 피드백을 받으러 갔습니다.
일단 GPT 샘플 테스트 관련해서는
저희가 했던 테스트는 리뷰 여러개를 주고 그 리뷰들을 종합해서 특성별 점수를 매겨달라고 했던건데
이는 저희가 진행하고자 하는 방향과 다른 방식이어서 문장별로 특성별 점수를 매겨달라고 GPT에게
요청하는 것이 맞을 것 같다고 말씀해주셨습니다.
또한 기존에 저희가 수집했던 데이터 중 일부는 전체 리뷰를 가져오는 것이 아니라
축약된 리뷰를 가져왔는데(ex. '빵이 맛있고 가게가 굉장히 깨끗...')
이렇게 되면 gpt가 판단을 제대로 할 수 없다고 하셨습니다.
이렇게 크게 두 가지 정도 피드백을 주셨는데
가장 시급한건 크롤링 작업이었기에 축약된 리뷰없이 리뷰를 긁어올 수 있도록
코드를 수정하는 작업 먼저 진행했습니다.
추가해야하는 코드는 간단했습니다.
위 이미지의 빨간색 부분만 클릭하게끔 코드를 작성하면 되었기때문입니다.
작성한 코드는 아래와 같습니다.
try:
more_review_btn_1 = driver.find_elements(By.XPATH, '//*[@id="app-root"]/div/div/div/div[6]/div[3]/div[3]/div[1]/ul/li/div/div[4]/a')
for btn in more_review_btn_1:
driver.execute_script("arguments[0].click();", btn)
print('done')
sleep(2)
except Exception as e:
print("리뷰 텍스트 더보기 오류입니다.", e)
코드 수정 후 다시 크롤링 작업을 시작했습니다
* 기존에 작업해둔 파일들을 모두 지우고 새로 작업해야해서 시간적으로나 노력적으로나 많이 아깝긴했지만 어쩌겠어요...
확실히 리뷰를 풀 사이즈로 해서 크롤링 작업을 하니 제 노트북 기준으로 한 개 구 크롤링하는데 3시간 정도 소요됐습니다.
그렇게 각자 크롤링 작업을 진행하다 오후 7시에 gpt를 활용한 챗봇 만들기가 주력이신 튜터님께 gpt관련 질문을 드렸습니다.
GPT API 활용 방법에 대한 설명부터 지금까지 저희가 구상하고 진행했던 방향성에 대한 피드백까지 들을 수 있었습니다.
정말 감사하게도 튜터님께서 API 활용법이 정리된 ipynb 파일을 공유해주셔서
해당 파일을 참고해서 작업을 진행하면 될 것 같습니다.
지금까지는 RAG 라이브러리를 활용한 챗봇 만들기가 목표였는데
튜턴미의 피드백을 듣고보니 구지 RAG 라이브러리를 쓸 필요없이
'추천'에 포커스를 맞춰서 진행하면 되겠다싶었습니다.
일단 금주 내로 크롤링 작업은 모두 마무리하는 것으로 정했습니다.
'데이터 분석 공부 > 프로젝트' 카테고리의 다른 글
최종 프로젝트 13일차(24.04.08) (0) | 2024.04.08 |
---|---|
최종 프로젝트 11일~12일차(24.04.06~07) (1) | 2024.04.07 |
최종 프로젝트 8일차(24.04.03) (0) | 2024.04.03 |
최종 프로젝트 7일차(24.04.02) (0) | 2024.04.02 |
최종 프로젝트 6일차(24.04.01) (1) | 2024.04.01 |