-
Notifications
You must be signed in to change notification settings - Fork 1
Sección XIII – Xerando unha oración con múltiples cláusulas
andrea.cascallar edited this page Jul 11, 2018
·
1 revision
Unha forma de xerar unha oración con múltiples cláusulas é empregar a clase CoordinatedPhraseElement
.
SPhraseSpec s1 = nlgFactory.createClause("o meu gato", "quere", "peixe");
SPhraseSpec s2 = nlgFactory.createClause("o meu can", "quere", "ósos grandes");
SPhraseSpec s3 = nlgFactory.createClause("o meu cabalo", "quere", "herba");
CoordinatedPhraseElement c = nlgFactory.createCoordinatedPhrase();
c.addCoordinate(s1);
c.addCoordinate(s2);
c.addCoordinate(s3);
A continuación, o obxecto CoordinatedPhraseElement c
pode realizarse como unha oración:
String output = realiser.realiseSentence(c);
System.out.println(output);
Se non se proporciona unha conxunción empregando o método setConjunction
, a conxunción 'e' utilizarase automaticamente por ser o valor predeterminado. Neste caso, a oración resultante sería:
O meu gato quere peixe, o meu can quere ósos grandes e o meu cabalo quere herba.
As oracións subordinadas pódense agregar á oración principal empregando o método addComplement, onde se establece o tipo de complemento ("porque", "mentres", etc.) que se utiliza mediante o método setFeature
.
SPhraseSpec p = nlgFactory.createClause("eu", "estar", "feliz");
SPhraseSpec q = nlgFactory.createClause(null, "comer", "peixe");
q.setFeature(Feature.COMPLEMENTISER, "porque");
q.setFeature(Feature.TENSE, Tense.PAST);
p.addComplement(q);
String output4 = realiser.realiseSentence(p);
System.out.println(output4);
A saída é:
Eu estou feliz porque comín peixe.