Thành phần của dữ liệu Twitter

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

Sowmya Vivek

Data Science Coach

Tổng quan bài học

  • Giới thiệu về JSON của Twitter
  • Trích xuất các thành phần siêu dữ liệu từ JSON
  • Dùng các thành phần để rút ra insight
Phân tích dữ liệu mạng xã hội bằng R

Twitter JSON

  • Một tweet có thể có hơn 150 thành phần siêu dữ liệu
  • Tweet và các thành phần được trả về dưới dạng JSON (JavaScript Object Notation)
Phân tích dữ liệu mạng xã hội bằng R

Thuộc tính và giá trị của JSON

  • Thuộc tính và giá trị mô tả tweet và các thành phần
  • Ví dụ: screen_name lưu tên tài khoản (handle) của người dùng

Thuộc tính và giá trị trong Twitter JSON

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

Chuyển JSON thành dataframe

  • JSON của Twitter được chuyển thành dataframe bằng thư viện rtweet
  • Thuộc tính và giá trị thành tên cột và giá trị

Thuộc tính JSON chuyển thành cột dataframe

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

Xem các thành phần của tweet

# Trích xuất tweet về "#brexit" bằng search_tweets()
tweets_df <- search_tweets("#brexit")
# Xem tên cột
names(tweets_df)
Phân tích dữ liệu mạng xã hội bằng R

Xem các thành phần của tweet

Thành phần của một tweet

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

Khám phá các thành phần

  • screen_name để hiểu mối quan tâm của người dùng
  • followers_count để so sánh mức độ ảnh hưởng
  • retweet_counttext để nhận diện tweet phổ biến
Phân tích dữ liệu mạng xã hội bằng R

Mối quan tâm và số lượng tweet

  • screen_name là tên tài khoản Twitter (handle)
  • Số tweet đã đăng cho thấy mức độ quan tâm đến chủ đề
  • Quảng bá sản phẩm tới người dùng quan tâm
Phân tích dữ liệu mạng xã hội bằng R

Mối quan tâm và số lượng tweet

# Trích xuất tweet về "#Arsenal" bằng search_tweets()
twts_arsnl <- search_tweets("#Arsenal", n = 18000)
# Tạo bảng người dùng và số tweet theo chủ đề
sc_name <- table(twts_arsnl$screen_name)
head(sc_name)
_____today_____   ___JJ23    ___SAbI__   __ambell   __Amzo__     __bobbysingh 
       1               2          3           1         1               1
Phân tích dữ liệu mạng xã hội bằng R

Mối quan tâm và số lượng tweet

# Sắp xếp bảng theo số tweet giảm dần
sc_name_sort <- sort(sc_name, decreasing = TRUE)
# Xem 6 người dùng hàng đầu và tần suất tweet
head(sc_name_sort)
 _whatthesport  footy90com  Official_ATG1   TheShortFuse   RubellM   ArsenalZone_Ind 
      176           90            88             53           48            43
Phân tích dữ liệu mạng xã hội bằng R

Số người theo dõi (followers)

  • Số người theo dõi một tài khoản Twitter
  • Cho biết độ phổ biến của tài khoản
  • Thước đo ảnh hưởng trên mạng xã hội
  • Đặt quảng cáo trên tài khoản phổ biến để tăng hiển thị
Phân tích dữ liệu mạng xã hội bằng R

So sánh số người theo dõi

# Trích xuất dữ liệu người dùng bằng lookup_users()
tvseries <- lookup_users("GameOfThrones", "fleabag", "BreakingBad")
# Tạo dataframe với cột screen_name và followers_count
user_df <- tvseries[,c("screen_name","followers_count")]
Phân tích dữ liệu mạng xã hội bằng R

So sánh số người theo dõi

# Xem số người theo dõi để so sánh
user_df
screen_name        followers_count
<chr>                   <int>
GameOfThrones          8597188            
fleabag                  58727            
BreakingBad            1240349
Phân tích dữ liệu mạng xã hội bằng R

Số retweet và tweet phổ biến

  • Retweet là tweet được người khác chia sẻ lại
  • retweet_count lưu số lần retweet
  • Số retweet giúp nhận diện xu hướng
  • Retweet phổ biến có thể dùng để quảng bá thương hiệu
Phân tích dữ liệu mạng xã hội bằng R

Số retweet và tweet phổ biến

# Tạo data frame gồm văn bản tweet và số retweet
rtwt <- tweets_arsenal[,c("text", "retweet_count")]
# Sắp xếp theo số retweet giảm dần
library(dplyr)
rtwt_sort <- arrange(rtwt, desc(retweet_count))
Phân tích dữ liệu mạng xã hội bằng R

Số retweet và tweet phổ biến

# Loại bỏ hàng có văn bản tweet trùng lặp
rtwt_unique <- unique(rtwt_sort, by = "text")
Phân tích dữ liệu mạng xã hội bằng R

Số retweet và tweet phổ biến

# In 6 bài đăng duy nhất có số retweet cao nhất
head(rtwt_unique)
retweet_count                text
<int>                        <chr>
5606            Once a Gunner, Always a Gunner. We are proud of you @alexanderiwob
3764            Emirates on Fire 🔥🔥🔥🔥 Never give up Gunners💪🏽💪🏽💪🏽 #Arsenal #CO
2798            That mood tonight ⚡️⚡️⚡️ 3️⃣ POINTS 🔴⚪️ #Arsenal #Gunners #COYG h
2741            #Arsenal fan: "I reckon we'll win the League this season." @Robbie
1687            Auba 😭😭😍😍 This is what I call happiness #aubameyang #arsenal
1166            When sky sports introduced the new Monday night football! The Sha
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...