심사위원 1

심사위원 2

① 기획 대비 구현의 정합성

  1. 수행계획서에서 제시한 기술 스택(Kafka, Spark, LangChain, Elasticsearch 등)은 모두 실제로 구현에 반영되었나요?
    1. 수행계획서에 적힌 내용은
    2. 이번 프로젝트에서는 Spark를 직접 사용하지는 않았습니다. 대신, Streamsets를 활용해 데이터 수집 및 전처리 파이프라인을 구성했고, 목적에 따라 데이터를 분기 처리함으로써 Spark 없이도 실시간성과 확장성을 확보할 수 있었습니다.
  2. 혼잡도 예측, 사용자 추천 기능 등 AI 기반 기능은 실제 어떤 수준으로 구현되었으며, 테스트 결과는 어떻게 확인하였나요?
    1. 혼잡도 예측은 서울시 공공 api를 통해 받고있습니다.

② 기능 구현 및 완성도

  1. 실시간 데이터 수집·시각화 기능은 어떤 방식으로 동작하며, 5분 단위 수집이라는 주기는 실제 사용자 이용에 적절한가요?

  2. 감정 분석 모델의 F1-score가 0.86로 제시되었는데, 이를 평가하기 위한 테스트셋 구성 방식과 기준은 무엇인가요?

    1. 전체 7,900개 라벨링 데이터 중 20%를 무작위로 분할하여 테스트셋으로 구성하였습니다. 필요시 추가 설명{ 라벨 분포(긍정/중립/부정)가 실제 리뷰 데이터와 유사하도록 stratified sampling을 적용하였습니다.}
  3. LangChain 기반 LLM 추천 기능의 출력 결과가 실제 사용자 요구를 얼마나 반영했는지 검증한 사례가 있나요?

    1. 처음에는 사용자 요구사항을 정확히 반영하지 않는 문제가 발생했었습니다. 조건에 요청사항 반드시 반영이라는 프롬프트를 추가했더니 “하루에 카페 4번”과 같은 일반적이지 않은 사용자의 요청사항들도 반드시 반영하는것을 확인할수있었습니다.

③ 시스템 통합 및 사용자 인터페이스

  1. 사용자 대시보드와 관리자 대시보드가 분리 구현되었는데, 각 역할에 따라 제공되는 정보의 차별화 전략은 무엇인가요?

    a: 사용자 대시보드는 개인 맞춤형 서비스 제공을 위해 선택한 특정 지역 중심의 관광정보를 제공하고, 관리자 대시보드는 효율적인 운영관리를 위해 전체 관광특구의 통합 현황과 분석 데이터를 제공합니다. 또한 사용자 대시보드에서는 직관적인 카드 기반 UI를 제공하여 관광 편의 위주로, 관리자 대시보드에서는 데이터 중심의 모니터링 기능을 제공하여 각각의 목적에 맞을 수 있도록 제작했습니다.

    사용자 대시보드는 개인 맞춤형 서비스 제공을 위해 선택한 지역의 관광 정보를 제공하고, 관리자 대시보드에서는 원활한 운영 관리 및 통합관제를 위해 전체 관광특구의 통합현황 및 통합 데이터 분석 결과를 제공하고 있습니다.

  2. 시스템 모니터링(Grafana, Zipkin 등)은 어떤 메트릭을 기준으로 운영되었으며, 실제 장애 대응이 가능한 수준인가요?

    1. 그라파나에서는 노드의 비정상적인 리소스 사용을 감지할 수 있으며, 로그스태시로 중앙화된 로그를 집킨에서 트레이싱하여 어떤 서비스에서 에러가 발생했는지 확인하여 장애를 대응할 수 있었습니다.
    2. 최근에 발생했던 ES 용량 문제가 있었습니다. 사이트에서 DB정보를 가져올 수 없었고, ELK에서 에러에 대해서 체크를 했고, TraceID를 뽑아 Zipkin에서 확인을 하여 어디 부분에서 발생했는지 확인을 하였습니다. 실제 백엔드 서버에서 ES에 연결하는 과정에서 뜬 것을 확인했고, PVC 용량을 늘리는 것으로 에러를 해결하였습니다.