Transcript 11장

11. 자연언어 처리
자연언어 처리 (Natural Language Processing)
 자연언어의 의미
 프로그래밍
언어와 같은 인공언어에 대응하는 개념, 인간이 일상
적으로 사용하는 언어
 자연언어를 컴퓨터로 처리하려고 하는 분야
 기계 번역, 대화식 사용자 인터페이스(음성 포함), 자연어 질의
 자연언어 처리의 분석 단계
 형태소
분석(morphological analysis)
입력된 문자열을 분석하여 형태소라는 자연언어 분석을 위한 기본
단위로 분류하는 것(형태소 결합 규칙을 역으로 적용)
예) 감기는 → ‘감기(명사) + 는(조사)’
 구문
분석 (syntactic analysis)
형태소들이 결합하여 문장이나 구절을 만드는 구문 규칙에 따라서
문장 내에서 각 형태소들이 가지는 역할(주어, 목적어)을 분석하는 것
예) 직장인은 휴일에 쉰다. (직장인은 주어, 쉰다는 서술어 )
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
자연언어 처리의 분석 단계
 의미
분석 ( semantic analysis )
구문 분석의 결과를 해석하여 문장이 가지는 의미(형태소의 의미)를 분석하
는것
예) 배가 간다.
– 배를 차로 바꾸면 차가 간다. 차가 간다와 배가 간다는 구문적으로 올바른 문장
– 배가 먹는 배로 의미한다면 이 문장은 의미상으로 올바른 문장 아님
– 의미 분석은 간단하지 않고, 실제 문제 영역에 따라 그 처리 방법이 달라짐.
 실용
분석 ( pragmatic analysis )
문장이 실세계와 가지는 연관 관계를 분석하는 것
예) 지금 시간을 아니? 라는 문장
– 현재 시간을 아느냐 + 나에게 알려 달라는 의미도 포함
– 실세계 지식이나 상식 등을 토대로 화자와 청자의 대화 의도를 분석하는 것이
요구된다.
– 이와 같은 실용 분석은 자연어로 된 질의어를 분석하거나 사용자 인터페이스
를 구축하는데 중요
 보다
완전한 자연어 처리: 음성학적 지식, 주제 관련분야 지식 필요
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
자연언어 처리의 예
 자연언어 처리의 예
 예제
문장: "Mr. Kim’s family enjoyed a barbeque party."
experiencer
object
like
internal representation
person : Mr. Kim's f amily
agent
object : a barbeque party
behavior : enjoy
object
instrument
location
인공지능: 개념 및 응용(3판)
outdoor
도용태 김일곤 김종완 박창현 공저
object
f ork & knif e
location
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
자연언어 표현을 위한 문법
 문법
인간의 언어 능력에 의해 해석되어 무한한 자연언어를 생성할 수 있는 유
한한 규칙으로 정의(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 )
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
자연언어의 이해
 자연언어의 이해하는 방법
 문장을
형태소 분석과 파싱( parsing ) 이라는 두 단계로 분석

형태소 분석: 단어 단위로 분리된 입력 문자열로부터 각각의 형태소를
분리하고, 변형이 일어난 단어에 대해서는 원형을 복원하는 과정

파싱 ( parsing ): 문장의 구조가 문법이론에 따라 구조적으로 맞게 되
어 있는지를 분석하는 과정
 형태소
분석
언어를 분석하기 위한 기본 단위
 의미를 가지는 요소로서 더 이상 분석할 수 없는 가장 작은 문법 단위
→ 단순어의 어근, 어미, 조사, 접두사, 접미사 등
→ 더 이상 분석하면 뜻을 잃어버리게 됨
 용언의 불규칙활용 등의 단어에 대해서 원형 복원해야 함


lexical analysis
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
형태소 분석
 형태소
분석( 어휘 분석 )의 과정
전처리 단계 → 후보 생성 단계 → 후보 선택 단계 → 후처리 단계

전처리 단계(형태소 분리)
– 문서로부터 형태소 분석의 대상이 되는 단어를 추출하고, 문장을 분리하고,
숫자나 특수 문자열을 처리
– 형태소 분석의 단위는 띄어쓰기 단위로 된 문자열



