Silinu's AI Study

[Review the review] 3. 리뷰 글 품질 판단 모델 본문

Project/Review the review

[Review the review] 3. 리뷰 글 품질 판단 모델

Silinu 2024. 1. 27. 18:00

주제

의류 이커머스 업계에서 관련 없는 리뷰 뿐만이 아니라, 리뷰 글의 품질을 판단하여 적립금을 차등 지급하는 서비스를 만들자

  • 리뷰 글 품질 판단 모델
    • Purpose
      • 사용자의 리뷰 글을 입력 받아 리뷰 품질을 0~3단계로 평가하기.
    • Preprocessing
       
      • 순서
        1. 데이터 셋을 1차, 2차 전처리 과정에 넣음.
        2. 결과를 토대로 1차 정제 리스트에 내용을 추가함.
        3. 데이터 셋 최적화를 위해 1, 2 과정을 반복함.
      • 1차 : 텍스트 전처리
        •  정제
          • 오타 수정
          • 불용어 제거
          • 이모티콘 제거
          • 해시태그 제거
        •  정규화
          • 반복 횟수 정규화
          • 띄어쓰기 정규화
          • 문장 길이 필터링
      • 2차 : 네이버 맞춤법 검사기 API

    • Auto Labeling
      1. 각 단계(0~3단계)에 맞는 소수의 리뷰 글들을 각 리스트에 저장함.
      2. Sentence-BERT 모델을 사용하여 각 단계별 저장된 리스트와 입력 받은 리뷰 간의 유사도를 측정함.
      3. 측정된 유사도가 가장 높은 단계에 따라 라벨 값이 부여됨.
      4. 입력된 리뷰 글과 부여된 라벨 값을 직접 검수하고, 각 단계의 리스트에 추가로 저장함.
      5. 이후 2, 3, 4 과정을 반복하여 Labeling을 진행함.

    • Model
                             
      1. 해당 상품 카테고리와 리뷰 글을 각각 Embedding함.
      2. Embedding된 리뷰 글과 해당 상품의 관련성을 판단함.(리뷰 등록 판별 모델)
      3. 관련이 없다면 리뷰 등록을 거부하고, 관련이 있다면 리뷰의 품질을 평가함.(품질 평가 모델)
      4. 평가된 품질에 따라 적립금을 차등 지급함.
    • ONNX
      • 안드로이드 내부에 실행하기 위해서 ONNX 과정을 거쳐 최적화 하기로 함.
      • FP16 : 메모리 사용량이 적으며, 연산 속도가 빠르고 GPU 사용에 최적화됨.
      • Quantization : 기존 FP32를 INT8로 변환하여, 연산량이 감소되면서 연산 속도가 증가함.

    • Performance
      • 전처리에 따른 성능 비교
      • 하이퍼 파라미터에 따른 성능 비교

      • ONNX 최적화에 따른 성능 비교
    • Code Link