画像界隈の人間ですが言語の方がお金になりそう。
なんて下心は全然ないです。以前からBERTの存在は知っていて、お気持ちは完全に理解してる(20%)んですが、動かしたことはなかったです。NLPはまともに触ったこともない。
やっとBERTを勉強する機会が来たので、いろいろ記事を読み漁り、結局手を動かすことにしました。
以下の記事をなぞりました。
ちなみにこの参考記事自体にも元の参考記事があり、そちらには解説とか含め乗ってます。何番煎じなのかw
京大の黒橋・河原研究室が公開してくださってる学習済みモデルをwget
wget "http://nlp.ist.i.kyoto-u.ac.jp/DLcounter/lime.cgi?down=http://nlp.ist.i.kyoto-u.ac.jp/nl-resource/JapaneseBertPretrainedModel/Japanese_L-12_H-768_A-12_E-30_BPE.zip&name=Japanese_L-12_H-768_A-12_E-30_BPE.zip"
解凍 unzipコマンド
unzip «ZIPファイル名»
黒橋・河原研究室の形態素解析システムである JUMAN++ を使いたいので、動作環境を整える
sudo apt-get install libboost-all-dev google-perftools libgoogle-perftools-dev libunwind-dev
JUMAN++をインストール
v2があるが、まだpre-releaseなので参考記事同様1.02をダウンロード
wget "http://lotus.kuee.kyoto-u.ac.jp/nl-resource/jumanpp/jumanpp-1.02.tar.xz" tar xJvf jumanpp-1.02.tar.xz cd jumanpp-1.02/ ./configure make sudo make install
python からJUMAN++動かすために “pyknp” を用います。
JUMAN++のマニュアルにはtarファイルをダウンロードしてインストールする方法が紹介されているが、参考記事のように環境を分けてpipする。
venv で環境を作成
~/envs$ python -m venv bertknp source ~/envs/bertknp/bin/activate pip install pyknp pip install tensorflow-gpu==1.15.0
これで環境はOK
bert をクローン
git clone https://github.com/google-research/bert
あとは参考記事そのまんまコードを書き換えて実行したら出力のファイルが生成されて、中には数字がブウウアアアーーって書かれてます(特徴量)
動かすだけでしたがライブラリはtensorflowあればよくって、楽でした。tensorflowは1.11.0で動作確認とBERTの公式READMEに書いてあったんですが、1.11.0が見つからないって言われたので1.15.0を使いました。動いたのでよかった。