Refactored language data structure

This commit is contained in:
Gyorgy Orosz 2016-12-20 22:28:20 +01:00
parent 366b3f8685
commit 6add156075
9 changed files with 392 additions and 11201 deletions

View File

@ -1,6 +1,6 @@
from __future__ import unicode_literals, print_function from __future__ import unicode_literals, print_function
from . import language_data from .language_data import *
from ..attrs import LANG from ..attrs import LANG
from ..language import Language from ..language import Language
@ -9,16 +9,14 @@ class Hungarian(Language):
lang = 'hu' lang = 'hu'
class Defaults(Language.Defaults): class Defaults(Language.Defaults):
tokenizer_exceptions = dict(language_data.TOKENIZER_EXCEPTIONS) tokenizer_exceptions = dict(TOKENIZER_EXCEPTIONS)
lex_attr_getters = dict(Language.Defaults.lex_attr_getters) lex_attr_getters = dict(Language.Defaults.lex_attr_getters)
lex_attr_getters[LANG] = lambda text: 'hu' lex_attr_getters[LANG] = lambda text: 'hu'
prefixes = tuple(language_data.TOKENIZER_PREFIXES) prefixes = tuple(TOKENIZER_PREFIXES)
suffixes = tuple(language_data.TOKENIZER_SUFFIXES) suffixes = tuple(TOKENIZER_SUFFIXES)
infixes = tuple(language_data.TOKENIZER_INFIXES) infixes = tuple(TOKENIZER_INFIXES)
tag_map = dict(language_data.TAG_MAP) stop_words = set(STOP_WORDS)
stop_words = set(language_data.STOP_WORDS)

File diff suppressed because it is too large Load Diff

View File

@ -1,225 +0,0 @@
dj.
co.
ltd.
corp.
plc.
inc.
cos.
a.
an.
á.
ált.
ápr.
aug.
b.
Be.
BE.
bek.
Bek.
BEK.
bp.
br.
bt.
btk.
Btk.
BTK.
ca.
cs.
csüt.
ctv.
d.
de.
dec.
dk.
dny.
dr.
du.
dzs.
e.
é.
ék.
em.
ény.
érk.
ev.
évf.
f.
febr.
fej.
felv.
ford.
fszla.
fszt.
g.
gimn.
gr.
gy.
h.
hg.
hiv.
honv.
hrsz.
hsz.
htb.
í.
i.e.
i.sz.
id.
ifj.
ig.
igh.
ill.
ind.
isk.
izr.
j.
jan.
jegyz.
júl.
jún.
k.
kb.
ker.
Ker.
KER.
KFT.
Kft.
kft.
kht.
kk.
kkt.
köv.
kp.
Kr.
Kr.e.
Kr.u.
krt.
Krt.
KRT.
l.
luth.
m.
máj.
márc.
mb.
megh.
min.
mlle.
mme.
mr.
mrs.
ms.
n.
nb.
nov.
ny.
nyrt.
nyug.
o.
ó.
okl.
okt.
olv.
ov.
ovh.
ö.
ő.
özv.
p.
pf.
pl.
pp.
ptk.
pu.
q.
r.
ref.
rkp.
röv.
rt.
s.
sgt.
st.
stb.
sz.
szept.
szerk.
szjt.
szt.
szolg.
Szolg.
SZOLG.
szül.
t.
tel.
Tel.
TEL.
tc.
ti.
tkp.
törv.
tvr.
ty.
u.
ú.
ua.
ui.
úm.
ún.
uo.
ü.
ű.
vö.
vsz.
w.
y.
z.
zrt.
zs.
dr.
Dr.
DR.
csc.
CSC.
Csc.
PHD.
phd.
PhD.
PH.D.
ph.d.
Ph.D
ph.d
m.sc.
M.Sc.
M.SC.
MSC.
msc.
MSc.
m.a.
M.A.
MA.
ma.
m.s.
M.S.
b.a.
B.Sc.
B.CS.
b.sc.
bsc.
BSC.
BSc.
b.s.
B.S.
s.b.
S.B.
rer.
Rer.
nat.
Nat.
Dipl.
dipl.
Inform.
inform.
Proc.
proc.

View File

