코딩

[Chatbot] 챗봇

obin01 2024. 10. 2. 18:16

1. 챗봇 종류

1) 문제 해결용 : 적은 대화로 주로 문제를 해결하는 용도로 사용된다. 예) 빅스비, 시리

2) 자유 대화용 : 긴 대화로 대화를 이어나가기 위한 용도로 사용된다. 예) 이루다

 

2. 자유대화용 종류

1) 답변을 직접 생성하는 모델 : 구글의 Meena 처럼 대화를 학습하여 답변을 생성하는 모델이다.

2) DB에서 답변을 가져오는 모델 : 여러개의 답변 DB에서 하나의 답변을 검토하여 가져오는 모델이다.

 

3. DB에서 답변 추출

1) DialogBERT (자연어 이해) : 텍스트로 구성된 메시지를 벡터 형태로 치환하는 과정, 이때 치환하는 모델은 BERT 구조를 가지고 있다.

 Transformer 모델 구조에서 하나의 문장이 SentencePiece라는 알고리즘으로 문장이 여러 개의 토큰(token)으로 쪼개져서 나뉘고 word embedding 같은 vector로 표현되어 input되고, 각 토큰마다 벡터형태로 나온다.

 

2) Session DB / Content DB : 답변들을 저장해놓은 데이터베이스, DB에 저장한 후 코사인 거리를 빠르게 계산해 선별한다.

벡터형태로 변환된 답변들을 N차원의 공간의 하나의 점으로 바꾸어 표현하여 점사이의 거리를 계산하여 유사성을 지닌 단어를 선별한다.

예) Tensorflow - embedding projector

 

3) 최종 답변 선택 : 머신러닝 모델 Re-ranker 사용, SSA 점수를 기반으로 데이터를 추가로 레이블링해 재학습하는 과정도 있다.

 

4) 답변을 생성하는 모델과 가장 큰 차이점은 모든 답변은 기존의 데이터에서 미리 선별된 DB에서 가져온다는 점이다.

 

 

 

 

 

참조) https://jiho-ml.com/weekly-nlp-31/

 

Week 31 - 이루다 같은 챗봇은 어떤 원리로 작동하는 걸까?

2021년 1월 새해가 밝자마자 한국 스타트업 업계에 자연어처리(NLP)가 화두로 떠올랐습니다. 바로 스캐터랩이라는 회사가 공개한 이루다라는 챗봇 때문입니다. "너와 매일 일상을 나누고 싶어! 나

jiho-ml.com

https://jiho-ml.com/weekly-nlp-5/

 

Week 5 - 얘랑 나랑 얼마나 비슷해?

여러분은 어떤 사람과 얼마나 비슷한지 숫자로 표현할 수 있으신가요? "친구 A보다 B가 나와 좀 더 비슷한거 같아.." 라는 어찌어찌 할 수 있을거 같은데, 아무래도 절대적인 숫자를 생각해내기는

jiho-ml.com

https://channel.io/ko/blog/what-is-ai-chatbot

 

AI 챗봇이란 무엇인가요?

AI 챗봇의 정의와 종류, 원리, 예시까지! CX뿐 아니라 실무에 AI를 도입하기 위해 이해해야 할 쉽고도 정확한 AI 개념과 맥락, 이 글 한 편에 다 담았어요.

channel.io

 

'코딩' 카테고리의 다른 글

[Chatbot] kochat 구조  (1) 2024.10.31
[Chatbot] 간단한 챗봇 만들기  (1) 2024.10.02
[React-Native] web 정리  (0) 2023.10.12
[JavaScript] 자주 쓰는 함수 정리  (0) 2021.11.22
[React] 자주 쓰는 용어 정리  (0) 2021.09.06