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 . import language_data
from .language_data import *
from ..attrs import LANG
from ..language import Language
@ -9,16 +9,14 @@ class Hungarian(Language):
lang = 'hu'
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[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(language_data.STOP_WORDS)
stop_words = set(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
from __future__ import unicode_literals
import os
import re
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):
for path in file_paths:
with open(path) as f:
for line in f.readlines():
if not line.strip().startswith("#"):
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))
STOP_WORDS = set(STOP_WORDS)
TOKENIZER_EXCEPTIONS = strings_to_exc(base.EMOTICONS)
TOKENIZER_PREFIXES = base.TOKENIZER_PREFIXES + TOKENIZER_PREFIXES
TOKENIZER_SUFFIXES = TOKENIZER_SUFFIXES
TOKENIZER_INFIXES = TOKENIZER_INFIXES
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'''
,
\"
\)
\]
\}
\*
\!
\?
%
\$
>
:
;
'
«
_
''
°
\.\.
\.\.\.
\.\.\.\.
(?<=[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"}
}
__all__ = ["TOKENIZER_EXCEPTIONS", "STOP_WORDS", "TOKENIZER_PREFIXES", "TOKENIZER_SUFFIXES", "TOKENIZER_INFIXES"]

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
ahhoz
ahogy
@ -217,3 +222,4 @@ voltunk
újra
ő
őket
""".split())

View File

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

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>
%-, §-
IN : A §-sal.
OUT: <s><w>A</w><ws> </ws><w>§-sal</w><c>.</c></s>
# TODO: spaCy cannot handle such cases
# IN : A §-sal.
# 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>