SlideShare a Scribd company logo
[ Lots LAB ] AMI Team Project
  Entertainment Data Engine




                                han@hansh.kr
Chapter
    One


          Rinker?
검색엔진에서 인물검색을 하면?
방대하지만 틀에 박힌 결과물

                    뉴스
                  웹문서
                   블로그
                  동영상
                   카페
인물 정보 검색은?
답답하고, 딱딱하고, 수동적인…

경력
가족
수상경력
학력
신상
음악   드라마   영화   연예인




이슈        관계    분석     통계
Chapter
    Two
          Search
          Engine
WEB                                     Web Service                             End-user

 Internet                     Back-end                       Front-end            Desktop

            Web crawling                 Database        Search service
                                         RDB
                웹 크롤링                                       웹 인터페이스
NAVER         (Web crawling)                               (Web interface)
ZUM                                                                            Windows
M-NET                                                                          Mac OS
NATE
             Open API 크롤링                                    템플릿 엔진            Linux
Wikipedia   (Open API crawling)                           (Template engine)
                                          주 저장소
DAUM                                      (Main DB)                                 Tablet
JOINS                                                      검색유형 분석
….                                                         (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
Chapter
    Three
            WEB
          Crawling
HTML 분석
정해진 웹사이트의 스크랩한 웹 문서를 DOM(Document Object Model) 또는
정규표현식을 통하여 분석하고, 분석된 데이터를 미리 정해진 키 테이블(Key table)을
참고한 맵핑(Mapping) 과정을 거쳐서 임시 저장소에 저장된다.

            Crawling ( NodeJS application )                                                Key table

Source                   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                                     Repository
document
                                                      (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)
                                                               반복…
Person data




      37,333
Database



        TABLE 10
      COLUMN 300
      ROW 500,000
    VALUE 10,000,000
Real-Time Open API Data
Chapter
    Four
           Graph
           Index
Neo4j : Graph Database




          JAVA, HTTP/RETS, GPL, FULL ACID
Graph database model




               Relationship
     NODE                     NODE
Graph database model




                   Relationship
     NODE                           NODE
                     property
                      Key : value
    property                        property
     Key : value                    Key : value
node1
 name : 이민정
 type : 인물
 birth : 82-02-
16
                              node5                name : 한효주
                               name : 참쓰다          type : 인물
                               type     : 음악       birth : 87-02-
                               release : 82-02-   22
                              16                   node4




node2             node3
                                                      node4
 name : 이병헌        name : 광해
                                                       name : 추창민
 type : 인물         type     : 영화
                                                       type : 인물
 birth : 77-07-    runtime : 131
                                                       job   : 감독
12                분
node1
 name : 이민정                                 Relationship5
                                            type   : 음악
 type : 인물                                  role   : 아티스트
 birth : 82-02-
16
                                                            node5                           name : 한효주
                                                             name : 참쓰다                     type : 인물
                                                             type     : 음악                  birth : 87-02-
Relationship1
                                                             release : 82-02-              22
type : 이슈
name : 열애 사실 고백                                             16                              node4
news :
[ 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                                              분
node1
 name : 이민정                                 Relationship5
                                            type   : 음악
 type : 인물                                  role   : 아티스트
 birth : 82-02-
16
                                                            node5                           name : 한효주
                                                             name : 참쓰다                     type : 인물
                                                             type     : 음악                  birth : 87-02-
Relationship1
                                                             release : 82-02-              22
type : 이슈
name : 열애 사실 고백                                             16                              node4
news :
[ 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                                              분
node1
 name : 이민정                                 Relationship5
                                            type   : 음악
 type : 인물                                  role   : 아티스트
 birth : 82-02-
16

                                                            열애 사실 고백
                                                            node5
                                                             name : 참쓰다
                                                                                            name : 한효주
                                                                                            type : 인물
                                                             type     : 음악                  birth : 87-02-
Relationship1
                                                             release : 82-02-              22
type : 이슈
name : 열애 사실 고백                                             16                              node4
news :
[ 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                                              분
node1
 name : 이민정                                 Relationship5
                                            type   : 음악
 type : 인물                                  role   : 아티스트
 birth : 82-02-
16

                                                            열애 사실 고백
                                                            node5
                                                             name : 참쓰다
                                                                                            name : 한효주
                                                                                            type : 인물
                                                             type     : 음악                  birth : 87-02-
Relationship1
                                                             release : 82-02-              22
type : 이슈
name : 열애 사실 고백                                             16                              node4
news :
[ 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                                              분
node1
 name : 이민정                                 Relationship5
                                            type   : 음악
 type : 인물                                  role   : 아티스트
 birth : 82-02-
16

                                                            열애 사실 고백
                                                            node5
                                                             name : 참쓰다
                                                                                            name : 한효주
                                                                                            type : 인물
                                                             type     : 음악                  birth : 87-02-
Relationship1
                                                             release : 82-02-              22
type : 이슈
name : 열애 사실 고백                                             16                              node4
news :
[ 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                                              분
Chapter
     Five

      Technology
NodeJS : Server-side javascript




              Single thread
               Event loop
             Non-blocking
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)
템플릿 엔진
                              DESKTOP
                              .
                              ANDROID PHONE
                              ANDROID TABLET
                              .
                              IPHONE
                              IPAD
                              .
                              .

                         Device that supports web standards



  데이터


  데이터      탬플릿
         그래프, 테이블, 그리드
  데이터
Distributed systems




 Scale-Out
     Auto Saharding, Node.js cluster
Github
Chapter
     Six

           Rinker !
구현 서비스

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


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


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

 no                                     SEARCH


  node                  ex) 싸이


  node   key            ex) 싸이 나이

  node   node           ex) 싸이 강남스타일


  node   relationship   ex) 싸이 노래


   Natural language     ex) 싸이가 부른 노래
