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