한글, 영어: 용이함
일본어, 중국어: 문장을 단위로 하여 단어 분리 → 이 단계가 매우 중요
후보 생성 단계
– 형태소 분리 과정과 원형 복원 과정을 거쳐 가능한 모든 분석 후보들을 생성
– 한국어의 형태소 분리 과정: 하나 이상의 형태소로 이루어진 입력 문자열로
부터 어근, 조사, 어미, 접두사, 접미사 등을 인식(용도, 사전 단위 고려)
예) ‘ 예뻐지다 ‘ → ‘ 예쁘’ +’어‘+ ‘지’ + ‘다’ or ‘예뻐지’ + ‘다’
– 원형 복원 과정: 활용이나 축약, 탈락과 같은 음운 현상으로 인하여 형태론적
변형이 일어난 형태소에 대하여 원형을 복원
예) ‘아름답’ + ‘어’ → 아름다워로 되는 ‘ㅂ’불규칙 현상
‘나는’ → ‘날’ + ‘는’ 과 같은 ‘ㄹ’탈락 현상
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
형태소 분석
 형태소
분석( 어휘 분석 )의 과정
전처리 단계 → 후보 생성 단계 → 후보 선택 단계 → 후처리 단계

후보 선택 과정
– 생성된 후보 형태소들을 단어 형성 규칙에 따라 최소한으로 확장
– 후보 형태소들에 대한 어휘 사전의 검색과 결합 제약조건 등에 의해 최종적
으로 올바른 후보를 선택

후처리 단계
– 복합 명사나 사전 미등록어, 줄임말 등과 같이 언어 종속적이거나 특이한 언
어 현상들을 처리
– 형태론적 모호성(품사 모호성)을 내포하는 단어는 두 가지 이상의 결과를 제
시
예) ‘나는’
‘나(명사, I) +는(조사)’
'날(동사,fly)+는(어미)’
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
 형태소
분석 예
입력: 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
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
파싱 Ⅰ
 파싱(Parsing)
 입력
문장을 문장에서 의미 있는 단위들에 해당하는 계층 구조로 변환
 파싱을 하기 위한 많은 방법들의 공통적인 두 가지 고려사항
1) 언어에서 허용하는 문장의 구조를 형식적으로 정의하는 체계인 문법
– 문법을 표현하는 방법은 생성 규칙 또는 문법 규칙들의 집합을 사용하는 것
2)파싱 기법으로서 입력 문장의 구조를 문법에 따라 분석하는 방법
– 문장 구조를 표현하는 보편적인 방법은 트리를 사용하는 것 → 파싱 트리
→ 전체 문장이 어떤 부분 구조들로 분리되는지를 명확하게 보여줌.
S
규칙1) S → NP VP
규칙2) NP → ART NOUN
규칙3) NP → NAME
규칙4) VP → VERB NP
규칙5) VP → VERB
규칙6) NAME → Bill
규칙7) ART → a | an | the
규칙8) VERB → bought
규칙9) NOUN → book
인공지능: 개념 및 응용(3판)
VP
NP
NAME
VERB
Bill
bought
NP
ART NOUN
the
도용태 김일곤 김종완 박창현 공저
(S (NP (NAME Bill))
(VP (VERB bought)
(NP (ART the)
(NOUN book))))
book
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
파싱 Ⅱ
 자연언어

문장에 대한 트리 구조 생성을 위한 요소
단어
– 문장을 구성하는 최소 단위로서, 문장을 구성하는 트리 구조에서 단말 노드
에 나타남 (각 단어는 문법적인 품사를 가진다.(bought는 VERB))

구문 기호
– 트리 구조의 비단말 노드에 나타나는 문법적 구조들에 대한 이름
– S : 문장, NP : 명사구, VP : 동사구 등

문법 규칙
– 입력된 단어 열이 일정한 규칙에 맞게 구성되어야 문장이 되는 규칙
– 구문기호가 어떤 다른 기호로 다시 구성되는가를 정의
– 자연언어의 문법 규칙을 기술하는 가장 일반적인 방법 → 문맥 자유 문법
 입력된

문장에 대하여 트리구조를 분석해 내는 과정
하향식 파싱
– 트리구조의 최상단을 가리키는 문장 기호 S로부터 시작하여, 이 S를 문법
규칙에 따라 반복 적용함으로써 단어들의 열인 문장을 얻는 방법

