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)RTNATN을 순서적으로 살펴봄
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