어휘의미패턴을 이용한 음성인식 오류 검출 및 수정

Download Report

Transcript 어휘의미패턴을 이용한 음성인식 오류 검출 및 수정

어휘의미패턴을 이용한 음성인식 오류
검출 및 수정
October, 2002
Yongwook Yoon, NLP lab.
1
Contents

Post-processing of Speech recognition
Related Researches
 Lexico-semantic pattern approach
 Experiment & analysis
 Future Work

2
Speech-driven IR application
 음성 입출력 인터페이스의 편리성 (불가피성)
* Mobile Environment: 텍스트 입출력의 한계
* 이동형 단말기 출현: PDA, 휴대전화기, 차량내 단말기 등
 인터페이스
Front-end – 연속 음성 인식, 음성합성(Text To Speech)
Back-end – NLIDB (DBQ), IR system
DB 서버
음성입력
음성 인식
언어 이해
GIS DB
POI DB
대화모델
대화 처리
음성 합성
언어 생성
Document
Index
음성출력
3
Speech Recognition problems
Client PC
Server
Speech
Recognizer
DBQA
형태소분석
오류 후처리
“사찰과 편의점이 있는
주유소를 찾아줘”
“세차장과 편의점이 있는
주유소를 찾아줘”
///
“…
올바른 검색결과
…”
HTTP
질의 분석
정답 추출
Web Browser
4
Types of Recognition Errors(1)

Insertion
 Examples



세차 가능하고 편의점이 있는 게 가장 기름값이 싼 주유소는
삼풍 주유소의 위치는 이
Deletion
 Examples


세차 시설과 편의점이 딸린 강남 근처의 LG주유소는 /강남역
편의점 있는 주유소는 /편의점이
5
Types of Recognition Errors(2)

Replacement
 the

major part of errors
Example-1



세차하면서 편의점이 오이 가능한 LG 주유소가 근처에 있나
세차하면서 편의점 이용이 가능한 LG 주유소가 근처에 있나
Example-2


영등포역 주변의 스케줄 소를 알려주세요
영등포역 주변의 주유소를 알려주세요
6
More about Replacement errors

1-to-1 vs. 1-to-many(n-to-m) error
 오일뱅크
 오일뱅크
주유소를 찾고 있습니다
주유소를 잡고 있습니다
 오일뱅크에서 기름을 넣으려고 하는데 좀 찾아주세요
 오일뱅크의 새 기름을 넣으려고 하는데 좀 찾아주세
요
 세차도
되고 리터당 휘발유 값이 가장 싼 주유소는
 세차도되고 리터당 개발 유 값이 가장 싼 주유소는
7
Contents

Post-processing of Speech recognition
 Related
Researches
Lexico-semantic pattern approach
 Experiment & analysis
 Future Work

8
Related research(1) Noisy channel model
W: the original word sentence, W’: sequence containing errors, W^: corrected sequence
Correction of speech recognition errors => task to find
out W which maximizes the probability P[W’|W]·P[W],
where
· P[W]: the probability that the user would utter sequence W,
· P[W’|W]: the probability that the SR produces the sequence W ’
when W was actually spoken.
9
Related research(2) Using the statistical features of character
co-occurrence
1. First step: Error Pattern matching Correction
10
Related research(2) Using the statistical features of character cooccurrence
2. Second step:
Similar String Correction
· It exploits character cooccurrence property
· 에러 스트링과 좌우문맥을
key로 하여 String-database를
탐색하여 유사한 스트링을
가져와서 이것으로 에러를 치환
11
Issues in the previous researches

Noisy channel model
 오류

Independent of speech recognizers
 N-M

검출 및 수정의 모듈화
대치오류에 취약
Character Co-occurrence
 N-M
대치오류 처리 가능
 올바른 단어가 에러로 오인될 가능성
 응용 도메인이 변할 경우 학습에 많은 비용 소요
12
Contents
Post-processing of Speech recognition
 Related Researches

 Lexico-semantic
pattern approach
Experiment & analysis
 Future Work

13
어휘의미패턴을 이용한 오류수정

어휘의미패턴
 LSP:
Lexico-semantic pattern
 원래의 문장을 어휘, 품사, 유의어로 변환시키고 여기
에 의미정보를 추가하여 만든 string sequence

입력문장 도메인을 한정된 특정영역으로 국한
 예)


주유소 관련 정보검색
에러패턴매칭 방법과 유사
의미정보를 이용하므로 사소한 어휘에러에 강건
 질의응답이나
