자연어 처리(NLP)란?
자연어 처리는 텍스트 또는 음성 데이터를 이해하고 인간과 유사한 방식으로 텍스트 또는 음성으로 응답하는 머신을 구축하기 위해 노력하고 있습니다.
watsonx.ai 자세히 보기
파란색 점이 있는 검은색 배경
자연어 처리란?

자연어 처리(NLP)는 컴퓨터에게 인간과 매우 유사한 방식으로 텍스트 및 음성 언어를 이해하는 능력을 부여하는 것과 관련된 컴퓨터 공학의 한 분야, 더 구체적으로 말하자면  인공지능(AI)의 한 분야입니다.

NLP는 인간 언어를 규칙 기반으로 모델링하는 전산언어학과 통계적 머신 러닝 및 딥 러닝 모델을 결합합니다. 이러한 기술들은 컴퓨터가 텍스트 또는 음성 데이터의 형태로 인간의 언어를 처리하고, 발화자 또는 작성자의 의도와 감정을 포함한 완전한 의미를 '이해'할 수 있도록 합니다.

NLP는 신속하게 그리고 심지어 실시간으로 텍스트를 한 언어에서 다른 언어로 번역하고, 음성 명령에 응답하며, 대량의 텍스트를 요약하는 컴퓨터 프로그램을 지원합니다. 여러분은 음성 작동 GPS 시스템, 디지털 상담원, 음성-텍스트 받아쓰기 소프트웨어, 고객 서비스 챗봇 및 기타 소비자를 위한 편의 시스템의 형태로 NLP와 상호작용을 해보셨을 겁니다. 그러나 NLP는 비즈니스 운영을 효율화하고, 직원 생산성을 높이고, 미션 크리티컬 비즈니스 프로세스를 간소화하도록 돕는 엔터프라이즈 솔루션에서도 점점 더 큰 역할을 수행하고 있습니다.

watsonx.ai 만나보기

파운데이션 및 머신 러닝 모델을 쉽게 훈련 및 검증하고 조정 및 배치하세요.

NLP 작업

인간의 언어는 모호함으로 가득 차 있기 때문에 텍스트 또는 음성 데이터의 의도된 의미를 정확하게 파악하는 소프트웨어를 작성하기가 매우 어렵습니다. 동철이의어, 동음이의어, 풍자, 관용어구, 은유, 문법 및 용법의 예외, 문장 구조의 변화 등은 인간 언어의 불규칙성을 보여주는 몇 가지 예에 불과합니다. 인간이 이러한 불규칙성을 학습하려면 수 년이 소요됩니다. 그러나 프로그래머가 유용한 애플리케이션을 만들려면 자연어 기반 애플리케이션이 처음부터 정확하게 인식하고 이해하도록 가르쳐야 합니다.

여러 NLP 작업에서 컴퓨터가 수집하는 데이터를 이해하기 쉽도록 인간의 텍스트 및 음성 데이터를 분석합니다. 이러한 작업의 예는 다음과 같습니다.

  • 음성-텍스트 변환이라고도 불리는 음성 인식은 음성 데이터를 안정적으로 텍스트 데이터로 변환하는 작업입니다. 음성 명령을 따르거나 음성 질문에 응답하는 모든 애플리케이션에 음성 인식이 필요합니다. 음성 인식이 특히 어려운 이유는 사람들이 말하는 방식 때문입니다. 사람들은 다양한 사투리로 다양한 강세와 억양을 사용하여 여러 단어를 함께 불분명하게 발음하며, 빨리 말하고 문법에 맞지 않게 말하는 경우도 많습니다.
  • 문법 태깅이라고도 부르는 품사 태깅은 용법 및 문맥에 따라 특정 단어 또는 텍스트 일부분의 품사를 정하는 프로세스입니다. 품사 태깅은 'I can make a paper plane'(저는 종이 비행기를 만들 수 있습니다)에서 'make'를 동사로, 'What make of car do you own?'(어느 제조사의 자동차를 소유하고 계십니까?)에서는 'make'를 명사로 식별합니다.
  • 단어의 중의성 해소는 주어진 문맥에서 가장 이치에 맞는 단어를 결정하는 의미론적 분석 프로세스를 통해 여러 의미를 가진 단어의 뜻을 선택하는 것입니다. 예를 들면, 단어의 중의성 해소는 ‘make the grade’(필요한 수준에 이르다)(achieve(달성하다))와 ‘make a bet’(내기를 걸다)(place(걸다))에서 동사 'make'의 뜻을 구분하는 데 도움을 줍니다.
  • 개체명 인식(Named Entity Recognition, NER) 은 단어 또는 구문을 유용한 개체로 식별합니다. NER은 'Kentucky'를 장소로, 'Fred'를 남성의 이름으로 인식합니다.
  • 공동 참조 해결(co-reference resolution)은 두 단어가 동일한 개체를 지칭하는지 여부 그리고 어떤 경우에 그러한지를 식별하는 작업입니다. 가장 흔한 예는 특정 대명사가 가리키는 사람이나 사물을 결정하는 것입니다(예: ‘she’(그녀) = ‘Mary’).  그러나 텍스트 안의 은유 또는 관용어구를 식별해야 하는 경우도 있습니다 (예: 'bear'(곰)가 동물을 가리키는 것이 아니라 거구의 털이 많은 사람을 가리키는 경우).
  • 감성 분석 은 텍스트에서 태도, 감정, 풍자, 혼동, 의심과 같은 주관적 특성을 추출하려고 합니다.
  • 자연어 생성은 때때로 음성 인식 또는 음성-텍스트 변환의 반대 개념으로 설명됩니다. 자연어 생성은 정형화된 정보를 인간의 언어로 바꾸는 작업입니다.

