Reorganise Finnish language data

This commit is contained in:
ines 2017-05-08 15:48:31 +02:00
parent 8e483ec950
commit 0207ffdd52
2 changed files with 82 additions and 198 deletions

View File

@ -1,9 +1,13 @@
# 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 ..language_data import BASE_EXCEPTIONS
from ..language import Language
from ..attrs import LANG
from .language_data import *
from ..util import update_exc
class Finnish(Language):
@ -13,8 +17,8 @@ class Finnish(Language):
lex_attr_getters = dict(Language.Defaults.lex_attr_getters)
lex_attr_getters[LANG] = lambda text: 'fi'
tokenizer_exceptions = TOKENIZER_EXCEPTIONS
stop_words = STOP_WORDS
tokenizer_exceptions = update_exc(BASE_EXCEPTIONS, TOKENIZER_EXCEPTIONS)
stop_words = set(STOP_WORDS)
EXPORT = Finnish
__all__ = ['Finnish']

View File

@ -1,199 +1,79 @@
# coding: utf8
from __future__ import unicode_literals
from ..symbols import *
from ..language_data import PRON_LEMMA
from ..symbols import ORTH, LEMMA
_exc = {}
# Source https://www.cs.tut.fi/~jkorpela/kielenopas/5.5.html
TOKENIZER_EXCEPTIONS = {
"aik.": [
{ORTH: "aik.", LEMMA: "aikaisempi"}
],
"alk.": [
{ORTH: "alk.", LEMMA: "alkaen"}
],
"alv.": [
{ORTH: "alv.", LEMMA: "arvonlisävero"}
],
"ark.": [
{ORTH: "ark.", LEMMA: "arkisin"}
],
"as.": [
{ORTH: "as.", LEMMA: "asunto"}
],
"ed.": [
{ORTH: "ed.", LEMMA: "edellinen"}
],
"esim.": [
{ORTH: "esim.", LEMMA: "esimerkki"}
],
"huom.": [
{ORTH: "huom.", LEMMA: "huomautus"}
],
"jne.": [
{ORTH: "jne.", LEMMA: "ja niin edelleen"}
],
"joht.": [
{ORTH: "joht.", LEMMA: "johtaja"}
],
"k.": [
{ORTH: "k.", LEMMA: "kuollut"}
],
"ks.": [
{ORTH: "ks.", LEMMA: "katso"}
],
"lk.": [
{ORTH: "lk.", LEMMA: "luokka"}
],
"lkm.": [
{ORTH: "lkm.", LEMMA: "lukumäärä"}
],
"lyh.": [
{ORTH: "lyh.", LEMMA: "lyhenne"}
],
"läh.": [
{ORTH: "läh.", LEMMA: "lähettäjä"}
],
"miel.": [
{ORTH: "miel.", LEMMA: "mieluummin"}
],
"milj.": [
{ORTH: "milj.", LEMMA: "miljoona"}
],
"mm.": [
{ORTH: "mm.", LEMMA: "muun muassa"}
],
"myöh.": [
{ORTH: "myöh.", LEMMA: "myöhempi"}
],
"n.": [
{ORTH: "n.", LEMMA: "noin"}
],
"nimim.": [
{ORTH: "nimim.", LEMMA: "nimimerkki"}
],
"ns.": [
{ORTH: "ns.", LEMMA: "niin sanottu"}
],
"nyk.": [
{ORTH: "nyk.", LEMMA: "nykyinen"}
],
"oik.": [
{ORTH: "oik.", LEMMA: "oikealla"}
],
"os.": [
{ORTH: "os.", LEMMA: "osoite"}
],
"p.": [
{ORTH: "p.", LEMMA: "päivä"}
],
"par.": [
{ORTH: "par.", LEMMA: "paremmin"}
],
"per.": [
{ORTH: "per.", LEMMA: "perustettu"}
],
"pj.": [
{ORTH: "pj.", LEMMA: "puheenjohtaja"}
],
"puh.joht.": [
{ORTH: "puh.joht.", LEMMA: "puheenjohtaja"}
],
"prof.": [
{ORTH: "prof.", LEMMA: "professori"}
],
"puh.": [
{ORTH: "puh.", LEMMA: "puhelin"}
],
"pvm.": [
{ORTH: "pvm.", LEMMA: "päivämäärä"}
],
"rak.": [
{ORTH: "rak.", LEMMA: "rakennettu"}
],
"ry.": [
{ORTH: "ry.", LEMMA: "rekisteröity yhdistys"}
],
"s.": [
{ORTH: "s.", LEMMA: "sivu"}
],
"siht.": [
{ORTH: "siht.", LEMMA: "sihteeri"}
],
"synt.": [
{ORTH: "synt.", LEMMA: "syntynyt"}
],
"t.": [
{ORTH: "t.", LEMMA: "toivoo"}
],
"tark.": [
{ORTH: "tark.", LEMMA: "tarkastanut"}
],
"til.": [
{ORTH: "til.", LEMMA: "tilattu"}
],
"tms.": [
{ORTH: "tms.", LEMMA: "tai muuta sellaista"}
],
"toim.": [
{ORTH: "toim.", LEMMA: "toimittanut"}
],
"v.": [
{ORTH: "v.", LEMMA: "vuosi"}
],
"vas.": [
{ORTH: "vas.", LEMMA: "vasen"}
],
"vast.": [
{ORTH: "vast.", LEMMA: "vastaus"}
],
"vrt.": [
{ORTH: "vrt.", LEMMA: "vertaa"}
],
"yht.": [
{ORTH: "yht.", LEMMA: "yhteensä"}
],
"yl.": [
{ORTH: "yl.", LEMMA: "yleinen"}
],
"ym.": [
{ORTH: "ym.", LEMMA: "ynnä muuta"}
],
"yms.": [
{ORTH: "yms.", LEMMA: "ynnä muuta sellaista"}
],
"yo.": [
{ORTH: "yo.", LEMMA: "ylioppilas"}
],
"yliopp.": [
{ORTH: "yliopp.", LEMMA: "ylioppilas"}
],
"ao.": [
{ORTH: "ao.", LEMMA: "asianomainen"}
],
"em.": [
{ORTH: "em.", LEMMA: "edellä mainittu"}
],
"ko.": [
{ORTH: "ko.", LEMMA: "kyseessä oleva"}
],
"ml.": [
{ORTH: "ml.", LEMMA: "mukaan luettuna"}
],
"po.": [
{ORTH: "po.", LEMMA: "puheena oleva"}
],
"so.": [
{ORTH: "so.", LEMMA: "se on"}
],
"ts.": [
{ORTH: "ts.", LEMMA: "toisin sanoen"}
],
"vm.": [
{ORTH: "vm.", LEMMA: "viimeksi mainittu"}
],
"srk.": [
{ORTH: "srk.", LEMMA: "seurakunta"}
]
}
for exc_data in [
{ORTH: "aik.", LEMMA: "aikaisempi"},
{ORTH: "alk.", LEMMA: "alkaen"},
{ORTH: "alv.", LEMMA: "arvonlisävero"},
{ORTH: "ark.", LEMMA: "arkisin"},
{ORTH: "as.", LEMMA: "asunto"},
{ORTH: "ed.", LEMMA: "edellinen"},
{ORTH: "esim.", LEMMA: "esimerkki"},
{ORTH: "huom.", LEMMA: "huomautus"},
{ORTH: "jne.", LEMMA: "ja niin edelleen"},
{ORTH: "joht.", LEMMA: "johtaja"},
{ORTH: "k.", LEMMA: "kuollut"},
{ORTH: "ks.", LEMMA: "katso"},
{ORTH: "lk.", LEMMA: "luokka"},
{ORTH: "lkm.", LEMMA: "lukumäärä"},
{ORTH: "lyh.", LEMMA: "lyhenne"},
{ORTH: "läh.", LEMMA: "lähettäjä"},
{ORTH: "miel.", LEMMA: "mieluummin"},
{ORTH: "milj.", LEMMA: "miljoona"},
{ORTH: "mm.", LEMMA: "muun muassa"},
{ORTH: "myöh.", LEMMA: "myöhempi"},
{ORTH: "n.", LEMMA: "noin"},
{ORTH: "nimim.", LEMMA: "nimimerkki"},
{ORTH: "ns.", LEMMA: "niin sanottu"},
{ORTH: "nyk.", LEMMA: "nykyinen"},
{ORTH: "oik.", LEMMA: "oikealla"},
{ORTH: "os.", LEMMA: "osoite"},
{ORTH: "p.", LEMMA: "päivä"},
{ORTH: "par.", LEMMA: "paremmin"},
{ORTH: "per.", LEMMA: "perustettu"},
{ORTH: "pj.", LEMMA: "puheenjohtaja"},
{ORTH: "puh.joht.", LEMMA: "puheenjohtaja"},
{ORTH: "prof.", LEMMA: "professori"},
{ORTH: "puh.", LEMMA: "puhelin"},
{ORTH: "pvm.", LEMMA: "päivämäärä"},
{ORTH: "rak.", LEMMA: "rakennettu"},
{ORTH: "ry.", LEMMA: "rekisteröity yhdistys"},
{ORTH: "s.", LEMMA: "sivu"},
{ORTH: "siht.", LEMMA: "sihteeri"},
{ORTH: "synt.", LEMMA: "syntynyt"},
{ORTH: "t.", LEMMA: "toivoo"},
{ORTH: "tark.", LEMMA: "tarkastanut"},
{ORTH: "til.", LEMMA: "tilattu"},
{ORTH: "tms.", LEMMA: "tai muuta sellaista"},
{ORTH: "toim.", LEMMA: "toimittanut"},
{ORTH: "v.", LEMMA: "vuosi"},
{ORTH: "vas.", LEMMA: "vasen"},
{ORTH: "vast.", LEMMA: "vastaus"},
{ORTH: "vrt.", LEMMA: "vertaa"},
{ORTH: "yht.", LEMMA: "yhteensä"},
{ORTH: "yl.", LEMMA: "yleinen"},
{ORTH: "ym.", LEMMA: "ynnä muuta"},
{ORTH: "yms.", LEMMA: "ynnä muuta sellaista"},
{ORTH: "yo.", LEMMA: "ylioppilas"},
{ORTH: "yliopp.", LEMMA: "ylioppilas"},
{ORTH: "ao.", LEMMA: "asianomainen"},
{ORTH: "em.", LEMMA: "edellä mainittu"},
{ORTH: "ko.", LEMMA: "kyseessä oleva"},
{ORTH: "ml.", LEMMA: "mukaan luettuna"},
{ORTH: "po.", LEMMA: "puheena oleva"},
{ORTH: "so.", LEMMA: "se on"},
{ORTH: "ts.", LEMMA: "toisin sanoen"},
{ORTH: "vm.", LEMMA: "viimeksi mainittu"},
{ORTH: "srk.", LEMMA: "seurakunta"}]:
_exc[exc_data[ORTH]] = [dict(exc_data)]
TOKENIZER_EXCEPTIONS = dict(_exc)