GinZA インストール メモ

AWS の EC2 の場合はインスタンスタイプを medium (4GB) 以上で実行する
こちらも NEologd 同様 small (2GB) だとメモリ不足でエラーになった

$ pip install "https://github.com/megagonlabs/ginza/releases/download/latest/ginza-latest.tar.gz"
$ ginza
mode is C
disabling sentence separator
左派ポピュリズム
# text = 左派ポピュリズム
1       左派    左派    NOUN    名詞-普通名詞-一般      _       2       compound        _       BunsetuBILabel=B|BunsetuPositionType=CONT|SpaceAfter=No|NP_B
2       ポピュリズム    ポピュリスム    NOUN    名詞-普通名詞-一般      _       0       root    _       BunsetuBILabel=I|BunsetuPositionType=ROOT|SpaceAfter=No|NP_I


まだ 「左派ポピュリズム」は登録されてないみたい。NEologd にはあったけど
あと、Pythonだから仕方がないのかもしれないけど、処理が遅い...
MeCab では 7秒で 終わった処理に23分かかった。大量の文章を処理するときには厳しいかな

NEologd アップデート メモ

AWS の EC2 の場合はインスタンスタイプを medium (4GB) 以上で実行する
small (2GB) だとメモリ不足でエラーになった

sudo su -
cd /usr/local/src/
git clone --depth 1 https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd
./bin/install-mecab-ipadic-neologd -n ←実行中に新語が表示される

mecab -d /usr/local/lib/mecab/dic/mecab-ipadic-neologd
左派ポピュリズム
左派ポピュリズム        名詞,固有名詞,一般,*,*,*,左派ポピュリズム,サハポピュリズム,サハポピュリズム
EOS

GSC ( Google Cloud Storage ) のバケットを作る

Colaboratory で TPU を使う場合、ファイル出力は GCS にしかできない
CPUならGoogle DriveでもOK

GCSバケットの作り方

https://console.cloud.google.com/

左上「三」からメニューを表示して ストレージ.Storage を選択
「課金を有効にする」をクリック
アカウントを紐づける
「バケットを作成」
「バケットに名前を付ける」hoge_bucket
デフォルトのストレージ クラス: Regional
ロケーション: us-central1

# Goolge Cloud Platform のUIは分かりにくくて苦手...

ColaboratoryでTPUを使えるようにする

上ナビ 「ランタイム」
「ランタイムのタイプを変更」
「ハードウェアアクセラレータ」 : TPU
保存

※1) GPUを使う場合も手順は同じ。「ハードウェアアクセラレータ」でGPUを選ぶ
※2) Googleドライブのマウントはやり直す必要がある

ColaboratoryでGoogleドライブをマウントして使う

# Googleドライブのマウント
from google.colab import drive
drive.mount('/content/drive')
表示されるURLをクリック
アカウントを選択
許可
表示されるコードをコピー
Enter your authorization code: に張り付ける
Mounted at /content/drive が表示されればOK

左ナビ ファイルタブを選択
drive/My Drive にGoogleドライブのトップディレクトリがマウントされているハズ

BERT 動かしてみる その1 MRPCを動かすまで

techblog.nhn-techorus.com

上記参考ページを見ながら Colaboratory で実行するために一部変更しながら BERT を動かしてみた

# BERT のダウンロード
!git clone https://github.com/google-research/bert

# BERT 学習済みモデルのダウンロード
!wget https://storage.googleapis.com/bert_models/2018_10_18/uncased_L-12_H-768_A-12.zip

# 解凍
!unzip uncased_L-12_H-768_A-12.zip

# GLUE のデータダウンロード用スクリプトのダウンロード
!wget https://gist.githubusercontent.com/W4ngatang/60c2bdb54d156a41194446737ce03e2e/raw/17b8dd0d724281ed7c3b2aeeda662b92809aadd5/download_glue_data.py
# 参考ページとはURLを変更している
#  [https://github.com/microsoft/AzureML-BERT/commit/b905b2dd251dca01fb2fdb3ee63bac28257cb47d#diff-3356639d4d1e0982f20115c3ee9925fc]

# GLUE のデータをダウンロード
!python download_glue_data.py --data_dir glue_data --tasks all

# MRPCの実行
!sh mrps.sh
#!/bin/sh
# mrps.sh ファイルの改行コードはLFにする。CRLFはNG

export BERT_BASE_DIR=uncased_L-12_H-768_A-12
export GLUE_DIR=glue_data/
python bert/run_classifier.py   --task_name=MRPC   --do_train=true   --do_eval=true   --data_dir=$GLUE_DIR/MRPC   --vocab_file=$BERT_BASE_DIR/vocab.txt   --bert_config_file=$BERT_BASE_DIR/bert_config.json   --init_checkpoint=$BERT_BASE_DIR/bert_model.ckpt   --max_seq_length=128   --train_batch_size=32   --learning_rate=2e-5   --num_train_epochs=3.0   --output_dir=/tmp/mrpc_output/