SlideShare a Scribd company logo
1 of 55
Download to read offline
© 2018 NHN FORWARD. All rights reserved.
구조화된 검색 모델
노병석
검색모델링팀
CONTENTS
1. 검색이란
2. 검색 모델링
3. 검색 모델 유사도
4. 구조화된 검색 모델
검색이란
4 / 42
검색을 해봅시다
토마토
토마토로 검색을 했는데 레깅스가?
토마토 바나나
바나나
바나나로 검색을 했는데 코트? 백팩?
5 / 42
검색을 해봅시다
토마토
토마토로 검색을 했는데 레깅스가?
토마토 바나나
바나나
만족할 만한 검색 결과가 아니다
바나나로 검색을 했는데 코트? 백팩?
6 / 42
토마토로 찾았는데 왜 옷이 보이지?
토마토
7 / 42
토마토로 찾았는데 왜 옷이 보이지?
브랜드에 토마토가
나왔음
상품명에 토마토가
나왔음
토마토
8 / 42
토마토로 찾았는데 왜 옷이 보이지?
브랜드에 토마토가
나왔음
상품명에 토마토가
나왔음
토마토
두 상품에서 모두 토마토가 나오긴 한다
9 / 42
사용자의 검색 질의를 분석
분석된 질의에 맞는 상품을 찾음
왜 이런 검색 결과가 나올까?
쇼핑 검색 프로세스
토마토
검색 서비스
검색 엔진
10 / 42
검색 질의와 관련 된 상품들을 찾기 위한 역색인 구조
상품 찾는 방법
토마토
팩토리
나무
…
토마토가 나온 문서들
색인어들
단순히 토마토를 포함하는 상품들
상품들 간의 순서는 임의적
역색인 구조
11 / 42
토마토
검색 질의 색인어와 문서 색인어 간의 매칭
토마토팩토리가 보이는 이유
토마토
“토마토팩토리“
색인어 추출
색인어 추출 방식
검색 질의와 문서가 동일해야한다
어절 단위 N-gram
형태소 분석
“빛가득 일반토마토“
토마토
토마토
팩토리
빛가득 일반
12 / 42
토마토팩토리
토마토팩토리를 하나의 색인어로 보는 방법
색인어 추출로 문제를 해결해 보자
“토마토팩토리“ 토마토
브랜드가 “토마토” 라면?
검색이 안 돼도 괜찮을까?
다른 문제는 없을까?
이러면 토마토팩토리는
안 보이겠다!
색인어 추출 방법으로는 한계가 있다!
색인어 추출
13 / 42
검색 모델링
검색 랭킹으로 문제를 해결하자
검색결과 관련 된 상품들이 너무 많다
상품을 노출 할 수 있는 화면은 제한적인데…
어떤 상품을 먼저 보여줘야 할까?
사용자가 만족할만한 상품을 먼저 보여주자
2,263
보편성
검색 모델링
15 / 42
단순 정렬
상품이 검색 질의에 얼마나 적합한가
줄 세우기
Information
needs
사용자의 요구에 맞는 가장 적합한 상품을 찾자!
가격 순 정렬?
리뷰가 많은 순서?
신상품 먼저?
16 / 42
검색 모델링
검색 질의와 문서간의 적합도 산정
산정된 적합도로 내림차순
사용자는 만족스러운 결과 얻음
검색 모델링이란
doc23
0.53
doc63
0.91
doc7
0.34
doc23
0.53
doc63
0.91
doc7
0.34
적합도 부여
내림차순로 정렬
17 / 42
문서
품질
생성 날짜, 가격, 리뷰 점수 등
문서 자체의 점수
사용자의 검색에 대한
클릭, 구매 등의 점수
검색 질의 색인어와
문서 색인어 사이의 확률적 관계
NHN 검색 모델링
적합도
질의문서
유사도
사용자
피드백
문서 품질
(Quality)
사용자 피드백
(UserFeedback)
질의문서 유사도
(Similarity)
𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 𝑸𝑸𝑸𝑸𝑸𝑸, 𝑫𝑫𝑫𝑫𝑫𝑫 = 𝜶𝜶𝟏𝟏 ∗ 𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸 𝑫𝑫𝑫𝑫𝑫𝑫 + 𝜶𝜶𝟐𝟐 ∗ 𝑺𝑺𝑺𝑺 𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺 𝑸𝑸𝒓𝒓𝒓𝒓, 𝑫𝑫𝒐𝒐𝒐𝒐 + 𝜶𝜶𝟑𝟑 ∗ 𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼(𝑸𝑸𝑸𝑸𝑸𝑸, 𝑫𝑫𝑫𝑫𝑫𝑫)
검색 모델
18 / 42
검색 질의와 상품이 얼마나 유사한가?
질의문서 유사도
토마토
섹션
19 / 42
검색 질의와 상품이 얼마나 유사한가?
질의문서 유사도
토마토
브랜드: 토마토팩토리
상품명: 200D 유발 멀티레깅스
카테고리: 패션의류>스타킹/레깅스>레깅스
브랜드: 빛과나무
상품명: 빛가득 일반토마토 10kg…
카테고리: 식품>청과/농산물>국내산과일
섹션
20 / 42
검색 질의와 상품이 얼마나 유사한가?
질의문서 유사도
토마토
각각의 특성을 갖는 속성 정보들의 집합
브랜드: 토마토팩토리
상품명: 200D 유발 멀티레깅스
카테고리: 패션의류>스타킹/레깅스>레깅스
브랜드: 빛과나무
상품명: 빛가득 일반토마토 10kg…
카테고리: 식품>청과/농산물>국내산과일
섹션
21 / 42
쇼핑 문서의 특성을 이용
질의문서 유사도
토마토
브랜드: 토마토팩토리
상품명: 200D 유발 멀티레깅스
카테고리: 패션의류>스타킹/레깅스>레깅스
𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 𝑸𝑸𝑸𝑸𝑸𝑸, 𝑫𝑫𝑫𝑫𝑫𝑫 = 𝜶𝜶𝟏𝟏 ∗ 𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸 𝑫𝑫𝑫𝑫𝑫𝑫 + 𝜶𝜶𝟐𝟐 ∗ 𝑺𝑺𝑺𝑺 𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺 𝑸𝑸𝒓𝒓𝒓𝒓, 𝑫𝑫𝒐𝒐𝒐𝒐 + 𝜶𝜶𝟑𝟑 ∗ 𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼(𝑸𝑸𝑸𝑸𝑸𝑸, 𝑫𝑫𝑫𝑫𝑫𝑫)
�
𝒔𝒔𝒆𝒆𝒆𝒆∈𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺
𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒔𝒔𝒔𝒔𝒔𝒔 𝑸𝑸𝑸𝑸𝑸𝑸 ∗ 𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸 𝑸𝑸(𝑸𝑸𝒓𝒓𝒓𝒓, 𝑫𝑫𝒐𝒐𝒐𝒐𝒔𝒔𝒔𝒔𝒔𝒔)
브랜드:
상품명:
카테고리:
영역 중요도
영역별 중요도 반영
영역 별 유사도 계산
22 / 42
토마토가 나와야 할 중요한 영역을 찾자
질의문서 유사도
토마토
브랜드: 토마토팩토리
상품명: 200D 유발 멀티레깅스
카테고리: 패션의류>스타킹/레깅스>레깅스
브랜드: 빛과나무
상품명: 빛가득 일반토마토 10kg…
카테고리: 식품>청과/농산물>국내산과일
상품명에 토마토가 나오면 찾는 상품과 가깝다
브랜드:
상품명:
카테고리:
영역 중요도
검색 모델 유사도
24 / 42
유사도 (Similarity)
“토마토“
검색 질의 색인어와
문서의 색인어가 유사하다는 건 뭘까?
여러 상품 중에 토마토와
유사한 상품을 어떻게 찾지?
25 / 42
벡터 공간
모델
2포와송
모델
이진 독립
모델
초기의 유사도 모델들
• 검색 질의, 문서를 단어 벡터로 표현
• 두 단어 벡터 사이의 코사인 계산
• 단어의 분포를 단어의 유무로만 보는 모델
• 검색 질의에 적합한 단어 분포로 계산
• 단어의 분포를 포와송 분포로 보는 모델
• 문서가 색인어와 관련 있을수록 색인어 출현 빈도에 영향을 준다
베르누이 분포
Eliteness 속성
TF-IDF 기반
확률 모델
26 / 42
색인어 빈도
(Term Frequency)
역문서 빈도
(Inverted Document Frequency)
잠깐. TF? IDF?
“빛 가득 일반 토마토는
수확한 토마토로…
토마토는 무기질 공급 …”
TF(토마토) = 3
“강원 토마토 5kg, 10kg
유기농 …”
“ 슬림 블랙 루즈핏
목폴라 니트원피스 …”
“탱글탱글 친환경 무농약
찰 완숙 토마토 …”
DF(토마토) = 2
IDF(토마토) = TotalDocCnt/DF(토마토)
“…”
“…”
문서집합단일문서
27 / 42
TF-IDF
TF-IDF
역문서 빈도 IDF 문서집합에서의 희소가치를 나타낸다
색인어 빈도 TF 자주 나온다면 그 문서를 대표한다
= 𝑻𝑻𝑻𝑻 ∗ 𝒍𝒍𝒍𝒍𝒍𝒍
𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻
𝑫𝑫𝑫𝑫
두 속성을 반영
28 / 42
TF에 큰 영향을 받는다
초기 확률 모델의 문제점
“완숙 토마토 10kg”
토마토
“토마토팩토리 토마토
팩토리 토마토팩토리
토마토팩토리 …”
토마토 키워드가 한번 들어간 상품
토마토 키워드가 반복해서 들어간 상품
무의미한 키워드 반복이 유사도 계산에 영향을 준다
더 높은
유사도 점수
그렇다고 키워드 출현을 무시할 수는 없고…
29 / 42
BM25
다른 문서들과 비교해
무의미한 반복 등으로 긴 문서에 페널티
키워드 출현 빈도가 계속 커지더라도
정해진 범위의 값에 들어가도록 함
초기 확률 모델의 문제점을 개선
확률 모델 - BM25
키워드 출현 비율 반영
평균 문서 길이 반영
30 / 42
문서는 각각의 특성을 갖는 영역으로 구성되어 있다
확률 모델 - BM25
빛과나무
빛가득 일반토마토 10kg
식품 청과/농산물 국내산과일
단일 텍스트 문서
토마토
BM25 유사도 계산
브랜드: 빛과나무
상품명: 빛가득 일반토마토 10kg…
카테고리: 식품>청과/농산물>국내산과일
구조화된 문서
토마토
각 영역에 대해 BM25 유사도 계산
구조화 된 문서를 잘 이용하자
31 / 42
검색 질의 중요도를 잘 활용하지 않았다
확률 모델 - BM25
토마토
브랜드: 토마토팩토리
상품명: 200D 유발 멀티레깅스
카테고리: 패션의류>스타킹/레깅스>레깅스
브랜드:
상품명:
카테고리:
영역 중요도
각 영역의 유사도
계산에만 집중
각 영역의 중요도는 동일하다
검색 질의 별로 중요한 영역이 다르지 않을까?
32 / 42
검색 질의에 중요한 영역을 찾아 유사도 계산에 반영
확률 모델 - BM25F
토마토
브랜드: 토마토팩토리
상품명: 200D 유발 멀티레깅스
카테고리: 패션의류>스타킹/레깅스>레깅스
브랜드: 빛과나무
상품명: 빛가득 일반토마토 10kg…
카테고리: 식품>청과/농산물>국내산과일
검색 질의와
각 영역의
유사도
검색 질의
중요도 반영
구조화된 검색 모델
구조화된 검색 모델
34 / 42
구조화된 문서를 적극적으로 활용하는 모델
구조화된 검색 모델
두 상품간의 차이를 만들지 못 함
브랜드:
상품명:
카테고리:
영역 중요도
브랜드:
상품명:
카테고리:
영역 중요도
토마토
각 영역을 구분없이 동일하게 보면
상품명에 토마토가 나오면 관심있는 상품
35 / 42
검색 질의 별로 각 영역의 중요도가 다르다
중요도 (Importance)
토마토
브랜드:
상품명:
카테고리:
영역 중요도
36 / 42
수납장
검색 질의 별로 각 영역의 중요도가 다르다
중요도 (Importance)
브랜드:
상품명:
카테고리:
영역 중요도
37 / 42
브랜드:
상품명:
카테고리:
영역 중요도
아디다스
검색 질의 별로 각 영역의 중요도가 다르다
중요도 (Importance)
38 / 42
브랜드:
상품명:
카테고리:
영역 중요도
아디다스
검색 질의 별로 각 영역의 중요도가 다르다
중요도 (Importance)
검색 질의를 잘 분석하는게 중요
39 / 42
하나 하나
손으로 입력
검색 질의 별 중요도 선택 방법
중요도 (Importance)
토마토
수납장
나이키 견과류
아디다스
바나나
청바지
사람이 하기에는 너무 많다
40 / 42
하나 하나
손으로 입력
검색 질의 별 중요도 선택 방법
중요도 (Importance)
토마토
수납장
나이키 견과류
아디다스
바나나
청바지
자동화된
선택 방법
필요하다
사람이 하기에는 너무 많다
41 / 42
베이즈
분류기
각 영역의 색인어 빈도를 이용
검색 질의의 영역 분류 확률 계산
계산된 분류 확률을 중요도로 사용
검색 질의를 통해 상품에 대한 요구를 전달한다
질의 분석을 통한 중요도 할당
사용자의 요구를 문서에 맞춰 분류해보자
42 / 42
베이즈
분류기
검색 질의 별로 각 영역의 분류 확률을 계산
질의 분석을 통한 중요도 할당
토마토
수납장
아디다스
브랜드:
상품명:
카테고리:
영역 중요도
25%
75%
0%
브랜드:
상품명:
카테고리:
영역 중요도
43%
57%
0%
브랜드:
상품명:
카테고리:
영역 중요도
37%
63%
0%
계산된 분류 확률을
각 영역의 중요도로 사용
43 / 42
중요도를 반영해서 검색 질의와 상품들 간의 유사도 계산
중요도를 반영해 유사도 계산
토마토
브랜드: 토마토팩토리
상품명: 200D 유발 멀티레깅스
카테고리: 패션의류>
스타킹/레깅스>레깅스
브랜드: 빛과나무
상품명: 빛가득 일반토마토 10kg…
카테고리: 식품>청과/농산물>
국내산과일
브랜드:
상품명:
카테고리:
영역 중요도
44 / 42
중요도를 반영해서 검색 질의와 상품들 간의 유사도 계산
중요도를 반영해 유사도 계산
토마토
브랜드: 토마토팩토리
상품명: 200D 유발 멀티레깅스
카테고리: 패션의류>
스타킹/레깅스>레깅스
브랜드: 빛과나무
상품명: 빛가득 일반토마토 10kg…
카테고리: 식품>청과/농산물>
국내산과일
브랜드:
상품명:
카테고리:
영역 중요도
유사도 유사도
45 / 42
중요도를 반영해서 검색 질의와 상품들 간의 유사도 계산
중요도를 반영해 유사도 계산
토마토
브랜드: 토마토팩토리
상품명: 200D 유발 멀티레깅스
카테고리: 패션의류>
스타킹/레깅스>레깅스
브랜드: 빛과나무
상품명: 빛가득 일반토마토 10kg…
카테고리: 식품>청과/농산물>
국내산과일
브랜드:
상품명:
카테고리:
영역 중요도
유사도 유사도
빨간 토마토를 찾을 수 있을 것이다
46 / 42
현실과 이상의 괴리
(https://www.uniquepavingmaterials.com/how-a-road-is-paved/)
(https://www.dirtandgravel.psu.edu/pa-program-resources/scc-program-overview/program-history)
47 / 42
많은 검색 질의의 중요도가 상품명에 높게 나온다
기대했던 검색 결과가 나오지 않는다
수납장
아디다스
브랜드:
상품명:
카테고리:
영역 중요도
브랜드:
상품명:
카테고리:
영역 중요도
브랜드인데 상품명이 가장 높다
카테고리 종류인데 상품명이 가장 높다
0.26
0.43
0.31
중요도
평균 중요도
브랜드 상품명 카테고리
48 / 42
상품명에 브랜드도 나오네?
상품명에 다른 영역의 키워드들이 들어가 있다.
학습 문서 품질 문제 1
상품명에 카테고리도 나오네?
[버커루] 남성용 데님 팬츠 청바지
[아디다스] 클래식 삼선 트레이닝복
[토마토팩토리] 200D 유발 멀티레깅스
여러 상품명들
49 / 42
상품명에 브랜드도 나오네?
상품명에 다른 영역의 키워드들이 들어가 있다.
학습 문서 품질 문제 1
상품명에 카테고리도 나오네?
[버커루] 남성용 데님 팬츠 청바지
[아디다스] 클래식 삼선 트레이닝복
[토마토팩토리] 200D 유발 멀티레깅스
상품명의 분류 확률이 높게 계산된다
쇼핑 문서의 상품명에 브랜드도 있고 카테고리도 있다
여러 상품명들
50 / 42
여러 내용이 묶여 있다
하나의 카테고리에 여러 내용이 들어가 있다
학습 문서 품질 문제 2
식품>쌀/청과/농수축산물>채소/근채류>감자/고구마/호박
스포츠/레저>자전거/스키/보드>스키/스노우보드>스키복
여러 카테고리들
서로 다른 내용이 묶여 있다
51 / 42
여러 내용이 묶여 있다
하나의 카테고리에 여러 내용이 들어가 있다
학습 문서 품질 문제 2
식품>쌀/청과/농수축산물>채소/근채류>감자/고구마/호박
스포츠/레저>자전거/스키/보드>스키/스노우보드>스키복
여러 카테고리들
서로 다른 내용이 묶여 있다
빈도 기반의 확률 계산에 영향을 준다
52 / 42
문서 품질
개선
검색 모델
고도화
질의 분석
고도화
쇼핑 검색 품질을 높이기 위해 하고 있는 일들
• 유사도 계산을 위한 상품 문서내용 정제
• 유니크한 상품 카테고리 정보 부여
• 기존의 질의 분석 문제를 해결한 새로운 질의 분석 기법
• 검색 질의에 포함 된 속성 정보 추출
• 정제 된 문서, 질의 분석을 활용한 쇼핑 검색 모델 고도화
• 검색 질의의 의도를 최대한 정확히 검색결과에 반영
53 / 42
 Christopher D. Manning, Prabhakar Raghavan & Hinrich Schütze. An Introduction to InformationRetrieval
 Jinyoung Kim, Xiaobing Xue and W. Bruce Croft. A Probabilistic Retrieval Model for Semistructured Data
 Aman Berhane Ghirmatsion and Krisztian Balog. Probabilistic Field Mapping for Product Search
 Stephen Robertson and Hugo Zaragoza. The Probabilistic Relevance Framework: BM25 and Beyond
참고 자료
© 2018 NHN FORWARD. All rights reserved.
Q&A
© 2018 NHN FORWARD. All rights reserved.
THANK YOU

More Related Content

What's hot

[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우
NAVER D2
 
UX Academy 18th 네이버 쇼핑 UX/UI 개선 프로젝트
UX Academy 18th 네이버 쇼핑 UX/UI 개선 프로젝트UX Academy 18th 네이버 쇼핑 UX/UI 개선 프로젝트
UX Academy 18th 네이버 쇼핑 UX/UI 개선 프로젝트
RightBrain inc.
 
2015 py con word2vec이 추천시스템을 만났을때
2015 py con word2vec이 추천시스템을 만났을때 2015 py con word2vec이 추천시스템을 만났을때
2015 py con word2vec이 추천시스템을 만났을때
choi kyumin
 

What's hot (20)

린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
 
텍스트 마이닝 기본 정리(말뭉치, 텍스트 전처리 절차, TF, IDF 기타)
텍스트 마이닝 기본 정리(말뭉치, 텍스트 전처리 절차, TF, IDF 기타)텍스트 마이닝 기본 정리(말뭉치, 텍스트 전처리 절차, TF, IDF 기타)
텍스트 마이닝 기본 정리(말뭉치, 텍스트 전처리 절차, TF, IDF 기타)
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
 
[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우[226]대용량 텍스트마이닝 기술 하정우
[226]대용량 텍스트마이닝 기술 하정우
 
[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기[261] 실시간 추천엔진 머신한대에 구겨넣기
[261] 실시간 추천엔진 머신한대에 구겨넣기
 
인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
 
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색[216]네이버 검색 사용자를 만족시켜라!   의도파악과 의미검색
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
 
UX Academy 18th 네이버 쇼핑 UX/UI 개선 프로젝트
UX Academy 18th 네이버 쇼핑 UX/UI 개선 프로젝트UX Academy 18th 네이버 쇼핑 UX/UI 개선 프로젝트
UX Academy 18th 네이버 쇼핑 UX/UI 개선 프로젝트
 
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 [데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
 
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
 
[Causal Inference KR] 스타트업에서의 인과추론
[Causal Inference KR] 스타트업에서의 인과추론[Causal Inference KR] 스타트업에서의 인과추론
[Causal Inference KR] 스타트업에서의 인과추론
 
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Secret X 팀] : XAI를 활용한 수능 영어영역 문제풀이
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Secret X 팀] : XAI를 활용한 수능 영어영역 문제풀이제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Secret X 팀] : XAI를 활용한 수능 영어영역 문제풀이
제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [Secret X 팀] : XAI를 활용한 수능 영어영역 문제풀이
 
Elasticsearch를 활용한 GIS 검색
Elasticsearch를 활용한 GIS 검색Elasticsearch를 활용한 GIS 검색
Elasticsearch를 활용한 GIS 검색
 
추천시스템 이제는 돈이 되어야 한다.
추천시스템 이제는 돈이 되어야 한다.추천시스템 이제는 돈이 되어야 한다.
추천시스템 이제는 돈이 되어야 한다.
 
실무에서 활용하는 A/B테스트
실무에서 활용하는 A/B테스트실무에서 활용하는 A/B테스트
실무에서 활용하는 A/B테스트
 
2015 py con word2vec이 추천시스템을 만났을때
2015 py con word2vec이 추천시스템을 만났을때 2015 py con word2vec이 추천시스템을 만났을때
2015 py con word2vec이 추천시스템을 만났을때
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 

More from NHN FORWARD

More from NHN FORWARD (20)

[2019] 패션 시소러스 기반 상품 특징 분석 시스템
[2019] 패션 시소러스 기반 상품 특징 분석 시스템[2019] 패션 시소러스 기반 상품 특징 분석 시스템
[2019] 패션 시소러스 기반 상품 특징 분석 시스템
 
[2019] 스몰 스텝: Android 렛츠기릿!
[2019] 스몰 스텝: Android 렛츠기릿![2019] 스몰 스텝: Android 렛츠기릿!
[2019] 스몰 스텝: Android 렛츠기릿!
 
딥러닝, 야 너도 할 수 있어(feat. PyTorch)
딥러닝, 야 너도 할 수 있어(feat. PyTorch)딥러닝, 야 너도 할 수 있어(feat. PyTorch)
딥러닝, 야 너도 할 수 있어(feat. PyTorch)
 
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
NHN 베이스캠프: 신입사원들은 무엇을 배우나요?
 
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
[2019] GIF 스티커 만들기: 스파인 2D를 이용한 움직이는 스티커 만들기
 
[2019] 전기 먹는 하마의 다이어트 성공기 클라우드 데이터 센터의 에너지 절감 노력과 사례
[2019] 전기 먹는 하마의 다이어트 성공기   클라우드 데이터 센터의 에너지 절감 노력과 사례[2019] 전기 먹는 하마의 다이어트 성공기   클라우드 데이터 센터의 에너지 절감 노력과 사례
[2019] 전기 먹는 하마의 다이어트 성공기 클라우드 데이터 센터의 에너지 절감 노력과 사례
 
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
[2019] 스몰 스텝: Dooray!를 이용한 업무 효율화/자동화(고객문의 시스템 구축)
 
[2019] 아직도 돈 주고 DB 쓰나요? for Developer
[2019] 아직도 돈 주고 DB 쓰나요? for Developer[2019] 아직도 돈 주고 DB 쓰나요? for Developer
[2019] 아직도 돈 주고 DB 쓰나요? for Developer
 
[2019] 아직도 돈 주고 DB 쓰나요 for DBA
[2019] 아직도 돈 주고 DB 쓰나요 for DBA[2019] 아직도 돈 주고 DB 쓰나요 for DBA
[2019] 아직도 돈 주고 DB 쓰나요 for DBA
 
[2019] 비주얼 브랜딩: Basic system
[2019] 비주얼 브랜딩: Basic system[2019] 비주얼 브랜딩: Basic system
[2019] 비주얼 브랜딩: Basic system
 
[2019] PAYCO 매거진 서버 Kotlin 적용기
[2019] PAYCO 매거진 서버 Kotlin 적용기[2019] PAYCO 매거진 서버 Kotlin 적용기
[2019] PAYCO 매거진 서버 Kotlin 적용기
 
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
[2019] 벅스 5.0 (feat. Kotlin, Jetpack)
 
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
[2019] Java에서 Fiber를 이용하여 동시성concurrency 프로그래밍 쉽게 하기
 
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
[2019] PAYCO 쇼핑 마이크로서비스 아키텍처(MSA) 전환기
 
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
[2019] 비식별 데이터로부터의 가치 창출과 수익화 사례
 
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
[2019] 게임 서버 대규모 부하 테스트와 모니터링 이렇게 해보자
 
[2019] 200만 동접 게임을 위한 MySQL 샤딩
[2019] 200만 동접 게임을 위한 MySQL 샤딩[2019] 200만 동접 게임을 위한 MySQL 샤딩
[2019] 200만 동접 게임을 위한 MySQL 샤딩
 
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
[2019] 언리얼 엔진을 통해 살펴보는 리플렉션과 가비지 컬렉션
 
[2019] 글로벌 게임 서비스 노하우
[2019] 글로벌 게임 서비스 노하우[2019] 글로벌 게임 서비스 노하우
[2019] 글로벌 게임 서비스 노하우
 
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
[2019] 배틀로얄 전장(map) 제작으로 알아보는 슈팅 게임 레벨 디자인
 

[2018] 구조화된 검색 모델

  • 1. © 2018 NHN FORWARD. All rights reserved. 구조화된 검색 모델 노병석 검색모델링팀
  • 2. CONTENTS 1. 검색이란 2. 검색 모델링 3. 검색 모델 유사도 4. 구조화된 검색 모델
  • 4. 4 / 42 검색을 해봅시다 토마토 토마토로 검색을 했는데 레깅스가? 토마토 바나나 바나나 바나나로 검색을 했는데 코트? 백팩?
  • 5. 5 / 42 검색을 해봅시다 토마토 토마토로 검색을 했는데 레깅스가? 토마토 바나나 바나나 만족할 만한 검색 결과가 아니다 바나나로 검색을 했는데 코트? 백팩?
  • 6. 6 / 42 토마토로 찾았는데 왜 옷이 보이지? 토마토
  • 7. 7 / 42 토마토로 찾았는데 왜 옷이 보이지? 브랜드에 토마토가 나왔음 상품명에 토마토가 나왔음 토마토
  • 8. 8 / 42 토마토로 찾았는데 왜 옷이 보이지? 브랜드에 토마토가 나왔음 상품명에 토마토가 나왔음 토마토 두 상품에서 모두 토마토가 나오긴 한다
  • 9. 9 / 42 사용자의 검색 질의를 분석 분석된 질의에 맞는 상품을 찾음 왜 이런 검색 결과가 나올까? 쇼핑 검색 프로세스 토마토 검색 서비스 검색 엔진
  • 10. 10 / 42 검색 질의와 관련 된 상품들을 찾기 위한 역색인 구조 상품 찾는 방법 토마토 팩토리 나무 … 토마토가 나온 문서들 색인어들 단순히 토마토를 포함하는 상품들 상품들 간의 순서는 임의적 역색인 구조
  • 11. 11 / 42 토마토 검색 질의 색인어와 문서 색인어 간의 매칭 토마토팩토리가 보이는 이유 토마토 “토마토팩토리“ 색인어 추출 색인어 추출 방식 검색 질의와 문서가 동일해야한다 어절 단위 N-gram 형태소 분석 “빛가득 일반토마토“ 토마토 토마토 팩토리 빛가득 일반
  • 12. 12 / 42 토마토팩토리 토마토팩토리를 하나의 색인어로 보는 방법 색인어 추출로 문제를 해결해 보자 “토마토팩토리“ 토마토 브랜드가 “토마토” 라면? 검색이 안 돼도 괜찮을까? 다른 문제는 없을까? 이러면 토마토팩토리는 안 보이겠다! 색인어 추출 방법으로는 한계가 있다! 색인어 추출
  • 13. 13 / 42 검색 모델링 검색 랭킹으로 문제를 해결하자 검색결과 관련 된 상품들이 너무 많다 상품을 노출 할 수 있는 화면은 제한적인데… 어떤 상품을 먼저 보여줘야 할까? 사용자가 만족할만한 상품을 먼저 보여주자 2,263 보편성
  • 15. 15 / 42 단순 정렬 상품이 검색 질의에 얼마나 적합한가 줄 세우기 Information needs 사용자의 요구에 맞는 가장 적합한 상품을 찾자! 가격 순 정렬? 리뷰가 많은 순서? 신상품 먼저?
  • 16. 16 / 42 검색 모델링 검색 질의와 문서간의 적합도 산정 산정된 적합도로 내림차순 사용자는 만족스러운 결과 얻음 검색 모델링이란 doc23 0.53 doc63 0.91 doc7 0.34 doc23 0.53 doc63 0.91 doc7 0.34 적합도 부여 내림차순로 정렬
  • 17. 17 / 42 문서 품질 생성 날짜, 가격, 리뷰 점수 등 문서 자체의 점수 사용자의 검색에 대한 클릭, 구매 등의 점수 검색 질의 색인어와 문서 색인어 사이의 확률적 관계 NHN 검색 모델링 적합도 질의문서 유사도 사용자 피드백 문서 품질 (Quality) 사용자 피드백 (UserFeedback) 질의문서 유사도 (Similarity) 𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 𝑸𝑸𝑸𝑸𝑸𝑸, 𝑫𝑫𝑫𝑫𝑫𝑫 = 𝜶𝜶𝟏𝟏 ∗ 𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸 𝑫𝑫𝑫𝑫𝑫𝑫 + 𝜶𝜶𝟐𝟐 ∗ 𝑺𝑺𝑺𝑺 𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺 𝑸𝑸𝒓𝒓𝒓𝒓, 𝑫𝑫𝒐𝒐𝒐𝒐 + 𝜶𝜶𝟑𝟑 ∗ 𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼(𝑸𝑸𝑸𝑸𝑸𝑸, 𝑫𝑫𝑫𝑫𝑫𝑫) 검색 모델
  • 18. 18 / 42 검색 질의와 상품이 얼마나 유사한가? 질의문서 유사도 토마토 섹션
  • 19. 19 / 42 검색 질의와 상품이 얼마나 유사한가? 질의문서 유사도 토마토 브랜드: 토마토팩토리 상품명: 200D 유발 멀티레깅스 카테고리: 패션의류>스타킹/레깅스>레깅스 브랜드: 빛과나무 상품명: 빛가득 일반토마토 10kg… 카테고리: 식품>청과/농산물>국내산과일 섹션
  • 20. 20 / 42 검색 질의와 상품이 얼마나 유사한가? 질의문서 유사도 토마토 각각의 특성을 갖는 속성 정보들의 집합 브랜드: 토마토팩토리 상품명: 200D 유발 멀티레깅스 카테고리: 패션의류>스타킹/레깅스>레깅스 브랜드: 빛과나무 상품명: 빛가득 일반토마토 10kg… 카테고리: 식품>청과/농산물>국내산과일 섹션
  • 21. 21 / 42 쇼핑 문서의 특성을 이용 질의문서 유사도 토마토 브랜드: 토마토팩토리 상품명: 200D 유발 멀티레깅스 카테고리: 패션의류>스타킹/레깅스>레깅스 𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹𝑹 𝑸𝑸𝑸𝑸𝑸𝑸, 𝑫𝑫𝑫𝑫𝑫𝑫 = 𝜶𝜶𝟏𝟏 ∗ 𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸 𝑫𝑫𝑫𝑫𝑫𝑫 + 𝜶𝜶𝟐𝟐 ∗ 𝑺𝑺𝑺𝑺 𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺 𝑸𝑸𝒓𝒓𝒓𝒓, 𝑫𝑫𝒐𝒐𝒐𝒐 + 𝜶𝜶𝟑𝟑 ∗ 𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼𝑼(𝑸𝑸𝑸𝑸𝑸𝑸, 𝑫𝑫𝑫𝑫𝑫𝑫) � 𝒔𝒔𝒆𝒆𝒆𝒆∈𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺𝑺 𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒊𝒔𝒔𝒔𝒔𝒔𝒔 𝑸𝑸𝑸𝑸𝑸𝑸 ∗ 𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸𝑸 𝑸𝑸(𝑸𝑸𝒓𝒓𝒓𝒓, 𝑫𝑫𝒐𝒐𝒐𝒐𝒔𝒔𝒔𝒔𝒔𝒔) 브랜드: 상품명: 카테고리: 영역 중요도 영역별 중요도 반영 영역 별 유사도 계산
  • 22. 22 / 42 토마토가 나와야 할 중요한 영역을 찾자 질의문서 유사도 토마토 브랜드: 토마토팩토리 상품명: 200D 유발 멀티레깅스 카테고리: 패션의류>스타킹/레깅스>레깅스 브랜드: 빛과나무 상품명: 빛가득 일반토마토 10kg… 카테고리: 식품>청과/농산물>국내산과일 상품명에 토마토가 나오면 찾는 상품과 가깝다 브랜드: 상품명: 카테고리: 영역 중요도
  • 24. 24 / 42 유사도 (Similarity) “토마토“ 검색 질의 색인어와 문서의 색인어가 유사하다는 건 뭘까? 여러 상품 중에 토마토와 유사한 상품을 어떻게 찾지?
  • 25. 25 / 42 벡터 공간 모델 2포와송 모델 이진 독립 모델 초기의 유사도 모델들 • 검색 질의, 문서를 단어 벡터로 표현 • 두 단어 벡터 사이의 코사인 계산 • 단어의 분포를 단어의 유무로만 보는 모델 • 검색 질의에 적합한 단어 분포로 계산 • 단어의 분포를 포와송 분포로 보는 모델 • 문서가 색인어와 관련 있을수록 색인어 출현 빈도에 영향을 준다 베르누이 분포 Eliteness 속성 TF-IDF 기반 확률 모델
  • 26. 26 / 42 색인어 빈도 (Term Frequency) 역문서 빈도 (Inverted Document Frequency) 잠깐. TF? IDF? “빛 가득 일반 토마토는 수확한 토마토로… 토마토는 무기질 공급 …” TF(토마토) = 3 “강원 토마토 5kg, 10kg 유기농 …” “ 슬림 블랙 루즈핏 목폴라 니트원피스 …” “탱글탱글 친환경 무농약 찰 완숙 토마토 …” DF(토마토) = 2 IDF(토마토) = TotalDocCnt/DF(토마토) “…” “…” 문서집합단일문서
  • 27. 27 / 42 TF-IDF TF-IDF 역문서 빈도 IDF 문서집합에서의 희소가치를 나타낸다 색인어 빈도 TF 자주 나온다면 그 문서를 대표한다 = 𝑻𝑻𝑻𝑻 ∗ 𝒍𝒍𝒍𝒍𝒍𝒍 𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻𝑻 𝑫𝑫𝑫𝑫 두 속성을 반영
  • 28. 28 / 42 TF에 큰 영향을 받는다 초기 확률 모델의 문제점 “완숙 토마토 10kg” 토마토 “토마토팩토리 토마토 팩토리 토마토팩토리 토마토팩토리 …” 토마토 키워드가 한번 들어간 상품 토마토 키워드가 반복해서 들어간 상품 무의미한 키워드 반복이 유사도 계산에 영향을 준다 더 높은 유사도 점수 그렇다고 키워드 출현을 무시할 수는 없고…
  • 29. 29 / 42 BM25 다른 문서들과 비교해 무의미한 반복 등으로 긴 문서에 페널티 키워드 출현 빈도가 계속 커지더라도 정해진 범위의 값에 들어가도록 함 초기 확률 모델의 문제점을 개선 확률 모델 - BM25 키워드 출현 비율 반영 평균 문서 길이 반영
  • 30. 30 / 42 문서는 각각의 특성을 갖는 영역으로 구성되어 있다 확률 모델 - BM25 빛과나무 빛가득 일반토마토 10kg 식품 청과/농산물 국내산과일 단일 텍스트 문서 토마토 BM25 유사도 계산 브랜드: 빛과나무 상품명: 빛가득 일반토마토 10kg… 카테고리: 식품>청과/농산물>국내산과일 구조화된 문서 토마토 각 영역에 대해 BM25 유사도 계산 구조화 된 문서를 잘 이용하자
  • 31. 31 / 42 검색 질의 중요도를 잘 활용하지 않았다 확률 모델 - BM25 토마토 브랜드: 토마토팩토리 상품명: 200D 유발 멀티레깅스 카테고리: 패션의류>스타킹/레깅스>레깅스 브랜드: 상품명: 카테고리: 영역 중요도 각 영역의 유사도 계산에만 집중 각 영역의 중요도는 동일하다 검색 질의 별로 중요한 영역이 다르지 않을까?
  • 32. 32 / 42 검색 질의에 중요한 영역을 찾아 유사도 계산에 반영 확률 모델 - BM25F 토마토 브랜드: 토마토팩토리 상품명: 200D 유발 멀티레깅스 카테고리: 패션의류>스타킹/레깅스>레깅스 브랜드: 빛과나무 상품명: 빛가득 일반토마토 10kg… 카테고리: 식품>청과/농산물>국내산과일 검색 질의와 각 영역의 유사도 검색 질의 중요도 반영 구조화된 검색 모델
  • 34. 34 / 42 구조화된 문서를 적극적으로 활용하는 모델 구조화된 검색 모델 두 상품간의 차이를 만들지 못 함 브랜드: 상품명: 카테고리: 영역 중요도 브랜드: 상품명: 카테고리: 영역 중요도 토마토 각 영역을 구분없이 동일하게 보면 상품명에 토마토가 나오면 관심있는 상품
  • 35. 35 / 42 검색 질의 별로 각 영역의 중요도가 다르다 중요도 (Importance) 토마토 브랜드: 상품명: 카테고리: 영역 중요도
  • 36. 36 / 42 수납장 검색 질의 별로 각 영역의 중요도가 다르다 중요도 (Importance) 브랜드: 상품명: 카테고리: 영역 중요도
  • 37. 37 / 42 브랜드: 상품명: 카테고리: 영역 중요도 아디다스 검색 질의 별로 각 영역의 중요도가 다르다 중요도 (Importance)
  • 38. 38 / 42 브랜드: 상품명: 카테고리: 영역 중요도 아디다스 검색 질의 별로 각 영역의 중요도가 다르다 중요도 (Importance) 검색 질의를 잘 분석하는게 중요
  • 39. 39 / 42 하나 하나 손으로 입력 검색 질의 별 중요도 선택 방법 중요도 (Importance) 토마토 수납장 나이키 견과류 아디다스 바나나 청바지 사람이 하기에는 너무 많다
  • 40. 40 / 42 하나 하나 손으로 입력 검색 질의 별 중요도 선택 방법 중요도 (Importance) 토마토 수납장 나이키 견과류 아디다스 바나나 청바지 자동화된 선택 방법 필요하다 사람이 하기에는 너무 많다
  • 41. 41 / 42 베이즈 분류기 각 영역의 색인어 빈도를 이용 검색 질의의 영역 분류 확률 계산 계산된 분류 확률을 중요도로 사용 검색 질의를 통해 상품에 대한 요구를 전달한다 질의 분석을 통한 중요도 할당 사용자의 요구를 문서에 맞춰 분류해보자
  • 42. 42 / 42 베이즈 분류기 검색 질의 별로 각 영역의 분류 확률을 계산 질의 분석을 통한 중요도 할당 토마토 수납장 아디다스 브랜드: 상품명: 카테고리: 영역 중요도 25% 75% 0% 브랜드: 상품명: 카테고리: 영역 중요도 43% 57% 0% 브랜드: 상품명: 카테고리: 영역 중요도 37% 63% 0% 계산된 분류 확률을 각 영역의 중요도로 사용
  • 43. 43 / 42 중요도를 반영해서 검색 질의와 상품들 간의 유사도 계산 중요도를 반영해 유사도 계산 토마토 브랜드: 토마토팩토리 상품명: 200D 유발 멀티레깅스 카테고리: 패션의류> 스타킹/레깅스>레깅스 브랜드: 빛과나무 상품명: 빛가득 일반토마토 10kg… 카테고리: 식품>청과/농산물> 국내산과일 브랜드: 상품명: 카테고리: 영역 중요도
  • 44. 44 / 42 중요도를 반영해서 검색 질의와 상품들 간의 유사도 계산 중요도를 반영해 유사도 계산 토마토 브랜드: 토마토팩토리 상품명: 200D 유발 멀티레깅스 카테고리: 패션의류> 스타킹/레깅스>레깅스 브랜드: 빛과나무 상품명: 빛가득 일반토마토 10kg… 카테고리: 식품>청과/농산물> 국내산과일 브랜드: 상품명: 카테고리: 영역 중요도 유사도 유사도
  • 45. 45 / 42 중요도를 반영해서 검색 질의와 상품들 간의 유사도 계산 중요도를 반영해 유사도 계산 토마토 브랜드: 토마토팩토리 상품명: 200D 유발 멀티레깅스 카테고리: 패션의류> 스타킹/레깅스>레깅스 브랜드: 빛과나무 상품명: 빛가득 일반토마토 10kg… 카테고리: 식품>청과/농산물> 국내산과일 브랜드: 상품명: 카테고리: 영역 중요도 유사도 유사도 빨간 토마토를 찾을 수 있을 것이다
  • 46. 46 / 42 현실과 이상의 괴리 (https://www.uniquepavingmaterials.com/how-a-road-is-paved/) (https://www.dirtandgravel.psu.edu/pa-program-resources/scc-program-overview/program-history)
  • 47. 47 / 42 많은 검색 질의의 중요도가 상품명에 높게 나온다 기대했던 검색 결과가 나오지 않는다 수납장 아디다스 브랜드: 상품명: 카테고리: 영역 중요도 브랜드: 상품명: 카테고리: 영역 중요도 브랜드인데 상품명이 가장 높다 카테고리 종류인데 상품명이 가장 높다 0.26 0.43 0.31 중요도 평균 중요도 브랜드 상품명 카테고리
  • 48. 48 / 42 상품명에 브랜드도 나오네? 상품명에 다른 영역의 키워드들이 들어가 있다. 학습 문서 품질 문제 1 상품명에 카테고리도 나오네? [버커루] 남성용 데님 팬츠 청바지 [아디다스] 클래식 삼선 트레이닝복 [토마토팩토리] 200D 유발 멀티레깅스 여러 상품명들
  • 49. 49 / 42 상품명에 브랜드도 나오네? 상품명에 다른 영역의 키워드들이 들어가 있다. 학습 문서 품질 문제 1 상품명에 카테고리도 나오네? [버커루] 남성용 데님 팬츠 청바지 [아디다스] 클래식 삼선 트레이닝복 [토마토팩토리] 200D 유발 멀티레깅스 상품명의 분류 확률이 높게 계산된다 쇼핑 문서의 상품명에 브랜드도 있고 카테고리도 있다 여러 상품명들
  • 50. 50 / 42 여러 내용이 묶여 있다 하나의 카테고리에 여러 내용이 들어가 있다 학습 문서 품질 문제 2 식품>쌀/청과/농수축산물>채소/근채류>감자/고구마/호박 스포츠/레저>자전거/스키/보드>스키/스노우보드>스키복 여러 카테고리들 서로 다른 내용이 묶여 있다
  • 51. 51 / 42 여러 내용이 묶여 있다 하나의 카테고리에 여러 내용이 들어가 있다 학습 문서 품질 문제 2 식품>쌀/청과/농수축산물>채소/근채류>감자/고구마/호박 스포츠/레저>자전거/스키/보드>스키/스노우보드>스키복 여러 카테고리들 서로 다른 내용이 묶여 있다 빈도 기반의 확률 계산에 영향을 준다
  • 52. 52 / 42 문서 품질 개선 검색 모델 고도화 질의 분석 고도화 쇼핑 검색 품질을 높이기 위해 하고 있는 일들 • 유사도 계산을 위한 상품 문서내용 정제 • 유니크한 상품 카테고리 정보 부여 • 기존의 질의 분석 문제를 해결한 새로운 질의 분석 기법 • 검색 질의에 포함 된 속성 정보 추출 • 정제 된 문서, 질의 분석을 활용한 쇼핑 검색 모델 고도화 • 검색 질의의 의도를 최대한 정확히 검색결과에 반영
  • 53. 53 / 42  Christopher D. Manning, Prabhakar Raghavan & Hinrich Schütze. An Introduction to InformationRetrieval  Jinyoung Kim, Xiaobing Xue and W. Bruce Croft. A Probabilistic Retrieval Model for Semistructured Data  Aman Berhane Ghirmatsion and Krisztian Balog. Probabilistic Field Mapping for Product Search  Stephen Robertson and Hugo Zaragoza. The Probabilistic Relevance Framework: BM25 and Beyond 참고 자료
  • 54. © 2018 NHN FORWARD. All rights reserved. Q&A
  • 55. © 2018 NHN FORWARD. All rights reserved. THANK YOU