/shopping_clf_kakao

kakao arena shopping classification

Primary LanguageJupyter Notebook

Kakao Arena Shopping Category Classification

카카오 아레나 쇼핑카테고리 분류 대회를 참가할 당시에 사용한 ipython 코드입니다.

결과

  • 팀명 : 부산캐글스터디
  • 팀원 : 서민규, 김태진, 문성환, 변준용 (4인)
  • 성적 : 1.038344 (공개 리더보드 기준)
  • 파이널 : 제출하지 않음

파이프라인

  1. 데이터 전처리

    1. h5py파일에서 사용할 feature만 추출
    2. S, D 카테고리 레이블 중 -1 값의 데이터는 모두 제외
    3. Konlpy(mecab) 전처리 ( 코드에 없음 )
    4. 특정 단어 전처리 ( 코드에 없음 )
    5. Product, maker, brand, model, image feature 사용
  2. 토큰화

    1. Keras Tokenizer 사용 ( train, dev, test )
  3. 모델

    1. 4개의 feautre Embedding
    2. Embedding 결과와 image 데이터 Concatenate
    3. 4개의 카테고리에 대한 모델을 각각 생성
  4. 순차모델

    1. 상위 카테고리 예측 결과를 다른 모델 예측에 활용

쇼핑 데이터 특징

  1. 띄어쓰기를 하지 않는 경우가 대부분
    물건을 등록할 때 글자수 제한 때문인지 최대한 많은 정보를 넣으려고 하는 바람에 띄어쓰기를 아예 하지 않는 경우가 많음.
    따라서, 중요한 의미를 지닌 단어가 소실되는 경우가 있음

  2. 텍스트, 문장의 의미를 내포하는 단어 외에 불필요한 단어 다수
    문장의 의미와 상관없는 특정 미사여구로 전처리 필요 Ex) 무료배송, 할인, 특가, 세일, 본인의 아이디 등등

고쳐야할 점

  1. 텍스트 전처리 시 병렬처리를 하지 않아서 CPU자원을 100프로 사용하지 못하는 문제

  2. 테스트 데이터가 트레이닝 과정에 사용됨
    ( 토큰화하는 과정에서 Test데이터와 함께 카운트 )

  3. Test 데이터에 대한 파이프라인 미설계

  4. 파이썬 코드로 정리 필요...

사용 리소스

  • Tensorflow.keras
  • Google TPU(Tensor Process Unit)

코드에 없는 부분 ( 해당 부분 포함 하여 공개 점수 1.03844 )

  • Konlpy(Mecab) 사용
  • 특정단어 전처리 (쇼핑데이터 특징 #2)