@ -1,158 +0,0 @@
# Ez a huntoken eredeti roviditeses fajlja, utf8-ban (M.I.)
# Az sbdabbrev adatállománya, amely fordítás során kerül feldolgozásra
# tartalma a gyakoribb rövidítések, amelyek pontra végzõdnek
# (pont nélkül is megadhatunk ,,rövidítéseket'', pl. a ,,PhotoMaxGO!''
# beírásával a PhotoMaxGO! nem lesz mondatzáró, még ha utána szóközzel,
# vagy újsorral elválasztva nagybetûs szó következik.)
#
# A kisbetûvel kezdõdõ rövidítések nagy kezdõbetûvel is felismerésre kerülnek.
#
# L. még A magyar helyesírás szabályai 282. pontja
#
# Amelyek gyakrabban mondatzárók, mint pl. a ,,stb.'', nem kerülnek befordításra
# stb.
# fej.
# De.
a.
c.
á. é.
f. é.
m. é.
# áll.
ált.
m.
a. m.
i. m.
ápr.
aug.
bek.
Bp.
br.
bt.
B. ú. é. k.
Btk.
Ctv.
csüt.
dec.
dk.
dny.
# de.
dr.
du.
ék.
em.
ény.
érk.
ev.
évf.
f.
febr.
felv.
ford.
fszla.
fszt.
gimn.
gr.
h.
hg.
hiv.
honv.
id.
ifj.
ig.
igh.
ill.
ind.
isk.
i. sz.
izr.
jan.
jegyz.
júl.
jún.
kb.
ker.
kft.
kk.
K. m. f.
i. sz.
Kr. e.
Kr. u.
i. e.
köv.
Kr.
krt.
# máj.
márc.
mb.
megh.
Mlle.
Mme.
Mr.
Mrs.
Ms.
NB.
nov.
ny.
nyug.
o.
okl.
okt.
olv.
özv.
p.
pl.
Ptk.
pu.
ref.
rkp.
r. k.
s. k.
sz.
szerk.
rt.
sgt.
St.
szept.
szerk.
Szt.
# szül.
t.
tc.
törv.
tvr.
u.
ua.
ui.
úm.
ún.
uo.
v.
vö.
vsz.
Cs.
Dzs.
Gy.
Ny.
Sz.
Ty.
Zs.
Szjt.
pf.
Pp.
kht.
kkt.
cca.
gr.
hsz.
htb.
luth.
megh.
ov.
ovh.
röv.
tc.
tkp.
hrsz.
kp.

View File

