coweek class/자연어처리를 통한 챗봇 기술

자연어처리를 통한 챗봇 기술

코딩입문시작 2024. 7. 3. 14:21

교수님 : 성균관 대학교 오하영 교수님


[ 교수님 소개 ]

  • 디지털 치료기기 개발
  • 챗봇 개발 (챗봇 기반 디지털 치료제 개발)
  • 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

 


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