_verb_extraction

  1. {
  2. <: verb;
  3. desc.short_sentence = value(-);
  4. %% We introduce a node S2 to handle argument extractions
  5. node S2 : [ id: S2, cat: S, bot: [sat: -]];
  6. S2 >> S;
  7. %% Agreement between S and S2 on almost all features
  8. %% node(S2).top = node(S2).bot;
  9. node(S2).bot.gender = node(S).bot.gender;
  10. node(S2).bot.number = node(S).bot.number;
  11. node(S2).bot.person = node(S).bot.person;
  12. node(S2).bot.mode = node(S).top.mode;
  13. node(S2).bot.neg = node(S).top.neg;
  14. node(S2).bot.sat = node(S).top.sat;
  15. node(S2).bot.tense = node(S).top.tense;
  16. node(S2).bot.wh = node(S).top.wh;
  17. node(S2).bot.inv = node(S).top.inv;
  18. node(S2).bot.quant = node(S).top.quant;
  19. node(S2).bot.quant = node(S2).top.quant;
  20. S2 >> XGroupMod;
  21. node XGroupMod : [id:vmod,cat:VMod,type:std,bot: [position: -|post, neg: -, cat: S|CS|adv|N2|pres|csu|pro]];
  22. node(S2).bot.quant = node(XGroupMod).top.quant;
  23. XGroupMod < S;
  24. XGroupMod >> XGroup;
  25. %% node(Infl).top.mode = value(~imperative|participle|gerundive);
  26. %% we may have extraction in participles
  27. %% example: par quoi trouve-t-il Paul changé ?
  28. %% but extracted participles should have no autonomie
  29. %% ie, should require adjoining on S
  30. node(Infl).top.mode = value(~imperative|gerundive);
  31. %% the following should force adjunction when participle
  32. v +
  33. node(Infl).top.mode = value(participle),
  34. node(S).top.extraction = value(adjx)
  35. |
  36. node(Infl).top.mode = value(~participle)
  37. ;
  38. desc.extraction = value(rel|wh|cleft|topic);
  39. node(XGroup).extracted.extracted = desc.extraction;
  40. node(XGroup).top = node(XGroup).bot;
  41. %% At most one extracted arg
  42. v +
  43. desc.ht.arg0 = node(XGroup).extracted,
  44. desc.@extracted1 = value(-),
  45. desc.@extracted2 = value(-)
  46. |
  47. desc.ht.arg1 = node(XGroup).extracted,
  48. desc.@extracted0 = value(-),
  49. desc.@extracted2 = value(-)
  50. |
  51. desc.ht.arg2 = node(XGroup).extracted,
  52. desc.@extracted0 = value(-),
  53. desc.@extracted1 = value(-)
  54. ;
  55. node XGroup : [];
  56. v +
  57. node(XGroup).extracted.kind = value(subj),
  58. node(XGroup).extracted.pcas = value(-),
  59. node(XGroup).top.number = node(S2).bot.number,
  60. node(XGroup).top.gender = node(S2).bot.gender,
  61. node(XGroup).top.person = node(S2).bot.person
  62. |
  63. node(XGroup).extracted.kind = value(~subj)
  64. ;
  65. node(S).top.extraction = value(adjx|rel|wh|cleft|topic|estceaux);
  66. }

Ajouter un commentaire

Connectez-vous ou inscrivez-vous pour publier un commentaire

Class Graph View