Esta es una biblioteca de modelos que he personalizado y modificado parcialmente en base a la biblioteca PyTorch_Prained_Bert de Meelfy.
La intención original de este proyecto es satisfacer la conveniencia de los experimentos personales, por lo que no se actualizará con frecuencia.
Instalar:
pip install torchKbertPara ver ejemplos de uso típicos, consulte el directorio de ejemplos oficiales.
Si desea utilizar la codificación de posición de descomposición jerárquica para que Bert pueda procesar un texto largo, simplemente pase el parámetro is_hierarchical=True en model . Los ejemplos son los siguientes:
model = BertModel(config)
encoder_outputs, _ = model(input_ids, token_ids, input_mask, is_hierarchical=True)
Si desea usar Wobert chino en función de la granularidad de las palabras, simplemente pase en nuevos parámetros al construir el objeto BertTokenizer :
from torchKbert.tokenization import BertTokenizer
tokenizer = BertTokenizer(
vocab_file=vocab_path,
pre_tokenizer=lambda s: jieba.cut(s, HMM=False))
Cuando no se pasa, el valor predeterminado es None . Al participar en palabras, el valor predeterminado debe usarse como palabras. Si desea restaurar el uso de unidades de palabras, simplemente pase en el nuevo parámetro pre_tokenize=False cuando tokenize :
tokenzier.tokenize(text, pre_tokenize=False)
He estado escribiendo pytorch_preetrainse_bert en Meelfy antes, y es muy conveniente llamar a modelos previos a la aparición o realizar un ajuste fino. Más tarde, debido a las necesidades personales, quería reescribir una versión que admita la codificación de posición de descomposición jerárquica.
Bert4keras de Sushen ha implementado dicha función. Pero debido a que estoy acostumbrado a usar Pytorch, no he usado keras durante mucho tiempo, así que planeo reescribir uno solo.