자연어 처리(NLP)에 대해서!

NLP

얼마 전에 생성형 AI와 관련된 용어들을 공유해 드린 적이 있습니다.

 생성형 AI 용어 모음!

위의 글에서 보시면 아시겠지만 생성형 AI와 관련하여 다양한 용어들이 있습니다.

LLM(Large Language Model, 대규모 언어 모델), NLU(Natural Language Understanding, 자연어 이해), NLP(Natural Language Processing, 자연어 처리, TPU(Tensor Processing Unit, 텐서 처리 장치) 등 참 다양합니다.

그 중에서 오늘은 생성형 AI의 핵심 기술 중 하나인 NLP에 대해서 공유해 드릴까 합니다.

자연어 처리(NLP; Natural Language Processing)란?

자연어 처리란 컴퓨터가 인간의 언어인 자연어를 이해하는 능력이라고 할 수 있습니다. 그리고 이는 인공지능의 구성요소 중 중요한 역할을 하는 것이고 말이죠.

그리고 이 자연어 처리의 성능이 곧 AI의 성능으로 연결될 수 있습니다. 왜냐하면 사람의 말이나 글을 이해하고 그에 따라 사람이 잘 이해할 수 있도록 산출물을 제공하는 사람과 AI 간의 상호작용의 접점이 바로 자연어 처리 기술이니까요.

이 자연어 처리에서는 기술도 중요하지만 처리할 언어의 구조를 이해하는 것도 중요합니다. 그렇기에 이에 대해 머신러닝 엔지니어링과 각 언어학 전문가의 지식이 융합되어야 하는 것이구요. 그리고 각 언어별로도 구조가 다르기에 각 언어별 자연어 처리 기술이 필요한 것입니다.

자연어 처리의 작동 방식?

자연어 처리에서는 컴퓨터가 인간처럼 자연어를 이해할 수 있도록 다양한 기술을 사용합니다. 말이든 글이든 관계없이 인간의 입력을 받아 AI를 통해 처리하고 컴퓨터가 이해할 수 있는 방식으로 변환하게 됩니다.

그리고 이 자연어 처리에는 데이터 전처리와 알고리즘 개발이라는 주요 단계가 있습니다.

데이터 전처리는 기존의 데이터를 머신러닝 알고리즘에 알맞는 데이터로 바꾸는 과정이 포함됩니다. 데이터 전처리의 목적은 주어지는 입력의 복잡성을 줄이기 위한 것이라고 생각하시면 됩니다. 그리고 이 과정에서는 다음과 같은 방법들을 사용합니다.

  • 토큰화(Tokenization): 주어진 말뭉치(Corpus)를 토큰이라 불리는 작은 단위로 나누는 작업을 토큰화라고 합니다. 예를 들어, 어떤 문장이 주어지면 그 문장을 단어 기준의 토큰으로 나누는 것이라고 생각하시면 됩니다.
  • 불용어 제거(Stop word): 불용어란 문장의 의미에 큰 영향을 주지 않는 부분들을 말합니다. 조사나 접속사 등을 생각할 수 있고, 토큰화 후에 이런 불용어들을 제거함으로써 자연어 처리를 더 용이하게 할 수 있게 해 주는 것이죠.
  • 어간 추출(Stemming) 및 표제어 추출(Lemmatization): 어간 추출이란 단어의 어간을 추출하는 것입니다. 예를 들어 ‘읽다’에서 ‘읽’이 어간이고, ‘다’가 어미라고 생각하시면 됩니다. 어간을 추출하는 것은 어간이 단어의 주요 의미를 포함하고 있기 때문이죠. 표제어 추출은 사전 기본형의 단어를 찾는 것이라고 생각하시면 됩니다. ‘읽고’라는 단어가 있다면 표제어는 ‘읽다’가 되는 것입니다.
  • 품사 태깅(Part-of-speech Tagging): 단어들에 품사 정보를 식별하여 태그를 붙이는 것을 말합니다. 명사, 동사, 부사 등의 품사 정보를 말이죠. 단어는 품사에 따라서 기능이 달라질 수 있기에 이렇게 태깅을 하는 것입니다.

데이터 전처리 후에 이를 처리하기 위한 알고리즘 개발이 진행됩니다. 자연어 처리 알고리즘에는 여러 가지가 있지만 일반적으로 다음 두 가지 주요 유형이 사용됩니다.

  • 규칙 기반: 이는 기존에 설계된 언어 규칙을 사용하는 것으로, 자연어 개발 초기에 사용되었고 현재도 사용되고 있습니다. 기존에 설계된 규칙을 사용하기에 경직되어 있어 제한이 있을 수 밖에 없습니다.
  • 머신러닝 기반: 머신러닝 기반은 통계적 방법을 사용하고, 제공된 학습 데이터를 기반으로 작업을 수행하고 더 많은 데이터가 처리됨에 따라 알고리즘 조정을 하면서 학습을 하게 됩니다.

이렇게 개발된 자연어 처리 알고리즘들이 많은 분들이 사용하고 계시는 ChatGPT 등과 같은 AI에서 활용되고 있는 것이죠.

하지만, 이렇게 많이 활용되고 발전해 온 자연어 처리 기술이라 할지라도 마주해야 할 다양한 도전과제들이 있습니다.

자연어 처리에서 마주해야 할 도전 과제들

정확도

인간이 정확하고 모호하지 않고 구조화된 형식으로 입력을 해야 컴퓨터는 이해할 수 있습니다. 그리고 이를 위해서 프로그래밍 언어라는 컴퓨터와의 상호작용을 위한 특별한 언어들이 생겨난 것이구요. 하지만, 인간의 말은 항상 정확한 것은 아닙니다. 모호하게 말하는 경우도 많고 속서, 지역 방언 및 사회적 맥락을 포함한 많은 변수에 따라 의미가 달라질 수 있기에 이런 변수들에 대한 처리가 자연어 처리에서도 중요한 것이죠.

이를 위해서 해외 유수 관련 기업들은 많은 비용을 들여 각 국가별로 나이별/지역별 녹취 프로젝트를 진행한 적도 많이 있습니다.

목소리 톤과 억양

아무리 발전했다 하더라도 아직 자연어 처리 기술은 완성된 단계는 아닙니다. 아직도 의미론적 분석은 어려울 수 있습니다. 예를 들어 자연어 처리 기술은 빈정거림을 쉽게 포착하지 못합니다. 이러한 경우는 일반적으로 대화에서 사용되는 단어와 해당 문맥, 화자가 강조하는 단어나 음절에 따라 문장의 의미가 바뀔 수 있기 때문입니다. 자연어 처리 기술에서 사람 목소리의 미묘하지만 중요한 톤 변화를 놓칠 수 있다는 것이죠. 그리고 목소리의 톤과 억양에 따라 의미가 달라질 수 있지만, 알고리즘이 분석하기에 어려울 수 있다는 것입니다.

언어의 진화

언어는 시대에 따라, 사용하는 사람들에 따라 변화하고 진화합니다. 지금의 사람들이 조선 시대의 언어를 그대로 사용하지 않는 것처럼 말이죠. 신조어가 생기고, 의미가 확장되거나 축소되고, 약어가 생기고, 시간이 지남에 따라 다양한 변화를 겪기 때문에 기존의 자연어 처리를 위한 계산 규칙이 쓸모가 없게 될 수도 있습니다.

물론 언어란 것이 사회적 규약이기 때문에 쉽게 바뀌지는 않지만, 조금의 변화로 인해서도 자연어 처리에 영향을 주게 되는 것은 사실입니다.

편향

자연어 처리로 학습된 데이터에는 편향이 나타날 수 밖에 없습니다. 특정 직업, 인종, 세대에 대한 차별이나 특정 정당이나 종교에 대해 편향되게 학습될 수 있는 것입니다.

이와 관련하여 편향 없는 AI는 불가능하다는 의견까지 나오고 있습니다.

 인간에 오염된 데이터로 학습… “편향 없는 AI는 불가능”

이런 편향의 해결을 위해서는 학습 데이터의 검증이 지속적으로 되어야 하지만, 방대한 데이터를 검증하는 것은 거의 불가능한 일이니까요.

이런 도전 과제들이 있더라도 AI의 활용은 계속될 것이고, 자연어 처리에 대한 기술도 계속해서 발전해 갈 것이라는 생각이 듭니다. 도전 과제들은 도전해서 넘어서야 할 것일 뿐이고, AI의 활용이 인간의 삶에 편리함을 주는 것은 사실이니까 말이죠.

 

오늘은 AI에서 중요한 요소 중의 하나인 자연어 처리에 대해서 공유해 드렸습니다.

AI에 대한 관심이 높아지고 AI와 관련된 다양한 비즈니스가 생겨나는 이런 상황 속에서 AI와 관련된 개념들을 더욱더 많이 이해해야겠다는 생각이 듭니다. 다르게 변하는 환경 속에서 그렇게 변한 환경에 대한 지식이 없이는 생존이 쉽지 않을테니까요.

 

* Author: OpsNow Editor(donghun.cho@bespinglobal.com)

클라우드나 SaaS와 관련하여 다른 궁금한 점이 있으시면 언제든지 저희에게 문의해 주세요.

저희에게는 클라우드에 대한 다양한 정보와 경험, 그리고 도구가 있습니다.

 OpsNow에 문의하기

 

답글 남기기

이메일 주소는 공개되지 않습니다.