Skip to content

YBIGTA/25th-conference-ori-gogi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 

Repository files navigation

ORI & GOGI

24-2 YBIGTA 컨퍼런스

음식점 바이럴 필터링 및 리뷰 요약 서비스

목차

문제 정의

'바이럴 마케팅'이 가장 성행하는 업종은 단연 요식업이다. 이른바 '체험단' 사이트들에서는 이용자들에게 음식점의 식사 이용권을 제공하는 대가로, 제공되는 가이드라인에 맞는 리뷰 포스트를 작성하도록 강제한다. 해당 '가이드라인'에는 광고 대상 음식점의 특징과 광고 포인트 뿐 아니라, 검색시 상위 노출을 확보하기 위한 키워드들이 포함되어 있어, 사용자들은 음식점을 검색시 솔직한 리뷰보다는 칭찬일색의 리뷰를 맞닥뜨렸다. 이러한 '바이럴 마케팅'의 성행은 사용자들로 하여금 인터넷에서의 정보를 믿지 못하게 하는데에 이르렀다. 사용자들은 음식점 이름과 욕설을 함께 검색하는 등의 방식으로 바이럴 리뷰를 회피하기 위해 노력중이며, 바이럴 리뷰 필터링에 대한 수요는 높아지고 있다.

20221208111358_prfzduup

image

세부 목표

  1. 바이럴 리뷰 포스트 탐지 방법 개발
  2. 클린 리뷰 포스트 요약 서비스 개발

접근 방법

  1. 태스크

    • 바이럴 리뷰 포스트 탐지 방법 개발
      • 여러 리뷰 중 바이럴 리뷰를 탐지할 방법을 개발하고자 함.
      • 이미지 인식, 텍스트 학습 등 여러 방법을 고려하여, 이미지 저장명을 통한 탐지 방법을 선택하였음.
    • 클린 리뷰 포스트 요약 서비스 개발
      • LLM 모델을 이용하여, 바이럴 리뷰를 제외한 일명 '클린 리뷰'에 대한 요약문을 얻고자 하였음.
  2. 데이터셋 (사용한 데이터셋, API 등)

  1. 네이버 블로그 식당 리뷰 데이터
  • 대상 지역: 신촌역 근처 맛집
  • 데이터 수집 방법: 네이버 API를 이용하여 신촌 맛집의 블로그 리뷰 데이터를 크롤링
  • 데이터 활용 목적: 블로그 리뷰 전문을 기반으로 식당에 대한 전반적인 평가 확인 및 광고 여부 판단
  • 데이터 전처리: 최신 블로그 포스트 순으로 정렬
    • 주요칼럼:
      • writer: 블로거 이름
      • date: 블로그 포스트 작성일
      • title: 블로그 포스트 제목
      • content: 블로그 식당 리뷰 글 전문
      • tags: 블로그 포스트 태그
      • sympathy: 블로그 포스트 공감수
      • post_url: 블로그 포스트 URL
      • ad_images: 광고성 이미지 여부 판단을 위한 이미지
      • ad_status: 블로그 포스트 광고 여부
  1. 식당 정보 데이터
  • 대상 지역: 신촌역 근처 맛집
  • 데이터 수집 방법: 식당 기본 정보를 구글에서 크롤링
  • 데이터 활용 목적: 네이버 블로그 포스트에서 언급된 식당 정보를 기반으로 추가 데이터 확보 및 분석
  • 데이터 전처리: 네이버 블로그 포스트에 언급된 식당 기준으로 구글 크롤링을 진행, 구글에 검색되지 않는 식당은 제거
    • 주요칼럼:
      • restaurant_name: 네이버 블로그 검색 기준 식당 이름
      • googlemap_name: 구글 맵 상 식당 이름
      • address: 식당 주소
      • review_count: 리뷰 개수
      • price: 식당 가격대
      • category: 음식점 카테고리
      • image: 대표 이미지
  1. 모델링/아키텍쳐 등 (프로젝트 특성 및 목표에 따라)
    • OPEN AI GPT

      • GPT 모델을 Few-Shot prompt로 트레이닝하여, INPUT 음식점에 대한 분위기, 서비스, 대표 메뉴, 가격대 등 특정 항목들을 포함하여 정형화된 형태의 답변을 제시하도록 하였음.
    • Docker 에서 FAST API, MySQL 을 구동

      • FAST API 서버에서 크롤링 모듈이 작동하고, 크롤링 된 데이터는 MySQL을 통해 DB에 저장됨
      • 구글 / 네이버에서 크롤링 된 데이터는 각각 음식점 정보 / 음식점 리뷰 테이블로 나누어 저장되었음.
      • 사용자의 INPUT이 QUERY 형태로 입력되면, MySQL은 해당 QUERY를 만족하는(=해당 음식점 정보를 담고 있는) 데이터를 추출하여 사용자의 Local 로 전달.
      • VIRAL FILTER는 추출된 데이터가 Local로 전달되는 과정에서 작동하여, LLM 모델이 '클린 리뷰'만을 처리하도록 함. 컨퍼런스 24-2 파이프라인 (1)

결과 및 주요 기능

바이럴 리뷰 포스트 탐지

바이럴 리뷰를 암시하는 협찬 이미지가 포함된 리뷰에 대해서 필터링을 수행함.

클린 리뷰 포스트 요약

Few-shot Learning Prompt를 활용하여, 특정 카테고리들을 포함하는 답변을 일관적으로 반환하도록 학습시켰음. [UI로 완성된 결과물 올릴 공간] example_for_result

팀 구성

이름 역할
김대솔 DS 팀장, 모델링
김지훈 DE 프론트엔드, UI
문찬우 DA 크롤링, 백엔드
서지연 DA 크롤링, 백엔드
오재현 DS 발표자료 제작, 데이터 수집
이건 DA 모델링, 데이터 수집
이윤이 DA UI 디자인, 데아터 수집

About

24-2학기 컨퍼런스 - ori&gogi

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published