Skip to content

eiriks/sortekat

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

SorteKat

SorteKat er en python modul for å Sortere norske nyhetstekster inn i Kategorier. I første omgang er det kun en LinearSVC fra sklearn-pakken, trent på Norske nyhetstekster.

Kategoriene som brukes er:

  • Sport
  • Kultur
  • Økonomi
  • Politikk
  • Krim
  • Vitenskap
  • Hverdagsliv
  • Sosiale spørsmål
  • Ulykker
  • Vær
['HVER', 'KRIM', 'KUL', 'OKO', 'POL', 'SOS', 'SPO', 'ULY', 'VEAR', 'VIT']

Disse representerer den inderste ringen i en sektorbasert inndeling av nyhetskategorier. Sektorbasert inndeling av nyhetskategorier

Bruk

  • Last ned stortekat og legg på din PYTHONPATH.
  • Unzip saved_models.zip slik at du får en mappe (saved_models) med .pkl-filer
from sortekat import SorteKat
# opprett et object (dette tar litt tid, modellene lastes fra disk)
clf = SorteKat()

texts = ["Statsminister Stoltenberg besøkte bedrifter på vestlandet.",
        "Brann vant kveldens kamp not Drammen.",
        "Arbeidsledighetstallene går ned viser nye tall fra SSB.",
        "Ny forskning viser at profesorer forsker mer."]

# Klassifiser én...
pred = clf.predict_one(texts[0])
print(pred, "==>", texts[0])
#Index(['POL'], dtype='object') ==> Statsminister Stoltenberg besøkte bedrifter på vestlandet.

# .. eller mange av gangen. Dette er raskt.
preds = clf.predict_many(texts)
for p, t in zip(preds, texts):
    print(p,"==>", t)

#POL ==> Statsminister Stoltenberg besøkte bedrifter på vestlandet.
#SPO ==> Brann vant kveldens kamp not Drammen.
#SOS ==> Arbeidsledighetstallene går ned viser nye tall fra SSB.
#VIT ==> Ny forskning viser at profesorer forsker mer.

Install & Avhengigheter

  • python3
  • sklearn

Data

sortekat er trent på data fra ulike forskninsprosjekter, blandt annet Norsk Avis Korpus, NRKs nyhetstilbud på nett i 2009 og ulike deler av Helle Sjøvaags forskning

Presisjon

Modellen er trent på 11943. Validering og søking etter hyperparametre er gjort med en normal 75/25 split. Helt til sist har jeg en 95/5 split slik at jeg maksimerer datsettet som brukes til trening, men fortsatt har et lite knippe (5%) out-of-sample data som kan gi en liten pekepinn på den ferdige modellen. Under finner du denne, den samsvarer fint med 75/25-splitten. (ta denne med en klype salt, som du ser er det veldig få tekster pr kategori her).

Accuracy:

Tested on only 5% of the dataset (629 text) precision_score: 0.936446146838
recall: 0.936406995231 f1: 0.936219534836
f1_macro: 0.920418777686

         precision    recall  f1-score   support

   HVER       0.90      0.93      0.92        99
   KRIM       0.92      0.92      0.92        38
    KUL       0.96      0.96      0.96       113
    OKO       0.90      0.88      0.89        42
    POL       0.95      0.94      0.94       118
    SOS       0.90      0.92      0.91        48
    SPO       0.97      0.99      0.98       117
    ULY       0.89      0.83      0.86        30
   VEAR       0.94      0.89      0.91        18
    VIT       1.00      0.83      0.91         6

avg / total       0.94      0.94      0.94       629

Kontakt

SorteKat er programvare som biprodukt fra forskning ved UiB.

SorteKat er programvare som biprodukt fra forskning ved UiB.

About

SorteKat er en modul for å sortere Norske nyhetstekster inn i kategorier.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages