Skip to content

BabyCareAI/babycareai-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

모찌케어 분석 데이터 파이프라인

Python
Pandas
KiwiPy
AWS
Selenium

본 README.md는 모찌케어 분석 데이터 파이프라인에 대한 주요 정보만을 담고 있습니다.
Blog 👈데이터 분석 및 파이프라인 구축 과정을 블로그에 작성하였습니다.

프로젝트 개요

모찌케어는 영유아를 양육하는 부모나 양육자가 아기의 피부 사진을 찍고 증상을 입력하면 AI 기술을 활용하여 피부 질환을 진단해주는 서비스입니다.
본 리포지토리는 서비스 개발 전 단계에서 사용자 니즈와 개발 타당성을 검증하기 위한 데이터 분석 시스템입니다.

데이터 수집 방법

  1. 직접 설문조사: 101명 대상 구조화된 설문 데이터
  2. 웹 스크래핑: 네이버 카페 "맘스홀릭베이비"의 "아기 건강 질문방" 게시판 1년간 게시글 (약 65,600개)

1.설문조사 분석

  • 소규모 구조화 데이터의 로컬 환경 분석
  • 한국어 의료 용어 카테고리화
  • 증상 및 질환별 통계 시각화

2.맘스홀릭베이비 데이터 파이프라인

AWS 클라우드 기반 대용량 비정형 데이터 처리 파이프라인:

파이프라인 아키텍처

image

데이터 마트 스키마

image

한국어 NLP 처리

  • KiwiPy를 활용한 형태소 분석
  • 의료 용어 키워드 그룹 분류 (22개 카테고리)
  • 불용어 필터링 및 토큰 추출

데이터 마트 구조

  • 차원 테이블: posts_dim, keyword_groups_dim
  • 팩트 테이블: tokens_fact, post_keyword_groups
  • 파티션된 Parquet 형식으로 저장

키워드 카테고리

  • 호흡기: 기침, 콧물, 가래
  • 소화기: 변, 설사, 구토
  • 피부: 아토피, 두드러기, 땀띠
  • 감염: 열, 감기, 폐렴, 중이염
  • 의료: 병원, 소아과, 증상

기술 스택

  • 데이터 수집: Selenium WebDriver
  • 한국어 NLP: KiwiPy
  • 데이터 처리: Pandas, PyArrow
  • 클라우드: AWS S3, Glue, Athena, QuickSight
  • 시각화: Matplotlib, Seaborn

향후 개선사항

  • 완전 클라우드 기반 한국어 처리 파이프라인 구축
  • Athena 파티션 최적화를 통한 쿼리 성능 향상
  • 실시간 데이터 수집 및 분석 자동화

분석 결과

로컬에서 형태소 분석과 토큰 추출 후 구축한 데이터 파이프라인과 데이터 마트를 기반으로 QuickSight를 활용해 데이터를 시각화하고, 분석한 것중 일부를 가져왔다.

1. 사용자 행동 패턴 분석

글 작성 빈도별 사용자 분포 (2회 이상) 시간대별 게시글 수
image image
2회 이상 글을 작성한 사용자들 중, 글을 올린 횟수별 작성자 수 분포 특정 기간 동안 시간대별로 게시된 글의 수
대부분의 사용자는 2~3개의 글만 남기고 떠나는 '단기 문제 해결형'패턴을 보인다. 커뮤니티의 소통보다는 빠르고 정확한 진단을 원하는 니즈가 존재한다고 할 수 있다. 사용자 활동은 아이가 잠든 후인 저녁 9시~10시에 증가했습니다. '육퇴 후 골든타임'패턴을 보인다.

2. 사용자 관심사와 질병, 증상 파악

전체 데이터 - 상위 단어 빈도수 전체 데이터 - TF-IDF 상위 단어 피부 그룹 - 상위 단어 빈도수
전체 데이터_frequency_bar 전체 데이터_tfidf_bar 피부_frequency_bar
병원, 열, 기침같이 일반적인 단어들이 상위를 차지했다. 감기와 같은 단어의 중요도는 낮아지고, 아토피, 두드러기, 장염같은 구체적이고 변별력 있는 질병명의 중요도가 부각됐다. 아토피, 보습, 얼굴, 오돌토돌, 로션같은 구체적인 단어가 보인다. 사용자에게 증상을 입력받을 때 증상 체크리스트로 이용할 수 있다.

📁 디렉토리 구조

├─ README.md
│
├─ survey                          # 설문조사 분석
│  └─ survey_categorization.ipynb
│
└─ momsholicbaby                   # 웹 스크래핑 데이터 파이프라인
   ├─ web_scraping
   │   ├─ momsholicbaby_scraped_data.csv
   │   └─ scraper.ipynb
   │
   ├─ local_process                # 로컬 데이터 처리
   │  ├─ dm_builder.ipynb
   │  ├─ frequency_analysis.ipynb
   │  └─ stopwords.txt
   │
   └─ s3                           # AWS S3 데이터 레이크
     ├─ cleansed-data              # 정제된 데이터
     │  └─ cleansed-data.parquet
     ├─ raw-data                   # 원시 데이터
     │  └─ raw_data.csv
     └─ tokend-data                # 분석용 데이터 마트
        ├─ keyword_groups_dim
        │  └─ keyword_groups_dim.parquet
        ├─ post_keyword_groups
        │  ├─ post_keyword_groups_part_000.parquet
        │  ├─ post_keyword_groups_part_001.parquet
        │  ├─ post_keyword_groups_part_002.parquet
        │  ├─ post_keyword_groups_part_003.parquet
        │  ├─ post_keyword_groups_part_004.parquet
        │  ├─ post_keyword_groups_part_005.parquet
        │  ├─ post_keyword_groups_part_006.parquet
        │  ├─ post_keyword_groups_part_007.parquet
        │  ├─ post_keyword_groups_part_008.parquet
        │  ├─ post_keyword_groups_part_009.parquet
        │  ├─ post_keyword_groups_part_010.parquet
        │  ├─ post_keyword_groups_part_011.parquet
        │  ├─ post_keyword_groups_part_012.parquet
        │  ├─ post_keyword_groups_part_013.parquet
        │  └─ post_keyword_groups_part_014.parquet
        ├─ posts_dim
        │  └─ posts_dim.parquet
        └─ tokens_fact
           ├─ tokens_fact_part_000.parquet
           ├─ tokens_fact_part_001.parquet
           ├─ tokens_fact_part_002.parquet
           ├─ tokens_fact_part_003.parquet
           ├─ tokens_fact_part_004.parquet
           ├─ tokens_fact_part_005.parquet
           ├─ tokens_fact_part_006.parquet
           ├─ tokens_fact_part_007.parquet
           ├─ tokens_fact_part_008.parquet
           ├─ tokens_fact_part_009.parquet
           ├─ tokens_fact_part_010.parquet
           ├─ tokens_fact_part_011.parquet
           ├─ tokens_fact_part_012.parquet
           └─ tokens_fact_part_013.parquet

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors