Chris Choi

Posts Tagged ‘트위터

Twitter

leave a comment »

Advertisements

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 이용법

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