Rinker 전시회 발표용 (1)

952 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
952
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Rinker 전시회 발표용 (1)

  1. 1. [ Lots LAB ] AMI Team Project Entertainment Data Engine han@hansh.kr
  2. 2. Chapter One Rinker?
  3. 3. 검색엔진에서 인물검색을 하면?
  4. 4. 방대하지만 틀에 박힌 결과물 뉴스 웹문서 블로그 동영상 카페
  5. 5. 인물 정보 검색은?
  6. 6. 답답하고, 딱딱하고, 수동적인…경력가족수상경력학력신상
  7. 7. 음악 드라마 영화 연예인이슈 관계 분석 통계
  8. 8. Chapter Two Search Engine
  9. 9. WEB Web Service End-user Internet Back-end Front-end Desktop Web crawling Database Search service RDB 웹 크롤링 웹 인터페이스NAVER (Web crawling) (Web interface)ZUM WindowsM-NET Mac OSNATE Open API 크롤링 템플릿 엔진 LinuxWikipedia (Open API crawling) (Template engine) 주 저장소DAUM (Main DB) TabletJOINS 검색유형 분석…. (Query pattern 키 테이블 (Key table) analysis)Open API 맵핑 모듈 임시 저장소 (Mapping module) Open API 모듈 iPAD (Repository) (Open API module) Android tablet Win8 tablet 데이터 가공 Graph DB (Data Processing) 자연어 분석 Smart phone (Natural language analysis ) 그래프 색인 변환 그래프 색인 (Graph index (Graph Index) SQL 변환기 Transform) (SQL Transform) iPhone Android phone
  10. 10. Chapter Three WEB Crawling
  11. 11. HTML 분석정해진 웹사이트의 스크랩한 웹 문서를 DOM(Document Object Model) 또는정규표현식을 통하여 분석하고, 분석된 데이터를 미리 정해진 키 테이블(Key table)을참고한 맵핑(Mapping) 과정을 거쳐서 임시 저장소에 저장된다. Crawling ( NodeJS application ) Key tableSource Text recoding Parsing Mapping Database DOM Parser (node-jsdom) Mapping recoding module HTML (node-iconv) HTML JSON Regular ( 자체 제작 ) Web (Binary) (UTF-8) (UTF-8) expression Repositorydocument (node-xregxp) (MySQL) (HTML) 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) 반복…
  12. 12. Person data 37,333
  13. 13. Database TABLE 10 COLUMN 300 ROW 500,000 VALUE 10,000,000
  14. 14. Real-Time Open API Data
  15. 15. Chapter Four Graph Index
  16. 16. Neo4j : Graph Database JAVA, HTTP/RETS, GPL, FULL ACID
  17. 17. Graph database model Relationship NODE NODE
  18. 18. Graph database model Relationship NODE NODE property Key : value property property Key : value Key : value
  19. 19. node1 name : 이민정 type : 인물 birth : 82-02-16 node5 name : 한효주 name : 참쓰다 type : 인물 type : 음악 birth : 87-02- release : 82-02- 22 16 node4node2 node3 node4 name : 이병헌 name : 광해 name : 추창민 type : 인물 type : 영화 type : 인물 birth : 77-07- runtime : 131 job : 감독12 분
  20. 20. node1 name : 이민정 Relationship5 type : 음악 type : 인물 role : 아티스트 birth : 82-02-16 node5 name : 한효주 name : 참쓰다 type : 인물 type : 음악 birth : 87-02-Relationship1 release : 82-02- 22type : 이슈name : 열애 사실 고백 16 node4news :[ title : 이민정은 왜 띠동갑 이병헌에게 끌렸을까? url : http://hotissue.com/23423/23 ] Relationship3 type : 주연 role : 중전 Relationship2 type : 주연 role : 광해/하선 Relationship4 type : 제작 role : 감독node2 node3 node4 name : 이병헌 name : 광해 name : 추창민 type : 인물 type : 영화 type : 인물 birth : 77-07- runtime : 131 job : 감독12 분
  21. 21. node1 name : 이민정 Relationship5 type : 음악 type : 인물 role : 아티스트 birth : 82-02-16 node5 name : 한효주 name : 참쓰다 type : 인물 type : 음악 birth : 87-02-Relationship1 release : 82-02- 22type : 이슈name : 열애 사실 고백 16 node4news :[ title : 이민정은 왜 띠동갑 이병헌에게 끌렸을까? url : http://hotissue.com/23423/23 ] Relationship3 type : 주연 role : 중전 Relationship2 type : 주연 role : 광해/하선 Relationship4 type : 제작 role : 감독node2 node3 node4 name : 이병헌 name : 광해 name : 추창민 type : 인물 type : 영화 type : 인물 birth : 97-07- runtime : 131 job : 감독12 분
  22. 22. node1 name : 이민정 Relationship5 type : 음악 type : 인물 role : 아티스트 birth : 82-02-16 열애 사실 고백 node5 name : 참쓰다 name : 한효주 type : 인물 type : 음악 birth : 87-02-Relationship1 release : 82-02- 22type : 이슈name : 열애 사실 고백 16 node4news :[ title : 이민정은 왜 띠동갑 이병헌에게 끌렸을까? url : http://hotissue.com/23423/23 ] Relationship3 type : 주연 role : 중전 Relationship2 type : 주연 role : 광해/하선 Relationship4 type : 제작 role : 감독node2 node3 node4 name : 이병헌 name : 광해 name : 추창민 type : 인물 type : 영화 type : 인물 birth : 97-07- runtime : 131 job : 감독12 분
  23. 23. node1 name : 이민정 Relationship5 type : 음악 type : 인물 role : 아티스트 birth : 82-02-16 열애 사실 고백 node5 name : 참쓰다 name : 한효주 type : 인물 type : 음악 birth : 87-02-Relationship1 release : 82-02- 22type : 이슈name : 열애 사실 고백 16 node4news :[ title : 이민정은 왜 띠동갑 이병헌에게 끌렸을까? url : http://hotissue.com/23423/23 ] 두 연예인의 비교 비슷한 연예인 예상커플 Relationship3 type : 주연 role : 중전 Relationship2 type : 주연 role : 광해/하선 Relationship4 type : 제작 role : 감독node2 node3 node4 name : 이병헌 name : 광해 name : 추창민 type : 인물 type : 영화 type : 인물 birth : 97-07- runtime : 131 job : 감독12 분
  24. 24. node1 name : 이민정 Relationship5 type : 음악 type : 인물 role : 아티스트 birth : 82-02-16 열애 사실 고백 node5 name : 참쓰다 name : 한효주 type : 인물 type : 음악 birth : 87-02-Relationship1 release : 82-02- 22type : 이슈name : 열애 사실 고백 16 node4news :[ title : 이민정은 왜 띠동갑 이병헌에게 끌렸을까? url : http://hotissue.com/23423/23 ] 두 연예인의 비교 비슷한 연예인 예상커플 Relationship3 type : 주연 role : 중전 Relationship2 type : 주연 role : 광해/하선 Relationship4 예상 커플의 정보비교 type : 제작 role : 감독node2 node3 node4 name : 이병헌 name : 광해 name : 추창민 type : 인물 type : 영화 type : 인물 birth : 97-07- runtime : 131 job : 감독12 분
  25. 25. Chapter Five Technology
  26. 26. NodeJS : Server-side javascript Single thread Event loop Non-blocking
  27. 27. Open API NodeJS application (Back-end) HTML, CSS, JS (Front-end) * 부호 설명 Twitter API Open API Layout foundation 주요 기능 OAuth Open API Bootstrap ( 모듈 ) Facebook API (passport) Connect jQuery plug-in 플러그인 & API NAVER API Web application View Template rinker.ui.js framework (express) DAUM API HTML Template jquery.antiscrool.js 자체제작 모듈 (jade) HTTP server, jquery.actual.js NATE API Route (express) CSS Template jquery.qtip.js 자체제작 모듈 (stylus)Database … Neo4J Database client Network Search form Neo4J Web Socket (node-neo4j) (socket.io) rinker.search.js Graph DB MySQL MySQL Socket Auto complete (node-mysql) (net) (jquery.TextExt.js) Main DB Natural language analysis Test module Browser emulation Natural language Socket (Zomzie) analysis (C#) (winsock) Test famework Repository DB (Mocha)
  28. 28. 템플릿 엔진 DESKTOP . ANDROID PHONE ANDROID TABLET . IPHONE IPAD . . Device that supports web standards 데이터 데이터 탬플릿 그래프, 테이블, 그리드 데이터
  29. 29. Distributed systems Scale-Out Auto Saharding, Node.js cluster
  30. 30. Github
  31. 31. Chapter Six Rinker !
  32. 32. 구현 서비스- 3만 7천 명의 연예인 데이터와 관련 콘텐츠 보유- 자연어 검색 지원 ( 2012년도 한국멀티미디어학회 추계학술발표대회 참가 )- N-스크린( PC, 태블릿, 스마트폰… 등 )에 대응하는 반응형 인터페이스- 웹과 OpenAPI ( Twitter, YouTube… 등 )의 데이터를 수집- 데이터를 다양한 템플릿( 다이나믹 그리드, 그래프, 차트, 테이 블 )으로 표현
  33. 33. 인물 인물 이미지와 인물 정보를 표현영화 영화 포스터 영화 콘텐츠를 표현음악 앨범 자켓 형태로 음악 콘텐츠를 표현
  34. 34. Best Question pattern no SEARCH node ex) 싸이 node key ex) 싸이 나이 node node ex) 싸이 강남스타일 node relationship ex) 싸이 노래 Natural language ex) 싸이가 부른 노래
  35. 35. 이슈 관계 Open API 활용 아이유 열애설 SEARCH Graph index Real-time data 출연 아이유 Relationship 인물 Open API NODE NODE 아이유 열애설 - Google news API 아이유 열애설 - Naver news API 인물 이이유 열애설 - Daum news API NODE 인물 이이유 열애설 - YouTube data API NODE 이이유 열애설 - Twitter search API
  36. 36. 자연어 검색 기능 아이유랑 혈액형이 같은 연예인 “아이유”- 명사 “랑”- 조사 “혈액형”- 명사 “이”- 조사 “같은”- 동사 “연예인”-명사
  37. 37. Service layout
  38. 38. Getting Started http://rinker.kr

×