LoginSignup
0
1

More than 5 years have passed since last update.

Stanford NLPをServer化してみた

Last updated at Posted at 2019-02-05

前の記事で予告した通り、StanfordNLPをFlaskでAPIとweb pageを作ってみました。
詳細は Github repository にあります。
ライセンス関係に疎いので、まだ入れていません。やらないと!

やったこと

Flaskを使って API
image.png
と web page
image.png
を作ってみました。
一応、日本語など他の言語でもできます。
image.png
image.png

サーバの立ち上げ方

repositoryのコードを使用する方法 (やや推奨)

repositoryに書いた通りですが、git cloneやzipでダウンロード後、
Python3.7.2環境で pytorch stanfordnlp flask をpip経由などでinstallしてください。
Mac環境であれば、

pip install -r requirements

で完了します。その後、

python server.py en

で英語のparserを起動します。モデル(一言語につき2.7GB程度)のダウンロード、ロードで時間がかかりますが、終わればサーバが立ち上がります。
2回目以降同じ言語のサーバを起動する場合はダウンロードは行われません。

(注意!)前の記事でも書きましたが、lzmaが入っていないことがあります。xzをhomebrewなどでインストールし、その後pythonを再インストールすれば正常に動くようになります。

同様に

python server.py ja

で日本語のparserを起動します。

docker imageを使う方法

docker imageも作成してあります。こちらは、

docker run -e LANGUAGE=ja -it -p 5020:5020 takuyakubo/usnlp

とすることで起動できます。(日本語の場合、英語にしたい場合はjaenに、他の言語は、公式ページにある通りです。)
コードを用いるより重いのと、こちらは起動のたびにモデルのダウンロードとロードを行うので時間がかかります(起動に10分程度?)

やること

色々ありますが、とりあえずのところ

  • dockerをもう少しなんとかする
  • ライセンスをちゃんとする

はやらないといけないと思っています。
ただ、あまり知識がないので「どうしよう」という状態です。
詳しい方がいらっしゃいましたら教えていただけるとありがたいです。

読んでいただきありがとうございました。

参考

公式ページ
https://stanfordnlp.github.io/stanfordnlp/index.html
作成repository
https://github.com/takuyakubo/stanfordNLP_Server

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1