2016-10-05 66 views
3

執行一些示例語法網絡腳本(如parse.sh)後,我收到的輸出格式爲,文本爲格式。我的目標是採取一些功能,並繼續他們到下一個網絡。一種可能的選擇是將文本輸出用nltk.corpus.reader.ConllCorpusReader解析爲python對象。但對我而言,有趣的是 是:從SyntaxNet獲取輸出爲python對象,而不是文本

這是可能的一些代碼修改從SyntaxNet而不是文本,但Python對象與解析結果?

我發現在parser_eval.py的第133-138行中syntaxnet獲取了已經結果的文本版本。

while True: 
    tf_eval_epochs, tf_eval_metrics, tf_documents = sess.run([ 
     parser.evaluation['epochs'], 
     parser.evaluation['eval_metrics'], 
     parser.evaluation['documents'], 
    ]) 

但我找不到從什麼對象生成這個文本的地方以及如何。

回答

0

有很多方法可以做到這一點,並且我知道所有這些方法都涉及解析SyntaxNet的輸出,並將其加載到NLTK對象中。我寫我的博客上一個簡單的帖子,體現它:

http://www.davidsbatista.net/blog/2017/03/25/syntaxnet/

+0

嗨,大衛, 是的,我知道這是可以通過一些外部腳本解析輸出。但問題是,是否有可能直接從syntaxnet作爲python對象接收結果。 –

+0

我從來沒有調查過,我想你必須在Tensorflow中直接使用SyntaxNet實現。另一種選擇是讓SyntaxNet作爲一個守護進程工作,我不知道這是否可行,但我懷疑這可能是要走的道路:https://tensorflow.github.io/serving/ –

相關問題