기능 요구사항
구현을 위한 기능적 요구사항을 서술한다.
Last updated
구현을 위한 기능적 요구사항을 서술한다.
Last updated
고유번호
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 그룹 문서를 참고하도록 한다.