2013-05-28 10 views
6

Sto eseguendo tagging POS con lo Stanford POS Tagger. Il tagger restituisce solo una possibile codifica per la frase di input. Ad esempio, quando viene fornita la frase di input "The clown weeps.", Il tagger POS produce il (errato) "The_DT clown_NN weeps_NNS ._.".Ottieni più taggings con Stanford POS Tagger

Tuttavia, la mia applicazione proverà ad analizzare il risultato e potrebbe rifiutare un tagging POS perché non c'è modo di analizzarlo. Quindi, in questo esempio, rifiuterebbe "The_DT clown_NN weeps_NNS ._." ma accetterebbe "The_DT clown_NN weeps_VBZ ._." che presumo è un tag di riservatezza inferiore per il parser.

Vorrei quindi che il tagger POS fornisse più ipotesi per il tagging di ogni parola, annotate da un qualche tipo di valore di confidenza. In questo modo, la mia applicazione potrebbe scegliere il tagging POS con la massima sicurezza che raggiunge un parsing valido per i suoi scopi.

Non ho trovato alcun modo per chiedere a Stanford POS Tagger di produrre più (n-migliori) ipotesi di etichettatura per ogni parola (o anche per l'intera frase). C'è un modo per fare questo? (In alternativa, sto anche bene con l'utilizzo di un altro marcatore POS con prestazioni paragonabili che avrebbero il supporto per questo.)

+0

possibilmente correlati a questo (anche senza risposta) domanda http://stackoverflow.com/questions/15574915/stanford-core-nlp-how-to-get-the-probability-margin -of-error –

risposta

-1

Abbiamo scoperto che il modello predefinito per il tagg POS non era abbastanza buono. Si è scoperto che l'utilizzo di un modello diverso tag molto meglio. Attualmente stiamo usando wsj-0-18-bidirezionale-distsim e le prestazioni sono abbastanza buone per la maggior parte delle attività. Includo in questo modo:

props.put("pos.model", 
    "edu/stanford/nlp/models/pos-tagger/wsj-bidirectional/wsj-0-18-bidirectional-distsim.tagger"); 
props.put("annotators", "tokenize, ssplit, pos, ..."); 
pipeline = new StanfordCoreNLP(props); 
+0

Suggerimento interessante, ma in realtà non risponde alla mia domanda. :) – a3nm