@ -1,253 +1,24 @@
# encoding: utf8 # encoding: utf8
from __future__ import unicode_literals from __future__ import unicode_literals
import os
import re
import six import six
from spacy.language_data import strings_to_exc, update_exc
from .punctuations import *
from .stop_words import STOP_WORDS
from .tokenizer_exceptions import ABBREVIATIONS
from .tokenizer_exceptions import OTHER_EXC
from .. import language_data as base
def _load_txt_data(*file_paths): STOP_WORDS = set(STOP_WORDS)
for path in file_paths: TOKENIZER_EXCEPTIONS = strings_to_exc(base.EMOTICONS)
with open(path) as f: TOKENIZER_PREFIXES = base.TOKENIZER_PREFIXES + TOKENIZER_PREFIXES
for line in f.readlines(): TOKENIZER_SUFFIXES = TOKENIZER_SUFFIXES
if not line.strip().startswith("#"): TOKENIZER_INFIXES = TOKENIZER_INFIXES
yield line.strip()
_MODULE_PATH = os.path.dirname(__file__)
_ABBREVIATIONS_ORIG_PATH = _MODULE_PATH + "/data/tokenizer/abbreviations_orig-hu.txt"
_ABBREVIATIONS_NYTUD_PATH = _MODULE_PATH + "/data/tokenizer/abbreviations_nytud-hu.txt"
_STOPWORDS_PATH = _MODULE_PATH + "/data/stopwords.txt"
STOP_WORDS = set(_load_txt_data(_STOPWORDS_PATH))
HYPHENS = [six.unichr(cp) for cp in [173, 8211, 8212, 8213, 8722, 9472]] HYPHENS = [six.unichr(cp) for cp in [173, 8211, 8212, 8213, 8722, 9472]]
TOKENIZER_PREFIXES = r'''+ , " ( [ { * < $ £ “ ' `` ` # US$ C$ A$ a- .... ...'''.split() update_exc(TOKENIZER_EXCEPTIONS, strings_to_exc(OTHER_EXC))
update_exc(TOKENIZER_EXCEPTIONS, strings_to_exc(ABBREVIATIONS))
TOKENIZER_SUFFIXES = r''' __all__ = ["TOKENIZER_EXCEPTIONS", "STOP_WORDS", "TOKENIZER_PREFIXES", "TOKENIZER_SUFFIXES", "TOKENIZER_INFIXES"]
,
\"
\)
\]
\}
\*
\!
\?
%
\$
>
:
;
'
«
_
''
°
\.\.
\.\.\.
\.\.\.\.
(?<=[a-züóőúéáűí)\]"'´«‘’%\)²“”+-])\.
(?<=[a-züóőúéáűí)])-e
\-\-
´
(?<=[0-9])\.
(?<=[0-9])km²
(?<=[0-9])
(?<=[0-9])cm²
(?<=[0-9])mm²
(?<=[0-9])km³
(?<=[0-9])
(?<=[0-9])cm³
(?<=[0-9])mm³
(?<=[0-9])ha
(?<=[0-9])km
(?<=[0-9])m
(?<=[0-9])cm
(?<=[0-9])mm
(?<=[0-9])µm
(?<=[0-9])nm
(?<=[0-9])yd
(?<=[0-9])in
(?<=[0-9])ft
(?<=[0-9])kg
(?<=[0-9])g
(?<=[0-9])mg
(?<=[0-9])µg
(?<=[0-9])t
(?<=[0-9])lb
(?<=[0-9])oz
(?<=[0-9])m/s
(?<=[0-9])km/h
(?<=[0-9])mph
(?<=[0-9])°C
(?<=[0-9])°K
(?<=[0-9])°F
(?<=[0-9])hPa
(?<=[0-9])Pa
(?<=[0-9])mbar
(?<=[0-9])mb
(?<=[0-9])T
(?<=[0-9])G
(?<=[0-9])M
(?<=[0-9])K
(?<=[0-9])kb
(?<=[0-9])\+
'''.strip().split('\n')
TOKENIZER_INFIXES = (r'''\.\.+ (?<=[a-züóőúéáűí])\.(?=[A-ZÜÓŐÚÉÁŰÍ]) (?<=[a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ0-9])"(?=[\-a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ]) '''
r'''(?<=[a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ])--(?=[a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ]) (?<=[0-9])[+\-\*/^](?=[0-9]) '''
r'''(?<=[a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ]),(?=[a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ])''').split()
ABBREVIATIONS = {abbrev: [{"ORTH": abbrev}] for abbrev in
_load_txt_data(_ABBREVIATIONS_ORIG_PATH, _ABBREVIATIONS_NYTUD_PATH)}
TOKENIZER_EXCEPTIONS = {
"-e": [{"F": "-e"}],
"vs.": [{"F": "vs."}],
"''": [{"F": "''"}],
"": [{"F": "", "L": "--", "pos": "$,"}],
":)": [{"F": ":)"}],
"<3": [{"F": "<3"}],
";)": [{"F": ";)"}],
"(:": [{"F": "(:"}],
":(": [{"F": ":("}],
"-_-": [{"F": "-_-"}],
"=)": [{"F": "=)"}],
":/": [{"F": ":/"}],
":>": [{"F": ":>"}],
";-)": [{"F": ";-)"}],
":Y": [{"F": ":Y"}],
":P": [{"F": ":P"}],
":-P": [{"F": ":-P"}],
":3": [{"F": ":3"}],
"=3": [{"F": "=3"}],
"xD": [{"F": "xD"}],
"^_^": [{"F": "^_^"}],
"=]": [{"F": "=]"}],
"=D": [{"F": "=D"}],
"<333": [{"F": "<333"}],
":))": [{"F": ":))"}],
":0": [{"F": ":0"}],
"-__-": [{"F": "-__-"}],
"xDD": [{"F": "xDD"}],
"o_o": [{"F": "o_o"}],
"o_O": [{"F": "o_O"}],
"V_V": [{"F": "V_V"}],
"=[[": [{"F": "=[["}],
"<33": [{"F": "<33"}],
";p": [{"F": ";p"}],
";D": [{"F": ";D"}],
";-p": [{"F": ";-p"}],
";(": [{"F": ";("}],
":p": [{"F": ":p"}],
":]": [{"F": ":]"}],
":O": [{"F": ":O"}],
":-/": [{"F": ":-/"}],
":-)": [{"F": ":-)"}],
":(((": [{"F": ":((("}],
":((": [{"F": ":(("}],
":')": [{"F": ":')"}],
"(^_^)": [{"F": "(^_^)"}],
"(=": [{"F": "(="}],
"o.O": [{"F": "o.O"}],
"\")": [{"F": "\")"}],
"a.": [{"F": "a."}],
"b.": [{"F": "b."}],
"c.": [{"F": "c."}],
"d.": [{"F": "d."}],
"e.": [{"F": "e."}],
"f.": [{"F": "f."}],
"g.": [{"F": "g."}],
"h.": [{"F": "h."}],
"i.": [{"F": "i."}],
"j.": [{"F": "j."}],
"k.": [{"F": "k."}],
"l.": [{"F": "l."}],
"m.": [{"F": "m."}],
"n.": [{"F": "n."}],
"o.": [{"F": "o."}],
"p.": [{"F": "p."}],
"q.": [{"F": "q."}],
"r.": [{"F": "r."}],
"s.": [{"F": "s."}],
"t.": [{"F": "t."}],
"u.": [{"F": "u."}],
"v.": [{"F": "v."}],
"w.": [{"F": "w."}],
"x.": [{"F": "x."}],
"y.": [{"F": "y."}],
"z.": [{"F": "z."}],
}
TOKENIZER_EXCEPTIONS.update(ABBREVIATIONS)
TAG_MAP = {
"$(": {"pos": "PUNCT", "PunctType": "Brck"},
"$,": {"pos": "PUNCT", "PunctType": "Comm"},
"$.": {"pos": "PUNCT", "PunctType": "Peri"},
"ADJA": {"pos": "ADJ"},
"ADJD": {"pos": "ADJ", "Variant": "Short"},
"ADV": {"pos": "ADV"},
"APPO": {"pos": "ADP", "AdpType": "Post"},
"APPR": {"pos": "ADP", "AdpType": "Prep"},
"APPRART": {"pos": "ADP", "AdpType": "Prep", "PronType": "Art"},
"APZR": {"pos": "ADP", "AdpType": "Circ"},
"ART": {"pos": "DET", "PronType": "Art"},
"CARD": {"pos": "NUM", "NumType": "Card"},
"FM": {"pos": "X", "Foreign": "Yes"},
"ITJ": {"pos": "INTJ"},
"KOKOM": {"pos": "CONJ", "ConjType": "Comp"},
"KON": {"pos": "CONJ"},
"KOUI": {"pos": "SCONJ"},
"KOUS": {"pos": "SCONJ"},
"NE": {"pos": "PROPN"},
"NNE": {"pos": "PROPN"},
"NN": {"pos": "NOUN"},
"PAV": {"pos": "ADV", "PronType": "Dem"},
"PROAV": {"pos": "ADV", "PronType": "Dem"},
"PDAT": {"pos": "DET", "PronType": "Dem"},
"PDS": {"pos": "PRON", "PronType": "Dem"},
"PIAT": {"pos": "DET", "PronType": "Ind,Neg,Tot"},
"PIDAT": {"pos": "DET", "AdjType": "Pdt", "PronType": "Ind,Neg,Tot"},
"PIS": {"pos": "PRON", "PronType": "Ind,Neg,Tot"},
"PPER": {"pos": "PRON", "PronType": "Prs"},
"PPOSAT": {"pos": "DET", "Poss": "Yes", "PronType": "Prs"},
"PPOSS": {"pos": "PRON", "Poss": "Yes", "PronType": "Prs"},
"PRELAT": {"pos": "DET", "PronType": "Rel"},
"PRELS": {"pos": "PRON", "PronType": "Rel"},
"PRF": {"pos": "PRON", "PronType": "Prs", "Reflex": "Yes"},
"PTKA": {"pos": "PART"},
"PTKANT": {"pos": "PART", "PartType": "Res"},
"PTKNEG": {"pos": "PART", "Negative": "Neg"},
"PTKVZ": {"pos": "PART", "PartType": "Vbp"},
"PTKZU": {"pos": "PART", "PartType": "Inf"},
"PWAT": {"pos": "DET", "PronType": "Int"},
"PWAV": {"pos": "ADV", "PronType": "Int"},
"PWS": {"pos": "PRON", "PronType": "Int"},
"TRUNC": {"pos": "X", "Hyph": "Yes"},
"VAFIN": {"pos": "AUX", "Mood": "Ind", "VerbForm": "Fin"},
"VAIMP": {"pos": "AUX", "Mood": "Imp", "VerbForm": "Fin"},
"VAINF": {"pos": "AUX", "VerbForm": "Inf"},
"VAPP": {"pos": "AUX", "Aspect": "Perf", "VerbForm": "Part"},
"VMFIN": {"pos": "VERB", "Mood": "Ind", "VerbForm": "Fin", "VerbType": "Mod"},
"VMINF": {"pos": "VERB", "VerbForm": "Inf", "VerbType": "Mod"},
"VMPP": {"pos": "VERB", "Aspect": "Perf", "VerbForm": "Part", "VerbType": "Mod"},
"VVFIN": {"pos": "VERB", "Mood": "Ind", "VerbForm": "Fin"},
"VVIMP": {"pos": "VERB", "Mood": "Imp", "VerbForm": "Fin"},
"VVINF": {"pos": "VERB", "VerbForm": "Inf"},
"VVIZU": {"pos": "VERB", "VerbForm": "Inf"},
"VVPP": {"pos": "VERB", "Aspect": "Perf", "VerbForm": "Part"},
"XY": {"pos": "X"},
"SP": {"pos": "SPACE"}
}

