簡體   English   中英

相當於命令行的CoreNLP API?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM