Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
S
simplenlg-es
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1
    • Issues 1
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Julio Janeiro Gallardo
  • simplenlg-es
  • Wiki
  • Sección X – Añadiendo múltiples sujetos y complementos

Last edited by Julio Janeiro Gallardo Sep 22, 2017
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Sección X – Añadiendo múltiples sujetos y complementos

Un SPhraseSpec puede tener múltiples sujetos y complementos pero no verbos. Esto se consigue con la clase CoordinatedPhraseElement. Supongamos que, además de María, también hay una jirafa que quiere perseguir al mono. Para añadir a la jirafa en la frase tendremos que escribir:

    NPPhraseSpec subject1 = nlgFactory.createNounPhrase("María");
    NPPhraseSpec subject2 = nlgFactory.createNounPhrase("una", "jirafa");

    CoordinatedPhraseElement subj = nlgFactory.createCoordinatedPhrase(subject1, subject2); 
    p.setSubject(subj);

La salida resultante sería:

    María y una jirafa persiguen un mono.

SimpleNLG-ES añadió automáticamente la conjunción 'y' y cambió la conjugación del verbo para que coincida con los múltiples sujetos de la oración.

Del mismo modo, podemos tener varios complementos en un SPhraseSpec. Suponiendo que María y tu jirafa han encontrado a más gente a quien aterrorizar. En lugar de p.setObject (" un mono "), se escribiría:

    NPPhraseSpec object1 = nlgFactory.createNounPhrase("un mono");
    NPPhraseSpec object2 = nlgFactory.createNounPhrase("a Jorge");

    CoordinatedPhraseElement obj = nlgFactory.createdCoordinatedPhrase(object1, object2); 
    obj.addCoordinate("a Marta");
    p.setObject(obj);

La salida resultante será:

    María y una jirafa persiguen un mono, a Jorge y a Marta.

Si Mary y la jirafa corren tan rápido que no se puede ver a quién persiguen, se puede cambiar la conjunción en los elementos coordinados:

    obj.setFeature(Feature.CONJUNCTION, "or");

La salida resultante será:

    María y una jirafa persiguen un mono, a Jorge o a Marta.

Como ocurre con muchos métodos en SimpleNLG-es, el método createCoordinatedPhrase puede recibir todo tipo de argumentos - NPPhraseSpec, PPPhraseSpec o incluso cadenas de texto.

→ Para ver más ejemplos de coordinación, ver testsrc/ClauseAggregationTest.java.

Clone repository
  • Home
  • Sección 0 – Tutorial de SimpleNLG ES
  • Sección I – Qué es SimpleNLG es
  • Sección II – Quién puede usar SimpleNLG es
  • Sección III – Primeros pasos
  • Sección IV – Lexicon
  • Sección IX – Modificadores vs. complementos
  • Sección V – Generando una oración simple
  • Sección VI – Verbos
  • Sección VII – Qué son los complementos
  • Sección VIII – Adición de adjetivos mediante el ‘modifier’
  • Sección X – Añadiendo múltiples sujetos y complementos
  • Sección XI – Frases preposicionales
  • Sección XII – Diferentes formas de especificar una frase
  • Sección XIII – Generando una oración con múltiples cláusulas
View All Pages