10.장 자연어 처리 - Rise Group

Download Report

Transcript 10.장 자연어 처리 - Rise Group

10. 자연어 처리
•
•
•
•
•
•
•
10.1
10.2
10.3
10.4
10.5
10.6
10.7
자연어 처리의 응용분야
관련지식 및 처리절차
구문분석
의미분석
상황분석
자연어 생성
음성인식
1
10. 자연어 처리
• 언어의 분류
– 자연어(Natural Language)
– 인공언어(Artificial Language)
2
10.1 자연어 처리의 응용분야
• 기계번역
– 하나의 자연어를 다른 자연어로 컴퓨터를 이용하여 바꾸는 작업
– 상업용 기계번역시스템이 탄생
• 정보검색
– 정보의 습득보다는 습득된 정보 중에서 꼭 필요한 정보를 추출
– 정보를 정확하고 빠르게 찾는 것을 중요시함
• 자연어 인터페이스
– 데이터베이스 질의어를 자연어로 하는 시스템
3
10.2 관련지식 및 처리결과
• 자연어 처리 과정
– 자연어 이해
(Natural Language Understanding)
– 자연어 생성
(Natural Language Generation)
4
10.2 관련지식 및 처리절차
•
자연어 처리에 필요한 지식
–
음운에 관한 지식
•
–
형태소에 관한 지식
•
–
상황에 따라 문장의 의미가 어떻게 달라지는지, 발음이 어떻게 하느냐에 따라 의미가 어떻게 달라지는지
등에 관한 지식
대화에 관한 지식
•
–
단어들이 무엇을 의미하는지, 단어가 모인 문장을 어떤 뜻을 가지고 있는지 등에 관한 지식
상황에 관한 지식
•
–
단어들이 어떤 순서로 조합되어 올바른 문장을 이루는지에 대한 지식
의미에 관한 지식
•
–
언어에서 의미를 갖는 가장 작은 단위인 형태소에 관한 지식
구문에 관한 지식
•
–
단어가 어떻게 음성으로 표현되는지에 관한 정보
앞 문장이 뒤에 오는 문장에 어떤 영향을 미치는지에 관한지식
세상에 관한 지식
•
대화를 위하여 상호간에 일반적으로 알고 있어야 할 세상에 관한 상식
5
SHRDLU
Human: What is sitting on the black block?
SHRDLU: The red pyramid.
Human: Pick it up.
SHRDLU: Red pyramid
6
10.3 구문분석
•
단어들이 문장 내에서 구문규칙에 맞게 구성이 되었는
지를 알아보는 작업
1)
2)
3)
4)
영희가 철수를 사랑한다
철수가 영희에게 사랑 받는다
(Time flies)(like an arrow)
(time)(flies like an arrow)
7
10.3.1 문법
1.
2.
3.
Tom ate the cake.
The lion ate the teacher.
The lion kissed Tom.
틀린 문장 
1. Ate Tom cake the.
2. Teacher the Lion the ate.
3. Cake lion kiss.
8
10.3.1 문법
•
•
•
•
•
•
•
문장 : : = 명사구 동사구
명사구 : : = 고유명사 | 관사 명사
동사구 : : = 동사 명사구
고유명사 : : = Tom | Grace
명사 : : = Teacher | Lion | Cake
동사 : : = Ate | Kissed
관사 : : = The
9
10.3.1 확장된 문법









