목록전체 글 (48)
think deeply
추천시스템 구현을 고민하다 멜론 플레이리스트 크롤러를 만들어보게 되었습니다. 만들어진 크롤러가 아닌, 제가 원하는대로 크롤러를 만들어본 건 처음인 듯한데요! 이를 기록하기 위해 포스팅합니다 :) 해볼 건! 멜론 사이트에서 원하는 플레이리스트에 수록된 곡과 해당 곡 가사, 가수명을 긁어와보려합니다. 멜론에 들어가 원하는 플레이리스트 페이지에 들어가 링크만 아래 코드에서 수정해주면 크롤러 구현이 가능합니다. pip install selenium from selenium import webdriver import time from time import sleep from selenium.webdriver.common.by import By from selenium.webdriver.support.ui impo..
오류 발생 코드 # 데이터프레임 생성 lyrics_df = pd.DataFrame(columns=['Song', 'Singer', 'Lyrics']) song = [] singer = [] lyrics = [] #-------------------------------------------------------------------------------------------------- # 플레이리스트 내 수록곡 Length song_list = driver.find_elements(By.XPATH,'//*[@id="frm"]/div/table/tbody') song_list_li = [] for element in song_list: tr_elements = element.find_elements(By..
0. intro 1. abstract 2. introduction 3. recommender system overview 4. wide & deep learning 5. system implementation 6. conclution 0. intro wide and deep은 2016년 구글이 발표한 추천랭킹 알고리즘이다. 딥러닝 기반 추천시스템의 입문용 논문으로 많이 읽힌다. 구글 플레이 스토어 앱의 user의 검색 기록(query)를 바탕으로 생성된 추천할 앱(candidate)을 rank하는데 적용된다. 1. abstract sparse한 inputs인 큰 scale의 회귀, 분류 문제에 nonlinear feature를 변환한 Generalized linear model이 보편적으로 활용된다. (..
새 맥북에 vscode를 다운받고 github과 연동을 했다. ipynb파일 실행이 안되는데, 오류는 ' 커널 소스를 선택해주세요. Type to choose a kernel source vscode'라고 뜬다. 하지만 선택할 커널 소스가 보이지 않는다. 이유는 우선 새노트북에 anaconda 설치가 자체가 되어있지 않던 것, 그리고 conda 가상 환경을 생성하고 가상환경의 커널을 추가해줘야한다. 방법은 아래와 같다. conda 가상 환경 생성 anaconda를 설치하고, 맥북 런치패드에서 '터미널'을 검색해서 켠다. 그리고 다음과 같이 conda 가상 환경을 만들 수 있다. conda create -n [가상환경 이름] python=[원하는 파이썬 버전] 나는 다음과 같이 입력했다. 'pyenv39'..
정리한 논문: https://www.sciencedirect.com/science/article/abs/pii/S0957417420309519 지난 번 작성한 논문의 주제가 흥미로워서 이용수도 많이 나오니 뿌듯하다. 학회에 제출한 연구는 LDA topic modeling으로 각 리뷰를 토픽 기준으로 나누고 Logistic regression을 통해 (감성 사전을 활용해 회귀계수 값을 바탕으로) 긍부정으로 분류하였다. 나는 리뷰 하나를 한 document로 활용했는데, LDA가 짧은 텍스트에서는 두 가지 문제가 존재한다. 리뷰들을 토픽으로 묶기 위해서는 동시발생 빈도가 높은 단어들끼지 묶어주어야하는데, 문서 길이가 비교적 짧은 '리뷰' 특성 상 동시 발생 패턴(co-occurence)이 부족하고 data ..
1. introduction 2. Preiminaries 3. Previous work 4. Our model 5. Explaining recommendations 6. Exerimenal study 7. Discussion 1. introduction 상품이 많아짐에 따라 고객이 원하는 상품을 나열해서 보여주기 위한 과제가 발생하게 되었다. 그 과제를 해결하기 위한 방법으로 추천시스템이 있는데, 추천시스템은 유저와 상품을 프로파일링하고 둘 간의 관계를 찾아내는 기술에 기반한다. 추천시스템의 두 가지 접근법 추천시스템의 접근법에는 크게 두 가지가 있다. 콘텐츠 기반 접근법 각각의 유저 혹은 상품, 그 자체의 특성을 프로파일링하고, 프로파일링 결과물로 상품 매칭된 유저들 간의 관계를 파악 예시) 유저의 특..
1. TF-IDF의 개념 대부분의 문서에 공통적으로 많이 등장하는 단어만으로 새로운 인사이트를 내기는 어렵다. 일반적으로 문서에 자주 등장하는 단어보다, 우리가 궁금한 것은 특정 내용을 다루는 문서에서 자주 등장하는 단어다. 예를 들어, 자동차 관련 문서에서 자주 쓰이는 단어가 있기 마련이고, 자전거 관련 문서에서 자주 쓰이는 단어가 있기 마련이다. 특정 문서 내 단어 빈도가 문서 전체에서의 단어 빈도보다 더 높은 단어를 강조해 표시하기 위한 방법이 TF-IDF다. 즉, 단어의 빈도와 역 문서 빈도(문서의 빈도에 특정 식을 취함)를 사용하여 DTM(Document term matrix) 내의 각 단어들마다 중요한 정도를 가중치로 주는 방법이다. 2. TF-IDF의 활용 그럼 TF-IDF는 어디서 주로 활..
1. 콘텐츠 기반 필터링(Content-based filtering) 콘텐츠 기반 필터링은 대상의 특성을 바탕으로 추천하는 방법론입니다. 대상의 특성은 대상을 표현할 수 있는 데이터로 대상이 속한 카테고리, 대상의 제목과 같은 텍스트 데이터, 가수의 이미지 같은 이미지 데이터가 포함됩니다. 이러한 특성들을 기반으로 딥러닝 모델을 만들 수 있다는 것이 콘텐츠 기반 필터링 방식의 특징입니다. 정보를 모으고 그 정보를 잘 분류한 후에 사용자가 좋아했던 다른 아이템과 얼마나 비슷한 지를 비교해서 추천 리스트를 생성한다. 아이템을 벡터로 표현하는데는 원-핫 인코딩, 임베딩이 있어요. 아이템을 벡터로 표현하면 그 벡터 간의 코사인 유사도와 같이 다양한 유사도 계산 식으로 사용자에게 추천해줄 리스트를 생성하게 되는 ..