En lo que respecta a SimpleNLG-ES, un complemento es cualquier cosa que viene después del verbo. Cuando etiquetas algo como un complemento SimpleNLG-ES lo colocará, después del verbo[1]. Si se ha especificado un complemento directo, lo colocará después del verbo y del complemento directo.
En las siguientes oraciones podemos ver ejemplos de complementos en cursiva:
- María es feliz.
- María escribió la carta rápidamente.
- María vió que sus vacaciones ya han terminado.
Las palabras y las frases cursivas en los ejemplos anteriores son todas partes diferentes del discurso. En el ejemplo #1, es una frase adjetiva; En el ejemplo #2, es un adverbio; Y una 'cláusula-que' en el ejemplo #3. Los textos indicados tienen una cosa en común: son complementos y aparecen después del verbo. SimpleNLG-ES incluye conocimiento relativo a sujetos, verbos y complementos directos, pero este es muy limitado en lo que se refiere a frases adjetivas que siguen a los verbos, frases adverbiales, cláusulas-que u otras partes del discurso que pueden aparecer después de un verbo. Aun así, maneja el concepto de complemento, y debido a esto, pueden generarse frases que siguen a un verbo. Como se puede ver en la Tabla 2, los complementos abarcan múltiples tipos de frases.
Parte del discurso | Tipo de frase | Ejemplos |
---|---|---|
Complemento | Frase preposicional | "en el parque" |
Cláusula-que | "que Sara ve a Juan" | |
Frase adjetiva | "encantado de conocerte" | |
Frase adverbial | "muy rápido" | |
Tabla 2: Frases preposicionales, cláusulas-que, frases adjetivas y frases adverbiales que tienen lugar al final de una oración se consideran complementos. |
Los complementos se pueden añadir a las oraciones mediante el método addComplement
. Por ejemplo, con este sujeto, complemento directo y verbo:
p.setSubject("María");
p.setVerb("perseguir");
p.setObject("un mono");
Podemos añadir cualquier tipo de complemento:
p.addComplement("muy rápido"); // Frase adverbial, pasada como una cadena
p.addComplement("a pesar de su agotamiento"); // Frase preposicional
Lo que generará:
Mary persigue un mono muy rápido a pesar de su agotamiento.
Hay que tener en cuenta que sólo las instancias del tipo SPhraseSpec
pueden tener un complemento. Los sustantivos y verbos tienen modificadores, que discutiremos a continuación.
→ Para ver más ejemplos sobre complementos, ver testsrc/FPTest.java
.
[1] Incluso si etiquetas una cadena sin sentido como "shabadoo" como complemento, simpleNLG-es lo agregará después del verbo.