교수님 : 성균관 대학교 오하영 교수님
[ 교수님 소개 ]
- 디지털 치료기기 개발
- 챗봇 개발 (챗봇 기반 디지털 치료제 개발)
- IT 영역이 아닌 사회과학, 심리과학 융합 영역 연구 및 개발
[ 목차 ]
- AI, Chatbot
- Conversational User Interface
- Chatbot ?
1. A.I., NLP and Chatbot
- NLP : NLG + NLU
- Generation = 생성, 거짓이 존재할 수 있음 → 검증 단계가 필요
- Understanding = 이해
- 자연어 처리는 이미지 처리에서도 쓰이는, 아주 기본 단계
- User가 무언가 얘기를 했을 때, 의도를 파악하여 (이해) 답변을 내놓는다. (생성)
- 이해와 생성에서의 딥러닝을 얼마나 넣었느냐에 따라, 결과의 품질이 달라진다. 단순히 그대로 머신러닝을 할 수도 있다.
- NLU engines accurately decipher the meaning of a text that can change with the context.
- NLG can convert statistical data on a spreadsheet into a natural language that can be understood by humans.
- NLP is the superset of NLU and NLG that can break down a sentence, find the best response to the sentence, and give the response to the user.
- Conversational UI = Voice Assistant, Chatbots
- Chatbots = Rule-Based, AI Based, Hybrid
- AI based = GENERATIVE BASED, RETRIEVAL BASED (거짓된 정보가 있기 때문에 필수적인 요소)
- Chatbot을 만들어 본 적이 없다면, 맨 처음은 Rule-Based 기반인 챗봇을 만들어보아라.
- 머신러닝과 딥러닝의 개념과 공부가 진행이 되고 있다면 AI Based로 넘어가라.
What is Chatbot? (IT 영역에서의 개념은 영어로 찾아보고 암기하여라. 회사 면접에서 매우 중요하다.)
- A chatbot is defined as a conversational application that aids in customer service, engagement, and support by replacing or augmenting human support agents with artificial intelligence (AI) and other automation technologies that can communicate with end-users via chat.

Brief History of chatbots
- The turing test
- MIT ELIZA
- PARRY
- JABBERWACKY
- A.L.I.C.E
- ...
Chatbot Categories
- Response Generation Method
- 1. Rule Based
- 2. Retrieval Based
- 3. Generative
NLP-based chatbot
- intent and context
- Continuously learning based on interactions with users
- works on Multiple channels. Highly scalable
- Uses questions to engage a user in a dialogue and better understand the intent
Rule based models VS AI Retrieval-based models
- Rule based models : 단어들을 토큰화하여 추천 및 랭킹시스템으로 추천
- AI Retrieval-based models : intent와 entity를 자체적으로 잘 정의하고 데이터 베이스에 저장하여 내보낸다. (Classification)
In Chatbot ?
- 오차가 최소화될 때까지, 단어와 문장들을 잘게 쪼개어 intent와 entity를 파악하고 Classification한다.
Intent, Entity, and Utterance in Chatbot

How does a machine learning classifier work?
- 여러 개의 질문들을 통해 학습하고 여러 개의 intent로 잘게 쪼개어 규칙과 알고리즘을 거친다.
- 사용자의 텍스트를 0과 1의 벡터값으로 변환한다.
- 딥러닝과 머신러닝을 통해 확률값을 도출한다.
- 확률값이 높은 응답을 발생시킨다.
AI Generative models
- encoder, decoder 요소 활용
- 좀 더 섬세하고 높은 성능 구현

- 레벨이 고도화될수록, background & frontground integration !
Chatbot Developing ? Why?
- 기업에 있어서, Claim을 24시간 인간이 받을 수 없다.
- 수익창출을 위해 고객들의 불만을 처리하고 제품을 홍보하고 편리성을 증가시키고, 불편성을 해결하기 위해 목적성을 가지고 개발이 되고 있다.
- 사용자들의 대화 및 데이터를 수집한다.
- Generalist bots : 자유도가 매우 높음, 개발이 어렵다, 다양한 영역에 있기 때문
- Specialist bots : 자유도가 한정적이다, 목적성이 단 하나이다.

Chatbot Challenges
- 위험한 답변 및 불량 단어 필터링은 필수 - 금지어 사전
- 이상치 탐지, 철자 교정 - 문법적 오류
- 답변의 (일반적인) 완성도 -beam search, joint prob.
- 답변의 다양성 (diversity)
- 문맥/대화 trajectory를 고려한 답변 - Turing Test (답변의 품질 높이기)
- 공감하는 답변
- Personality/Identity, Coherence, 페르소나 유지 - memory network
- 새로운 외부지식까지 고려하는 답변 (i.e. 지식, 실시간 정보 등등)
BlenderBot ?
블렌더봇
블렌더봇은 좁게는 페이스북AI가 내놓은 혁신적인 AI 챗봇을 말하며, 넓게는 그와 비슷한 성격과 성능의 챗봇 전반을 가리키기도 한다. 장기 기억, 페르소나 유지, 공감형 대화를 중요한 특징으
terms.naver.com
- 블렌더봇은 좁게는 페이스북AI가 내놓은 혁신적인 AI 챗봇을 말하며, 넓게는 그와 비슷한 성격과 성능의 챗봇 전반을 가리키기도 한다. 장기 기억, 페르소나 유지, 공감형 대화를 중요한 특징
- → 논문을 한번 찾아보기
- https://yunwoong.tistory.com/227
Streamlit을 이용한 Chatbot 만들기 (Blenderbot, GPT-3)
streamlit-chat은 Streamlit을 이용하여 실시간 대화형 Web 애플리케이션을 쉽게 만들 수 있는 패키지입니다. 만드는 방법은 매우 간단하며 예제 확인도 가능합니다. streamlit-chat으로 Hugging Face에서 제공
yunwoong.tistory.com

이번 자연어처리 수업을 수강하면서, 스포츠 특히 축구 분야에 관련된 챗봇을 하나 개발해보자 !