문장 ::= 명사구(Num) 동사구(Num)
명사구(Num) ::= 고유명사(Num) | 관사(Num) 명사(Num)
동사구(Num) ::= 동사(Num) 명사구( _ )
고유명사 ::= Tom | Grace
명사(S) ::= Lion | Teacher | Cake
명사(P) ::= Lion | Teachers | Cakes
관사 ::= The
동사(S) ::= Eats
동사(P) ::= Eat
10
10.3.2 파싱
• 파싱
– 문법을 사용하여 구문분석을 수행하는 작업
– 문장의 구조를 밝히고 의미를 분석하는데 도움을 줌
• 파싱의 종류
– 상향식(Bottom-up) : 파스트리의 단말노드에서 시작하여 뿌리노
드인 ‘문장’까지 생성할 수 있는 규칙들을 찾아 가는 방식
– 하향식(Top-down) : 파싱 결과로 파스트리의 뿌리노드부터 시작
하여 마지막 단말노드까지 생성하는 방식
11
하향식(Top-down)
12
상향식(Bottom-up)
13
10.3.3 구문분석기 구현
• ATN 개념 : 유한상태 네트워크에서부터 발전된 것이므로
TN(FSN)RTNATN을 순서적으로 살펴봄
FSN(Finite State Network)
RTN(Recursive Transition Network)
ATN(Augmented Transition Network-확장전이네트워
크)
14
10.3.3.1 네트워크의 필요성
•
Fat giraffes cavort and wooly bears love strictly
honey
구조 : ‘형,명,동’,’형,명,동,형,명’ 구조
•
I.
II.
III.
IV.
•
•
명
형,명
형,형,명
형,형,형,명
(명∨(형*명))동{(대 ∨(형*명))}
‘*’가 붙은 부분은 한번 혹은 여러 번 사용


복잡 -> 부적당
더 효율적 표현법이 요구됨
15
10.3.3.2 유한상태 네트워크
• 유한상태 네트워크 (Finite State Network or Transition
Network) 
원으로 표현되는 상태와 화살표로 표현 되는 아크로
구성, 아크는 두 상태간의
이동을 나타냄
16
10.3.3.2 유한상태 네트워크
TS
IV
IV
TE
:
:
:
:
:
:
:
:
=
=
=
=
bte IV
biv/te TE
biv
bte
bte
TS
biv
IV
T4
Bte/te
bte
TE
17
10.3.3.3 반복전이 네트워크
• 반복전이 네트워크(RTN : Recursive Transition
Network) : 문맥무관 언어를 정의하는 형식구조로서 유
한상태 네트워크의 표현 능력을 향상시키기 위하여 아크
에 비단말기호 사용.
18
10.3.3.3 반복전이 네트워크
I.
II.
III.
IV.
V.
Ts
T1
IV
IV
IV2
::=
::=
::=
::=
::=
bte
TS
IV
T1
biv
Biv/te
bte
T1
IV
T4
biv
IV3
biv/te IV2
bte
IV3
IV
T4
IV3
bte
IV2
19
• 반복전이 네트워크는 문맥무관문법은 표현가능하나,
자연어는 문맥무관문법만으로 전부 표현 불가능
따라서, 확장 전이 네트워크를 사용해야 한다.
Action : 문장 분석의 결과에 의해 문장의 구문구조를 만드는
역할, Condition과 다른 아크에서 사용할 수 있는 임시
정보를 제공해줌
Condition : 문장을 분석하는데 필요없는 분석을 하지 않도록 하
는 강력한 선택기능
Register : Action이 만든 구문구조의 일부를 저장하기도 하고,
Condition이 사용하는 Flag 등을 저장하는데 사용
20
10.3.3.4 확장전이 네트워크
<Transition Network>
(<arc set><arc set>*)
<arc set>
(<state><arc>*)
<arc>
(CAT<category name> <test>
<action>* <terminal action>) |
(PUSH<state><test><action>*<terminal action>) |
(POP<form><test>)
<action>
(SETR<register><form>)
<terminal action>
(To<state>) | (JUMP<state>)
<form>
(GETR <register>) | * |
(BUILDQ<fragment><register>*) | (LIST<form>*) |
(APPEND<form><form>) | (QUOTE<arbitrary
structure>)
<form>에 나오는 *는 현재상태를 나타내고 Category는 범주를 나타내며, CAT,
21
PUSH, POP, SETR 등 대문자로 표현된 것은 프로그램에서 정의된 명령어들임.
10.3.3.4 확장전이 네트워크
TE
TS
IV
T1
bte
TE
IV
josa
TE3
biv
TE
T4
TE4
IV2
Bte/te
IVTT
22
10.4 의미분석
• 의미분석 : 의미처리를 통하여 의미구조를 만들어 내는
작업
•
[EAT] –
(AGNT)->[ANIMATE]
(OBJ) ->[FOOD]
•
AGNT : 주체,ANIMATE : 생명체
OBJ : 대상물,FOOD : 음식물
[EAT] –
(AGNT) ->[TOM]
(OBJ) ->[Cake]
23
10.5 상황분석
• 상황분석 : 문맥상 어용론적 분석과 세상지식을 통한 상황설정
• 어용론(Pragmatics) : 문맥상 정확한 문장의 뜻을 해석하는데 관련
된 이론
(예) ‘Can you close the window ?’
: 창문을 닫을 수 있는느냐고 물을 수 있다.
: 창문을 닫아 주기 바란다는 의미로 주로 쓰임
(예) ‘Do you have the time?’
: 시간을 가지고 있는냐가 아니라, 몇 시인지 알고 싶을 때 사
용하는 말임
(예) ‘지금이 몇 시인줄 아느냐 ?’
: 모임에 늦어서 도착한 사람에게 하는 경우는 늦었다고 꾸중하
는 말임
24
(예) 영희는 철수에게 책을 주었다.
그는 그녀에게서 받은 책을 읽었다.
(예) 철수는 새로운 망원경을 샀다.
그는 멀리 영희가 있는 것을 보았다.
그는 그것으로 그녀를 보았다.
 문장의 숨은 뜻은 구문이나 의미분석만으로 밝혀지지 않은 경우가 많
