ApposCN and prodrop

48 views
Skip to first unread message

Giuliano Lancioni

unread,
Dec 11, 2019, 2:41:56 AM12/11/19
to Grammatical Framework
While perusing RGL in some languages, I noticed a couple of problems arising from typical English constructions not present in other languages that might be addressed in a relatively simple way. I dare not write modifications myself yet (I don't feel confident enough with the language), so I'm just suggesting modification. Pleas tell me if it can be useful.

1. Italian, Spanish and most Romance languages but French are prodrop languages. Namely, you are usually not compelled to use the subject pronoun (which usually employed for a contrastive or focused construction): in Italian you can say "bevo una tazza di caffè" alongside (and more often than) "io bevo una tazza di caffè" for "I drink a cup of coffee", yet the RGL grammar only accepts the version with a pronoun. Since prodrop works well in Arabic, it shouldn't be too complicate to adapt it to Romance languages. The rule is in ResAra.gf:

  proDrop : NP -> NP = \np ->
    case np.a.isPron of {
      True => np ** {s = table {Nom => [] ; x => np.s ! x}};
      _    => np
    } ;

2. Appositive noun (compound) constructions are not allowed in many languages, yet RGL uses it. So, for instance, "school book" is wrongly linearized in Italian as "*scuola il libro" or "*la scuola il libro" and in Arabic as "*مَدرَسة كِتَاب" or "*مَدرَسةٌ كِتَابٌ". While the best translation often depends on lexical idiosyncrasies, the present translation of ApposCN is always wrong in these languages. I'd suggest to adopt as a standard translation the current part_Prep construction (which is found, for instance, in "tazza di caffè" for "cup of coffee" in Italian), which would work in most cases and which might sound strange, yet not ungrammatical, in the worst case.

Aarne Ranta

unread,
Dec 11, 2019, 3:03:02 AM12/11/19
to gf-...@googlegroups.com
Dear Giuliano,

Thanks for your (once again) correct observations! This time I am glad to reply that the solutions seem to be in place, although in places that can unfortunately be difficult to find.

1. ProDrop : Pron -> Pron is available in Extend.gf and also in the concrete syntax ExtendIta.gf.

2. ApposCN is overgenerating, true, but its usage is not for compounds like "school book", but for things like title + name: king Edward. Extend.gf has a function CompoundN, which in Romance should be implemented as "N de/di N", but is not yet available but should be easy to add (although sometimes the lin is "N a N", which requires another functions.)

The old Extra module is being replaced by the more systematic Extend, and contains still more material for many languages, e.g. for Italian.

Hope this helps

  Aarne.


--

---
You received this message because you are subscribed to the Google Groups "Grammatical Framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gf-dev+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gf-dev/09941dd7-a08b-485e-915f-b45a25551797%40googlegroups.com.

Giuliano Lancioni

unread,
Dec 11, 2019, 4:02:47 AM12/11/19
to Grammatical Framework
Thank you, Aarne, for the prompt and exhaustive answer; thanks for the correction about appositive nouns (which should in any case be reversed in Romance and Arabic).

I assumed Extend modules were already loaded. I'll give a try!

Best regards,
To unsubscribe from this group and stop receiving emails from it, send an email to gf-...@googlegroups.com.

Giuliano Lancioni

unread,
Dec 11, 2019, 11:24:34 AM12/11/19
to Grammatical Framework
Dear Aarne,

I try the AllIta.gf grammar (which is supposed to load both LangIta and ExtendIta) and, while it works for parsing prodrop sentences, it doesn't seem able to generate them back.

I you try "bevo vino" "(I) drink wine", four parses are obtained,

PredVPS (UsePron (ProDrop ?1)) (MkVPS (TTAnt TPres ASimul) PPos (ComplCN drink_V2 (UseN wine_N)))
PredVPS (UsePron (ProDrop ?1)) (MkVPS (TTAnt TPres ASimul) PPos (ComplSlash (SlashV2a drink_V2) (MassNP (UseN wine_N))))
UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron (ProDrop ?5)) (ComplCN drink_V2 (UseN wine_N)))
UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron (ProDrop ?5)) (ComplSlash (SlashV2a drink_V2) (MassNP (UseN wine_N))))

yet linearization yields no output. It looks like the linearizer is not able to instantiate ?N in the ProDrop phrase.

Il giorno mercoledì 11 dicembre 2019 09:03:02 UTC+1, Aarne Ranta ha scritto:
To unsubscribe from this group and stop receiving emails from it, send an email to gf-...@googlegroups.com.

Inari Listenmaa

unread,
Dec 11, 2019, 11:26:12 AM12/11/19
to gf-...@googlegroups.com
Oh yes, this is a known issue, see e.g. here! https://inariksit.github.io/gf/2018/08/28/gf-gotchas.html#metavariables-or-those-question-marks-that-appear-when-parsing

If you look at the implementation of proDrop oper in Arabic, you see the field “empty” in NP—that’s exactly the reason why it’s there!

