전체 글 135

인프런 - MongoDB, NoSQL 강의 리뷰(잔재미코딩)

방학을 맞아서 결제해두고 안 들었던 강의를 제대로 듣기 시작했습니다. 바로 SQL 공부할 때 같이 결제해뒀는데, 다른 공부 때문에 뒷전이 되어있던 NoSQL인데요, 어제 완강을 한 기념으로 수강 리뷰를 포스팅하려고 합니다. 강의 바로가기 강의 구성 강의 개수: 42개 강의 시간 : 9시간 36분 커리큘럼 : NoSQL 이해 - 몽고DB 준비 - 기본 명령 이해하기 - Aggregation 기본/고급 - pymongo 사용하기 - 인덱스 및 텍스트 검색 - 크롤링한 데이터 적재하기 수강 기간 : 무제한 기타 초급 난이도로, NoSQL이나 몽고DB에 대해 아는 게 없어도 따라갈 수 있습니다. 다만 기본적인 python 문법에 대해서는 알고 계셔야하고, 데이터베이스 이론에 대해서 알면 좀 더 수월하게 이해할 ..

[논문 리뷰] Neural Graph Collaborative Filtering

논문 : https://arxiv.org/abs/1905.08108 오역, 오류는 댓글로 말씀 부탁드립니다! 문제 상황 : Collaborative signal capture 기존 모델 가정 : 유사한 사용자는 특정 상품에 대해 유사한 선호도를 보일 것 과정 embedding : 상호작용을 재구축하기 위해 user, item을 파라미터화 파라미터를 기반으로 선호도 예측 이미 존재하는 feature로부터 mapping하는 방법 단점 : 충분하지 않은 collaborative signal 상호작용 모델링 : embedding 기반으로 과거 상호작용 재구축 단점 : 주요 collaborative signal을 명시적으로 인코딩하지 않음 (= 상호작용을 고려하지 않음) collaborative signal : ..

셀레니움 없이 네이버 블로그 검색 결과 수집하기 (API & beautifulsoup)

저는 최근에 여러 공모전에 출전하고 있는데요, 그 중 한 공모전에서는 SNS 분석을 요구했습니다. 그렇지만 트위터 API는 올해 2월부터 유료화가 되었고, 인스타그램은 사진 위주라서 텍스트마이닝이 어렵고, 페이스북은 UI가 너무 어렵고.. 이런저런 고민이 많았어요. 결국 수집이 용이한 네이버 블로그를 분석하기로 했습니다. 저는 네이버 API와 Beautifulsoup를 통해 포스팅을 수집했는데요, 오늘은 그 과정에 대해서 포스팅해보려고 합니다. 네이버 API 발급받기 1. 네이버 개발자 센터로 이동 및 로그인 NAVER Developers 네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, ..

Data/Python 2023.07.08

[논문 리뷰] Deep Neural Networks for YouTube Recommendations

논문 : https://static.googleusercontent.com/media/research.google.com/ko//pubs/archive/45530.pdf * 이번 논문은 유튜브 알고리즘에 대한 논문입니다. 제목에서 알 수 있듯이 기존의 전반적인 추천 성능 개선에 초점을 둔 논문과 달리, 하나의 플랫폼에서 추천 성능을 개선하는 데에 초점을 두고 있습니다. 그래서 다른 논문보다는 조금 말랑말랑한 느낌입니다. 오역, 오류는 댓글로 말씀 부탁드립니다! Youtube 추천시스템 Overview 고려사항 scale : 대규모 사용자와 아이템에 사용된다 freshness : 실시간으로 발생하는 사용자 행동, 실시간으로 업로드되는 영상을 반영해야함 noise : sparsity, 보이지 않는 외부 요인..

[논문 리뷰] Neural Collaborative Filtering

논문 : https://arxiv.org/abs/1708.05031 Background 1. Learning From Implicit Data Implicit Data가 없는 경우 : 인지X or 부정적으로 평가 data가 없는 이유를 구분하기 어렵기 때문에 item 간 순위를 선정할 경우 noise 발생 목적 함수 pointwise loss : 실제와 예측 간의 오차를 감소시키는 방향으로 학습 유연하게 negative sample 비율 조정 가능 pairwise loss : 관측된 경우와 관측되지 않은 경우 간의 margin을 최대화하는 방향으로 학습 관측된 경우의 순위가 관측되지 않은 경우의 순위보다 높음 2. Matrix Factorization 잠재 feature 벡터를 이용해 공유된 잠재 공간에..

