mirror of https://github.com/explosion/spaCy.git
Reorganise Swedish language data
This commit is contained in:
parent
50510fa947
commit
7b86ee093a
|
@ -1,11 +1,17 @@
|
|||
# coding: utf8
|
||||
from __future__ import unicode_literals, print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from .tokenizer_exceptions import TOKENIZER_EXCEPTIONS
|
||||
from .stop_words import STOP_WORDS
|
||||
from .morph_rules import MORPH_RULES
|
||||
from .lemmatizer import LEMMA_RULES, LOOKUP
|
||||
|
||||
from ..language_data import BASE_EXCEPTIONS
|
||||
from ..language import Language
|
||||
from ..attrs import LANG
|
||||
from .language_data import *
|
||||
from ..lemmatizerlookup import Lemmatizer
|
||||
from .lemmatization import LOOK_UP
|
||||
from ..attrs import LANG
|
||||
from ..util import update_exc
|
||||
|
||||
|
||||
class Swedish(Language):
|
||||
lang = 'sv'
|
||||
|
@ -14,12 +20,13 @@ class Swedish(Language):
|
|||
lex_attr_getters = dict(Language.Defaults.lex_attr_getters)
|
||||
lex_attr_getters[LANG] = lambda text: 'sv'
|
||||
|
||||
tokenizer_exceptions = TOKENIZER_EXCEPTIONS
|
||||
stop_words = STOP_WORDS
|
||||
tokenizer_exceptions = update_exc(BASE_EXCEPTIONS, TOKENIZER_EXCEPTIONS)
|
||||
stop_words = set(STOP_WORDS)
|
||||
morph_rules = dict(MORPH_RULES)
|
||||
|
||||
@classmethod
|
||||
def create_lemmatizer(cls, nlp=None):
|
||||
return Lemmatizer(LOOK_UP)
|
||||
return Lemmatizer(LOOKUP)
|
||||
|
||||
|
||||
EXPORT = Swedish
|
||||
__all__ = ['Swedish']
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
# coding: utf8
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from .lookup import LOOKUP
|
||||
|
||||
|
||||
LEMMA_RULES = {
|
||||
"noun": [
|
|
@ -1,7 +1,8 @@
|
|||
# coding: utf8
|
||||
from __future__ import unicode_literals
|
||||
|
||||
LOOK_UP = {
|
||||
|
||||
LOOKUP = {
|
||||
"A-bombens": "A-bomb",
|
||||
"A-bomberna": "A-bomb",
|
||||
"A-bombers": "A-bomb",
|
||||
|
@ -660310,4 +660311,4 @@ LOOK_UP = {
|
|||
"övärlden": "övärld",
|
||||
"övärldens": "övärld",
|
||||
"övärlds": "övärld"
|
||||
}
|
||||
}
|
|
@ -1,8 +1,9 @@
|
|||
# coding: utf8
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from ..symbols import *
|
||||
from ..language_data import PRON_LEMMA
|
||||
from ..symbols import LEMMA
|
||||
from ..deprecated import PRON_LEMMA
|
||||
|
||||
|
||||
# Used the table of pronouns at https://sv.wiktionary.org/wiki/deras
|
||||
|
||||
|
|
|
@ -3,31 +3,45 @@ from __future__ import unicode_literals
|
|||
|
||||
|
||||
STOP_WORDS = set("""
|
||||
aderton adertonde adjö aldrig alla allas allt alltid alltså än andra andras annan annat ännu artonde arton åtminstone att åtta åttio åttionde åttonde av även
|
||||
aderton adertonde adjö aldrig alla allas allt alltid alltså än andra andras
|
||||
annan annat ännu artonde arton åtminstone att åtta åttio åttionde åttonde av
|
||||
även
|
||||
|
||||
båda bådas bakom bara bäst bättre behöva behövas behövde behövt beslut beslutat beslutit bland blev bli blir blivit bort borta bra
|
||||
båda bådas bakom bara bäst bättre behöva behövas behövde behövt beslut beslutat
|
||||
beslutit bland blev bli blir blivit bort borta bra
|
||||
|
||||
då dag dagar dagarna dagen där därför de del delen dem den deras dess det detta dig din dina dit ditt dock du
|
||||
då dag dagar dagarna dagen där därför de del delen dem den deras dess det detta
|
||||
dig din dina dit ditt dock du
|
||||
|
||||
efter eftersom elfte eller elva en enkel enkelt enkla enligt er era ert ett ettusen
|
||||
efter eftersom elfte eller elva en enkel enkelt enkla enligt er era ert ett
|
||||
ettusen
|
||||
|
||||
få fanns får fått fem femte femtio femtionde femton femtonde fick fin finnas finns fjärde fjorton fjortonde fler flera flesta följande för före förlåt förra första fram framför från fyra fyrtio fyrtionde
|
||||
få fanns får fått fem femte femtio femtionde femton femtonde fick fin finnas
|
||||
finns fjärde fjorton fjortonde fler flera flesta följande för före förlåt förra
|
||||
första fram framför från fyra fyrtio fyrtionde
|
||||
|
||||
gå gälla gäller gällt går gärna gått genast genom gick gjorde gjort god goda godare godast gör göra gott
|
||||
gå gälla gäller gällt går gärna gått genast genom gick gjorde gjort god goda
|
||||
godare godast gör göra gott
|
||||
|
||||
ha hade haft han hans har här heller hellre helst helt henne hennes hit hög höger högre högst hon honom hundra hundraen hundraett hur
|
||||
ha hade haft han hans har här heller hellre helst helt henne hennes hit hög
|
||||
höger högre högst hon honom hundra hundraen hundraett hur
|
||||
|
||||
i ibland idag igår igen imorgon in inför inga ingen ingenting inget innan inne inom inte inuti
|
||||
i ibland idag igår igen imorgon in inför inga ingen ingenting inget innan inne
|
||||
inom inte inuti
|
||||
|
||||
ja jag jämfört
|
||||
|
||||
kan kanske knappast kom komma kommer kommit kr kunde kunna kunnat kvar
|
||||
|
||||
länge längre långsam långsammare långsammast långsamt längst långt lätt lättare lättast legat ligga ligger lika likställd likställda lilla lite liten litet
|
||||
länge längre långsam långsammare långsammast långsamt längst långt lätt lättare
|
||||
lättast legat ligga ligger lika likställd likställda lilla lite liten litet
|
||||
|
||||
man många måste med mellan men mer mera mest mig min mina mindre minst mitt mittemot möjlig möjligen möjligt möjligtvis mot mycket
|
||||
man många måste med mellan men mer mera mest mig min mina mindre minst mitt
|
||||
mittemot möjlig möjligen möjligt möjligtvis mot mycket
|
||||
|
||||
någon någonting något några när nästa ned nederst nedersta nedre nej ner ni nio nionde nittio nittionde nitton nittonde nödvändig nödvändiga nödvändigt nödvändigtvis nog noll nr nu nummer
|
||||
någon någonting något några när nästa ned nederst nedersta nedre nej ner ni nio
|
||||
nionde nittio nittionde nitton nittonde nödvändig nödvändiga nödvändigt
|
||||
nödvändigtvis nog noll nr nu nummer
|
||||
|
||||
och också ofta oftast olika olikt om oss
|
||||
|
||||
|
@ -37,11 +51,18 @@ på
|
|||
|
||||
rakt rätt redan
|
||||
|
||||
så sade säga säger sagt samma sämre sämst sedan senare senast sent sex sextio sextionde sexton sextonde sig sin sina sist sista siste sitt sjätte sju sjunde sjuttio sjuttionde sjutton sjuttonde ska skall skulle slutligen små smått snart som stor stora större störst stort
|
||||
så sade säga säger sagt samma sämre sämst sedan senare senast sent sex sextio
|
||||
sextionde sexton sextonde sig sin sina sist sista siste sitt sjätte sju sjunde
|
||||
sjuttio sjuttionde sjutton sjuttonde ska skall skulle slutligen små smått snart
|
||||
som stor stora större störst stort
|
||||
|
||||
tack tidig tidigare tidigast tidigt till tills tillsammans tio tionde tjugo tjugoen tjugoett tjugonde tjugotre tjugotvå tjungo tolfte tolv tre tredje trettio trettionde tretton trettonde två tvåhundra
|
||||
tack tidig tidigare tidigast tidigt till tills tillsammans tio tionde tjugo
|
||||
tjugoen tjugoett tjugonde tjugotre tjugotvå tjungo tolfte tolv tre tredje
|
||||
trettio trettionde tretton trettonde två tvåhundra
|
||||
|
||||
under upp ur ursäkt ut utan utanför ute
|
||||
|
||||
vad vänster vänstra var vår vara våra varför varifrån varit varken värre varsågod vart vårt vem vems verkligen vi vid vidare viktig viktigare viktigast viktigt vilka vilken vilket vill
|
||||
vad vänster vänstra var vår vara våra varför varifrån varit varken värre
|
||||
varsågod vart vårt vem vems verkligen vi vid vidare viktig viktigare viktigast
|
||||
viktigt vilka vilken vilket vill
|
||||
""".split())
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
# coding: utf8
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from ..symbols import *
|
||||
from ..language_data import PRON_LEMMA
|
||||
from ..symbols import ORTH, LEMMA, TAG, NORM
|
||||
from ..deprecated import PRON_LEMMA
|
||||
|
||||
|
||||
EXC = {}
|
||||
_exc = {}
|
||||
|
||||
|
||||
# Verbs
|
||||
|
||||
|
@ -17,188 +18,66 @@ for verb_data in [
|
|||
{ORTH: "hajar", LEMMA: "förstår"},
|
||||
{ORTH: "lever"},
|
||||
{ORTH: "serr", LEMMA: "ser"},
|
||||
{ORTH: "fixar"}
|
||||
]:
|
||||
{ORTH: "fixar"}]:
|
||||
verb_data_tc = dict(verb_data)
|
||||
verb_data_tc[ORTH] = verb_data_tc[ORTH].title()
|
||||
|
||||
for data in [verb_data, verb_data_tc]:
|
||||
EXC[data[ORTH] + "u"] = [
|
||||
_exc[data[ORTH] + "u"] = [
|
||||
dict(data),
|
||||
{ORTH: "u", LEMMA: PRON_LEMMA, NORM: "du"}
|
||||
]
|
||||
{ORTH: "u", LEMMA: PRON_LEMMA, NORM: "du"}]
|
||||
|
||||
|
||||
ABBREVIATIONS = {
|
||||
"jan.": [
|
||||
{ORTH: "jan.", LEMMA: "januari"}
|
||||
],
|
||||
"febr.": [
|
||||
{ORTH: "febr.", LEMMA: "februari"}
|
||||
],
|
||||
"feb.": [
|
||||
{ORTH: "feb.", LEMMA: "februari"}
|
||||
],
|
||||
"apr.": [
|
||||
{ORTH: "apr.", LEMMA: "april"}
|
||||
],
|
||||
"jun.": [
|
||||
{ORTH: "jun.", LEMMA: "juni"}
|
||||
],
|
||||
"jul.": [
|
||||
{ORTH: "jul.", LEMMA: "juli"}
|
||||
],
|
||||
"aug.": [
|
||||
{ORTH: "aug.", LEMMA: "augusti"}
|
||||
],
|
||||
"sept.": [
|
||||
{ORTH: "sept.", LEMMA: "september"}
|
||||
],
|
||||
"sep.": [
|
||||
{ORTH: "sep.", LEMMA: "september"}
|
||||
],
|
||||
"okt.": [
|
||||
{ORTH: "okt.", LEMMA: "oktober"}
|
||||
],
|
||||
"nov.": [
|
||||
{ORTH: "nov.", LEMMA: "november"}
|
||||
],
|
||||
"dec.": [
|
||||
{ORTH: "dec.", LEMMA: "december"}
|
||||
],
|
||||
"mån.": [
|
||||
{ORTH: "mån.", LEMMA: "måndag"}
|
||||
],
|
||||
"tis.": [
|
||||
{ORTH: "tis.", LEMMA: "tisdag"}
|
||||
],
|
||||
"ons.": [
|
||||
{ORTH: "ons.", LEMMA: "onsdag"}
|
||||
],
|
||||
"tors.": [
|
||||
{ORTH: "tors.", LEMMA: "torsdag"}
|
||||
],
|
||||
"fre.": [
|
||||
{ORTH: "fre.", LEMMA: "fredag"}
|
||||
],
|
||||
"lör.": [
|
||||
{ORTH: "lör.", LEMMA: "lördag"}
|
||||
],
|
||||
"sön.": [
|
||||
{ORTH: "sön.", LEMMA: "söndag"}
|
||||
],
|
||||
"Jan.": [
|
||||
{ORTH: "Jan.", LEMMA: "Januari"}
|
||||
],
|
||||
"Febr.": [
|
||||
{ORTH: "Febr.", LEMMA: "Februari"}
|
||||
],
|
||||
"Feb.": [
|
||||
{ORTH: "Feb.", LEMMA: "Februari"}
|
||||
],
|
||||
"Apr.": [
|
||||
{ORTH: "Apr.", LEMMA: "April"}
|
||||
],
|
||||
"Jun.": [
|
||||
{ORTH: "Jun.", LEMMA: "Juni"}
|
||||
],
|
||||
"Jul.": [
|
||||
{ORTH: "Jul.", LEMMA: "Juli"}
|
||||
],
|
||||
"Aug.": [
|
||||
{ORTH: "Aug.", LEMMA: "Augusti"}
|
||||
],
|
||||
"Sept.": [
|
||||
{ORTH: "Sept.", LEMMA: "September"}
|
||||
],
|
||||
"Sep.": [
|
||||
{ORTH: "Sep.", LEMMA: "September"}
|
||||
],
|
||||
"Okt.": [
|
||||
{ORTH: "Okt.", LEMMA: "Oktober"}
|
||||
],
|
||||
"Nov.": [
|
||||
{ORTH: "Nov.", LEMMA: "November"}
|
||||
],
|
||||
"Dec.": [
|
||||
{ORTH: "Dec.", LEMMA: "December"}
|
||||
],
|
||||
"Mån.": [
|
||||
{ORTH: "Mån.", LEMMA: "Måndag"}
|
||||
],
|
||||
"Tis.": [
|
||||
{ORTH: "Tis.", LEMMA: "Tisdag"}
|
||||
],
|
||||
"Ons.": [
|
||||
{ORTH: "Ons.", LEMMA: "Onsdag"}
|
||||
],
|
||||
"Tors.": [
|
||||
{ORTH: "Tors.", LEMMA: "Torsdag"}
|
||||
],
|
||||
"Fre.": [
|
||||
{ORTH: "Fre.", LEMMA: "Fredag"}
|
||||
],
|
||||
"Lör.": [
|
||||
{ORTH: "Lör.", LEMMA: "Lördag"}
|
||||
],
|
||||
"Sön.": [
|
||||
{ORTH: "Sön.", LEMMA: "Söndag"}
|
||||
],
|
||||
"sthlm": [
|
||||
{ORTH: "sthlm", LEMMA: "Stockholm"}
|
||||
],
|
||||
"gbg": [
|
||||
{ORTH: "gbg", LEMMA: "Göteborg"}
|
||||
]
|
||||
}
|
||||
for exc_data in [
|
||||
{ORTH: "jan.", LEMMA: "januari"},
|
||||
{ORTH: "febr.", LEMMA: "februari"},
|
||||
{ORTH: "feb.", LEMMA: "februari"},
|
||||
{ORTH: "apr.", LEMMA: "april"},
|
||||
{ORTH: "jun.", LEMMA: "juni"},
|
||||
{ORTH: "jul.", LEMMA: "juli"},
|
||||
{ORTH: "aug.", LEMMA: "augusti"},
|
||||
{ORTH: "sept.", LEMMA: "september"},
|
||||
{ORTH: "sep.", LEMMA: "september"},
|
||||
{ORTH: "okt.", LEMMA: "oktober"},
|
||||
{ORTH: "nov.", LEMMA: "november"},
|
||||
{ORTH: "dec.", LEMMA: "december"},
|
||||
{ORTH: "mån.", LEMMA: "måndag"},
|
||||
{ORTH: "tis.", LEMMA: "tisdag"},
|
||||
{ORTH: "ons.", LEMMA: "onsdag"},
|
||||
{ORTH: "tors.", LEMMA: "torsdag"},
|
||||
{ORTH: "fre.", LEMMA: "fredag"},
|
||||
{ORTH: "lör.", LEMMA: "lördag"},
|
||||
{ORTH: "sön.", LEMMA: "söndag"},
|
||||
{ORTH: "Jan.", LEMMA: "Januari"},
|
||||
{ORTH: "Febr.", LEMMA: "Februari"},
|
||||
{ORTH: "Feb.", LEMMA: "Februari"},
|
||||
{ORTH: "Apr.", LEMMA: "April"},
|
||||
{ORTH: "Jun.", LEMMA: "Juni"},
|
||||
{ORTH: "Jul.", LEMMA: "Juli"},
|
||||
{ORTH: "Aug.", LEMMA: "Augusti"},
|
||||
{ORTH: "Sept.", LEMMA: "September"},
|
||||
{ORTH: "Sep.", LEMMA: "September"},
|
||||
{ORTH: "Okt.", LEMMA: "Oktober"},
|
||||
{ORTH: "Nov.", LEMMA: "November"},
|
||||
{ORTH: "Dec.", LEMMA: "December"},
|
||||
{ORTH: "Mån.", LEMMA: "Måndag"},
|
||||
{ORTH: "Tis.", LEMMA: "Tisdag"},
|
||||
{ORTH: "Ons.", LEMMA: "Onsdag"},
|
||||
{ORTH: "Tors.", LEMMA: "Torsdag"},
|
||||
{ORTH: "Fre.", LEMMA: "Fredag"},
|
||||
{ORTH: "Lör.", LEMMA: "Lördag"},
|
||||
{ORTH: "Sön.", LEMMA: "Söndag"},
|
||||
{ORTH: "sthlm", LEMMA: "Stockholm"},
|
||||
{ORTH: "gbg", LEMMA: "Göteborg"}]:
|
||||
_exc[exc_data[ORTH]] = [dict(exc_data)]
|
||||
|
||||
|
||||
TOKENIZER_EXCEPTIONS = dict(EXC)
|
||||
TOKENIZER_EXCEPTIONS.update(ABBREVIATIONS)
|
||||
for orth in [
|
||||
"ang.", "anm.", "bil.", "bl.a.", "dvs.", "e.Kr.", "el.", "e.d.", "eng.",
|
||||
"etc.", "exkl.", "f.d.", "fid.", "f.Kr.", "forts.", "fr.o.m.", "f.ö.",
|
||||
"förf.", "inkl.", "jur.", "kl.", "kr.", "lat.", "m.a.o.", "max.", "m.fl.",
|
||||
"min.", "m.m.", "obs.", "o.d.", "osv.", "p.g.a.", "ref.", "resp.", "s.a.s.",
|
||||
"s.k.", "st.", "s:t", "t.ex.", "t.o.m.", "ung.", "äv.", "övers."]:
|
||||
_exc[orth] = [{ORTH: orth}]
|
||||
|
||||
|
||||
ORTH_ONLY = [
|
||||
"ang.",
|
||||
"anm.",
|
||||
"bil.",
|
||||
"bl.a.",
|
||||
"dvs.",
|
||||
"e.Kr.",
|
||||
"el.",
|
||||
"e.d.",
|
||||
"eng.",
|
||||
"etc.",
|
||||
"exkl.",
|
||||
"f.d.",
|
||||
"fid.",
|
||||
"f.Kr.",
|
||||
"forts.",
|
||||
"fr.o.m.",
|
||||
"f.ö.",
|
||||
"förf.",
|
||||
"inkl.",
|
||||
"jur.",
|
||||
"kl.",
|
||||
"kr.",
|
||||
"lat.",
|
||||
"m.a.o.",
|
||||
"max.",
|
||||
"m.fl.",
|
||||
"min.",
|
||||
"m.m.",
|
||||
"obs.",
|
||||
"o.d.",
|
||||
"osv.",
|
||||
"p.g.a.",
|
||||
"ref.",
|
||||
"resp.",
|
||||
"s.a.s.",
|
||||
"s.k.",
|
||||
"st.",
|
||||
"s:t",
|
||||
"t.ex.",
|
||||
"t.o.m.",
|
||||
"ung.",
|
||||
"äv.",
|
||||
"övers."
|
||||
]
|
||||
TOKENIZER_EXCEPTIONS = dict(_exc)
|
||||
|
|
Loading…
Reference in New Issue