рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмреАрдЪ, рд╕рдВрджреЗрд╢ рдХреА рд▓рдВрдмрд╛рдИ рдкрд░ рд╕рдЦреНрдд рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдХрд╛рд░рдг рдЯреНрд╡рд┐рдЯрд░ рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рднреА рд╕рдмрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд╛рди рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╢рдмреНрдж рдХреНрд▓рд╛рдЙрдб рдлреНрд░реЗрдо рдХрд┐рд╕ рддрдХрдиреАрдХ рдХрд╛ рд╣реИ?

Twitter API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЖрд░ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓реЗрдЦред
рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдЯреНрд╡рд┐рдЯрд░ рдПрдкреАрдЖрдИ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдФрд░ рдХрдбрд╝реЗ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдореБрд╢реНрдХрд┐рд▓реЗрдВ рдкреИрджрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдХрдВрдкрдиреА 2016 рдореЗрдВ рдЕрдореЗрд░рд┐рдХреА рдЪреБрдирд╛рд╡реЛрдВ рдореЗрдВ "рд░реВрд╕реА рд╣реИрдХрд░реНрд╕" рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рдмрд╛рдж рдЕрдореЗрд░рд┐рдХреА рдХрд╛рдВрдЧреНрд░реЗрд╕ рдореЗрдВ рдШрд╕реАрдЯреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджреЛрдВ рдХреЛ рд▓реЗрдХрд░ рдЧрдВрднреАрд░ рдереАред
рдПрдХреНрд╕реЗрд╕ рдПрдкреАрдЖрдИ
рдХрд┐рд╕реА рдХреЛ рдЯреНрд╡рд┐рдЯрд░ рд╕реЗ рдФрджреНрдпреЛрдЧрд┐рдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛрдЧреА? рдЦреИрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЦреЗрд▓ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпрд╛рдВ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдлрд╝реЛрди рдирдВрдмрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреНрд╡рд┐рдЯрд░ рдЦрд╛рддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдпрд╣ рдпрд╣ рдХрджрдо рд╣реИ рдЬреЛ рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╣рдо рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкреЗрдЬ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ Create a app рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд▓рд╛ рд╡рд╣ рдкреГрд╖реНрда рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЖрдкрдХреЛ рдЖрд╡реЗрджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рднрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреГрд╖реНрда рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реАрд▓реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

