2016-05-26 21 views
5

Ho scaricato e installato SyntaxNet dopo Syntax official documentation on Github. seguendo la documentazione (annotando il corpus) ho provato a leggere un file .conll chiamato wj.conll da SyntaxNet e scrivere i risultati in wj-tagged.conll ma non ho potuto. Le mie domande sono:Annotazione di un corpus (Syntaxnet)

  1. fa SyntaxNet legge sempre .conll file? (non i file .txt?). Mi sono un po 'confuso perché sapevo che SyntaxNet legge il file .conll per la formazione e il test, ma sono un po' sospettoso che sia necessario convertire un file .txt nel file .conll per avere la loro parte di analisi Spaces e Dependancy.

  2. Come posso fare SyntaxNet legge da file (mi stanco tutti i modi possibili spiego in GitHub documentazione su SyntaxNet e non ha funzionato per me)

+0

Qual è la tua domanda? Modifica il tuo post per fare una domanda chiara in modo che le persone possano rispondere! –

+0

Solo alcuni commenti per la tua domanda 1, * "SyntaxNet legge sempre file .conll? (Non .txt file?)" *, non dovrebbe fare la differenza se si chiama un file * XYZ.conll * o * XZY.txt. * La formattazione interna è ciò che conta, non l'estensione del file. Rifletti sulla tua domanda 2 * "Come posso fare in modo che SyntaxNet legga i file" *, hai provato l'input standard della shell o la lettura dei file Python? Secondo i documenti [qui] (https://github.com/tensorflow/tensorflow) mi sembra una possibilità. – patrick

+0

Grazie mille. Ha funzionato molto bene. – Nazanin

risposta

6

Aggiungere queste righe di dichiarazione a "context.pbtxt "alla fine del file. Qui "inp" e "out" sono i file di testo presenti nella directory root di syntexnet.

input { 
    name: 'inp_file' 
    record_format: 'english-text' 
    Part { 
    file_pattern: 'inp' 
    } 
    } 
    input { 
    name: 'out_file' 
    record_format: 'english-text' 
    Part { 
    file_pattern: 'out' 
    } 
    } 

Aggiungere frasi al file "inp" per cui si desidera codifica da fare e specificarli in guscio la prossima volta che si esegue utilizzando syntaxnet --input e tag --output.

Solo per aiutarti un po 'di più sto incollando un comando di shell di esempio.

bazel-bin/syntaxnet/parser_eval \ 
--input inp_file \ 
--output stdout-conll \ 
--model syntaxnet/models/parsey_mcparseface/tagger-params \ 
--task_context syntaxnet/models/parsey_mcparseface/context.pbtxt \ 
--hidden_layer_sizes 64 \ 
--arg_prefix brain_tagger \ 
--graph_builder structured \ 
--slim_model \ 
--batch_size 1024 | bazel-bin/syntaxnet/parser_eval \ 
--input stdout-conll \ 
--output out_file \ 
--hidden_layer_sizes 512,512 \ 
--arg_prefix brain_parser \ 
--graph_builder structured \ 
--task_context syntaxnet/models/parsey_mcparseface/context.pbtxt \ 
--model_path syntaxnet/models/parsey_mcparseface/parser-params \ 
--slim_model --batch_size 1024 

Nello script precedente l'uscita (POS tagging) del primo comando shell è usato come ingresso per il secondo comando shell, dove i due comandi shell sono separati da "|"

+0

Grazie mille ha funzionato molto bene. – Nazanin

+0

Se ha funzionato, si prega di alzare la votazione in modo che possa aiutare gli altri. –

+0

Certo, scusa sono nuovo per lo stack overflow Lo farò adesso – Nazanin

-1

solo un rapido aiuto, se si desidera salvare l'output di demo in un file txt:

provare echo "open file X with application Y" | ./demo.sh > output.txt ti dà condannerete albero nella directory corrente.

+0

Questo non fornisce una risposta alla domanda. Per criticare o richiedere chiarimenti da un autore, lascia un commento sotto il loro post. - [Dalla recensione] (/ recensione/post di bassa qualità/12653432) –

+1

@EugeneS sì sembra che non fornisca la risposta. quello che volevo fare era far sì che SyntaxNet leggesse da un file, assumere l'output del riconoscimento vocale e salvare il suo output come un file di testo per inviarlo a python per ulteriori analisi. sfortunatamente le risposte che ho ricevuto qui non funzionavano affatto. quindi ho ignorato la parte che posso leggere da un file e ho cercato di trovare un modo per salvare l'output dell'albero in un file di testo. se ancora pensi che non sia rilevante per favore fammelo sapere e lo cancellerò – Nazanin