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. 요구사항 목록

기능 요구사항

구현을 위한 기능적 요구사항을 서술한다.

고유번호

SJ-01

명칭

데이터 크롤러

정의

세종대학교 관련 정보 수집 모듈

세부내용

  • 세종대학교와 직접적으로 관련되어 있거나 세종대학교 구성원이 관심을 가질 만한 모든 데이터를 수집하는 모듈이다.

  • 크롤러의 수집 대상은 사전조사 - 수집 URL 대상 목록 문서를 참고하도록 한다.

  • 크롤러의 동작 구조 및 데이터 정규화 포맷은 핵심 기능 설계 - 데이터 크롤러 설계 문서를 참고한다.

고유번호

SJ-02

명칭

Auth API

정의

SOOJLE 사용자 인증 모듈

세부내용

  • SOOJLE은 세종대학교 구성원을 대상으로 하는 서비스이다. 따라서 한정된 타겟층을 가진다는 이점을 통해 가능한 한 사용자 인증 시스템을 번거롭지 않고 간편하게 구축해야 한다.

  • 따라서 의사결정 - 사용자 인증 방식 의사결정에 따라 해당 인증 모듈을 구현한다.

고유번호

SJ-03

명칭

Document 토크나이저

정의

문서 형태소 분석기

세부내용

  • 머신러닝 모델에서 문서를 적절하게 학습 및 예측시키기 위해 데이터셋을 전처리하는 모듈이 필요하다.

  • 해당 토크나이저는 아래와 같은 작업을 수행해야 한다.

  • 한글, 영어를 제외한 모든 문자열을 제거한다.

  • 입력받은 한글/영어로 이루어진 문자열에 대하여 명사 추출 작업을 수행한다.

  • 토큰내에서 존재하는 한글/영어 불용어를 제거한다.

  • 상위의 과정이 끝난 토큰 리스트를 반환한다.

고유번호

SJ-04

명칭

SOOJLE LDA 모델

정의

SOOJLE 문서 토픽 모델링 모듈

세부내용

  • 데이터 크롤러(SJ-01)에 의하여 수집된 모든 문서에 대하여 토픽 모델링을 수행한다.

  • 해당 모듈의 알고리즘에 대한 명세는 학습 모델 사전조사 - LDA(잠재 디리클레 할당) 문서를 참고하도록 한다.

  • 해당 모듈의 토픽 모델링 결과 형식은 핵심 기능 설계 - 게시물 토픽 정의 및 분류 문서를 참고하도록 한다.

고유번호

SJ-05

명칭

SOOJLE FastText 모델

정의

SOOJLE 단어 유사도 분석 모듈

세부내용

  • 입력된 단어의 의미를 분석하고 가장 유사한 단어 X개를 선정하여 결과 값을 반환하는 모듈이다.

  • FastText 기반의 워드 임베딩 모듈을 사용해서 구현한다.

  • 해당 알고리즘의 자세항 명세는 학습 모델 사전조사 - FastText 문서를 참고하도록 하자.

고유번호

SJ-06

명칭

추천 뉴스피드

정의

사용자의 관심 분야를 고려한 맞춤 뉴스피드

세부내용

  • SOOJLE 서비스 내에서 사용자가 수행한 액션 데이터 값에 기반하여 각 사용자의 관심 분야에 맞춘 뉴스피드를 제공한다.

  • 해당 모듈을 구현하기 위해서는 사전에 LDA 모델(SJ-04) 요구사항이 사전에 완료되어 있어야 한다.

  • 추천 뉴스피드에 대한 상세 설계는 핵심 기능 설계 - 뉴스피드 설계 문서를 참고하도록 한다.

고유번호

SJ-07

명칭

인기 뉴스피드

정의

인기도별 게시물 뉴스피드

세부내용

  • 게시물을 대상으로 수행된 액션을 바탕으로 각 게시물의 인기도를 산출하여 해당 정보를 바탕으로 인기 뉴스피드를 제공한다.

  • 종합 누적 인기도 정렬

  • 실시간 인기도 정렬

  • 인기 뉴스피드에 대한 자세한 사항은 핵심 기능 설계 - 뉴스피드 설계 문서를 참고하도록 한다.

고유번호

SJ-08

명칭

토픽별 뉴스피드

정의

대학생 대표 토픽별 뉴스피드

세부내용

  • 의사 결정에 따라 대학생들이 공통적으로 관심을 가질 만한 복수의 토픽을 선정하여 해당 토픽을 가진 게시물 뉴스피드를 생성한다.

  • 각 토픽별 뉴스피드 목록은 의사결정 - 토픽별 의사결정 문서를 참고한다.

  • 토픽별 뉴스피드에 대한 자세한 사항은 핵심 기능 설계 - 뉴스피드 설계 문서를 참고하도록 한다.

