2016-01-06 25 views
23

La consueta risoluzione coreference funziona nel seguente modo:risoluzione pronome all'indietro

fornito

The man likes math. He really does. 

si capisce che

he 

riferisce a

the man. 

Esistono un sacco di strumenti per Fai questo.

Tuttavia, c'è un modo per farlo all'indietro?

Per esempio,

dato

The man likes math. The man really does. 

voglio fare la risoluzione pronome "a ritroso",

in modo che ottengo un output come

The man likes math. He really does. 

mio ingresso il testo sarà per lo più di 3 ~ 10 frasi e sto lavorando con python.

+0

Non sarebbe facile se si identificano gli anafori ei loro antecedenti e quindi si sostituisce l'anafora con il suo antecedente? – Riyaz

+0

Puoi fornire altri esempi di come appaiono le frasi? –

+0

Nell'esempio fornito, come si può determinare che il 2 ° "l'uomo" si riferisce alla stessa persona?Inoltre, pensa che sarebbe utile avere altri casi di test se puoi fornirli. –

risposta

8

Questa non è forse una risposta per cui essere contenti, ma penso che la risposta sia che non esiste una tale funzionalità incorporata ovunque, sebbene sia possibile codificarla da soli senza troppe difficoltà. Dare uno schema di come lo farei con CoreNLP:

  1. Ancora eseguire coref. Questo ti dirà che "l'uomo" e "l'uomo" sono coreferent, e quindi puoi sostituire il secondo con un pronome.

  2. Eseguire l'annotatore gender da CoreNLP. Questo è un annotatore scarsamente documentato e ancor meno pubblicizzato che tenta di associare il genere ai token in una frase.

  3. In qualche modo capire plurali. La maggior parte delle volte è possibile utilizzare il tag di parte del discorso: i nomi plurali ottengono i tag NNS o NNPS, ma ci sono alcune complicazioni quindi si potrebbe anche voler considerare (1) l'esistenza di congiunzioni nell'antecedente; (2) il lemma di una parola è diverso dal suo testo; (3) specialmente in congiunzione con 2, la parola che termina in 's' o 'es' - questo può distinguere tra lemmatizzazioni che spogliano plurali contro lemmatizzazioni che tolgono i tempi, ecc.

  4. Questo è sufficiente per capire il pronome giusto. Ora si tratta solo di ridurre la frase e rimetterla insieme. Questo è un po 'fastidioso se lo fai in CoreNLP - il codice non è impostato per cambiare il testo di una frase - ma nel peggiore dei casi puoi sempre annotare nuovamente una nuova forma di superficie.

Spero che questo aiuti un po '!

+0

Fantastico! non sapevo che CoreNLP ha un annotatore di "genere". – alvas