🏳 시작하기에 앞서…
갑자기 Kochat Demo 게시글을 작성하게 된 계기에 대해 말하고자 한다.
나는 빅데이터AI를 활용한 여행지 추천 챗봇서비스를 주제로 2021 한이음 프로젝트에 참여했으며 입선했다.
하지만 학업과 동시에 프로젝트를 진행하면서 시험 기간과 프로젝트 마무리 기간이 겹치게 돼 프로젝트를 깔끔하게 마무리 하지 못했으며, 이에 대한 아쉬움을 늘 가지고 있었다. 또 과거에 비해 지금의 나는 성장했기 때문에, 그때 구현하지 못했던 것을 구현할 수 있을 거 같다는 자신감이 생겼다.
그래서 이번 기회에 기존의 코드를 개선하고 필요한 기능을 추가 구현하고자 다짐했다.
✈ Trabot이란?
Trabot은 우리 팀이 한이음에서 개발한 챗봇 어플리케이션이다. 이는 ‘여행’을 의미하는 Travle과 Chatbot을 결합한 것으로, 여행에 관련한 챗봇을 의미한다.
해당 어플리케이션의 주된 목표는 사용자가 Trabot에게 원하는 여행지의 지역, 테마, 코스추천 등의 키워드를 입력하면, Trabot이 키워드에 관련된 여행지를 추천해주는 것이다. 사용자는 본인이 원하는 여행지를 손쉽게 찾을 수 있다는 장점이 있다.
왜 이러한 아이디어를 생각했냐면, 필자는 mbti에서 P 성향이 있어 여행을 갈 때 어디를 갈지, 무엇을 할지, 어떤 걸 먹을지 등 여행지를 찾는 과정이 너무 귀찮았다. 그래서 누군가가 내가 원하는 여행지를 찾아주면 정말 좋겠다고 생각했다. 이런 생각에서 파생된 게 바로 Trabot이다!
❓ 어떻게 개선할 것인가?
그렇다면 이전 한이음 프로젝트 때는 어떻게 진행한 것인가?
이때는 여행지를 추천해주기 위한 정보를 대한민국 구석구석 사이트에서 직접 동적 크롤링을 하여 챗봇에서 출력해주려고 했다.
하지만 이 방법은 너무 오래 걸렸다… 애초에 여행지를 찾기 위해 페이지를 클릭하고, 여행지 상세 정보를 클릭하는 등 동적 크롤링 시간이 매우 오래 걸렸다. 그래서 당시 멘토님께서 추천해주신 방식이 크롤링한 정보를 DB에 저장해놓고 여행지를 출력할 때는 DB에 저장된 정보를 출력하는 것이었다.
그래서 우린 이 방식을 채택을 했고 이대로 프로젝트를 마무리 했었다.
하지만 지금 와서 생각해보니, DB의 정보를 계속 갱신해주지 않으면 사용자에게 최신의 정보를 추천해줄 수 없으므로 매우 수동적이며 좋지 않은 코드라고 생각한다. 또 크롤링으로 계속 갱신을 하기에는 효율성이 부족하다. 그래서 이번 기회에는 해당 기술을 개선하고자 했다.
당시에 우리 팀은 TourAPI와 같이 한국관광공사에서 제공해주는 openAPI가 있는 것을 알았지만, 이를 이용할 수준이 되지 않았다. 시도 했지만 실패하여 위에서 언급한 방식을 그대로 이어갔다.
하지만 이제는 할 수 있을 거 같고, 못할 거 같더라도 하고자 하는 의지가 생긴다. 그래서 이번엔 정말 openAPI를 이용해 사용자에게 더욱 최신의 정보를 제공할 수 있는 Trabot을 개발하고자 한다.
또 기회가 된다면 서버 배포까지 할 수 있기를 희망한다.
🔥 마무리
이번 기회에 느꼈다. 프로젝트를 다시 진행하기 위해 Kochat 코드를 보는데 정말 새롭게 보는 코드 같았다. 내가 짠 코드도 정말 처음 보는 코드라는 생각이 들었다. 기록이라도 해놨으면 다시 이해하는 게 어렵지 않을텐데 당시 나는 기록의 중요성을 하나도 몰랐다.
그래서 이번에 다시 시작할 때는 내가 짠 코드, 프로젝트 관련 지식 등에 대해 자세히 기록하고자 한다.
잘 기록해서 유사한 프로젝트를 진행하려는 사람, 우리 팀원, 미래의 나에게 도움을 주고 싶다👊