SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
기계 번역 모델 기반
질의 교정 시스템
이름: 김태일, 손대능
소속: 네이버 검색연구센터
Contents
• 질의 교정 시스템 소개
• 현재 네이버 질의 교정 시스템의 한계
• 신규 번역 모델 기반 질의 교정 시스템 소개
• AS-IS, TO-BE 간 품질 비교
• 요약 정리
1.
질의 교정 시스템 소개
주로 Spelling/Typo Correction 역할
Query Reformulation 플랫폼의 일종
질의 교정 시스템 소개
부가기능: 한영변환, 강제변환, 바른말 추천, 축약어 추천 등
질의 교정 시스템 소개
한영변환, 강제변환
바른말 추천
축약어 추천
5/26
편의성, 검색 결과 품질 우선 != 한국어 문법 우선
맞춤법 검사기와의 차이
• 2009년 “검색어 제안” 서비스 시작
• 2015년 8월 1일 기준 검색어 제안 노출 최상위 예시
• 모바일 통검 사용자 폭증으로 그에 따르는 오탈자 교정 품질 개선 필요성 증가
현황
질의 교정 시스템 소개
입력 1등 기준 % 교정 결과
유투부 100.0%유튜브
베태랑 32.8%베테랑
탐크루즈 20.5%톰크루즈
스타일윈도우 10.0%스타일윈도
동아시아컵 9.8%동아시안컵
네이버까페 8.8%네이버카페
• 단순 입력 실수 ( 70% 이상)
• “네이버 부동시ㅜㄴ”, “네이버캐슽ㅇ”
• 한글을 영어로 / 영어를 한글로 ( 20% 이상 )
• “spdlqj(= 네이버)” , “ㅜㅁㅍㄷㄱ(= naver)”
• 맞춤법, 외래어 표기법 지식 부족 등 ( 9% 미만 )
• “캠핑베게”, “유투브”, “김치찌게”
• 잘못된 지식 ( 1% 미만 )
• “코엑스 CGV”
오탈자 유형 소개
질의 교정 시스템 소개
* (참고) 네이버는 일부 도메인에서 지식 오류를 교정한 검색어 제안도 해줌
문자 자체의 형태, 앞뒤 문맥, 검색 결과, 개인의 지식/선호도 등을 복합적으로 고려한다고 알
려짐
 형태적 특성 ≈ Signal
 앞뒤 문맥 ≈ Shallow Context
 지식+개념 ≈ Deep(Semantic/External/New) Context
사람은?
질의 교정, HOW TO DO?
ㄴ넹이버
홍길동 지반
명동 메가박스
인공 지능, 자연어처리 기반 방법론 이용
 (!) 인간의 언어/문자 사고 체계를 완벽하게 표현하는 수학 모델은 없음
 Signal + Shallow Context 모델링
 통계 + 지식 베이스(기계 학습 + 수작업 규칙)
 Deep Context 모델링
 검색 로그에 나타난 사용자 반응,
외부 데이터, 개인의 선호도
(“ / 클릭” ) 등을
나타내는 지표로 간접적으로 추정
컴퓨터는?
질의 교정, HOW TO DO?
Shallow
Context
Deep
Context
Signal
2.
기존 네이버 질의 교정
시스템의 한계
 어절 단위 모델, 원어절-교정어절간 편집거리 N 제한
 Language Model: QC (ex: 네이버 = 9999 ) 이용 학습
 Error Model=: QQ (ex: “녜이버 -> 네이버 = 99 ”) 내 패턴 이용 학습
Noisy Channel Model based Hybrid System
기존 질의 교정 시스템
𝐴𝑟𝑔𝑚𝑎𝑥교정 𝑃 교정|입력
= 𝐴𝑟𝑔𝑚𝑎𝑥교정 𝑃𝐿𝑀 교정 ∗ 𝑃𝑒𝑟 오탈자패턴 정자패턴
형태, 문맥 표현의 한계, 커버리지 떨어짐
기존 질의 교정 시스템의 한계
 띄어쓰기오류, 철자오류 동시에 포함된 질의 교정 불가
 문맥 반영 오탈자 교정 처리 미흡
 “홍길동 아등” “홍길돌 지반”
 대역 패턴의 편집거리 N제한, 이에 특화된 어절 단위 디코더 이슈
 “플라스틱일랜드 트렌치이”
 오탈자->정자 교정 패턴을 편집 거리 제한 후 단순히 연속 질의에서 추출함
오탈자->정자 학습 데이터를 늘려도 교정 커버리지/품질 개선에는 한계가 있음
3.
신규 번역 모델 기반
질의 교정 시스템 소개
요구 사항
신규 질의 교정 시스템의 방향성
 다양한 오탈자를 교정할 수 있는 Generality와 Detail을 가진 모델 구현
 형태적 특징, 문맥을 잘 반영할 수 있어야 함
 입력장치 상관 없이 적용
 속도 빨라야 함
 사용자의 새로운 질의 교정 Needs/Intention을 신규 로그에서 자동 인식해서 학습
할 수 있는 시스템
 어제와 오늘 네이버 검색로그에서 겹치는 오탈자가 5~10% 밖에 안됨
 학습 데이터 양에 비례해 교정 품질과 커버리지가 증가하는 모델
 unseen처리에도 강해야 함
