mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-08-17 07:20:48 +03:00
Add tokenisation support for the Tetun language
This commit is contained in:
parent
7dd812180e
commit
75d4c672e8
210
scripts/share/nonbreaking_prefixes/nonbreaking_prefix.tdt
Normal file
210
scripts/share/nonbreaking_prefixes/nonbreaking_prefix.tdt
Normal file
@ -0,0 +1,210 @@
|
|||||||
|
#File adapted for TDT from PT by Raphael Merx. Last update: 10.11.2009.
|
||||||
|
#Anything in this file, followed by a period (and an upper-case word), does NOT indicate an end-of-sentence marker.
|
||||||
|
#Special cases are included for prefixes that ONLY appear before 0-9 numbers.
|
||||||
|
|
||||||
|
#any single upper case letter followed by a period is not a sentence ender (excluding I occasionally, but we leave it in)
|
||||||
|
#usually upper case letters are initials in a name
|
||||||
|
A
|
||||||
|
B
|
||||||
|
C
|
||||||
|
D
|
||||||
|
E
|
||||||
|
F
|
||||||
|
G
|
||||||
|
H
|
||||||
|
I
|
||||||
|
J
|
||||||
|
K
|
||||||
|
L
|
||||||
|
M
|
||||||
|
N
|
||||||
|
O
|
||||||
|
P
|
||||||
|
Q
|
||||||
|
R
|
||||||
|
S
|
||||||
|
T
|
||||||
|
U
|
||||||
|
V
|
||||||
|
W
|
||||||
|
X
|
||||||
|
Y
|
||||||
|
Z
|
||||||
|
a
|
||||||
|
b
|
||||||
|
c
|
||||||
|
d
|
||||||
|
e
|
||||||
|
f
|
||||||
|
g
|
||||||
|
h
|
||||||
|
i
|
||||||
|
j
|
||||||
|
k
|
||||||
|
l
|
||||||
|
m
|
||||||
|
n
|
||||||
|
o
|
||||||
|
p
|
||||||
|
q
|
||||||
|
r
|
||||||
|
s
|
||||||
|
t
|
||||||
|
u
|
||||||
|
v
|
||||||
|
w
|
||||||
|
x
|
||||||
|
y
|
||||||
|
z
|
||||||
|
|
||||||
|
|
||||||
|
#Roman Numerals. A dot after one of these is not a sentence break in Portuguese.
|
||||||
|
I
|
||||||
|
II
|
||||||
|
III
|
||||||
|
IV
|
||||||
|
V
|
||||||
|
VI
|
||||||
|
VII
|
||||||
|
VIII
|
||||||
|
IX
|
||||||
|
X
|
||||||
|
XI
|
||||||
|
XII
|
||||||
|
XIII
|
||||||
|
XIV
|
||||||
|
XV
|
||||||
|
XVI
|
||||||
|
XVII
|
||||||
|
XVIII
|
||||||
|
XIX
|
||||||
|
XX
|
||||||
|
i
|
||||||
|
ii
|
||||||
|
iii
|
||||||
|
iv
|
||||||
|
v
|
||||||
|
vi
|
||||||
|
vii
|
||||||
|
viii
|
||||||
|
ix
|
||||||
|
x
|
||||||
|
xi
|
||||||
|
xii
|
||||||
|
xiii
|
||||||
|
xiv
|
||||||
|
xv
|
||||||
|
xvi
|
||||||
|
xvii
|
||||||
|
xviii
|
||||||
|
xix
|
||||||
|
xx
|
||||||
|
|
||||||
|
#List of titles. These are often followed by upper-case names, but do not indicate sentence breaks
|
||||||
|
Adj
|
||||||
|
Adm
|
||||||
|
Adv
|
||||||
|
Art
|
||||||
|
Ca
|
||||||
|
Capt
|
||||||
|
Cmdr
|
||||||
|
Col
|
||||||
|
Comdr
|
||||||
|
Con
|
||||||
|
Corp
|
||||||
|
Cpl
|
||||||
|
DR
|
||||||
|
DRA
|
||||||
|
Dr
|
||||||
|
Dra
|
||||||
|
Dras
|
||||||
|
Drs
|
||||||
|
Eng
|
||||||
|
Enga
|
||||||
|
Engas
|
||||||
|
Engos
|
||||||
|
Ex
|
||||||
|
Exo
|
||||||
|
Exmo
|
||||||
|
Fig
|
||||||
|
Gen
|
||||||
|
Hosp
|
||||||
|
Insp
|
||||||
|
Lda
|
||||||
|
MM
|
||||||
|
MR
|
||||||
|
MRS
|
||||||
|
MS
|
||||||
|
Maj
|
||||||
|
Mrs
|
||||||
|
Ms
|
||||||
|
Msgr
|
||||||
|
Op
|
||||||
|
Ord
|
||||||
|
Pfc
|
||||||
|
Ph
|
||||||
|
Prof
|
||||||
|
Pvt
|
||||||
|
Rep
|
||||||
|
Reps
|
||||||
|
Res
|
||||||
|
Rev
|
||||||
|
Rt
|
||||||
|
Sen
|
||||||
|
Sens
|
||||||
|
Sfc
|
||||||
|
Sgt
|
||||||
|
Sr
|
||||||
|
Sra
|
||||||
|
Sras
|
||||||
|
Srs
|
||||||
|
Sto
|
||||||
|
Supt
|
||||||
|
Surg
|
||||||
|
adj
|
||||||
|
adm
|
||||||
|
adv
|
||||||
|
art
|
||||||
|
cit
|
||||||
|
col
|
||||||
|
con
|
||||||
|
corp
|
||||||
|
cpl
|
||||||
|
dr
|
||||||
|
dra
|
||||||
|
dras
|
||||||
|
drs
|
||||||
|
eng
|
||||||
|
enga
|
||||||
|
engas
|
||||||
|
engos
|
||||||
|
ex
|
||||||
|
exo
|
||||||
|
exmo
|
||||||
|
fig
|
||||||
|
op
|
||||||
|
prof
|
||||||
|
sr
|
||||||
|
sra
|
||||||
|
sras
|
||||||
|
srs
|
||||||
|
sto
|
||||||
|
|
||||||
|
#misc - odd period-ending items that NEVER indicate breaks (p.m. does NOT fall into this category - it sometimes ends a sentence)
|
||||||
|
v
|
||||||
|
vs
|
||||||
|
i.e
|
||||||
|
rev
|
||||||
|
e.g
|
||||||
|
|
||||||
|
#Numbers only. These should only induce breaks when followed by a numeric sequence
|
||||||
|
# add NUMERIC_ONLY after the word for this function
|
||||||
|
#This case is mostly for the english "No." which can either be a sentence of its own, or
|
||||||
|
#if followed by a number, a non-breaking prefix
|
||||||
|
No #NUMERIC_ONLY#
|
||||||
|
Nos
|
||||||
|
Art #NUMERIC_ONLY#
|
||||||
|
Nr
|
||||||
|
p #NUMERIC_ONLY#
|
||||||
|
pp #NUMERIC_ONLY#
|
||||||
|
|
@ -265,6 +265,12 @@ sub tokenize
|
|||||||
# if a colon is not immediately followed by lower-case characters, separate it out anyway
|
# if a colon is not immediately followed by lower-case characters, separate it out anyway
|
||||||
$text =~ s/(:)(?=$|[^\p{Ll}])/ $1 /g;
|
$text =~ s/(:)(?=$|[^\p{Ll}])/ $1 /g;
|
||||||
}
|
}
|
||||||
|
elsif ($language eq "tdt") {
|
||||||
|
# in Tetun, the apostrophe can be used inside words as an apostrophe-like character:
|
||||||
|
$text =~ s/([^\p{IsAlnum}\s\.\'\`\,\-])/ $1 /g;
|
||||||
|
# if an apostrophe is not immediately followed by lower-case characters, separate it out anyway
|
||||||
|
$text =~ s/(\')(?=$|[^\p{Ll}])/ $1 /g;
|
||||||
|
}
|
||||||
elsif (($language eq "ca")) {
|
elsif (($language eq "ca")) {
|
||||||
# in Catalan, the middle dot can be used inside words:
|
# in Catalan, the middle dot can be used inside words:
|
||||||
# il<69>lusio
|
# il<69>lusio
|
||||||
@ -332,7 +338,7 @@ sub tokenize
|
|||||||
$text =~ s/([\p{IsAlpha}])[']([^\p{IsAlpha}])/$1 ' $2/g;
|
$text =~ s/([\p{IsAlpha}])[']([^\p{IsAlpha}])/$1 ' $2/g;
|
||||||
$text =~ s/([\p{IsAlpha}])[']([\p{IsAlpha}])/$1' $2/g;
|
$text =~ s/([\p{IsAlpha}])[']([\p{IsAlpha}])/$1' $2/g;
|
||||||
}
|
}
|
||||||
elsif ($language eq "so")
|
elsif (($language eq "so") or ($language eq "tdt"))
|
||||||
{
|
{
|
||||||
# Don't split glottals
|
# Don't split glottals
|
||||||
$text =~ s/([^\p{IsAlpha}])[']([^\p{IsAlpha}])/$1 ' $2/g;
|
$text =~ s/([^\p{IsAlpha}])[']([^\p{IsAlpha}])/$1 ' $2/g;
|
||||||
|
Loading…
Reference in New Issue
Block a user