2016-05-26 32 views
5

Syntax official documentation on Github'u izleyerek SyntaxNet'i indirip yükledim. belgeleri takip ederek (ek açıklama corpus) SyntaxNet tarafından wj.conll isimli bir .conll dosyasını okumaya çalıştım ve sonuçları wj-tagged.conll yazdım ama yapamadım. Sorularım şunlardır:Bir Corpus (Syntaxnet) Ek Açıklamaları

  1. SyntaxNet yok hep .conll dosyalarını okur? (.txt dosyaları değil?). SyntaxNet'in eğitim ve test süreci için .conll dosyasını okuduğunu bildiğimden biraz kafam karıştı ama biraz kendi kendine Speach ve Dependancy Ayrıştırma Bölümlerine sahip olmak için .txt dosyasını .conll dosyasına dönüştürmenin gerekli olduğuna şüphem var.

  2. nasıl SyntaxNet dosyalarından okur yapabilirsiniz (Yorgunum tüm olası yolları SyntaxNet hakkında GitHub belgelerinde açıklamak ve Benim için işe yaramadı)

+0

Sorunuz nedir? Açık bir soru sormak için gönderinizi düzenleyin, böylece insanlar buna cevap verebilir! –

+0

Sadece bir kaç yorumunuzu tekrarlayın 1, * "SyntaxNet her zaman .conll dosyalarını okur mu (.txt dosyaları değil?)" *, bir dosyayı çağırdığınızda fark yaratmamalı * XYZ.conll * veya * XZY.txt. * Biçimlendirme, dosya uzantısı değil, önemli olan şeydir. Sorunuzu cevaplayın * * "SyntaxNet'i dosyalardan nasıl okur?" *, Standart kabuk girişini veya Python dosya okumasını denediniz mi? Belgelere göre [burada] (https://github.com/tensorflow/tensorflow) bana bir olasılık gibi görünüyor. – patrick

+0

Çok teşekkür ederim. Çok iyi çalıştı. – Nazanin

cevap

6

için "context.pbtxt bu beyan satırları ekleyin "Dosyanın sonunda. Burada "inp" ve "out", syntexnet'in kök dizininde bulunan metin dosyalarıdır.

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

ne yapılması etiketleme istediğiniz kendisi için "inp" dosyaya cümleler ekleyin ve --input kullanarak ve --output etiketleri kabuğunda sen syntaxnet çalıştırmak dahaki sefere onları belirtin.

Size biraz yardımcı olmak için örnek bir kabuk komutunu yapıştırıyorum. ilk kabuk komutunun yukarıda komut çıkış (POS etiketleme) içinde

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 

iki kabuk komutlarını ayrılmış ikinci kabuk komutu için bir girdi olarak kullanılır "|" sadece hızlı yardım .txt dosyasında demo çıktı kaydetmek istiyorsanız

+0

Çok teşekkür ederim çok iyi çalıştı. – Nazanin

+0

Çalıştıysa lütfen oy verin, böylece başkalarına yardımcı olabilir. –

+0

Elbette, Yığın taşması için yeniyim Eminim şu anda yapacağım – Nazanin

-1

:

echo "open file X with application Y" | ./demo.sh > output.txt Eğer geçerli dizine ağaç cümle verir deneyin.

+0

Bu, soruya bir cevap vermemektedir. Bir yazardan eleştiri yapmak veya açıklama istemek için yazılarının altında bir yorum bırakın. - [Yorum Yaz] (/ review/düşük kaliteli yazılar/12653432) –

+1

@EugeneS evet cevabı vermediği görünüyor. Yapmak istediğim, SyntaxNet'i bir dosyadan okumak, konuşma tanıma çıktılarını almak ve çıktılarını bir metin dosyası olarak kaydetmek ve daha fazla analiz için python'a göndermek oldu. maalesef buraya geldiğim cevaplar hiç çalışmıyordu. böylece bir dosyadan okuyabileceğim kısmı göz ardı ettim ve ağaç çıktısını bir metin dosyasına kaydetmek için bir yol bulmaya çalıştım. hala uygun olmadığını düşünüyorsanız lütfen bana bildirin ve onu sileceğim – Nazanin