• “(입력 언어) 오탈자 입력 -> (번역된 언어) 교정 결과”
• 표현 단위와 데이터의 양에 따라 Detail과 Generality를 결정할 수 있을 정도의
모델링 파워 보유
통계 기반 기계 번역 모델인 IBM MODEL2 활용 가능
번역 모델 기반 질의 교정 시스템
* Example of Koehn’s SMT slide
IBM MODEL2 Definition For Errata Correction
번역 모델 기반 질의 교정 시스템
{ 𝑨𝑳(𝒋|𝒊, 𝒍, 𝒎
𝒋<𝒍
𝒋=𝟎 ∗ 𝑻𝑹 𝑬𝒓𝒓𝒂𝒕𝒂𝒊 𝑪𝒐𝒓𝒓𝒆𝒄𝒕𝒊𝒐𝒏𝒋 } ∗ 𝑷 𝑳𝑴(𝑪𝒐𝒓𝒓𝒆𝒄𝒕𝒊𝒐𝒏)
where
l=length of Correction,
m=length of Errata,
j=j’th index of Correction,
i=i’th index of Errata
* 한국어 음절 단위로 설계
𝑷 𝑪𝒐𝒓𝒓𝒆𝒄𝒕𝒊𝒐𝒏|𝑬𝒓𝒓𝒂𝒕𝒂 =
TR=Translation Model (대역 모델)
•입력어휘에서 대역어휘로 바뀔 확률을 나타냄
AL=Alignment Model (정렬 모델)
•원 입력문장에서 번역된 어휘가 결과 문장의
어느 부분에 위치할 지를 나타냄
LM=Language Model (언어 모델)
•번역 언어로 디코딩 시 필요한 문맥, 자연스러
움의 정도를 확률로 나타냄
Specification
신규 시스템 구성 요소/존재 필요성
• 매일 대량의 새로운 오탈자 교정 Needs/Intention 관찰 및 학습 데이터로 사용필요
• 일 단위, 몇 천만 건의 학습데이터로 고속 학습이 가능한 시스템 구현 필요
• Open source 느려서 사용불가
• 분산 시스템은 필수 요소
• 비용 & 속도 & 품질 동시 고려
가능한 디코더 (교정 후보 생성 모듈)
1천만 건 학습 예상 소요시간
GIZA++ > 24 H
Our TO-BE ~ 1 H
번역모델
디코더
질의처리량/sec AS-IS 대비
서버비용
MOSE 1 ~ 50 100배 이상
Our AS-IS 2,000 ~ 3,000 1배
Our TO-BE 1,000 ~ 2,000 1.5 ~ 2배
신규 검색어 교정 시스템 구성도
Daily
Access-
Click Log
SVM based Errata-
Correct Candidate
Detector
Distributed IBM
MODEL2
Parameter EM
Learner
IBM MODEL2
Decoder
Model Binary
“아이스크리모트”
“스베누 아쿠아즈”
“아이스크림 코트”
“스베누 아쿠아슈즈”
Offline, 하둡 기반 분
산 처리 시스템
Online, Candidate
Stack Search with
Dynamic algorithm
Distributed LM
Parameter
Learner
SVM based Errata-Correct Candidate Detector
신규 검색어 교정 시스템 모듈
• 오탈자-> 정자 후보 추출
• 세션 내 문서/콘텐츠 노출 + 클릭 로그를 분석하여 사용자의 교정 Needs를 모델
링
• 예: (“뉴발란스 신ㅊㅎㄴ” -> “뉴발란스 신촌”)
• 사용한 자질 중 일부 예시(Most Powerful)
질의 재입력 응답 시간
검색 결과 / 클릭 여부
재입력한 질의와 이전 질의 편집 거리
검색 결과 노출 도메인
Distributed IBM MODEL2 Parameter
Expectation Maximization Learner
신규 검색어 교정 시스템 모듈
• Expectation Maximization 알고리즘을 분산 시스템 상에서 iteration 할 수 있는 형태
로 구현
뉴발란스 신ㅊㅎㄴ
뉴발란스 신촌
...
뉴발란스 신ㅊㅎㄴ
뉴발란스 신촌
...
뉴발란스 신ㅊㅎㄴ
뉴발란스 신촌
...
IBM model2 parameter 분산 EM 학습을 위한
mapper (1/2) 로직
신규 검색어 교정 시스템 모듈
𝑊ℎ𝑖𝑙𝑒 𝑡 = 0 → 𝑡 += 1 < 10 𝑜𝑟 수렴할 때까지
For 𝑘 in 𝐴𝑙𝑙 𝐞𝐫𝐫𝐚𝐭𝐚 → 𝐜𝐨𝐫𝐫𝐞𝐜𝐭 pairs
For 𝑖 in 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚(𝐞𝐫𝐫𝐚𝐭𝐚 𝑘)
For 𝑗 in 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘)
s𝑐𝑜𝑟𝑒(음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 , 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋) += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗)
s𝑐𝑜𝑟𝑒 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗)
s𝑐𝑜𝑟𝑒 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗)
s𝑐𝑜𝑟𝑒 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗)
Notice: 𝑒𝑠𝑡𝑖_ 𝑝𝑟𝑜𝑏 값은 𝑡 − 1 𝑠𝑡𝑒𝑝 𝐫𝐞𝐝𝐮𝐜𝐞𝐫의 출력중 하나임. 초기값은 1/Len 입력 . disk memory mapped I/O 방식 perfect
hash 로 저장된 것을 각 하둡 노드로 로드해서 사용.
출력: 𝑇𝑅 𝐸𝑟𝑟𝑎𝑡𝑎𝑖 𝐶𝑜𝑟𝑟𝑒𝑐𝑡𝑖𝑜𝑛𝑗 계산용
출력: 𝐴𝐿 𝑗 𝑖, 𝑙, 𝑚 계산용
IBM model2 parameter 분산 EM 학습을 위한
mapper (2/2) 결과 KEY VALUE 구조
신규 검색어 교정 시스템 모듈
score 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 , 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗)
s𝑐𝑜𝑟𝑒 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗)
s𝑐𝑜𝑟𝑒 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗)
s𝑐𝑜𝑟𝑒 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗)
• 1st key: Reducer에서 AL, TR 각각의 계산에 필요 인자를 구분 ( “C”, “M” )
• 2nd, 3rd Key: 분모가 되어야 하는 정보 (어휘, 인덱스, 문장길이 ), 분모|분자 여부 ( “0”, “1” )
• (optional) 4th Key: 분자일 경우 해당 정보(어휘, 인덱스)
• 필드 마지막 값이 score 값
sort 시 동일 분모
grouping 및 sum을 순차
적으로 할 수 있는 형태
가 됨
IBM model2 parameter 분산 EM 학습을 위한 Reducer 로직
신규 검색어 교정 시스템 모듈
• 입력: Mapper Output의 정렬 후 SUM된 결과
𝒆𝒔𝒕𝒊_𝒑𝒓𝒐𝒃 𝒌, 𝒊, 𝒋 =
𝐴𝐿 𝑗 | 𝑖,𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘),𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 ∗𝑇𝑅 음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚 𝒋| 음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚 𝒊
𝐴𝐿 𝑗 | 𝑖,𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘),𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 ∗𝑇𝑅 음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚 𝒋| 음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚 𝒊
𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘)
𝑗=0
For 𝒔𝒄𝒐𝒓𝒆(… ) in 분모값 {s𝑐𝑜𝑟𝑒(음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 ) or s𝑐𝑜𝑟𝑒 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 }
𝑇𝑅 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋| 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 =
𝑠𝑐𝑜𝑟𝑒 음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 ,음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚 𝒋
s𝑐𝑜𝑟𝑒(음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 )
𝐴𝐿 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 =
s𝑐𝑜𝑟𝑒 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘
s𝑐𝑜𝑟𝑒 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘
For 𝒔𝒄𝒐𝒓𝒆(… ) in 분자값 {score 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 , 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋 or s𝑐𝑜𝑟𝑒 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 }
출력: 대역확률, 정렬확률
𝑝𝑎𝑟𝑎𝑚𝑒𝑡𝑒𝑟 𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑖𝑜𝑛
출력:t+1 step에 사용될 score 업데이트 값 계산, perfect hash구조로 disk에 저장
For 𝒔𝒄𝒐𝒓𝒆(… ) in 분자값 {score 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 , 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋 or s𝑐𝑜𝑟𝑒 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 }
하둡 이용 IBM model2 parameter 분산 EM 학습 Performance
신규 검색어 교정 시스템 모듈
• ( 24 mapper + 20 reducer ) * 15 Node ( 2.2 GHZ, 48G RAM)
• 입력: 3천 7백만 쌍의 오탈자->정자 데이터
• 출력: 2억 4천 7백만 개의 model parameter
EM step 당 11~14분 소요.
총 9회~10회 iteration
Distributed LM Parameter Learner
신규 검색어 교정 시스템 모듈
• 분산 Language Model 학습 시스템 구현
• 네이버 검색어 교정 시스템은 고속 한글 처리 최적화, 향후 라이센스 공격 대비 등으로 자
체 구현한 C기반 모듈 이용
• (참고) Map/Reduce 환경에서 분모 local sum 계산의 핵심은 Reducer Key에 분모가
되는 정보를 First-Priority-Key 로 생성하는 것
𝑷 𝑳𝑴(𝑪𝒐𝒓𝒓𝒆𝒄𝒕𝒊𝒐𝒏)
LM Parameter 분산 학습을 위한 algorithm (1/2)
신규 검색어 교정 시스템 모듈
• 음절 10gram 확률값 추정이 목적이며 8gram, 9gram 확률 같이 구해서
interpolation함
입력: 질의 + 빈도 (i.e. )
Step1: 8~10gram 추출(map), 빈도 합 계산 (reduce)
* 문자열 “abcd” 에서 P(d|abc) 계산하기 위한 전처리
* “min(N)gram” , “N-1gram”, “Ngram” 형식의 key 구조 (N=8~10), 분모 우선 빈도합 계산 용이
Step2: Step1의 결과 이용(map=`cat` & sort), 8~10gram 각각의 확률값 계산 (reduce)
* 8gram의 경우 분모를 sum(cnt_of_all(8gram))으로 할당
Step3: step2에서 계산한 8~10gram 확률값으로 10gram 확률 linear interpolation
mapper: Step1과 동일한 key를 만들되 1st key를 문자열 역순으로 변환,
“마지막” 음절 기준으로 8~10gram이 sort 및 reducer에 grouping 될 수 있도록 함
reducer: linear interpolation 수행, 최종 LM값 생성
* 예: “가나다라” 의 경우
𝑷 𝑳𝑴 라 다나가) = 𝒂 ∗ 𝑷 𝑳𝑴 라 다나가 + 𝒃 ∗ 𝑷 𝑳𝑴 라 다나 + 𝒄 ∗ 𝑷 𝑳𝑴 라 다
LM Parameter 분산 학습을 위한 algorithm (2/2)
신규 검색어 교정 시스템 모듈
10gram
9gram
8gram
LM Parameter 분산 학습 Performance
신규 검색어 교정 시스템 모듈
• ( 24 mapper + 20 reducer ) * 15 Node ( 2.2 GHZ, 48G RAM )
Description
Mapper
input size
Reduce
output size
처리 시간
Step 1, 8~10gram 추출, 빈도 합 계산 5억 4천만 57억 8천만 8분
Step 2, 8~10gram 각각의 확률값 계산 57억 8천만 57억 8천만 16분
Step 3, 10gram linear interpolation 수행, 최종 LM값 생성 57억 8천만 19억 5천만 28분
...
가능한 여러 교정 결과 중 최적의 후보를 생성하는 모듈
 질의 특성상 Monotonic Alignment 가정, 최적 후보를 Dynamic Algorithm으로
