CAAD
http://foro.caad.es/

Extraer verbo
http://foro.caad.es/viewtopic.php?f=31&t=5714
Página 1 de 1

Autor:  edlobez [ 10 Oct 2014 12:26 ]
Asunto:  Extraer verbo

¡Buenas!

Dentro del método de conversas con PSI:

Código:
void onSayTo ( Mobile speaker , String text , Mobile hearer )


Necesitaría extraer el verbo contenido en text (si es que lo hay).

¿Existe alguna forma de poder extraerle el verbo (de entre los verbos que reconoce AGE) contenido en el String text?

Algo del tipo

Código:
String elVerbo;

elVerbo = extraerElVerboAGE ( text );


O en el caso de ser varios verbos

Código:
List listaDeVerbos = new ArrayList();

listaDeVerbos = extraerElVerboAGE (text);


¡Gracias!

Autor:  Al-Khwarizmi [ 10 Oct 2014 17:05 ]
Asunto:  Re: Extraer verbo

¿Lo que quieres es extraer el verbo suponiendo que aparece en posición de verbo (o sea, que lo que están diciendo es como si fuera un comando) o extraer cualquier palabra de la oración que sea un verbo?

O sea, si el jugador ha dicho "Te voy a matar", ¿el comportamiento que deseas es que se devuelvan "voy" y "matar", por ser verbos reconocidos por AGE, aunque la oración no sea una orden?

Si es así, puedes usar el método isVerb de la clase NaturalLanguage:

Código:
NaturalLanguage nl = world.getLanguage();
List verbs = new ArrayList();
StringTokenizer st = new StringTokenizer(text);
while ( st.hasMoreTokens() )
{
  String tok = st.nextToken();
  if ( nl.isVerb(tok) )
     verbs.add(tok); /*esto añade la forma que apareció tal cual. Si quieres el infinitivo, verbs.add(nl.toInfinitive(tok));*/
}


Si es otra cosa, es mejor que me detalles más lo que quieres. Porque por ejemplo, si es para hacer que un PNJ siga una orden (que el jugador le diga "coge la espada" y entonces ese personaje coja la espada), para eso hay métodos específicos que lo hacen automáticamente sin que tengas que parsear a mano nada.

Autor:  edlobez [ 10 Oct 2014 21:55 ]
Asunto:  Re: Extraer verbo

Lo has clavado, es justo lo que necesito.

¡Gracias!

Página 1 de 1 Todos los horarios son UTC + 1 hora
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/