Small world effect on Twitter

Final presentation


by Kristóf Furuglyás

tw_start
2019 Fall, Consultant: Eszter Bokányi, Eötvös Loránd University

Plan

  1. Setting up Twitter API $\checkmark$
  2. Gathering tweets $\checkmark$
  3. Cleaning the tweets $\checkmark$
  4. Creating word-graph $\checkmark$
  5. Exploring small-world properties $\checkmark$

Setting up an API

  • Needs accreditation from Twitter: need to be a developer
  • Using the previous knowledge from the dataexp course
  • Authentication and gathering is done with the $\texttt{tweepy}$ package
tw_api

Properties of the tweets

In [141]:
len(tweets)
Out[141]:
8483
In [142]:
tweets[0].keys()
Out[142]:
dict_keys(['created_at', 'id', 'id_str', 'text', 'source', 'truncated', 'in_reply_to_status_id', 'in_reply_to_status_id_str', 'in_reply_to_user_id', 'in_reply_to_user_id_str', 'in_reply_to_screen_name', 'user', 'geo', 'coordinates', 'place', 'contributors', 'is_quote_status', 'extended_tweet', 'quote_count', 'reply_count', 'retweet_count', 'favorite_count', 'entities', 'favorited', 'retweeted', 'filter_level', 'lang', 'timestamp_ms'])

The ratio of tweets where there was no need for a 'full_text' option:

In [291]:
texts = []
cnt = 1
for i, tweet in enumerate(tweets):
    try:
        texts.append(tweet['extended_tweet']['full_text'])
    except KeyError:
        texts.append(tweet['text'])
        cnt += 1
print(f"{cnt/i}")
0.7425100259495164

DataFrame of the tweets

