자연언어처리

자연언어처리의 정의

  • Natural Language Processing; NLP
  • 자연언어 : 인류가 살아가면서 자연스럽게 생성된 언어 (e.g. 한국어, 영어)
  • 인공언어 : 자연언어와 반대로, 사람들이 의도적으로 만든 언어 (e.g. 프로그래밍 언어)
  • 자연언어 처리 : 자연언어를 컴퓨터를 통해 처리하는 것, 또는 처리할 수 있게 하는 것.

자연언어처리 분야에서 다루는 주제

  • 인간이 자연언어를 가지고 할 수 있는 활동을 컴퓨터가 할 수 있게 만드는 모든 문제들이 주제가 될 수 있다.
주제 설명 예시
챗봇 질의에 대해 답을 주는 행위  
기계 번역 서로 다른 언어 간의 자동 번역  
감정 분석 텍스트에 담긴 감정이 긍정/부정 또는 그 외의 어떤 카테고리에 분류될 수 있는지 분석하는 것 리뷰 감정 분석
정보 검색 및 추출 질의와 관련성이 높은 문서를 검색하고,
텍스트에서 질의와 관련성이 높은 특정 정보를 추출하는 것
 
언어 이해 품사 태깅, 개체명 인식, 의미역 분석… 등  

자연언어처리를 배우는 이유

(1) AI 선도 분야

  • 최근 자연언어처리는 AI 선도 분야이다.
  • 근래의 AI 분야의 가장 큰 혁신은 아래 두 가지
  • 2012년, AlexNet CNN architecture - 비전 분야에서 혁신
  • 2017년, Transformer architecture - 자연어 분야에서 혁신
  • CNN은 일반인들에게 주목받지 못했지만(생활 밀접성 때문?), Transformer는 보다 일반인에 가까운 주제로, 많은 일반인들에게 주목을 받았다.

(2) 시퀀스를 다룬다.

  • 자연언어 처리는 단어나 문장의 나열이라는 긴 시퀀스를 다룬다.
  • 시퀀스를 다루는 일은 자연언어 뿐만이 아니라 다른 여러 분야에 적용이 가능한 것이다.
  • 예를 들어 상품 구매 이력, 컨텐츠 시청 패턴, 경제 지표의 변화나 음악 등이 긴 시퀀스에 해당된다.
  • 심화적인 예시로, 컨텐츠나 상품 추천에서 유사 item 정의를 위해 word2vec과 같은 모델이 사용된다.

Reference

방송통신대학교 - 자연언어처리 수업 (유찬우 교수)

Comments