상향식 파싱
– 단어들의 연속인 문장으로부터 각 단어들을 품사 기호로 변환하고, 그 중의
Artificial
Intelligence:
and Applications
인공지능: 개념 및 응용(3판)
일부 연속된
부분을 규칙에 의해 새로운
기호로
바꾸어Concepts
문장 S를
구성
도용태 김일곤 김종완 박창현 공저
11. 자연언어 처리
 하향식과
상향식의 예
하향식:
상향식:
S → NP VP(규칙 1)
→ NAME VP (규칙 3)
→ Bill VP (규칙 6)
→ Bill VERB NP (규칙 4)
→ Bill bought NP (규칙 8)
→ Bill bought ART NOUN (규칙 2)
→ Bill bought the NOUN (규칙 7)
→ Bill bought the book (규칙 9)
Bill bought the book
→ NAME bought the book(규칙 6)
→ NAME VERB the book (규칙 8)
→ NAME VERB ART book (규칙 7)
→ NAME VERB ART NOUN (규칙 9)
→ NP VERB ART NOUN (규칙 3)
→ NP VERB NP (규칙 2)
→ NP VP (규칙 4)
→ S (규칙 1)
문법규칙의 적용: 전방향 규칙 적용
(Forward rule apply)
문법규칙의 적용: 역방향 규칙 적용
(Backward rule apply)
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
파싱 Ⅲ
 파싱 기법과 관련된 모호성
 구조적

모호성
문법 규칙에 따라 문장의 구조를 분석할 때 두 가지 이상의 구조로 분석
될 수 있는 성질
예) "Bill went to the park with the peacocks." (pp. 311 그림 11.4)
Bill went to the park with the peacocks
 어휘적
모호성
한 단어가 두 가지 이상의 품사로서 사용되는 성질
예) "Time flies like an arrow." (pp. 313 그림 11.5)

1) flies: 동사, like: 전치사
2) flies: 명사, like: 동사
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
파싱을 수행하는 대표적 기법
 확장

전이망 (Augmented Transition Network; ATN)
파싱 과정이 전이망 안의 시작 상태에서 종료 상태로의 상태 전이로
기술
 Tomita

파싱
프로그래밍 언어 파싱을 위한 LR 파싱 알고리즘을 자연언어를 파싱
하기에 적합하도록 확장된 방법
 차트
파싱 (Chart Parsing)

파싱의 중간 과정에서 구해지는 모든 부분 구조들을 저장하여 선택
적인 파싱 경로를 따라 이들을 재사용함으로써 백업을 피하는 방법

차트: 파싱의 중간 과정의 부분적인 구조를 기록하는 표

상향식 파싱: 문법 규칙에서 우변의 기호들이 순서대로 일치하면 좌
변의 기호를 갖는 새로운 구조 생성
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
차트 파싱 알고리즘
 기본
자료구조: 차트, 키 리스트
차트: 완성, 미완성 문법 구조들에 대한 기록
 키 리스트: <C, pi, pj>의 리스트 형태

– C: 완성구조에 최종적으로 적용된 문법규칙의 우변 기호
– pi, pj: 해당 구조가 입력 문장에서 위치하는 구간의 시작과 끝 위치
 과정
입력 문장에 대해서 규칙 우변의 시작 기호들을 하나씩 차례로 매칭
 우변의 기호가 매치된 경우, 매치된 기호와 앞으로 매치될 기호 사이
에 점을 찍는 표현 방법 사용
 규칙의 다음 기호를 순서대로 매칭하여 규칙을 확장
예) "He ate the pie"의 상향식 차트 파싱

문법: 규칙 1. S → NP VP
규칙 3. NP → PRON
규칙 2. NP → ART NOUN
규칙 4. VP → VERB NP
단어 사전:
PRON = {He}, ART={the}, VERB={ate}, NOUN={pie}
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
→ 차트 구축 방향(상향식)
 차트
파싱 과정
<S, 1, 5> ( 규칙 1)
<VP, 2, 5 > (규칙 4)
<NP, 1, 2>(규칙 3)
<NP, 3, 5> (규칙2)
<PRON, 1, 2>
<VERB, 2, 3>
<ART, 3, 4>
<NOUN, 4, 5>
He
ate
the
pie
1
2
규칙 매칭 과정
NPPRON.(R3)
3
VPVERB.NP
4
5
NP ART.NOUN
SNP.VP
NP ART NOUN.(R2)
VPVERB NP. (R4)
S NP VP.(R1)
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
자연언어의 생성
 자연언어의 생성
 인간과
