Chris Choi's Blog

Posts Tagged ‘트위터

Twitter

leave a comment »

Written by Chris Choi

April 18, 2016 at 5:34 pm

Posted in Communication

Tagged with ,

Twitter Stream 분석

with one comment

 

Twitter API를 이용해 Twitter Stream을 분석한다.

 

Development Environment

다음의 Software를 이용해 분석을 진행한다.

 

  • Python
  • IntelliJ IDEA
  • TwitterSearch Library for Python
  • MongoDB
  • R

 

Python을 설치한다.

Twitter Stream 분석_Image 1.png

[Image 1. Python을 Download 한다. 출처: Python (http://www.python.org/download/)]

 

언어 별 – Java, Go, Python, C++ 등 – 로 Twitter API (Version 1.1) 를 지원하는 Library는 다양하다. 용도에 맞게 선택하도록 한다.

 

Twitter Stream 분석_Image 1.png

[Image 2. Twitter API를 지원하는 언어 별 Library들 출처: “Twitter Libraries”, Twitter Developers]

 

Terminal에서 다음의 Command를 실행해 TwitterSearch를 설치한다.

==========================================================================pip install TwitterSearch

==========================================================================

 

MongoDB를 설치한다. MongoDB를 설치한다. Python에서 MongoDB를 사용하기 위해 Python용 MongoDB Driver인 ‘PyMongo’ () 를 설치한다.

==========================================================================

pip install pymongo

==========================================================================

 

R을 설치한다.

 

Twitter Application 등록

Twitter Application을 등록하면 인증을 위한 Consumer Key / Consumer Secret, Access Token / Access Token Secret을 부여 받아야 한다. Twitter Application Management에 접속하셔서 사용하고 계신 Twitter 계정으로 Log-in을 합니다. ‘Create a new application’을 선택합니다.

Twitter Stream 분석_Image 3.png

[Image 3. Twitter Application 생성하기 출처: Twitter Application Management]

 

Twitter Stream 분석_Image 4.png

[Image 4. Create an application 출처: Twitter Application Management]

 

중복되지 않는 이름과 설명을 입력하고, Website URL을 입력합니다. 대략적인 정보를 입력하셔도 됩니다. 완료되면 다음과 같이 Application에 대한 정보가 표시됩니다. 그 중에서 OAuth는 일종의 Twitter API 사용을 위한 인증 정보입니다.

Twitter Stream 분석_Image 5.png

[Image 5. OAuth 정보를 확인합니다. 출처: Twitter Application Management]

Python 구현

Python으로 다음의 Code를 구현한다.

==========================================================================

# 한글 처리를 위해 Encoding을 설정한다.

#-*- coding: utf-8 -*-

 

# ‘TwitterSearch’ Library를 Import 한다.

from TwitterSearch import *
# MongoDB를 사용하기 위해 ‘pymongo’ Library를 Import 한다.

from pymongo import MongoClient

 

client = MongoClient()
db = client.test
coll = db.dataset

 

f = open(“abc.txt”, ‘w’)

 

# Twitter 검색에 사용되는 조건들을 설정하기 위해 TwitterSearchOrder 객체를 생성한다.

twitSearchOrd = TwitterSearchOrder()

 

# Tweet 검색어를 설정한다.

twitSearchOrd.set_keywords([‘서태지’])

 

#twitSearchOrd.set_language (‘ko’)

#twitSearchOrd.set_locale (”)

twitSearchOrd.set_include_entities (False)

# 검색 결과 건수를 설정한다.

twitSearchOrd.set_count (10)

 

# 검색을 수행하기 위해 TwitterSearch 객체를 생성한다.

twitSearch = TwitterSearch (consumer_key = ‘**********’,

consumer_secret = ‘**********’,

access_token = ‘**********’,

access_token_secret = ‘**********’)

# 검색된 Tweet을 한 건씩 처리하면서 사용자의 Twitter ID가 ‘SKtelecom’이 아닌 건들만 결과를 표시한다.

for tweet in twitSearch.search_tweets_iterable (twitSearchOrd):

if tweet[‘user’][‘screen_name’] != ‘SKtelecom’:

# print(‘@%s tweeted: %s’ % (tweet[‘user’][‘screen_name’], tweet[‘text’]))

print(‘%s:%s’ % tweet[‘text’], tweet[‘created_at’]))

f.write(tweet[‘text’].encode(‘utf-8’))

coll.insert ({“tweet”:tweet[‘text’]})

docs = coll.find()

 

for i in docs:

print i

f.close()

==========================================================================

 

R로 분석해 Word Cloud를 만든다.

==========================================================================

pkh <- Corpus(DirSource(“/Users/chrischoi/PyCharmProjects/untitled1/Files/”))

inspect(pkh)

 

pkh <- tm_map(pkh, stripWhitespace)

pkh <- tm_map(pkh, tolower)

pkh <- tm_map(pkh, removeWords, stopwords(“english”))

pkh <- tm_map(pkh, stemDocument)

#pKh <- tm_map(pkh, removeWords, “??????濡?”)

 

par(family=”AppleGothic”)

 

wordcloud(pkh, scale=c(5,0.5), max.words=100, random.order=FALSE, rot.per=0.35, use.r.layout=FALSE, colors=brewer.pal(8, “Dark2”))

==========================================================================

 

Written by Chris Choi

January 18, 2016 at 1:11 am

Posted in Communication

Tagged with , ,

지식의 통로, Twitter

with 2 comments

제가 굳이 소개를 드리지 않아도 될만큼 Twitter의 사용법을 모르시는 분은 매우 드물 것입니다. Twitter는 Facebook, Google+에 버금가는 유명한 Social Media이기 때문입니다. 오늘은 지식 관리 측면에서의 Twitter의 유용성을 설명 드리려고 합니다.

 지식의 통로, Twitter_Image 1

[Figure 1. Twitter 출처: Twitter]

저는 Twitter 출시 초기에 잠깐 한 두 달 사용하다가, 그 후로 몇 년 간 Twitter를 덮어 두고 있었습니다. 기껏해야 140자인 텍스트에 무엇을 담고 무엇을 공유할 수 있는지 회의적이었기 때문입니다. Blog에 익숙해서인지 평소에 조금은 긴 호흡의 글을 쓰는 것이 좋았지만, Blog와 달리 Twitter는 짧은 호흡이 특징이어서 저에게는 잘 맞지 않았습니다.

그러다 일 년 전에 우연한 기회에 Twitter를 다시 열어 보게 되었습니다. MacBook을 구입했는데 Twitter용 App이 설치되어 있었습니다. 그 사이 제 계정을 Follow 한 친구들이 있어서 한 번 써 보기로 했습니다.

Follow 하기

가장 먼저 한 것은 제가 자주 방문하는 Blogger를 Follow 하는 것이었습니다. IT 업계에서도 유명한 Blogger인 임정욱씨의 Twitter (@estima7) 를 Follow 했습니다. IT 분야와 관련된 주요 뉴스는 물론, 유용한 Tech 정보를 하루에도 수 차례 전달해 주시는 것이었습니다. 핵심적인 메시지와 URL Link, 한 두 장의 이미지를 담기에 Tweet의 공간은 작지 않았습니다.

 지식의 통로, Twitter_Image 2

[Figure 2. 임정욱씨의 Twitter 출처: 임정욱씨 Twitter]

이전부터 Twitter를 애용하셨던 분들에게는 조금 우스운 이야기일 수 있겠지만, 저에게는 그 순간이 일종의 충격이었습니다. 140자라는 제한된 이야기의 공간에 이렇게 유용한 정보를 담을 수 있다는 것이 놀라웠습니다. 그 후로 몇 분의 Blogger를 추가로 Follow 하고 있습니다. IT 분야에서 유명한 분들을 몇 분 소개해 드립니다.

  • @estima7 (Jungwook Lim, Daum)
  • @mickeyk (Mickey Kim, Google)
  • @sungmoon (Sungmoon Cho, Oracle)
  • @waltmossberg (Walt Mossberg, The Wall Street Journal)
  • @kwang82 (김광현 기자, 한국 경제 신문)
  • @oojoo (김지현)
  • @shinsoojung (신수정, 인포섹)

누구를 Follow 할 지 고민이 되실 때는 Twitter에서 자동으로 추천해 주는 분을 Follow해 보셔도 좋습니다. 언제나 손쉽게 Follow와 Unfollow를 하실 수 있으므로, 우선 Follow 하신 후에 컨텐츠가 마음에 드시지 않으면 바로 Unfollow 하시면 됩니다.

 지식의 통로, Twitter_Image 3

[Figure 3. Twitter가 추천해 주는 분을 Follow해 보실 수 있습니다. 출처: Twitter]

제가 Web site를 이곳 저곳 둘러 보면서 찾아보면서 습득하기에는 어려운 정보들을 Twitter를 통해 만나 볼 수 있다는 것이 저에게는 놀라운 발견이었습니다. 물론 원칙은 한 가지 있습니다. 수 백 명, 수 천 명을 Follow 하지 않는 것입니다. 아무리 유용한 정보가 널려 있다고 해도, Timeline을 따라가기도 벅찰 만큼 많은 Tweet을 보는 것은 소화하기 어렵기 때문입니다.

저에게 Twitter는 ‘지식의 통로’입니다. 신문과 잡지, Blog 등을 통해 지식을 접하고 있지만, 하루에도 몇 번씩 PC와 Smart phone, Tablet을 통해 수시로 Tweet을 확인할 수 있기 때문에, Twitter는 가장 유용한  도구입니다.

Twitter 더하기 Evernote

요즘 저의 가장 큰 관심사는 MOOC Massive Open Online Course 입니다.[1] MIT, Stanford 등 미국의 명문대들도 MOOC에 적극적으로 동참하고 있습니다. 얼마 전에 Tweet을 확인하다가 MOOC에 대한 Tweet을 발견했습니다.

지식의 통로, Twitter_Image 4

[Figure 4. Stanford d.school의 MOOC에 관한 Tweet 출처: 배기홍씨 Twitter]

Web은 물론, Mobile에서도 손쉽게 Tweet을 Evernote에 저장할 수 있습니다. 위의 Tweet을 제 Evernote의 Education Notebook에 다음과 같이 저장해 두었습니다.

 지식의 통로, Twitter_Image 5

[Figure 5. Evernote에 저장된 MOOC 관련 Tweet]

이렇게 주제 별로 관심 있는 Tweet들을 저장해 두는 것은 일종의 공부 거리를 차곡차곡 정리해 두는 것과 같습니다.

그 외에도 Twitter 상에서 실시간으로 가장 많이 언급되고 있는  Keyword를 표시해 줍니다. 관심 있는 Keyword를 선택하시면 관련 Tweet을 보실 수 있으며, 이를 이용해 Trend를 이해하시는 것도 하나의 방법이 될 것입니다.

 지식의 통로, Twitter_Image 6

[Figure 6. Twitter 상에서 가장 많이 언급되고 있는 Keyword가 표시됩니다. 출처: Twitter]

Social Media, 지식의 Channel

Twitter를 포함한 Social Media는 단순히 엄청난 Traffic을 유발하는 대상이 아닙니다. 개인에게는 지식을 접할 수 있는 하나의 중요한 Channel이 되었습니다. Entertainment, Communication 외에도 지식 습득의 목적으로 Social Media를 이용하신다면 지식 형성에 더 많은 도움이 되실 것입니다.


[1] MOOC에 대한 자세한 내용은 저의 Blog post를 참고하세요.

Written by Chris Choi

July 1, 2013 at 11:51 pm

Posted in Communication

Tagged with ,

나의 Twitter 이용법

leave a comment »

내게 IT 관련 Trend를 가장 빠르고 손쉽게 접하는 방법은 Twitter이다.

 

Follow

Jack Dorsey, Walt Mossberg, 김지현씨 등 IT 관련 소식을 발빠르게 전해 주시는 분들을 Follow 하고 있다. 단, Timeline을 따라가지 못할 정도로 지나치게 많은 사람들을 Follow 하지는 않는다.

 

Timeline

Timeline은 하루에 서 너 번 정도 확인한다. 출퇴근 길과 점심 시간, 오후 휴식 시간에 확인하는데, 눈에 띄는 주제에 관한 Tweet을 ‘Read It Later’를 위해 Evernote에 저장한다. Timeline이 많지 않아 최신 Tweet에서 마지막으로 읽은 Tweet 순으로 읽어 내려간다. MacBook과 PC에서는 Chrome으로, iPad와 Smart Phone에서는 Mobile Application으로 Timeline을 확인한다.

Written by Chris Choi

May 18, 2013 at 10:06 pm

Posted in Communication

Tagged with ,

Trend in Twitter

leave a comment »

이제는 Twitter 상의 Trend를 볼 수 있게 되었다. Twitter는 실시간으로 가장 많이 언급되는 Keyword를 Web과 Mobile 상에 표시해 준다. 지역을 변경할 수도 있다.

[Twitter에서가장많이언급되는 Keyword (Web)]

 

 [Twitter에서가장많이언급되는 Keyword (Mobile)]

Written by Chris Choi

October 27, 2012 at 7:07 am

Social Media와 過剩

leave a comment »

트위터는 더욱 무섭다. 나를 트위터로 끌어들이지 말라. 물론 트위터를 효율적으로 생산적으로 활용하는 사람들도 있다. 몇몇 사람들에게는 (극소수의 사람들에게는) 작업을 하는 데 도움이 될지 모른다. 하지만 나머지 사람들은? 트위터는 완벽한 저항이다. 트위터는 끝이 없다. 언제 들여다보아도 읽어야 할 트윗이 넘쳐나고 답을 달아야 할 트윗이 넘쳐난다. 물론 트위터는 작업에 몰두하지 못하도록 방해한다.

트위터에 빠져 있는 동안 당신의 예술은 어디로 가고 있는가?

『린치핀』, Page 198, Seth Godin

 

Social Media는 분명한 대세이다. 시간과 공간을 넘어 사람과 사람을 이어주고 있으며, 그 흐름은 앞으로도 계속 될 것으로 보인다. 이제는 Facebook과 Twitter를 하지 않으면 Digital 문맹이 될 수도 있다. 그 만큼 Social Media의 영향력은 급속도로 커지고 있다.

때로 Twitter에서 수 천 명을 Following 하고, Facebook에서 수 천 명을 Friend로 두는 사람들을 본다. 더욱 폭넓게 소통하고자 하는 의지 정도로 긍정적으로 보려 한다. 그러나 쉽지 않다. 그것은 지나친 것이며, 과욕 혹은 과잉이기 때문이다. 달리 말하면 ‘소통 아닌 소통’이라 할 수 있다. 그 많은 사람들이 내어 놓는 Tweet과 News Feed를 소화하기에는 우리의 시간이 그리 길지 않다. 그리고 잘 알지 못하는 사람들이 내어 놓는 메시지를 통해, 그리고 나를 모르는 사람들에게 우리가 내어 놓는 메시지를 통해 소통하는 것이 쉬울 리 만무하다. 정보의 과잉, 인맥의 과잉이라 할 만하다.

그래서일까? Facebook, Twitter를 떠나는 사람들의 수가 늘고 있다. 물론 새로 가입하는 사용자들의 수 역시 여전히 많기 때문에 이를 어떻게 해석해는 것이 적절한 지는 알 수 없다. 그러나 분명한 것은, Social Media를 통한 소통의 한계를 느끼는 사람들이 점점 늘고 있다는 것이다.

 

Reference

  • 린치핀, pp. 198, Seth Godin

Written by Chris Choi

October 19, 2012 at 3:29 pm