MeMartijn / FakeNewsDetection

Fake news detection using SOTA word embedding techniques in Python
1 stars 0 forks source link

Publicatie, ophelderingen en conclusies #17

Closed maartenmarx closed 5 years ago

maartenmarx commented 5 years ago

Hi martijn,

Ik probeer te snappen en verwoorden wat we nu leren van jouw experimenten, en kom zo met steeds meer vragen te zitten. Tsja zo gaat dat. Ik heb er een paar in onderstaand stukje gezet. Allicht kunnen we even bellen om ze te beantwoorden. Volgens mij weet jij wel wat je gedaan hebt.

Ik hoor van je! Groet Maarten

Comments maarten LIAR paper

  1. It would be great to have Figure 6 also for logistic regression, so as to be able to compare with the pooling "baselines" from Figure 4.
  2. Eigenlijk kunnen we nog een vraag beantwoorden: Does pooling consitently outperform padding? If so, this has the advantage of having one hyperparameter less, the sequence cutoff length.
    1. And indeed, we see that max pooling (with log res at least) works better than the highest scores obtained for padding.

Architecture

  1. De architectuur van je systeem is mij niet geheel duidelijk en zou beter beschreven moeten worden in het paper. Mijn belangrijkste vraag is eigenlijk wat er gebeurt tijdens het finetunen van de (al gegeven) embeddings. In het bijzonder: hebben ze nu (bij het finetunen) dezelfde loss functie als eerder (bij het pretrainen) (dus bij BERT bijvoorbeeld, het MASK raden en de opvolgende zin goed voorspellen) PLUS de classificatie taak?
    1. Of krijgen de modellen de classificatie labels pas voor het eerst te zien tijdens het trainen van de classifier?
      1. Dit laatste is toch wel het geval bij word2vec en doc2vec, toch?

Wat hebben we nu geleerd van het vergelijken van de verschillende classifiers?

Verschillen met Wang (Klopt dit nou?)

  1. Hij gebruikt SVM en log res met traditionele syntactische representaties van tekst (TF-IDF vectoren), jij geeft ook deze classifiers juist de semantische representatie van de teksten.
  2. Hij bouwt 1 geintegreerd neuraal classificatie model die hij voedt (hij noemt dit "warm start") met de pretarined word2vec embeddings.
    1. Dit zou dus overeenkomen met jouw fasttext + CNN en fasttext + LSTM run. Klopt dat?
    2. Er zijn dus 2 verschillen met jouw setup: (als ik het goed heb hoor)
      1. je gebruikt andere pretrained embeddings gertarined met andere loss functies
      2. Je fine-tuned je embeddings met andere loss functies (samen ook met de classificatie taak).
      3. Dus eigenlijk zijn bij Wang de semantische representatie en het classifier leren helemaal gescheiden. Bij jou niet. Jij combineert die in 1 loss functie. Daarna ga je dan nog eens een classifier alleen trainen op de classificatie taak.
        1. Is dit laatste de crux? Dus waar je misschien je winst uithaalt? Het gelijktijdig leren?
MeMartijn commented 5 years ago

@maartenmarx

Dankjewel voor je opmerkingen! Hier mijn reactie op bovenstaande punten:

Miscellaneous comments

Wat betreft figuur 6 voor logistic regressions, hoe had je dat voor je gezien? Figuur 6 heeft een continue schaal (padding length) tegenover accuracy, terwijl figuur 4 methoden vergelijkt die niet op een continue schaal staan. Misschien lijnen met de maximale scores uit figuur 6 toevoegen aan figuur 4?

Ja, ik denk dat de max pooling resultaten net ietsje beter zijn dan de beste cutoff uit fig 6 met log res.

Architecture

Voor alle classificaties die ik gedaan heb, heb ik eerst onafhankelijk de dataset omgezet in de verschillende representaties. Dit betekent dus dat alle classifiers dus op exact dezelfde representaties draaien. Sommige transformers hebben wel een eigen classificatiestructuur die ook gebruikt kan worden, zoals BERT, maar die heb ik niet gebruikt omdat het anders niet te vergelijken valt met andere embeddings. De modellen krijgen dus inderdaad de classificatielabels pas te zien tijdens het trainen en bij alle technieken is het embedden en de classificatie gesplitst van elkaar.

helder, dank

Learnings