In [147]:
df.head()
Out[147]:
id date source likes retweets name locs text len
0 1181300835122327552 Mon Oct 07 20:10:41 +0000 2019 <a href="http://twitter.com/download/android" ... 0 0 Peter Dudley [[51.543815, 0.010398], [51.626165, 0.010398],... Side saw good chance thwarted by last ditch ta... 147
1 1181300835239759872 Mon Oct 07 20:10:41 +0000 2019 <a href="http://twitter.com/download/iphone" r... 0 0 Damian Wawrzyniak [[52.603205, -0.202653], [52.620535, -0.202653... @KarenWhiteFood @tweetertucker @AdamHandling I... 322
2 1181300835348815874 Mon Oct 07 20:10:41 +0000 2019 <a href="http://twitter.com/download/iphone" r... 0 0 deli Muru [[54.543241, -6.036116], [54.648497, -6.036116... @maggimccvil Congratulations Caroline! ⭐️ 41
3 1181300836519075841 Mon Oct 07 20:10:41 +0000 2019 <a href="http://twitter.com/download/android" ... 0 0 Jordan Carroll [[53.438332, -3.058666], [53.501369, -3.058666... @Eric_Toffee1878 Original mate. Disturbing but... 57
4 1181300838846926848 Mon Oct 07 20:10:42 +0000 2019 <a href="http://twitter.com/download/iphone" r... 0 0 sarah guerra [[51.417277, -0.259465], [51.486036, -0.259465... You were great 14

Location of the tweets

Two dots denote the bounding box

tw_api
In [148]:
mymap = folium.Map(location=[52.809865,-2.118092],zoom_start=5.4,tiles='cartodbpositron')
for i in range(1000):
    marker = folium.Marker(location=df.locs[i][0],popup=df.text[i])
    marker.add_to(mymap)
folium.Popup(parse_html=True)
mymap
Out[148]:

Cleaning from unnecessary things

In [150]:
print(f"Text of tweet no.8: \n\n{df.text[8]}")
Text of tweet no.8: 

Bob Prattey: Liverpool Exhibition Centre - Do NOT host trophy hunting safari companies - Sign the Petition! https://t.co/W8VcURxSLN via @UKChange
In [151]:
clean = re.sub(r'http\S+', '', df.text[8])
print(f"\nAfter cleaning:\n\n{clean}")
After cleaning:

Bob Prattey: Liverpool Exhibition Centre - Do NOT host trophy hunting safari companies - Sign the Petition!  via @UKChange
In [152]:
clean_tknzd = [snow.stem(word) for word in re.findall('\w+',clean.lower())]
print(f"After tokenizing:\n\n{clean_tknzd}")
After tokenizing:

['bob', 'prattey', 'liverpool', 'exhibit', 'centr', 'do', 'not', 'host', 'trophi', 'hunt', 'safari', 'compani', 'sign', 'the', 'petit', 'via', 'ukchang']

Network of tweets

  • Tool: $\texttt{MultiGraph}$ by $\texttt{netwotrkx}$,

  • Connection = same tweet $\rightarrow$ the more tweet = greater weight,

  • Paralell edges possible, but no self-loops.

Exploring small-world properties

- and other network features -

  • The longest shortest path ($d_{max}$) between two nodes when $N$ nodes in the network:
$$ d_{max} \sim \log(N) $$
  • Scaling degree distrbution:
$$ p(k) \sim k^{-\gamma} $$
  • Communities
In [287]:
print(f"Num of nodes and edges: {len(g.nodes), len(g.edges())}")
print(f"Largest connected component consists of {lcc} nodes, which is {np.round(lcc/len(g.nodes()), 3)} of the all")
Num of nodes and edges: (22181, 1569028)
Largest connected component consists of 21279 nodes, which is 0.959 of the all
In [160]:
plotly.offline.init_notebook_mode(connected=True)
plotly.offline.iplot(fig1, filename='degdist')

The words with the highest degree:

In [164]:
plotly.offline.init_notebook_mode(connected=True)
plotly.offline.iplot(fig2, filename='mostcommnodes')

Below you can see the 20 most common occurrences ('most numerous paralell edge').

In [168]:
plotly.offline.init_notebook_mode(connected=True)
plotly.offline.iplot(fig, filename='simple-3d-scatter')
In [292]:
print(f"Num of nodes and edges in the multie, non-w: {gnodes}, {gedges}")
print(f"Num of nodes and edges in the non-m, weighted: {G2nodes}, {G2edges}")
print(f"Ratio between the nodes and edges: {G2nodes/gnodes}, {G2edges/gedges}")
Num of nodes and edges in the multie, non-w: 22181, 1569028
Num of nodes and edges in the non-m, weighted: 21982, 683128
Ratio between the nodes and edges: 0.9910283576033542, 0.4353829249701089
In [263]:
plotly.offline.init_notebook_mode(connected=True)
plotly.offline.iplot(fig, filename='degdistnew')
In [200]:
plotly.offline.init_notebook_mode(connected=True)
plotly.offline.iplot(fig10, filename='betw')

Communities

Community detection with Greedy Modularity algorithm:

$$ {\displaystyle Q={\frac {1}{2m}}\sum \limits _{ij}{\bigg [}A_{ij}-{\frac {k_{i}k_{j}}{2m}}{\bigg ]}\delta (c_{i},c_{j}),} $$

where

  • $A_{ij}$ edge weight between node $i,j$,
  • $k_{i}$ sum of weights of the edges of $i$,
  • $m$ normalization due to weights (sum of all weights),
  • $c_{i}$ and $c_{j}$ are the communities of node $i$ and $j$.

Goal is to minimize the modularity.

In [294]:
plotly.offline.init_notebook_mode(connected=True)
plotly.offline.iplot(fig10, filename='betw')
In [226]:
print(ones_twos)
['xrmjoel', 'katecrosby92', 'littlevix', 'kaydm49', 'viners_uk', 'bigmondo77', 'pwsplash', 'okwu_id', 'officialj_ramm', 'ste51510874', 'biseysolucem', 'alanweir85', 'shotonmo', 'alexxisfalcon', 'отлично', 'iainm97', 'ספרד', 'racisminfootbal', 'jokerlaugh', 'jackhosk', 'bewareofspock', 'impeachtrump', 'malisetweet', 'sleepmastereu', 'honestlyyyy', 'mqasem', 'classicshirt', 'حبيبي', 'mariacaulfield', 'occasion', 'fcroyals10', 'yhg_partington', 'riotbadg', 'ritirati', 'paulgarvey4', 'haww', 'aliiigriiiiaaa', 'loool', 'darpross', 'aesfet', 'wingyipstor', 'calumlawson_27', 'verbaldiahrreoa', 'pemalu', 'balang', 'shirlvemb', 'ditchthetori', 'hhclubnit', 'goddess', 'lxuren2000', 'teambori', 'امين', 'infoalishba', 'edie_raffi', 'anfieldedit', 'amirulhafiiiiz', 'stewood', 'fancy_that123', '_sammarriott', 'gawg', 'hollyyybain', 'يانجد', 'epsteinsuicidecoverup', 'saints1890', 'teamliam', 'rfitzgibbon_', 'mrprowsemath', 'jayneybarn', 'leedsandyorkpft', 'ollieoswin', 'j_cartwrightn0t', 'jwphxtographi', 'dup_onlin', 'dubiinbus', '한복낙서', 'adamlatchford', 'pgarrittypaul', 'izzycridland', 'fackkkk', 'za13aimbot', 'damianbaker1', 'buzzziiiinnnnnnnnn', 'helss19', 'رايك', 'tvcritic', 'toolzbab', 'hebridesnew', 'bradley_safc', 'xgabrielphoenix', 'fairwarning101', 'everymindmatt', 'markyholtend', 'valery_violet', 'riksredguard', 'lanaswond', 'abelarana', 'tedxdoncast', 'thehoundmma', 'perrycourtpri', 'chynafemdom', 'priceless', 'nor_edu', 'zaraali2k19', 'rolake_ba', 'barbervill', 'hcsarah', 'thundercat8366', 'melreylaw', 'fanfuck', 'kevvief', 'southcoastblok', 'jwhitehurst1989', '_bradleybutch', 'safiyya_db', 'stephiearnett', 'astonishingtrev', 'enjoyinglif', 'ryantwm', 'jackratuno', 'anaglogsdaughtr', 'asechat', 'gecfrost', 'londonahp', 'hawkpadilla', 'goalz', 'dbeasleyharl', 'driverfarms1', 'احم', 'sundaygirl74', 'marky_boy1968', 'mdrrr', 'tvtonightau', 'anfellyy', 'wassup', 'theumilk99', 'scollanangela', 'vamplacey', 'savestpeterward', 'grumpnow', 'katie_cak', 'tdunne888', 'sho_yah', 'jackcaudwel', 'overthink', 'oscarcain', 'passthepod', 'pranksnpup', 'skinny_fatblok', 'tomcampbel', 'seanwleach', 'johnjhammond', 'renad_alshareef', 'yike', 'adrianofcind', 'nrstirzak', 'michaelroseny', 'dusk', 'suzukicarsuk', 'moridura', 'destuhnym', 'adilabdalmahdi', 'readliverpoolfc', 'vgagymnast', 'heronbank_cat', 'lynnecampbell5', 'messyjessy85', 'revmaryhaw', 'bighairygrowl', 'doong', 'ambrob64', 'loooooooooool', 'momonobyy', 'tessabunney', 'sgtstockport', 'ra62156', 'wimbart', 'suzanne02190370', 'maashaallah', 'cathygremin', '07818114120', 'catalansfory', 'bathynotcathi', 'thepoliticalbe2', 'stevepith', 'kineticyouthltd', 'patchmcscratchi', 'fucker', 'sigh', 'wahaaga', 'nononononknon', 'vasazz', 'nl_vossi', 'nayimfromthehalfwaylin', 'therealsexpectr', 'leonagraham', 'こっちのおっさん達本当笑い声大きくて草', 'matttreaci', 'krystal_888', 'chrismouldink', 'pineappleslut', 'rgrodger', 'nottmbantam', 'itsjusdyl', 'ryanreynold', 'daus_sss', 'ilovem', 'thisiswhatticklesm', 'richydisney', 'joannablythman', 'finalfantasyxiv', 'sadietrent_92', 'elainedyson1', 'nani', 'theanxiousteac2', 'awesomofpl', 'hertscricket', 'collaredboi', 'drvbate', 'latemotivcero', 'justinemiller_', 'russiareport', 'mrgregblackman', 'kate_sir', 'katelawl', 'tiinawild', 'kulganofcryde', 'percochewin', 'oswtcatg', 'bigracek', 'k1ngfii', 'eeeek', 'tiredddd', 'allot50cornwal', 'sades023', 'ksjsksjs', 'broooooo', 'helpdip', 'jakeyl0l', 'dog_feel', 'fiyah', 'mrsclart', 'ohsinnerman', 'annhardey', 'ahmadjasem_', 'sirstevotimothi', 'silvioaquinog', 'saywhat', 'joolsd', 'vibin', 'deersh', 'سالخير', 'georgiarice_x', 'paulminor4r', 'akkitwt', 'heminguay_', 'alexcraftlfc', 'drinkinthemovi', 'simplelampoon', 'nuriyegülmenserbestbırakılsın', 'xxp123', 'notcapnamerica', 'harvkudo', 'openbritainshrp', 'bigspenderr1690', 'surbiton2012', 'bemoremariah', 'markpit35296344', 'itslibdemtim', 'deirdre_flynn', 'daffodilnebula', 'rhylhighp', 'dailymirror', 'pringster78', 'james_orrey', 'tescokingstonmk', 'marcrebillet', 'hantshighway', 'raahh', 'yayyy', 'aestheticsgroup', 'peteregan6', 'thesilentgirl6', 'tenorbenjohnson', 'bringiton28', 'being_ajay_', 'beaumontsduff', 'listerrd', 'followstevi']
In [230]:
for i in c:
    rtz = len(list(i))
    if 5 <= rtz <=21 :
        print(rtz, list(i)[:5])
21 ['द', 'आजक', 'स', 'क', 'ल']
20 ['brenmac01', 'themuddlersclub', 'fuckri', 'so', 'westindi']
18 ['b_isto__ar', 'indianregista', 'nycfc', 'hollybeang', 'towel']
18 ['28s', 'suemurray14', 'snatch', 'thekophq', 'mall']
16 ['ryan_kenny1', 'clivegreenwd', 'jasbar', 'cihfutur', 'eviecopland']
16 ['pcso3580ruth', 'alicel', 'emilylinka', 'have', 'shirleysetia']
14 ['эплу', 'хороший', 'очень', 'выпуск', 'iamvasabi']
14 ['ଆଙ', 'ସ', 'ନ', 'ପ', 'ଳନ']
14 ['samozřejmě', 'bambilionnásobně', 'platit', 'croplus', 'podl']
13 ['debbiezimmer54', 'jilliemari', 'newworlddd555', 'djdebster', 'suzannelepage1']
13 ['maureenb2b', 'burgessbev', 'joel_b2beditor', 'nailedit', 'elise_amil']
13 ['eileenbwyatt', '7th_layer', 'lovemypir', 'c_licar', 'yulvazquez']
13 ['boy1010tori', 'toxicambassador', 'sarzboogi', 'we', 'onejasonkayley']
13 ['brockleymax', 'jimiadefirany', 'catcornucopia', 'brockleybreweri', 'thebrockleybuzz']
12 ['misssdoherti', 'div', 'bravotv', 'scott_riley', 'button']
12 ['มต', 'ดเข', 'ท', 'ยย', 'วก']
11 ['rosefarmpreserv', 'godminsterfarm', 'pdevonian', 'jacobscreek', 'oliveset']
11 ['brexiteerjacob', 'pole', 'stepto', 'ageofblhyt', 'deal']
11 ['rabbi_matondo', 'kinnock', 'bentaleb', 'be', 'greedi']
10 ['allezamani', 'napaul_', 'queen_hon', 'iamdahmmi', 'toluwanikri']
9 ['私がチケットを手配したんですか', 'どなたか経由か言えないですかね', 'ツイッターだと', 'ところで', '気になります']
9 ['millbrookafc', 'hafc125', 'ilfcombeafc', 'swsportsnew', 'devon_fa']
9 ['they', 'rockcak', 'hughbarnett6', 'fir', 'rachamuffin']
9 ['untuk', 'aimanhadiii', 'tidak', 'amirabdlatif', 'u2']
8 ['itsbeenadayforcompoundword', 'jamlondon', 'jonnyburch', 'clearleft', 'intercomdesign']
7 ['pbuckley05', 'for', 'sophdoy', 'tyler_campbeii', 'profootballtalk']
6 ['الغلط', 'عليك', 'احـب', 'بالغلط', 'اسفه']
6 ['つまりサブスタンスこそ肝心', '英語はあくまでツール', '初めて英語は生きてくる', 'そのツールで何に取り組むか', '英語だけ話せてバカ騒ぎしても気持ちが良いだけで何も産まない']
6 ['هالشوف', 'يا', 'ويا', 'سعد', 'هالرجعه']
6 ['نواياكم', 'hamza_tekin2023', 'وينصر', 'ربنا', 'الحسنة']
6 ['bowmancourtney_', 'sixthemus', 'perryobre', 'westendcov', 'daniellest']
6 ['ministerktr', 'ani_digit', 'zcwz_ghmc', 'arvindkumar_ia', 'commissionrghmc']
6 ['passagechar', 'pathwayuk', 'itsgroundswel', 'lnnmhomeless', 'danabeal']
6 ['lacnetworkuk', 'westheathlac', 'maffpott', 'catdre', 'bemorepir']
6 ['kaan', 'wkwkwkwk', 'udaahh', 'silviahani_tj', 'eike']
5 ['learningfromphilosophi', 'dumbarton_acad', 'strathfamili', 'rmps', 'rme']
5 ['exeterchief', 'southwestcomm', 'moon_p1g', 'realaxelphim', 'backingben']
5 ['hayleylev', 'hannahport2', 'northpowerwomen', 'greatersport', 'gmmove']
5 ['kazimiergarden', 'thekazimi', 'spqrband', 'harvest_sun', 'smmmgmt']
5 ['mattbeasty24', 'chrispiper4', 'bleacherreport', 'p1p3s', 'jcmack03']
5 ['snoffl', 'garethjennings3', 'ldpierre1', 'pepere_06', 'samhepworth14']
In [233]:
for i in c[:10]:
    rtz = len(list(i))
    print(rtz, list(i)[:10])
4419 ['beginn', 'improv', 'temperatur', 'loncon19', 'xcase_', 'russtnuttz', 'davidhall75', 'wildearth', 'bbcnickrobinson', 'mike_lions_71']
2962 ['constitu', 'regain', 'counter', 'shock', 'goodnewshackney', 'popsicle_____', 'penyrheolgerrig', 'lack', 'unlikeli', 'uklabour']
2042 ['habit', 'gerad', 'slept', 'pusscat', 'ellarinajohn', 'wish', 'waveoflight2019', 'safeti', 'yoga', 'fat']
1996 ['rasa', 'pásalo', 'mahez', 'marialal', 'illustriousg40', 'botham_sam', 'gedl', 'tywydd', 'tien', 'farklı']
1331 ['quid', 'dvd', 'fu', 'profil', 'gibsidehotel', 'wildathearthq', 'th3gasman', 'merseaisland', 'lx', 'waywardhu']
930 ['حرفيا', 'monetari', 'بعد', 'ربيع', 'يوم', 'سادگی', 'richardlatto', 'womeninart', 'المباركة', 'قسومنا']
914 ['feather', 'angelahilleri', 'darzi', 'mindless', 'finest', 'twofussyblok', 'drinkwat', 'vicky_mcclur', 'tegen', '070906']
559 ['bhamcitycouncil', 'sarashamma', 'referendumnin', 'royalfamili', 'gadaviman', 'gabe', 'chelseafran', 'nickybenedetti', 'audibleuk', 'vch_shropshir']
378 ['lubnan', 'cleveley', 'bill', 'dancludlow', 'sore', 'wouldent', 'eleaonr', '104k', 'ptal', 'jamesaflanagan1']
297 ['9b051e07df75489', 'cee', 'timolarch', 'limegrovecar', 'hollywood', 'davidlammi', 'other', 'gmail', 'cooi_daddi', 'sherrymanning85']
In [235]:
print(list(c[5]))
['حرفيا', 'monetari', 'بعد', 'ربيع', 'يوم', 'سادگی', 'richardlatto', 'womeninart', 'المباركة', 'قسومنا', 'ومراته', 'الأميرات', 'spay', 'الخاطفة', 'انا', 'الله', 'آکھے', 'بمشي', 'ثبات', 'حرام', 'georgia', 'favourit', 'بیغیرت', 'cleansman', 'الأساسية', 'قالتلي', 'الساعه', 'ایتھے', 'ph', 'غير', 'فخاري', 'فالدنيا', 'الرز', 'announc', 'joalsubai', 'طبية', 'الكوارث', 'العصر', 'بس', 'الشيخ', 'بنت', 'يفيدها', 'خبراء', 'الرياض', 'بالضرورة', 'تمنى', 'كأس', 'حساب', 'وسيوارى', 'العزاء', 'الانستقرام', 'كتاب', 'كلمة', 'مع', 'مررره', 'غيمة', 'زاد', 'karimahamed9', 'اريد', 'wigan', 'alfaskara7', 'travel', 'بندہ', 'انت', 'خربوك', 'احب', 'ونعوضها', 'لحضور', 'سوق', 'صار', 'لاحول', 'نجيب', 'ف', 'ترهبني', 'منزل', 'شيخة', 'complimentari', 'نحمد', 'م', 'مازرت', 'حاجة', 'اسهل', 'جعلنى', 'الغدا', 'classicbritcom', 'أجامل', 'الفردوس', 'اضبطها', 'الصغيرة', 'دار', 'الخرينج', '٧', 'المتعبة', 'roaa_alsabban', 'ghumman', 'ليه', 'عمرى', 'والديكتاتورية', 'والشيخة', 'آگ', 'أيامك', 'ق', 'المقربه', 'ظلمه', 'اطلع', 'ويتناقشه', 'ومصطلحات', 'کھوتی', 'كله', 'دمتما', 'يتعايش', 'ا', 'الرفيق', 'باذن', 'رايحة', 'واحد', 'jurgen', 'وإن', 'ابو', 'hadizonouzi', 'وهالزمن', 'المعدي', 'واقعا', 'ها', 'قبل', 'كامل', 'فيه', 'عزیز', 'مبالغ', 'رحم', 'الخريف', 'يلقى', 'ومنتفضين', 'إلا', 'بالساعات', 'الفاتحة', 'ويوفقنا', 'انها', 'انتقل', 'الذي', 'د', 'بالدنيا', 'فرحا', 'من', 'باللي', 'اس', 'تركب', 'destin', 'فضله', 'أو', 'وتفاؤلا', 'كانت', 'alirabiei_ir', 'منطقه', 'كورية', 'پھر', 'صديقة', 'سياسة', 'الويوو', 'thelifeofcoko', 'مختوم', 'أهواه', '٢٠٠', 'عبدالله', 'فيفى', 'girlfriend', 'نسى', 'walkden', 'عن', 'هذه', 'قتل', 'مصداقيتها', 'halquraan14', 'بالسياسة', 'عون', 'عمق', 'leicscipd', 'الخطير', 'اوقف', 'ما', 'مما', 'rush', 'نشوفكم', 'الجميل', 'خلينا', 'رياض', 'هذا', 'الف_رحمه_ونور', 'بالستر', 'كنا', 'كل', 'الشخص', 'dakota', 'لمن', 'حكي', 'قطعة', 'تسمح', 'يابيونه', 'کر', 'احسن', 'دعواه', 'کھان', 'العقلية', 'قلوبهم', 'والوفاء', 'jfk_man', 'او', 'صديقتها', 'مش', 'وقت', 'سواك', 'وكانوا', 'فيا', 'صباحا', 'مبارك', 'له', 'مضى', 'موثر', 'الكورية', 'أرجو', 'الهادي', 'يشعل', 'ن', 'وأصلح', 'جيت', 'تلتقي', 'اعتمادها', 'مثالية', 'اكتر', 'ناس', 'تظلم', 'rouhani_ir', 'اني', 'عايشين', 'مو', 'مصدرها', 'الثورة', 'بمين', 'rezgo9', 'ر', 'والفساد', 'الان', 'اضطراباتنا', 'وجهاتنا', 'ظهر', 'أنت', 'اكثر', 'بمناسبة', 'منها', 'نه', 'قولي', 'لبنان_يتنفض', 'كثير', 'ليا', 'العطر', 'قدوم', 'مقبرة', 'حديق', 'خبر', 'مصرف', 'در', '١١', 'الشهرة', 'بالحسبان', 'تسال', 'شفا', 'پر', 'mysmuttylif', 'المفروض', 'مشكلتى', 'lancashir', 'نفسيه', 'العالمي', 'التي', 'وعلشان', 'التأجيل', 'أكثر', 'السالفة', 'ثقة', 'وأخرجني', 'cipd', 'وامان', 'الخانقة', 'خبرية', 'الرجال', 'اتعجب', 'تمت', 'aldresehadiy', 'tantanman_46', 'حدث', 'stopmisus', 'ي', 'محلللك', 'جدى', 'linajululian', 'اور', 'تتكلمون', 'السياسة', 'اتغدا', 'المؤجلة', 'قوى', 'طا', 'تخليك', 'هل', 'liesssssss', 'unitedinfocus', 'الجنة', 'نتشارك', 'بالخير', 'منك', 'مصاحبه', 'ومننشرها', 'باقات', 'الشهداء', 'تو', 'أصدق', 'دھرنے', 'يقول', 'أصعب', 'وأخواته', 'كان', 'أشووفه', 'حسبنا', 'لبنان', 'تھے', 'الجديدة', 'الزحمة', 'وسياسته', 'یوتھئیو', 'اجيب', 'وتقريبا', 'جيران', 'عنوان', 'نشرت', 'کے', 'وبالغصب', 'me3j', 'لندن', 'لو', 'تعالى', 'يجعل', 'الكلاس', 'كلها', 'مجاديفه', 'bee', 'غلاك', 'ناسب', 'ينحل', 'القلب', 'عرفتى', 'ھموطنوں', 'rynivv', 'عنى', 'بفرقتين', 'الخيال', 'نفسي', 'نصر', 'رني', 'السلطة', 'لذلك', 'النية', 'a_rrz', 'الناس', 'لغة', 'حال', 'قلبك', 'مفوض', '٩', 'شكر', 'النقدية', 'قصص', 'manchest', 'ماكسبنا', 'سيزون', 'سلامة', 'ان', 'كنت', 'mnvll5', 'فارس', 'ليس', 'ولكل', 'longhair', 'المالية', 'يستطيع', 'zad_15', 'تويتر', 'الا', 'نشئ', 'إني', 'شاور', 'اوصلك', 'بمدينة', 'وشو', 'مصغ', 'كدرت', 'الثاني', 'كبيرة', 'بداية', 'وضعي', 'طرفة', 'نفس', 'فطری', 'عمي', 'اخت', 'بود', 'کو', 'حياة', 'm_oman00', 'وهذا', 'دیجیئے', 'منع', 'دياركم', 'رہے', 'يعبر', 'وعن', 'alsammak85', 'الموافق', 'مين', 'league10', 'وآل', 'هنعوضها', 'و', 'كيف', 'ابتسم', 'کہ', 'سعادة', 'فيما', 'أنا', 'ہے', 'لأندية', 'ودام', 'الأنتيم', '855', 'محد', 'جانب', 'الأميرة', 'موسم', 'firewithin', 'والود', 'جیسے', 'يسمع', 'الن', 'bno0oo', 'الكلام', 'بانيه', 'این', 'فينا', 'ماذا', 'جثمانه', 'يرحمه', 'رحمتك', 'العالم', 'بھی', 'مركزين', 'crossedthelin', 'استفسار', 'ألف', 'سليمان_بن_حسين', 'قرأ', 'حالي', 'إليه', 'فى', '١٠', 'ghislaine_howard', 'أقول', 'جريح', 'المنيو', '١', 'والله', 'بكره', 'silwoodsocialseminar', 'يعانق', 'غدا', 'ماحقق', 'حق', 'يقدر', 'وصلتنا', 'اللي', 'تیرے', 'seemegraja74', 'عطر', 'مصرالجديدة', 'تعالی', 'وعهدي', 'زعزع', 'کردار', 'تهد', 'الاشياء', 'omar_alomair', 'سررررررر', 'گئی', 'ثالث', 'خالة', 'يعني', 'بالله', 'في', 'محمد', 'بنخاف', 'حدودك', 'وان', 'مصر', 'ibrahimrrz', '07445', 'نجاة', 'northenrailf', 'جانتی', 'وحسن', 'ردي', 'ومنشرها', 'مساعد', 'أمورنا', 'sneak', 'اربع', 'يفرق', 'زمان', 'للعبة', 'where', 'الشمولية', 'businesskfu', 'افتقد', 'وطيبا', 'هي', '311', 'تتشهد', 'عشان', 'ہوتی', 'lolwootbox', 'تشوفو', 'mackiemayor', 'لغيره', 'ofteneatingchocol', 'stephani', 'لولو', 'حسينية', 'لما', 'واحب', 'الأحلام', 'أحسن', 'يسألني', 'fiscal', 'هوشمندانه', 'اقتصادي', 'حبيبته', 'tehran422', 'لترسم', 'کرے', 'jordan', 'جميل', 'بريك', 'ستأتيك', 'قباني', 'ذلك', 'manc', 'بقا', 'فحسب', 'قتلهم', 'ادخل', 'يجابل', 'مصطلحاتنا', 'النظم', 'القمررررر', 'صلاح', 'کامل', 'hepplestonefineart', 'اطالع', 'نیست', 'أعطاه', 'خواهد', 'حبيتهم', 'grey', 'راض', 'seiz', 'الم', 'busineessckfu', 'السفر', 'الذكر', 'نموذج', 'الفورمولا', 'وبصراحه', 'أجبر', 'جنبي', 'ضعف', 'عطرا', 'أن', 'بصراحه', 'sept', 'بأكره', 'ياأجمل', 'فلا', 'العطلات', 'كلنا', 'الصامل', 'قررت', '١٢٠٠', 'جاء', 'درجات', 'معروف', 'الصلاة', 'تبادل', 'الدنيا', 'الأردني', 'أقذر', 'المجامل', 'تعرف', 'أبن', 'لي', 'حيث', 'عونك', 'لهما', 'غروب', 'الت', 'وجدتى', 'قوة', 'يسهل', 'belong', 'للعام', 'لعبي', 'petergraystock', 'ظرة', 'watt', 'تكون', 'جاءه', 'وأنا', 'cipdace19', 'أحيان', 'ثانيه', 'اللقاء', 'للأسف', 'اقتصاد', 'كسر', 'جہنم', 'يالله', 'منى', 'نقد', 'بچے', 'وشوووو', 'تسبقها', 'الخاص', 'والدى', 'تكن', 'أعلنا', 'بسباق', 'sourdough', 'هو', 'وابتسامك', 'الجوية', 'علاقتها', 'اششراء', 'ونحو', 'بغاها', 'میمو', 'وإنما', 'السناب', 'alwayslearn', 'واصحابه', 'الوافين', 'الملك', 'r_creedbalboa76', 'تبريرات', 'خزينة', 'القائمين', 'وكل', 'بشاير', 'نواياها', 'basmah_omar', 'أهداف', 'مرور', 'أ', 'المشكلة', 'صالح_الدلال', 'المرء', 'بــ', 'مصدر', 'كلن_يعني_كلن', 'ہن', 'نظيف', 'صفحة', 'الخاصة', 'اللهم', 'تواضعا', 'lolarabia', 'فرح', 'غیر', 'pathogen', 'اسمع', 'بکاو', 'النارا', 'سنوات', 'شخص', 'مانشستر', 'ه', 'مبروك', 'تابعوني', 'نفتح', 'salford', 'ودلوقتى', 'بمكة', 'يعو', 'يناديني', 'بهذه', 'صح', 'ياأميرة', 'قلب', 'الجميلة', 'whatawast', 'گل', 'للمعرض', 'الطايرة', 'عطا', 'هيلعب', 'شيء', 'behalf', 'اننا', 'ومش', 'الاوادم', '_jimmydx', 'النشمي', 'الموضوع', 'نحتاج', 'ماخذين', 'إبعادها', 'لاتعقدهة', 'اول', 'ومكالمات', 'وجدى', 'بتتعمل', 'بصوت', 'كانوا', 'rdmgough', 'شو', 'emanshaband', 'دقيقة', 'وهل', 'ياربي', 'ودامت', 'النادي', 'وعنده', 'احد', 'نعمه', 'يفشل', 'تصویر', 'اشراء', 'نیا', 'به', 'تتوقع', 'راجعون', 'إلى', 'القادم', 'عبد', 'اشوفكم', 'المحيط', 'لنهرب', 'مناسبين', 'انجليزية', 'يخيب', 'لگائی', 'اهو', 'البيت', 'سپورٹ', 'عندما', 'كسبنا', 'طموحاته', 'ibuttar', 'للبقاء', 'formula', 'عمري', 'ولا', 'خبير', 'جميع', 'لا', 'عين', 'جدا', 'الاربعاء', 'الأمور', 'يلي', 'جمالك', 'زيارات', 'حرکت', 'خيراته', 'دام', 'lulufalmulhim', 'المتظاهرين', 'عامرة', 'فرماۓ', 'لم', 'كده', 'بعض', 'کی', 'تيانا', 'الدوام', 'اللہ', 'بعضهم', 'عني', 'منين', 'نزار', 'شهيد', 'الخير', 'يكسر', 'القلوب', 'حمد', 'لعبة', 'بأن', 'تحقيقات', 'هذة', 'سودمند', '٥', 'الرشيدي', 'باللكاعة', 'اطوف', 'symbol', 'اليوم', 'اختبار', 'خسرنا', 'الوقت', 'بتواجدي', 'اپنے', 'جميعا', 'ساعه', 'انسانی', 'البشر', 'بالعكس', 'الvoic', 'صبحان', 'اذا', 'علشان', 'على', 'بتدخل', 'كاراباو', 'تتدف', 'إن', 'ولی', 'الطبية', 'جواز_العصمة_بيد_المرأة', 'اي', 'سنين', 'مروه', 'ليفربول', 'انه', 'لن', 'ضو', 'وأنت', 'شارع٥٠٦', 'alrayah', 'مظبوطة', 'منسية', 'مشكله', 'معه', 'حفظ', 'ظنك', 'بهامة', 'قديم', 'أدانيه', 'منسدقها', 'الروح', 'المساء', 'وقصص', 'يادبلن', 'المخلوع', 'البطولتين', 'وزاده', 'افلامهم', 'قاعده', 'صاحب', 'هنا', 'thefirewithin', 'وعزوتي', 'لينا', 'ترة', 'حتى', 'کیاے', 'چ', 'روحه', 'cheaper', 'منطقة', 'كلمتان', 'إسمها', 'منا', 'رحمة', 'sayyed3li', 'الخوه', 'لمشاركتنا', 'ماخسرنا', 'ياااارب', '1sheryfa', 'ماعرفت', 'لحربنا', 'سورة', 'بالتوفيق', 'تملا', 'قلبين', 'وفرحة', 'two', 'وحضورك', 'إليكم', 'إله', 'عائشة', 'اخر', 'microchip', 'عائلة', 'alrayahuk_i', 'تجربتها', 'الهجر', 'وحشتيني', 'ديز', 'هم', 'غضبانين', 'asmi_malik_', 'يمكن', 'bluebadg', 'يسعنا', 'حبيبتي', 'وربي', 'التغطية', 'وانا', 'تكلني', 'aishaahmedjug', 'المقتطفات', 'سعيد', 'peek', 'pizza', 'كيوت', 'شاء', 'الكوريين', 'بيخافوا', 'تدري', 'مقابلة', 'شکل', 'آمین', 'فعله', 'شأني']
In [261]:
szavak = ["meg", "vagy", "van", "vagyok", "vannak", "vagytok", "volt", "már", "kell", 
          "még", "és", "mint", "azt", "az", "akkor", "sem", "lehet", "mert", "minden", "olyan",
          "szerint", "pedig", "ezt", "ez", "így", "után", "úgy", "nagy", "fel", "majd", "két", 
          "nem", "nagyon", "aki", "akik", "akit", "kit", "kik", "most", "több", "lesz", "itt",
          "magyar", "ami", "amik", "amit", "mit", "első", "között", "amely", "hanem", "nincs",
          "más", "illetve", "alatt", "egyik", "volna", "arra", "kft", "ilyen", "azonban"] #deleted "a"
In [82]:
not_in = []
for szó in szavak:
    stemd = snow.stem(szó)
    if g.has_node(stemd):
        print(szó, stemd)
        print(list(G2.edges(stemd))[:7])
        print()
    else:
        not_in.append(stemd)
van van
[('van', 'and'), ('van', 'i'), ('van', 'of'), ('van', 'is'), ('van', 'the'), ('van', 'me'), ('van', 'my')]

mint mint
[('mint', 'by'), ('mint', 'last'), ('mint', 'follow'), ('mint', 'it'), ('mint', 'this'), ('mint', 'the'), ('mint', 'absolut')]

az az
[('az', 'is'), ('az', 'via'), ('az', 'bekliyoruz'), ('az', 'sunayakin'), ('az', 'ağabey'), ('az', 'kaldı'), ('az', '19')]

sem sem
[('sem', 'do'), ('sem', 'a'), ('sem', 'como'), ('sem', 'de'), ('sem', 'se'), ('sem', 'o'), ('sem', 'que')]

ez ez
[('ez', 'is'), ('ez', 'via'), ('ez', 'az'), ('ez', 'te'), ('ez', 'nagyon'), ('ez', 'megérintett'), ('ez', 'ügi')]

fel fel
[('fel', 'i'), ('fel', 'un'), ('fel', 'y'), ('fel', 'n'), ('fel', 'w'), ('fel', 'r'), ('fel', 'yn')]

nagyon nagyon
[('nagyon', 'is'), ('nagyon', 'via'), ('nagyon', 'az'), ('nagyon', 'te'), ('nagyon', 'megérintett'), ('nagyon', 'ez'), ('nagyon', 'ügi')]

aki aki
[('aki', 'by'), ('aki', 'and'), ('aki', 'to'), ('aki', 'save'), ('aki', 'up'), ('aki', 'work'), ('aki', 'of')]

kit kit
[('kit', 'good'), ('kit', 'and'), ('kit', 'just'), ('kit', 'to'), ('kit', 'over'), ('kit', 'bar'), ('kit', 'i')]

most most
[('most', 'good'), ('most', 'chanc'), ('most', 'by'), ('most', 'last'), ('most', 'and'), ('most', 'now'), ('most', 'just')]

ami ami
[('ami', 'good'), ('ami', 'and'), ('ami', 'to'), ('ami', 'your'), ('ami', 'you'), ('ami', 'have'), ('ami', 'a')]

más más
[('más', 'me'), ('más', 'a'), ('más', 'london'), ('más', 'porqu'), ('más', 'como'), ('más', 'un'), ('más', 'de')]

In [80]:
for i in sorted(c):
    for cou, szó in enumerate(szavak):
        stemd = snow.stem(szó)
        if stemd in i:
            print(cou, stemd, len(i))
11 mint 4441
13 az 4441
15 sem 4441
23 ez 4441
28 fel 4441
32 nagyon 4441
36 kit 4441
52 más 4441
2 van 2874
33 aki 2874
38 most 657
43 ami 139

Conclusions

  • Managed to gather tweets
  • Familiarized myself with NLP
  • Created word graph
  • Showed small-world effect
  • Communities found different languanges

Thank you for your attention!


elte

2019 Fall, Eötvös Loránd University