-
Notifications
You must be signed in to change notification settings - Fork 6
Sección XIII – Generando una oración con múltiples cláusulas
julio.janeiro edited this page Feb 6, 2017
·
1 revision
Una forma de generar una oración con múltiples cláusulas es usar la clase CoordinatedPhraseElement
.
SPhraseSpec s1 = nlgFactory.createClause("mi gato", "quiere", "pescado");
SPhraseSpec s2 = nlgFactory.createClause("mi perro", "quiere", "huesos grandes");
SPhraseSpec s3 = nlgFactory.createClause("mi caballo", "quiere", "hierba");
CoordinatedPhraseElement c = nlgFactory.createCoordinatedPhrase();
c.addCoordinate(s1);
c.addCoordinate(s2);
c.addCoordinate(s3);
A continuación, el objeto CoordinatedPhraseElement c
puede realizarse como una oración:
String output = realiser.realiseSentence(c);
System.out.println(output);
Si no se proporciona una conjunción utilizando el método setConjunction
, la conjunción 'y' se utilizará automáticamente por ser el valor predeterminado. En este caso, la oración resultante sería:
Mi gato quiere pescado, mi perro quiere huesos grandes y mi caballo quiere hierba.
Las oraciones subordinadas se pueden agregar a la oración principal utilizando el método addComplement, donde se establece el tipo de complementador ("porque", "mientras", etc.) que se utiliza mediante el método setFeature
.
SPhraseSpec p = nlgFactory.createClause("yo", "estar", "feliz");
SPhraseSpec q = nlgFactory.createClause(null, "comer", "pescado");
q.setFeature(Feature.COMPLEMENTISER, "porque");
q.setFeature(Feature.TENSE, Tense.PAST);
p.addComplement(q);
String output4 = realiser.realiseSentence(p);
System.out.println(output4);
La salida es:
Yo estoy feliz porque comí pescado.