이슈 관계 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
자연어 검색 기능

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




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



      http://rinker.kr

More Related Content

Similar to Rinker 전시회 발표용 (1)

Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum DNA
 
엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화
Kenneth Ceyer
 
전공연구실 계획9
전공연구실 계획9전공연구실 계획9
전공연구실 계획9Seungho Han
 
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)Channy Yun
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대
DaeHeon Oh
 
[빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원][빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원]Jayoung Lim
 
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)Daum’s Business Analytics Use-cases based on Bigdata technology (2012)
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)Channy Yun
 
Cloud 기반 Big Data 분석 엔진 서비스
Cloud 기반 Big Data 분석 엔진 서비스Cloud 기반 Big Data 분석 엔진 서비스
Cloud 기반 Big Data 분석 엔진 서비스Jayoung Lim
 
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)Channy Yun
 
2012 빅데이터 big data 발표자료
2012 빅데이터 big data 발표자료2012 빅데이터 big data 발표자료
2012 빅데이터 big data 발표자료
Wooseung Kim
 
Spark_Overview_qna
Spark_Overview_qnaSpark_Overview_qna
Spark_Overview_qna현철 박
 
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
Channy Yun
 
Mongo db 최범균
Mongo db 최범균Mongo db 최범균
Mongo db 최범균
beom kyun choi
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵중선 곽
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기
Sunghyouk Bae
 
200819 NAVER TECH CONCERT 04_NDK로 안드로이드에 C++ 끼얹기
200819 NAVER TECH CONCERT 04_NDK로 안드로이드에 C++ 끼얹기200819 NAVER TECH CONCERT 04_NDK로 안드로이드에 C++ 끼얹기
200819 NAVER TECH CONCERT 04_NDK로 안드로이드에 C++ 끼얹기
NAVER Engineering
 
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발
cho hyun jong
 
Jco 소셜 빅데이터_20120218
Jco 소셜 빅데이터_20120218Jco 소셜 빅데이터_20120218
Jco 소셜 빅데이터_20120218
Hyoungjun Kim
 
Kasa 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처
Kasa 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처Kasa 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처
Kasa 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처kgun86
 
웹표준 프레임워크 메타웍스3의 적용 사례와 생산성
웹표준 프레임워크   메타웍스3의 적용 사례와 생산성웹표준 프레임워크   메타웍스3의 적용 사례와 생산성
웹표준 프레임워크 메타웍스3의 적용 사례와 생산성
영재 김
 

Similar to Rinker 전시회 발표용 (1) (20)

Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012Daum내부 Hadoop 활용 사례 | Devon 2012
Daum내부 Hadoop 활용 사례 | Devon 2012
 
엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화엔지니어 관점에서 바라본 데이터시각화
엔지니어 관점에서 바라본 데이터시각화
 
