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

View File

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