[Pytorch] embedding dimension 변경

최근에 진행했던 미니프로젝트에서 맡았던 task입니다. 요약된 리뷰 데이터를 임베딩한 뒤, 사용자별 feature로 사용할 수 있도록 만드는 task입니다. Embedding vectorizer를 적용하여 자연어를 수학적으로 바꾸는 것입니다. 저희 프로젝트의 목표는 리뷰 데이터의 요약 및 임베딩을 통해 추천시스템의 성능을 개선하는 것이었습니다. TFIDF를 사용하는 경우 별도의 처리없이 사용자별 feature로 사용할 수 있습니다. 다만 TF-IDF는 sparse한 데이터를 만들기 때문에 추천시스템 성능을 개선하는 데에는 충분하지 않다고 생각했습니다. 저희가 추가로 진행한 것과 같이, word2vec이나 다른 LM 모델의 last hidden state로 임베딩을 하는 경우 사용자의 feature로 사용..

Data/ML & DL 2023.06.26

[논문 리뷰] “Told You I Didn’t Like It”: Exploiting Uninteresting Items for Effective Collaborative Filtering

논문 : https://pike.psu.edu/publications/icde16.pdf 오역, 오류 등은 댓글로 말씀 부탁드립니다! Background 1. Collaborative Filtering 구분 기억 기반 : 이웃과의 유사성을 이용해 평점 예측 사용자는 이웃이 선호하는 아이템을 선호할 가능성이 높다는 사실에 기반 모델 기반 : 모델을 이용해 평점 예측 사용 목적 사용자 평점 예측 상위 N개 상품 추천 : 평가하지 않은 아이템에 대한 상대적인 선호를 예측하여 예측값이 높은 N개를 추천 개선 방안 : uninteresting item을 추천 대상에서 제외 2. OCCF Problem sparse한 학습 데이터로 인해 non positive 데이터를 해석하기 어려움 negative 라벨링되지 않은..

[Pytorch] 토크나이저에 vocab 추가하기

오늘은 이전에 했던 미니프로젝트에 대해 포스팅해보려고 합니다. 미니프로젝트에서 사용했던 토크나이저는 사전학습된 RoBERTa-small로, huggingface를 이용했습니다. Huggingface tokenizer huggingface의 토크나이저는 subwords 기반입니다. subwords 기반 토크나이저는 알려진 글자나 subword를 기반으로 토크나이징을 합니다. subwords 기반 토크나이저는 빈번하지 않은 단어를 잘 인식하지 못한다는 한계가 있습니다. subwords 알고리즘은 빈번하게 사용하는 단어는 subword로 분할하지 않고 그대로 사용하지만, 빈번하지 않은 단어는 subwords로 분할하기 때문입니다. 한국어 같은 교착어에 효과적이라고 합니다. 그치만 저희 데이터에 적용해본 결과,..

Data/ML & DL 2023.06.18

[논문 리뷰] xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems

논문 : https://arxiv.org/abs/1803.05170 오역, 오류 등은 댓글로 말씀 부탁드립니다! Background 전통적인 추천시스템 Non factorization model 대규모 추천시스템의 input feature : sparse, 카테고리-연속형 혼합, 고차원 선형 모델이 다루기 쉬운 구조 선형 모델 : feature 상호작용을 학습하지 않음 → cross feature 엔지니어링 필요 Cross Feature Transformation : 최적의 결과를 도출하기 위해 필요 High-order feature 확보: 잠재적 패턴을 탐색 필요 - 많은 시간(비용)이 소요됨 대규모 예측 시스템 : 모든 cross feature를 수동적으로 추출할 수 없음 hand-craft cros..

[논문 리뷰] One-Class Collaborative Filtering

오늘부터는 추천시스템 논문을 리뷰해보려고 합니다. 사실 리뷰라기보다는 해석에 가깝지만요 ㅎㅎ 논문 읽는 속도가 느린 편이라 포스팅을 자주 하지는 못할 것 같지만 꾸준히 해보려고 합니다. 첫 번째로 리뷰할 논문은 One-Class Collaborative Filtering입니다. 논문 : http://www.rongpan.net/publications/pan-oneclasscf.pdf 오역, 오류 등은 댓글로 말씀 부탁드립니다! Background OCCF Problem 추천 시스템의 학습 데이터 : 단순히 사용자의 액션 여부를 나타내는 binary data = sparse non-positive 해석 시 모호 : non-positive = negative + 라벨링 되지 않은 긍정 data 둘을 분리하기..

반응형