고유번호

SJ-09

명칭

Search 검색 엔진 개발

정의

게시물 검색 기능 모듈

세부내용

  • 게시물 DB에 대하여 검색 기능을 구현해야 한다.

  • 해당 모듈을 구현하기 위해서는 LDA 모델(SJ-04), FastText 모델(SJ-05) 요구사항이 사전에 충족되어야 한다.

  • 검색 엔진에 대한 자세한 명세는 핵심 기능 설계 - 검색 알고리즘 설계 문서를 참고하도록 한다.

고유번호

SJ-10

명칭

인기 검색어/토픽 통계

정의

사용자들이 수행한 검색 키워드 통계

세부내용

  • 검색 기능(SJ-09)을 수행했던 키워드를 바탕으로 통계기능을 구현한다.

  • 실시간 검색어 변동추이

  • 워드클라우드

고유번호

SJ-11

명칭

전체 문서 토픽 분포 통계

정의

전체 문서 토픽 분포 통계

세부내용

  • 전체 문서들에 대한 토픽 분포도 맵을 시각화하는 기능이다.

  • 각 문서들의 LDA Topic를 기존의 LDA Topic Map에 매핑시켜 SOOJLE의 문서들이 토픽 맵에 어떻게 분포되고 있는지를 확인할 수 있어야 한다.

고유번호

SJ-12

명칭

사용자 접근 통계

정의

사용자 액션 수집을 통한 각종 통계

세부내용

  • 사용자들의 액션에 대한 통계 기능을 제공해야 한다.

  • 대표적으로 명시할 데이터는 다음과 같다.

  • 1일/1주/1달별 방문자 통계

  • 시간대별 방문자 추이

  • 학과별 관심토픽 통계

  • ...(지속적으로 검토 필요)

고유번호

SJ-13

명칭

관련 검색어 자동완성

정의

수집된 검색 키워드 기반으로 한 자동완성

세부내용

  • 현재까지 수집된 검색 키워드를 바탕으로 사용자의 검색어에 대한 자동완성 키워드를 추천해준다.

  • (검토 예정)

고유번호

SJ-14-1

명칭

새로운 사이트 탐지 및 수집

정의

대학생에게 도움을 줄만한 여러 사이트 탐지 기능

세부 내용

  • 세종대학교 구성원들에게 필요하다고 판단되는 새로운 사이트에 대 탐지 및 수집을 수행한다.

  • 수행 과정은 다음과 같다.

    • 저장해둔 URL을 들어가서 모든 내부 URL 재귀적 크롤링

    • 한 URL에서 수집된 모든 문자열 하나의 문서로 합쳐서 토큰화

    • 해당 토큰을 LDA로 예측해서 수집이 필요한 사이트인지 판별

    • 마지막으로 사용자들에게 해당 사이트를 투표

    • 기존의 내부 크롤링 기법으로 수집해서 DB 데이터 내에 반영

고유번호

SJ-14-2

명칭

대학생활 팁/룰 정리

정의

간단한 대학생활 정보 요약 & 명세

세부내용

  • 아직 대학 생활에 익숙하지 않는 혹은 기본적인 교내에서 지원되는 기능 및 정보에 대한 간단한 명세이다.

고유번호

SJ-14-3

명칭

학교 날씨에 기반한 로고 변경

정의

학교 날씨에 기반한 로고 변경

세부내용

  • 학교 근처 지역 기상 상황 및 미세먼지 농도 등을 비롯한 정보를 메인 페이지 로고 내에서 디자인을 변경하여 명시한다.

고유번호

SJ-14-4

명칭

각 학교 사이트 헬스체크

정의

학교 직할 사이트 헬스체크

세부내용

  • 크롤링 도중, 해당 사이트의 접속 가능 여부를 DB 기록하여, SOOJLE 서비스 내에서 해당 서비스가 정상적으로 작동하고 있는지 확인할 수 있는 기능이다.

  • (검토 예정)

고유번호

SJ-15

명칭

웹 기반 UI/UX 구현

정의

SOOJLE 웹 프론트엔드 구현

세부내용

  • 해당 서비스를 제공하기 위한 UI/UX를 구현한다.

  • 프론트엔드에 대한 상세한 설계는 FRONTEND 그룹 문서를 참고하도록 한다.

PreviousDB 요구사항Next품질 요구사항

Last updated 5 years ago

Was this helpful?