Open carges opened 3 years ago
Keine ahnung... This must be looked into.
Here is another example:
lang-sme>echo '#SápmiMaid, Sandra Márjá West, NSR Dievasčoahkkinjođihangoddi čuovvula ášši.'| hfst-tokenise --print-all --giella-cg --no-weights --unique tools/tokenisers/tokeniser-disamb-gt-desc.pmhfst | vislcg3 --grammar tools/tokenisers/mwe-dis.bin | cg-mwesplit | vislcg3 --grammar src/cg3/disambiguator.bin | vislcg3 --grammar src/cg3/korp.bin | vislcg3 --grammar src/cg3/dependency.bin
:#
"<SápmiMaid>"
"SápmiMaid" ? @X #1->0
"<,>"
"," CLB #2->1
:
"<Sandra>"
"Sandra" N Prop Sem/Fem Attr @>N #3->4
:
"<Márjá>"
"Márjá" N Prop Sem/Fem Attr @>N #4->5
:
"<West>"
"West" N Prop Sem/Sur Sg Nom @SUBJ> #5->9
"<,>"
"," CLB #6->5
:
"<NSR>"
"NSR" N Prop Sem/Org ACR Sg Gen @>N #7->8
:
"<Dievasčoahkkinjođihangoddi>"
"dievasčoahkkinjođihangoddi" N Sem/Org Sg Nom <cohort-with-dynamic-compound> @SUBJ> #8->5
:
"<čuovvula>"
"čuovvulit" V TV Gram/3syll Ind Prs Sg3 @FMV #9->0
:
"<ášši>"
"ášši" N G3 Sem/Semcon Sg Acc @<OBJ #10->9
"<.>"
"." CLB #11->9
:\n
It seems however, that is not just at the beginning of sentence. "#" is not analysed at all, even when alone:
echo '#'| hfst-tokenise --print-all --giella-cg --no-weights --unique tools/tokenisers/tokeniser-disamb-gt-desc.pmhfst | vislcg3 --grammar tools/tokenisers/mwe-dis.bin | cg-mwesplit | vislcg3 --grammar src/cg3/disambiguator.bin | vislcg3 --grammar src/cg3/korp.bin | vislcg3 --grammar src/cg3/dependency.bin
:#\n
Problemet er #
i seg sjølv - vi nyttar det teiknet internt for å merkja av ordgrenser. Dermed er det meir styr å kunna analysera det som eit sjølvstendig teikn.
Det har ikkje vore eit problem tidlegare - teikn som #
med fleire har berre hatt teknisk bruk som ikkje har vore frekvent i tekstane våre. Men med sosiale medium og tagging av alle slag har situasjonen endra seg.
Det grunnleggjande problemet er at vi nyttar vanlege teikn som spesialteikn i lexc. Eitt mogleg svar på det som eg har tenkt på er at vi bør endra alle slike spesialsymbol (typisk for ulike slag morfemgrenser) til alltid å vera eit multicharsymbol. Dvs noko i stil med:
##
>>
»»
Då treng vi ikkje handtera dei same teikna i vanleg tekst på ein spesiell måte, og problem som dei du har rapportert her vil forsvinna. Kva synest @Trondtr @flammie og andre?
(Det er ein stor jobb å endra alle, og tilsvarande endringar må gjerast i alle filter, så endringa må planleggjast nøye.)
mm, # er ganske mest overloaded symbol også i xerox systemer... den ligger allerede i giella-shared/all_langs/src/fst/stems/symbols.lexc
som:
%#:#7 Noun_symbols_never_inflected ;
men #7
er ikke definiert i lang-sme/src/fst/root.lexc
og også har ingen postprosessering giella-shared. Æ prövde bara med #7
some en multichar og med #7 -> %#
og fikk:
echo '#MeeToo-fáddagilkor lea álggahan govda ja dehálaš digaštallama servodagas' \
| hfst-tokenise --print-all --giella-cg --no-weights --unique tools/tokenisers/tokeniser-disamb-gt-desc.pmhfst \
| vislcg3 --grammar tools/tokenisers/mwe-dis.bin | cg-mwesplit \
| vislcg3 --grammar src/cg3/disambiguator.bin | vislcg3 --grammar src/cg3/korp.bin \
| vislcg3 --grammar src/cg3/dependency.bin
"<#>"
"#" N Symbol @X #1->0
"<MeeToo-fáddagilkor>"
"MeeToo-fáddagilkor" ? @X #2->0
:
"<lea>"
"leat" V IV Ind Prs Sg3 @FAUX #3->0
:
"<álggahan>"
"álggahit" V TV Gram/3syll PrfPrc @IMV #4->3
:
"<govda>"
"govdat" A Sem/Hum Attr @>N #5->8
:
"<ja>"
"ja" CC @CNP #6->5
:
"<dehálaš>"
"dehálaš" A Sem/Dummytag Attr @>N #7->5
:
"<digaštallama>"
"digaštallan" N Sem/Act Sg Acc @<OBJ #8->4
:
"<servodagas>"
"servodat" N Sem/Org Sg Loc @<ADVL #9->4
:\n
men vi kanske vill også ha hashtaggar som url-guesser eller likadant?
Ok, eg ser at du har sjekka inn #7 som Multichar. Så skriv du:
#7 -> %#
men kor er den regelen?
Den står alt i giella-shared/all_langs/src/filters/remove-word-boundary.regex
. Så alt som må gjerast er å definera #7
som multichar i root.lexc
, og så funkar det.
mm ja æ pushte den i lang-sme sin root.lexc og i giella-shared in i all_langs/src/filters/remove-infl_deriv-borders.regex
fordi de var likadana reglar där för >7 osv.
"#" doesn't get an analysis at the beginning of a sentence: