Statistiska Centralbyrån (SCB) samlar in data i form av enkätundersökningar. Dessa data måste sedan kodas med olika klassifikationer för att kunna användas i statistikproduktion. En sådan klassifikation är Socioekonomisk indelning (SEI). Denna rapport behandlar hur man automatiskt kan SEI-koda sådana enkätundersökningar så att varje enkät tilldelas en SEI-kod. SCB:s nuvarande algoritm kodar ca 50% av enkäterna och bygger på att det yrke som är angivet i enkäten finns med i ett lexikon. Om yrket inte finns med kan enkäten inte kodas. Målet med detta arbete är att hitta bättre algoritmer som klarar av att koda fler enkäter. Som alternativ presenteras två algoritmer, en som bygger på rättstavning och en som bygger på textkategorisering med maskininlärning. Rättstavningsalgoritmen försöker rättstava de inkommna yrkena och sedan jämföra mot det lexikon som SCB använder. Denna algoritm lyckas koda något fler enkäter än vad originalalgoritmen klarar av. Hur stor förbättringen blir beror på hur många felstavningar det finns bland enkätdatat. Maskininlärningsalgoritmen representerar enkäterna med en bag-of-words-modell som sedan tränar en Stödvektormaskin. Då problemet har multipla klasser används en En-mot-alla metod för att hantera detta. Vi drar slutsatsen att en kombination av de tre nämnda algoritmerna presterar bäst. Den största svårigheten är att kunna koda många enkäter men samtidigt bibehålla en hög precision. När algoritmerna kombineras kompletterar de också varandra. Både rättstavningsalgoritmen och maskininlärningsalgoritmen förbättrar därför kodningsprestandan jämfört med den ursprungliga algoritmen.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-168981 |
Date | January 2015 |
Creators | Westermark, Max |
Publisher | KTH, Skolan för datavetenskap och kommunikation (CSC) |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0022 seconds