전공연구실 계획9
전공연구실 계획9전공연구실 계획9
전공연구실 계획9
 
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)
Daum 내부 빅데이터 및 클라우드 기술 활용 사례- 윤석찬 (2012)
 
Hadoop 제주대
Hadoop 제주대Hadoop 제주대
Hadoop 제주대
 
[빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원][빅데이터 컨퍼런스 전희원]
[빅데이터 컨퍼런스 전희원]
 
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)Daum’s Business Analytics Use-cases based on Bigdata technology (2012)
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)
 
Cloud 기반 Big Data 분석 엔진 서비스
Cloud 기반 Big Data 분석 엔진 서비스Cloud 기반 Big Data 분석 엔진 서비스
Cloud 기반 Big Data 분석 엔진 서비스
 
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)
클라우드 기반의 시맨틱 웹 검색 서비스 사례 (플랫폼데이 2010)
 
2012 빅데이터 big data 발표자료
2012 빅데이터 big data 발표자료2012 빅데이터 big data 발표자료
2012 빅데이터 big data 발표자료
 
Spark_Overview_qna
Spark_Overview_qnaSpark_Overview_qna
Spark_Overview_qna
 
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
2013 빅데이터 및 API 기술 현황과 전망- 윤석찬
 
Mongo db 최범균
Mongo db 최범균Mongo db 최범균
Mongo db 최범균
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기
 
200819 NAVER TECH CONCERT 04_NDK로 안드로이드에 C++ 끼얹기
200819 NAVER TECH CONCERT 04_NDK로 안드로이드에 C++ 끼얹기200819 NAVER TECH CONCERT 04_NDK로 안드로이드에 C++ 끼얹기
200819 NAVER TECH CONCERT 04_NDK로 안드로이드에 C++ 끼얹기
 
올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발올챙이로 살펴보는 Eclipse개발
올챙이로 살펴보는 Eclipse개발
 
Jco 소셜 빅데이터_20120218
Jco 소셜 빅데이터_20120218Jco 소셜 빅데이터_20120218
Jco 소셜 빅데이터_20120218
 
Kasa 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처
Kasa 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처Kasa 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처
Kasa 유연한 컨텐츠 개발을 위한 온라인 게임 아키텍처
 
웹표준 프레임워크 메타웍스3의 적용 사례와 생산성
웹표준 프레임워크   메타웍스3의 적용 사례와 생산성웹표준 프레임워크   메타웍스3의 적용 사례와 생산성
웹표준 프레임워크 메타웍스3의 적용 사례와 생산성
 

More from Seungho Han

REST API SDK Generator - 한승호@에멘탈
REST API SDK Generator - 한승호@에멘탈REST API SDK Generator - 한승호@에멘탈
REST API SDK Generator - 한승호@에멘탈
Seungho Han
 
Monorepo with Lerna - 한승호@에멘탈
Monorepo with Lerna - 한승호@에멘탈Monorepo with Lerna - 한승호@에멘탈
Monorepo with Lerna - 한승호@에멘탈
Seungho Han
 
Typescript 개발 문화 - 한승호@에멘탈
Typescript 개발 문화 - 한승호@에멘탈Typescript 개발 문화 - 한승호@에멘탈
Typescript 개발 문화 - 한승호@에멘탈
Seungho Han
 
AWS X-Ray를 활용한 서비스 건강검진- 한승호@에멘탈
AWS X-Ray를 활용한 서비스 건강검진- 한승호@에멘탈AWS X-Ray를 활용한 서비스 건강검진- 한승호@에멘탈
AWS X-Ray를 활용한 서비스 건강검진- 한승호@에멘탈
Seungho Han
 
사이버상의 인간관계
사이버상의 인간관계사이버상의 인간관계
사이버상의 인간관계Seungho Han
 
전공연구실 계획8
전공연구실 계획8전공연구실 계획8
전공연구실 계획8Seungho Han
 
전공연구실 계획7
전공연구실 계획7전공연구실 계획7
전공연구실 계획7Seungho Han
 
전공연구실 계획6
전공연구실 계획6전공연구실 계획6
전공연구실 계획6Seungho Han
 
전공연구실 계획5
전공연구실 계획5전공연구실 계획5
전공연구실 계획5Seungho Han
 
전공연구실 계획4
전공연구실 계획4전공연구실 계획4
전공연구실 계획4Seungho Han
 
전공연구실 계획3
전공연구실 계획3전공연구실 계획3
전공연구실 계획3Seungho Han
 
