O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
기계 번역 모델 기반
질의 교정 시스템
이름: 김태일, 손대능
소속: 네이버 검색연구센터
Contents
• 질의 교정 시스템 소개
• 현재 네이버 질의 교정 시스템의 한계
• 신규 번역 모델 기반 질의 교정 시스템 소개
• AS-IS, TO-BE 간 품질 비교
• 요약 정리
1.
질의 교정 시스템 소개
주로 Spelling/Typo Correction 역할
Query Reformulation 플랫폼의 일종
질의 교정 시스템 소개
부가기능: 한영변환, 강제변환, 바른말 추천, 축약어 추천 등
질의 교정 시스템 소개
한영변환, 강제변환
바른말 추천
축약어 추천
5/26
편의성, 검색 결과 품질 우선 != 한국어 문법 우선
맞춤법 검사기와의 차이
• 2009년 “검색어 제안” 서비스 시작
• 2015년 8월 1일 기준 검색어 제안 노출 최상위 예시
• 모바일 통검 사용자 폭증으로 그에 따르는 오탈자 교정 품질 개선 필요성 증가
현황
질의 교정 시스템 소개
입력 ...
• 단순 입력 실수 ( 70% 이상)
• “네이버 부동시ㅜㄴ”, “네이버캐슽ㅇ”
• 한글을 영어로 / 영어를 한글로 ( 20% 이상 )
• “spdlqj(= 네이버)” , “ㅜㅁㅍㄷㄱ(= naver)”
• 맞춤법, 외래...
문자 자체의 형태, 앞뒤 문맥, 검색 결과, 개인의 지식/선호도 등을 복합적으로 고려한다고 알
려짐
 형태적 특성 ≈ Signal
 앞뒤 문맥 ≈ Shallow Context
 지식+개념 ≈ Deep(Semanti...
인공 지능, 자연어처리 기반 방법론 이용
 (!) 인간의 언어/문자 사고 체계를 완벽하게 표현하는 수학 모델은 없음
 Signal + Shallow Context 모델링
 통계 + 지식 베이스(기계 학습 + 수작업...
2.
기존 네이버 질의 교정
시스템의 한계
 어절 단위 모델, 원어절-교정어절간 편집거리 N 제한
 Language Model: QC (ex: 네이버 = 9999 ) 이용 학습
 Error Model=: QQ (ex: “녜이버 -> 네이버 = 99 ”) 내...
형태, 문맥 표현의 한계, 커버리지 떨어짐
기존 질의 교정 시스템의 한계
 띄어쓰기오류, 철자오류 동시에 포함된 질의 교정 불가
 문맥 반영 오탈자 교정 처리 미흡
 “홍길동 아등” “홍길돌 지반”
 대역 패턴의...
3.
신규 번역 모델 기반
질의 교정 시스템 소개
요구 사항
신규 질의 교정 시스템의 방향성
 다양한 오탈자를 교정할 수 있는 Generality와 Detail을 가진 모델 구현
 형태적 특징, 문맥을 잘 반영할 수 있어야 함
 입력장치 상관 없이 적용
 속도 ...
• “(입력 언어) 오탈자 입력 -> (번역된 언어) 교정 결과”
• 표현 단위와 데이터의 양에 따라 Detail과 Generality를 결정할 수 있을 정도의
모델링 파워 보유
통계 기반 기계 번역 모델인 IBM MO...
IBM MODEL2 Definition For Errata Correction
번역 모델 기반 질의 교정 시스템
{ 𝑨𝑳(𝒋|𝒊, 𝒍, 𝒎
𝒋<𝒍
𝒋=𝟎 ∗ 𝑻𝑹 𝑬𝒓𝒓𝒂𝒕𝒂𝒊 𝑪𝒐𝒓𝒓𝒆𝒄𝒕𝒊𝒐𝒏𝒋 } ∗ 𝑷 𝑳𝑴(𝑪𝒐...
Specification
신규 시스템 구성 요소/존재 필요성
• 매일 대량의 새로운 오탈자 교정 Needs/Intention 관찰 및 학습 데이터로 사용필요
• 일 단위, 몇 천만 건의 학습데이터로 고속 학습이 가능한 ...
신규 검색어 교정 시스템 구성도
Daily
Access-
Click Log
SVM based Errata-
Correct Candidate
Detector
Distributed IBM
MODEL2
Parameter EM...
SVM based Errata-Correct Candidate Detector
신규 검색어 교정 시스템 모듈
• 오탈자-> 정자 후보 추출
• 세션 내 문서/콘텐츠 노출 + 클릭 로그를 분석하여 사용자의 교정 Needs...
Distributed IBM MODEL2 Parameter
Expectation Maximization Learner
신규 검색어 교정 시스템 모듈
• Expectation Maximization 알고리즘을 분산 시스템...
IBM model2 parameter 분산 EM 학습을 위한
mapper (1/2) 로직
신규 검색어 교정 시스템 모듈
𝑊ℎ𝑖𝑙𝑒 𝑡 = 0 → 𝑡 += 1 < 10 𝑜𝑟 수렴할 때까지
For 𝑘 in 𝐴𝑙𝑙 𝐞𝐫𝐫𝐚𝐭...
IBM model2 parameter 분산 EM 학습을 위한
mapper (2/2) 결과 KEY VALUE 구조
신규 검색어 교정 시스템 모듈
score 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒊 , 음절𝑡𝑟𝑖𝑔𝑟𝑎𝑚𝒋 += 𝑒𝑠𝑡𝑖_𝑝𝑟𝑜𝑏...
IBM model2 parameter 분산 EM 학습을 위한 Reducer 로직
신규 검색어 교정 시스템 모듈
• 입력: Mapper Output의 정렬 후 SUM된 결과
𝒆𝒔𝒕𝒊_𝒑𝒓𝒐𝒃 𝒌, 𝒊, 𝒋 =
𝐴𝐿 𝑗 |...
하둡 이용 IBM model2 parameter 분산 EM 학습 Performance
신규 검색어 교정 시스템 모듈
• ( 24 mapper + 20 reducer ) * 15 Node ( 2.2 GHZ, 48G RAM...
Distributed LM Parameter Learner
신규 검색어 교정 시스템 모듈
• 분산 Language Model 학습 시스템 구현
• 네이버 검색어 교정 시스템은 고속 한글 처리 최적화, 향후 라이센스 공격...
LM Parameter 분산 학습을 위한 algorithm (1/2)
신규 검색어 교정 시스템 모듈
• 음절 10gram 확률값 추정이 목적이며 8gram, 9gram 확률 같이 구해서
interpolation함
입력:...
Step3: step2에서 계산한 8~10gram 확률값으로 10gram 확률 linear interpolation
mapper: Step1과 동일한 key를 만들되 1st key를 문자열 역순으로 변환,
“마지막” 음...
LM Parameter 분산 학습 Performance
신규 검색어 교정 시스템 모듈
• ( 24 mapper + 20 reducer ) * 15 Node ( 2.2 GHZ, 48G RAM )
Description
Ma...
...
가능한 여러 교정 결과 중 최적의 후보를 생성하는 모듈
 질의 특성상 Monotonic Alignment 가정, 최적 후보를 Dynamic Algorithm으로
계산, 중간 확률 값으로 불필요한 후보 Cutti...
처리 예: “뉴발란스 신ㅊㅎㄴ”
 Step2, Decoding (Find Optimal Candidate)
질의 교정 특화 초고속 기계 번역 디코더 자체 개발 완료
 1,000~1,500 TPS / 1 core
.....
IBM MODEL2 Decoder pseudo-algorithm
신규 검색어 교정 시스템 모듈
Step1: Translation/Alignment Option Making
-> 가능한 교정후보와 정렬정보를 모두 생성하는...
IBM MODEL2 Decoder pseudo-algorithm
신규 검색어 교정 시스템 모듈
Step2: Decoding, Find Optimal Correction Candidate
-> 여러 교정 후보를 생성, 최...
4.
AS-IS, TO-BE간 품질
비교
학습 데이터
품질 평가
• IBM MODEL2 학습용
• IBM_SET-7: 7일 치 오탈자 -> 정자 후보
• IBM_SET-21: 21일 치 오탈자 -> 정자 후보
• LM 학습용
• LM_SET-21_Q5: 21일...
학습 데이터 증가가 교정 품질에 도움을 주나?
품질 평가: 교정 품질
• IBM 모델2 학습 데이터 증가시킴, 언어모델 LM_SET-2015_Q30 고정
• LM 학습 데이터 증가시킴. IBM 모델 IBM_SET-21 ...
기존 시스템(AS-IS) VS 신규 시스템(TO-BE) SEEN TEST
품질 평가: 교정 품질
• 시스템의 모델링 파워를 보기 위해 학습에 사용된(SEEN) 데이터로 평가
• Recall 95% 이상, Precisio...
기존 시스템(AS-IS) VS 신규 시스템(TO-BE) UNSEEN TEST
품질 평가: 교정 품질
• 학습데이터에 존재하지 않는 TEST CASE로 품질 평가
• AS-IS 대비 Recall 222% 대폭 증가, 반면...
오탈자가 아닌 것을 얼마나 잘 인식하는지 여부
품질 평가: 정자 인식
• 평가데이터1: 쇼핑 도메인 QC top 5,000 건을 정자 후보로 간주
• 평가데이터2: UNSEEN & low QC 지도 음식점 이름 데이터 ...
오탈자 교정 개선 사례
오탈자 입력 ASIS 결과 TOBE 결과
힙합 니투 힙합 미투 힙합 니트
후라이팬 푸천 후라이팬 포천 후라이팬 추천
한효주 디크 한효주 디스크 한효주 디카
한샘아기책산 한샘아기책장 한샘아기책상
하...
5.
요약 정리
신규 기계 번역 모델 기반 질의 교정 시스템
정리
• 기존 시스템 대비 Recall 2배~3배 가까이 향상
• Precision 하락은 거의 없음
• 품질 상승폭 대비 속도 하락폭 미미
• 디코더/분산 IBM 모델 학습...
Q&A
감사합니다
Próximos SlideShares
Carregando em…5
×
Próximos SlideShares
[216]딥러닝예제로보는개발자를위한통계 최재걸
Avançar
Transfira para ler offline e ver em ecrã inteiro.

25

Compartilhar

Baixar para ler offline

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

Baixar para ler offline

DEVIEW2015 DAY2. 번역 모델 기반_질의_교정_시스템

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

  1. 1. 기계 번역 모델 기반 질의 교정 시스템 이름: 김태일, 손대능 소속: 네이버 검색연구센터
  2. 2. Contents • 질의 교정 시스템 소개 • 현재 네이버 질의 교정 시스템의 한계 • 신규 번역 모델 기반 질의 교정 시스템 소개 • AS-IS, TO-BE 간 품질 비교 • 요약 정리
  3. 3. 1. 질의 교정 시스템 소개
  4. 4. 주로 Spelling/Typo Correction 역할 Query Reformulation 플랫폼의 일종 질의 교정 시스템 소개
  5. 5. 부가기능: 한영변환, 강제변환, 바른말 추천, 축약어 추천 등 질의 교정 시스템 소개 한영변환, 강제변환 바른말 추천 축약어 추천 5/26
  6. 6. 편의성, 검색 결과 품질 우선 != 한국어 문법 우선 맞춤법 검사기와의 차이
  7. 7. • 2009년 “검색어 제안” 서비스 시작 • 2015년 8월 1일 기준 검색어 제안 노출 최상위 예시 • 모바일 통검 사용자 폭증으로 그에 따르는 오탈자 교정 품질 개선 필요성 증가 현황 질의 교정 시스템 소개 입력 1등 기준 % 교정 결과 유투부 100.0%유튜브 베태랑 32.8%베테랑 탐크루즈 20.5%톰크루즈 스타일윈도우 10.0%스타일윈도 동아시아컵 9.8%동아시안컵 네이버까페 8.8%네이버카페
  8. 8. • 단순 입력 실수 ( 70% 이상) • “네이버 부동시ㅜㄴ”, “네이버캐슽ㅇ” • 한글을 영어로 / 영어를 한글로 ( 20% 이상 ) • “spdlqj(= 네이버)” , “ㅜㅁㅍㄷㄱ(= naver)” • 맞춤법, 외래어 표기법 지식 부족 등 ( 9% 미만 ) • “캠핑베게”, “유투브”, “김치찌게” • 잘못된 지식 ( 1% 미만 ) • “코엑스 CGV” 오탈자 유형 소개 질의 교정 시스템 소개 * (참고) 네이버는 일부 도메인에서 지식 오류를 교정한 검색어 제안도 해줌
  9. 9. 문자 자체의 형태, 앞뒤 문맥, 검색 결과, 개인의 지식/선호도 등을 복합적으로 고려한다고 알 려짐  형태적 특성 ≈ Signal  앞뒤 문맥 ≈ Shallow Context  지식+개념 ≈ Deep(Semantic/External/New) Context 사람은? 질의 교정, HOW TO DO? ㄴ넹이버 홍길동 지반 명동 메가박스
  10. 10. 인공 지능, 자연어처리 기반 방법론 이용  (!) 인간의 언어/문자 사고 체계를 완벽하게 표현하는 수학 모델은 없음  Signal + Shallow Context 모델링  통계 + 지식 베이스(기계 학습 + 수작업 규칙)  Deep Context 모델링  검색 로그에 나타난 사용자 반응, 외부 데이터, 개인의 선호도 (“ / 클릭” ) 등을 나타내는 지표로 간접적으로 추정 컴퓨터는? 질의 교정, HOW TO DO? Shallow Context Deep Context Signal
  11. 11. 2. 기존 네이버 질의 교정 시스템의 한계
  12. 12.  어절 단위 모델, 원어절-교정어절간 편집거리 N 제한  Language Model: QC (ex: 네이버 = 9999 ) 이용 학습  Error Model=: QQ (ex: “녜이버 -> 네이버 = 99 ”) 내 패턴 이용 학습 Noisy Channel Model based Hybrid System 기존 질의 교정 시스템 𝐴𝑟𝑔𝑚𝑎𝑥교정 𝑃 교정|입력 = 𝐴𝑟𝑔𝑚𝑎𝑥교정 𝑃𝐿𝑀 교정 ∗ 𝑃𝑒𝑟 오탈자패턴 정자패턴
  13. 13. 형태, 문맥 표현의 한계, 커버리지 떨어짐 기존 질의 교정 시스템의 한계  띄어쓰기오류, 철자오류 동시에 포함된 질의 교정 불가  문맥 반영 오탈자 교정 처리 미흡  “홍길동 아등” “홍길돌 지반”  대역 패턴의 편집거리 N제한, 이에 특화된 어절 단위 디코더 이슈  “플라스틱일랜드 트렌치이”  오탈자->정자 교정 패턴을 편집 거리 제한 후 단순히 연속 질의에서 추출함 오탈자->정자 학습 데이터를 늘려도 교정 커버리지/품질 개선에는 한계가 있음
  14. 14. 3. 신규 번역 모델 기반 질의 교정 시스템 소개
  15. 15. 요구 사항 신규 질의 교정 시스템의 방향성  다양한 오탈자를 교정할 수 있는 Generality와 Detail을 가진 모델 구현  형태적 특징, 문맥을 잘 반영할 수 있어야 함  입력장치 상관 없이 적용  속도 빨라야 함  사용자의 새로운 질의 교정 Needs/Intention을 신규 로그에서 자동 인식해서 학습 할 수 있는 시스템  어제와 오늘 네이버 검색로그에서 겹치는 오탈자가 5~10% 밖에 안됨  학습 데이터 양에 비례해 교정 품질과 커버리지가 증가하는 모델  unseen처리에도 강해야 함
  16. 16. • “(입력 언어) 오탈자 입력 -> (번역된 언어) 교정 결과” • 표현 단위와 데이터의 양에 따라 Detail과 Generality를 결정할 수 있을 정도의 모델링 파워 보유 통계 기반 기계 번역 모델인 IBM MODEL2 활용 가능 번역 모델 기반 질의 교정 시스템 * Example of Koehn’s SMT slide
  17. 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. 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. 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. 20. SVM based Errata-Correct Candidate Detector 신규 검색어 교정 시스템 모듈 • 오탈자-> 정자 후보 추출 • 세션 내 문서/콘텐츠 노출 + 클릭 로그를 분석하여 사용자의 교정 Needs를 모델 링 • 예: (“뉴발란스 신ㅊㅎㄴ” -> “뉴발란스 신촌”) • 사용한 자질 중 일부 예시(Most Powerful) 질의 재입력 응답 시간 검색 결과 / 클릭 여부 재입력한 질의와 이전 질의 편집 거리 검색 결과 노출 도메인
  21. 21. Distributed IBM MODEL2 Parameter Expectation Maximization Learner 신규 검색어 교정 시스템 모듈 • Expectation Maximization 알고리즘을 분산 시스템 상에서 iteration 할 수 있는 형태 로 구현 뉴발란스 신ㅊㅎㄴ 뉴발란스 신촌 ... 뉴발란스 신ㅊㅎㄴ 뉴발란스 신촌 ... 뉴발란스 신ㅊㅎㄴ 뉴발란스 신촌 ...
  22. 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. 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. 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. 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. 26. Distributed LM Parameter Learner 신규 검색어 교정 시스템 모듈 • 분산 Language Model 학습 시스템 구현 • 네이버 검색어 교정 시스템은 고속 한글 처리 최적화, 향후 라이센스 공격 대비 등으로 자 체 구현한 C기반 모듈 이용 • (참고) Map/Reduce 환경에서 분모 local sum 계산의 핵심은 Reducer Key에 분모가 되는 정보를 First-Priority-Key 로 생성하는 것 𝑷 𝑳𝑴(𝑪𝒐𝒓𝒓𝒆𝒄𝒕𝒊𝒐𝒏)
  27. 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. 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. 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. 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. 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. 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. 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)]
  34. 34. 4. AS-IS, TO-BE간 품질 비교
  35. 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. 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. 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. 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. 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. 40. 오탈자 교정 개선 사례 오탈자 입력 ASIS 결과 TOBE 결과 힙합 니투 힙합 미투 힙합 니트 후라이팬 푸천 후라이팬 포천 후라이팬 추천 한효주 디크 한효주 디스크 한효주 디카 한샘아기책산 한샘아기책장 한샘아기책상 하리보 레몸 하리보 레몽 하리보 레몬 플루크반팔ㅊ 플루크반팔 플루크반팔티 플라스틱 아일랜드 야신ㅇ 플라스틱 아일랜드 야신 플라스틱 아일랜드 야상 프리미아타 믿 프리미아타 ale 프리미아타 믹 흑백모빟 (교정 실패) 흑백모빌 캉골 백팯 (교정 실패) 캉골 백팩 여주아울레ㅛ (교정 실패) 여주아울렛 압화케이흐 (교정 실패) 압화케이스 페퍼론ㅊㄱ (교정 실패) 페퍼론치노 ㅛㅇ하기스 프리미어 4단계공ㅇ (교정 실패) 하기스 프리미어 4단계공용
  41. 41. 5. 요약 정리
  42. 42. 신규 기계 번역 모델 기반 질의 교정 시스템 정리 • 기존 시스템 대비 Recall 2배~3배 가까이 향상 • Precision 하락은 거의 없음 • 품질 상승폭 대비 속도 하락폭 미미 • 디코더/분산 IBM 모델 학습기 포함 고난이도 구현 기술이 필요한 검색어 교정 시스템 자 체 개발 & 관련 기술 확보 • 9월 4일 현재 서비스 실험 적용 최종적으로 전체 오탈자 입력의 85% 이상을 커버하는 것이 목표
  43. 43. Q&A 감사합니다
  • HwangJongTaek

    Sep. 17, 2019
  • KisukLee1

    Oct. 11, 2018
  • ChanggyunSeo

    Jan. 20, 2018
  • Rickey.choi

    Jun. 22, 2017
  • DukeYang1

    Mar. 20, 2017
  • JisungJeon

    Dec. 16, 2016
  • ssuser571afd

    Nov. 17, 2016
  • SungmokChi

    Nov. 9, 2016
  • coalash

    Nov. 8, 2016
  • poterius

    Nov. 8, 2016
  • hongjunk

    Nov. 8, 2016
  • HyeojunMoon

    Mar. 2, 2016
  • TaeheeYoun

    Mar. 1, 2016
  • ssuserbe46cf

    Nov. 14, 2015
  • HanBrownsoo

    Oct. 14, 2015
  • gavin612

    Sep. 23, 2015
  • eungihong16

    Sep. 16, 2015
  • JinHoKim1

    Sep. 16, 2015
  • dannysohn7

    Sep. 16, 2015
  • yongbinlee9843

    Sep. 16, 2015

DEVIEW2015 DAY2. 번역 모델 기반_질의_교정_시스템

Vistos

Vistos totais

9.408

No Slideshare

0

De incorporações

0

Número de incorporações

4.436

Ações

Baixados

122

Compartilhados

0

Comentários

0

Curtir

25

×