728x90
자연어처리란
- 자연어: 사람들의 사회생활에서 자연스럽게 발생하여 쓰이는 언어
- 자연어 처리: 자연어를 컴퓨터를 이용하여 이해하고 생성하도록 하는 제반의 언어
- NLU(자연어 이해) + NLG(자연어 생성)
자연어처리의 응용 분야
기계번역, 문서요약, 기계독해, 개인비서 서비스, 로봇 저널리즘, 문서분류, 챗봇, 감성분석
자연어처리가 어려운 이유
(1) 언어의 중의성
- 중의성: 단어, 어절 그리고 구 등 하나의 언어적 단위가 두 가지 이상의 해석이 가능한 것
- 같은 글자의 조합이 여러 의미를 가지고 있음 -> 처리의 복잡도가 상승
(2) 규칙의 예외
- 형태론: 언어의 규칙을 연구하는 분야
- 규칙을 모든 단어에 그대로 적용할 수 없음 -> 처리의 복잡도가 상승
(3) 언어의 유연성과 확장성
- 구조 문법: 문장의 여러 단어가 이루는 구조를 통해 문자이 구성된다는 문법 모델
- 언어의 확장성을 설명할 수 있음 (단어가 들어갈 자리에 문장의 길이를 늘릴 수 있음)
- 언어의 유연성: 언어는 항상 변하며 사라지거나 새롭게 탄생
자연어처리 연구의 패러다임
(1) 규칙 기반
- 언어의 문법적 규칙을 사전에 정의해두고 이에 기반하여 자연어를 처리
- 초창기의 자연어처리 연구에 많이 사용됨
한계점
- 한국어처럼 어순이 정형화되어 있지 않으면 분석에 한계가 존재
- 규칙을 미리 지정하는 것의 부담이 큼
- 규칙을 적용할 단위로 분해하는 작업의 정확도가 낮음
(2) 통계 기반
- 규칙 사전 정의를 통계적으로 처리
- 컴퓨터의 성능이 발전하여 대량의 데이터를 빠르게 처리할 수 있게 되면서 발전
- 조건부 확률이라는 수학적 개념이 가장 핵심적
한계점
- 선형적인 분석이기 때문에 복잡한 규칙을 처리하기엔 어려움이 있음
- 여전히 사람의 손이 많이 가는 통계 분석 자료 활용
(3) 딥러닝 기반
기계 학습: 입력으로 들어올 데이터를 대입시켜 알고리즘이 스스로 연산의 가중치를 학습하게 함
신경망: 기계학습의 일종으로, 신경계의 구성 형태를 기반으로 만들어진 구조
- 신경망 구조에서 은닉층 수를 매우 많이 늘린 것
- 연산의 흐름이나 각 가중치가 무엇을 의미하는지 개발자조차 알 수 없게됨
딥러닝 기반 자연어 처리
- 모델을 잘 구성해두는 것이 중요
- 문장 전체를 고려하는 모델을 만들고 싶다면, 모든 단어에 걸쳐 적용되는 연결을 하나 만듦
- 통계적 분석보다 고차원적인 분석을 할 수 있어 자연어 처리의 성능이 비약적으로 상승함
딥러닝을 사용하는 자연어처리 연구
- 단어 임베딩
- 자연어로 되어있는 문장을 컴퓨터가 받아들일 수 있도록 하는 문장의 전처리 과정
- 단어간 연관성 등을 유지하는 벡터화 하는 방법이 많이 쓰임
- 문법적으로만 사용되는 단어(조사, be동사 등)은 일반적으로 삭제
- 코퍼스
- 매우 많은 수의 문장을 정제하여 모아둔 것
- 통계/딥러닝 기반 자연어 처리에서 가장 핵심을 담당하는 자료
- 모델
- 딥러닝을 활용한 연구의 핵심
- 모델이 어떤 부분을 읽고, 어떤 형식으로 출력하는지를 결정 (Classification, Generation 등)
언어학의 기본 원리
- 언어를 이루는 단위: 음절, 형태소, 어절, 품사
- 음절(Syllable): 언어를 말하고 들을 때, 하나의 덩어리로 여겨지는 가장 작은 발화의 단위
- 초성, 중성, 종성
- 한국어의 경우 V, C+V, V+C, C+V+C
- 말소리의 단위이기 때문에 소리나는 대로 적었을 때의 한 글자를 말함
- 형태소(Morpheme): 의미를 가지는 가장 작은 단위
- 실질적인 의미 유무에 따라 실질 형태소, 형식 형태소로 나뉨
- 자립성의 유무에 따라 자립 형태소와 의존 형태소로 나뉨
- 유일 형태소: 결합할 수 있는 형태소가 극히 제한된 형태소 (오솔길 ,가랑비)
- 이형태: 음운 환경에 따라 모양을 달리하는 우리말 형태소 (은/는, 와/과)
- 어절: 한 개 이상의 형태소가 모여 구성된 단위
- 띄어쓰기 단위와 거의 일치
- 품사
- 문장 내에서 단어가 수행하는 역할을 기준으로 체언, 수식언, 관계언, 독립언, 용언의 5언으로 나뉨
- 의미에 따라 명사, 대명사, 수사, 관형사, 부사, 조사, 감탄사, 동사, 형용사의 9품사로 나눔
- 형태에 따라 가변어와 불변어로 나뉨
- 불변어
- 체언 : 조사가 붙는 것 (명사, 대명사, 수사)
- 수식언 : 수식해주는 것 (관형사, 부사)
- 관계언 : 문법적 관계를 나타내게 해주는 것 (조사)
- 독립언 : 독립적으로 쓸 수 있는 것 (감탄사)
- 가변어
- 용언: 어미를 활용하여 서술어의 역할을 하는 것 (동사, 형용사)
- 불변어
- 음절(Syllable): 언어를 말하고 들을 때, 하나의 덩어리로 여겨지는 가장 작은 발화의 단위
언어의 구조
- 구구조: 문장을 구성하고 있는 요소들이 서로 끌어당겨 한 덩어리가 됨으로써 형성되는 일정한 구조를 가리킴
- 문장을 구성하는 2개 이상의 구성요소는 서로 관계를 맺고 있음
- 영어와 같이 단어의 배열이 정해져 있는 언어를 분석할 때 주로 쓰임
- Parse-tree로 나타내거나 Bracketing으로 나타냄
- 의존구조: 문장에 포함된 단어들이 서로 의존 관계를 이루어 하나의 구문을 이룬다고 봄
- 문장에는 각 단어의 지배소와 의존소로 이루어져 있고 그 의존 관계를 분석하는 것
- 한국어는 비교적 어순이 자유롭기 때문에 구문 분석 시 의존 구문 분석이 주로 이용됨
- 의존 관계를 나타내면 문장에서의 의미를 보다 명확하게 파악하여 모호성을 해결할 수 있음
- 의존 구문 분석
- 그래프 기반 의존 구문 분석(Graph-based dependency parsing): 가능한 의존 관계를 모두 고려한 뒤 가장 확률이 높은 구문분석 트리를 선택. 선형적 탐색을 하기 때문에 근거리 의존관계를 찾는데 강하고 속도가 빠르지만 문장을 전역적으로 확인하는 데는 약함
- 전이 기반 의존 구문 분석(Transition-based dependency parsing): 비결정적인 방법,두 단어의 의존여부를 순서대로 결정하며 점진적으로 구문분석 트리를 구성. 모든 경우의 수를 계산하므로 속도가 느림.
의미론과 화용론
의미론
- 의미론
- 단어, 문장, 발화에서 그 표현이 실제로 가리키는 지사체와의 의미 관계를 파악하는 것
- 문법적으로 옳은 문장일지라도 의미가 어색하다면 그것은 언어라고 할 수 없음
- 의미역: 명사의 다양한 역할을 설명함
- Agent: 어떠한 행동을 의도를 가지고 수행
- Patient: 어떠한 행동에 영향을 받음
- Instrument: 어떠한 행동이 일어나도록 하는 데 사용됨
- Location: 어떠한 행동이 일어나는 장소
- 어휘적 관계로도 단어의 의미를 파악할 수 있음
- 동의관계, 반의관계, 상하관계, 원형, 동음이의어, 다의어, 환유어, 연어
화용론
- 화용론
- 화행: 언어를 통해서 이루어지는 행위
- 언어를 통해 약속, 사과, 충고, 선언 등의 행위가 이루어지는 것을 화행이라고 함
- 화행을 직접적으로 표시하는 직접 화행, 간접적으로 표시하면 간접 화행
- 협력의 원리: 대화 참여자 사이에 지킬 것으로 기대되는 격률
- 양의 격률(The maxim of quantity)
- 질의 격률(The maxim of quality)
- 관련성의 격률(The maxim of relevance)
- 태도의 격률(The maxim of manner)
'대학공부 > 자연어처리' 카테고리의 다른 글
언어 모델(Language Model): 통계적 언어 모델 (0) | 2024.04.12 |
---|---|
자연어처리 task (0) | 2024.03.27 |
자연어 분석 (0) | 2024.03.20 |
인간 지능을 흉내 내는 인공지능 (0) | 2024.03.13 |