91
spacy/hu/punctuations.py Normal file
View File

@ -0,0 +1,91 @@
TOKENIZER_PREFIXES = r'''
+
'''.strip().split('\n')
TOKENIZER_SUFFIXES = r'''
,
\"
\)
\]
\}
\*
\!
\?
%
\$
>
:
;
'
«
_
''
°
\.\.
\.\.\.
\.\.\.\.
(?<=[a-züóőúéáűí)\]"'´«‘’%\)²“”+-])\.
(?<=[a-züóőúéáűí)])-e
\-\-
´
(?<=[0-9])\+
(?<=[a-z0-9)\]"'%\)])\.
(?<=[0-9])\.
(?<=[0-9])km²
(?<=[0-9])
(?<=[0-9])cm²
(?<=[0-9])mm²
(?<=[0-9])km³
(?<=[0-9])
(?<=[0-9])cm³
(?<=[0-9])mm³
(?<=[0-9])ha
(?<=[0-9])km
(?<=[0-9])m
(?<=[0-9])cm
(?<=[0-9])mm
(?<=[0-9])µm
(?<=[0-9])nm
(?<=[0-9])yd
(?<=[0-9])in
(?<=[0-9])ft
(?<=[0-9])kg
(?<=[0-9])g
(?<=[0-9])mg
(?<=[0-9])µg
(?<=[0-9])t
(?<=[0-9])lb
(?<=[0-9])oz
(?<=[0-9])m/s
(?<=[0-9])km/h
(?<=[0-9])mph
(?<=[0-9])°C
(?<=[0-9])°K
(?<=[0-9])°F
(?<=[0-9])hPa
(?<=[0-9])Pa
(?<=[0-9])mbar
(?<=[0-9])mb
(?<=[0-9])T
(?<=[0-9])G
(?<=[0-9])M
(?<=[0-9])K
(?<=[0-9])kb
'''.strip().split('\n')
TOKENIZER_INFIXES = r'''
\.\.+
(?<=[a-züóőúéáűí])\.(?=[A-ZÜÓŐÚÉÁŰÍ])
(?<=[a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ0-9])"(?=[\-a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ])
(?<=[a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ])--(?=[a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ])
(?<=[0-9])[+\-\*/^](?=[0-9])
(?<=[a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ]),(?=[a-zA-ZüóőúéáűíÜÓŐÚÉÁŰÍ])
'''.strip().split('\n')
__all__ = ["TOKENIZER_PREFIXES", "TOKENIZER_SUFFIXES", "TOKENIZER_INFIXES"]

