최종 프로젝트 전 해보고 싶은것에 대해 적은 나으 ㅣTIL
일단 챗봇 만들기의 개념
- 챗봇 기본 구조: 챗봇은 입력을 처리하는 부분, 비즈니스 로직을 수행하는 부분, 그리고 응답을 반환하는 부분으로 구성된다. 각 부분은 모듈화하여 유지보수가 쉽게 설계하는 것이 중요하다.
- 자연어 처리(NLP): 사용자가 입력한 텍스트를 이해하고 적절한 반응을 생성하기 위해 자연어 처리 기술이 필요하다. 이를 위해 주로 spaCy, Hugging Face Transformers, 또는 OpenAI의 GPT API 등을 활용할 수 있다.
- 상태 관리: 챗봇은 사용자의 대화 흐름을 기억하고 그에 맞춰 반응을 제공해야 한다. 이를 위해 사용자의 상태를 저장하고 관리하는 로직을 작성한다. 예를 들어, 대화를 시작했는지, 어떤 질문에 답변했는지 등의 상태를 파악한다.
- 플랫폼 연동: 챗봇은 다양한 플랫폼에 연동될 수 있다. 예를 들어, 웹사이트에 연동하려면 HTML, JavaScript를 이용한 웹소켓 통신을 사용할 수 있고, 메신저 플랫폼과의 연동 시 각 플랫폼에 맞는 API를 사용해야 한다.
- 의도(Intent) 파악: 챗봇은 사용자의 발언에서 핵심 의도를 파악해야 한다. 이를 위해 사전 정의된 의도(intent)를 설정하고 사용자가 어떤 의도로 대화를 시작했는지 분류한다.
- 대화 관리(Dialog Management): 챗봇은 대화의 맥락을 유지하며 자연스럽게 다음 대화를 이어가야 한다. 대화 흐름을 설계할 때는 사용자가 중간에 대화를 끊거나, 의도와 다른 질문을 했을 때 어떻게 처리할 것인지에 대한 시나리오를 고려한다.
- 테스트 및 피드백: 챗봇은 다양한 케이스에 대한 테스트가 필수적이다. 예외 처리가 잘 되어 있는지, 엉뚱한 질문에 대한 처리 능력이 있는지 등을 테스트한 후 피드백을 바탕으로 개선해야 한다.
- 기술 스택: 챗봇을 구현할 때는 Python의 Django, Flask 등의 프레임워크와, 자연어 처리를 위한 spaCy, GPT 등을 사용할 수 있다. 응답의 신속성을 위해 캐시 저장소(redis)나 비동기 처리를 고려할 수 있다.
'Daily note' 카테고리의 다른 글
DRF -1 회원기능의 로직과 코딩순서 (0) | 2024.11.22 |
---|---|
마무리 (2) | 2024.11.01 |
Today I Learned(TIL)-60 (0) | 2024.09.20 |
Today I Learned(TIL)-59 (0) | 2024.09.20 |
Today I Learned(TIL)-58 (1) | 2024.09.13 |