계산, 중간 확률 값으로 불필요한 후보 Cutting
 속도를 위해 C언어로 개발
처리 예: “뉴발란스 신ㅊㅎㄴ”
 Step1, Translation/Align Option Making
IBM MODEL2 Decoder
신규 검색어 교정 시스템 모듈
“<S>뉴발” -> “<S>뉴발/1.33e-03”
“발란스” -> “발란스/9.84e-01” | “밸런스/2.03e-03” | “발리스/1.30e-03”
“ㅊㅎㄴ” -> “신촌/1.59e-01” | “삼촌/1.12e-01” | “cgs/7.50e-02”
𝑨𝒓𝒈𝒎𝒂𝒙 𝒄𝒂𝒏𝒅𝒊𝒅𝒂𝒕𝒆 𝑷 𝑰𝑩𝑴+𝑳𝑴 𝑪𝒐𝒓𝒓𝒆𝒄𝒕 𝑪𝒂𝒏𝒅𝒊𝒅𝒂𝒕𝒆 𝑬𝒓𝒓𝒂𝒕𝒂
처리 예: “뉴발란스 신ㅊㅎㄴ”
 Step2, Decoding (Find Optimal Candidate)
질의 교정 특화 초고속 기계 번역 디코더 자체 개발 완료
 1,000~1,500 TPS / 1 core
...
IBM MODEL2 Decoder
신규 검색어 교정 시스템 모듈
뉴
“<S>뉴 / -6.86”
발
“<S>뉴발란스” / -13.3
스
“<S>뉴발” / -11.37
“<S>뉴밸런스” / -26.6
“<S>뉴발리스” / -70.2
cut by LM*IBM model score
... ㄴ
“<S>뉴발란스 신촌<E>” / -27.3
“<S>뉴밸런스 신촌<E>” / -34.6
“<S>뉴발란스 삼촌<E>” / -48.3
“<S>뉴발란스 cgs<E>” / -95.2
final correction
candidates
IBM MODEL2 Decoder pseudo-algorithm
신규 검색어 교정 시스템 모듈
Step1: Translation/Alignment Option Making
-> 가능한 교정후보와 정렬정보를 모두 생성하는 단계, 학습된 TR, AL parameter 이용
input: search query string
tokenizing query string into syllable unit
extract all possible TR, AL option by finite state transducer
i.e.
save TR, AL info and map it to the input syllable index
i.e.
IBM MODEL2 Decoder pseudo-algorithm
신규 검색어 교정 시스템 모듈
Step2: Decoding, Find Optimal Correction Candidate
-> 여러 교정 후보를 생성, 최적의 후보를 탐색 ( 슬라이드 31 페이지 참고)
input: Step1’s output (input and its TR, AL translation option)
initialize candidate_stack
input_score = cal_LM(input)
For t=1 to t=length(input)
For tr, al in TR[t], AL[t]
Check if ( tr , al ) is applicable to candidate_stack [t-1 ... t-n] && make candidates
For candidate in candidates
Calculate score (tr , al)*cal_LM(candidate) && // 길이 정규화해서 사용
cut off by input_score and the other candidate
Save candidate and its score into candidate_stack [t]
output: Pick up 1-best result by score in candidate_stack [length(input)]
4.
AS-IS, TO-BE간 품질
비교
학습 데이터
품질 평가
• IBM MODEL2 학습용
• IBM_SET-7: 7일 치 오탈자 -> 정자 후보
• IBM_SET-21: 21일 치 오탈자 -> 정자 후보
• LM 학습용
• LM_SET-21_Q5: 21일치 질의, 누적 빈도 > 5 이상
• LM_SET-2015_Q30: 2015년 현재까지의 전체 질의, 누적 빈도 > 30 이상
• TEST SET
• Unseen 랜덤 샘플링으로 21,219 건의 오탈자-> 정자 구축
• 비교용 AS-IS 시스템은 가장 최신의 학습 데이터로 사용
학습 데이터 증가가 교정 품질에 도움을 주나?
품질 평가: 교정 품질
• IBM 모델2 학습 데이터 증가시킴, 언어모델 LM_SET-2015_Q30 고정
• LM 학습 데이터 증가시킴. IBM 모델 IBM_SET-21 고정
두 케이스 모두
데이터 증가 시
품질 향상
전체 TEST 케이스 21,219 Recall Precision
교정한 것 (IBM_SET-7) 12,626 N/A N/A
교정한 것 (IBM_SET-21) 15,446 N/A N/A
정답 후보와 동일 (IBM_SET-7) 11,311 53.3% 89.6%
정답 후보와 동일 (IBM_SET-21) 14,748 69.5% 95.5%
전체 TEST 케이스 21,219 Recall Precision
교정한 것 (LM_SET-21_Q5) 13,025 N/A N/A
교정한 것 (LM_SET-2015_Q30) 15,446 N/A N/A
정답 후보와 동일 (LM_SET-21_Q5) 8,189 38.6% 62.9%
정답 후보와 동일 (LM_SET-2015_Q30) 14,748 69.5% 95.5%
기존 시스템(AS-IS) VS 신규 시스템(TO-BE) SEEN TEST
품질 평가: 교정 품질
• 시스템의 모델링 파워를 보기 위해 학습에 사용된(SEEN) 데이터로 평가
• Recall 95% 이상, Precision 99% 이상의 모델링 파워 시연
전체 SEEN TEST 케이스 26,580 Recall Precision
교정한 것 (AS-IS) 9,604 N/A N/A
교정한 것 (TO-BE) 25,573 N/A N/A
정답 후보와 동일 (AS-IS) 9,451 35.6% 98.4%
정답 후보와 동일 (TO-BE) 25,370 95.4% 99.2%
기존 시스템(AS-IS) VS 신규 시스템(TO-BE) UNSEEN TEST
품질 평가: 교정 품질
• 학습데이터에 존재하지 않는 TEST CASE로 품질 평가
• AS-IS 대비 Recall 222% 대폭 증가, 반면 Precision은 2% 만 감소
• 처리 속도
• AS-IS: 2,000~3,000 TPS / 1 core
• TO-BE: 1,500~2,000 TPS / 1 core
전체 TEST 케이스 21,219 Recall Precision
교정한 것 (AS-IS) 6,837 N/A N/A
교정한 것 (TO-BE) 15,446 N/A N/A
정답 후보와 동일 (AS-IS) 6,680 31.5% 97.7%
정답 후보와 동일 (TO-BE) 14,748 69.5% 95.5%
오탈자가 아닌 것을 얼마나 잘 인식하는지 여부
품질 평가: 정자 인식
• 평가데이터1: 쇼핑 도메인 QC top 5,000 건을 정자 후보로 간주
• 평가데이터2: UNSEEN & low QC 지도 음식점 이름 데이터 17,040 건
평가데이터1 5,000 정자인식률
AS-IS 4,967 99.3%
TO-BE 4,984 99.7%
평가데이터2 17,040 정자인식률
AS-IS 16,684 97.9%
TO-BE 16,786 98.5%
오탈자 교정 개선 사례
오탈자 입력 ASIS 결과 TOBE 결과
힙합 니투 힙합 미투 힙합 니트
후라이팬 푸천 후라이팬 포천 후라이팬 추천
한효주 디크 한효주 디스크 한효주 디카
한샘아기책산 한샘아기책장 한샘아기책상
하리보 레몸 하리보 레몽 하리보 레몬
플루크반팔ㅊ 플루크반팔 플루크반팔티
플라스틱 아일랜드 야신ㅇ 플라스틱 아일랜드 야신 플라스틱 아일랜드 야상
프리미아타 믿 프리미아타 ale 프리미아타 믹
흑백모빟 (교정 실패) 흑백모빌
캉골 백팯 (교정 실패) 캉골 백팩
여주아울레ㅛ (교정 실패) 여주아울렛
압화케이흐 (교정 실패) 압화케이스
페퍼론ㅊㄱ (교정 실패) 페퍼론치노
ㅛㅇ하기스 프리미어 4단계공ㅇ (교정 실패) 하기스 프리미어 4단계공용
5.
요약 정리
신규 기계 번역 모델 기반 질의 교정 시스템
정리
• 기존 시스템 대비 Recall 2배~3배 가까이 향상
• Precision 하락은 거의 없음
• 품질 상승폭 대비 속도 하락폭 미미
• 디코더/분산 IBM 모델 학습기 포함 고난이도 구현 기술이 필요한 검색어 교정 시스템 자
체 개발 & 관련 기술 확보
• 9월 4일 현재 서비스 실험 적용
최종적으로 전체 오탈자 입력의 85% 이상을 커버하는 것이 목표
Q&A
감사합니다