View File

@ -1,4 +1,9 @@
a # encoding: utf8
from __future__ import unicode_literals
STOP_WORDS = set("""
a
abban abban
ahhoz ahhoz
ahogy ahogy
@ -217,3 +222,4 @@ voltunk
újra újra
ő ő
őket őket
""".split())

View File

@ -1,64 +1,160 @@
# nytudos, roviditeseket tartalmazo fajl utf8-ra konvertalva (M.I.) from __future__ import unicode_literals
Mlle. ABBREVIATIONS = """
Mme.
Ms.
a.
ac.
a.C.
adj.
adm.
á. é.
ag.
agit.
AkH. AkH.
alez.
alk.
ált.
altbgy.
a. m.
ang.
. .
ápr. B.CS.
arch. B.S.
ásv. B.Sc.
at. B.ú.é.k.
aug. BE.
b. BEK.
BSC.
BSc.
BTK.
Be. Be.
bek. Bek.
belker.
berend.
Bfok. Bfok.
biz.
bizt.
Bk. Bk.
bo.
Bp. Bp.
br.
bt.
Btét.
Btk. Btk.
Btke. Btke.
B. ú. é. k. Btét.
B.ú.é.k. CSC.
c.
Cal. Cal.
cc.
cca.
cf.
cif.
Co. Co.
Colo. Colo.
Comp. Comp.
Copr. Copr.
Ctv.
cs.
Cs. Cs.
Csc.
Csop. Csop.
cső. Ctv.
csüt.
D. D.
DR.
Dipl.
Dr.
Dsz.
Dzs.
Fla.
Főszerk.
GM.
Gy.
HKsz.
Hmvh.
Inform.
K.m.f.
KER.
KFT.
KRT.
Ker.
Kft.
Kong.
Korm.
Kr.
Kr.e.
Kr.u.
Krt.
M.A.
M.S.
M.SC.
M.Sc.
MA.
MSC.
MSc.
Mass.
Mlle.
Mme.
Mo.
Mr.
Mrs.
Ms.
Mt.
N.N.
NB.
NBr.
Nat.
Nr.
Ny.
Nyh.
Nyr.
Op.
P.H.
P.S.
PH.D.
PHD.
PROF.
Ph.D
PhD.
Pp.
Proc.
Prof.
Ptk.
Rer.
S.B.
SZOLG.
Salg.
St.
Sz.
Szfv.
Szjt.
Szolg.
Szt.
Sztv.
TEL.
Tel.
Ty.
Tyr.
Ui.
Vcs.
Vhr.
X.Y.
Zs.
a.
a.C.
ac.
adj.
adm.
ag.
agit.
alez.
alk.
altbgy.
an.
ang.
arch.
at.
aug.
b.
b.a.
b.s.
b.sc.
bek.
belker.
berend.
biz.
bizt.
bo.
bp.
br.
bsc.
bt.
btk.
c.
ca.
cc.
cca.
cf.
cif.
co.
corp.
cos.
cs.
csc.
csüt.
cső.
ctv.
d.
dbj. dbj.
dd. dd.
ddr. ddr.
@ -66,58 +162,45 @@ de.
dec. dec.
dikt. dikt.
dipl. dipl.
dj.
dk. dk.
dny. dny.
dolg. dolg.
dr. dr.
Dr.
DR.
Dsz.
du. du.
Dzs. dzs.
é. e.
ea. ea.
ed. ed.
eff. eff.
egyh. egyh.
ék.
ell. ell.
elv. elv.
elvt. elvt.
em. em.
eng. eng.
eny. eny.
ény.
érk.
Ész.
et. et.
etc. etc.
.
ev. ev.
évf.
ezr. ezr.
.
f. f.
fam. f.h.
f. é.
f.é. f.é.
fam.
febr. febr.
felügy. fej.
felv. felv.
felügy.
ff. ff.
ffi. ffi.
f.h.
fhdgy. fhdgy.
fil. fil.
fiz. fiz.
Fla.
fm. fm.
foglalk. foglalk.
ford. ford.
főig.
főisk.
Főszerk.
főtörm.
főv.
fp. fp.
fr. fr.
frsz. frsz.
@ -125,19 +208,22 @@ fszla.
fszt. fszt.
ft. ft.
fuv. fuv.
főig.
főisk.
főtörm.
főv.
g.
gazd. gazd.
gimn. gimn.
gk. gk.
gkv. gkv.
GM.
gondn. gondn.
gör.
gr. gr.
grav. grav.
gy. gy.
Gy.
gyak. gyak.
gyártm. gyártm.
gör.
h. h.
hads. hads.
hallg. hallg.
@ -147,12 +233,9 @@ hds.
hg. hg.
hiv. hiv.
hk. hk.
HKsz.
hm. hm.
Hmvh.
ho. ho.
honv. honv.
hőm.
hp. hp.
hr. hr.
hrsz. hrsz.
@ -160,17 +243,18 @@ hsz.
ht. ht.
htb. htb.
hv. hv.
. hőm.
id.
i. e.
i.e. i.e.
i.sz.
id.
ifj. ifj.
ig. ig.
igh. igh.
ill. ill.
i. m.
imp. imp.
inc.
ind. ind.
inform.
inic. inic.
int. int.
io. io.
@ -179,9 +263,8 @@ ir.
irod. irod.
isk. isk.
ism. ism.
i. sz.
i.sz.
izr. izr.
.
j. j.
jan. jan.
jav. jav.
@ -191,32 +274,35 @@ jkv.
jogh. jogh.
jogt. jogt.
jr. jr.
jvb.
júl. júl.
jún. jún.
jvb.
k. k.
karb. karb.
kat. kat.
kb. kb.
kcs. kcs.
kd. kd.
képv.
ker. ker.
kf. kf.
kft. kft.
kht. kht.
kir. kir.
kirend. kirend.
kísérl.
kisip. kisip.
kiv. kiv.
kk. kk.
kkt. kkt.
klin. klin.
K. m. f. kp.
K.m.f. krt.
Kong. kt.
Korm. ktsg.
kult.
kv.
kve.
képv.
kísérl.
kóth. kóth.
könyvt. könyvt.
körz. körz.
@ -225,19 +311,7 @@ közj.
közl. közl.
közp. közp.
közt. közt.
kp.
Kr.
Kr. e.
Kr.e.
krt.
Kr. u.
Kr.u.
kt.
ktsg.
kult.
. .
kv.
kve.
l. l.
lat. lat.
ld. ld.
@ -246,32 +320,39 @@ lg.
lgv. lgv.
loc. loc.
lt. lt.
ltd.
ltp. ltp.
luth. luth.
m. m.
. m.a.
márc. m.s.
Mass. m.sc.
ma.
mat. mat.
mb. mb.
m. é.
.
med. med.
megh. megh.
mélt.
met. met.
mf. mf.
mfszt. mfszt.
min.
miss. miss.
mjr. mjr.
mjv. mjv.
mk. mk.
mlle.
mme.
mn. mn.
Mo.
mozg. mozg.
Mr. mr.
Mrs. mrs.
Mt. ms.
msc.
.
máj.
márc.
.
mélt.
. .
műh. műh.
műsz. műsz.
@ -280,87 +361,76 @@ művez.
n. n.
nagyker. nagyker.
nagys. nagys.
NB. nat.
NBr. nb.
neg. neg.
nk. nk.
N.N.
nov. nov.
Nr.
nu. nu.
ny. ny.
Ny.
Nyh.
nyilv. nyilv.
Nyr. nyrt.
nyug. nyug.
o. o.
obj. obj.
okl. okl.
okt. okt.
olv. olv.
Op.
orsz. orsz.
ort. ort.
ov. ov.
ovh. ovh.
őrgy.
őrpk.
őrv.
össz.
ötk.
özv.
p. p.
pf. pf.
pg. pg.
P.H. ph.d
ph.d.
phd.
pk. pk.
pl. pl.
plb. plb.
plc.
pld. pld.
plur. plur.
pol. pol.
polg. polg.
poz. poz.
pp. pp.
Pp. proc.
prof. prof.
Prof.
PROF.
prot. prot.
P.S.
pság. pság.
Ptk. ptk.
pu. pu.
. .
q.
r. r.
r.k.
rac. rac.
rad. rad.
red. red.
ref. ref.
reg. reg.
rer.
rev. rev.
rf. rf.
r. k.
r.k.
rkp. rkp.
rkt. rkt.
röv.
rt. rt.
rtg. rtg.
röv.
s.
s.b.
s.k.
sa. sa.
Salg.
sel. sel.
sgt. sgt.
s. k.
s.k.
sm. sm.
st. st.
St.
stat. stat.
stb.
strat. strat.
sz. sz.
Sz.
szakm. szakm.
szaksz. szaksz.
szakszerv. szakszerv.
@ -369,17 +439,16 @@ szds.
szept. szept.
szerk. szerk.
szf. szf.
Szfv.
szimf. szimf.
Szjt. szjt.
szkv. szkv.
szla. szla.
szn. szn.
szolg. szolg.
szöv. szt.
Szt.
Sztv.
szubj. szubj.
szöv.
szül.
t. t.
tanm. tanm.
tb. tb.
@ -387,36 +456,78 @@ tbk.
tc. tc.
techn. techn.
tek. tek.
tel.
tf. tf.
tgk. tgk.
ti.
tip. tip.
tisztv. tisztv.
titks. titks.
tk. tk.
tkp. tkp.
tny. tny.
törv.
tp. tp.
tszf. tszf.
tszk. tszk.
tszkv. tszkv.
.
tv. tv.
tvr. tvr.
Ty. ty.
Tyr. törv.
.
u. u.
ua. ua.
ui. ui.
Ui.
Új-Z.
ÚjZ.
úm.
ún.
unit. unit.
uo. uo.
út.
uv. uv.
v.
vas.
vb.
vegy.
vh.
vhol.
vill.
vizsg.
vk.
vkf.
vkny.
vm.
vol.
vs.
vsz.
vv.
vál.
vízv.
.
w.
y.
z.
zrt.
zs.
Ész.
Új-Z.
ÚjZ.
á.
ált.
ápr.
ásv.
é.
ék.
ény.
érk.
évf.
í.
ó.
ö.
össz.
ötk.
özv.
ú.
úm.
ún.
út.
ü.
üag. üag.
üd. üd.
üdv. üdv.
@ -424,26 +535,14 @@ uv.
ümk. ümk.
ütk. ütk.
üv. üv.
v. ő.
vál. ű.
vas. őrgy.
vb. őrpk.
Vcs. őrv.
vegy. """.strip().split()
vh.
vhol. OTHER_EXC = """
Vhr. ''
vill. -e
vízv. """.strip().split()
vizsg.
vk.
vkf.
vkny.
vm.
vol.
.
vs.
vsz.
vv.
X.Y.
Zs.

View File

@ -67,8 +67,9 @@ OUT: <s><w>Ez</w><ws> </ws><c>(</c><w>lakik</w><c>)</c><w>-e</w><c>?</c></s>
OUT: <s><w>A</w><ws> </ws><w>macska-</w><c>/</c><w>kutyavilag</w><ws> </ws><w>van</w><c>.</c></s> OUT: <s><w>A</w><ws> </ws><w>macska-</w><c>/</c><w>kutyavilag</w><ws> </ws><w>van</w><c>.</c></s>
%-, §- %-, §-
IN : A §-sal. # TODO: spaCy cannot handle such cases
OUT: <s><w>A</w><ws> </ws><w>§-sal</w><c>.</c></s> # IN : A §-sal.
# OUT: <s><w>A</w><ws> </ws><w>§-sal</w><c>.</c></s>
IN : A %-sal. IN : A %-sal.
OUT: <s><w>A</w><ws> </ws><w>%-sal</w><c>.</c></s> OUT: <s><w>A</w><ws> </ws><w>%-sal</w><c>.</c></s>