giellalt / bugzilla-dummy

0 stars 0 forks source link

Legge til * også til TV og IV (Bugzilla Bug 954) #926

Closed albbas closed 11 years ago

albbas commented 13 years ago

This issue was created automatically with bugzilla2github

Bugzilla Bug 954

Date: 2011-02-20T22:46:18+01:00 From: Lene Antonsen <> To: Ciprian Gerstenberger <> CC: lene.antonsen, sjur.n.moshagen, trond.trosterud

Last updated: 2012-12-04T10:49:41+01:00

albbas commented 13 years ago

Comment 3759

Date: 2011-02-20 22:46:18 +0100 From: Lene Antonsen <>

Et verb kan pga av derivering endre transitivitet. For disambigueringa og syntaktisk analyse bør også TV og IV merkes med stjerne. Det er ikke mulig å bruke (V TV) i reglene, fordi vislcg3 ikke tar hensyn til rekkefølgen av taggene. Dessuten legges det ofte til ekstra tagger, feks. som kan komme mellom V og TV.

"<lååvkesovvedh>" "lååvkesovvedh" V IV Inf @-FMAINV "laavkodh" V* TV Der3 Der/PassL V IV Inf @-FMAINV

bør være: "laavkodh" V TV Der3 Der/PassL V IV Inf @-FMAINV

albbas commented 12 years ago

Comment 6193

Date: 2012-05-05 13:30:56 +0200 From: Trond Trosterud <>

Denne er framleis open:

~$echo lååvkesovvedh | usma | lookup2cg 0%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100% "<lååvkesovvedh>" "laavkodh" V TV Der/PassL V IV Inf <============== TV > TV "lååvkesovvedh" V IV Inf

albbas commented 11 years ago

Comment 7248

Date: 2012-10-31 08:04:56 +0100 From: Ciprian Gerstenberger <>

What are the triggers to add * to TV and IV? Should this be happen in the lookup2cg-step? Underspecified bug ("specification is a relational noun: you specify something FOR somebody").

