의견.png

자연어 처리

해시넷
7095sj (토론 | 기여)님의 2020년 7월 17일 (금) 10:28 판
이동: 둘러보기, 검색

자연어 처리(NLP)란 인간의 언어 현상을 컴퓨터와 같은 기계를 이용해서 모사 할 수 있도록 연구하고 이를 구현하는 인공지능의 주요 분야 중 하나다. 자연어 처리는 연구대상이 언어학과 언어 현상의 내적 기재를 탐구하는 언어 인지 과학과 연관이 있다. 구현을 위해 수학적 통계적 도구가 많이 활용되며, 기계 학습 도구가 많이 사용된다.

개념

각종 문서나 뉴스, SNS 등 온오프라인을 가리지 않고 자연어는 많은 곳에서 각기 다른 난이도를 가진채 존재한다. 바로 이 자연어를 컴퓨터가 읽고 처리할 수 있도록 만드는 것이 자연어 처리이다. 인간의 언어를 이해하기 위해 머신러닝 기술을 적용하여 데이터를 처리하면 과거의 전통적인 방식과는 달리 좀 더 손쉽고 신속하게 정보를 얻어낼 수 있다. 따라서 자연어 처리는 정보검색, 자동통역, 문서작성, 요약분류, 철자 오류 수정 등 다양한 곳에서 널리 사용되고 있다. 대표적인 자연어 처리 서비스로는 구글 홈, 구글 어시스턴스, 워드렌즈, 왓슨, 코타나, 스카이프 트랜스레이터, 그래머리, 진저 등이 있고, 핵심기술로는 형태소 분석 기술, 구문 분석 기술, 의미 분석 기술, 담화 분석 기술, 단어 및 문장 생성 기술이 있다. 분석은 자연언어 문장에서 형태소 분석, 구문 분석, 의미 분석, 화용 분석 단계를 거쳐 결과가 도출된다.

자연어를 효율적으로 처리하기 위해선 딥러닝을 사용한다. 중의성이 있는 단어, 동음이의어의 경우에는 머신러닝 기법을 통해 해결할 수 있기 때문이다. 애피어의 쑨민 최고 인공지능 과학자는 기계가 인간의 언어를 효율적으로 이해하고 번역하기 위해서는 인간이 단어 간의 관계를 명확히 밝혀줘야한다고 말했다. 여기서 딥러닝이 사용된다면, 인공지능은 딥러닝을 통해서 단어와 구문이 상황에 따라 어떻게 사용되고 있는지 의미를 학습하는게 가능하다. 즉, 누군가 인공지능에 미리 정의된 내용을 입력하지 않았고, 인간이 그 사이에 개입해서 관계를 정의하지 않아도, 인공지능 스스로 단어나 구문의 의미를 파악하고 기능을 수행할 수 있게된다.[1]

딥러닝도 대량의 텍스트 데이터는 필요하다. 컴퓨터는 각각의 토큰이 나타내는 벡터를 학습하는데, 여기서 벡터는 비슷한 단어가 서로 근접하게 매핑되는 곳을 말한다. 가깝게 배치된 비슷한 컨텍스트를 가진 단어들이 의미상 같은 뜻을 공유할 가능성이 높다는 것을 보여준다. 딥러닝과 벡터 매핑을 통해 인간의 개입이 없어도 인공지능 스스로 언어를 보다 정확하게 처리할 수 있으며, 키워드 기반 마케팅이나 감정 분석에도 좋은 결과를 기대할 수 있다. 키워드 기반 마케팅에 활용할 때 벡터의 중요성은 두드러질 것이고, 딥러닝 기반의 자연어 처리를 활용하면 정교한 정서 분석이 가능해질 것이다.[2]

기술

형태소 분석 기술

자연어 처리에서의 형태소 분석은 대상을 가작 작은 의미 단위인 형태소로 분석하는 것을 의미한다. 정보 검색 엔진에서 한국어의 색인어를 추출할 때 많이 사용된다. 자연어로 작성된 SNS, 웹문서, 뉴스 기사의 텍스트 데이터를 형태소로 변환해야 자연어 처리를 위한 다음 단계로 진행될 수 있기 때문에, 문장을 최소단위까지 쪼개는 것이다. 형태소 분석의 치명적인 약점은 오탈자 발생, 띄어쓰기 오류, 등록되지 않은 언어 등으로 분석에 오류가 발생하거나, 중의적인 의미와 신조어 처리 등이 있다. 복합 명사의 분해도 형태소 분석의 어려운 문제 중 하나이다. 복합 명사란 하나 이상의 단어가 합쳐져 새로운 의미를 생성해 낸 단어를 말하는데, 이러한 단어는 띄어쓰기에 따른 형식도 정확하지 않고, 복합된 유형에 따라 의미와 분해가 다양한 형태를 보이기 때문이다. 기계적으로 복합명사를 처리하는 방식은 uni-gram, bi-gram, tri-gram 등등이 있는데, 그 중 bi-gram은 음절단위를 기반하여 연속된 두 단어를 단어별로 쪼갤 수 있다. 예를 들어, '복합 명사'를 음절 단위로 나눈다면 '복합+명사', '복+합명사', '복합명+사' 의 세 가지 형태로 쪼갤 수 있다.[3] 일반적으로 한국어의 형태소 분석에서는 태뷸러 파싱(Tabular Parsing)을 사용하여 형태소의 후보를 분석하는 방법과, 기계 학습에 기반한 품사 부착이 사용된다. 과거에는 형태소를 분석할 때 HMM이나 CRF를 사용했지만, 최근에는 딥러닝을 적용하여 분석하고 있다.[4][5]

카카오에서는 2018년부터 형태소 분석기 카이를 오픈소스로 제공하고 있다. 딥러닝 기술을 기반으로 개발된 형태소 분석기를 오픈소스로 제공한 것은 국내에서 카카오가 최초이다.[6]

구문 분석 기술

의미 분석 기술

담화 분석 기술

단어 및 문장 생성기술

활용

각주

  1. SD아카데미, 〈인공지능(A.I)기술과 자연어 처리(Natural Language Processing)〉, 《네이버 블로그》, 2018-03-23
  2. 애피어, 〈딥러닝이 자연어 처리(NLP)에 가장 효과적인 이유〉, 《애피어》, 2019-07-16
  3. 자연어 처리 위키백과 - https://ko.wikipedia.org/wiki/%EC%9E%90%EC%97%B0%EC%96%B4_%EC%B2%98%EB%A6%AC
  4. 인공 지능 기반 언어 처리 기술 - 자연어 대화 인터페이스를 중심으로 - https://www.korean.go.kr/nkview/nklife/2017_4/27_0401.pdf
  5. 국민대학교 자연언어처리 연구실 - http://nlp.kookmin.ac.kr/main.html
  6. 플래텀, 〈카카오, 딥러닝 기술 기반의’형태소 분석기’ 오픈소스 제공〉, 《플래텀》, 2018-11-30

참고자료

같이보기


  의견.png 이 자연어 처리 문서는 인공지능 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.