1 / 19

자연언어 처리

자연언어 처리. 자연언어의 의미 프로그래밍 언어와 같은 인공언어에 대응하는 개념 , 인간이 일상적으로 사용하는 언어 자연언어를 컴퓨터로 처리하려고 하는 분야 기계 번역 , 대화식 사용자 인터페이스 ( 음성 포함 ), 자연어 질의 자연언어 처리의 분석 단계 형태소 분석 (morphological analysis) 입력된 문자열을 분석하여 형태소라는 자연언어 분석을 위한 기본 단위로 분류하는 것 ( 형태소 결합 규칙을 역으로 적용 ) 예 ) 감기는 → ‘감기 ( 명사 ) + 는 ( 조사 )’

lyre
Download Presentation

자연언어 처리

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 자연언어 처리 • 자연언어의 의미 • 프로그래밍 언어와 같은 인공언어에 대응하는 개념, 인간이 일상적으로 사용하는 언어 • 자연언어를 컴퓨터로 처리하려고 하는 분야 • 기계 번역, 대화식 사용자 인터페이스(음성 포함), 자연어 질의 • 자연언어 처리의 분석 단계 • 형태소 분석(morphological analysis) 입력된 문자열을 분석하여 형태소라는 자연언어 분석을 위한 기본 단위로 분류하는 것(형태소 결합 규칙을 역으로 적용) 예) 감기는 → ‘감기(명사) + 는(조사)’ • 구문 분석 (syntactic analysis) 형태소들이 결합하여 문장이나 구절을 만드는 구문 규칙에 따라서 문장 내에서 각 형태소들이 가지는 역할(주어, 목적어)을 분석하는 것 예) 직장인은 휴일을 쉰다. (직장인은 주어, 쉰다는 서술어 )

  2. 자연언어 처리의 분석 단계 • 의미 분석 ( semantic analysis ) 구문 분석의 결과를 해석하여 문장이 가지는 의미(형태소의 의미)를 분석하는 것 예) 배가 간다. • 배를 차로 바꾸면 차가 간다. 차가 간다 와 배가 간다는 구문적으로 올바른 문장. • 배가 먹는 배로 의미한다면 이 문장은 의미상으로 올바른 문장 아님 • 의미 분석은 간단하지 않고, 실제 문제 영역에 따라 그 처리 방법이 달라짐. • 실용 분석 ( pragmatic analysis ) 문장이 실세계와 가지는 연관 관계를 분석하는 것 예) 지금 시간을 아니? 라는 문장 • 현재 시간을 아느냐 + 나에게 알려 달라는 의미도 포함 • 실세계 지식이나 상식 등을 토대로 화자와 청자의 대화 의도를 분석하는 것이 요구한다. • 이와 같은 실용 분석은 자연어로 된 질의어를 분석하거나 사용자 인터페이스를 구축하는데 중요 • 보다 완전한 자연어 처리: 음성학적 지식, 주제 관련분야 지식 필요

  3. 자연어 처리의 예 • 자연어 처리의 예 • 예제 문장: "Mr. Kim’s family enjoyed a barbeque party."

  4. 자연언어 표현을 위한 문법 • 문법 인간의 언어 능력에 의해 해석되어 무한한 자연언어를 생성할 수 있는 유한한 규칙으로 정의(formal grammar) • 자연언어: 문맥 의존 언어 • 프로그래밍 언어: 문맥 자유 언어 • 형식 언어 이론에서의 문법 G ={N, T, S, P}로 정의 N: 문법 기호에 해당하는 비단말 기호 ( nonterminal symbol ) T: 단말 기호 ( terminal symbol ) S: 시작기호로서 대개 문장을 나타내는 문법 기호가 시작기호 P: 시작기호 S로부터 시작한 유도 과정을 통하여 단말 기호의 열이 얻어지기까지 적용되는 생성규칙들의 집합 • Chomsky의 형식 문법 • 무제약 문법 ( unresticted grammar ) • 문맥 의존 문법 ( context-sensitive grammar ) • 문맥 자유 문법 ( context-free grammar ) • 정규 문법 ( regular grammar )

  5. 자연 언어의 이해 • 자연언어의 이해하는 방법 문장을 형태소 분석과 파싱( parsing ) 이라는 두 단계로 분석 • 형태소 분석: 단어 단위로 분리된 입력 문자열로부터 각각의 형태소를 분리하고, 변형이 일어난 단어에 대해서는 원형을 복원하는 과정 • 파싱 ( parsing ): 문장의 구조가 문법이론에 따라 구조적으로 맞게 되어 있는지를 분석하는 과정 • 형태소 분석 • 언어를 분석하기 위한 기본 단위 • 의미를 가지는 요소로서 더 이상 분석할 수 없는 가장 작은 문법 단위 → 단순어의 어근, 어미, 조사, 접두사, 접미사 등 → 더 이상 분석하면 뜻을 잃어버리게 됨 • 용언의 불규칙활용 등의 단어에 대해서 원형 복원해야 함 • lexical analysis

  6. 형태소 분석 • 형태소 분석( 어휘 분석 )의 과정 전처리 단계 → 후보 생성 단계 → 후보 선택 단계 → 후처리 단계 • 전처리 단계(형태소 분리) • 문서로부터 형태소 분석의 대상이 되는 단어를 추출하고, 문장을 분리하고, 숫자나 특수 문자열을 처리 • 형태소 분석의 단위는 띄어쓰기 단위로 된 문자열 • 한글, 영어: 용이함 • 일본어, 중국어: 문장을 단위로 하여 단어 분리 → 이 단계가 매우 중요 • 후보 생성 단계 • 형태소 분리 과정과 원형 복원 과정을 거쳐 가능한 모든 분석 후보들을 생성 • 한국어의 형태소 분리 과정: 하나 이상의 형태소로 이루어진 입력 문자열로부터 어근, 조사, 어미, 접두사, 접미사 등을 인식(용도, 사전 단위 고려) 예) ‘ 예뻐지다 ‘ → ‘ 예쁘’ +’어‘+ ‘지’ + ‘다’ or ‘예뻐지’ + ‘다’ • 원형 복원 과정: 활용이나 축약, 탈락과 같은 음운 현상으로 인하여 형태론적 변형이 일어난 형태소에 대하여 원형을 복원 예) ‘아름답’ + ‘어’ 아름다워로 되는 ‘ㅂ’불규칙 현상 ‘나는’ ‘날’ + ‘는’ 과 같은 ‘ㄹ’탈락 현상

  7. 형태소 분석 • 형태소 분석( 어휘 분석 )의 과정 전처리 단계 → 후보 생성 단계 후보 선택 단계 → 후처리 단계 • 후보 선택 과정 • 생성된 후보 형태소들을 단어 형성 규칙에 따라 최소한으로 확장 • 후보 형태소들에 대한 어휘 사전의 검색과 결합 제약조건 등에 의해 최종적으로 올바른 후보를 선택 • 후처리 단계 • 복합 명사나 사전 미등록어, 줄임말 등과 같이 언어 종속적이거나 특이한 언어 현상들을 처리 • 형태론적 모호성(품사 모호성)을 내포하는 단어는 두가지 이상 결과 제시 예) ‘나는’ ‘나(명사, I) +는(조사)’ '나(동사, produce)+는(어미)’ '날(동사,fly)+는(어미)’

  8. 형태소 분석 예 입력: 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

  9. 파싱 Ⅰ • 파싱(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 VP NP (S (NP (NAME Bill)) (VP (VERB bought) (NP (ART the) (NOUN book)))) NAME VERB NP Bill bought ART NOUN the book

  10. 파싱 Ⅱ • 자연언어 문장에 대한 트리 구조 생성을 위한 요소 • 단어 • 문장을 구성하는 최소 단위로서, 문장을 구성하는 트리 구조에서 단말 노드에 나타남.(각 단어는 문법적인 품사를 가진다.(bought는 VERB)) • 구문 기호 • 트리 구조의 비단말 노드에 나타나는 문법적 구조들에 대한 이름 • S : 문장, NP : 명사구, VP : 동사구 등 • 문법 규칙 • 입력된 단어열이 일정한 규칙에 맞게 구성되어야 문장이 되는 규칙 • 구문기호가 어떤 다른 기호로 다시 구성되는가를 정의 • 자연언어의 문법 규칙을 기술하는 가장 일반적인 방법 → 문맥 자유 문법 • 입력된 문장에 대하여 트리구조를 분석해 내는 과정 • 하향식 파싱 • 트리구조의 최상단을 가리키는 문장 기호 S로부터 시작하여, 이 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) • 문법규칙의 적용: 전방향 규칙 적용 • (Forward rule apply) 상향식: 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) 문법규칙의 적용: 역방향 규칙 적용 (Backward rule apply)

  12. 파싱 Ⅲ • 파싱 기법과 관련된 모호성 • 구조적 모호성 • 문법 규칙에 따라 문장의 구조를 분석할 때 두 가지 이상의 구조로 분석될 수 있는 성질 예) "Bill went to the park with the peacocks." (pp. 287 그림 11.4) • 어휘적 모호성 • 한 단어가 두 가지 이상의 품사로서 사용되는 성질 예) "Time flies like an arrow." (pp. 288 그림 11.5) 1) flies: 동사, like: 전치사 2) flies: 명사, like: 동사 the park with the peacocks went to Bill

  13. 파싱을 수행하는 대표적 기법 • 확장 전이망 (Augmented Transition Network; ATN) • 파싱 과정이 전이망 안의 시작 상태에서 종료 상태로의 상태 전이로 기술 • Tomita 파싱 • 프로그래밍 언어 파싱을 위한 LR 파싱 알고리즘을 자연언어를 파싱하기에 적합하도록 확장된 방법 • 차트 파싱 (Chart Parsing) • 파싱의 중간 과정에서 구해지는 모든 부분구조들을 저장하여 선택적인 파싱 경로를 따라 이들을 재사용함으로써 백업을 피하는 방법 • 차트: 파싱의 중간 과정의 부분적인 구조를 기록하는 표 • 상향식 파싱: 문법 규칙에서 우변의 기호들이 순서대로 일치하면 좌변의 기호를 갖는 새로운 구조 생성

  14. 차트 파싱 알고리즘 • 기본 자료구조: 차트, 키 리스트 • 차트: 완성, 미완성 문법 구조들에 대한 기록 • 키 리스트: <C, pi, pj>의 리스트 형태 • C: 완성구조에 최종적으로 적용된 문법규칙의 우변 기호 • pi, pj: 해당 구조가 입력 문장에서 위치하는 구간의 시작과 끝 위치 • 과정 • 입력 문장에 대해서 규칙 우변의 시작 기호들을 하나씩 차례로 매칭 • 우변의 기호가 매치된 경우, 매치된 기호와 앞으로 매치될 기호 사이에 점을 찍는 표현 방법 사용 • 규칙의 다음 기호를 순서대로 매칭하여 규칙을 확장 예) "He ate the pie"의 상향식 차트 파싱 문법: 규칙 1. S → NP VP 규칙 2. NP → ART NOUN 규칙 3. NP → PRON 규칙 4. VP → VERB NP 단어 사전: PRON = {He}, ART={the}, VERB={ate}, NOUN={pie}

  15. 차트 파싱 과정 → 차트 구축 방향(상향식) 규칙 매칭 과정

  16. 자연언어의 생성 • 자연언어의 생성 • 인간과 컴퓨터간의 의사 전달을 위해 컴퓨터 내부의 지식표현으로부터 문법과 사전을 이용하여 그에 해당하는 자연언어 문장을 만들어 내는 과정(cf. 자연언어 이해는 입력 언어를 의미있는 구조로 변환) • 대화식 사용자 인터페이스 시스템 • 자연어 질의 응답 시스템 • 전문가 시스템의 결론 및 설명 시스템 • 데이타베이스의 내부 데이터를 사용자에개 출력 → 내부 정보 표현이 사용자는 이해가 힘들다. → 자연언어로 표현 → 사용자의 이해도 향상 • 비대화식 시스템(문서 생성) • 기계 번역 시스템 • 보고서 생성기: 명세로부터 정해진 양식의 문서 자동 생성

  17. 자연언어 생성과정 • 자연언어의 생성 방법 • 여러 가지 지식을 사용하여 나타내고자 하는 정보를 선택하고, 문법 구조와 어휘의 결정을 통해 문장을 생성 • 따라서, 생성되는 문장은 주어진 명제적 지식, 사용하는 언어학적 방법론, 화자의 의도, 상황등에 따라 다르게 표현(예: 동일한 의미의 문장을 주어를 바꾸어 상이한 표현구조를 생성) • 초기의 자연언어 생성 • 문법, 어휘에 대한 정보없이 단순 패턴의 대치 및 변형 • 예) ELIZA: 의사와 정신병환자의 단순 대화 모방 → 상황에 대한 융통성 부족, 제한된 유형의 문장만 출력 • 점차 문법과 어휘에 대한 지식을 기반으로 한 문장 생성 방식 개발

  18. 자연언어 처리의 응용예 • 초기 50-60년대 시스템 • SAD-SAM:가족관계에 대한 영어문장 분석하는 시스템 • 데이타베이스, 추론, 문맥자유 문법 이용 • 모호성 문장의 한계, 추론의 한계→ 자연언어 이해 분야의 가능성 확인 • GAT: 초기의 대표적 기계번역 시스템(소련어 물리학 문서 → 영어) • 단어와 단어를 1:1로 대치, 언어학적 이론 비사용 • 질이 매우 낮으나 문서를 대충 훑어 볼 수 있는 수준 • 70년대 시스템 • LUNAR: 달표면 지질학에 대한 정보를 자연어로 검색 • 자연어에 의한 사용자 인터페이스의 가능성에 대한 연구 • 어휘사전, 확장 전이망에 의한 영어구문 규칙, DB 질의용 언어 처리기 • 지질학 문장 유형, 데이타베이스 용어 → 응용 영역 제한, 복잡한 문장에 어려움 • SYSTRAN: GAT의 개발자에 의한 최초 상품화된 MT 시스템 • NASA에서 문서 번역을 위해 채택 • 러-영, 영-불, 불-영, 영-이 등의 번역 시스템이 차례로 개발 • 번역수준은 낮으나 중요치 않은 자료 번역에는 충분히 사용 가능

  19. 80년대 • 80년대 중반 인공지능 분야의 반성 • 주어진 문제의 풀이 기술보다는 확장가능한 기술로의 관심 이동 • Nagao: 예제기반 분석 시스템 • 새로운 문장 분석시 기존의 분석 저장된 자료를 참고 • 가장 가까운 형태를 찾고 이에 따라서 문장을 분석 • 일본의 경우 기계번역에 대한 연구를 가장 많이 함. 기업체 중심 연구 • 유렵: EC 국가들의 9개 언어를 상호번역: EUROTRA 1단계 완료 • 90년대 • 정리된 언어학 이론을 자연언어 처리에 이용 • 대규모 지식을 이용한 문장 분석 및 이해 → 대량의 정보처리 요구 • 앞으로의 컴퓨터 기술의 발전을 기대 • 기타 • 앙꼬르 • 인터넷 정보와 연계한 많은 연구의 필요성

More Related