목록deep daiv./추천시스템 toy project (4)
working_helen
추천 시스템의 첫번째 구현 방법으로 인코딩 기반 추천 시스템을 구현하였다. 1. 인코딩 기반 추천시스템 과정 2. 도서 벡터화 1) CountVectorizer 2) One-hot encoding 3. 유사도 측정 4. 추천 리스트 작성 5. 한계 및 개선방안 1. 인코딩 기반 추천시스템 과정 [구성] 키워드에서 각 단어의 등장 여부를 1과 0의 값으로 두고 도서를 벡터화 → 도서 간 코사인 유사도 계산 → 유사도 기반 베스트셀러 추천 리스트 작성 벡터화 : CountVectorizer 이용 / One-hot encoding 유사도 : 코사인 유사도 [결과] - One-hot encoding 기반 DTM 선택 - 가중합 코사인 유사도 이용 (4 : 5 : 1 비율) - 최종 추천 함수 find_sim_b..
추천시스템 모델링 과정에서 접한 CountVectorizer와 TfidfVectorizer, KoNLPy에 대해 공부해본다. 1. 문서-단어 행렬 2. CountVectorizer 문서 벡터화 3. TfidfVectorizer 문서 벡터화 4. 문서 벡터화에서 한국어 처리 1) tokenizer 설정 2) 한국어 형태소 분석기 KoNLPy 1. 문서-단어 행렬 (document-term matrix) (위키백과) 문서 -용어 매트릭스는 문서 모음에서 발생하는 용어의 빈도를 설명하는 수학적 매트릭스 입니다. 문서 용어 행렬에서 행은 컬렉션의 문서에 해당하고 열은 용어에 해당합니다. 각 ij 셀은 문서 i 에서 단어 j가 나타나는 횟수입니다 . 따라서 각 행은 해당 행에 해당하는 문서의 내용을 나타내는 용어..
추천시스템 구축 전 키워드의 빈도수와 분포를 확인하기 위한 기초적인 EDA 과정을 진행했다. 1. 키워드별 빈도수 확인 2. 워드 클라우드 1. 키워드별 빈도수 확인 - '키워드'와 '책소개 키워드' 각각에 대하여 등장하는 모든 키워드에 대해 빈도수를 측정한다. - 가장 빈도수가 높은 키워드는 무엇인지, 빈도수가 현저히 적은 키워드는 무엇인지 확인한다. - CBF 알고리즘의 경우 데이터 간 키워드 중복 횟수 (키워드의 빈도수 count)가 너무 적은 경우 추천시스템의 성능이 떨어질 수 있다. 따라서 해당 키워드를 제외하거나 상위 키워드로 통합하는 과정이 필요하다. Counter 클래스 - 리스트나 셋에 등장하는 각 원소의 개수를 셀 때 사용 - 각 원소을 키로, 개수를 value로 하는 dictionar..
1. 타겟 데이터 2. 데이터 수집 과정 1. 타겟 데이터 - 교보문고 4가지 분야 베스트셀러 도서 각 1000권씩 > 4000권 데이터 - 소설, 자기계발, 경제/경영, 인문 분야 - 교보문고 '키워드 픽' + '책 소개' 텍스트 크롤링 - '키워드 픽'은 그대로 사용 - '책 소개' 텍스트에서 핵심어 추출 진행 2. 데이터 수집 과정 도구 : Selenium을 이용한 크롤링 step 1. 베스트셀러 1000권 도서 링크 받아오기 - 분야별 베스트셀러 페이지 접속 - 한 페이지당 20권씩 보여주며, 1~50장까지 존재 (1000권) - find_element를 이용해 20권 도서 page_links 원소 추출 - get_attribute('href')를 이용해 각 도서의 page url을 추출한 후, ..