rinker 전시회 발표용 (1)

39
[email protected] [ Lots LAB ] AMI Team Project Entertainment Data Engine

Upload: han-seung-ho

Post on 01-Jun-2015

332 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Rinker 전시회 발표용 (1)

[email protected]

[ Lots LAB ] AMI Team Project Entertainment Data Engine

Page 2: Rinker 전시회 발표용 (1)

One Chapter

Rinker?

Page 3: Rinker 전시회 발표용 (1)

검색엔진에서 인물검색을 하면?

Page 4: Rinker 전시회 발표용 (1)

방대하지만 틀에 박힌 결과물

뉴스 웹문서 블로그 동영상 카페

Page 5: Rinker 전시회 발표용 (1)

인물 정보 검색은?

Page 6: Rinker 전시회 발표용 (1)

답답하고, 딱딱하고, 수동적인…

경력 가족 수상경력 학력 신상

Page 7: Rinker 전시회 발표용 (1)

연예인 영화 드라마 음악

이슈 관계 분석 통계

Page 8: Rinker 전시회 발표용 (1)

Two Chapter

Search Engine

Page 9: Rinker 전시회 발표용 (1)

Desktop

Windows Mac OS Linux

Smart phone

iPhone Android phone

RDB

Graph DB

Internet

NAVER ZUM M-NET NATE Wikipedia DAUM JOINS ….

WEB End-user

Front-end Back-end

Web Service

Tablet

iPAD Android tablet Win8 tablet

Open API

Web crawling Database Search service

자연어 분석 (Natural language

analysis )

SQL 변환기 (SQL Transform)

Open API 모듈 (Open API module)

웹 크롤링 (Web crawling)

Open API 크롤링 (Open API crawling)

키 테이블 (Key table)

맵핑 모듈 (Mapping module)

데이터 가공 (Data Processing)

그래프 색인 변환 (Graph index Transform)

검색유형 분석 (Query pattern

analysis)

템플릿 엔진 (Template engine)

웹 인터페이스 (Web interface)

주 저장소 (Main DB)

임시 저장소 (Repository)

그래프 색인 (Graph Index)

Page 10: Rinker 전시회 발표용 (1)

Three Chapter

WEB Crawling

Page 11: Rinker 전시회 발표용 (1)

Regular expression

(node-xregxp)

Key table Crawling ( NodeJS application )

HTML (Binary)

Parsing

recoding (node-iconv)

DOM Parser (node-jsdom)

Mapping module

( 자체 제작 )

Mapping

HTML (UTF-8)

JSON (UTF-8)

Text recoding

Repository (MySQL)

Database

Web document (HTML)

Source

HTML 분석

정해진 웹사이트의 스크랩한 웹 문서를 DOM(Document Object Model) 또는 정규표현식을 통하여 분석하고, 분석된 데이터를 미리 정해진 키 테이블(Key table)을 참고한 맵핑(Mapping) 과정을 거쳐서 임시 저장소에 저장된다.

key meaning Format

name ‘이름’ Text (String)

real_name ‘본명’, ‘실명’, ‘진짜 이름’ Text (String)

Birth ‘생일’, ‘출생일’, ‘출생’ YYYY ‘년’ MM ‘월’ DD ‘일’ (Date)

Job ‘직장’, ‘직업’ Text, Text, Text (Array)

Team ‘소속그룹’, ‘소속팀’, ‘팀’, ‘그룹’ Text, Text, Text (Array)

Agency ‘소속사’, ‘소속’, ‘회사’ Text, Text, Text (Array)

Review ‘데뷔’, ‘첫출연’ Date, Text (Array)

반복…

Page 12: Rinker 전시회 발표용 (1)

Person data

37,333

Page 13: Rinker 전시회 발표용 (1)

Database

TABLE 10 COLUMN 300 ROW 500,000

VALUE 10,000,000

Page 14: Rinker 전시회 발표용 (1)

Real-Time Open API Data

Page 15: Rinker 전시회 발표용 (1)

Four Chapter

Graph Index

Page 16: Rinker 전시회 발표용 (1)

Neo4j : Graph Database

JAVA, HTTP/RETS, GPL, FULL ACID

Page 17: Rinker 전시회 발표용 (1)

Graph database model

NODE NODE Relationship

Page 18: Rinker 전시회 발표용 (1)

Graph database model

NODE NODE Relationship

property Key : value

