머신러닝 프로젝트 - 2. 프로세스

최두희·2024년 7월 17일

유튜브 및 네이버 쇼핑몰 댓글 감정 분석 문서

프로젝트 개요

해당 프로젝트는 유튜브 댓글을 수집하고 전처리한 후, 선행 학습된 감정 분석 모델을 사용하여 감정을 분류. 네이버 쇼핑몰 데이터도 유사한 방식으로 전처리하고, 이를 통해 생성된 모델을 사용하여 유튜브 댓글에 대한 감정 분석을 수행.

주요 단계 및 절차

1. 유튜브 댓글 수집 및 전처리
유튜브의 여러 데이터와 댓글을 수집하여 csv 파일로 저장. 수집된 데이터는 텍스트 전처리 과정을 거쳐 감정 분석을 위한 준비.

2. 네이버 쇼핑몰 데이터 전처리
네이버 쇼핑몰 리뷰 데이터를 여러 개의 JSON 파일로부터 하나의 데이터프레임으로 결합. 각 리뷰의 감정 점수를 추출하고, 중복된 리뷰를 확인 및 제거하여 최종적으로 CSV 파일로 저장. 이는 text_sentiment.csv 파일로 저장.

3. 감정 분석 모델 학습
선행 학습된 beomi/KcELECTRA-base-v2022 모델을 사용하여 네이버 쇼핑몰 리뷰 데이터를 기반으로 감정 분석 모델을 학습(전이학습). 교차 검증을 통해 최적의 모델을 선택하고, 최종적으로 유튜브 댓글에 적용할 수 있는 모델을 생성.
-> 결과 요약:
Cross-validation accuracies: [0.9579122039523307, 0.9554918527459264, 0.9524743512371756, 0.9566988533494267, 0.9536813518406759]
Average accuracy: 0.9552517226251072
Best checkpoint: ./results/checkpoint-270
Absolute path for the best checkpoint: C:/Users/doing/OneDrive/Documents/ds_study/project/Machine Learning/results/checkpoint-270
All required files exist in the checkpoint path: C:/Users/doing/OneDrive/Documents/ds_study/project/Machine Learning/results/checkpoint-270
Using checkpoint path: C:/Users/doing/OneDrive/Documents/ds_study/project/Machine Learning/results/checkpoint-270
Final accuracy with the best checkpoint: {'accuracy': 0.9645497058379846}

4. 유튜브 댓글 감정 분석
학습된 모델을 사용하여 유튜브 댓글의 감정을 분석. 각 댓글을 전처리하고, 모델을 통해 감정을 분류하여 최종적으로 감정 분포를 포함한 분석 결과를 CSV 파일로 저장.

주요 기술 및 라이브러리
Python: 데이터 처리 및 모델 학습에 사용
Pandas: 데이터프레임을 사용하여 데이터 처리
Transformers: Hugging Face의 트랜스포머 라이브러리를 사용하여 감정 분석 모델 학습 및 예측
BeautifulSoup: 텍스트 전처리 과정에서 HTML 태그 제거에 사용
Scikit-learn: 교차 검증 및 모델 평가에 사용
PyTorch: 모델 학습 및 예측을 위한 딥러닝 프레임워크

생성되는 산출물
text_sentiment.csv: 최종 감정 분석을 위한 데이터
best_checkpoint 폴더: 최적의 모델 체크포인트
youtube_data_sentiment.csv: 유튜브 댓글 감정 분석 결과

주의사항
데이터 전처리: 텍스트 데이터는 HTML 태그, URL, 특수 문자 등을 제거하고, 소문자로 변환하여 모델의 성능을 향상.
모델 학습: 충분한 데이터와 적절한 하이퍼파라미터 설정이 중요. 교차 검증을 통해 최적의 모델을 선택.
GPU 사용: 대규모 데이터 처리 시 GPU를 사용하는 것이 효율적. GPU가 없는 경우 모델 학습과 예측 시간이 크게 증가할 수 있음.
파일 경로: 모든 파일 경로는 절대 경로로 지정하여 사용. 상대 경로를 사용할 경우 경로 오류가 발생할 수 있음.

profile
안녕하세요!

0개의 댓글