Download presentation
Presentation is loading. Please wait.
1
자연어 처리 (Natural Language Processing) (Lecture Note #27)
Modified from the slides by SciTech Media 자연어 처리 (Natural Language Processing) (Lecture Note #27) 인공지능 이복주 단국대학교 컴퓨터공학과
2
Outline 자연언어 처리 자연언어 처리를 위한 문법 형태소 분석 파싱 자연언어 생성 자연 언어 응용 예
3
자연언어 처리 자연언어의 의미 자연 언어 처리 역사
프로그래밍 언어와 같은 인공언어에 대응하는 개념, 인간이 일상적으로 사용하는 언어 자연언어를 컴퓨터로 처리하려고 하는 분야 기계 번역, 대화식 사용자 인터페이스 (음성 포함), 데이타베이스에서 자연어 질의 자연 언어 처리 역사 대표적 언어학자 Noam Chomsky 언어는 인간 정신 세계의 반영 변형을 부정하고 의미와 어휘의 역할 강조 초기 학자들의 생각 프로그램 언어 같은 인공 언어를 확장하면 자연어 처리가 쉽게 될 것 결국 실패: 인간은 기억된 상식, 전문 지식을 이용하여 추론
4
자연언어 처리 자연언어 처리의 분석 단계 형태소 분석 (morphological analysis)
입력된 문자열을 분석하여 형태소라는 자연언어 분석을 위한 기본 단위로 분류하는 것 (형태소 결합 규칙을 역으로 적용) 예) 감기는 → ‘감기 (명사) + 는 (조사)’ 구문 분석 (syntactic analysis) 형태소들이 결합하여 문장이나 구절을 만드는 구문 규칙에 따라서 문장 내에서 각 형태소들이 가지는 역할 (주어, 목적어)을 분석하는 것 예) 직장인은 휴일을 쉰다. (직장인은 주어, 쉰다는 서술어 )
5
자연언어 처리의 분석 단계 의미 분석 (semantic analysis) 실용 분석 (pragmatic analysis)
구문 분석의 결과를 해석하여 문장이 가지는 의미 (형태소의 의미)를 분석하는 것 예) 배가 간다. 배를 차로 바꾸면 차가 간다. 차가 간다 와 배가 간다는 구문적으로 올바른 문장. 배가 먹는 배로 의미한다면 이 문장은 의미상으로 올바른 문장 아님 의미 분석은 간단하지 않고, 실제 문제 영역에 따라 그 처리 방법이 달라짐. 실용 분석 (pragmatic analysis) 문장이 실세계와 가지는 연관 관계를 분석하는 것 예) 지금 시간을 아니? 라는 문장 현재 시간을 아느냐 + 나에게 알려 달라는 의미도 포함 실세계 지식이나 상식 등을 토대로 화자와 청자의 대화 의도를 분석하는 것이 요구한다. 이와 같은 실용 분석은 자연어로 된 질의어를 분석하거나 사용자 인터페이스를 구축하는데 중요 보다 완전한 자연어 처리: 음성학적 지식, 주제 관련분야 지식 필요
6
자연어 처리의 예 자연어 처리의 예: "Mr. Kim’s family enjoyed a barbeque party.“
의미 분석 단계: “Mr. Kim’s family”라는 사람이 “a barbeque party라는 대상을 “enjoyed”라는 행위를 수행
7
자연어 처리의 예 자연어 처리의 예: "Mr. Kim’s family enjoyed a barbeque party.“
실용 분석 단계
8
자연언어 표현을 위한 문법 문법 인간의 언어 능력에 의해 해석되어 무한한 자연언어를 생성할 수 있는 유한한 규칙으로 정의 (formal grammar) 자연언어: 문맥 의존 언어 프로그래밍 언어: 문맥 자유 언어 문맥 의존 언어 문맥 자유 언어 형식 언어 이론에서의 문법 G = {N, T, S, P}로 정의 N: 문법 기호에 해당하는 비단말 기호 (nonterminal symbol) T: 단말 기호 (terminal symbol) S: 시작기호로서 대개 문장을 나타내는 문법 기호가 시작기호 P: 시작기호 S로부터 시작한 유도 과정을 통하여 단말 기호의 열이 얻어지기까지 적용되는 생성 규칙들의 집합 Chomsky의 형식 문법 무제약 문법 (unrestricted grammar) 문맥 의존 문법 (context-sensitive grammar) 문맥 자유 문법 (context-free grammar) 정규 문법 (regular grammar)
9
자연언어 표현을 위한 문법 무제약 문법 (unrestricted grammar)
가장 일반적인 문법 A W A (N T)* - {} // 즉 A는 공백 문자가 아니어야 함 W (N T)* , (N T)* 위축형 문법 (contracting grammar) Wi Wi+1 에서 Wi+1이 Wi보다 길이가 짧아질 수 있다 cD c 문맥 의존 문법 (context-sensitive grammar) A N // 즉 A 비단말 기호가 W (N T)* - {} // 공백 아닌 단말 및 비단말로 대치될 수 있음 단 A앞뒤에 , 일치해야 함. 즉 문맥 영향 받음
10
자연언어 표현을 위한 문법 문맥 자유 문법 (context-free grammar) 정규 문법 (regular grammar)
A W A N // 즉 A 비단말 기호가 W (N T)* - {} // 공백 아닌 단말 및 비단말로 대치될 수 있음 = , = 로 제약이 가해짐 A앞뒤에 , 일치할 필요 없음. 즉 문맥 관계 없음 정규 문법 (regular grammar) 우선형 (right linear): A aB | a A N {S} B N a T 좌선형 (left linear): A Ba | a
11
자연언어 표현을 위한 문법 예제 11.2 정규 문법, 문맥자유 문법 자연 언어는? 문맥 의존 문법
L1 = {anbn| n 0} L2 = {anbn| n 1} 어느 것이 문맥 자유 언어인가? L2: S aSb | ab [문맥 자유] L1: S aSb | ab | [무제약 언어] 정규 문법, 문맥자유 문법 가장 많이 연구됨 프로그래밍 언어는? 문맥 자유 문법 자연 언어는? 문맥 의존 문법 효율적 처리 방법 아직 없음
12
자연 언어의 이해 자연언어의 이해하는 방법 문장을 형태소 (morpheme) 분석과 파싱 (parsing) 이라는 두 단계로 분석 형태소 분석: 단어 단위로 분리된 입력 문자열로부터 각각의 형태소를 분리하고, 변형이 일어난 단어에 대해서는 원형을 복원하는 과정 파싱 (parsing): 문장의 구조가 문법이론에 따라 구조적으로 맞게 되어 있는지를 분석하는 과정 형태소 분석 언어를 분석하기 위한 기본 단위 의미를 가지는 요소로서 더 이상 분석할 수 없는 가장 작은 문법 단위 단순어의 어근, 어미, 조사, 접두사, 접미사 등 더 이상 분석하면 뜻을 잃어버리게 됨 용언의 불규칙활용 등의 단어에 대해서 원형 복원해야 함 AKA, lexical analysis
13
형태소 분석 형태소 분석 (어휘 분석)의 과정 전처리 단계 → 후보 생성 단계 → 후보 선택 단계 → 후처리 단계
1. 전처리 단계 (형태소 분리) 문서로부터 형태소 분석의 대상이 되는 단어를 추출하고, 문장을 분리하고, 숫자나 특수 문자열을 처리 형태소 분석의 단위는 띄어쓰기 단위로 된 문자열 한글, 영어: 용이함 일본어, 중국어: 문장을 단위로 하여 단어 분리 → 이 단계가 매우 중요 2. 후보 생성 단계 형태소 분리 과정과 원형 복원 과정을 거쳐 가능한 모든 분석 후보들을 생성 한국어의 형태소 분리 과정: 하나 이상의 형태소로 이루어진 입력 문자열로부터 어근, 조사, 어미, 접두사, 접미사 등을 인식 (용도, 사전 단위 고려) 예) ‘ 예뻐지다 ‘ → ‘ 예쁘’ +’어‘+ ‘지’ + ‘다’ or ‘예뻐지’ + ‘다’ 원형 복원 과정: 활용이나 축약, 탈락과 같은 음운 현상으로 인하여 형태론적 변형이 일어난 형태소에 대하여 원형을 복원 예) ‘아름다워’ ‘아름답’ + ‘어’ ( ‘ㅂ’불규칙 현상) 예) ‘나는’ (날아가는) ‘날’ + ‘는’ (‘ㄹ’탈락 현상)
14
형태소 분석 형태소 분석 (어휘 분석)의 과정 (계속) 3. 후보 선택 과정 4. 후처리 단계
생성된 후보 형태소들을 단어 형성 규칙에 따라 최소한으로 확장 후보 형태소들에 대한 어휘 사전의 검색과 결합 제약조건 등에 의해 최종적으로 올바른 후보를 선택 4. 후처리 단계 복합 명사나 사전 미등록어, 줄임말 등과 같이 언어 종속적이거나 특이한 언어 현상들을 처리 형태론적 모호성(품사 모호성)을 내포하는 단어는 두가지 이상 결과 제시. 예) ‘나는’ ‘나(명사, I) +는(조사)’ '나(동사, produce)+는(어미)’ '날(동사, fly)+는(어미)’
15
형태소 분석 형태소 분석 예 입력: working, shopping, dying, taking
목표: working → work + ing shopping → shop + ing dying → die + ing taking → take + ing 1) 'ing' 삭제 후, 기본 사전 탐색 결과: work, shopp, dy, tak 2) 중복 자음 삭제 후, 사전 탐색 결과: shop, dy, tak 3) y로 끝나면 ie로 바꾼 후, 사전 탐색 결과: die, tak 4) 끝이 자음이면 e를 붙인 후, 사전 탐색 결과: take
16
Summary 자연언어 처리 자연언어 처리를 위한 문법 형태소 분석 파싱 자연언어 생성 자연 언어 응용 예
Similar presentations