정보검색시스템 입력으로 적합
14
System 구조
음성 인식기
인식결과
(오류포함)
형태소 분석
일반 의미범주 사전
도메인 의미범주 사전
LSP로 변환된 원문장
LSP로의 변환
(의미정보 추가)
오류 검출 및 복원
오류 복원된 인식결과
15
입력문장 예 – 주유소 도메인
이 근처에서 가장 가격이 싼 주유소를 찾아줘(알려줘)?
여기서 제일 저렴한 주유소를 알려주세요.
근방에서 제일 싼 주유소는?
여기서 가장 싼 주유소의 위치는?
근처에 가장 싼 주유소를 찾아주세요
세차도 되고 음식도 파는 주유소가 이 근처에 있나?
이 근방에서 세차와 식사를 함께 할 수 있는 주유소는?
이 근처에 세차랑 식사를 할 수 있는 주유소의 위치를 알려주세요.
세차와 식사를 할 수 있는 주유소 중에서 이 근방에서 가장 가까운 곳은?
세차도 하고 식사도 할만한 주유소가 근처에 있나요?
이 근처에서 기름값이 싼 주유소는?
이 근방에 기름값이 가장 저렴한 주유소는?
여기서 휘발유 값이 제일 싼 주유소의 위치는?
요 근처에 기름값이 가장 싼 주유소는?
이 근방의 주유소에서 휘발유 값이 가장 싼 곳은?
가스 충전이 가능한 주유소를 알려줘?
가스충전 주유소의 위치는?
가스를 충전할 수 있는 주유소는?
가스를 넣을 수 있는 주유소는 어디에 있나요?
가스를 충전할 수 있는 주유소를 찾아주세요.
여기서 가장 가까운 주유소가 어디야(어디에 있지)?
근방에 있는 주유소는?
이곳에서 제일 가까운 주유소의 위치는?
제일 근접해 있는 주유소는?
제일 가까이에 있는 주유소는 어디에?
LPG를 넣을 수 있는 주유소가 어디에 있지?
LPG 주유소의 위치는?
엘피지 충전 주유소를 찾아주세요.
엘피지를 넣을 수 있는 주유소를 찾아줘.
이 근처에 LPG 충전소가 어디에 있지?
근처에 세차가 가능한 주유소가 어디지?
세차 가능한 주유소 중에서 제일 가까운 곳은?
세차할 수 있는 가장 가까운 주유소는?
세차와 주유를 함께 할 수 있는 제일 가까운 곳은?
이 곳에서 세차를 할 수 있는 가장 가까운 주유소의 위치는?
이 근처에 있는 LG 정유 주유소는?
이 근방의 엘지정유 주유소의 위치는?
이 근처의 엘지 정유는?
LG정유가 이 근처에 있나요?
LG정유 주유소 중에서 이 근처 어디에 있나요?
양재(역) 근처에 있는 세차 가능한 주유소는?
양재 부근의 세차 가능 주유소?
세차 가능한 주유소 중에서 양재역 근처에 있는 곳은?
세차할 수 있는 주유소 중에서 양재역에서 제일 가까운 곳은?
양재역에서 가장 가까운 세차 가능 주유소는?
이 근처에서 가장 가까운 LG 주유소를 찾아줘?
엘지 주유소 중에 제일 가까운 곳은?
여기서 제일 가까운 엘지 정유는?
제일 가까운 LG 주유소를 찾아주세요.
가장 곁에 있는 엘지 주유소는?
16
입력문장에 대한 어휘의미패턴 구축
(원문)
“세차장과 편의점이 함께 있는 ...”
(어휘의미패턴: 오류 검증 패턴)
%wash|%and|%shop|jcs|%together|@요구pa
*
(오류 추정 패턴)
*|%and|%shop|jcs|%together|@요구pa %wash
%wash|*|%shop|jcs|%together|@요구pa %and
%wash|%and|*|jcs|%together|@요구pa %shop
%wash|%and|%shop|*|%together|@요구pa %jcs
%wash|%and|%shop|jcs|*|@요구pa %together
%wash|%and|%shop|jcs|%together|* @요구pa
17
Error detection/correction
"세차장과 펴의점이 함께 있는 주유소 중에서 가격이 가장 저렴한 곳"
형태소 분석 & 의미코드 추가
오류 후보 검출
오류 복원
#
#
#
#
#
#
#
#
[0]
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[0->0]
[1->1]
[2->2]
[3->3]
[4->4]
[5->5]
[6->6]
[7->7]
세차장 ncn (1 0) %wash
과 j (0 0)
%and
펴의점 uknc (1 0) uknc
이 j (0 0)
jcs
함께 ma (1 0) %together
있 pa (1 0) @요구pa
는 ef (0 0) jxc
주유소 unoun (1 0) %name
# Error: %wash|%and|uknc|jcs|%together|@요구pa
# Hypothesis: %wash|%and|*|jcs|%together|@요구pa → %shop|ncn
최다 위치: 펴의점
후보 통계 (빈도): %shop (3), ncn (3), %wash (2), %serv (1)
LSP 레벨: %shop > ncn
# Speech Recognition Correction: uknc → %shop at 2th
# shop: 식사, 음식, 편의점
# 최종복원후보 -> 편의점
“세차장과 편의점이 함께 있는 주유소 중에서 가격이 가장 저렴한 곳”
18
"세차장과 펴의점이 함께 있는 주유소 중에서 가격이 가장 저렴한 곳"
# [0] [0->0]
세차장
ncn (1 0)
%wash
# [1] [1->1]
과
j (0 0)
%and
# [2] [2->2]
펴의점
uknc (1 0) uknc
# [3] [3->3]
이
j (0 0)
jcs
# [4] [4->4]
함께
ma (1 0)
%together
# [5] [5->5]
있
pa (1 0)
@요구pa
# [6] [6->6]
는
ef (0 0)
jxc
# [7] [7->7]
주유소
unoun (1 0) %name
# [8] [8->8]
중
unoun (1 0) nbn
# [9] [9->9]
에서
j (0 0)
%from
# [10] [10->10]
가격
ncn (1 0)
%price
# [11] [11->11]
이
j (0 0)
jcs
# [12] [12->14]
가장 저렴 하
ncp (1 0)
%most-cheap
# [13] [0->0]
(1 0)
# [14] [0->0]
(0 0)
# [15] [15->15]
ㄴ
ef (0 0)
ef
# [16] [16->16]
곳
nbn (1 0)
%location
#
#
#
#
#
#
Speech
Speech
Speech
Speech
Speech
Speech
Recognition
Recognition
Recognition
Recognition
Recognition
Recognition
Error: %wash|%and|uknc|jcs|%together|@요구pa
Hypothesis: %wash|%and|*|jcs|%together|@요구pa
Error: %and|uknc|jcs|%together|@요구pa|jxc
Hypothesis: %and|*|jcs|%together|@요pa|jxc
Error: uknc|jcs|%together|@요구pa|jxc|%name
Hypothesis: *|jcs|%together|@요구pa|jxc|%name
→ %shop|ncn
→ %serv|%shop|%wash|ncn
→ %shop|%wash|ncn
최다 위치: 펴의점
후보 통계 (빈도): %shop (3), ncn (3), %wash (2), %serv (1)
LSP 레벨: %shop > ncn
# Speech Recognition Correction: uknc → %shop at 2th
# shop: 식사, 음식, 편의점
# 최종복원후보 -> 편의점
; %shop에 해당하는 의미범주 사전의 entry
; by minimal edit distance from ‘펴의점’
19
Contents
Post-processing of Speech recognition
 Related Researches
 Lexico-semantic pattern approach

 Experiment

