[英]CoreNLP API equivalent to command line?
對於我們的項目之一,我們當前正在命令行中使用語法分析組件。 我們希望從這種方法過渡到現在使用corenlp服務器(以獲得更好的性能)。
我們的命令行選項如下:
java -mx4g -cp "$scriptdir/*:" edu.stanford.nlp.parser.lexparser.LexicalizedParser -tokenized -escaper edu.stanford.nlp.process.PTBEscapingProcessor -sentences newline -tokenized -tagSeparator / -tokenizerFactory edu.stanford.nlp.process.WhitespaceTokenizer -tokenizerMethod newCoreLabelTokenizerFactory -outputFormat "wordsAndTags,typedDependenciesCollapsed"
我做了一些嘗試,但是在使用corenlp API(與Python結合使用)時,我沒有設法找到合適的選項。
例如,如何指定文本已被標記化?
我真的很感謝您的幫助。
通常,服務器將調用CoreNLP而不是單個NLP組件,因此有關CoreNLP的文檔可能會有用。 被注釋文本的主體作為POST主體發送到服務器; 屬性作為URL參數傳遞。 例如,對於您的情況,我相信以下curl命令應該可以解決問題(並且應該易於適應您選擇的語言):
curl -X POST -d "it's split on whitespace" \
'http://localhost:9000/?annotators=tokenize,ssplit,pos,parse&tokenize.whitespace=true&ssplit.eolonly=true'
請注意,我們只是將以下屬性傳遞到服務器中:
annotators = tokenize,ssplit,pos,parse
(指定我們需要解析器及其所有先決條件)。 tokenize.whitespace = true
將調用withespace標記生成器。 ssplit.eolonly = true
將只在換行符上拆分句子。 其他可能有用的選項記錄在解析器注釋器頁面上 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.