SOOJLE
수즐 커뮤니티
수즐 커뮤니티
  • SOOJLE Document
  • 프로젝트 요약
  • Untitled
  • 프로젝트 개요
    • 프로젝트 소개
    • 추진 배경 및 필요성
    • 프로젝트 내용
      • 기능적 요구사항
      • 비기능적 요구사항
    • 개발환경 및 팀 구성
    • 워크플로우
      • 계획 수립 & 설계
      • 데이터 수집 및 정규화
      • 인공지능 개발
      • 서비스 모듈 개발
      • 성능 평가 및 보고
    • 프로젝트 예산 내역
  • 사전조사 & 의사결정
    • 사전조사
      • 재학생 대상 사전조사
      • 수집 URL 대상 목록
        • 세종대학교 직할
        • 세종대학교 학과
        • 공식 공지사항
        • 세종대 평생교육원
        • 외부 웹사이트
      • 학습 모델 사전조사
        • LSA - 잠재 의미 분석
        • LDA - 잠재 디리클레 할당
        • Word2Vec - 워드투벡터
        • FastText - 패스트텍스트
    • 의사결정
      • 사용자 인증 방식 의사결정
      • 데이터베이스 의사결정
        • MySQL vs MongoDB 성능 분석
      • 토픽별 의사결정
      • 부가 기능 의사 결정
  • 프로젝트 설계
    • 시스템 구조 설계
    • 핵심 기능 설계
      • 데이터 크롤러 설계
      • 게시물 토픽 정의 및 분류
      • 사용자 관심분야 측정
      • 뉴스피드 설계
        • 사용자-문서 유사도(Recommendation Score)
        • FaS (관심 분야 및 유사도 측정 - 추가)
        • 토픽 뉴스피드 목록
      • 검색 알고리즘 설계
        • 검색 알고리즘 1차 설계
        • 검색 알고리즘 1차 개선안
        • 검색 알고리즘 2차 설계
    • 요구사항 목록
      • DB 요구사항
      • 기능 요구사항
      • 품질 요구사항
      • 관리 요구사항
  • DB
    • 구조 설계
    • 테이블 명세
  • 데이터 크롤러
    • 데이터 크롤러 개요
    • 크롤링 URL 선정
    • 크롤러 구현을 위한 사전조사
    • 크롤러 개발 과정
      • 크롤러 프로그램 설계
      • 크롤러 규격화
      • 크롤러 정규화
      • 데이터 정제 과정
      • 에러 핸들러 구현
      • 배포 환경 이식을 위한 Porting
    • Issue & Exception
    • 결과 보고
  • 인공지능 개발
    • 인공지능 개발 개요
    • NLP 스터디
      • Bag of Words(BoW)
      • Document Term Matrix(DTM)
      • TF-IDF(Term Frequency-Inverse Document Frequency)
      • 문서 유사도(Document Similarity)
    • 데이터 전처리 과정
    • 개발 과정
      • 토크나이저 구현
      • LDA 모델 학습 및 구현
    • LDA 학습 모델링
      • 1차 파라미터 튜닝 결과 (NUM_TOPICS)
      • 2차 파라미터 튜닝 결과 (NUM_TOPICS)
      • 3차 파라미터 튜닝 결과 (NUM_TOPICS)
      • NUM_TOPICS 파라미터 의사결정
      • 4차 파라미터 튜닝 결과 (PASESS, ITERATION)
      • 최종 학습 모델 명세
    • Word2Vec(FastText) 학습 모델링
    • Issue & Exception
    • 성능 분석 결과
  • BackEnd
    • 서버 구축 및 배포
      • SOOJLE 서버 구조
      • 상용 서버 (UWSGI + NGINX) 구축
      • HTTPS 서버 구현
    • API 문서 개요
    • API 목록
      • Analysis
      • Auth API
      • Newsfeed API
      • Post API
      • Search API
      • Admin API
    • 세종 Auth API
    • 통계 기능 설계
    • Issue & Exception
    • 성능 분석 결과
  • FRONTEND
    • 프론트엔드 설계 개요
    • 디자인 설계 의사결정
      • 디자인 컨셉 및 기능 정의
      • 컴포넌트 디자인
      • Logo Variation
    • 화면 흐름도
    • 페이지 UI 명세
      • Main Page
      • Header
      • Footer
      • Mobile Control Bar
      • Login Page
      • Timeline Page
      • Menu Page
      • Hyperlink Icons Page
      • Search Component & Mobile Search Modal
      • Search Page
      • Post Block
      • Snackbar
  • 프로그램 배포
    • 프로그램 개요
    • 시스템 아키텍쳐
    • 주요 기능 및 명세
    • 프로그램 테스트
    • 구현 결과물 배포
  • 마무리
    • References
  • SOOJLE AI
  • SEJONG AUTH
  • IML Tokenizer
  • SOOJLE Crawler
  • SOOJLE Frontend
  • SOOJLE Backend
Powered by GitBook
On this page
  • 간트 차트
  • 데이터 수집 및 정규화
  • 학교 관련 정보 선별
  • 데이터 크롤러 개발
  • 데이터 수집 및 정규화

Was this helpful?

  1. 프로젝트 개요
  2. 워크플로우

데이터 수집 및 정규화

Previous계획 수립 & 설계Next인공지능 개발

Last updated 5 years ago

Was this helpful?

간트 차트

데이터 수집 및 정규화

SOOJLE 서비스에 사용될 세종대학교 구성원들이 관심을 가질 만한 모든 정보를 수집하는 크롤러를 개발하는 과정이다.

학교 관련 정보 선별

세종대학교와 관련된 혹은 세종대학교 구성원들이 관심을 가질 만한 모든 주제에 대한 정보를 수집하기 위해, 적절한 웹 페이지들을 선정한다.

아래의 조건을 모두 만족할 경우, 해당 사이트에 올라오는 정보를 지속적으로 수집한다.

  1. 세종대학교 혹은 대학생 전반이 대상이 되는 관련 정보를 60% 이상 포함하고 있어야 한다.

  2. 가장 최근 게시물이 3년 이내에 작성된 것이여야 한다.

  3. 특정 재학생들에게 반드시 필요한 정보를 포함하고 있는 몇몇 사이트는, 상기의 조건을 충족하지 못하더라도 수집 대상에 포함시키도록 한다.

  4. 수집 대상이 되는 URL에는 내부 게시판의 정보를 지속적으로 수집하는 분류도 존재하지만, 해당 도메인 자체만 수집되는 대상도 포함하여야 한다.

데이터 크롤러 개발

위의 조건에 해당되는 사이트에서 정보를 수집하는 크롤러를 개발한다. 해당 크롤러는 정기적으로 대상 URL에 접속하여 지속적으로 새로운 정보를 수집하고 반영해야 한다. 데이터는 서비스의 성능에 영향을 끼치지 않는 선에서 최대치로 수집하도록 한다.

데이터 수집 및 정규화

여러 플랫폼, 웹 사이트에 수집한 데이터는 각기 다른 유형의 정보를 포함하고 있는 비정형 데이터이다. 이를 하나의 통일된 형식으로 정규화하는 과정이 필요하다.