Esta é uma biblioteca de modelos que eu personalizei e modificada parcialmente com base na biblioteca pytorch_pretringred_bert da Meelfy.
A intenção original deste projeto é satisfazer a conveniência de experimentos pessoais, para que não seja atualizado com frequência.
Instalar:
pip install torchKbertPara exemplos de uso típico, consulte o diretório oficial de exemplos.
Se você deseja usar a codificação da posição de decomposição hierárquica para que o BERT possa processar um texto longo, basta passar no parâmetro is_hierarchical=True no model . Exemplos são os seguintes:
model = BertModel(config)
encoder_outputs, _ = model(input_ids, token_ids, input_mask, is_hierarchical=True)
Se você deseja usar Wobert Chinês com base na granularidade do Word, basta passar em novos parâmetros ao criar o objeto BertTokenizer :
from torchKbert.tokenization import BertTokenizer
tokenizer = BertTokenizer(
vocab_file=vocab_path,
pre_tokenizer=lambda s: jieba.cut(s, HMM=False))
Quando não foi passado, o padrão é None . Ao participar de palavras, o padrão deve ser usado como palavras. Se você deseja restaurar o uso de unidades de palavras, basta passar no novo parâmetro pre_tokenize=False quando tokenize :
tokenzier.tokenize(text, pre_tokenize=False)
Já escrevi pytorch_pretringen_bert em meelfy antes, e é muito conveniente chamar modelos pré-tenhados ou executar o ajuste fino. Mais tarde, devido a necessidades pessoais, eu queria reescrever uma versão que suporta a codificação de posição hierárquica da decomposição.
O Bert4keras de Sushen implementou essa função. Mas como estou acostumado a usar pytorch, não uso Keras há muito tempo, então pretendo reescrever um sozinho.