Это модельная библиотека, которую я частично настроен и модифицировал на основе библиотеки Meelfy's Pytorch_pretriend_bert.
Первоначальное намерение этого проекта - удовлетворить удобство личных экспериментов, поэтому оно не будет часто обновляться.
Установить:
pip install torchKbertДля типичных примеров использования, пожалуйста, обратитесь к официальному каталогу примеров.
Если вы хотите использовать кодирование положения иерархического разложения, чтобы BERT мог обрабатывать длинный текст, просто передайте параметр is_hierarchical=True в model . Примеры следующие:
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 . При участии слов, по умолчанию следует использовать в качестве слов. Если вы хотите восстановить использование единиц Word, просто передайте новый параметр pre_tokenize=False когда tokenize :
tokenzier.tokenize(text, pre_tokenize=False)
Я уже писал Pytorch_pretriend_bert в Meelfy, и очень удобно вызывать предварительные модели или выполнять точную настройку. Позже, из -за личных потребностей, я хотел переписать версию, которая поддерживает кодирование позиции иерархического декомпозиции.
Sushen's Bert4keras реализовал такую функцию. Но поскольку я привык использовать Pytorch, я давно не использовал керас, поэтому я планирую переписать его самостоятельно.