7. 1프로젝트 개요
구성원 역할서비스 목표서비스 소개수행 배경
“ 트렌디텍터 ” 란?
실시간으로 인터넷에서 화자 되는 키워드를 추출하고,
키워드 별로 글을 조회할 수 있는 서비스
8. 1프로젝트 개요
구성원 역할서비스 목표서비스 소개수행 배경
Keyword Relationship Recommand Collection Analysis
실시간 온라인 상에서
화제가 되고 있는
키워드를 제공
어떤 키워드에 대해
연관된 다른 키워드를
시각적 자료로 제공
이슈가 되고 있는
키워드의 중요도에 따라
순위를 결정
키워드 또는 커뮤니티
별로 게시 글을
모아 볼 수 있게 제공
기간별로 트렌드의
변화 추이를
통계자료로 제공
9. 1프로젝트 개요
구성원 역할서비스 목표서비스 소개수행 배경
강은화
Database construct, Web Back-End
신영민
Keyword Relationship, Web Front-End
이범준
Crawler, Keyword Extraction, Keyword Recommandation
14. 2수행 내용
일주일 이전 게시 글에 대하여 문서의 수와 각 Keyword가 등장
한 문서의 수를 Statistics 컬렉션에 누적
해당 문서들을 Article 컬렉션에서 제거
24시간 주기로 동작
각 시간대 별로 키워드 추출 알고리즘을 적용하여 키워드의 순위
를 결정하고 시간대별 Keyword 컬렉션에 추출 결과를 저장
5분 주기로 동작
Clear & Statistics
Keyword Recommandation
스케쥴러
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스
Scheduler
데이터흐름
15. 2수행 내용
Article Collection
전체 문서 수
키워드 별 문서 수
Statistics Collection
Clear
&
Statistics
Article
Crawler
최신 게시 글
일주일 이후 게시 글
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스
Scheduler
데이터흐름
17. 2수행 내용
게시판의 글 목록으로부터 제목, 작성자, URL 등을 파싱
24시간 이전 글 까지만 크롤
수집된 데이터를 Article 컬렉션에 저장
Article Crawler가 수집한 Article URL에서 Document를 가져옴
Document에서 Contents 부분을 파싱
해당 Article Object에 contents 속성을 추가하여 저장
Article Cralwer
Contents Cralwer
구현언어 Java
프로세스
라이브러리 Jsoup-1.8.1.jar
데이터베이스 구성
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스
Cralwer
데이터흐름
19. 2수행 내용
대상 커뮤니티
클리앙, SLR클럽, MLB파크, 뽐뿌
처리방법
HTTP Client request 헤더 에서 Referer 속성을 변조하여 정상 이미지 다운로드
다운로드된 이미지 경로로 src를 업데이트하여 처리
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스
Cross-domain 처리
데이터흐름
20. 2수행 내용
컨텐츠가 수집된 Article들을 대상으로 제목과 본문에서
komoran 형태소분석기를 이용하여 키워드 후보들을 추출
키워드 추출의 정확성을 위해 독자적인 색인어 정규화 알고리즘 적용
문서내에서의 키워드의 가중치인 TF값 계산
Keyword Extraction
구현언어 Java
프로세스
라이브러리 komoran-2.4.jar
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스
키워드 추출
데이터흐름
22. 2수행 내용
숫자 + 단위성 명사
1997년에는 = 1997 + 년 + 에는 -> 1997, 1997년
명사 + 접미사
확장성을 = 확장 + 성 + 을 -> 확장, 확장성
명사 + 용언파생접미사
사랑하는 = 사랑 + 하 + 는 -> 사랑, 사랑하다
접두사 + 명사
전대통령을 = 전 + 대통령 + 을 -> 대통령, 전대통령
용언어간 + “다”
먹고서 = 먹 + 고 + 서 -> 먹다
용언어간 + 명사형 전성어미
사라지기 = 사라지 + 기 -> 사라지다, 사라지기
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스
색인어 정규화
데이터흐름
23. 2수행 내용
색인어 정규화 과정
“ SL + SN Combine ”
SL: 외국어
SN: 숫자
SL + SN = (SL+SN)NNP
예: galaxy6
SN + SL = (SN+SL)NNP
예: 5s
SL + SN combine
SN + S
-> SN + NR
-> SN + NNB
-> NNG combine
S + N combine
N + X combine
V + VX, V + E combine
V + N combine
N + N combine
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스데이터흐름
24. 2수행 내용
색인어 정규화 과정
“ SN + S
→ SN + NR
→ SN + NNB
→ NNG Combine”
S: 부호+숫자+외국어
NR: 수사
NNB: 의존 명사
NNG: 일반 명사
SN + S* = (SN+S*)SN
예: 62!
SN + NR = (SN+NR)SN
예: 1천2백, 팔십팔
SN + NNB = (SN+NNB)NNG
예: 1997년, 6개, 10장
SL + SN combine
SN + S
-> SN + NR
-> SN + NNB
-> NNG combine
S + N combine
N + X combine
V + VX, V + E combine
V + N combine
N + N combine
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스데이터흐름
25. 2수행 내용
색인어 정규화 과정
“ S + N Combine ”
S: 부호+숫자+외국어
N: 명사
S* + NNG(P)
= NNG(P), (S*+NNG(P))NNP
예: 486컴퓨터
NNG(P) + S*
= NNG(P), (NNG(P)+S*)NNP
예: 아이폰6+
SL + SN combine
SN + S
-> SN + NR
-> SN + NNB
-> NNG combine
S + N combine
N + X combine
V + VX, V + E combine
V + N combine
N + N combine
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스데이터흐름
26. 2수행 내용
색인어 정규화 과정
“ N + X Combine ”
N: 명사
X: 접두사+접미사+어근
NNG(P) + XSN
= NNG(P),(NNG(P)+XSN)NNG(P)
예: 확장(NNG)+성(XSN) -> 확장성(NNG)
NNG(P) + XSV
= NNG(P), (NNG(P)+XSV)VV
예: 사랑(NNG)+하(XSV) -> 사랑하(VV)
SL + SN combine
SN + S
-> SN + NR
-> SN + NNB
-> NNG combine
S + N combine
N + X combine
V + VX, V + E combine
V + N combine
N + N combine
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스데이터흐름
27. 2수행 내용
색인어 정규화 과정
“ V+VX, V+E Combine”
V: 동사
VX: 보조용언
E: 어말 어미
VV + ETN = (VV+ETN)NNG
예: 사랑하(VV)+기(ETN)->사랑하기(NNG)
VV + EC = (VV+EC)VV
예: 사랑하(VV)+고(EC)->사랑하고(VV)
VV + VX = (VV+VX)VV
예: 사랑하고(VV)+있(VX)->사랑하고있(VV)
VV + ETM = (VV+ETM)VV
예: 사랑하고있(VV)+는(ETM)->사랑하고있는
(VV)
SL + SN combine
SN + S
-> SN + NR
-> SN + NNB
-> NNG combine
S + N combine
N + X combine
V + VX, V + E combine
V + N combine
N + N combine
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스데이터흐름
28. 2수행 내용
색인어 정규화 과정
SL + SN combine
SN + S
-> SN + NR
-> SN + NNB
-> NNG combine
S + N combine
N + X combine
V + VX, V + E combine
V + N combine
N + N combine
“ V+N Combine”
V: 동사
N: 명사
VV + NNG(P)
= NNG(P), (VV+NNG(P))NNP
예: 사랑하고있는(VV)+여자(NNG)
->사랑하고있는여자(NNP)
NNG(P) + VV
= NNG(P), (NNG(P)+VV)VV
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스데이터흐름
29. 2수행 내용
색인어 정규화 과정
SL + SN combine
SN + S
-> SN + NR
-> SN + NNB
-> NNG combine
S + N combine
N + X combine
V + VX, V + E combine
V + N combine
N + N combine
“ N+N Combine”
N: 명사
N: 명사
NNG + NNG
= NNG, NNG, (NNG+NNG)NNP
예: 컴퓨터(NNG)+설계(NNG)
-> 컴퓨터설계(NNP)
NNP + NNG
= NNP, NNG, (NNP+NNG)NNP
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스데이터흐름
30. 2수행 내용
Keyword
MainKEY ? SubKEY?
Subject ? Contents?
NNP ? NNG ?
색인어
정규화
MainKEY,subKEY 추출
List Element가
저장하는 정보
추출된 키워드 List
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스
TF 계산 과정
데이터흐름
31. 2수행 내용
TF = 1 / List.size()
모든 추출된 키워드 List
𝑇𝐹𝑖,𝑗 =
𝑛𝑖,𝑗
𝑘 𝑛 𝑘,𝑗
TF값을 구하는 수식
Check!
Subject(제목)인 경우 X4
Main Key인 경우 X3
NNP(고유명사)인 경우 X2
각 키워드의 TF = TF / MAX(TF)로 최대값이 1이 되도록 정규화함
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스
TF 계산 과정
데이터흐름
33. 2수행 내용
Article Collection
NTF
Map Reduce
Keyword Collection Statistics Collection
전체문서
키워드 등장 문서 수IDF =
키워드 별 NTF값 계산
키워드 별 IDF값 계산
키워드 조회
NTF = 𝑇𝐹
해당기간 문서
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스
NTFIDF 계산 과정
데이터흐름
37. 2수행 내용
웹페이지키워드 관계망키워드 추천NLP크롤러데이터베이스
관계망 성립
A B
[{id:”원빈”,
date:…,rank: 1},
{id:”이나영”,
date:…,rank: 2},
…]
Keyword list
A
B
Create node
Article
Collection
Keyword
Collection
Keyword A Keyword B
기준
Keyword A
Article
id List
Keyword B
Article
id List
데이터흐름
41. 성공 기준목표 달성
3 평가
0
20
40
60
80
100
Keyword Relationship Recommand Collection Analysis
42. 성공 기준목표 달성
3 평가
서비스
분류
판단 기준 반영 비율 성공 기준 비고
서비스 성 유저 만족도 조사 40% 15 / 20 점
키워드 정확도 / 관계망 결과 만족 / 기능의 편의성 /
웹 페이지 디자인 만족 등의 항목으로 설문을 조사하
여 총 20점 만점에 전체 평균이 15점 이상이면 성공
으로 간주
NLP
모니터링 10% 100 / 100 %
큰 이슈에 대해서는 반드시 키워드를 나타내 주어야
한다.
오픈 기간 중 발생하는 이슈들을 모두 모니터링 하여
하나라도 빠짐없이 나타나면 성공으로 간주
동작시간 측정 20% 95 / 100 %
키워드를 추출하는데 걸리는 시간이 실제 키워드 추출
한 기간의 5% 이내면 성공
Ex) 3시간 이내 키워드 추출 시, 9분 이내로 추출하면
성공
키워드
관계망
연관 검색어 20% 80 / 100 %
중요 키워드에 대해서 연관 관계가 있다고 판단 되었
을 때 포털 사이트 검색 결과의 연관 검색어로 나타나
는 확률이 80% 이상이면 성공 (10개중 8개)
웹 서버 Request 처리 10% 130 / 200 점 http://tools.pingdom.com/fpt/
링크 테스트 결과가 faster than 30%인 경우
44. 추진 계획기대 효과
4향후 전망
사람들이 요즘 이야기하는 화제거리에 참여할 수 있는 기회
시장 분석이나 니즈를 파악하고 트렌드를 이끌고자 하는 사람들에게 인사이트 제공
여러 커뮤니티에서 정보를 얻던 사람들이 편리하게 사용 할 수 있음
커뮤니티에서의 인기 키워드 API를 제공하여 다양한 3rd party 서비스 파생
45. 추진 계획기대 효과
4향후 전망
키워드 관계망
Edge에 Value 추가
커뮤니티 별 키워드 제공
오픈소스화 계획
Relationship
Recommand Analysis
OpenSource
Keyword
키워드 관계망과 결합시킨
추천 시스템
트렌드의 흐름을 분석하여
통계자료 제공