자연어처리 - 벡터로 표현하기

zenspirit(31)
Published in
#nlp
Words
263
Reading
2 min
Listen
Play
8y

자연어처리의 핵심은 어떻게 text를 숫자의 조합으로 표현할 것인가 하는 문제이다.

가장 먼저 생각할 것은 텍스트를 어떤 단위로 쪼갤 것인가 하는 문제이다.
우선 텍스트의 사이즈를 생각해 보자

우선 큰 것에서 작은 것 부터 순서대로 나열해 보면

문서 - 문단 - 문장 - 단어 - 형태소

문서 단위로 쪼개기는 자연어 처리에서는 범위가 너무 크다.
분석하는 구문에 따라 달라지겠지만 단어 또는 형태소 단위로 잘라 내는 것이 보통 많이 쓰인다.

여기서 한 가지 짚고 넘어갈 것이 -- 어떤 방식으로 분석하는가에 대한 일반적인 법칙은 없다.
원하는 목적에 가장 적합한 방법을 찾는 것이 좋다. 한 쪽에 맞는 것이 다른 쪽에도 맞으리라는 보장은 없는 것이다.

또한 꼭 정해진 방식대로 자르는 것만이 능사는 아니다.

예를 들어 띄어쓰기 대로 자른 다던지 각 어절의 앞 3글자만 뽑아서 잘라 본다든지 해도 좋다.
앞 3글자만 자르는 '무식한' 방법도 의외로 정확한 결과를 가져다 준다. (그리고 엄청 효율적이다!)

문 대통령은 “국회는 대통령이 국민의 뜻을 모아 발의한 헌법개정안을 단 한번도 심의조차 하지 않은 채 국민투표 자체를 하지 못하게 했다”며 “이로써 이번 지방선거 때 개헌을 하겠다고 국민께 다짐했던 저의 약속을 지킬 수 없게 되었다”고 말했다.

문 대통령 국회는 대통령 국민의 뜻을 모아 발의한 헌법개 단 한번도 심의조 하지않 채 국민투 자체를 하지 못하게 했다 이로써 이번 지방선 때 개헌을 하겠다 국민께 다짐했 저의 약속을 지킬 수 없게 되었다 말했다

위 문장을 각 띄어쓰기 단위로 앞 3글자씩만 떼어 놓은 것인데 의외로 읽을만 하다. 문장이 길다면 이렇게 해도 문장의 의미를 파악하기에 어려움이 없을 것이다.
"헌법개정안" 이 "헌법개", "국민투표"가 "국민투"로 잘려서 인간이 읽기 어려운 점이 발생할 지 모르지만, 컴퓨터의 입장에서는 "헌법개", "국민투" 라는 새로운 단어를 학습하는 것이니까 "헌법개정안"으로 학습하든 "헌법개"로 학습하든 정확도는 전혀 변하지 않는다. 오히려 컴퓨팅이 더 효율적이 되어 더 좋다.

자연어처리 - 벡터로 표현하기 | Ecency