改めて事前学習の前半部分 備忘録

色々ad hocで作業していたところ、記録せずにあれこれやっており、別のPCで作業をなぞろうとして失敗したので、改めて作業の記録。

 

東北大学githubをcloneして

bert-japanese

ができるが、tokenizerの訓練ステップで、

 

python train_tokenizer.py --input_files ./corpus/jawiki-20220110_merck/corpus_sampled.txt --output_dir ./tokenizers/jawiki-20220110_merck/wordpiece_unidic_lite --tokenizer_type wordpiece --mecab_dic_type unidic_lite --vocab_size 32768 --limit_alphabet 6129 --num_unused_tokens 10

 

をそのままWindows上で実行するとfugashiがなんとか、といってエラーが発生する。

これはたぶんWindows環境だとパスの情報がうまくとれないからではないかと思う。

つまり、Linuxとかだとスラッシュが区切り文字で特に問題ないのに対して、Windowsだとバックスラッシュでエスケーブ文字になっているため。

なので、いっそのこと辞書情報をbert-japaneseの下にコピーし、エラーが出ているpre_tokenizer.pyを書き換えてしまう。かなり適当だけれど。43行目辺りから。

 

            #mecabrc = os.path.join(dic_dir, "mecabrc")
            #mecab_option = "-d {} -r {} ".format(dic_dir, mecabrc) + mecab_option

        self.mecab = fugashi.GenericTagger("-d ./mecab-ipadic-neologd")
        #self.mecab = fugashi.GenericTagger(mecab_option)

 

そして、上記のtrain_tokenizer.pyを実行する前に、TOKENIZERS_PARALLELISMという環境変数を作成し、その値をfalseに設定しておく。