Weitere ähnliche Inhalte

Was ist angesagt?

[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호
[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호
[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호NAVER D2
 
한국어 띄어쓰기 프로그램 도전기
한국어 띄어쓰기 프로그램 도전기한국어 띄어쓰기 프로그램 도전기
한국어 띄어쓰기 프로그램 도전기Ted Taekyoon Choi
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화NAVER D2
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbieDaeMyung Kang
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영NAVER D2
 
[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법NAVER D2
 
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLPJoeun Park
 
Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Taekyung Han
 
Twitter 與 ELK 基本使用
Twitter 與 ELK 基本使用Twitter 與 ELK 基本使用
Twitter 與 ELK 基本使用Mark Dai
 
Hunspell 한국어 맞춤법 검사의 원리
Hunspell 한국어 맞춤법 검사의 원리Hunspell 한국어 맞춤법 검사의 원리
Hunspell 한국어 맞춤법 검사의 원리Changwoo Ryu
 
Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)NAVER Engineering
 
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기Hangil Kim
 
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 정주 김
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
20170227 파이썬으로 챗봇_만들기
20170227 파이썬으로 챗봇_만들기20170227 파이썬으로 챗봇_만들기
20170227 파이썬으로 챗봇_만들기Kim Sungdong
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advanceDaeMyung Kang
 
1시간만에 만드는 음성인식 인공지능 챗봇
1시간만에 만드는 음성인식 인공지능 챗봇1시간만에 만드는 음성인식 인공지능 챗봇
1시간만에 만드는 음성인식 인공지능 챗봇정명훈 Jerry Jeong
 
The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)Eunjeong (Lucy) Park
 
[212]검색엔진dot의내부 강희구최규식
[212]검색엔진dot의내부 강희구최규식[212]검색엔진dot의내부 강희구최규식
[212]검색엔진dot의내부 강희구최규식NAVER D2
 
Finite State Queries In Lucene
Finite State Queries In LuceneFinite State Queries In Lucene
Finite State Queries In Luceneotisg
 

Was ist angesagt? (20)

[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호
[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호
[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호
 
한국어 띄어쓰기 프로그램 도전기
한국어 띄어쓰기 프로그램 도전기한국어 띄어쓰기 프로그램 도전기
한국어 띄어쓰기 프로그램 도전기
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
 
[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법
 
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
[싸이그램즈 2018] 텍스트 데이터 전처리로 시작하는 NLP
 
Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차Python을 활용한 챗봇 서비스 개발 2일차
Python을 활용한 챗봇 서비스 개발 2일차
 
Twitter 與 ELK 基本使用
Twitter 與 ELK 基本使用Twitter 與 ELK 基本使用
Twitter 與 ELK 基本使用
 
Hunspell 한국어 맞춤법 검사의 원리
Hunspell 한국어 맞춤법 검사의 원리Hunspell 한국어 맞춤법 검사의 원리
Hunspell 한국어 맞춤법 검사의 원리
 
Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)
 
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기
한국어 문서 추출요약 AI 경진대회- 좌충우돌 후기
 
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
20170227 파이썬으로 챗봇_만들기
20170227 파이썬으로 챗봇_만들기20170227 파이썬으로 챗봇_만들기
20170227 파이썬으로 챗봇_만들기
 
How to build massive service for advance
How to build massive service for advanceHow to build massive service for advance
How to build massive service for advance
 
1시간만에 만드는 음성인식 인공지능 챗봇
1시간만에 만드는 음성인식 인공지능 챗봇1시간만에 만드는 음성인식 인공지능 챗봇
1시간만에 만드는 음성인식 인공지능 챗봇
 
The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)The beginner’s guide to 웹 크롤링 (스크래핑)
The beginner’s guide to 웹 크롤링 (스크래핑)
 
[212]검색엔진dot의내부 강희구최규식
[212]검색엔진dot의내부 강희구최규식[212]검색엔진dot의내부 강희구최규식
[212]검색엔진dot의내부 강희구최규식
 
Finite State Queries In Lucene
Finite State Queries In LuceneFinite State Queries In Lucene
Finite State Queries In Lucene
 

Andere mochten auch

Python 2 와 3 공존하기
Python 2 와 3 공존하기Python 2 와 3 공존하기
Python 2 와 3 공존하기태환 김
 
Denoising auto encoders(d a)
Denoising auto encoders(d a)Denoising auto encoders(d a)
Denoising auto encoders(d a)Tae Young Lee
 
Driving Computer Vision Research Innovation In Artificial Intelligence
Driving Computer Vision Research Innovation In Artificial IntelligenceDriving Computer Vision Research Innovation In Artificial Intelligence
Driving Computer Vision Research Innovation In Artificial IntelligenceNVIDIA
 
Spm12를 이용한 fmri analysis
Spm12를 이용한 fmri analysisSpm12를 이용한 fmri analysis
Spm12를 이용한 fmri analysisTae Young Lee
 
weather-data-processing-using-python
weather-data-processing-using-pythonweather-data-processing-using-python
weather-data-processing-using-pythonmarc_kth
 
[216]딥러닝예제로보는개발자를위한통계 최재걸
[216]딥러닝예제로보는개발자를위한통계 최재걸[216]딥러닝예제로보는개발자를위한통계 최재걸
[216]딥러닝예제로보는개발자를위한통계 최재걸NAVER D2
 
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용Jihyung Song
 
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)Haezoom Inc.
 
[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개NAVER D2
 
Speaker Diarization
Speaker DiarizationSpeaker Diarization
Speaker DiarizationHONGJOO LEE
 
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
아마존 에코를 활용한 음성 인식 에어컨 제어 A to zJueun Seo
 
PYCON 2017 발표자료 한성준
PYCON 2017 발표자료 한성준PYCON 2017 발표자료 한성준
PYCON 2017 발표자료 한성준sungjun han
 
One-Shot Learning
One-Shot LearningOne-Shot Learning
One-Shot LearningJisung Kim
 
Pycon2017 이성용 Dances with the Last Samurai
Pycon2017 이성용 Dances with the Last SamuraiPycon2017 이성용 Dances with the Last Samurai
Pycon2017 이성용 Dances with the Last SamuraiSungYong Lee
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)홍배 김
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향홍배 김
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)Lee Seungeun
 
Developing Korean Chatbot 101
Developing Korean Chatbot 101Developing Korean Chatbot 101
Developing Korean Chatbot 101Jaemin Cho
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016Taehoon Kim
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작Tae Young Lee
 

Andere mochten auch (20)

Python 2 와 3 공존하기
Python 2 와 3 공존하기Python 2 와 3 공존하기
Python 2 와 3 공존하기
 
Denoising auto encoders(d a)
Denoising auto encoders(d a)Denoising auto encoders(d a)
Denoising auto encoders(d a)
 
Driving Computer Vision Research Innovation In Artificial Intelligence
Driving Computer Vision Research Innovation In Artificial IntelligenceDriving Computer Vision Research Innovation In Artificial Intelligence
Driving Computer Vision Research Innovation In Artificial Intelligence
 
Spm12를 이용한 fmri analysis
Spm12를 이용한 fmri analysisSpm12를 이용한 fmri analysis
Spm12를 이용한 fmri analysis
 
weather-data-processing-using-python
weather-data-processing-using-pythonweather-data-processing-using-python
weather-data-processing-using-python
 
[216]딥러닝예제로보는개발자를위한통계 최재걸
[216]딥러닝예제로보는개발자를위한통계 최재걸[216]딥러닝예제로보는개발자를위한통계 최재걸
[216]딥러닝예제로보는개발자를위한통계 최재걸
 
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
 
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
 
[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개
 
Speaker Diarization
Speaker DiarizationSpeaker Diarization
Speaker Diarization
 
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
 
PYCON 2017 발표자료 한성준
PYCON 2017 발표자료 한성준PYCON 2017 발표자료 한성준
PYCON 2017 발표자료 한성준
 
One-Shot Learning
One-Shot LearningOne-Shot Learning
One-Shot Learning
 
Pycon2017 이성용 Dances with the Last Samurai
Pycon2017 이성용 Dances with the Last SamuraiPycon2017 이성용 Dances with the Last Samurai
Pycon2017 이성용 Dances with the Last Samurai
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
 
Developing Korean Chatbot 101
Developing Korean Chatbot 101Developing Korean Chatbot 101
Developing Korean Chatbot 101
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작
 

Ähnlich wie [224] 번역 모델 기반_질의_교정_시스템

Enliple BERT-Small을 이용한 KorQuAD 모델
Enliple BERT-Small을 이용한 KorQuAD 모델Enliple BERT-Small을 이용한 KorQuAD 모델
Enliple BERT-Small을 이용한 KorQuAD 모델KwangHyeonPark
 
Transliteration English to Korean
Transliteration English to KoreanTransliteration English to Korean
Transliteration English to KoreanHyunwoo Kim
 
딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지deepseaswjh
 
Titanic kaggle competition
Titanic kaggle competitionTitanic kaggle competition
Titanic kaggle competitionjdo
 
Bert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP ChallengeBert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP ChallengeOverDeep
 
Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?
Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?
Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?Lee Gyeong Hoon
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance TuningJi-Woong Choi
 
PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기찬희 이
 
4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)Haesun Park
 
문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine TranslationNAVER LABS
 
최소 편집 거리와 동적 프로그래밍
최소 편집 거리와 동적 프로그래밍최소 편집 거리와 동적 프로그래밍
최소 편집 거리와 동적 프로그래밍EunGi Hong
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리종현 최
 
Character-Aware Neural Language Models
Character-Aware Neural Language ModelsCharacter-Aware Neural Language Models
Character-Aware Neural Language ModelsHoon Heo
 
Howto_Tensorflow+Linear Regression
Howto_Tensorflow+Linear RegressionHowto_Tensorflow+Linear Regression
Howto_Tensorflow+Linear RegressionHyo jeong Lee
 
2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2Haesun Park
 
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영) 파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영) Tae Young Lee
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical MethodologyKyeongUkJang
 
