Usando PNL para cambiar de género

Básicamente, estoy escribiendo un módulo Java que se supone que toma texto en inglés y cambia los géneros de los pronombres. Entonces, por ejemplo, si le das "Ella puso la caja sobre la mesa", te devolvería "Él puso la caja sobre la mesa". Si le dices "Le duelen los pies" te devolvería "Le duelen los pies".

Esto es bastante fácil, excepto por la palabra "suya". A veces la suya, a veces la suya.

He estado investigando la PNL, de la que no sé casi nada, y probé OpenNLP pero me está fallando (no puedo usar la NLP de Standford debido al problema de licencia). El etiquetador de POS y el Chunker se confunden con los suyos, y también lo hace el analizador. Así por ejemplo:

La caja era suya.

(TOP (S (NP (DT The) (NN box)) (VP (VBD was) (NP (PRP$ his))) (. .)))

La caja era de ella.

(TOP (S (NP (DT The) (NN box)) (VP (VBD was) (ADJP (JJ hers))) (. .)))

La caja era su caja.

(TOP (S (NP (DT The) (NN box)) (VP (VBD was) (NP (PRP$ his) (NN box))) (. .)))

La caja era su caja.

(TOP (S (NP (DT The) (NN box)) (VP (VBD was) (NP (PRP$ her) (NN box))) (. .)))

Identifica correctamente "el suyo" como una frase adjetiva, pero cuando se usa "his" en el predicado de la misma manera, lo identifica incorrectamente como un pronombre posesivo, como si estuviera modificando algún sustantivo como en el tercer y cuarto ejemplos. ..

¿Es esto solo una cuestión de entrenamiento? ¿Sería posible crear mi propio conjunto de entrenamiento que haga un mejor trabajo al hacer esto, básicamente un conjunto que solo tiene toneladas de sus oraciones?

Puntos de bonificación si me puede decir si hay alguna forma de usar PNL para determinar el antecedente de un pronombre. Por ejemplo:

"Wanda gave a watch to a girl named Lucy.  She loved it."

Supongo que esto es casi imposible, ya que a veces es incluso difícil para los humanos.

Respuesta 1

Estoy tratando de hacer pruebas para mi aplicación de arranque Spring y tengo un gran problema. Así es como se ve mi error: org.mockito.exceptions.misusing.WrongTypeOfReturnValue: WorkItem no puede ser ...

'java.lang.ClassNotFoundException: javax.faces.webapp.UIComponentTag' Se produjo un error cuando ejecuto mi aplicación de struts en MyEclipse IDE con el servidor web WebLogic 1o.2. <Error> <Implementador y ...

Estoy usando el controlador Neo4j para Java que le permite ejecutar una consulta con parámetros. Tengo una lista generada dinámicamente de cadenas que actúan como consultas, y cada consulta tiene diferentes parámetros. ...

¿Cómo configuro el color de un evento que agrego mediante programación al calendario nativo de Android?