- AppName - рдЖрд╡реЗрджрди рдирд╛рдо (рдЖрд╡рд╢реНрдпрдХ)ред
- рдЖрд╡реЗрджрди рд╡рд┐рд╡рд░рдг - рдЖрд╡реЗрджрди рд╡рд┐рд╡рд░рдг (рдЖрд╡рд╢реНрдпрдХ)ред
- рд╡реЗрдмрд╕рд╛рдЗрдЯ URL - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╛ рдкреГрд╖реНрда (рдЖрд╡рд╢реНрдпрдХ), рдЖрдк рдПрдХ URL рдХреА рддрд░рд╣ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рднреА рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
- рдЯреНрд╡рд┐рдЯрд░ рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрди рдЗрди рд╕рдХреНрд╖рдо рдХрд░реЗрдВ (рдЪреЗрдХ рдмреЙрдХреНрд╕) - рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдкреЗрдЬ рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдХреЙрд▓рдмреИрдХ рдпреВрдЖрд░рдПрд▓ - рдкреНрд░рдорд╛рдгреАрдХрд░рдг (рдЖрд╡рд╢реНрдпрдХ) рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдХреЗ рджреМрд░рд╛рди рдЖрд╡реЗрджрди рдХреА рдХреЙрд▓рдмреИрдХ , рдЖрдк
http://127.0.0.1:1410
рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ: рд╕реЗрд╡рд╛ рдХреА рд╢рд░реНрддреЛрдВ рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда рдХрд╛ рдкрддрд╛, рд╕рдВрдЧрдарди рдХрд╛ рдирд╛рдо, рдЖрджрд┐ред
рдбреЗрд╡рд▓рдкрд░ рдЦрд╛рддрд╛ рдмрдирд╛рддреЗ рд╕рдордп, рддреАрди рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЪреБрдиреЗрдВред
- рдорд╛рдирдХ - рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг, рдЖрдк, 7 рджрд┐рдиреЛрдВ рдХреА рдЧрд╣рд░рд╛рдИ рддрдХ рд░рд┐рдХреЙрд░реНрдб рдХреА рдЦреЛрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдлреНрддред
- рдкреНрд░реАрдорд┐рдпрдо - рдПрдХ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рд╡рд┐рдХрд▓реНрдк, рдЖрдк рд░рд┐рдХреЙрд░реНрдб рдХреА рддрд▓рд╛рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ and 30 рджрд┐рдиреЛрдВ рдХреА рдЧрд╣рд░рд╛рдИ рдФрд░ 2006 рдХреЗ рдмрд╛рдж рд╕реЗред рдирд┐: рд╢реБрд▓реНрдХ, рд▓реЗрдХрд┐рди рд╡реЗ рдПрдХ рдЖрд╡реЗрджрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╕рдордп рддреБрд░рдВрдд рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред
- рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ - рдмрд┐рдЬрдиреЗрд╕ рдХреНрд▓рд╛рд╕, рд╕рд╢реБрд▓реНрдХ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЯреИрд░рд┐рдлред
рдореИрдВрдиреЗ рдкреНрд░реАрдорд┐рдпрдо рдЪреБрдирд╛, рдЕрдиреБрдореЛрджрди рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХрд╛ рд╕рдордп рд▓рдЧрд╛ред рдореИрдВ рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛ рд╕рдХрддрд╛ рдХрд┐ рд╡реЗ рдореБрдЭреЗ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рджреЗрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡реИрд╕реЗ рднреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ, рдФрд░ рдорд╛рдирдХ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред
рдЯреНрд╡рд┐рдЯрд░ рдХрдиреЗрдХреНрд╢рди
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдХреБрдВрдЬреА рдФрд░ рдЯреЛрдХрди рдЯреИрдм рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрддреНрд╡реЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рд╕реЗрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдиреАрдЪреЗ R рдХреЗ рдирд╛рдо рдФрд░ рд╕рдВрдЧрдд рдЪрд░ рд╣реИрдВред
рдЙрдкрднреЛрдХреНрддрд╛ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА
- рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА -
api_key
- рдПрдкреАрдЖрдИ рдЧреБрдкреНрдд рдХреБрдВрдЬреА -
api_secret
рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рдФрд░ рдПрдХреНрд╕реЗрд╕ рдЯреЛрдХрди рд╕реАрдХреНрд░реЗрдЯ
- рдкреНрд░рд╡реЗрд╢ рдЯреЛрдХрди -
access_token
- рдкреНрд░рд╡реЗрд╢ рдЯреЛрдХрди рд░рд╣рд╕реНрдп -
access_token_secret
рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
install.packages("rtweet") install.packages("tm") install.packages("wordcloud")
рдпрд╣ рдХреЛрдб рдХрд╛ рдЯреБрдХрдбрд╝рд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ред
library("rtweet") api_key <- "" api_secret <- "" access_token <- "" access_token_secret <- "" appname="" setup_twitter_oauth ( api_key, api_secret, access_token, access_token_secret)
рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдмрд╛рдж, R рдЖрдкрдХреЛ рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХ рдкрд░ OAuth
рдХреЛрдб рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреЗрдд рджреЗрдЧрд╛ред
[1] "Using direct authentication" Use a local file to cache OAuth access credentials between R sessions? 1: Yes 2: No
рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИрдВ, рдореИрдВрдиреЗ 1 рдХреЛ рдЪреБрдирд╛ред
рдЦреЛрдЬ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд░рд┐рдгрд╛рдо
tweets <- search_tweets("hadoop", include_rts=FALSE, n=600)
include_rts
рдХреБрдВрдЬреА рдЖрдкрдХреЛ рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд░реАрдЯреНрд╡реАрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдпрд╛ рдЦреЛрдЬ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ, рд╣рдореЗрдВ рдХрдИ рдлрд╝реАрд▓реНрдбреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдорд┐рд▓рддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рд╡рд┐рд╡рд░рдг рдФрд░ рд╡рд┐рд╡рд░рдг рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдкрд╣рд▓реЗ 20 рд╣реИрдВред
> head(names(tweets), n=20) [1] "user_id" "status_id" "created_at" [4] "screen_name" "text" "source" [7] "display_text_width" "reply_to_status_id" "reply_to_user_id" [10] "reply_to_screen_name" "is_quote" "is_retweet" [13] "favorite_count" "retweet_count" "hashtags" [16] "symbols" "urls_url" "urls_t.co" [19] "urls_expanded_url" "media_url"
рдЖрдк рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЦреЛрдЬ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
search_string <- paste0(c("data mining","#bigdata"),collapse = "+") search_tweets(search_string, include_rts=FALSE, n=100)
рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
write.table(tweets$text, file="datamine.txt")
рд╣рдо рдЧреНрд░рдВрдереЛрдВ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рд╡рд┐рд▓реАрди рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рд╣рдо рд╕реЗрд╡рд╛ рд╢рдмреНрджреЛрдВ, рд╡рд┐рд░рд╛рдо рдЪрд┐рд╣реНрдиреЛрдВ рдХреЛ рдЫрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЕрдиреБрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдФрд░ рдЦреЛрдЬ рдлрд╝рдВрдХреНрд╢рди рд╣реИ - searchTwitter
, рдЬрд┐рд╕реЗ twitteR
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдпрдиреЛрдВ рдореЗрдВ, рдпрд╣ search_tweets
рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдпрд╣ рд╣реАрди рд╣реИред
рдкреНрд▓рд╕ - рд╕рдордп рд╕реЗ рдПрдХ рдлрд┐рд▓реНрдЯрд░ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ред
tweets <- searchTwitter("hadoop", since="2017-09-01", n=500) text = sapply(tweets, function(x) x$getText())
рдорд╛рдЗрдирд╕ - рдЖрдЙрдЯрдкреБрдЯ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░рдХрд╛рд░ рдХреА status
рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ sapply
рдмрдирд╛рддрд╛ рд╣реИред
corpus <- Corpus(VectorSource(tweets$text)) clearCorpus <- tm_map(corpus, function(x) iconv(enc2utf8(x), sub = "byte")) tdm <- TermDocumentMatrix(clearCorpus, control = list(removePunctuation = TRUE, stopwords = c("com", "https", "hadoop", stopwords("english")), removeNumbers = TRUE, tolower = TRUE))
рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдореЗрдВ, рдХрд┐рд╕реА рднреА рдЗрдореЛрдЬреА рд╡рд░реНрдгреЛрдВ рдХреЛ рд▓реЛрдЕрд░рдХреЗрд╕ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП tm_map
рдлрд╝рдВрдХреНрд╢рди tm_map
рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ tolower
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХ рд╢рдмреНрдж рдмрд╛рджрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг
рд╡рд░реНрдб рдХреНрд▓рд╛рдЙрдб рдкрд╣рд▓реА рдмрд╛рд░ рдлреНрд▓рд┐рдХрд░ рдлреЛрдЯреЛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдП, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдФрд░ рддрдм рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИред рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ wordcloud
рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
m <- as.matrix(tdm) word_freqs <- sort(rowSums(m), decreasing=TRUE) dm <- data.frame(word=names(word_freqs), freq=word_freqs) wordcloud(dm$word, dm$freq, scale=c(3, .5), random.order=FALSE, colors=brewer.pal(8, "Dark2"))
search_string
рдлрд╝рдВрдХреНрд╢рди рдЖрдкрдХреЛ рднрд╛рд╖рд╛ рдХреЛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
search_tweets(search_string, include_rts=FALSE, n=100, lang="ru")
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЖрд░ рдХреЗ рд▓рд┐рдП рдПрдирдПрд▓рдкреА рдкреИрдХреЗрдЬ рдЦрд░рд╛рдм рд░реВрдк рд╕реЗ Russified рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╕реЗрд╡рд╛ рдХреА рдХреЛрдИ рд╕реВрдЪреА рдирд╣реАрдВ рд╣реИ рдпрд╛ рд╢рдмреНрджреЛрдВ рдХреЛ рд░реЛрдХрдирд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рд░реВрд╕реА рдореЗрдВ рдЦреЛрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рд╢рдмреНрдж рдмрд╛рджрд▓ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдЖред рдпрджрд┐ рдЖрдк рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдвреВрдВрдврддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдЦреИрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ...
рдкреВрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ library("rtweet") library("tm") library("wordcloud") api_key <- "" api_secret <- "" access_token <- "" access_token_secret <- "" appname="" setup_twitter_oauth ( api_key, api_secret, access_token, access_token_secret) oauth_callback <- "http://127.0.0.1:1410" setup_twitter_oauth (api_key, api_secret, access_token, access_token_secret) appname="my_app" twitter_token <- create_token(app = appname, consumer_key = api_key, consumer_secret = api_secret) tweets <- search_tweets("devops", include_rts=FALSE, n=600) corpus <- Corpus(VectorSource(tweets$text)) clearCorpus <- tm_map(corpus, function(x) iconv(enc2utf8(x), sub = "byte")) tdm <- TermDocumentMatrix(clearCorpus, control = list(removePunctuation = TRUE, stopwords = c("com", "https", "drupal", stopwords("english")), removeNumbers = TRUE, tolower = TRUE)) m <- as.matrix(tdm) word_freqs <- sort(rowSums(m), decreasing=TRUE) dm <- data.frame(word=names(word_freqs), freq=word_freqs) wordcloud(dm$word, dm$freq, scale=c(3, .5), random.order=FALSE, colors=brewer.pal(8, "Dark2"))
рдкреНрд░рдпреБрдХреНрдд рд╕рд╛рдордЧреНрд░реАред
рд▓рдШреБ рд▓рд┐рдВрдХ:
рдореВрд▓ рд▓рд┐рдВрдХ:
https://stats.seandolinar.com/collecting-twitter-data-getting-started/
https://opensourceforu.com/2018/07/using-r-to-mine-and-analyse-popular-sentiments/
http://dkhramov.dp.ua/images/edu/Stu.WebMining/ch17_twitter.pdf
http://opensourceforu.com/2018/02/explore-twitter-data-using-r/
https://cran.r-project.org/web/packages/tm/vignettes/tm.pdf
PS Hint, KDPV рдкрд░ рдХреНрд▓рд╛рдЙрдб рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИред