Upload 2 files
Browse files- Book3.csv +201 -0
- NaiveBayes_3_Classes.ipynb +326 -0
Book3.csv
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Sentence,Formality,Professional,Friendlyness
|
| 2 |
+
Björgunarsveitin Ingunn bjargaði fjórtán ára dreng í fyrr í kvöld sem var í sjálfheldu úti á Laugarvatni. ,1,1,0
|
| 3 |
+
"Hann var á lítilli bátkænu, áralaus og bátinn rak hratt undan vindi út á vatnið.",1,1,0
|
| 4 |
+
"Eva Heiða Önnudóttir, prófessor í stjórnmálafræði, telur að vendingarnar segi landsmönnum einkum tvennt. ",1,1,0
|
| 5 |
+
Og hins vegar að aukið fylgi Samfylkingarinnar megi líklega rekja til nýrra áherslubreytinga innan flokksins.,1,1,0
|
| 6 |
+
Hún segir sorgina óbærilega en erfitt hafi gengið að fá upplýsingar um framgang málsins. ,1,1,0
|
| 7 |
+
Öll samskipti fari í gegnum túlk og nýr túlkur komi jafnóðum að.,1,1,0
|
| 8 |
+
Vitni voru að árásinni sem tilkynntu málið til lögreglu sem kom skjótt á vettvang.,1,1,0
|
| 9 |
+
"Tvö hinna grunuðu voru handtekin á fimmtudagskvöld, einn sakborninga var handtekinn aðfararnótt fimmtudags",1,1,0
|
| 10 |
+
Hann heitir Finnur og er á fimmtugsaldri. ,1,1,1
|
| 11 |
+
Hver er sinnar gæfu smiður.,1,0,1
|
| 12 |
+
Höfundur bókarinnar lést í gær.,1,1,0
|
| 13 |
+
Hann hafi lokið doktorsprófi í skurðlækningum frá Háskólanum í Lundi árið 1994.,1,1,0
|
| 14 |
+
"Í sáttinni var lýst afmörkun hins eignarnumda lands, greiðslum fyrir það og yfirtöku.",1,1,0
|
| 15 |
+
Ákærða kvaðst ekki vilja segja til um það hver hefði ekið bifreiðinni en það hafi ekki verið hún.,1,1,0
|
| 16 |
+
Þá sé því mótmælt að dómar þeir sem nefndir séu í stefnu hafi fordæmisgildi í málinu.,1,1,0
|
| 17 |
+
"Eins og fram hafi komið hafi áfrýjunarnefnd samkeppnismála lækkað sektina í 60.000.000 króna, eða um 25%.",1,1,0
|
| 18 |
+
Þessi galli verður rakinn til þess að aðkeyptur byggingarhlutur er ófullnægjandi.,1,1,0
|
| 19 |
+
Málskostnaður í héraði og fyrir Hæstarétti fellur niður.,1,1,0
|
| 20 |
+
Hann reiknist frá þeim degi sem kröfuhafi hafi fyrst getað átt rétt til efnda.,1,1,0
|
| 21 |
+
Hafi þar verið ákveðið að vitnið myndi senda stefnda uppkast að samningi.,1,1,0
|
| 22 |
+
Það hafi ekki verið fyrr en í lok júní eða byrjun júlí 2008 sem sú krafa hafi fyrst komið fram.,1,1,0
|
| 23 |
+
"Ákærði greiði Geysi shops ehf., skaðabætur að fjárhæð 155.600 krónur.",1,1,0
|
| 24 |
+
Samkvæmt framansögðu var hún undir talsvert miklum áfengisáhrifum er atvik máls gerðust.,1,1,0
|
| 25 |
+
Til vara krefst hún þess að hinn kærði úrskurður verði staðfestur.,1,1,0
|
| 26 |
+
Stefnandi mótmælir þessum tímafjölda sem röngum.,1,1,0
|
| 27 |
+
Hún hafi barist um og ekki verið hægt að ræða við hana.,1,1,0
|
| 28 |
+
Þá telur dómurinn frásögn kæranda í skýrslutöku í Barnahúsi einkar trúverðuga.,1,1,0
|
| 29 |
+
Heildarstarfshlutfall stefnanda var því 75%.,1,1,0
|
| 30 |
+
Skýrslan hefði verið tekin á Hlaðgerðarkoti upp í hljóði og mynd.,1,1,0
|
| 31 |
+
Stefnda telur engin skilyrði sakarreglunnar uppfyllt í máli þessu.,1,1,0
|
| 32 |
+
Að mati stefnda sé því ljóst að ekki hefði dugað að ganga skemur en gert var.,1,1,0
|
| 33 |
+
Grenndarhagsmunir séu lögvarðir hagsmunir sem stefnandi eigi hér að gæta.,1,1,0
|
| 34 |
+
Eignina hefur hann metið eftir bestu samvisku og þekkingu.,1,1,0
|
| 35 |
+
"Reikningurinn sé enn ógreiddur, þrátt fyrir ítrekaðar innheimtutilraunir.",1,1,0
|
| 36 |
+
Ekki hafi verið sýnt fram á að umrætt landsvæði hafi verið numið í öndverðu.,1,1,0
|
| 37 |
+
Kemur fram að stefnda hafi tekið íbúðina á leigu frá og með maí 2015.,1,1,0
|
| 38 |
+
Hún hefði verið þræll og hvorki haft lykla að íbúð né útidyrum.,1,0,0
|
| 39 |
+
"Stefnandi hefði þá sagt að hann ætlaði ekki rukka um neitt, kannski 15.000 krónur.",1,1,0
|
| 40 |
+
Þar var ekki gert ráð fyrir að neinn kostnaður hlytist af greiðslu gatnagerðargjalda.,1,1,0
|
| 41 |
+
Stefndi hafnar því enn fremur að háttsemi hans hafi verið saknæm eða ólögmæt.,1,1,0
|
| 42 |
+
Stefndi kveður stefnanda hafi falsað nafn sitt undir skjölin.,1,1,0
|
| 43 |
+
"Í samantekt og niðurstöðu segir að stefnandi hafi orðið fyrir tveimur slysum, í mars 1997 og mars 1998.",1,1,0
|
| 44 |
+
Ekki kvaðst vitnið minnast áverka á ákærða.,1,1,0
|
| 45 |
+
Ákærði hefði kýlt brotaþola eitt högg með krepptum hnefa í andlitið.,1,1,0
|
| 46 |
+
"gaskútum og einum 9 kg, frá útigrillum eða frá fyrirtækjum í nágrenni við heimili sitt.",1,1,0
|
| 47 |
+
Hann hafi ekki gefið slíkt til kynna enda hefði þá verið beðið eftir honum.,1,1,0
|
| 48 |
+
Ákærði mótmælir kröfunni sem vanreifaðri.,1,1,0
|
| 49 |
+
"Brot gegn lögreglulögum,",1,0,0
|
| 50 |
+
Slysið hafi átt sér stað kl. 13:00.,1,1,0
|
| 51 |
+
Hafi þau svo látið gólfið þorna vel og síðan flotað það til lagfæringar eftir motturnar.,1,1,1
|
| 52 |
+
Hann sé byggingafræðingur að mennt en hafi ekki unnið við það lengi.,1,1,0
|
| 53 |
+
Sú staðfesting fékkst 31. sama mánaðar og samdægurs var tilkynnt opinberlega um söluna.,1,1,0
|
| 54 |
+
Stefndi kvaðst ekki hafa fengið það blað.,1,1,0
|
| 55 |
+
"Þá var Guðmundur í Reykjavík, og réð Símon hann til sín sem einkaritara.",1,1,0
|
| 56 |
+
Á það að sýna hversu hann var vel að manni.,1,1,0
|
| 57 |
+
"Þegar hann er kominn heim í túnið, þykir honum allur frambærinn vera hruninn niður að grunni.",1,1,0
|
| 58 |
+
Þremur mánuðum síðar hafði Filip ekki borgað eyrisvirði til heimilisins.,1,1,0
|
| 59 |
+
Ekkert bréf berst fyrir helgi.,1,1,0
|
| 60 |
+
Það er spennandi að fást við vísindastarf í læknisfræði á Íslandi.,1,0,1
|
| 61 |
+
Ég hef lagt mitt lóð á vogarskálarnar til að breyta þessari ákvörðun.,1,1,0
|
| 62 |
+
Menntakerfið ber ríka ábyrgð á því að stuðla að virkri þátttöku barna og ungmenna.,1,1,0
|
| 63 |
+
Ráðið er skipað til tveggja ára.,1,1,0
|
| 64 |
+
Í einstaka tilvikum geta þau liðkað fyrir samskiptum eða verið betra að hafa þau í sumum löndum.,1,1,0
|
| 65 |
+
Stúlkunni var haldið í öndunarvél og var hún meðhöndluð við hjartabilun.,1,1,0
|
| 66 |
+
Þannig fæst mælikvarði þar sem talan 1 merkir að fjöldi tilvitnana í grein er jafn heimsmeðaltalinu.,1,1,0
|
| 67 |
+
Virðing fyrir ólíkum trúarbrögðum og hefðum.,1,0,0
|
| 68 |
+
"Í samtíma sögunnar er farið í aðra ferð út fyrir borgina, til eyju í Vestmannaeyjum.",1,1,1
|
| 69 |
+
"Eins og fram kom í annál síðasta árs, var sett á stofn orðanefnd á vegum félagsins á aðalfundi 1982.",1,1,0
|
| 70 |
+
Í stað þess að játa minni sökina um grimmt einelti gerast þau sek um mannsmorð.,1,0,0
|
| 71 |
+
Hér fór saman lág tíðni jákvæðra svara og hátt greiningarhlutfall litningagalla.,1,1,0
|
| 72 |
+
Á aðalfundinum var samþykkt samhljóða að félagsgjöldin fyrir árið 2011 verði 26.400 krónur.,1,1,0
|
| 73 |
+
Sérstaka athygli vekur hve þær álasa sér fyrir að skorta karllæga eiginleika.,1,1,0
|
| 74 |
+
Og þar vantar hann skilning á muninum á þessu tvennu.,1,1,0
|
| 75 |
+
Hún samræmist því vaxandi einstaklings- og fjölhyggju betur en núgildandi trúmálabálkur.,1,1,0
|
| 76 |
+
Slímkrabbamein í okkar rannsókn voru tíðari í hægri hluta ristils en í vinstri.,1,1,1
|
| 77 |
+
Már Kristjánsson á fundi viðbragðsstjórnar og farsóttarnefndar.,1,1,0
|
| 78 |
+
Matvæli sem innihalda of mikið af histamíni geta valdið matareitunum.,1,1,0
|
| 79 |
+
Þörf er á næmari sýklafræðilegum greiningaraðferðum hjá þeim sem eru með neikvæðar ræktanir.,1,1,0
|
| 80 |
+
Þegar niðurstöðurnar voru skoðaðar kom í ljós að svartir stóðu sig einmitt verr en hvítir.,1,1,1
|
| 81 |
+
Og í orðabókum er að finna bestu merkingarfræðilegu lýsingu orðaforðans sem við þekkjum.,1,0,1
|
| 82 |
+
Undanfarin ár hefur Stefanía stýrt rannsóknarvinnu teymisins með Ingileif.,1,1,0
|
| 83 |
+
Ristilþrengsli af völdum bólgueyðandi lyfja,1,0,0
|
| 84 |
+
"Rökræðulýðræði varð því nýtt líkan, ólíkt öðrum.",1,1,0
|
| 85 |
+
Hvíteygða karlflugan eignaðist bara rauðeygð afkvæmi.,1,0,0
|
| 86 |
+
Núna er um leið fortíðin.,1,0,0
|
| 87 |
+
Í úrslitaglímunni hafði Hjördís betur og varð Íslandsmeistari.,1,1,0
|
| 88 |
+
Sýslumaðurinn á höfuðborgarsvæðinu féllst á lögbannið.,1,1,0
|
| 89 |
+
Þrátt fyrir það hafa menn setið fast við.,1,1,0
|
| 90 |
+
"þá skiptir ekki máli hvort þú ert frá Íslandi, Noregi, Bretlandi, Líberíu eða Afganistan.",1,0,0
|
| 91 |
+
Valur spilaði á ólöglegum leikmönnum í leiknum og var Árbæingum því dæmdur 3-0 sigur af skrifstofu KSÍ.,1,1,1
|
| 92 |
+
Verið er að rannsaka flak þýsks flutningaskips sem áhöfnin sökkti sjálf í september 1939.,1,1,0
|
| 93 |
+
Það er víðar en á Íslandi sem ótíð hefur tafið loðnuveiðar.,1,1,0
|
| 94 |
+
Fréttablaðið greindi frá því í vikunni að hin nýja stofnun yrði staðsett á landsbyggðinni.,1,1,0
|
| 95 |
+
Einu salernin sem eru í boði á Vífilstöðum eru frammi á gangi.,1,0,1
|
| 96 |
+
Höskuldur segir ekki við húsráðanda að sakast.,1,1,0
|
| 97 |
+
Þetta er í fyrsta sinn í sögu Frakklands sem forseti landsins mætir á fund sem þennan.,1,1,0
|
| 98 |
+
Hún segir bankann í góðu samstarfi við yfirvöld og Seðlabanka Íslands.,1,1,0
|
| 99 |
+
Kosningakrafan heyrist nú æ oftar.,1,1,0
|
| 100 |
+
Bænastund stendur nú yfir í Safnaðarheimilinu í Sandgerði vegna fráfalls ellefu ára drengs.,1,1,0
|
| 101 |
+
Báðar eru viðeigandi og nauðsynlegar þegar kemur að því að útskýra ljósaperu.,1,1,0
|
| 102 |
+
Unglingsdrengur í sjálfheldu...? Hvað er unglingsdrengur Viktor Örn Ásgeirsson??? Lærum íslensku!,0,0,0
|
| 103 |
+
"piss og prump, þegiðu Einar þú leiðinegi maður.",0,0,0
|
| 104 |
+
Froðusnakkið þar verður takmarkalaust undir stjórn Þórdísar NATO dúkkulísu og Co,0,0,0
|
| 105 |
+
KOSTAR NÝ ÚT ÚR BÚÐ KR. 65.000.- SLÆ AF HENNI KR. 20.000.- ER MEÐ TVÆR ÓNOTAÐAR FLOTLÍNUR TIL SÖLU LÍKA,0,0,0
|
| 106 |
+
"Einu sinni var til folk.is líka, en það er búið að loka fyrir það..",0,0,0
|
| 107 |
+
"nei skilst ekki :( væri einmitt svo mikið til í það, ég átti nokkur skemmtileg blogg þar líka",0,0,1
|
| 108 |
+
"Þetta eru hvorki bankabækur né bósasögur,, heldur tölvupóstar.",0,0,0
|
| 109 |
+
Hann sendi póstinn til Lárusar Welding sem var minnir mig bankastjóra bankans,0,1,1
|
| 110 |
+
"Þarna tala góðir gæjar, good fellows, svo maður tileinki sér ísl-enskuna í póstunum.",0,0,1
|
| 111 |
+
"rifjaði upp gamla takta í körfubolta um helgina, var búin að gleyma hvað það er faaaáránlega gaman.",0,0,1
|
| 112 |
+
ýkt reiður og frústreraður af einhverjum sökum en Vermont samt falleg og fagleg.,0,0,1
|
| 113 |
+
"Jæja, ég loksins að braggast af einhverri víruspest. Grey Baldur Freyr datt með afa sínum og tvíbrotnaði á löpp í gær.",0,0,1
|
| 114 |
+
Djöfulli fínt að leggja sig í bílnum.,0,0,1
|
| 115 |
+
Fórum á Madagascar 2 í gær með Heimi Má og Bjarka frænda hans - Rosa stuð.,0,0,1
|
| 116 |
+
þessi köttur er yndislegur hún fylgir mér hvert sem er og verður sjúklega fúl ef ég þarf að standa upp úr sófanum haha.,0,0,1
|
| 117 |
+
maður vonar að góð bandvídd til allra á landinu sé í vinslu en það er stærsta atriðið að mínu mati,0,1,1
|
| 118 |
+
við sendum basis meldingu út af þessu vandamáli fyrir helgi...,0,0,0
|
| 119 |
+
"Entourage season 5 over, hvað á ég eiginlega að gera þangað til í sept '09?",0,0,0
|
| 120 |
+
"próf í badda á morgun, verður að ná 100 shuttlecocks",0,0,0
|
| 121 |
+
ég er ógeðslega massaður,0,0,0
|
| 122 |
+
"til hamingju með gangsetninguna þú gamla geit, bráðum mamma bara!",0,0,1
|
| 123 |
+
"gott stöff, er til rss? (sé að tengt er í frétta feedið)",0,0,0
|
| 124 |
+
WTF! Það er hvorki hægt að nota Aukakrónukortið í Hagkaup né Bónus!! Mig vantar mjólk ekki gleraugu eða blómabúnt!! HMPF!!,0,0,0
|
| 125 |
+
jólahlaðborð eru svo overrated drasl,0,0,0
|
| 126 |
+
"hakkavélin er tilbúin sem slík, en ég er að skoða að komast í efnið til að hakka... set nokkra klst í verkið eftir próf",0,0,0
|
| 127 |
+
fórnarlamb ... skemmtileg samsetning tveggja orða,0,0,0
|
| 128 |
+
Nú hlýtur Eiður að fara að skora maður Hann skorar alltaf þegar Barcelona skorar meira en 6 mörk í 1 leik.,0,0,0
|
| 129 |
+
"stídlord dizkurinn, hlusta á hann í 5 skipti á tveimur dögum",0,0,0
|
| 130 |
+
"er ekki sátt við thanksgiving vegna þess að ég fékk ekki nýjan skammt af Gossip Girl, Ugly Betty og Grey's í þessari viku...",0,0,0
|
| 131 |
+
"Æfing, sauna, ísturta, suna, íssturta, sauna, íssturta og svo 120 min nuddi og endað á góðum mat That's life!",0,0,1
|
| 132 |
+
"elskar Kallakaffi, styð það að Rúv sýni gamla íslenska þætti, Sigla Himinfley má vera næst á dagskrá.",0,0,1
|
| 133 |
+
1 dagur eftir og svo er ég hætt í vinnunni ;-) jíbbí jey. Svo er bara að finna sér aðra vinnu eftir áramót,0,0,1
|
| 134 |
+
maður bara skrifar eitthvað!! hvað er vandamálið??!? SKRIFAR EITTHVAÐ HÉRNA. Í REITINN,0,0,0
|
| 135 |
+
það er alveg fáránlegt að LiSA development team sé ekki með twitter... kommon - sósjallinn er málið í dag,0,0,0
|
| 136 |
+
ÞÚ BARA SKRIFAR Í REITINN OG SVO KEM ÉG OG LES ÞAÐ ÓKEI???,0,0,0
|
| 137 |
+
fræsa geisladizka fyrir grænan party vento.,0,0,0
|
| 138 |
+
"sko ég hef ekki hugmynd um það - en ég er allavegana geðveikt heitur á twitter, allir elska mig",0,0,1
|
| 139 |
+
er búin að vera rosalega dugleg í dag þvi þetta er sidasta helgi í skilum framundan.,0,0,1
|
| 140 |
+
Mamma er komin á facebook... þá hlýtur eitthvað annað og nýtt að verða vinsælt.,0,0,1
|
| 141 |
+
helvítis andskotans fokk - allt í fokking rúst hérna,0,0,0
|
| 142 |
+
drekka græna leðju til að reyna að ná úr mér veikinni,0,0,0
|
| 143 |
+
"ókei...ég skal segja ykkur, ekki tryllast úr spennu (10.04.2007) ""sæna mig inn á twitter"" had i only known they were taping it!!",0,0,0
|
| 144 |
+
"er að lesa 40 síðna grein í CCK08 sem heitir 2020 and beyond og þetta er nú skrítin framtíðarsýn, en kannski ekki alveg svo galin.",0,0,0
|
| 145 |
+
"Ýkt ríðandi reiður og frústreraður, Fokkið ykkur öll!",0,0,0
|
| 146 |
+
À leiðinni til Keflavíkur út á flugvöll og fokkin -4 gráður úti.,0,0,0
|
| 147 |
+
Amsterdam flug eftir klullara.,0,0,1
|
| 148 |
+
Borgaði 5.5 evrur fyrir bjór á 5 stjörnu hótelinu og er á leiðinni í ofurmarkaðinn með 2x Þjóðverjum því þeir kunna að spara.,0,0,1
|
| 149 |
+
"ekki að fara í neina vitleysu í kvöld, því hlutafleiður eru mínar ær og kýr",0,0,1
|
| 150 |
+
er að drekka rauðvín og hlusta á kings of leon og að klára námsmöppu og váá ég er að breytast í hrikalegan nörd!!!,0,0,1
|
| 151 |
+
"Er að rjúka upp á fæðingardeild núna með Örnu, vatnið að fara og allt að gerast.",0,0,1
|
| 152 |
+
þannig að Stím (steam?) var bara heitt loft ? ótrúlegt hvað fólk hefur keypt af heitu lofti í gegnum árin...,0,0,0
|
| 153 |
+
Hvað er Communist Pal - hljómar intressant? Ertu búinn að tékka á nýju Reykjavík!?,0,0,1
|
| 154 |
+
Kominn heim eftir flakkerí dagsins.,0,0,1
|
| 155 |
+
"Vantar Nord Electro 2, staðgreitt í íslenskum klósettpappír",0,0,0
|
| 156 |
+
ætlar að hlusta á breakcore þangað til hann eipar!,0,0,0
|
| 157 |
+
"MBL segir að nokkur hundruð manns (annarstaðar í greininni ""nokkrir manns"") séu mættir á Arnarhól meðan Visir segir nokkur þúsund?",0,0,0
|
| 158 |
+
"keypti vildarpunkta á 1,5 kr., gat ekki notað þá, og fær núna „spennandi jólatilboð“ að selja punktana aftur fyrir 0,6 kr. w00t!",0,0,0
|
| 159 |
+
"vill að útlendingar megi kaupa 8% eða 13% í íslenskum fyrirtækjum með nöfn sem byrja á D eða E, ef þeir biðja á réttri og óbjagaðri íslensku",0,0,0
|
| 160 |
+
"#$#! þegar PS3 kláraði loksins að update-a sig (40 mín) kom leikurinn með ""New version.",0,0,0
|
| 161 |
+
Hversu lítið langar manni þá að læra.... morgundagurinn verður þó vonandi notaður í lærdóm,0,0,0
|
| 162 |
+
"nú fer ég að sofa,,,eki spurning !!!",0,0,0
|
| 163 |
+
"Hvernig er hægt að vera svo vitlaust að vera að mynda eitthvað sem er 5km í burtu, standandi upp við gler en samt ákveða að nota flash?",0,0,0
|
| 164 |
+
"leggur til að nota orðið ""fyndskeið"" fyrir ""sketch""",0,1,0
|
| 165 |
+
Hverjum datt það í hug að leyfa ekki að horfa á Full Episodes af South Park online í Bretlandi!,0,0,0
|
| 166 |
+
þetta er aaaaalveg fáránlegt að hafa einhver almenningsklósett á vinnustað hvað er að þessu fólki sem hannaði þetta?,0,0,0
|
| 167 |
+
"vantar meiri gleði til að framkvæma...já, svona framkvæmdagleði!",0,0,1
|
| 168 |
+
Viðtal við mig í Morgunblaðinu í dag út af skrípóinu haalelúja kallinn er frægur haldiði ekki að mamma sé ekki stolt,0,0,1
|
| 169 |
+
Hvað meinar Davið eiginlega? Hann *ER* í pólitík.,0,0,0
|
| 170 |
+
"Skil þig, það tók mig marga mánuði að átta mig á því hvaða tilgangi þetta ætti allt að þjóna.",0,1,1
|
| 171 |
+
"var að versla sér handakúta, vindsæng, kafaragræjur, belti, axlabönd, ný gjaldeyrislög og krullujárn því Jens ætlar á flot í kvöld!",0,1,1
|
| 172 |
+
er bara í ruglinu núna...það verður að fara að breytast,0,0,1
|
| 173 |
+
Hahaha maður heyrir þetta ekki á Bylgjunni fyrir jólin.,0,0,1
|
| 174 |
+
á þriggjára strák og áttatíu og einsárs ömmu,0,0,1
|
| 175 |
+
Heyrði flugfreyjurnar tala um að einhver hafi ælt í vélinni skal svoo lofa ykkur að það var yfir mitt sæti.,0,0,1
|
| 176 |
+
"Hnébeygjuæfing í dag, Létt og beltislaust, Að hella mér út í æfingar aftur, Hangikjöt er jafnvel betra daginn eftir.",0,0,1
|
| 177 |
+
BLÁFJÖLL UM HELGINA!! ég er búinn að leggja inn pöntun á vetrarkorti 15000 kall til 5 jan,0,0,1
|
| 178 |
+
"verst ég hef örugglega engan fokking tíma eftir áramót, verð í skóla og einhverri drullu",0,0,0
|
| 179 |
+
Er fastur í því að rökræða á bloggum.....argasta vesen...,0,0,1
|
| 180 |
+
"ég er búinn að glápa á það, hafði bara ekkert um það að segja",0,0,0
|
| 181 |
+
Góður... þessi fyrsti er svívirðilegur! Held að hann eigi hlut í bankahruninu,0,0,1
|
| 182 |
+
Seinni umferð hjá tannsa lokið og ég finn ekki fyrir neinu!,0,1,1
|
| 183 |
+
Hvað er besta íslenska Guerilla Marketing stunt ársins?,0,1,1
|
| 184 |
+
still FIFA - lærdómur er ekkert það ofarlega í huga mér,0,0,0
|
| 185 |
+
grillaði pylsur í jólastormi Fékk sér svo jólaköku og klippir nú jólamyndband ársins með jólabarnið Bon Iver í jólaeyrum hvað er klukkan?,0,0,0
|
| 186 |
+
er að vinna drasl verkefni fyrir fólk sem virðist ekki hafa heyrt um Google...,0,0,0
|
| 187 |
+
"Ekki opna „þú ert fyndinn á þessu myndbandi"" eða „þú lítur æðislega út á þessu myndbandi"" - Það er vírus.",0,0,1
|
| 188 |
+
"nei, ég hef ekki verið í morgunmat hjá nógu mörgum konum á Akureyri. En þú?",0,0,1
|
| 189 |
+
Búinn að gefa blóð en þarf að fara til sjúkraþjálfara útaf hnénu.,0,1,1
|
| 190 |
+
Litli er svolítill gubbari. Búinn að gubba yfir hálfa íbúðina. Kósýheit í kvöld.,0,1,1
|
| 191 |
+
Krílið fór í sitt fyrsta bað með pabba sínum og engin gubbulykt - Rosa þægilegt að liggja í baði!,0,1,1
|
| 192 |
+
"afhverju vakandi ad gera ekkert, afhverju??",0,0,0
|
| 193 |
+
Á Krúa Thai með Skúla Þórðarsyni og Þórði Skúlasyni í hádeginu staðfestum við endanlega að 1stk Pad Thai dugar til að fæða tvo You know,0,0,0
|
| 194 |
+
eitt það besta sem þú hefur gert fyrir mig er að láta mig fá Live in Berlín plötuna!,0,0,1
|
| 195 |
+
"ég hef mikið hugsað það undanfarið, gengur samt ekki upp því ég nota feis til að tala við útlendingana",0,0,0
|
| 196 |
+
"Djöfull ertu hellaður í Moggaviðtalinu, Ástarkveðjur á ögurstundu (Sjitt.)",0,0,0
|
| 197 |
+
brunarústirnar hinum megin við götuna minna mig eitthvað svo mikið á tónlistarhúsið ...,0,0,0
|
| 198 |
+
Þetta lítur svoldið út eins og spam eða malware síða svona útlitslega séð. Skiptir sjálfsagt ekki máli í síma.,0,1,1
|
| 199 |
+
Win lítur mjög vel út! Virkar allt og (nánast) ekkert sem böggar mann,0,0,1
|
| 200 |
+
"Horfði á Slumdog Millionaire og RocknRolla í gærkvöldi, báðar alveg eðal myndir sem ég mæli hiklaust með.",0,0,1
|
| 201 |
+
Er að hjálpa Kristínu að læra og skil ekki orð af því sem hún er að skrifa - Hver skrifar ritgerðir á þýsku?!,0,0,1
|
NaiveBayes_3_Classes.ipynb
ADDED
|
@@ -0,0 +1,326 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "code",
|
| 5 |
+
"execution_count": 1,
|
| 6 |
+
"metadata": {
|
| 7 |
+
"id": "H1hq1Bwr02H_"
|
| 8 |
+
},
|
| 9 |
+
"outputs": [
|
| 10 |
+
{
|
| 11 |
+
"name": "stdout",
|
| 12 |
+
"output_type": "stream",
|
| 13 |
+
"text": [
|
| 14 |
+
"Requirement already satisfied: transformers in /opt/homebrew/lib/python3.11/site-packages (4.27.1)\n",
|
| 15 |
+
"Requirement already satisfied: filelock in /opt/homebrew/lib/python3.11/site-packages (from transformers) (3.9.1)\n",
|
| 16 |
+
"Requirement already satisfied: huggingface-hub<1.0,>=0.11.0 in /opt/homebrew/lib/python3.11/site-packages (from transformers) (0.13.2)\n",
|
| 17 |
+
"Requirement already satisfied: numpy>=1.17 in /opt/homebrew/lib/python3.11/site-packages (from transformers) (1.24.2)\n",
|
| 18 |
+
"Requirement already satisfied: packaging>=20.0 in /Users/karalifingibergsdottir/Library/Python/3.11/lib/python/site-packages (from transformers) (23.0)\n",
|
| 19 |
+
"Requirement already satisfied: pyyaml>=5.1 in /Users/karalifingibergsdottir/Library/Python/3.11/lib/python/site-packages (from transformers) (6.0)\n",
|
| 20 |
+
"Requirement already satisfied: regex!=2019.12.17 in /opt/homebrew/lib/python3.11/site-packages (from transformers) (2022.10.31)\n",
|
| 21 |
+
"Requirement already satisfied: requests in /opt/homebrew/lib/python3.11/site-packages (from transformers) (2.28.2)\n",
|
| 22 |
+
"Requirement already satisfied: tokenizers!=0.11.3,<0.14,>=0.11.1 in /opt/homebrew/lib/python3.11/site-packages (from transformers) (0.13.2)\n",
|
| 23 |
+
"Requirement already satisfied: tqdm>=4.27 in /opt/homebrew/lib/python3.11/site-packages (from transformers) (4.65.0)\n",
|
| 24 |
+
"Requirement already satisfied: typing-extensions>=3.7.4.3 in /opt/homebrew/lib/python3.11/site-packages (from huggingface-hub<1.0,>=0.11.0->transformers) (4.5.0)\n",
|
| 25 |
+
"Requirement already satisfied: charset-normalizer<4,>=2 in /opt/homebrew/lib/python3.11/site-packages (from requests->transformers) (3.1.0)\n",
|
| 26 |
+
"Requirement already satisfied: idna<4,>=2.5 in /Users/karalifingibergsdottir/Library/Python/3.11/lib/python/site-packages (from requests->transformers) (3.4)\n",
|
| 27 |
+
"Requirement already satisfied: urllib3<1.27,>=1.21.1 in /opt/homebrew/lib/python3.11/site-packages (from requests->transformers) (1.26.15)\n",
|
| 28 |
+
"Requirement already satisfied: certifi>=2017.4.17 in /opt/homebrew/lib/python3.11/site-packages (from requests->transformers) (2022.12.7)\n",
|
| 29 |
+
"\n",
|
| 30 |
+
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.2.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m24.0\u001b[0m\n",
|
| 31 |
+
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpython3.11 -m pip install --upgrade pip\u001b[0m\n",
|
| 32 |
+
"\n",
|
| 33 |
+
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.2.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m24.0\u001b[0m\n",
|
| 34 |
+
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpython3.11 -m pip install --upgrade pip\u001b[0m\n",
|
| 35 |
+
"Requirement already satisfied: numpy in /opt/homebrew/lib/python3.11/site-packages (1.24.2)\n",
|
| 36 |
+
"\n",
|
| 37 |
+
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.2.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m24.0\u001b[0m\n",
|
| 38 |
+
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpython3.11 -m pip install --upgrade pip\u001b[0m\n",
|
| 39 |
+
"Requirement already satisfied: torch in /opt/homebrew/lib/python3.11/site-packages (2.0.0)\n",
|
| 40 |
+
"Requirement already satisfied: filelock in /opt/homebrew/lib/python3.11/site-packages (from torch) (3.9.1)\n",
|
| 41 |
+
"Requirement already satisfied: typing-extensions in /opt/homebrew/lib/python3.11/site-packages (from torch) (4.5.0)\n",
|
| 42 |
+
"Requirement already satisfied: sympy in /opt/homebrew/lib/python3.11/site-packages (from torch) (1.11.1)\n",
|
| 43 |
+
"Requirement already satisfied: networkx in /opt/homebrew/lib/python3.11/site-packages (from torch) (3.0)\n",
|
| 44 |
+
"Requirement already satisfied: jinja2 in /Users/karalifingibergsdottir/Library/Python/3.11/lib/python/site-packages (from torch) (3.1.2)\n",
|
| 45 |
+
"Requirement already satisfied: MarkupSafe>=2.0 in /Users/karalifingibergsdottir/Library/Python/3.11/lib/python/site-packages (from jinja2->torch) (2.1.2)\n",
|
| 46 |
+
"Requirement already satisfied: mpmath>=0.19 in /opt/homebrew/lib/python3.11/site-packages (from sympy->torch) (1.3.0)\n",
|
| 47 |
+
"\n",
|
| 48 |
+
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.2.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m24.0\u001b[0m\n",
|
| 49 |
+
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpython3.11 -m pip install --upgrade pip\u001b[0m\n",
|
| 50 |
+
"Requirement already satisfied: numpy in /opt/homebrew/lib/python3.11/site-packages (1.24.2)\n",
|
| 51 |
+
"Requirement already satisfied: scikit-learn in /opt/homebrew/lib/python3.11/site-packages (1.2.2)\n",
|
| 52 |
+
"Requirement already satisfied: scipy>=1.3.2 in /opt/homebrew/lib/python3.11/site-packages (from scikit-learn) (1.10.1)\n",
|
| 53 |
+
"Requirement already satisfied: joblib>=1.1.1 in /opt/homebrew/lib/python3.11/site-packages (from scikit-learn) (1.2.0)\n",
|
| 54 |
+
"Requirement already satisfied: threadpoolctl>=2.0.0 in /opt/homebrew/lib/python3.11/site-packages (from scikit-learn) (3.1.0)\n",
|
| 55 |
+
"\n",
|
| 56 |
+
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m A new release of pip is available: \u001b[0m\u001b[31;49m23.2.1\u001b[0m\u001b[39;49m -> \u001b[0m\u001b[32;49m24.0\u001b[0m\n",
|
| 57 |
+
"\u001b[1m[\u001b[0m\u001b[34;49mnotice\u001b[0m\u001b[1;39;49m]\u001b[0m\u001b[39;49m To update, run: \u001b[0m\u001b[32;49mpython3.11 -m pip install --upgrade pip\u001b[0m\n"
|
| 58 |
+
]
|
| 59 |
+
}
|
| 60 |
+
],
|
| 61 |
+
"source": [
|
| 62 |
+
"!pip3 install transformers\n",
|
| 63 |
+
"!pip3 install -q git+https://github.com/gmihaila/ml_things.git\n",
|
| 64 |
+
"!pip3 install numpy\n",
|
| 65 |
+
"!pip3 install torch\n",
|
| 66 |
+
"!pip3 install numpy scikit-learn\n",
|
| 67 |
+
"\n",
|
| 68 |
+
"import io\n",
|
| 69 |
+
"import os\n",
|
| 70 |
+
"import torch\n",
|
| 71 |
+
"import pandas as pd\n",
|
| 72 |
+
"from tqdm.notebook import tqdm\n",
|
| 73 |
+
"from torch.utils.data import Dataset, DataLoader\n",
|
| 74 |
+
"from transformers import (AutoConfig, AutoModelForSequenceClassification, AutoTokenizer, AdamW, get_linear_schedule_with_warmup, set_seed)\n",
|
| 75 |
+
"from sklearn.metrics import classification_report, accuracy_score\n",
|
| 76 |
+
"from sklearn.feature_extraction.text import TfidfVectorizer\n",
|
| 77 |
+
"from sklearn.naive_bayes import MultinomialNB\n",
|
| 78 |
+
"from sklearn.model_selection import train_test_split"
|
| 79 |
+
]
|
| 80 |
+
},
|
| 81 |
+
{
|
| 82 |
+
"cell_type": "code",
|
| 83 |
+
"execution_count": 5,
|
| 84 |
+
"metadata": {
|
| 85 |
+
"colab": {
|
| 86 |
+
"base_uri": "https://localhost:8080/"
|
| 87 |
+
},
|
| 88 |
+
"id": "xHJyRk6MEENr",
|
| 89 |
+
"outputId": "a6258cd9-61c0-4b68-9177-94190620158e"
|
| 90 |
+
},
|
| 91 |
+
"outputs": [
|
| 92 |
+
{
|
| 93 |
+
"name": "stderr",
|
| 94 |
+
"output_type": "stream",
|
| 95 |
+
"text": [
|
| 96 |
+
"Some weights of the model checkpoint at mideind/IceBERT were not used when initializing RobertaForSequenceClassification: ['lm_head.dense.bias', 'lm_head.dense.weight', 'lm_head.decoder.bias', 'lm_head.layer_norm.bias', 'lm_head.decoder.weight', 'lm_head.bias', 'lm_head.layer_norm.weight']\n",
|
| 97 |
+
"- This IS expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n",
|
| 98 |
+
"- This IS NOT expected if you are initializing RobertaForSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n",
|
| 99 |
+
"Some weights of RobertaForSequenceClassification were not initialized from the model checkpoint at mideind/IceBERT and are newly initialized: ['classifier.dense.weight', 'classifier.dense.bias', 'classifier.out_proj.weight', 'classifier.out_proj.bias']\n",
|
| 100 |
+
"You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.\n"
|
| 101 |
+
]
|
| 102 |
+
},
|
| 103 |
+
{
|
| 104 |
+
"name": "stdout",
|
| 105 |
+
"output_type": "stream",
|
| 106 |
+
"text": [
|
| 107 |
+
"Model loaded to `cpu`\n",
|
| 108 |
+
"-----------------\n",
|
| 109 |
+
"-----------------\n",
|
| 110 |
+
"-----------------\n",
|
| 111 |
+
"New text: Viðeigandi aðgerðir eru á næsta leiti en sá sakaði greiddi 15.000 kr.\n",
|
| 112 |
+
"Formality: Formal\n",
|
| 113 |
+
"Professional: Unprofessional\n",
|
| 114 |
+
"Friendliness: Unfriendly\n",
|
| 115 |
+
"Overall Classification: Bad\n"
|
| 116 |
+
]
|
| 117 |
+
}
|
| 118 |
+
],
|
| 119 |
+
"source": [
|
| 120 |
+
"# Setting a fixed random seed for reproducibility of results across runs.\n",
|
| 121 |
+
"set_seed(123)\n",
|
| 122 |
+
"epochs = 4 # Number of times to iterate over the entire dataset during training\n",
|
| 123 |
+
"batch_size = 32 # Number of samples processed before the model is updated\n",
|
| 124 |
+
"max_length = 200 # Maximum length of the input sequences\n",
|
| 125 |
+
"# Setting the device to GPU if available, else CPU\n",
|
| 126 |
+
"device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n",
|
| 127 |
+
"model_name_or_path = 'mideind/IceBERT' # Specifying the pre-trained model to use\n",
|
| 128 |
+
"# Dictionary mapping of labels to ids is commented out. Presumed defined elsewhere\n",
|
| 129 |
+
"labels_ids = {'informal': 0, 'formal': 1}\n",
|
| 130 |
+
"n_labels = len(labels_ids) # Counting the number of unique labels\n",
|
| 131 |
+
"\n",
|
| 132 |
+
"# Defining a custom Dataset class for handling the formality dataset\n",
|
| 133 |
+
"class FormalityDataset(Dataset):\n",
|
| 134 |
+
"\n",
|
| 135 |
+
" def __init__(self, path, use_tokenizer, labels_ids, max_sequence_len=None):\n",
|
| 136 |
+
" # Check if the provided path is a directory\n",
|
| 137 |
+
" if not os.path.isdir(path):\n",
|
| 138 |
+
" raise ValueError('Invalid `path` variable! Needs to be a directory')\n",
|
| 139 |
+
" # Use the tokenizer's max length if no specific max_sequence_len is provided\n",
|
| 140 |
+
" max_sequence_len = use_tokenizer.max_len if max_sequence_len is None else max_sequence_len\n",
|
| 141 |
+
" texts = []\n",
|
| 142 |
+
" labels = []\n",
|
| 143 |
+
" print('Reading partitions...')\n",
|
| 144 |
+
"\n",
|
| 145 |
+
" # Reading data files for each label\n",
|
| 146 |
+
" for label, label_id, in tqdm(labels_ids.items()):\n",
|
| 147 |
+
" sentiment_path = os.path.join(path, label)\n",
|
| 148 |
+
" files_names = os.listdir(sentiment_path)\n",
|
| 149 |
+
" print('Reading %s files...' % label)\n",
|
| 150 |
+
" # Reading individual files\n",
|
| 151 |
+
" for file_name in tqdm(files_names):\n",
|
| 152 |
+
" file_path = os.path.join(sentiment_path, file_name)\n",
|
| 153 |
+
" with io.open(file_path, mode='r', encoding='ISO-8859-1') as f:\n",
|
| 154 |
+
" lines = f.readlines()\n",
|
| 155 |
+
" for line in lines:\n",
|
| 156 |
+
" texts.append(line.strip())\n",
|
| 157 |
+
" labels.append(label_id)\n",
|
| 158 |
+
"\n",
|
| 159 |
+
" self.n_examples = len(labels)\n",
|
| 160 |
+
" print('Using tokenizer on all texts. This can take a while...')\n",
|
| 161 |
+
" # Tokenizing all texts and adding special tokens, padding, and truncating to max_length\n",
|
| 162 |
+
" self.inputs = use_tokenizer(texts, add_special_tokens=True, truncation=True, padding=True, return_tensors='pt', max_length=max_sequence_len)\n",
|
| 163 |
+
" self.sequence_len = self.inputs['input_ids'].shape[-1]\n",
|
| 164 |
+
" print('Texts padded or truncated to %d length!' % self.sequence_len)\n",
|
| 165 |
+
" self.inputs.update({'labels':torch.tensor(labels)})\n",
|
| 166 |
+
" print('Finished!\\n')\n",
|
| 167 |
+
"\n",
|
| 168 |
+
" def __len__(self):\n",
|
| 169 |
+
" # Returns the number of examples\n",
|
| 170 |
+
" return self.n_examples\n",
|
| 171 |
+
"\n",
|
| 172 |
+
" def __getitem__(self, item):\n",
|
| 173 |
+
" # Returns a specific item from the dataset\n",
|
| 174 |
+
" return {key: self.inputs[key][item] for key in self.inputs.keys()}\n",
|
| 175 |
+
"\n",
|
| 176 |
+
"# Training function, which updates the model's weights based on the training data\n",
|
| 177 |
+
"def train(dataloader, optimizer_, scheduler_, device_):\n",
|
| 178 |
+
" global model # Reference to the model being trained\n",
|
| 179 |
+
" predictions_labels = []\n",
|
| 180 |
+
" true_labels = []\n",
|
| 181 |
+
" total_loss = 0\n",
|
| 182 |
+
"\n",
|
| 183 |
+
" model.train() # Set the model to training mode\n",
|
| 184 |
+
"\n",
|
| 185 |
+
" # Iterate over each batch in the dataloader\n",
|
| 186 |
+
" for batch in tqdm(dataloader, total=len(dataloader)):\n",
|
| 187 |
+
" true_labels += batch['labels'].numpy().flatten().tolist()\n",
|
| 188 |
+
" batch = {k:v.type(torch.long).to(device_) for k,v in batch.items()}\n",
|
| 189 |
+
" model.zero_grad() # Reset gradients\n",
|
| 190 |
+
" outputs = model(**batch)\n",
|
| 191 |
+
" loss, logits = outputs[:2]\n",
|
| 192 |
+
" total_loss += loss.item()\n",
|
| 193 |
+
" loss.backward() # Compute gradient of loss w.r.t. model parameters\n",
|
| 194 |
+
" torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0) # Clip gradients to avoid explosion\n",
|
| 195 |
+
" optimizer.step() # Update model parameters\n",
|
| 196 |
+
" scheduler.step() # Update learning rate\n",
|
| 197 |
+
" logits = logits.detach().cpu().numpy()\n",
|
| 198 |
+
" predictions_labels += logits.argmax(axis=-1).flatten().tolist()\n",
|
| 199 |
+
"\n",
|
| 200 |
+
" avg_epoch_loss = total_loss / len(dataloader) # Compute average loss for the epoch\n",
|
| 201 |
+
" return true_labels, predictions_labels, avg_epoch_loss\n",
|
| 202 |
+
"\n",
|
| 203 |
+
"# Function to evaluate the model on a validation set\n",
|
| 204 |
+
"def validation(dataloader, device_):\n",
|
| 205 |
+
" global model # Reference to the model being evaluated\n",
|
| 206 |
+
" predictions_labels = []\n",
|
| 207 |
+
" true_labels = []\n",
|
| 208 |
+
" total_loss = 0\n",
|
| 209 |
+
"\n",
|
| 210 |
+
" model.eval() # Set the model to evaluation mode\n",
|
| 211 |
+
"\n",
|
| 212 |
+
" # Iterate over each batch in the dataloader\n",
|
| 213 |
+
" for batch in tqdm(dataloader, total=len(dataloader)):\n",
|
| 214 |
+
" true_labels += batch['labels'].numpy().flatten().tolist()\n",
|
| 215 |
+
" batch = {k:v.type(torch.long).to(device_) for k,v in batch.items()}\n",
|
| 216 |
+
"\n",
|
| 217 |
+
" with torch.no_grad(): # Disable gradient computation\n",
|
| 218 |
+
" outputs = model(**batch)\n",
|
| 219 |
+
" loss, logits = outputs[:2]\n",
|
| 220 |
+
" logits = logits.detach().cpu().numpy()\n",
|
| 221 |
+
" total_loss += loss.item()\n",
|
| 222 |
+
" predict_content = logits.argmax(axis=-1).flatten().tolist()\n",
|
| 223 |
+
" predictions_labels += predict_content\n",
|
| 224 |
+
"\n",
|
| 225 |
+
" avg_epoch_loss = total_loss / len(dataloader) # Compute average loss for the validation\n",
|
| 226 |
+
" return true_labels, predictions_labels, avg_epoch_loss\n",
|
| 227 |
+
"\n",
|
| 228 |
+
"# Load the model and tokenizer from Hugging Face's Transformers library\n",
|
| 229 |
+
"model_config = AutoConfig.from_pretrained(pretrained_model_name_or_path=model_name_or_path, num_labels=n_labels)\n",
|
| 230 |
+
"tokenizer = AutoTokenizer.from_pretrained(pretrained_model_name_or_path=model_name_or_path)\n",
|
| 231 |
+
"model = AutoModelForSequenceClassification.from_pretrained(pretrained_model_name_or_path=model_name_or_path, config=model_config)\n",
|
| 232 |
+
"\n",
|
| 233 |
+
"model.to(device) # Move model to the specified device (GPU or CPU)\n",
|
| 234 |
+
"\n",
|
| 235 |
+
"print('Model loaded to `%s`' % device)\n",
|
| 236 |
+
"\n",
|
| 237 |
+
"# Load a CSV file into a DataFrame\n",
|
| 238 |
+
"#df = pd.read_csv('Book3.csv')\n",
|
| 239 |
+
"\n",
|
| 240 |
+
"file_path = '/Users/karalifingibergsdottir/Desktop/Book3.csv'\n",
|
| 241 |
+
"df = pd.read_csv(file_path)\n",
|
| 242 |
+
"\n",
|
| 243 |
+
"# Extract columns from the DataFrame\n",
|
| 244 |
+
"sentences = df['Sentence'].values\n",
|
| 245 |
+
"formality_labels = df['Formality'].values\n",
|
| 246 |
+
"professional_labels = df['Professional'].values\n",
|
| 247 |
+
"friendliness_labels = df['Friendlyness'].values # Note: Typo in the document itself\n",
|
| 248 |
+
"\n",
|
| 249 |
+
"# Tokenize sentences for TF-IDF vectorization\n",
|
| 250 |
+
"tokenizer = AutoTokenizer.from_pretrained(\"mideind/IceBERT\")\n",
|
| 251 |
+
"tokenized_sentences = [tokenizer(sentence, return_tensors=\"pt\", padding=\"max_length\", truncation=True, max_length=128) for sentence in sentences]\n",
|
| 252 |
+
"input_ids = [tokenized_sentence.input_ids[0] for tokenized_sentence in tokenized_sentences]\n",
|
| 253 |
+
"input_strings = [' '.join(map(str, input_id)) for input_id in input_ids]\n",
|
| 254 |
+
"tfidf_vectorizer = TfidfVectorizer()\n",
|
| 255 |
+
"X = tfidf_vectorizer.fit_transform(input_strings)\n",
|
| 256 |
+
"\n",
|
| 257 |
+
"# Function to train a Naive Bayes classifier\n",
|
| 258 |
+
"def train_classifier(X, labels):\n",
|
| 259 |
+
" classifier = MultinomialNB()\n",
|
| 260 |
+
" classifier.fit(X, labels)\n",
|
| 261 |
+
" return classifier\n",
|
| 262 |
+
"\n",
|
| 263 |
+
"# Train Naive Bayes classifiers for each aspect of text (formality, professionalism, friendliness)\n",
|
| 264 |
+
"formality_classifier = train_classifier(X, formality_labels)\n",
|
| 265 |
+
"professional_classifier = train_classifier(X, professional_labels)\n",
|
| 266 |
+
"friendliness_classifier = train_classifier(X, friendliness_labels)\n",
|
| 267 |
+
"\n",
|
| 268 |
+
"# Function to predict classifications for a new text\n",
|
| 269 |
+
"def predict_text_classifications(text):\n",
|
| 270 |
+
" tokenized_text = tokenizer(text, return_tensors=\"pt\", padding=\"max_length\", truncation=True, max_length=128)\n",
|
| 271 |
+
" input_id = tokenized_text.input_ids[0]\n",
|
| 272 |
+
" input_string = ' '.join(map(str, input_id))\n",
|
| 273 |
+
"\n",
|
| 274 |
+
" X_new = tfidf_vectorizer.transform([input_string])\n",
|
| 275 |
+
"\n",
|
| 276 |
+
" formality_pred = formality_classifier.predict(X_new)[0]\n",
|
| 277 |
+
" professional_pred = professional_classifier.predict(X_new)[0]\n",
|
| 278 |
+
" friendliness_pred = friendliness_classifier.predict(X_new)[0]\n",
|
| 279 |
+
"\n",
|
| 280 |
+
" # Determine the overall classification based on a simple majority rule\n",
|
| 281 |
+
" positive_count = formality_pred + professional_pred + friendliness_pred\n",
|
| 282 |
+
" classification = \"Good\" if positive_count >= 2 else \"Bad\"\n",
|
| 283 |
+
"\n",
|
| 284 |
+
" return formality_pred, professional_pred, friendliness_pred, classification\n",
|
| 285 |
+
"\n",
|
| 286 |
+
"print(f\"-----------------\")\n",
|
| 287 |
+
"print(f\"-----------------\")\n",
|
| 288 |
+
"print(f\"-----------------\")\n",
|
| 289 |
+
"\n",
|
| 290 |
+
"# Example usage of the prediction function\n",
|
| 291 |
+
"new_text = \"Viðeigandi aðgerðir eru á næsta leiti en sá sakaði greiddi 15.000 kr.\"\n",
|
| 292 |
+
"formality_pred, professional_pred, friendliness_pred, overall_classification = predict_text_classifications(new_text)\n",
|
| 293 |
+
"\n",
|
| 294 |
+
"# Print predictions for the new text\n",
|
| 295 |
+
"print(f\"New text: {new_text}\")\n",
|
| 296 |
+
"print(f\"Formality: {'Formal' if formality_pred else 'Informal'}\")\n",
|
| 297 |
+
"print(f\"Professional: {'Professional' if professional_pred else 'Unprofessional'}\")\n",
|
| 298 |
+
"print(f\"Friendliness: {'Friendly' if friendliness_pred else 'Unfriendly'}\")\n",
|
| 299 |
+
"print(f\"Overall Classification: {overall_classification}\")\n"
|
| 300 |
+
]
|
| 301 |
+
}
|
| 302 |
+
],
|
| 303 |
+
"metadata": {
|
| 304 |
+
"colab": {
|
| 305 |
+
"provenance": []
|
| 306 |
+
},
|
| 307 |
+
"kernelspec": {
|
| 308 |
+
"display_name": "Python 3",
|
| 309 |
+
"name": "python3"
|
| 310 |
+
},
|
| 311 |
+
"language_info": {
|
| 312 |
+
"codemirror_mode": {
|
| 313 |
+
"name": "ipython",
|
| 314 |
+
"version": 3
|
| 315 |
+
},
|
| 316 |
+
"file_extension": ".py",
|
| 317 |
+
"mimetype": "text/x-python",
|
| 318 |
+
"name": "python",
|
| 319 |
+
"nbconvert_exporter": "python",
|
| 320 |
+
"pygments_lexer": "ipython3",
|
| 321 |
+
"version": "3.11.5"
|
| 322 |
+
}
|
| 323 |
+
},
|
| 324 |
+
"nbformat": 4,
|
| 325 |
+
"nbformat_minor": 0
|
| 326 |
+
}
|