다. 하나의 문장이 아니라, 그 문장이 쓰인 문맥의 내용이나 세상지식을
활용해야 그 문자의 정확한 뜻을 찾을 수있다.
: 문맥상 정확한 문장의 뜻을 해석하는데 관련된 이론을 어용론
(Pragmatic)이라 함.
25
10.5 상황분석
Input:Tarzan kissed jane
Contextual/world
knowledge interpretation
Parsing
Parse tree:
Expanded representation
sentence
noun phrase
noun
verb
noun
Tarzan
kissed
jane
Pet:cheetah
prossess
Verb phrase
noun phrase
experiencer
love
Person:tarzan
agent
Semantic interpretation
object
Person:jane
kiss
object
instrument
lips
Internal representation:
Person:tarzan
Person:jane
location
agent
kiss
instrument
jungle
location
object
lips
To:
Question answerer,
Database query query handler,
Translator,etc.
26
10. 6 자연어 생성
• 자연어 생성(Natural Language Generation) : 컴퓨터가 가지고 있
는 의미표현을 특정 자연어로 표현해 내는 것.
• 자연어 생성을 필요로 하는 시스템
–
–
–
–
–
–
자연어 질의 응답 시스템
전문가 시스템
CAI 시스템
데이터베이스 시스템
기계번역 시스템
텍스트 요약 시스템
27
10. 6 자연어 생성
• 자연어 생성 단계
– 무엇을 말할 것인가를 결정하는 단계
– 어떻게 말할 것인가를 결정하는 단계
[Tom]<- (AGENT) <- [EAT] -> (OBJ) -> [Cake]
=> 톰이 케이크를 먹었다
=> 케이크는 톰에게 먹혔다
: 화자의 의도나 상황도 중요한 고려대상이 됨
28
10.6 자연어 생성
• 적절한 문장 생성
– 단어나 대명사의 선택이 적절
– 말하는 의도나 상황들 고려
• 간단한 해결 방안
– 특정한 응용분야에서는 준비된 문장(Canned Text)
– 정해진 틀(Template)
• 단점
– 다양한 문장의 생성이 어렵다.
– 복잡하고 동적인 상황의 설명을 위한 문장의 생성이 어렵다.
29
(예)
30
(예)
1. 공포 영화 좋아하니?
1-1. 긍정형
1-2. 부정형
1-3. 예외(기타)
긍정형 대답임을 알 수 있는
단어 그룹
부정형 대답임을 알 수 있는
단어 그룹
1-1, 1-2 가 아닌 경우이므로 특별한 단어
그룹 불필요
1-1-1.
1-1-2.
1-1-3.
나도 좋아하는데. 너도 공포물의 스릴이 맘에
드는가 보구나?
나는 공포 물이 좋던데. 그 긴장감과 스릴이
란 정말 참을 수 없어. 나랑 같이 공포
영화 보러 갈래?
나도 그리 좋아하지 않지만 그래도 가끔은 보
는 편인데?
언제 공포 영화나 같이 보러갈까?
그래? 의외 인데. 나는 징그러워서 싫던데. 그
런 것을 좋아하는가 보구나
너도 나랑 같구나. 공포 영화는 왜 보는지 모
르겠더라. 너도 깜짝 놀라는 것이 정말
싫은가 보구나?
나는 공포 영화가 정말 싫어.
혹시 공포 영화 보러 가고 싶으면 나는 빼줘.
약속할 수 있지?
공포 영화보다 더 좋아하는 장르는 없니?
그럼 너 혹시 액션 영화 좋아하니?
그러니? 나도 영화는 가리지 않는 편이거든.
그럼 액션물은 어떻니?
1-1-1-1. 긍정형
1-1-1-2. 부정형
1-1-1-3. 예외(기타)
긍정형 대답임을 알 수 있는
단어 그룹
부정형 대답임을 알 수 있는
단어 그룹
1-1, 1-2 가 아닌 경우이므로 특별한 단어
그룹 불필요
31
10.6 자연어 생성
•
형태소 생성 단계에서는 문법기능과 어휘 정보 그리고 음운 환경 등에 따
라 형태소 첨가와 형태소 합성이 이루어짐
• 형태소의 종류
–
–
–
–
–
–
–
–
상(Aspect)
양상(Modal)
부정(Negation)
접미사(Suffix)
어말어미(Final Ending)
선어말어미(Prefinal Ending)
조사 (Postposition)
보조사(Auxiliary)
32
10.6 자연어 생성
• 음운변동 규칙
–
–
–
–
–
–
–
모음조화(Vowel Harmony)
용언활용(Inflection)
조음소삽입(Epenthesis)
이형태(Allomorph)
활음화(Glide Formation)
대명사교체(Pronoun Alternation)
탈락(Elision)
33
어절 생성 과정
• 형태소 첨가와 음운 변동에 의한 생성 과정
“ 설명하 ” + PAST + DECL
“ 설명하 ” + ” 었 ” + “ 다 ”
“ 설명해 ” + “ ㅆ ” + “ 다 ”
“ 설명했다 ”
34
위의 문장들을 나열하여 놓아도 어떤 일이 일어났는 지에 대한 내용은
이해하지만, 다음과 같은 텍스트 보다는 이해하기 쉽지 않고, 자연스럽지
못함
이처럼 문장들을 연결하는데 대명사, 접속사, 수동태 등을 사용하면 보다
더 자연스럽고 이해하기 쉬운 텍스트가 된다.
개별 문장 생성 뿐만 아니라, 이들을 조합하여 자연스러운 텍스트를
생성하는 것도 중요한 연구분야임.
35
10.7 음성인식
• 음성인식 : 음성신호를 분석하여 어떤 단어들을 말하여
졌는지를 알아내는 작업
• 음성이해(Speech Understanding) : 음성인식이 된 다음
에 무엇이 말하여 졌는지를 알아내기 위한 작업
36
10.7 음성인식
• 음성인식의 세가지 요소
– 주파수(Frequency) : 음의 높낮이
– 진폭(Amplitude) : 음의 크기
– 음색(Tone Color) : 각 음의 특성
37
10.7 음성인식
• 표본화 : 아날로그 신호를 디지털신호로 바꾸기 위하여 표본
을 취하는 것
• 표본화율 : 1초안에 몇 번 표본을 추출하는가
• 양자화 : 표본화한 값을 얼마나 정확하게 표현할 것인가 결정
38
10.7 음성인식
39
10.7 음성인식
• 템플릿 매칭(Template Matching) : 음소를 모두 모아 놓
고 입력된 디지털 신호롸 비교하여 어떤 음소가 들어 있
는지를 밝혀내는 매치 과정
• Dynamic Time Warping : 단어를 말할 때 속도를 감안하
여 인식할 수 있는 방법
40
10.7 음성인식
• 연속음성 인식 (Continuance Speech Recognizer)
• 개별단어 인식 (Individual Word Recognizer)
41