블로그 게시물 “NLP, NLU 및 NLG 비교: 세 가지 자연어 처리 개념 간의 차이점”을 읽고 이 개념들이 서로 어떤 관련이 있는지 자세히 알아보세요.

NLP 툴과 접근 방식

Python 및 NLTK(Natural Language Toolkit)

Python 프로그래밍 언어는 특정 NLP 작업을 공략하기 위한 다양한 툴과 라이브러리를 제공합니다. 이들 중 다수는 자연어 툴키트(NLTK)에서 찾을 수 있습니다. NLTK는 NLP 프로그램 구축을 위한 라이브러리, 프로그램, 교육 리소스로 구성된 오픈 소스 컬렉션입니다.

NLTK는 위에 나열된 NLP 작업 중 다수를 위한 라이브러리와 더불어 문장 구문 분석(sentence parsing), 단어 분할(word segmentation), 어간 추출(stemming) 및 표제어 추출(lemmatization)(단어를 어근까지 쪼개는 방법) 및 토큰화(구문, 문장, 단락 및 지문을 컴퓨터가 텍스트를 더 잘 이해하도록 돕는 토큰으로 분해하는 것)와 같은 하위 작업을 위한 라이브러리도 포함합니다. 또한 의미론적 추론과 같은 기능을 구현하기 위한 라이브러리도 포함됩니다. 의미론적 추론은 텍스트에서 추출한 사실을 기반으로 논리적 결론에 도달하는 것입니다.

통계적 NLP, 머신 러닝 및 딥 러닝

초기 NLP 애플리케이션은 특정 NLP 작업을 수행할 수 있지만, 끝이 없어 보이는 예외들이나 증가하는 양의 텍스트 및 음성 데이터를 쉽게 처리하지 못하는, 수작업으로 코딩된 규칙 기반 시스템이었습니다.

컴퓨터 알고리즘을 머신 러닝 및 딥 러닝 모델과 결합하여 자동으로 텍스트 및 음성 데이터의 요소들을 추출, 분류, 레이블링한 다음 이러한 요소들의 가능한 의미 각각에 대해 통계적 가능성을 할당하는 통계적 NLP로 들어가 보십시오. 현재 컨볼루션 신경망(convolutional neural network, CNN)과 순환 신경망(recurrent neural network, RNN) 기반의 딥 러닝 모델과 학습 기법을 통해 대량의 가공되지 않고 레이블링되지 않은 비정형 텍스트 및 음성 데이터 세트로 작업하면서 훨씬 더 정확한 의미를 추출하는 과정에서 '학습'하는 NLP 시스템을 활성화합니다. 

이러한 기술들 간의 미묘한 차이와 이러한 학습 접근 방식에 대해 자세히 알아보려면 “AI, 머신 러닝, 딥 러닝 및 신경망: 차이점”을 확인하세요.

NLP 적용사례