property Key : value

property Key : value

Page 19: Rinker 전시회 발표용 (1)
Page 20: Rinker 전시회 발표용 (1)

node3 name : 광해 type : 영화 runtime : 131분

node2 name : 이병헌 type : 인물 birth : 77-07-12

node1 name : 이민정 type : 인물 birth : 82-02-16

name : 한효주 type : 인물 birth : 87-02-22 node4

node4 name : 추창민 type : 인물 job : 감독

node5 name : 참쓰다 type : 음악 release : 82-02-16

Page 21: Rinker 전시회 발표용 (1)

node3 name : 광해 type : 영화 runtime : 131분

node2 name : 이병헌 type : 인물 birth : 77-07-12

Relationship1

type : 이슈 name : 열애 사실 고백 news : [ title : 이민정은 왜 띠동갑 이병헌에게 끌렸을까? url : http://hotissue.com/23423/23 ]

node1 name : 이민정 type : 인물 birth : 82-02-16

Relationship2

type : 주연 role : 광해/하선

name : 한효주 type : 인물 birth : 87-02-22 node4

Relationship3 type : 주연 role : 중전

Relationship4

type : 제작 role : 감독

node4 name : 추창민 type : 인물 job : 감독

Relationship5

type : 음악 role : 아티스트

node5 name : 참쓰다 type : 음악 release : 82-02-16

Page 22: Rinker 전시회 발표용 (1)

node3 name : 광해 type : 영화 runtime : 131분

node2 name : 이병헌 type : 인물 birth : 97-07-12

Relationship1

type : 이슈 name : 열애 사실 고백 news : [ title : 이민정은 왜 띠동갑 이병헌에게 끌렸을까? url : http://hotissue.com/23423/23 ]

node1 name : 이민정 type : 인물 birth : 82-02-16

Relationship2

type : 주연 role : 광해/하선

name : 한효주 type : 인물 birth : 87-02-22 node4

Relationship3

type : 주연 role : 중전

Relationship4

type : 제작 role : 감독

node4 name : 추창민 type : 인물 job : 감독

Relationship5

type : 음악 role : 아티스트

node5 name : 참쓰다 type : 음악 release : 82-02-16

Page 23: Rinker 전시회 발표용 (1)

node3 name : 광해 type : 영화 runtime : 131분

node2 name : 이병헌 type : 인물 birth : 97-07-12

Relationship1

type : 이슈 name : 열애 사실 고백 news : [ title : 이민정은 왜 띠동갑 이병헌에게 끌렸을까? url : http://hotissue.com/23423/23 ]

node1 name : 이민정 type : 인물 birth : 82-02-16

Relationship2

type : 주연 role : 광해/하선

name : 한효주 type : 인물 birth : 87-02-22 node4

Relationship3

type : 주연 role : 중전

Relationship4

type : 제작 role : 감독

node4 name : 추창민 type : 인물 job : 감독

Relationship5

type : 음악 role : 아티스트

node5 name : 참쓰다 type : 음악 release : 82-02-16

열애 사실 고백

Page 24: Rinker 전시회 발표용 (1)

node3 name : 광해 type : 영화 runtime : 131분

node2 name : 이병헌 type : 인물 birth : 97-07-12

Relationship1

type : 이슈 name : 열애 사실 고백 news : [ title : 이민정은 왜 띠동갑 이병헌에게 끌렸을까? url : http://hotissue.com/23423/23 ]

node1 name : 이민정 type : 인물 birth : 82-02-16

Relationship2

type : 주연 role : 광해/하선

name : 한효주 type : 인물 birth : 87-02-22 node4

Relationship3

type : 주연 role : 중전

Relationship4

type : 제작 role : 감독

node4 name : 추창민 type : 인물 job : 감독

Relationship5

type : 음악 role : 아티스트

node5 name : 참쓰다 type : 음악 release : 82-02-16

열애 사실 고백

두 연예인의 비교

비슷한 연예인 예상커플

Page 25: Rinker 전시회 발표용 (1)

node3 name : 광해 type : 영화 runtime : 131분

node2 name : 이병헌 type : 인물 birth : 97-07-12

Relationship1

type : 이슈 name : 열애 사실 고백 news : [ title : 이민정은 왜 띠동갑 이병헌에게 끌렸을까? url : http://hotissue.com/23423/23 ]

node1 name : 이민정 type : 인물 birth : 82-02-16

Relationship2

type : 주연 role : 광해/하선

name : 한효주 type : 인물 birth : 87-02-22 node4

Relationship3

type : 주연 role : 중전

Relationship4

type : 제작 role : 감독

node4 name : 추창민 type : 인물 job : 감독

Relationship5

type : 음악 role : 아티스트

node5 name : 참쓰다 type : 음악 release : 82-02-16

열애 사실 고백

두 연예인의 비교

비슷한 연예인 예상커플

예상 커플의 정보비교

Page 26: Rinker 전시회 발표용 (1)

Technology

Five Chapter

Page 27: Rinker 전시회 발표용 (1)

NodeJS : Server-side javascript

Single thread

Event loop

Non-blocking

Page 28: Rinker 전시회 발표용 (1)

Neo4J (node-neo4j)

NodeJS application (Back-end)

Database client

HTTP server, Route

(express)

MySQL (node-mysql)

HTML Template (jade)

Web application framework (express)

MySQL

Database

View Template

CSS Template (stylus)

HTML, CSS, JS (Front-end) Open API

jQuery plug-in

Search form Network

Web Socket (socket.io)

Socket (net)

Natural language analysis

Graph DB

Neo4J

rinker.search.js

Socket (winsock)

Natural language analysis (C#)

rinker.ui.js

jquery.antiscrool.js

jquery.actual.js

jquery.qtip.js

Twitter API Open API

Open API Connect

OAuth (passport)

Test module

Auto complete (jquery.TextExt.js)

Layout foundation

Bootstrap

Browser emulation (Zomzie)

Test famework (Mocha)

Facebook API

플러그인 & API

DAUM API

NATE API

Main DB

Repository DB

주요 기능 ( 모듈 )

자체제작 모듈

* 부호 설명

자체제작 모듈

NAVER API

Page 29: Rinker 전시회 발표용 (1)

탬플릿

그래프, 테이블, 그리드

데이터

데이터

데이터

템플릿 엔진

DESKTOP . ANDROID PHONE ANDROID TABLET . IPHONE IPAD . .

Device that supports web standards

Page 30: Rinker 전시회 발표용 (1)

Distributed systems

Scale-Out

Auto Saharding, Node.js cluster

Page 31: Rinker 전시회 발표용 (1)

Github

Page 32: Rinker 전시회 발표용 (1)

Rinker !

Six Chapter

Page 33: Rinker 전시회 발표용 (1)

구현 서비스 - 3만 7천 명의 연예인 데이터와 관련 콘텐츠 보유 - 자연어 검색 지원 ( 2012년도 한국멀티미디어학회 추계학술발표대회 참가 ) - N-스크린( PC, 태블릿, 스마트폰… 등 )에 대응하는 반응형 인터페이스 - 웹과 OpenAPI ( Twitter, YouTube… 등 )의 데이터를 수집 - 데이터를 다양한 템플릿( 다이나믹 그리드, 그래프, 차트, 테이블 )으로 표현

Page 34: Rinker 전시회 발표용 (1)

음악

영화

인물

앨범 자켓 형태로 음악 콘텐츠를 표현

영화 포스터 영화 콘텐츠를 표현

인물 이미지와 인물 정보를 표현

Page 35: Rinker 전시회 발표용 (1)

Best Question pattern

SEARCH

node ex) 싸이

node key ex) 싸이 나이

node ex) 싸이 강남스타일

node relationship ex) 싸이 노래

no

Natural language ex) 싸이가 부른 노래

node

Page 36: Rinker 전시회 발표용 (1)

아이유 열애설 - Google news API

아이유 열애설 - Naver news API

이이유 열애설 - Daum news API

이이유 열애설 - YouTube data API

이이유 열애설 - Twitter search API

Open API 출연

Relationship 아이유 NODE

인물 NODE

인물 NODE

인물 NODE

Graph index Real-time data

아이유 열애설 SEARCH

이슈 관계 Open API 활용

Page 37: Rinker 전시회 발표용 (1)

아이유랑 혈액형이 같은 연예인

“아이유”- 명사 “랑”- 조사 “혈액형”- 명사 “이”- 조사 “같은”- 동사 “연예인”-명사

자연어 검색 기능

Page 38: Rinker 전시회 발표용 (1)

Service layout

Page 39: Rinker 전시회 발표용 (1)

Started Getting

http://rinker.kr