Inari

Inari Listenmaa

unread,
Dec 11, 2019, 11:30:51 AM12/11/19
to Grammatical Framework
Just to add, the category N2 with the function ComplN2 is also useful for defining the behaviour of individual words. The ground rule in CompoundN may be with one preposition (such as di), and nouns that take other prepositions can be defined as N2, with inherent preposition. Then we don’t need to pollute N with a parameter for the possibility of becoming an argument to CompoundN and having to know which preposition to choose.

appositive nouns (which should in any case be reversed in Romance and Arabic).

Even in the intended usage? I’m not a native speaker of any Romance language, but this looks fine to me in Spanish:

Lang> p "king John" | l -treebank
Lang: PhrUtt NoPConj (UttCN (ApposCN (UseN king_N) (UsePN john_PN))) NoVoc
LangEng: king John
LangSpa: rey Juan

Inari

Giuliano Lancioni

unread,
Dec 11, 2019, 6:45:21 PM12/11/19
to Grammatical Framework
Dear Inari,

thank you for your answer. If I understand well, the implementation of proDrop in Arabic might be extended safely to other proDrop languages, right?

Giuliano Lancioni

unread,
Dec 11, 2019, 6:50:20 PM12/11/19
to Grammatical Framework
Sorry, I had understood another meaning of "apposition", like "puffer fish" that is "pesce palla" in Italian, with reverse order. Appositions proper, like "King John", retain order (although usually with an article, "il re Giovanni", as I think happens in Spanish too, "el rey Juan").

Inari Listenmaa

unread,
Dec 12, 2019, 2:48:19 AM12/12/19
to gf-...@googlegroups.com
Hi,

thank you for your answer. If I understand well, the implementation of proDrop in Arabic might be extended safely to other proDrop languages, right?

Yeah, you need to do something like that if you want prodropped sentences to be parsable (be it after an explicit fun like ProDrop : NP -> NP or as an obligatory prodrop in PredVP).

I haven’t added proDrop as an oper, called in PredVP, in other languages than Arabic. I knew that the Romance languages in the RGL are particularly old, and I figured that somewhere there might be code that relies on there being an explicit pronoun. Another argument to not make an obligatory proDrop oper in PredVP is that RGL is supposed to contain a selection of syntactic structures, not perfect translation equivalents. So it’s not necessarily a problem if you parse something in the RGL and linearise it into another language and it comes out weird; the important thing is that you are able to write an application grammar that expresses some communicative need, and then for expressing that in English and Italian, you can find the right function in the respective RGs — maybe it’s a different function for those two languages. And if Italian RG doesn’t contain the possibility to say “io bevo una tazza di caffè”, only “bevo una tazza di caffè”,it’s less useful than a RG which contains both ways.

That said, I personally think it makes sense that a common function such as PredVP would produce the most common and natural variant. I would just suggest a function in Extend that is the opposite of ProDrop: something like ExplicitPronoun : NP -> NP. Then the default for PredVP in Italian and Spanish would be to prodrop, and for the rare cases where you do need “io bevo …”, you can call the function that makes pronoun explicit (i.e. isPron=False).

(Side note, now that we’re talking about weird language in the RGL: if you come across verbs like “mi piace X” being wrong, there’s also a similar justification for that. Hard to get it right in the RG, because would need to make them inflect according to the logical object -> 6x6 inflection table for *all verbs*, easy to get it right in an application as long as you know this is the case. See explanation for Spanish in https://github.com/GrammaticalFramework/gf-rgl/tree/master/src/spanish#known-issues)

Sorry, I had understood another meaning of "apposition", like "puffer fish" that is "pesce palla" in Italian, with reverse order. Appositions proper, like "King John", retain order (although usually with an article, "il re Giovanni", as I think happens in Spanish too, "el rey Juan”).

There is a tree for that use case too! Here’s the whole output, the first one I pasted applies UttCN directly to the result of ApposCN, and thus no article is added. The second tree applies MassNP to the CN and then calls UttNP. MassNP for Romance languages adds a definite article, so you get the expected behaviour.

Lang> p "king John" | l -treebank
Lang: PhrUtt NoPConj (UttCN (ApposCN (UseN king_N) (UsePN john_PN))) NoVoc
LangEng: king John
LangSpa: rey Juan
Lang: PhrUtt NoPConj (UttNP (MassNP (ApposCN (UseN king_N) (UsePN john_PN)))) NoVoc
LangEng: king John
LangSpa: el rey Juan

Inari

Giuliano Lancioni

unread,
Dec 12, 2019, 3:55:37 PM12/12/19
to Grammatical Framework
Thank you, Inari.

I am getting to understand the philosopy of RGL better. I had wrongly supposed that the abstract component was meant to be linearized directly in different languages by creating translational equivalents, while reading better the tutorial (especially the Face example) made things clearer to me. The true ontology (be it limited or wide-ranging) is outside RGL. Which makes sense.
Reply all
Reply to author
Forward
0 new messages