전공연구실 계획2
전공연구실 계획2전공연구실 계획2
전공연구실 계획2Seungho Han
 
[Web tutoring]CMS를 통한 웹사이트 제작
[Web tutoring]CMS를 통한 웹사이트 제작[Web tutoring]CMS를 통한 웹사이트 제작
[Web tutoring]CMS를 통한 웹사이트 제작
Seungho Han
 
webstudy jquery
webstudy jquerywebstudy jquery
webstudy jquery
Seungho Han
 
웹개발도구
웹개발도구웹개발도구
웹개발도구
Seungho Han
 

More from Seungho Han (16)

REST API SDK Generator - 한승호@에멘탈
REST API SDK Generator - 한승호@에멘탈REST API SDK Generator - 한승호@에멘탈
REST API SDK Generator - 한승호@에멘탈
 
Monorepo with Lerna - 한승호@에멘탈
Monorepo with Lerna - 한승호@에멘탈Monorepo with Lerna - 한승호@에멘탈
Monorepo with Lerna - 한승호@에멘탈
 
Typescript 개발 문화 - 한승호@에멘탈
Typescript 개발 문화 - 한승호@에멘탈Typescript 개발 문화 - 한승호@에멘탈
Typescript 개발 문화 - 한승호@에멘탈
 
AWS X-Ray를 활용한 서비스 건강검진- 한승호@에멘탈
AWS X-Ray를 활용한 서비스 건강검진- 한승호@에멘탈AWS X-Ray를 활용한 서비스 건강검진- 한승호@에멘탈
AWS X-Ray를 활용한 서비스 건강검진- 한승호@에멘탈
 
사이버상의 인간관계
사이버상의 인간관계사이버상의 인간관계
사이버상의 인간관계
 
전공연구실 계획8
전공연구실 계획8전공연구실 계획8
전공연구실 계획8
 
개발자와 Ux
개발자와 Ux개발자와 Ux
개발자와 Ux
 
전공연구실 계획7
전공연구실 계획7전공연구실 계획7
전공연구실 계획7
 
전공연구실 계획6
전공연구실 계획6전공연구실 계획6
전공연구실 계획6
 
전공연구실 계획5
전공연구실 계획5전공연구실 계획5
전공연구실 계획5
 
전공연구실 계획4
전공연구실 계획4전공연구실 계획4
전공연구실 계획4
 
전공연구실 계획3
전공연구실 계획3전공연구실 계획3
전공연구실 계획3
 
전공연구실 계획2
전공연구실 계획2전공연구실 계획2
전공연구실 계획2
 
[Web tutoring]CMS를 통한 웹사이트 제작
[Web tutoring]CMS를 통한 웹사이트 제작[Web tutoring]CMS를 통한 웹사이트 제작
[Web tutoring]CMS를 통한 웹사이트 제작
 
webstudy jquery
webstudy jquerywebstudy jquery
webstudy jquery
 
웹개발도구
웹개발도구웹개발도구
웹개발도구
 