Ik denk dat de conclusie van geen verdere lineariteit een erg goede conclusie is. Ik had zelf nog niet nagedacht over dat een logistic regression in principe ook gewoon weergegeven kan worden als een perceptron, dus ik denk dat dat zeker goed is om te noemen. Omdat ik niet zeer veel ervaring heb met neurale netwerken kan het natuurlijk ook zo zijn dat mijn architecturen gewoon niet geweldig werken, maar dat optimaliseren zal nooit een verbijsterend hogere accuracy opleveren dan wat ik nu al heb (lijkt mij). Wat betreft figuur 7, dit is inderdaad het geval. Zoals ik hierboven al zei, ik genereer los van de classifier een dataset per embeddingtechniek die ik hergebruik voor alle classificaties.

OK duidelijk

Differences with Wang

Wang gebruikt LibShortText voor zijn SVM en LogRes, wat inderdaad een TF-IDF-achtige representatie is wat in theorie dus minder goed semantiek en context vastlegt dan de embeddingtechnieken die ik heb gebruikt. Het gebruik van word2vec voor zijn neurale netwerken kan inderdaad vergeleken worden met mijn fastText resultaten, aangezien fastText in principe een extensie is op het word2vec model. Wat belangrijk is om op te merken is dat mijn embeddings onafhankelijk van de classificatie gefinetuned worden met alleen de language model functies van de embeddingsoort zelf. Ik optimaliseer mijn neurale netwerken niet op specifieke representaties (naast natuurlijk de optimalisatie op de test set), en de enige tuning van parameters die zou wisselen is de GridSearch die ik uitvoer bij de SVM en LogRes modellen, maar Wang doet dit ook. Zowel Wang als ik scheiden de representaties.

OK duidelijk. Je zou dus allicht nog meer kunnen winnen als je de classificatietaak gelijktijdig meetrained met BERT. Maar zoals je het gedaan hebt is het wel het netst voor de onderzoeksvragen die je had.

P.S. Ik ben gisteren bij Nicoline langsgeweest en ik ben erg enthousiast over het onderzoek wat ze daar doen! Ik moet nog even kijken hoe het met mijn tijd uit gaat komen, maar de kans is groot dat ik mee ga helpen (:

wat leuk om dit te horen!

MeMartijn commented 5 years ago

Hi @maartenmarx

Ik heb zojuist de paper (anoniem) gesubmit, maar de niet anonieme versie staat al klaar in deze repository voor het geval dat we erdoorheen komen:

Screenshot 2019-09-14 at 22 27 46

Bij de submissionwebsite was al een account aan je e-mailadres gekoppeld, en die heb ik dan ook gelinkt aan de submission. Nogmaals bedankt voor al je hulp tijdens mijn scriptieperiode. Ik heb nog nooit zoveel geleerd in zo'n korte periode.

Fijn weekend!

maartenmarx commented 5 years ago

Hi Martijn,

Geweldig joh! Enorm bedankt. Laten we in die 2 en halve maand van je na de Kerst vrij eens afspreken. Ik ben erg benieuwd hoe het met je gaat en hoe die studie bevalt.

En nu maar duimen! Let wel, ze nemen zo’n 1 op de 5 of 6 aan, dus het is best competatief. Maar in ieder geval krijgen we feedback.

groetjes maarten


Maarten Marx maartenmarx@uva.nl www.maartenmarx.nl ILPS, Informatics Institute, Universiteit van Amsterdam Tel: +31 06 40016120

On Sep 14, 2019, at 22:36 PM, Martijn notifications@github.com wrote:

Hi @maartenmarx https://github.com/maartenmarx Ik heb zojuist de paper (anoniem) gesubmit, maar de niet anonieme versie staat al klaar in deze repository voor het geval dat we erdoorheen komen: https://user-images.githubusercontent.com/12677308/64913364-15ca4600-d73f-11e9-890e-827903c30a6d.png Bij de submissionwebsite was al een account aan je e-mailadres gekoppeld, en die heb ik dan ook gelinkt aan de submission. Nogmaals bedankt voor al je hulp tijdens mijn scriptieperiode. Ik heb nog nooit zoveel geleerd in zo'n korte periode.

Fijn weekend!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/MeMartijn/FakeNewsDetection/issues/17?email_source=notifications&email_token=AA4ZK4HQNEQSSQ3IT4SJML3QJVDLZA5CNFSM4IQDCND2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6XDRXA#issuecomment-531511516, or mute the thread https://github.com/notifications/unsubscribe-auth/AA4ZK4AJUHLQUP5CJ526EFLQJVDLZANCNFSM4IQDCNDQ.