bertのお気持ちを理解したのでやってみた記事をやってみた

画像界隈の人間ですが言語の方がお金になりそう。

なんて下心は全然ないです。以前からBERTの存在は知っていて、お気持ちは完全に理解してる(20%)んですが、動かしたことはなかったです。NLPはまともに触ったこともない。

やっとBERTを勉強する機会が来たので、いろいろ記事を読み漁り、結局手を動かすことにしました。

以下の記事をなぞりました。

qiita.com

ちなみにこの参考記事自体にも元の参考記事があり、そちらには解説とか含め乗ってます。何番煎じなのか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を使いました。動いたのでよかった。