Papago/N2MT 개발이야기
Papago/N2MT 개발이야기Papago/N2MT 개발이야기
Papago/N2MT 개발이야기NAVER D2
 
[자바카페] 람다 일괄처리 계층 사례
[자바카페] 람다 일괄처리 계층 사례[자바카페] 람다 일괄처리 계층 사례
[자바카페] 람다 일괄처리 계층 사례용호 최
 

Ähnlich wie [224] 번역 모델 기반_질의_교정_시스템 (20)

Enliple BERT-Small을 이용한 KorQuAD 모델
Enliple BERT-Small을 이용한 KorQuAD 모델Enliple BERT-Small을 이용한 KorQuAD 모델
Enliple BERT-Small을 이용한 KorQuAD 모델
 
Transliteration English to Korean
Transliteration English to KoreanTransliteration English to Korean
Transliteration English to Korean
 
딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지딥러닝 자연어처리 - RNN에서 BERT까지
딥러닝 자연어처리 - RNN에서 BERT까지
 
Titanic kaggle competition
Titanic kaggle competitionTitanic kaggle competition
Titanic kaggle competition
 
Bert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP ChallengeBert3q KorQuAD Finetuning NLP Challenge
Bert3q KorQuAD Finetuning NLP Challenge
 
Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?
Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?
Where to Apply Dropout in Recurrent Neural Networks for Handwriting Recognition?
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
 
PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기PySpark 배우기 Ch 06. ML 패키지 소개하기
PySpark 배우기 Ch 06. ML 패키지 소개하기
 
