Lọc tweet

Phân tích dữ liệu mạng xã hội bằng R

Vivek Vijayaraghavan

Data Science Coach

Tổng quan bài học

  • Lọc theo thành phần của tweet
    • Trích xuất tweet gốc
    • Ngôn ngữ của tweet
    • Tweet phổ biến theo ngưỡng retweet và yêu thích tối thiểu
Phân tích dữ liệu mạng xã hội bằng R

Lọc tweet gốc

  • Tweet gốc là bài đăng nguyên bản của người dùng Twitter
  • Không phải retweet, trích dẫn, hay trả lời
  • Tweet gốc giúp nội dung không lặp lại
  • Giúp duy trì mức độ tương tác
Phân tích dữ liệu mạng xã hội bằng R

Lọc tweet gốc

  • Dùng -filter để trích xuất tweet gốc
  • -filter:retweets loại trừ mọi retweet
  • -filter:quote loại tweet trích dẫn
  • -filter:replies đảm bảo loại tweet trả lời
Phân tích dữ liệu mạng xã hội bằng R

Trích xuất tweet không dùng bộ lọc

  • Trích xuất tweet về "digital marketing" không dùng bộ lọc
# Trích xuất 100 tweet về "digital marketing"
tweets_all <- search_tweets("digital marketing", n = 100)
Phân tích dữ liệu mạng xã hội bằng R

Trích xuất tweet không dùng bộ lọc

  • Kiểm đếm giá trị trong các cột reply_to_screen_name, is_quote, is_retweet
# Kiểm tra số lượng trả lời
library(plyr)
count(tweets_all$reply_to_screen_name)
x               freq
<fct>          <int>
blairaasmith      2            
javiergosende     1            
juanburgos        1            
WhutTheHale       2            
NA               94
Phân tích dữ liệu mạng xã hội bằng R

Trích xuất tweet không dùng bộ lọc

# Kiểm tra số lượng tweet trích dẫn
count(tweets_all$is_quote)
x        freq
<lgl>    <int>
FALSE     98            
TRUE       2
Phân tích dữ liệu mạng xã hội bằng R

Trích xuất tweet không dùng bộ lọc

# Kiểm tra số lượng retweet
count(tweets_all$is_retweet)
x         freq
<lgl>    <int>
FALSE      61            
TRUE       39
Phân tích dữ liệu mạng xã hội bằng R

Loại trừ retweet, trích dẫn và trả lời

  • Trích xuất tweet về "digital marketing" dùng -filter
# Áp dụng '-filter'
tweets_org <- search_tweets("digital marketing 
                            -filter:retweets 
                            -filter:quote 
                            -filter:replies", 
                            n = 100)
Phân tích dữ liệu mạng xã hội bằng R

Loại trừ retweet, trích dẫn và trả lời

  • Kiểm tra đầu ra để xác nhận đã loại trừ trả lời, trích dẫn và retweet
# Kiểm tra số lượng trả lời
library(plyr)
count(tweets_org$reply_to_screen_name)
x         freq
<lgl>    <int>
NA         100
Phân tích dữ liệu mạng xã hội bằng R

Loại trừ retweet, trích dẫn và trả lời

# Kiểm tra số lượng trích dẫn
library(plyr)
count(tweets_org$is_quote)

x         freq
<lgl>    <int>
FALSE     100
# Kiểm tra số lượng retweet
library(plyr)
count(tweets_org$is_retweet)
x         freq
<lgl>    <int>
FALSE     100
Phân tích dữ liệu mạng xã hội bằng R

Lọc tweet theo ngôn ngữ

  • lang lọc tweet theo ngôn ngữ
  • Khớp tweet của một ngôn ngữ cụ thể

Mã ngôn ngữ Twitter cho một số ngôn ngữ

Phân tích dữ liệu mạng xã hội bằng R

Lọc tweet theo ngôn ngữ

# Lọc và trích xuất tweet đăng bằng tiếng Tây Ban Nha
tweets_lang <- search_tweets("brand marketing", lang = "es")
Phân tích dữ liệu mạng xã hội bằng R

Lọc tweet theo ngôn ngữ

View(tweets_lang)

Tweet trích xuất bằng tiếng Tây Ban Nha

Phân tích dữ liệu mạng xã hội bằng R

Lọc tweet theo ngôn ngữ

head(tweets_lang$lang)
[1] "es" "es" "es" "es" "es" "es"
Phân tích dữ liệu mạng xã hội bằng R

Lọc theo số retweet và yêu thích

  • min_faves: lọc tweet có số yêu thích tối thiểu
  • min_retweets: lọc tweet có số retweet tối thiểu
  • Dùng toán tử AND để thỏa cả hai điều kiện
Phân tích dữ liệu mạng xã hội bằng R

Lọc theo số retweet và yêu thích

# Trích xuất tweet có tối thiểu 100 yêu thích và retweet 
tweets_pop <- search_tweets("bitcoin min_faves:100 AND
                            min_retweets:100")
Phân tích dữ liệu mạng xã hội bằng R

Lọc theo số retweet và yêu thích

# Tạo data frame để kiểm tra số retweet và yêu thích
counts <- tweets_pop[c("retweet_count", "favorite_count")]
head(counts)
retweet_count    favorite_count
    <int>              <int>
1    162                833
2    141                894    
3    164                1128
4    395                1346    
5    475                2271
6    270                1654
Phân tích dữ liệu mạng xã hội bằng R

Lọc theo số retweet và yêu thích

# Xem các tweet
head(tweets_pop$text)
text    
<chr>
1    As we continue to build the Bakkt Bitcoin Futures contract, we reached a
2    BREAKING: The United States is considering entering into a "currency pact"
3    REMINDER: The Bitcoin ETF will eventually get approved.\n\nNot a question
4    [New Post] Bitcoin is becoming much more important in Hong Kong and India.
5    Reports are surfacing that some Hong Kong ATMs have run out of cash as
6    Bitcoin is the most transparent currency ever created.
Phân tích dữ liệu mạng xã hội bằng R

Ayo berlatih!

Phân tích dữ liệu mạng xã hội bằng R

Preparing Video For Download...