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
규칙 매칭 과정
NPPRON.(R3)
3
VPVERB.NP
4
5
NP ART.NOUN
SNP.VP
NP ART NOUN.(R2)
VPVERB 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