뮤지컬 추천 사이트2(FINAL_PROJECT)

ppippi·2023년 11월 9일
0
post-thumbnail

나의 역할
1. Project coordinator(2명): 깃허브에 로드맵 작성 및 팀원들의 일정을 관리하기 (애자일보조)
2. ML(2명): 텍스트추출을 위한 자연어처리와 데이터 전처리, ML을 이용한 모델학습


아직 뮤지컬데이터 수집이 완료되지않아 수집할 데이터와 비슷한, 줄거리 내용이 포함된 데이터 셋을 샘플 데이터로 설정하여 데이터 전처리 및 모델 설계를 진행할 것이다.

  • 샘플 데이터
    문화 데이터 플랫폼
    국립중앙도서관 : 도서별 상세정보(202112)

  • 상세정보

    • 도서별 상세정보
    • 서명, 저자, 출판사, 책소개 등 각 도서에 대한 자세한 정보
    • BOOK_INTRCN_CN 컬럼이 서적소개내용(줄거리)

a. 샘플 데이터로 모델 설계 과정

  1. 텍스트 전처리
  • 특수문자 삭제, 의미 없는 단어 제거
  1. 피처 벡터화/추출
  • TF-IDF : 단어를 형태소 단위로 분리하고 단어의 빈도수에 따라 유사도 측정
  • word2vec : 단어를 벡터로 변환하여 유사도 측정
  1. 유사도를 기준으로 그룹별로 범주화
  • 선택한 단어(장르)와 유사도가 높은 단어들은 하나의 장르로 특정
  • 단어(장르) 개수 설정 (10개)
  • 작품에 해당하는 장르를 컬럼 추가해서 저장 (ex. 장르1, 장르2...)
    => 이 후 태그형식으로 장르에 부합한 작품들이 조회될 수 있도록
  1. ML 모델 수립 및 학습 /예측/평가

[추천 과정]
날짜, 장소, 유형, 장르로 필터링 → 필터링된 작품들 주르륵 → 관심 있는 작품 선택 → 선택한 작품과 유사도 높은 작품 5개 추천할것이다.


[현재진행 사항]
1. 텍스트 전처리
a. NULL값이 존재하는 부분은 빈문자열로 대체

# Null 값은 빈 문자열로 대체
# data.fillna("", inplace=True)
# print(data)

b. 샘플데이터에 HTML엔터티 코드와 특수문자가 포함되어 있어 데이터조작 및 모델링시 성능저하 문제를 유발할 수 있어 해당 코드를 모두 제거

ex) 제목에 "너에게 목소리를 보낼게 - <달빛천사> 성우 이용신의 첫 번째 에세이"

# 모든 열에 대해 특수 문자와 HTML 엔터티 코드 모두 제거
for col in data.columns:
	data[col] = data[col].apply(lambda x: re.sub(r'[^\w\s]', '', html.unescape(str(x))))
# 결과 출력
data

전처리 전

전처리 후

branch: 0.0.3/work2vec에 내용에 해당하는 코드파일이 포함되어있으니 참고바랍니다.


tmi: branch명을 word2vec로 한다는걸 너무 자연스럼게 work2vec로 하고 너무 많은일들을 해서 그냥..흐린눈하기로 했다..^^ 다음부터는 정신차리고 제대로 생성하기!!


프로젝트 관련 코드는 아래의 주소에서 확인할 수 있습니다
i-Five

0개의 댓글