4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)4.representing data and engineering features(epoch#2)
4.representing data and engineering features(epoch#2)
 
문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation문자 단위의 Neural Machine Translation
문자 단위의 Neural Machine Translation
 
최소 편집 거리와 동적 프로그래밍
최소 편집 거리와 동적 프로그래밍최소 편집 거리와 동적 프로그래밍
최소 편집 거리와 동적 프로그래밍
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리
 
Albert
AlbertAlbert
Albert
 
Character-Aware Neural Language Models
Character-Aware Neural Language ModelsCharacter-Aware Neural Language Models
Character-Aware Neural Language Models
 
Howto_Tensorflow+Linear Regression
Howto_Tensorflow+Linear RegressionHowto_Tensorflow+Linear Regression
Howto_Tensorflow+Linear Regression
 
2.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-22.supervised learning(epoch#2)-2
2.supervised learning(epoch#2)-2
 
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영) 파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
 
Chapter 11 Practical Methodology
Chapter 11 Practical MethodologyChapter 11 Practical Methodology
Chapter 11 Practical Methodology
 
Papago/N2MT 개발이야기
Papago/N2MT 개발이야기Papago/N2MT 개발이야기
Papago/N2MT 개발이야기
 
[자바카페] 람다 일괄처리 계층 사례
[자바카페] 람다 일괄처리 계층 사례[자바카페] 람다 일괄처리 계층 사례
[자바카페] 람다 일괄처리 계층 사례
 

Mehr von NAVER D2

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다NAVER D2
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...NAVER D2
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기NAVER D2
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발NAVER D2
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈NAVER D2
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&ANAVER D2
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기NAVER D2
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep LearningNAVER D2
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applicationsNAVER D2
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingNAVER D2
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지NAVER D2
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기NAVER D2
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화NAVER D2
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)NAVER D2
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기NAVER D2
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual SearchNAVER D2
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지NAVER D2
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터NAVER D2
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?NAVER D2
 

Mehr von NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

Kürzlich hochgeladen

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 

Kürzlich hochgeladen (6)

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 

[224] 번역 모델 기반_질의_교정_시스템

  • 1. 기계 번역 모델 기반 질의 교정 시스템 이름: 김태일, 손대능 소속: 네이버 검색연구센터
  • 2. Contents • 질의 교정 시스템 소개 • 현재 네이버 질의 교정 시스템의 한계 • 신규 번역 모델 기반 질의 교정 시스템 소개 • AS-IS, TO-BE 간 품질 비교 • 요약 정리
  • 4. 주로 Spelling/Typo Correction 역할 Query Reformulation 플랫폼의 일종 질의 교정 시스템 소개
  • 5. 부가기능: 한영변환, 강제변환, 바른말 추천, 축약어 추천 등 질의 교정 시스템 소개 한영변환, 강제변환 바른말 추천 축약어 추천 5/26
  • 6. 편의성, 검색 결과 품질 우선 != 한국어 문법 우선 맞춤법 검사기와의 차이
  • 7. • 2009년 “검색어 제안” 서비스 시작 • 2015년 8월 1일 기준 검색어 제안 노출 최상위 예시 • 모바일 통검 사용자 폭증으로 그에 따르는 오탈자 교정 품질 개선 필요성 증가 현황 질의 교정 시스템 소개 입력 1등 기준 % 교정 결과 유투부 100.0%유튜브 베태랑 32.8%베테랑 탐크루즈 20.5%톰크루즈 스타일윈도우 10.0%스타일윈도 동아시아컵 9.8%동아시안컵 네이버까페 8.8%네이버카페
  • 8. • 단순 입력 실수 ( 70% 이상) • “네이버 부동시ㅜㄴ”, “네이버캐슽ㅇ” • 한글을 영어로 / 영어를 한글로 ( 20% 이상 ) • “spdlqj(= 네이버)” , “ㅜㅁㅍㄷㄱ(= naver)” • 맞춤법, 외래어 표기법 지식 부족 등 ( 9% 미만 ) • “캠핑베게”, “유투브”, “김치찌게” • 잘못된 지식 ( 1% 미만 ) • “코엑스 CGV” 오탈자 유형 소개 질의 교정 시스템 소개 * (참고) 네이버는 일부 도메인에서 지식 오류를 교정한 검색어 제안도 해줌
  • 9. 문자 자체의 형태, 앞뒤 문맥, 검색 결과, 개인의 지식/선호도 등을 복합적으로 고려한다고 알 려짐  형태적 특성 ≈ Signal  앞뒤 문맥 ≈ Shallow Context  지식+개념 ≈ Deep(Semantic/External/New) Context 사람은? 질의 교정, HOW TO DO? ㄴ넹이버 홍길동 지반 명동 메가박스
  • 10. 인공 지능, 자연어처리 기반 방법론 이용  (!) 인간의 언어/문자 사고 체계를 완벽하게 표현하는 수학 모델은 없음  Signal + Shallow Context 모델링  통계 + 지식 베이스(기계 학습 + 수작업 규칙)  Deep Context 모델링  검색 로그에 나타난 사용자 반응, 외부 데이터, 개인의 선호도 (“ / 클릭” ) 등을 나타내는 지표로 간접적으로 추정 컴퓨터는? 질의 교정, HOW TO DO? Shallow Context Deep Context Signal
  • 11. 2. 기존 네이버 질의 교정 시스템의 한계
  • 12.  어절 단위 모델, 원어절-교정어절간 편집거리 N 제한  Language Model: QC (ex: 네이버 = 9999 ) 이용 학습  Error Model=: QQ (ex: “녜이버 -> 네이버 = 99 ”) 내 패턴 이용 학습 Noisy Channel Model based Hybrid System 기존 질의 교정 시스템 𝐴𝑟𝑔𝑚𝑎𝑥교정 𝑃 교정|입력 = 𝐴𝑟𝑔𝑚𝑎𝑥교정 𝑃𝐿𝑀 교정 ∗ 𝑃𝑒𝑟 오탈자패턴 정자패턴
  • 13. 형태, 문맥 표현의 한계, 커버리지 떨어짐 기존 질의 교정 시스템의 한계  띄어쓰기오류, 철자오류 동시에 포함된 질의 교정 불가  문맥 반영 오탈자 교정 처리 미흡  “홍길동 아등” “홍길돌 지반”  대역 패턴의 편집거리 N제한, 이에 특화된 어절 단위 디코더 이슈  “플라스틱일랜드 트렌치이”  오탈자->정자 교정 패턴을 편집 거리 제한 후 단순히 연속 질의에서 추출함 오탈자->정자 학습 데이터를 늘려도 교정 커버리지/품질 개선에는 한계가 있음
  • 14. 3. 신규 번역 모델 기반 질의 교정 시스템 소개
  • 15. 요구 사항 신규 질의 교정 시스템의 방향성  다양한 오탈자를 교정할 수 있는 Generality와 Detail을 가진 모델 구현  형태적 특징, 문맥을 잘 반영할 수 있어야 함  입력장치 상관 없이 적용  속도 빨라야 함  사용자의 새로운 질의 교정 Needs/Intention을 신규 로그에서 자동 인식해서 학습 할 수 있는 시스템  어제와 오늘 네이버 검색로그에서 겹치는 오탈자가 5~10% 밖에 안됨  학습 데이터 양에 비례해 교정 품질과 커버리지가 증가하는 모델  unseen처리에도 강해야 함
  • 16. • “(입력 언어) 오탈자 입력 -> (번역된 언어) 교정 결과” • 표현 단위와 데이터의 양에 따라 Detail과 Generality를 결정할 수 있을 정도의 모델링 파워 보유 통계 기반 기계 번역 모델인 IBM MODEL2 활용 가능 번역 모델 기반 질의 교정 시스템 * Example of Koehn’s SMT slide
  • 17. IBM MODEL2 Definition For Errata Correction 번역 모델 기반 질의 교정 시스템 { 𝑨𝑳(𝒋|𝒊, 𝒍, 𝒎 𝒋<𝒍 𝒋=𝟎 ∗ 𝑻𝑹 𝑬𝒓𝒓𝒂𝒕𝒂𝒊 𝑪𝒐𝒓𝒓𝒆𝒄𝒕𝒊𝒐𝒏𝒋 } ∗ 𝑷 𝑳𝑴(𝑪𝒐𝒓𝒓𝒆𝒄𝒕𝒊𝒐𝒏) where l=length of Correction, m=length of Errata, j=j’th index of Correction, i=i’th index of Errata * 한국어 음절 단위로 설계 𝑷 𝑪𝒐𝒓𝒓𝒆𝒄𝒕𝒊𝒐𝒏|𝑬𝒓𝒓𝒂𝒕𝒂 = TR=Translation Model (대역 모델) •입력어휘에서 대역어휘로 바뀔 확률을 나타냄 AL=Alignment Model (정렬 모델) •원 입력문장에서 번역된 어휘가 결과 문장의 어느 부분에 위치할 지를 나타냄 LM=Language Model (언어 모델) •번역 언어로 디코딩 시 필요한 문맥, 자연스러 움의 정도를 확률로 나타냄
  • 18. Specification 신규 시스템 구성 요소/존재 필요성 • 매일 대량의 새로운 오탈자 교정 Needs/Intention 관찰 및 학습 데이터로 사용필요 • 일 단위, 몇 천만 건의 학습데이터로 고속 학습이 가능한 시스템 구현 필요 • Open source 느려서 사용불가 • 분산 시스템은 필수 요소 • 비용 & 속도 & 품질 동시 고려 가능한 디코더 (교정 후보 생성 모듈) 1천만 건 학습 예상 소요시간 GIZA++ > 24 H Our TO-BE ~ 1 H 번역모델 디코더 질의처리량/sec AS-IS 대비 서버비용 MOSE 1 ~ 50 100배 이상 Our AS-IS 2,000 ~ 3,000 1배 Our TO-BE 1,000 ~ 2,000 1.5 ~ 2배
  • 19. 신규 검색어 교정 시스템 구성도 Daily Access- Click Log SVM based Errata- Correct Candidate Detector Distributed IBM MODEL2 Parameter EM Learner IBM MODEL2 Decoder Model Binary “아이스크리모트” “스베누 아쿠아즈” “아이스크림 코트” “스베누 아쿠아슈즈” Offline, 하둡 기반 분 산 처리 시스템 Online, Candidate Stack Search with Dynamic algorithm Distributed LM Parameter Learner
  • 20. SVM based Errata-Correct Candidate Detector 신규 검색어 교정 시스템 모듈 • 오탈자-> 정자 후보 추출 • 세션 내 문서/콘텐츠 노출 + 클릭 로그를 분석하여 사용자의 교정 Needs를 모델 링 • 예: (“뉴발란스 신ㅊㅎㄴ” -> “뉴발란스 신촌”) • 사용한 자질 중 일부 예시(Most Powerful) 질의 재입력 응답 시간 검색 결과 / 클릭 여부 재입력한 질의와 이전 질의 편집 거리 검색 결과 노출 도메인
  • 21. Distributed IBM MODEL2 Parameter Expectation Maximization Learner 신규 검색어 교정 시스템 모듈 • Expectation Maximization 알고리즘을 분산 시스템 상에서 iteration 할 수 있는 형태 로 구현 뉴발란스 신ㅊㅎㄴ 뉴발란스 신촌 ... 뉴발란스 신ㅊㅎㄴ 뉴발란스 신촌 ... 뉴발란스 신ㅊㅎㄴ 뉴발란스 신촌 ...
  • 22. IBM model2 parameter 분산 EM 학습을 위한 mapper (1/2) 로직 신규 검색어 교정 시스템 모듈 𝑊ℎ𝑖𝑙𝑒 𝑡 = 0 → 𝑡 += 1 < 10 𝑜𝑟 수렴할 때까지 For 𝑘 in 𝐴𝑙𝑙 𝐞𝐫𝐫𝐚𝐭𝐚 → 𝐜𝐨𝐫𝐫𝐞𝐜𝐭 pairs For 𝑖 in 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚(𝐞𝐫𝐫𝐚𝐭𝐚 𝑘) For 𝑗 in 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘) s𝑐𝑜𝑟𝑒(음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 , 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋) += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗) s𝑐𝑜𝑟𝑒 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗) s𝑐𝑜𝑟𝑒 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗) s𝑐𝑜𝑟𝑒 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗) Notice: 𝑒𝑠𝑡𝑖_ 𝑝𝑟𝑜𝑏 값은 𝑡 − 1 𝑠𝑡𝑒𝑝 𝐫𝐞𝐝𝐮𝐜𝐞𝐫의 출력중 하나임. 초기값은 1/Len 입력 . disk memory mapped I/O 방식 perfect hash 로 저장된 것을 각 하둡 노드로 로드해서 사용. 출력: 𝑇𝑅 𝐸𝑟𝑟𝑎𝑡𝑎𝑖 𝐶𝑜𝑟𝑟𝑒𝑐𝑡𝑖𝑜𝑛𝑗 계산용 출력: 𝐴𝐿 𝑗 𝑖, 𝑙, 𝑚 계산용
  • 23. IBM model2 parameter 분산 EM 학습을 위한 mapper (2/2) 결과 KEY VALUE 구조 신규 검색어 교정 시스템 모듈 score 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 , 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗) s𝑐𝑜𝑟𝑒 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗) s𝑐𝑜𝑟𝑒 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗) s𝑐𝑜𝑟𝑒 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏(𝑘, 𝑖, 𝑗) • 1st key: Reducer에서 AL, TR 각각의 계산에 필요 인자를 구분 ( “C”, “M” ) • 2nd, 3rd Key: 분모가 되어야 하는 정보 (어휘, 인덱스, 문장길이 ), 분모|분자 여부 ( “0”, “1” ) • (optional) 4th Key: 분자일 경우 해당 정보(어휘, 인덱스) • 필드 마지막 값이 score 값 sort 시 동일 분모 grouping 및 sum을 순차 적으로 할 수 있는 형태 가 됨
  • 24. IBM model2 parameter 분산 EM 학습을 위한 Reducer 로직 신규 검색어 교정 시스템 모듈 • 입력: Mapper Output의 정렬 후 SUM된 결과 𝒆𝒔𝒕𝒊_𝒑𝒓𝒐𝒃 𝒌, 𝒊, 𝒋 = 𝐴𝐿 𝑗 | 𝑖,𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘),𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 ∗𝑇𝑅 음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚 𝒋| 음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚 𝒊 𝐴𝐿 𝑗 | 𝑖,𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘),𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 ∗𝑇𝑅 음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚 𝒋| 음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚 𝒊 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘) 𝑗=0 For 𝒔𝒄𝒐𝒓𝒆(… ) in 분모값 {s𝑐𝑜𝑟𝑒(음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 ) or s𝑐𝑜𝑟𝑒 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 } 𝑇𝑅 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋| 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 = 𝑠𝑐𝑜𝑟𝑒 음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 ,음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚 𝒋 s𝑐𝑜𝑟𝑒(음절 𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 ) 𝐴𝐿 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 = s𝑐𝑜𝑟𝑒 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 s𝑐𝑜𝑟𝑒 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 For 𝒔𝒄𝒐𝒓𝒆(… ) in 분자값 {score 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 , 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋 or s𝑐𝑜𝑟𝑒 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 } 출력: 대역확률, 정렬확률 𝑝𝑎𝑟𝑎𝑚𝑒𝑡𝑒𝑟 𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑖𝑜𝑛 출력:t+1 step에 사용될 score 업데이트 값 계산, perfect hash구조로 disk에 저장 For 𝒔𝒄𝒐𝒓𝒆(… ) in 분자값 {score 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 , 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋 or s𝑐𝑜𝑟𝑒 𝑗 | 𝑖, 𝐿𝑒𝑛(𝐜𝐨𝐫𝐫𝐞𝐜𝐭 𝑘), 𝐿𝑒𝑛 𝐞𝐫𝐫𝐚𝐭𝐚 𝑘 }
  • 25. 하둡 이용 IBM model2 parameter 분산 EM 학습 Performance 신규 검색어 교정 시스템 모듈 • ( 24 mapper + 20 reducer ) * 15 Node ( 2.2 GHZ, 48G RAM) • 입력: 3천 7백만 쌍의 오탈자->정자 데이터 • 출력: 2억 4천 7백만 개의 model parameter EM step 당 11~14분 소요. 총 9회~10회 iteration
  • 26. Distributed LM Parameter Learner 신규 검색어 교정 시스템 모듈 • 분산 Language Model 학습 시스템 구현 • 네이버 검색어 교정 시스템은 고속 한글 처리 최적화, 향후 라이센스 공격 대비 등으로 자 체 구현한 C기반 모듈 이용 • (참고) Map/Reduce 환경에서 분모 local sum 계산의 핵심은 Reducer Key에 분모가 되는 정보를 First-Priority-Key 로 생성하는 것 𝑷 𝑳𝑴(𝑪𝒐𝒓𝒓𝒆𝒄𝒕𝒊𝒐𝒏)
  • 27. LM Parameter 분산 학습을 위한 algorithm (1/2) 신규 검색어 교정 시스템 모듈 • 음절 10gram 확률값 추정이 목적이며 8gram, 9gram 확률 같이 구해서 interpolation함 입력: 질의 + 빈도 (i.e. ) Step1: 8~10gram 추출(map), 빈도 합 계산 (reduce) * 문자열 “abcd” 에서 P(d|abc) 계산하기 위한 전처리 * “min(N)gram” , “N-1gram”, “Ngram” 형식의 key 구조 (N=8~10), 분모 우선 빈도합 계산 용이 Step2: Step1의 결과 이용(map=`cat` & sort), 8~10gram 각각의 확률값 계산 (reduce) * 8gram의 경우 분모를 sum(cnt_of_all(8gram))으로 할당
  • 28. Step3: step2에서 계산한 8~10gram 확률값으로 10gram 확률 linear interpolation mapper: Step1과 동일한 key를 만들되 1st key를 문자열 역순으로 변환, “마지막” 음절 기준으로 8~10gram이 sort 및 reducer에 grouping 될 수 있도록 함 reducer: linear interpolation 수행, 최종 LM값 생성 * 예: “가나다라” 의 경우 𝑷 𝑳𝑴 라 다나가) = 𝒂 ∗ 𝑷 𝑳𝑴 라 다나가 + 𝒃 ∗ 𝑷 𝑳𝑴 라 다나 + 𝒄 ∗ 𝑷 𝑳𝑴 라 다 LM Parameter 분산 학습을 위한 algorithm (2/2) 신규 검색어 교정 시스템 모듈 10gram 9gram 8gram
  • 29. LM Parameter 분산 학습 Performance 신규 검색어 교정 시스템 모듈 • ( 24 mapper + 20 reducer ) * 15 Node ( 2.2 GHZ, 48G RAM ) Description Mapper input size Reduce output size 처리 시간 Step 1, 8~10gram 추출, 빈도 합 계산 5억 4천만 57억 8천만 8분 Step 2, 8~10gram 각각의 확률값 계산 57억 8천만 57억 8천만 16분 Step 3, 10gram linear interpolation 수행, 최종 LM값 생성 57억 8천만 19억 5천만 28분
  • 30. ... 가능한 여러 교정 결과 중 최적의 후보를 생성하는 모듈  질의 특성상 Monotonic Alignment 가정, 최적 후보를 Dynamic Algorithm으로 계산, 중간 확률 값으로 불필요한 후보 Cutting  속도를 위해 C언어로 개발 처리 예: “뉴발란스 신ㅊㅎㄴ”  Step1, Translation/Align Option Making IBM MODEL2 Decoder 신규 검색어 교정 시스템 모듈 “<S>뉴발” -> “<S>뉴발/1.33e-03” “발란스” -> “발란스/9.84e-01” | “밸런스/2.03e-03” | “발리스/1.30e-03” “ㅊㅎㄴ” -> “신촌/1.59e-01” | “삼촌/1.12e-01” | “cgs/7.50e-02” 𝑨𝒓𝒈𝒎𝒂𝒙 𝒄𝒂𝒏𝒅𝒊𝒅𝒂𝒕𝒆 𝑷 𝑰𝑩𝑴+𝑳𝑴 𝑪𝒐𝒓𝒓𝒆𝒄𝒕 𝑪𝒂𝒏𝒅𝒊𝒅𝒂𝒕𝒆 𝑬𝒓𝒓𝒂𝒕𝒂
  • 31. 처리 예: “뉴발란스 신ㅊㅎㄴ”  Step2, Decoding (Find Optimal Candidate) 질의 교정 특화 초고속 기계 번역 디코더 자체 개발 완료  1,000~1,500 TPS / 1 core ... IBM MODEL2 Decoder 신규 검색어 교정 시스템 모듈 뉴 “<S>뉴 / -6.86” 발 “<S>뉴발란스” / -13.3 스 “<S>뉴발” / -11.37 “<S>뉴밸런스” / -26.6 “<S>뉴발리스” / -70.2 cut by LM*IBM model score ... ㄴ “<S>뉴발란스 신촌<E>” / -27.3 “<S>뉴밸런스 신촌<E>” / -34.6 “<S>뉴발란스 삼촌<E>” / -48.3 “<S>뉴발란스 cgs<E>” / -95.2 final correction candidates
  • 32. IBM MODEL2 Decoder pseudo-algorithm 신규 검색어 교정 시스템 모듈 Step1: Translation/Alignment Option Making -> 가능한 교정후보와 정렬정보를 모두 생성하는 단계, 학습된 TR, AL parameter 이용 input: search query string tokenizing query string into syllable unit extract all possible TR, AL option by finite state transducer i.e. save TR, AL info and map it to the input syllable index i.e.
  • 33. IBM MODEL2 Decoder pseudo-algorithm 신규 검색어 교정 시스템 모듈 Step2: Decoding, Find Optimal Correction Candidate -> 여러 교정 후보를 생성, 최적의 후보를 탐색 ( 슬라이드 31 페이지 참고) input: Step1’s output (input and its TR, AL translation option) initialize candidate_stack input_score = cal_LM(input) For t=1 to t=length(input) For tr, al in TR[t], AL[t] Check if ( tr , al ) is applicable to candidate_stack [t-1 ... t-n] && make candidates For candidate in candidates Calculate score (tr , al)*cal_LM(candidate) && // 길이 정규화해서 사용 cut off by input_score and the other candidate Save candidate and its score into candidate_stack [t] output: Pick up 1-best result by score in candidate_stack [length(input)]
  • 35. 학습 데이터 품질 평가 • IBM MODEL2 학습용 • IBM_SET-7: 7일 치 오탈자 -> 정자 후보 • IBM_SET-21: 21일 치 오탈자 -> 정자 후보 • LM 학습용 • LM_SET-21_Q5: 21일치 질의, 누적 빈도 > 5 이상 • LM_SET-2015_Q30: 2015년 현재까지의 전체 질의, 누적 빈도 > 30 이상 • TEST SET • Unseen 랜덤 샘플링으로 21,219 건의 오탈자-> 정자 구축 • 비교용 AS-IS 시스템은 가장 최신의 학습 데이터로 사용
  • 36. 학습 데이터 증가가 교정 품질에 도움을 주나? 품질 평가: 교정 품질 • IBM 모델2 학습 데이터 증가시킴, 언어모델 LM_SET-2015_Q30 고정 • LM 학습 데이터 증가시킴. IBM 모델 IBM_SET-21 고정 두 케이스 모두 데이터 증가 시 품질 향상 전체 TEST 케이스 21,219 Recall Precision 교정한 것 (IBM_SET-7) 12,626 N/A N/A 교정한 것 (IBM_SET-21) 15,446 N/A N/A 정답 후보와 동일 (IBM_SET-7) 11,311 53.3% 89.6% 정답 후보와 동일 (IBM_SET-21) 14,748 69.5% 95.5% 전체 TEST 케이스 21,219 Recall Precision 교정한 것 (LM_SET-21_Q5) 13,025 N/A N/A 교정한 것 (LM_SET-2015_Q30) 15,446 N/A N/A 정답 후보와 동일 (LM_SET-21_Q5) 8,189 38.6% 62.9% 정답 후보와 동일 (LM_SET-2015_Q30) 14,748 69.5% 95.5%
  • 37. 기존 시스템(AS-IS) VS 신규 시스템(TO-BE) SEEN TEST 품질 평가: 교정 품질 • 시스템의 모델링 파워를 보기 위해 학습에 사용된(SEEN) 데이터로 평가 • Recall 95% 이상, Precision 99% 이상의 모델링 파워 시연 전체 SEEN TEST 케이스 26,580 Recall Precision 교정한 것 (AS-IS) 9,604 N/A N/A 교정한 것 (TO-BE) 25,573 N/A N/A 정답 후보와 동일 (AS-IS) 9,451 35.6% 98.4% 정답 후보와 동일 (TO-BE) 25,370 95.4% 99.2%
  • 38. 기존 시스템(AS-IS) VS 신규 시스템(TO-BE) UNSEEN TEST 품질 평가: 교정 품질 • 학습데이터에 존재하지 않는 TEST CASE로 품질 평가 • AS-IS 대비 Recall 222% 대폭 증가, 반면 Precision은 2% 만 감소 • 처리 속도 • AS-IS: 2,000~3,000 TPS / 1 core • TO-BE: 1,500~2,000 TPS / 1 core 전체 TEST 케이스 21,219 Recall Precision 교정한 것 (AS-IS) 6,837 N/A N/A 교정한 것 (TO-BE) 15,446 N/A N/A 정답 후보와 동일 (AS-IS) 6,680 31.5% 97.7% 정답 후보와 동일 (TO-BE) 14,748 69.5% 95.5%
  • 39. 오탈자가 아닌 것을 얼마나 잘 인식하는지 여부 품질 평가: 정자 인식 • 평가데이터1: 쇼핑 도메인 QC top 5,000 건을 정자 후보로 간주 • 평가데이터2: UNSEEN & low QC 지도 음식점 이름 데이터 17,040 건 평가데이터1 5,000 정자인식률 AS-IS 4,967 99.3% TO-BE 4,984 99.7% 평가데이터2 17,040 정자인식률 AS-IS 16,684 97.9% TO-BE 16,786 98.5%
  • 40. 오탈자 교정 개선 사례 오탈자 입력 ASIS 결과 TOBE 결과 힙합 니투 힙합 미투 힙합 니트 후라이팬 푸천 후라이팬 포천 후라이팬 추천 한효주 디크 한효주 디스크 한효주 디카 한샘아기책산 한샘아기책장 한샘아기책상 하리보 레몸 하리보 레몽 하리보 레몬 플루크반팔ㅊ 플루크반팔 플루크반팔티 플라스틱 아일랜드 야신ㅇ 플라스틱 아일랜드 야신 플라스틱 아일랜드 야상 프리미아타 믿 프리미아타 ale 프리미아타 믹 흑백모빟 (교정 실패) 흑백모빌 캉골 백팯 (교정 실패) 캉골 백팩 여주아울레ㅛ (교정 실패) 여주아울렛 압화케이흐 (교정 실패) 압화케이스 페퍼론ㅊㄱ (교정 실패) 페퍼론치노 ㅛㅇ하기스 프리미어 4단계공ㅇ (교정 실패) 하기스 프리미어 4단계공용
  • 42. 신규 기계 번역 모델 기반 질의 교정 시스템 정리 • 기존 시스템 대비 Recall 2배~3배 가까이 향상 • Precision 하락은 거의 없음 • 품질 상승폭 대비 속도 하락폭 미미 • 디코더/분산 IBM 모델 학습기 포함 고난이도 구현 기술이 필요한 검색어 교정 시스템 자 체 개발 & 관련 기술 확보 • 9월 4일 현재 서비스 실험 적용 최종적으로 전체 오탈자 입력의 85% 이상을 커버하는 것이 목표