Rinker 전시회 발표용 (1)

  • 1. [ Lots LAB ] AMI Team Project Entertainment Data Engine han@hansh.kr
  • 2. Chapter One Rinker?
  • 4. 방대하지만 틀에 박힌 결과물 뉴스 웹문서 블로그 동영상 카페
  • 7. 음악 드라마 영화 연예인 이슈 관계 분석 통계
  • 8. Chapter Two Search Engine
  • 9. WEB Web Service End-user Internet Back-end Front-end Desktop Web crawling Database Search service RDB 웹 크롤링 웹 인터페이스 NAVER (Web crawling) (Web interface) ZUM Windows M-NET Mac OS NATE Open API 크롤링 템플릿 엔진 Linux Wikipedia (Open API crawling) (Template engine) 주 저장소 DAUM (Main DB) Tablet JOINS 검색유형 분석 …. (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. Chapter Three WEB Crawling
  • 11. HTML 분석 정해진 웹사이트의 스크랩한 웹 문서를 DOM(Document Object Model) 또는 정규표현식을 통하여 분석하고, 분석된 데이터를 미리 정해진 키 테이블(Key table)을 참고한 맵핑(Mapping) 과정을 거쳐서 임시 저장소에 저장된다. Crawling ( NodeJS application ) Key table Source 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 Repository document (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. Person data 37,333
  • 13. Database TABLE 10 COLUMN 300 ROW 500,000 VALUE 10,000,000
  • 15. Chapter Four Graph Index
  • 16. Neo4j : Graph Database JAVA, HTTP/RETS, GPL, FULL ACID
  • 17. Graph database model Relationship NODE NODE
  • 18. Graph database model Relationship NODE NODE property Key : value property property Key : value Key : value
  • 19.
  • 20. node1 name : 이민정 type : 인물 birth : 82-02- 16 node5 name : 한효주 name : 참쓰다 type : 인물 type : 음악 birth : 87-02- release : 82-02- 22 16 node4 node2 node3 node4 name : 이병헌 name : 광해 name : 추창민 type : 인물 type : 영화 type : 인물 birth : 77-07- runtime : 131 job : 감독 12 분
  • 21. node1 name : 이민정 Relationship5 type : 음악 type : 인물 role : 아티스트 birth : 82-02- 16 node5 name : 한효주 name : 참쓰다 type : 인물 type : 음악 birth : 87-02- Relationship1 release : 82-02- 22 type : 이슈 name : 열애 사실 고백 16 node4 news : [ 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 분
  • 22. node1 name : 이민정 Relationship5 type : 음악 type : 인물 role : 아티스트 birth : 82-02- 16 node5 name : 한효주 name : 참쓰다 type : 인물 type : 음악 birth : 87-02- Relationship1 release : 82-02- 22 type : 이슈 name : 열애 사실 고백 16 node4 news : [ 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. node1 name : 이민정 Relationship5 type : 음악 type : 인물 role : 아티스트 birth : 82-02- 16 열애 사실 고백 node5 name : 참쓰다 name : 한효주 type : 인물 type : 음악 birth : 87-02- Relationship1 release : 82-02- 22 type : 이슈 name : 열애 사실 고백 16 node4 news : [ 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. node1 name : 이민정 Relationship5 type : 음악 type : 인물 role : 아티스트 birth : 82-02- 16 열애 사실 고백 node5 name : 참쓰다 name : 한효주 type : 인물 type : 음악 birth : 87-02- Relationship1 release : 82-02- 22 type : 이슈 name : 열애 사실 고백 16 node4 news : [ 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. node1 name : 이민정 Relationship5 type : 음악 type : 인물 role : 아티스트 birth : 82-02- 16 열애 사실 고백 node5 name : 참쓰다 name : 한효주 type : 인물 type : 음악 birth : 87-02- Relationship1 release : 82-02- 22 type : 이슈 name : 열애 사실 고백 16 node4 news : [ 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 분
  • 26. Chapter Five Technology
  • 27. NodeJS : Server-side javascript Single thread Event loop Non-blocking
  • 28. 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)
  • 29. 템플릿 엔진 DESKTOP . ANDROID PHONE ANDROID TABLET . IPHONE IPAD . . Device that supports web standards 데이터 데이터 탬플릿 그래프, 테이블, 그리드 데이터
  • 30. Distributed systems Scale-Out Auto Saharding, Node.js cluster
  • 32. Chapter Six Rinker !
  • 33. 구현 서비스 - 3만 7천 명의 연예인 데이터와 관련 콘텐츠 보유 - 자연어 검색 지원 ( 2012년도 한국멀티미디어학회 추계학술발표대회 참가 ) - N-스크린( PC, 태블릿, 스마트폰… 등 )에 대응하는 반응형 인터페이스 - 웹과 OpenAPI ( Twitter, YouTube… 등 )의 데이터를 수집 - 데이터를 다양한 템플릿( 다이나믹 그리드, 그래프, 차트, 테이 블 )으로 표현
  • 34. 인물 인물 이미지와 인물 정보를 표현 영화 영화 포스터 영화 콘텐츠를 표현 음악 앨범 자켓 형태로 음악 콘텐츠를 표현
  • 35. Best Question pattern no SEARCH node ex) 싸이 node key ex) 싸이 나이 node node ex) 싸이 강남스타일 node relationship ex) 싸이 노래 Natural language ex) 싸이가 부른 노래
  • 36. 이슈 관계 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
  • 37. 자연어 검색 기능 아이유랑 혈액형이 같은 연예인 “아이유”- 명사 “랑”- 조사 “혈액형”- 명사 “이”- 조사 “같은”- 동사 “연예인”-명사
  • 39. Getting Started http://rinker.kr