SOOJLE
1.0.0
1.0.0
  • SOOJLE Document
  • 프로젝트 요약
  • 프로젝트 개요
    • 프로젝트 소개
    • 추진 배경 및 필요성
    • 프로젝트 내용
      • 기능적 요구사항
      • 비기능적 요구사항
    • 개발환경 및 팀 구성
    • 워크플로우
      • 계획 수립 & 설계
      • 데이터 수집 및 정규화
      • 인공지능 개발
      • 서비스 모듈 개발
      • 성능 평가 및 보고
    • 프로젝트 예산 내역
  • 사전조사 & 의사결정
    • 사전조사
      • 재학생 대상 사전조사
      • 수집 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
  • 개요
  • FastText - 패스트텍스트
  • 단어 유사도 분석
  • 패스트텍스트 모델 분석

Was this helpful?

  1. 사전조사 & 의사결정
  2. 사전조사
  3. 학습 모델 사전조사

FastText - 패스트텍스트

PreviousWord2Vec - 워드투벡터Next의사결정

Last updated 5 years ago

Was this helpful?

개요

FastText는 페이스북에서 개발한 워드 임베딩 알고리즘이다. 워드투벡터는 본 프로젝트의 목적에 매우 적합한 용도를 가지고 있지만, 고질적인 OOV 문제를 해결하지 못하여 고민하던 중, FastText가 워드투벡터 기반의 방법에서 N-gram 기법으로 OOV 문제를 개선 모델이 등장하게 되었다.

FastText - 패스트텍스트

패스트텍스트 또한 워드투벡터와 같은 구조로 학습을 수행하며, 해당 라이브러리에는 CBOW, SKIPGRARM 기반의 기법이 존재한다.

단, 패스트텍스트의 경우 OOV에 해당되는 단어 또한 기존의 단어를 조합하여 유사도를 측정하는 것이 가능한데, Dictionary에 수집된 단어들을 N-gram으로 나눠서 보관하여, 기존 Dictionary에 존재하지 않는 단어에 대하여도 유사도 측정을 가능하도록 한다.

단어 유사도 분석

완성된 모델을 통해 다음과 같은 기능을 수행할 수 있다. 아래는 특정 단어를 모델에 입력하여 해당 단어와 가장 가까운 의미를 가진 단어 목록을 호출한 것이다.

# '영화'와 가장 유사한 단어
>>> model.most_similar('영화')
영화다, 영화였다, 작품, 영화임, 영화이다, 영화였음, 영화인듯, 영화에요, 영화네요…

#'쓰레기'와 가장 유사한 단어
>>> model.most_similar('쓰레기')
시간낭비, 삼류, 최악의, 최악, 아깝다, 쓰레기같은, 병신, 동, 졸작, 쓰레기를, 극혐…

패스트텍스트 모델 분석

본 프로젝트에서는 검색어 등의 단어의 의미를 분석하여 사용자가 모르는 키워드 또한 검색 결과에 포함시켜 관련된 정보를 도출할 수 있도록 돕는 모듈이 필요하다. 이 과정에서 패스트 텍스트를 활용하여 각 단어의 유사도를 측정하여 해당 검색 키워드와 관련된 결과를 도출할 수 있을 것이라 기대한다.