& analysis
Future Work
20
Experiments



음성인식기: ByVoice 1
 보이스텍 음성 인식기 (딕테이션용)
 화자 음성 적응 필요 (20 ~ 30분)
 언어 모델 학습 가능 (written text를 입력으로 하는 학습)
 성능 : 86% (화자 적응 및 언어 모델 학습 후, 단어 단위)
입력대상 문장
 주요소 관련 정보검색 시나리오 540문장
음성인식 결과
Level
# of input
# of
incorrect
correctness
Sentence
540
224
58.5 %
Word
4243
341
92.0 %
21
Experiment Result

오류수정 대상 문장 : 107 sentences
 Word
단위 오류유형별 복원 결과
오류유형
삽입
삭제
대치
계
복원율(%)
Word 수
15
9
95
119
-
어휘복원
8
4
55
67
56.3
의미복원
15
9
71
95
79.8
22
Analysis

오류에 유연한 대처 가능



기존의 방법: 철자 오류수정의 범주
어휘의 의미정보를 이용함으로써 언어적 지식을 충분히 활용
도메인 변화에 쉽게 적응


기존의 방법: 도메인이 변하면 그에 맞게 대량의 학습이 요구
입력시나리오만 정해진다면 어휘의미패턴은 자동적 구축



Library 프로그램 이용 빠른 시간내에 구축
해당 도메인에 국한된 소량의 의미정보 데이타베이스 이용
단점


삽입, 삭제, N-M 대치에러에 취약
Error-pattern 데이타베이스를 이용하여 해결
23
향후 과제

N-M 대치에러에 강건한 모델
유연한 어휘의미패턴 모델:윈도우 사이즈 축소
 문장 정렬 알고리듬 개발



오류 스트링: 원래 스트링
음성인식 오류 데이터 수집
 다양한
도메인, 많은 수의 화자
24
The END
25