前の記事で予告した通り、StanfordNLPをFlaskでAPIとweb pageを作ってみました。
詳細は Github repository にあります。
ライセンス関係に疎いので、まだ入れていません。やらないと!
やったこと
Flaskを使って API
と web page
を作ってみました。
一応、日本語など他の言語でもできます。
サーバの立ち上げ方
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
とすることで起動できます。(日本語の場合、英語にしたい場合はja
をen
に、他の言語は、公式ページにある通りです。)
コードを用いるより重いのと、こちらは起動のたびにモデルのダウンロードとロードを行うので時間がかかります(起動に10分程度?)
やること
色々ありますが、とりあえずのところ
- dockerをもう少しなんとかする
- ライセンスをちゃんとする
はやらないといけないと思っています。
ただ、あまり知識がないので「どうしよう」という状態です。
詳しい方がいらっしゃいましたら教えていただけるとありがたいです。
読んでいただきありがとうございました。
参考
公式ページ
https://stanfordnlp.github.io/stanfordnlp/index.html
作成repository
https://github.com/takuyakubo/stanfordNLP_Server