2012년 2월 29일 수요일

Twitter4j 와 Esper를 이용한 타임라인 분석 기법

최근 구독한 Article에서 Twitter4j와 Esper(Complex Event Processing analytic tool)을 이용하여 Twitter 상에서 발생한는 Data feed에서 의미있는 정보를 도출하는 아이디어가 있어 정리해봅니다.

Esper는 CEP 분석 도구로는 가장 좋은 평가를 받고 있습니다. GPL 라이센스 적용을 받고 있어서 이를 이용한 sofeware는 모두 Open source로 공개 되어야 합니다. 저에게는 이게 발목을 잡아서 사용하지 못하였습니다.

Article의 목적은

*Twitter 타임라인에 행복한 사람이 얼마나 많은지 찾아본다.

타임라인에 “Happy” 글이 얼마나 자주 올라 오는지 알아봅니다. 복잡할건 하나도 없습니다. Esper가 다 해줍니다.

CEP을 이해하기 위해서는 Window라는 개념을 알아야 합니다. 간단하게 설명해 보기로 하겠습니다.

지금 밖에는 2줄기 비가 내립니다.
한 줄기는 시간 입니다.(초 단위)
다른 한줄기는 Twitter의 글들입니다.

1. 나는 지금 밖이 보고 싶어서 벽에 다가 창문을 뚫으려고 합니다.
2. 창문 높이는 2초 쯤 되고, 넓이는 2줄기 비를 볼 수 있을 정도를 뚫습니다.
3. 뚫린 창문으로 내리는 비를 지켜 봅니다.
4. 창문으로 보이는 Twitter 글 중에 “Happy” 라는 단어가 2번 이상 보입니다.
5. 사람들이 행복하다고 판단합니다.

위의 벽에 뚫린 창문이 CEP에서 Window라고 합니다. 밖에서 내리는 수많은 Event 중에서
내가 원하는 것만 보기 위해서 뚫어둔 창문입니다.

Esper에서는 창문을 뚫고 지켜보는 행동을 SQL 문장과 비슷하게 정의해서 등록하게 됩니다. 아래처럼.

select user, sum(ctr) from com.sybase.simple.HappyMessage.win:time(10 seconds) having sum(ctr) > 2


그런데 중요한 맹점이 하나 있는데. 아래 두 문장에 모두 “happy”가 들어가지만 의미는 반대라는 겁니다. 이런 문제는 문장 의미분석이 필요한 부분이겠습니다.

-> I'm happy.
-> I'm not happy.


보다 자세한 내용은 원문 전체를 읽어보시기 바랍니다.

원문 보기

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...