(In reply to comment #1)

Denne er framleis open:

~$echo lååvkesovvedh | usma | lookup2cg 0%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100% "<lååvkesovvedh>" "laavkodh" V TV Der/PassL V IV Inf <============== TV > TV "lååvkesovvedh" V IV Inf

albbas commented 11 years ago

Comment 7252

Date: 2012-10-31 09:02:42 +0100 From: Trond Trosterud <>

Yes, it happens in lookup2cg. The quasi code for lookp2cg is as follows (for POS, and oversimplifying): If there are two POS tags in a string with a Der tag inbetween, add a star to the leftmost one:

+N +Der/V +V ... ==> N* Der/V V ...

The rationale is that the result is a verb, and should not trigger N sensitive rules in CG, hence the star.

Now, for this bug to be solved we need this:

For multiple (different) TV, IV tags in a tag string, star all but the last one. There will probably only be cases with two tags: IV ... TV and TV ... IV

albbas commented 11 years ago

Comment 7369

Date: 2012-11-10 09:29:35 +0100 From: Ciprian Gerstenberger <>

(In reply to comment #3) "all but the last"? Which last, from the left or from the right? Can I get some relevant and non-relevant input sentences to debug the script. This would be great!

For multiple (different) TV, IV tags in a tag string, star all but the last one.

albbas commented 11 years ago

Comment 7370

Date: 2012-11-10 09:54:55 +0100 From: Lene Antonsen <>

(In reply to comment #4)

(In reply to comment #3) "all but the last"? Which last, from the left or from the right? Can I get some relevant and non-relevant input sentences to debug the script. This would be great!

Se den første kommentaren (som starta denne buggen) - der finner du svar på det du spør om, og også eksempel.

Poenget er at ved derivasjon, så får man en ny PoS-tagg, og hvis det er et verb, så får man en ny tagg for transitivitet. Vi er bare interessert i informasjonen for den siste angivelsen av PoS og transitivitet.

albbas commented 11 years ago

Comment 7371

Date: 2012-11-10 10:43:33 +0100 From: Ciprian Gerstenberger <>

Nei, det er ikke nok for riktig testing: Man må har hele setninger og også neutrale setinger. Ellers kan man ikke vite om man har ødelagt noe på en annen sted. Noe må lærer seg mange ting om proper debugging and proper testing.

(In reply to comment #5)

(In reply to comment #4)

(In reply to comment #3) "all but the last"? Which last, from the left or from the right? Can I get some relevant and non-relevant input sentences to debug the script. This would be great!

Se den første kommentaren (som starta denne buggen) - der finner du svar på det du spør om, og også eksempel.

Poenget er at ved derivasjon, så får man en ny PoS-tagg, og hvis det er et verb, så får man en ny tagg for transitivitet. Vi er bare interessert i informasjonen for den siste angivelsen av PoS og transitivitet. ???

albbas commented 11 years ago

Comment 7372

Date: 2012-11-10 11:03:23 +0100 From: Lene Antonsen <>

(In reply to comment #6)

Nei, det er ikke nok for riktig testing: Man må har hele setninger og også neutrale setinger.

Vi har et test som du kan bruke, som er mye bedre (men pass på at du har svn up i biggies også): Når du står i gt/sme, er kommandoen:

sh script/testCGrules.sh

Resultatet skal bli 14.

Poenget er at ved derivasjon, så får man en ny PoS-tagg, og hvis det er et verb, så får man en ny tagg for transitivitet. Vi er bare interessert i informasjonen for den siste angivelsen av PoS og transitivitet. ???

Jeg foreslår at du kommer på kontoret mitt på mandag så kan jeg demonstrere hvordan vi bruker fst, lookup2cg og CG, dette er grunnleggende ting og vil hjelpe forståelsen for dette (hvis du ikke vil lese dokumentasjonen). Det er bedre enn så kommunisere via bz.

albbas commented 11 years ago

Comment 7373

Date: 2012-11-10 11:08:30 +0100 From: Lene Antonsen <>

sh script/testCGrules.sh

Resultatet skal bli 14.

Denne testen gir en output sme/dev/sortedtestdis Den kan du evt diffe før og etter dine endringer i lookup2cg-skriptet

albbas commented 11 years ago

Comment 7374

Date: 2012-11-10 17:57:03 +0100 From: Trond Trosterud <>

Ved morfologisk derivasjon går vi frå venstre mot høgre:

"<diŋgojumi>" "diŋgot" V TV Der/PassL V Der/upmi N Sg Acc "diŋgot" V TV Der/PassL V Der/upmi N Sg Gen

(bestille --> bestille.Pass --> bestilling N

Det er den siste ordklassen som gjeld, slik fungerer derivasjon for alle språk. Dermed den lengst til høgre. Altså: Trass i at "diŋgot" er eit verb er "diŋgojupmi" eit substantiv, og det er det analyseprogrammet er interessert i. Dei POS-analysene som er utgangspunktet for derivasjonen er ikkje syntaktisk relevant, og har dermed fått stjerne: V. I syntaksen har vi reglar for V og N, dei vil dermed ikkje gjelde for V.

Denne bugen tar opp eitt aspekt, nemleg ein tag som gjev opphav til same problem som POS-taggane: TV og IV. Ein fiks for denne bugen skal gje nøyaktig same output som lookup2cg gav før denne buggen, med eitt viktig unntak: Strengen

    "laavkodh" V* TV Der3 Der/PassL V IV Inf @-FMAINV 

skal vere

    "laavkodh" V* TV* Der3 Der/PassL V IV Inf @-FMAINV 

Alt anna skal vere likt. Grunnen til endringa er at "lååvkesovvedh" er eit intransitivt verb, og vi vil at CG skal handsame det som IV (og td. ikkje tilordne objekt til det).

Så kan det hende det er andre ting som kan forbetrast med lookup2cg, men det er altså ikkje tema her. Til testing er det med andre ord berre å ta kva som helst frå korpuset, analysere det og samanlikne det med analysen korpuset gjev.

corp$cat analysed/2012-11-07/smadis| grep ' TV '|grep ' IV '|head -5 "vuejnedh" V TV Der/PassS V IV Ind Prs Sg3 @+FMAINV "tjirkedh" V TV Der/PassL V IV Inf @-FMAINV "bïejedh" V TV Der/PassL V IV Ind Prs Sg3 @+FMAINV "bigkedh" V TV Der/PassL V IV Ind Prs Pl3 @+FMAINV "bïejedh" V TV Der/PassL V IV Inf

t.d.:

cat analysed/2012-11-07/sma-facta.ccat.txt | preprocess --abbr=abbr.txt|usma| lookup2cg jf. cat analysed/2012-11-07/sma-facta.ccat.txt.lookup2cg

Løysinga på denne bugen er i alle fall å sjå i scriptet korleis stjernene er lagt til POS, og så gjere det på same måten for TV, IV.

albbas commented 11 years ago

Comment 7375

Date: 2012-11-10 18:15:41 +0100 From: Lene Antonsen <>

Så kan det hende det er andre ting som kan forbetrast med lookup2cg, men det er altså ikkje tema her. Til testing er det med andre ord berre å ta kva som helst frå korpuset, analysere det og samanlikne det med analysen korpuset gjev.

Til dette bør man bruke filer fra mappa med nyest dato i corp/analysed/ for å unngå å få mye ikke-relevant diff. Fst endrer seg litt hver uke.

albbas commented 11 years ago

Comment 7503

Date: 2012-12-03 08:25:28 +0100 From: Ciprian Gerstenberger <>

Bug (hopefully) solved:

Testing

  1. local

INPUT diŋgojumi

BEFORE

"<diŋgojumi>" "diŋgojupmi" N Sg Gen "diŋgot" V TV Der/PassL V IV Der/upmi N Sg Gen "diŋgojupmi" N Sg Acc "diŋgot" V TV Der/PassL V IV Der/upmi N Sg Acc

AFTER

"<diŋgojumi>" "diŋgojupmi" N Sg Gen "diŋgot" V TV Der/PassL V IV Der/upmi N Sg Acc "diŋgojupmi" N Sg Acc "diŋgot" V TV Der/PassL V IV Der/upmi N Sg Gen

  1. global

INPUT: test corpus i biggies (gullstandard og ny analyse)

BEFORE: sme>sh script/testCGrules.sh 0%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100% Differansen mellom gullstandard og ny analyse er 28

AFTER:

sme>sh script/testCGrules.sh 0%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100% Differansen mellom gullstandard og ny analyse er 264

946c946 < "goargŋut" V* IV Der/NomAct N Sg Loc @<ADVL

  "goargŋut" V* IV* Der/NomAct N Sg Loc @<ADVL 

2549c2549 < "goarrut" V* TV Der/PassL V IV PrfPrc @-FMAINV

  "goarrut" V* TV* Der/PassL V IV PrfPrc @-FMAINV 

2865c2865 < "goarrut" V* TV Der/PassL V IV PrfPrc @-FMAINV

  "goarrut" V* TV* Der/PassL V IV PrfPrc @-FMAINV 

CAVEAT:

There is an instance of lack of TV/IV tag in the new analysis compared with the gold corpus: this is not accounted for in the starring all left occurrences of V/TV/IV!

==> before:

< "gildit" V* IV Der/PassL V IV PrfPrc @-FMAINV

  "gildit" V* IV Der/PassL V PrfPrc @-FMAINV 

==> after

< "gieldit" V TV Der/PassL V IV PrfPrc @-FMAINV < "gildit" V IV Der/PassL V IV PrfPrc @-FMAINV

  "gieldit" V* TV* Der/PassL V IV PrfPrc @-FMAINV 
  "gildit" V* IV Der/PassL V PrfPrc @-FMAINV 

I close this bug. Please report if needed!

albbas commented 11 years ago

Comment 7504

Date: 2012-12-03 08:33:17 +0100 From: Ciprian Gerstenberger <>

By the way, I was able to test only sme instances, the sma testing is not possible due to some FST compilation problems. Soon, I will test also the sma stuff.

albbas commented 11 years ago

Comment 7508

Date: 2012-12-03 17:03:52 +0100 From: Lene Antonsen <>

CAVEAT:

There is an instance of lack of TV/IV tag in the new analysis compared with the gold corpus: this is not accounted for in the starring all left occurrences of V/TV/IV!

==> before:

< "gildit" V* IV Der/PassL V IV PrfPrc @-FMAINV

  "gildit" V* IV Der/PassL V PrfPrc @-FMAINV 

==> after

< "gieldit" V TV Der/PassL V IV PrfPrc @-FMAINV < "gildit" V IV Der/PassL V IV PrfPrc @-FMAINV

  "gieldit" V* TV* Der/PassL V IV PrfPrc @-FMAINV 
  "gildit" V* IV Der/PassL V PrfPrc @-FMAINV 

~$ echo 'gildojuvvon' | usme 0%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100% gildojuvvon gildit+V+IV+Der/PassL+V+IV+PrfPrc <==== her er V+IV og V+IV

~$ echo 'gildojuvvon' | usme | lookup2cg 0%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100% "" "gildit" V IV Der/PassL V IV PrfPrc <==== her er V IV og V IV (ideelt skulle det være V IV og V IV)

Dette er årsaken til at vi får "gildit" V* IV Der/PassL V PrfPrc @-FMAINV

Pga av at den første IV ikke får *, blir det to identiske tagger som input vislcg3, dermed forsvinner den ene. Dette er ingen stor sak, og resultatet blir riktig, vi har V IV å forholde oss til i CG-reglene, som ikke er avhengig av rekkefølgen av taggene.

I de tilfellene at derivasjon av verb til verb, ikke endrer på transitiviteten, har vi bare en IV eller TV tagg:

"čeargut" V* IV Der/goahti V Ind Prt Du3

Dette fungerer greit sjøl om IV er før Der/goahti

albbas commented 11 years ago

Comment 7509

Date: 2012-12-04 10:49:41 +0100 From: Ciprian Gerstenberger <>

Changed this also, as long as I am working at this code.

diff result_gildojuvvon_sorted.txt result_gildojuvvon_sorted_new.txt 7,10c7,10 < "gildit" V IV Der/PassL V IV Actio Gen < "gildit" V IV Der/PassL V IV Actio Nom < "gildit" V IV Der/PassL V IV Ind Prt ConNeg < "gildit" V IV Der/PassL V IV PrfPrc

"gildit" V IV Der/PassL V IV Actio Gen "gildit" V IV Der/PassL V IV Actio Nom "gildit" V IV Der/PassL V IV Ind Prt ConNeg "gildit" V IV Der/PassL V IV PrfPrc