torchKbert
1.0.0
これは、Meelfyのpytorch_pretrained_bertライブラリに基づいて部分的にカスタマイズおよび変更されたモデルライブラリです。
このプロジェクトの当初の意図は、個人実験の利便性を満たすことであるため、頻繁に更新されることはありません。
インストール:
pip install torchKbert典型的な使用例については、公式の例ディレクトリを参照してください。
bertが長いテキストを処理できるように階層分解位置を使用したい場合は、 modelでパラメーターis_hierarchical=Trueを渡すだけです。例は次のとおりです。
model = BertModel(config)
encoder_outputs, _ = model(input_ids, token_ids, input_mask, is_hierarchical=True)
単語の粒度に基づいて中国のwobertを使用したい場合は、 BertTokenizerオブジェクトを構築するときに新しいパラメーターを渡すだけです。
from torchKbert.tokenization import BertTokenizer
tokenizer = BertTokenizer(
vocab_file=vocab_path,
pre_tokenizer=lambda s: jieba.cut(s, HMM=False))
渡されない場合、デフォルトはNoneです。単語を分割するとき、デフォルトは単語として使用されます。単語単位の使用を復元したい場合は、新しいパラメーターに渡すだけですpre_tokenize=False tokenizeとき:
tokenzier.tokenize(text, pre_tokenize=False)
私は以前にMeelfyでpytorch_pretrained_bertを書いていますが、前処理されたモデルに電話したり、微調整を行ったりするのは非常に便利です。その後、個人的なニーズのために、階層分解位置コーディングをサポートするバージョンを書き直したかったのです。
Sushen's Bert4Kerasはそのような関数を実装しています。しかし、私はPytorchを使用することに慣れているので、ケラスを長い間使用していなかったので、自分で書き直すつもりです。