[DS] 쇼핑몰 상품 카테고리 분류
업데이트:
1회 대회 살펴보기
1.1 대회 설명
- 다음 쇼핑하우 https://shoppinghow.kakao.com/top에 있는 상품들을 사용자에게 효과적으로 노출하기 위해 일관된 분류 체계를 만들 필요가 있음.
- 수작업으로 하기엔 너무 양이 많고 룰 베이스 분류기법을 적용하더라도 상품 커버리지와 정확도에 한계가 있음.
1.1.1 상품 카테고리를 분류하는 이유
- 사용자가 원하는 상품을 빠르게 검색하고 탐색하게 하기 위해
- 대분류 > 중분류 > 소분류 > 세분류
- 키워드를 입력해 상품을 검색하면 해당 키워드가 포함된 상품이 검색되며 키워드와 관련성이 높은 순으로 정렬하여 보여주기 때문에 카테고리 정보가 매우 중요
1.1.2 대회 내용 설명
- 상품의 정보
- 상품명
- 브랜드
- 정제된 상품명
- 생산자명
- 가격
- 대표 이미지 피처
- 대회 입상자의 솔루션 대부분은 텍스트와 이미지를 모두 사용한 모델
- 32일 동안 총상금 3,000만원을 걸고 진행되어 6팀이 입상
- https://arena.kakao.com/c/5에 공개되어 있음
1.2. 대회 평가 척도
- dev 데이터셋 507,783, test 데이터셋 1,526,523개의 상품 카테고리 분류 예측 결과를 각각 제출하여 정확도 평가
- 상품마다 4단계 카테고리 예측
- 세분류로 갈수록 가중치 붙어서 점수 더 높음
- 57개 대분류 카테고리, 552개 중분류 카테고리, 3190개 소분류 카테고리, 404개 세분류 카테고리
- 모든 상품은 대분류, 중분류 값은 존재하지만 소분류, 세분류 값은 없을 수도 있음
1.3. 데이터셋 훑어보기
1.3.1 데이터셋 설명
- 3개의 데이터셋과 카테고리 매핑 정보 제공
- HDF5 파일 형식
- train 데이터셋
- 총 8,134,818건의 데이터가 100만건 단위로 분할되어 저장
- dev 데이터셋
- 총 507,783건의 데이터
- test 데이터셋
- 총 1,526,523건의 데이터가 100만건 단위로 분할되어 저장
1.3.2 대회 데이터 탐색
- train 데이터 상품 수
- 813만개의 상품 데이터는 19만개의 브랜드, 24만개의 제조사로 구분되어 있으며 정제된 상품명의 unique 개수는 256만개로 상품명 다음으로 유일값이 많음
- 상품 카테고리 분류 분포
- 카테고리별 상품 수가 얼마나 편중되어 있는지 카테고리별 상품 수 그래프와 비대칭도를 측정
- 소분류(19.2)>세분류(7.37)>중분류(5.47)>대분류(1.15) 순으로 카테고리의 상품 편중이 커짐
- 카테고리별 상품 수가 얼마나 편중되어 있는지 카테고리별 상품 수 그래프와 비대칭도를 측정
- 상품명에 담긴 정보
- 상품명은 사용자가 상품을 잘 이해할 수 있게 많은 정보를 담고 있음
- 하지만 정제되어 있지 않음
- 띄어쓰기를 안하거나 공백 분자가 아닌 ‘_‘로 띄어쓰기가 되어있음
- 전처리에 주의 필요
- 상위 입상자의 솔루션에는 서브워드 단위로 분리하는 BPE(Byte Pair Encoding) 알고리즘이 활용됨
- 사용 빈도가 높은 단어
- 정제된 상품 명에는 카테고리 이름과 비슷한 단어들이 많이 출현됨을 확인할 수 있음
- 정보의 생략을 의미하는 “상품상세설명, 상세정보, 별도, 상세페이지 해당없음 상품상세설명참조”와 같은 단어도 많이 포함되어 있음
- 이미지 피처 시각화
- 이미지를 t-SNE로 차원축소 후 대분류 카테고리 기준으로 시각화한 결과 대분류 기준으로 상품들이 적절히 군집화된 것을 확인
- 이미지를 활용하면 성능 높일 수 있음
댓글남기기