인공지능-기계학습/언어인지_NLP
NLP: Natural Language Processing 자연어 처리
The Yellow Lion King
2022. 3. 5. 22:28
반응형
What is NLP?
스타워즈, 2001 스페이스 오디세이 등 공상 과학(Science Fiction/Sci-Fi/SF) 영화를 보면 주인공이 사랑하는 연인이나 많은 사람을 구하기 위해 많은 기계나 로봇의 도움을 받아 역경을 해치고 목표를 이루어내는 것을 쉽게 볼 수 있습니다. 스타워즈에서의 R2D2, C2PO가, 스페이스 오디세이에서는 HAL 9000이 주인공을 돕는 로봇이나 기계 역할을 했습니다.
(스포일 HAL9000은 도와준건지 방해한건지…ㅋ. ) 스타워즈는 말할 것도 없이 대작이지만 2001 스페이스 오디세이도 정말 훌륭한 영화입니다. 1968년도에 2001년을 상상하며 만든 영화 같은데 정말 대단한 상상력인 것 같습니다. 영화에서 나오는 일부 제품이나 서비스는 이미 우리가 실생활에 사용하고 있는 것들도 있어서 정말 놀랐습니다. 어떤 것인지 찾으면서 영화를 보는 것도 재미있을 것 같네요.
제가 이야기 하고 싶은 부분은 주인공이 기계나 로봇과 소통하기 위해 언어를 이용한다는 점입니다. 뭐 놀랍지도 않은 일이지요. 이미 아마존 알랙사(Amazon Alexa), 구글 홈(Google Home), SK텔레콤 누구(SKT Nugu), KT 기가지니(KT GigaGinie), 네이버 클로바(Naver Clova), 카카오 프랜즈(Kakao Friends) 등 여러 종류의 인공지능 스마트 스피커가 판매되고 있지요, 그리고 휴대폰에서는 Apple Seri, Samsung Bixby 등 음성인식을 통해 다양한 서비스가 가능합니다. 이처럼 사람과 로봇 또는 기계의 소통을 위해 사용되는 언어 관련 기술을 자연어 처리(NLP: Natural Language Processing) 라고 합니다.
NLP는 인공지능의 한 분야입니다. 그럼 자연어 처리(NLP) 기술에는 어떤 것들이 있을까요? 언어는 말(소리)와 글(문자)로 표현되고 사용될 수 있을 것 같습니다. 보통 친구끼리 말로 소통하는 경우를 생각해보면 한 친구가 말하는 소리를 다른 친구가 1) 듣고 2) 이해한 다음에 3) 적절한 대답을 생각해 내고 그 내용을 4) 말로 하게 되겠지요. 물론 사람은 이러한 과정이 엄청나게 빠른 속도로 이루어집니다. 친구끼리 편지를 보냈다면 어떨까요? 다른 친구가 보낸 편지를 보고 한 단어씩(또는 문구나 문장을) 읽으면서 내용을 이해하고 (중간에도 가능하지만 보통) 마지막까지 다 읽은 다음 적절한 회신 내용을 생각해내고 그 내용을 글로 적어서 다시 편지로 보내겠지요.
기계나 로봇이 사람과 같이 언어로 소통하기 위해서는 사람이 소통하는 방법과 유사한 과정이 필요하겠습니다. 적어도 입력(듣고, 읽고), 처리(생각하고), 출력(말하고, 쓰고)이 필요합니다. 위에서 말씀 드린 것처럼 언어를 소리와 문자로 표현할 수 있는데 컴퓨터가 언어를 다룰 때는 문자로 표현하는 방법을 주로 다룹니다. 그 이유는 문자로 다루는 것이 더 경우의 수가 작고(같은 단어도 소리로 표현하려면 무수히 많은 표현이 가능할태니까요) 더 의미가 명확해 진다고할 수 있겠습니다.(물론 말로했을 때 뉘앙스에 따라 의미가 달라지는 것처럼 아닌 경우도 일부 있습니다. 그러나 대부분은 문자가 더 동일한 의미로 사용됩니다.) 말은 문자와 서로 변환 될 수 있으므로 입력에서는 소리를 문자로 바꾸어주고 출력에서는 문자를 소리로 바꾸어 주면 되겠습니다.
이런 절차적인 내용을 정리하면 1)소리를 듣고 문자로 바꾼뒤 2) 문자가 의미하는 내용을 이해하고 3) 내용에 적합한 대답을 생각해 내고 4) 생각한 대답을 문자로 만든다음 5)문자를 소리로 바꾸어 주면 되겠습니다. 이러한 내용을 정리하면 아래와 같은 절차와 기술들이 필요합니다.
1)소리를 듣고 문자로 전환(음성인식-Speech Recognition or STT: Speech To Text)
2) 문자가 의미하는 내용을 이해(NLU: Natural Language Understanding)
3) 내용에 적합한 대답을 생각(Knowledge DB, Search)
4) 생각한 대답을 문자로 전환(NLG: Natural Language Generation)
5)문자를 소리로 전환(음성합성-Speech Synthesis or TTS: Text To Speech)
1)번과 5)번은 음성음향신호처리 분야에 해당하고 다른 부분은 대화(Dialog) 어플리케이션과 관련된 NLP 분야라고 하겠습니다.
배경과 현황
NLP는 다른 말로 전산언어학이라고 할 수 있습니다. 전산언어학의 시작은 1950년대에 활발하게 연구되었던 기계번역이라고 할 수 있겠습니다. 모든(?대부분의?) 기술과 발전이 전쟁 또는 돈을 벌기위한 목적으로 발전하는데 전산언어학의 발전은 냉전시대에 미국에서 구 소련의 문자정보를 자동으로 번역하고자하는 목적에서 시작되었습니다. 이를 위해 많은 투자가 미국 정부를 주도로 일어나면서 활발한 연구가 이루어졌습니다. 이를 위해서 초기에 언어학 중 형태론과 문법을 기반으로 통계기법을 이용하여 자동번역을 구현하고자 하는 많은 연구가 있었습니다. 그러나 여러가지 이유로(아마도 컴퓨팅 파워, 데이터 부족, 알고리즘의 미성숙 등으로) 혁신적인 서비스나 역사적 이벤트를 만들지는 못했지만, 이러한 연구들이 바탕이 되어 최근 인공지능 딥러닝 기술과 접목되면서 (이번에는 돈을 벌기위한 목적으로) 많은 연구가 이루어지고 혁신적인 서비스들이 만들어 지고 있습니다.)
어디에 쓸까?
실제 NLP 활용분야는 매우 넓습니다. 왜냐하면 말그대로 자연어를 처리하는 활용분야는 더 많이 있기 때문입니다. 예를 들면 이미 많은 언어로 만들어진 수많은 데이터 들이 인터넷에 있습니다. 이러한 언어 데이터에서 의미를 찾아내고 분석하고 활용하는데 사용되는 것도 자연어를 처리하는 NLP의 분야입니다.
이러한 NLP기술의 주요 활용 분야에는 위에서 예를 든 대화(Dialog) 뿐만 아니라, 질의 응답(QA: Question Answering), 정보추출(IE: Information Extraction), 감성분석(Sentiment Analysis), 번역(Translation), 요약(Summarization) 등이 있습니다. 최근에는 컴퓨터 비전 분야와 결합하여 사진/영상의 내용을 설명/요약 한다든가, 특정 대사/감정이 전달되는 부분의 영상을 찾는 등 다양한 분야로 확대 되고 있습니다. 하드웨어와 인공지능 알고리즘의 발달로 NLP관련 서비스의 품질이 좋아지고 이에 따라 활용 사례가 늘어가면서 많은 어플리케이션이 만들어지고 있습니다. 인공지능 분야에서도 결국 인간과의 소통을 위한 방법으로 NLP의 중요성이 더욱 높아 지고 있습니다.
아래는 참고 소스 정보 입니다.
참고로 추가한 위키피디아의 정의를 참고하세요.
자연어 처리(自然語處理) 또는 자연 언어 처리(自然言語處理)는 인간의 언어 현상을 컴퓨터와 같은 기계를 이용해서 묘사할 수 있도록 연구하고 이를 구현하는 인공지능의 주요 분야 중 하나다. 자연 언어 처리는 연구 대상이 언어 이기 때문에 당연하게도 언어 자체를 연구하는 언어학과 언어 현상의 내적 기재를 탐구하는 언어 인지 과학과 연관이 깊다. 구현을 위해 수학적 통계적 도구를 많이 활용하며 특히 기계학습 도구를 많이 사용하는 대표적인 분야이다. 정보검색, QA 시스템, 문서 자동 분류, 신문기사 클러스터링, 대화형 Agent 등 다양한 응용이 이루어지고 있다.
https://ko.wikipedia.org/wiki/%EC%9E%90%EC%97%B0%EC%96%B4_%EC%B2%98%EB%A6%AC
https://ko.wikipedia.org/wiki/%EC%A0%84%EC%82%B0%EC%96%B8%EC%96%B4%ED%95%99
반응형