2016-04-21 69 views
1

我運行一個Stanford CoreNLP服務器:從輸出文本防止斯坦福核心NLP服務器收到

java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9001 -timeout 50000 

每當收到一些文本,它輸出它正在運行它的外殼。如何防止這種情況發生?


這是重要的,這裏是我使用將數據傳遞到斯坦福核心NLP服務器代碼:

''' 
From https://github.com/smilli/py-corenlp/blob/master/example.py 
''' 
from pycorenlp import StanfordCoreNLP 
import pprint 

if __name__ == '__main__': 
    nlp = StanfordCoreNLP('http://localhost:9000') 
    fp = open("long_text.txt") 
    text = fp.read() 
    output = nlp.annotate(text, properties={ 
     'annotators': 'tokenize,ssplit,pos,depparse,parse', 
     'outputFormat': 'json' 
    }) 
    pp = pprint.PrettyPrinter(indent=4) 
    pp.pprint(output) 

回答

5

目前旗下有沒有辦法做到這一點,但你是第二人稱這是問。所以,它現在在Github代碼中,並且將會進入下一個版本。將來,您應該能夠設置-quiet標誌,並且服務器不會寫入標準輸出。

1

我問了same question,可以提供某種解決方法。我正在虛擬機中運行服務器。爲了防止日誌輸出現在我2&>1 >/dev/null管參數運行它:

java -mx6g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -prettyPrint false 2&>1 >/dev/null 

這給出了一個相當大的性能提升,直到我們等待3.6.1