divvun/libdivvun

Include all possibilities if several possible &SUGGEST's (on either side of the relation)

Closed this issue · 3 comments

cf. #61
and

libdivvun/src/suggest.cpp

Lines 438 to 440 in 4629a43

for(const auto& s : tr.sforms) {
trg_rep = fromUtf8(s); // just take the first match; TODO: include all possibilities
}

we only include the arbitrarily first suggested form when combining suggestions from two words, e.g. if input was

"<ta>"
	"ta" V Inf <W:0> @V &syn-phrasal-verb ID:1
	"spille" V Inf <W:0> @V &syn-phrasal-verb &SUGGEST ID:1 R:RIGHT:2
: 
"<opp>"
	"opp" Adv <W:0> @Adv &syn-phrasal-verb ID:2 &COERROR
	"inn" Adv <W:0> @Adv &syn-phrasal-verb &SUGGEST ID:2 &COERROR
	"inn!" Adv <W:0> @Adv &syn-phrasal-verb &SUGGEST ID:2 &COERROR

we should get both "spille inn" and "spille inn!" but we currently just get one of them.

Similarly if there are several suggestions on the non-COERROR cohort.

This actually works if you use the error tag to signify what goes together:


"<ta>"
	"ta" V Inf <W:0> @V &syn-phrasal-verb ID:2
	"spille" V Inf <W:0> @V &syn-phrasal-verb &SUGGEST ID:2 R:RIGHT:4
	"lage" V Inf <W:0> @V &syn-phrasal-verb1 &SUGGEST ID:2 R:RIGHT:4
: 
"<opp>"
	"opp" Adv <W:0> @Adv ID:4 &COERROR
	"inn" Adv <W:0> @Adv &syn-phrasal-verb &SUGGEST ID:4 &COERROR
	"opptak" Adv <W:0> @Adv &syn-phrasal-verb1 &SUGGEST ID:4 &COERROR
: 
: 

image

what doesn't yet work is getting the cross product of all combinations which use the same error tag – but do we need/want that?

snomos commented

Not sure, would need more examples to prove the need.