[weekly NLP] Week 7

·2023년 7월 27일
0

위클리 NLP

목록 보기
7/13

Machine learning과 NLP 왜 함께 갈까

언어를 이해한다는 것은 무슨 의미일까?

NLP에서 가장 큰 화두는 언어 이해(NLU)다.
거의 모든 NLP 문제는 NLU가 필요하다.
대화 시스템은 유저가 무엇을 원하는지 이해해 답을 해야하고,
감성 분석은 글쓴이가 어떤 주제에 대해 어떤 감성을 가지고 있는지
파악해 숫자로 나타내야 한다.
그렇기 때문에 NLP 시스템 만들려면 위 질문에 대한 답,
아니니 완벽하게 답할 수는 없기에 어느 정도 방향성 가지고 있어야 한다.

언어란 무엇인가?

Noam Chomsky는 언어를 발생시키는 규칙들의 집합 존재한다고 믿었고
수많은 규칙들이 있고 이에 따라 우리는 말을 하거나 글을 쓴다고 생각했다.
예를 들면 모든 언어는 정해진 어순이라는 것이 있다.

나는 사과를 먹는다 : <주어> + <목적어> + <동사>

그리고 ~는,~를 같은 조사에 대한 규칙도 있고
하나하나 분석 하면 엄청나게 많은 규칙들이 있을 것이다.
이를 context-free grammar(CFG)라고 불렀고,
이는 현대 언어학의 근간이 되었다.

CGF는 프로그래밍 언어 만들 때 역시 쓰인다.

언어를 컴퓨터에게 가르친다면?

우리의 뇌에서 나오는 언어를 하나의 함수라고 가정한다면

input (x) - 말하는 사람이 전달한 말, 듣는 이의 멘탈 상태, 주변 환경 등

output (y) - 듣는 사람이 반응하는 말 그리고/또는 행동

대화, 더 나아가 언어를 함수라는 모델로 정의할 수 있다.
그렇다면 컴퓨터는 이 함수를 찾으면 된다.
x와 y의 상관관계만 찾으면 된다.

언어라는 함수는 2차 방정식이 아니라..

언어를 표현하는 함수 매우 복잡
n차 방정식에서 n이 2가 아니라 쉽게 100, 1000, 10000 될 수 도 있다.

고차원 함수의 완벽한 답 찾는 것은 불가능해 근사치 구하는 방법 밖에 없다.
이를 function approximation라고 한다.

예를 들어 Linear regression 역시 선형 함수의 approximate를 데이터를 통해 구하는 것

언어라는 복잡한 시스템을 어떻게 함수로 표현해 approximate 할 수 있을까?
ML 본질은 수많은 데이터 주어졌을 때 어떠한 형태의 함수에 fit 하는 것이다.
특히 딥 러닝은 엄청나게 복잡하고 parameter(매개변수)가 많은 non-linear function을 approximate 하는데 유용한 기술이다.
그렇기 때문에 NLP는 필연적으로 ML, DL과 떼 놓을 수 없는 학문이 되었다.

출처 :
https://jiho-ml.com/weekly-nlp-7/
조현경 교수님 NLP 강의 노트 Chatper 1:Introduction

0개의 댓글