2010-07-01 10 views
15

Devo analizzare il testo inglese informale con molte mani corte e gergo locale. Quindi stavo pensando di creare il modello per il tagger stanford.come posso creare il mio corpus di allenamento per stanford tagger?

Come si crea la mia serie di corpus etichettati per lo stanford tagger su cui allenarsi?

Qual è la sintassi del corpo e quanto dovrebbe durare il mio corpus per ottenere una prestazione desiderabile?

+0

Quale componente: Tagger Stanford PoS o Stanford NER o Stanford Parser? –

+0

Caro goh, ho la stessa domanda potresti risolvere il tuo problema? Come? – Paniz

risposta

7

Formare la tagger POS, vedi this mailing list post che è anche incluso nel JavaDocs per la classe MaxentTagger.

Le javadocs per la edu.stanford.nlp.tagger.maxent.Train class specifica il formato di formazione:

The training file should be in the following format: one word and one tag per line separated by a space or a tab. Each sentence should end in an EOS word-tag pair. (Actually, I'm not entirely sure that is still the case, but it probably won't hurt. -wmorgan)

+0

Ho controllato ovunque ma non specifica come strutturare il file di allenamento? E quanto dovrebbe durare il mio modello di allenamento? – goh

+0

@goh: ho risposto con una modifica. –

+0

grazie per l'aiuto. – goh

1

Per Stanford Parser, utilizzare Penn treebank format e vedere Stanford's FAQ sui comandi esatti da utilizzare. I JavaDocs per la LexicalizedParser class anche dare comandi appropriati, in particolare:

java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser [-v] \ 
    -train trainFilesPath fileRange 
    -saveToSerializedFile serializedGrammarFilename 
6

In sostanza, i testi che si formatta per il processo di formazione dovrebbe avere un gettone su ogni linea, seguita da una scheda, seguito da un identificatore. L'identificatore può essere qualcosa come "LOC" per la posizione, "COR" per la società, o "0" per i token non-entità. Per esempio.

I  0 
left  0 
my  0 
heart  0 
in  0 
Kansas  LOC 
City  LOC 
.  0 

Quando il nostro team addestrato una serie di classificatori, ci siamo nutriti ogni file una formazione formattato come questa, con circa 180.000 gettoni, e abbiamo visto un netto miglioramento in termini di precisione, ma un decremento netto di richiamo. (Si noti che l'aumento di precisione non era statisticamente significativo.) Nel caso in cui potrebbe essere utile ad altri, ho descritto il processo che abbiamo usato per addestrare il classificatore e anche i valori p, r e f1 di entrambi addestrati e predefiniti classificatori here.

0

ho provato: java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser [-v] \ -treno trainFilesPath fileRange -saveToSerializedFile serializedGrammarFilename

Ma ho avuto l'errore:

Errore: impossibile trovare o caricare la classe principale edu.stanford.nlp.parser.lexparser.LexicalizedParser

Problemi correlati