일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 독서
- CS224N
- 파이썬
- 딥뉴럴넷
- model free
- 애쉬브라운
- NLP
- cost function
- 다이내믹 프로그래밍
- 리처드소처
- Gradient descent
- 인공지능
- 자연어처리
- MDP
- 머신러닝
- 취미
- 파이썬과 케라스로 배우는 강화학습
- Richard Socher
- 딥러닝
- 강화학습
- ai
- 폴댄스
- tensorflow
- Linear Regression
- 양성평등
- 행복
- 페미니즘
- kbpf
- 벨만 방정식
- MB
- Today
- Total
Ordinary day
1. Introduction 본문
(해당 포스팅은 Natural Language Processing with Deep Learning CS224N/Ling284 를 토대로 작성한 것입니다.)
1. Natural Language Processing (NLP) 는 무엇일까?
자연어 처리는 컴퓨터공학, 인공지능, 언어학의 한 분야라고 생각하면 된다.
NLP의 궁극적인 목적은 어떤 작업을 처리하기 위해 컴퓨터가 사람의 언어를 "이해" 하거나 "처리"하는 것이다.
예를 들어보면, 어떤 물건을 살 때 수행되는 작업이나 QA시스템(시리, 구글 어시스턴트 등) 이 있다.
사실 자연어의 의미를 완전히 이해하고 재표현하는 것은 상당히 어려운 목표이다.
아마 완벽한 자연어 이해는 인공지는의 완성을 뜻하는 것이리라..
NLP의 단계를 보면 다음과 같이 그릴 수 있다.
우선은 크게 음성과 텍스트 기반으로 나뉘고, 음성에서는 음성/음운을 분석하고 텍스트 기반에서는 기계가 읽을 수 있는 문자로 변환하고 토큰으로 나누는 작업을 거친다. 이렇게 전처리를 거쳐 나온 데이터를 형태론적 분석(형태소 분석), 통사론 분석(구문분석), 의미 해석을 거쳐 담화를 처리하는 단계로 접어든다.
NLP 애플리케이션의 범주는 간단한 것 부터 복잡한 것 까지 매우 다양하다.
철자 검사, 키워드 검색, 유사어 검색 등 부터 시작해서 기계번역, 복잡한 QA시스템까지 모두가 NLP 애플리케이션에 속한다.
따라서 산업에서 NLP가 활용되는 분야도 넓어지고 있다. (검색(음성, 텍스트 포함), 음성인식, 감정분석, 챗봇 등)
그럼 인간의 언어에서 특별한 점은 무엇일까?
사람들이 사용하는 언어는 화자/저자의 의미를 전달하기 위해 특정하게 구조화된 시스템이다.
환경적인 신호뿐만이 아니라 의도적인 의사소통이며, 아이들도 빠르게 배울수 있는 인코딩을 사용한다.
또한 인간의 언어는 이산적/상징적/범주화된 신호 시스템이다.
언어의 상징은 의사소통의 몇가지 방식에서 신호로 인코딩될 수 있다.(소리, 제스처, 이미지/글)
인간의 언어는 상징적이고 범주화된 신호 시스템이지만, 뇌는 행동의 연속적인 패턴으로 인식하고, 그 상징(symbol)들은 소리/시각의 연속적인 신호로 전달된다.
2. Deep Learning(DL) 은 무엇일까?
딥러닝은 머신러닝의 한 분야이며, 대부분의 머신러닝 함수들은 인간이 설계한 표현과 input feature 때문에 잘 작동한다.
(예를 들어, 지역이나 단체명같은 엔티티를 찾기 위한 feature)
머신러닝은 가장 좋은 예측을 만들기 위해 가중치를 최적화 하는 것이다.
Representation learning 은 자동으로 좋은 피쳐, 표현을 학습하는 것을 시도한다.
Deep learning 알고리즘은 여러 단계의 표현과 출력을 학습하는 것을 시도한다.
딥러닝을 공부하는 이유도 여러가지가 있다.
- 일일이 설계된 피처들은 보통 과적합되거나 불완전하고, 설계와 검증에 많은 시간이 소요된다.
- 학습된 피쳐들을 쉽게 적용하고, 빠르게 학습시킬 수 있다.
- 시각/언어학의 정보를 표현하는데 매우 유연하고, 보편적이며 학습가능한 프레임워크를 제공한다.
- 그대로의 텍스트로 unsupervised 학습이 가능하고, 긍/부정 같은 특정 라벨링을 통해 supervised 학습이 가능하다.
2010년대 부터 다른 머신러닝 기술에 비해 딥러닝 기술이 좋아지기 시작했다. 왜일까?
학습 데이터의 양이 많아졌고, 멀티코어의 발달과, 새로운 모델이나 알고리즘 등의 아이디어들이 많이 등장했기 때문이다.
(음성과 컴퓨터 비전에서 딥러닝 기술의 적용이 먼저 되었고 이후엔 NLP로 넘어옴)
'Study > NLP' 카테고리의 다른 글
2. Word Vector (0) | 2017.08.14 |
---|---|
Elastic Search & mecab-ko (0) | 2017.02.24 |