LoginSignup
1
0

More than 5 years have passed since last update.

word2vecをtensorflow servingに載せた話

Last updated at Posted at 2018-08-01

想定読者

コンテナへのモデルの転送が必要なせいでビルドに時間がかかるし, モデルの入れ替えにデプロイが必要だし大変だ, という方.
この記事はそうした方向けです.

まずは成果物

作ったものは github にあります.
tf1.9で動作確認しましたが, 使ってる機能も多くないので多少古くても動くかと.

なにをしたのか

tf.contrib.lookup.HashTabletf.nn.embedding_lookupを使ってword2vecをtensorflowに持たせるようにしました.

なぜそんなことをするのか

tensorflow serving にword2vecを持たせたかったからです.
tf-servingとはtensorflowのモデルを良い塩梅にversioningとかしつつ, TensorProtoでのリクエストを受けて推論を実行して結果を返してくれる便利なやつです.詳しくはリンク先参照.

なぜ一回idを経由してvecを取るのか

id -> wordの変換が必要だったからです.
word->vecしか必要ない場合SimpleWord2VecTfModelというのもあるのでそちらをどうぞ.

所感

HashTableの存在を知らなかったせいでserving自体に手を入れかけていたのですが, 既存機能だけでさらっとできて良かった.
servingには最近REST APIも生えたのでブラウザから直接呼び出しもできて便利です.もっと流行って情報が増えて欲しいところ.
自然言語処理パイプラインを全部servingに面倒見て欲しいという気持ちがあり, mecabの辞書でも同じことがやりたいのですがc++は全然わからないし, servingは大きくて手を入れるのがつらい…
どなたかこれ読んで一緒に作りませんか.

1
0
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
1
0