coreNLPをnode.jsから呼び出す
coreNLP を呼び出せる node.js のライブラリ一覧が記されていました
stanfordnlp.github.io
今回は、この中の、CoreNLP-client を使わせていただきます^^
github.com
まずはインストール
> npm install corenlp-client
プログラムはこんな感じ
const StanfordCoreNLPClient = require('corenlp-client'); const client = new StanfordCoreNLPClient("http://localhost:9000","tokenize,ssplit,pos,lemma,ner");
const text = ""this is a pen"; var result = await client.annotate(text);
coreNLPサーバは動いているのが大前提です
はー、できたできた(´∀`*) と思ってたら、物言いが入りました。><
"covid-19" が "covid" "-" "19" になるのはいかがなものか、ということです
たしかに。。。
tokenize.options: splitHyphenated=false
こういうオプションをつけたらできるよ!と言われたのですが、corenlp-clientにはそのようなオプションをつける余地がありません
と、いうわけで、corenlp-clientを使うのはあきらめて、request-promiseを使うことにしました
インストール
> npm install request-promise
プログラム
const req_promise = require('request-promise');
var result = await req_promise( { method: 'POST', uri: 'http://localhost:9000' + '/?properties={' + '"annotators": "tokenize,ssplit,pos,lemma,ner",' + '"tokenize.options": "splitHyphenated=false",' + '"outputFormat": "json"' + '}', body: text }); result = JSON.parse(result);