컴퓨터간의 의사 전달을 위해 컴퓨터 내부의 지식표현으
로부터 문법과 사전을 이용하여 그에 해당하는 자연언어 문장을
만들어 내는 과정(cf. 자연언어 이해는 입력 언어를 의미 있는 구조로 변환)

대화식 사용자 인터페이스 시스템
– 자연어 질의 응답 시스템
– 전문가 시스템의 결론 및 설명 시스템
– 데이터베이스의 내부 데이터를 사용자에게 출력
→ 내부 정보 표현이 사용자는 이해하기 힘들다 → 자연언어로 표현
→ 사용자의 이해도 향상

비대화식 시스템(문서 생성)
– 기계 번역 시스템
– 보고서 생성기: 명세로부터 정해진 양식의 문서 자동 생성
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
자연언어 생성과정
 자연언어의
생성 방법

여러 가지 지식을 사용하여 나타내고자 하는 정보를 선택하고, 문법
구조와 어휘의 결정을 통해 문장을 생성

따라서 생성되는 문장은 주어진 명제적 지식, 사용하는 언어학적 방
법론, 화자의 의도, 상황등에 따라 다르게 표현
– 예: 동일한 의미의 문장에서 주어를 바꾸어 상이한 표현구조를 생성


철수가 영희에게 책을 주었다.

영희는 철수로부터 책을 받았다
초기의 자연언어 생성
– 문법, 어휘에 대한 정보 없이 단순 패턴의 대치 및 변형

예) ELIZA: 의사와 정신병환자의 단순 대화 모방
→ 상황에 대한 융통성 부족, 제한된 유형의 문장만 출력

점차 문법과 어휘에 대한 지식을 기반으로 한 문장 생성 방식 개발
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
자연언어 처리의 응용 예
 초기

50-60년대 시스템
SAD-SAM: 가족관계에 대한 영어문장 분석하는 시스템
– 데이터베이스, 추론, 문맥자유 문법 이용
– 모호성 문장의 한계, 추론의 한계 → 자연언어 이해 분야의 가능성 확인

GAT: 초기의 대표적 기계번역 시스템 (소련어 물리학 문서 → 영어)
– 단어와 단어를 1:1로 대치, 언어학적 이론 비사용
– 질이 매우 낮으나 문서를 대충 훑어 볼 수 있는 수준
 70년대

시스템
LUNAR: 달표면 지질학에 대한 정보를 자연어로 검색
– 자연어에 의한 사용자 인터페이스의 가능성에 대한 연구
– 어휘사전, 확장 전이망에 의한 영어 구문 규칙, DB 질의용 언어 처리기
– 지질학 문장 유형, 데이터베이스 용어 → 응용 영역 제한, 복잡한 문장에
어려움

SYSTRAN: GAT의 개발자에 의한 최초 상품화된 MT 시스템
– NASA에서 문서 번역을 위해 채택
– 러-영, 영-불, 불-영, 영-이 등의 번역 시스템이 차례로 개발
– 번역수준은 낮으나 중요치 않은 자료 번역에는 충분히 사용 가능
인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
 80년대
80년대 중반 인공지능 분야의 반성
 주어진 문제의 풀이 기술보다는 확장 가능한 기술로의 관심 이동
 Nagao: 예제기반 분석 시스템

– 새로운 문장 분석 시 기존의 분석 저장된 자료를 참고
– 가장 가까운 형태를 찾고 이에 따라서 문장을 분석
일본의 경우 기계번역에 대한 연구를 가장 많이 함. 기업체 중심 연구
 유럽: EC 국가들의 9개 언어를 상호번역: EUROTRA 1단계 완료

 90년대
정리된 언어학 이론을 자연언어 처리에 이용
 대규모 지식을 이용한 문장 분석 및 이해 → 대량의 정보처리 요구
 앞으로 컴퓨터 기술의 발전을 기대

인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications
11. 자연언어 처리
 2000년대

시맨틱웹 기술 계층도
 기타
국내에서는 앙꼬르, ClickQ 등의 상용 소프트웨어 개발
 인터넷상의 무수한 정보 검색과 연계한 많은 연구의 필요성 대두

인공지능: 개념 및 응용(3판)
도용태 김일곤 김종완 박창현 공저
Artificial Intelligence: Concepts and Applications