자연어 처리는 실제 여러 최신 애플리케이션에서 기계의 지능을 높이는 원동력입니다. 몇 가지 예는 아래와 같습니다.

  • 스팸 탐지: 스팸 탐지를 NLP 솔루션이라고 생각하지 않으실 수도 있습니다. 그러나 최고의 스팸 탐지 기술은 NLP의 텍스트 분류 기능을 활용하여 스팸 또는 피싱임을 알게 해주는 표현을 찾기 위해 이메일을 스캔합니다. 이러한 지표로는 금융 용어의 과도한 사용, 특징적으로 발견되는 문법 오류, 위협적인 표현, 부적절한 긴급감 조성, 철자가 틀린 회사 이름 등이 있을 수 있습니다. 스팸 탐지는 전문가들이 '가장 많이 해결된' 것으로 간주하는 소수의 NLP 문제들 중 하나입니다. (물론, 여러분은 본인의 이메일 사용 경험에 비추어 이들의 견해에 동의하지 않을 수도 있습니다.)
  • 기계 번역: Google Translate는 가장 널리 활용되는 NLP 기술의 예입니다. 진정으로 유용한 기계 번역은 한 언어의 단어를 다른 언어의 단어로 교체하는 것 이상의 노력이 필요합니다.  효과적인 번역은 입력 언어의 의미와 어조를 정확하게 포착하여 이를 동일한 의미와 의도된 영향을 전달하는 출력 언어 텍스트로 번역해야 합니다. 기계 번역 툴은 정확도 측면에서 계속 발전하고 있습니다. 기계 번역 툴을 테스트하는 좋은 방법은 텍스트를 한 언어로 번역한 후 다시 원래 언어로 번역하는 것입니다. 자주 인용되는 예를 말씀드리겠습니다. 얼마 전 “The spirit is willing but the flesh is weak”(마음은 굴뚝 같은데 몸이 안 따라 준다)를 영어에서 러시아어로 번역하고 다시 영어로 번역하자 “The vodka is good but the meat is rotten”(보드카는 좋지만 고기가 썩었다)라는 결과를 얻었습니다. 요즘에는 결과가 “The spirit desires, but the flesh is weak"(마음은 원하지만 몸이 약하다)로 나옵니다. 완벽한 번역은 아니지만, 영어-러시아어 번역의 신뢰도를 훨씬 더 높여주는 번역입니다.
  • 가상 상담원과 챗봇: Apple의 Siri와 Amazon의 Alexa와 같은 가상 상담원은 음성 인식을 사용하여 음성 명령의 패턴을 인식하고, 자연어 생성을 사용하여 적절한 조치 또는 유용한 코멘트로 응답합니다. 챗봇은 타이핑하여 입력된 텍스트에 대해 이와 동일한 마법 같은 작업을 수행합니다. 이들 중 최고의 챗봇들 또한 인간의 요청에 대한 문맥적 단서를 인식하는 방법을 학습하고 이를 활용하여 시간이 지남에 따라 훨씬 더 나은 응답이나 옵션을 제공합니다. 이러한 애플리케이션의 다음 개선 사항은 질문 응답입니다. 질문 응답이란 예상한 질문이건 그렇지 않건 자체적인 표현을 사용하여 유용하고 관련성 있는 답변으로 질문에 답하는 것을 말합니다.
  • 소셜 미디어 감성 분석: NLP는 소셜 미디어 채널에서 숨겨진 데이터 인사이트를 발견하는 데 필수적인 비즈니스 툴이 되었습니다. 감성 분석은 소셜 미디어 게시물, 응답, 리뷰 등에 사용된 표현을 분석하여 제품, 프로모션, 이벤트에 대한 태도와 감정을 추출합니다. 정보 기업들은 이러한 인사이트를 제품 설계, 광고 캠페인 등에 활용할 수 있습니다.
  • 텍스트 요약: 텍스트 요약은 NLP 기법을 활용하여 대량의 디지털 텍스트를 소화하고 인덱스, 연구 데이터베이스 또는 전체 텍스트를 읽을 시간이 없는 바쁜 독자를 위한 요약과 시놉시스를 작성합니다. 최고 수준의 텍스트 요약 애플리케이션은 의미론적 추론과 자연어 생성(natural language generation, NLG)을 활용하여 요약에 유용한 문맥과 결론을 추가합니다.
관련 솔루션
Watson Natural Language Processing

AI 기반 엔터프라이즈 검색 기술을 사용하여 비즈니스 데이터에서 중요한 응답 및 인사이트를 찾습니다.

IBM Watson Natural Language Processing 살펴보기
Watson Natural Language Understanding

고급 텍스트 분석을 위한 자연어 처리(NLP) 서비스입니다.

IBM Watson Natural Language Understanding 살펴보기
Watson Assistant

어느 채널을 통해서든 첫 번째 시도에서 고객의 문제를 해결합니다.

IBM Watson Assistant 살펴보기
리소스 Watson Natural Language Processing

이 설명서를 통해 다양한 NLP 적용사례에 대해 알아보세요.

초보자를 위한 자연어 처리 안내서

자연어 처리를 통해 컴퓨터와 더 자연스럽게 대화할 수 있도록 지원하는 방법을 알아봅니다.

비영어 구사자가 간편하게 활용할 수 있는 더 많은 지식 제공

IBM은 누구나 웹에서 간편하고 쉽게 정보를 찾을 수 있도록, 다언어 질문-답변 시스템의 진전에 박차를 가하는 새로운 오픈 소스 툴키트인 PrimeQA를 출시했습니다.

Watson NLP 소개

IBM Watson NLP 서비스를 활용하여 더욱 스마트한 애플리케이션을 개발합니다.

다음 단계

다음 단계로 나아가 비즈니스를 위한 생성형 AI 및 머신 러닝을 실행하고 확장해 보세요.

watsonx.ai 무료 체험 Watson NLP Library for Embed 무료 체험