SpråkpolisenBot 👮

SpråkpolisenBot analyserar kommentarer på /r/sweden och upptäcker automatiskt felaktig användning av de och dem. Botten bygger i grunden på en maskininlärningsmodell som tränats upp att kunna skilja på de och dem.

Idén för SpråkpolisenBot kom till efter att ha märkt hur ivriga användare på Sweddit generellt var att korrigera andra användares språkbruk. De vanligast rättelserna handlade om förväxlingar av de och dem, tätt följt av särskrivningar. Även om kommentarer innehållande rättelser generellt uppröstades av andra användare, var de inte alltid särskilt konstruktiva upplevelser för den felande användaren. Fokus låg mestadels på att påpeka fel snarare än försöka avhjälpa källan till felen.

SpråkpolisenBot är en AI-modell som försöker råda bot på detta. Modellens syfte är förvisso fortfarande att rätta förväxlingar av de och dem, men med en ytterligare ambition att ge användare feedback på hur man kan tänka för att göra rätt. Detta sker främst genom att

  1. i varje kommentar visa hur användaren kan tillämpa en praktisk minnesregel, genom att låta AI:n tillämpa denna minnesregel på användarens felande mening.
  2. i varje kommentar länka till en guide med praktiska tips.
  3. låta användaren få tillgång till AI-modellen i form av en interaktiv demo.

Hjärnan bakom 🚨

SpråkpolisenBot är baserad på en typ av neurala nätverk som kallas “Transformers” (Devlin et al. 2018). Sådana modeller grundtränas på stora mängder text för att uppnå en “generell språkförståelse”. Under grundträningen matas modellerna med texter där vissa ord har maskerats, och får till uppgift att prediktera vilka ord som ligger bakom “maskerna”. De utmanas även att prediktera huruvida en textsekvens följer direkt efter en annan (next sentence prediction). Dessa grundtränade modeller kan sedan finjusteras till att lösa specifika uppgifter (exempelvis klassificera dokument till kategorier, automatiskt besvara frågor, m.m.)

Kungliga biblioteket har tränat en sådan språkförståelsemodell på cirka 20GB svensk text KB-BERT (Malmsten, Börjeson, and Haffenden 2020). SpråkpolisenBot använde denna som grund och fäste ett specialiserat huvud på basen med syftet att klassificera varje ord i en textsekvens till en av tre kategorier:

  1. ord (alla bakgrundsord som inte är de/dem tillhör denna bakgrundskategori)
  2. DE
  3. DEM

Vi kallar vår finjusterade modell DeFormer. Den kan laddas ned och användas från följande länk. Källkoden för att själv kunna träna DeFormer finns här.

Data 🚓

DeFormer har tränats på meningar från Europaparlamentet, svenskspråkiga Wikimedia samt JRC-acquis (lagtexter från EU). Dessa hämtades från OPUS. Källorna valdes ut för att de antogs ha ett korrekt språkbruk.

Endast meningar innehållandes de eller dem – eller bägge – behölls i konstruktionen av träningsdataset. I tabellen nedan återfinns beskrivande statistik över antalet meningar som behölls från respektive dataset, samt frekvenser över förekomsten av de/dem.

Datakälla Meningar # de # dem de/dem ratio
Europaparl sv.txt.gz 500660 465977 54331 8.57x
JRC-Acquis raw.sv.gz 417951 408576 17028 23.99x
Wikimedia sv.txt.gz 630601 602393 38852 15.48x
Total 1549212 1476946 110211 13.40x

Vid träningen av DeFormer introducerades slumpmässiga substitioner, där de eller dem byttes ut mot den motsatta formen. Modellen utmanades sedan att klassificera vilka de/dem som var korrekta i en given mening, samt vilka som tillhörde den förvanskade substituerade formen.

Hur väl presterar DeFormer?

DeFormer utvärderades på ett separat valideringsset bestående av 31200 meningar från samma datakällor som modellen tränats på (svenska wiki + europaparlamentet + JRC). Slumpmässiga fel (substitutioner) introducerades återigen för att utmana modellen. Tabellen nedan visar att DeFormer är väldigt träffsäker. De få “felaktiga” prediktioner modellen genererar är nästan samtliga av formen de/dem som-konstruktioner med bisatser. Majoriteten av dessa är egentligen inte att anse som felaktiga, eftersom båda formerna är accepterade.

Accuracy
de 99.9%
dem 98.6%

Träffsäkerheten är alltså därmed något högre än de redovisade siffrorna i tabellen. Det går dessvärre inte att säkert uttala sig kring om modellen presterar lika väl på reddit-kommentarer som den gör på lag- och parlamentstexter.

Källkod

Koden för SpråkpolisenBot kan hittas här. Kod för den bakomliggande modellen DeFormer finns på följande länk.

🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓🚓

Devlin, Jacob, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2018. BERT: Pre-Training of Deep Bidirectional Transformers for Language Understanding.” CoRR abs/1810.04805. http://arxiv.org/abs/1810.04805.
Malmsten, Martin, Love Börjeson, and Chris Haffenden. 2020. “Playing with Words at the National Library of Sweden – Making a Swedish BERT.” https://arxiv.org/abs/2007.01658.

References

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.