본문 바로가기
AI Researcher가 될끄야!/자연어처리

Conversational AI _ 챗봇이 대화를 하려면?

by 여니여니여 2022. 1. 18.

연구동향 

 

SK AI 커리큘럼 Conversational AI  김태윤 팀장 강의 중 발췌

Chit-chat : 일반대화를 처리하는 간단한 대화에 대한 챗봇 

Info : QA task를 처리하는 챗봇 

Task agent : 단순한 작업을 대신 실행해주는 task를 수행하는 챗봇

 

위 그림을 살펴보자면 음성으로 들어오게 되면 음성인식을 해야하기 때문에 ASR등등의 전처리 단계가 필요하다.  이렇게 들어온 input들은 사용자가 어떠한 의도를 가지고 말하는지 알기 위해 '언어를 이해'하는 단계가 필요하다.

하지만 실제로는 언어를 이해하는 것 보다 적절한 조치를 결정하는 일이 굉장히 어렵다.

 

따라서 대화는 'CONTEXT'를 적절하게 파악하고 이해하는 것이 중요하다. 

(분홍색 라인) 대화에 대한 적절한 근거를 도출하기 위해 Knowledge Base에서 검색 후 도출한다. 또한 이 과정에서 User의 선호나 정보에 따라 다른 답변이 필요한 경우가 있기 때문에 이러한 과정도 굉장히 중요하다.

 

 

Contextualized Embedding 

언어를 이해하기 위해 언어를 임베딩 하는 과정이다. 어떤 단어의 의미가 주변 단어에 따라 결정되는 것을 의미한다. 

두개의 동음이의어는 모양은 같지만 주변의 단어를 보면 그 의미가 다름을 확인할 수 있다.

 

예는 다음과 같다.

 

1) 아기는 를 먹었다.
2)는 오늘 출항하지 않는다.

여기서 배는 모양은 동일하지만 주변 단어를 봤을 때 1번 배는 먹는 아삭아삭 과일 배이고 2번은 교통수단의 배임을 알 수 있다. 따라서 이러한 주변단어의 의미와 함께 임베딩 되는 것이 바로 Contextualized 임베딩이다.

 

임베딩 된 예시

 

Language Model을 활용한 Embedding 

기본적으로 LM은 많은 NLP 테스크에 universal 하게 모델링 할 수 있도록 학습되어 있는 모델이라고 알려진다.

따라서 언어의 관계성을 학습하고 있는 모델이라고 정의할 수 있다.

댓글