هذه مكتبة نموذجية قمت بتخصيصها وتعديلها جزئيًا بناءً على مكتبة Meelfy's Pytorch_pretrained_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 . عند مشاركة الكلمات ، يجب استخدام الافتراضي ككلمات. إذا كنت ترغب في استعادة استخدام وحدات الكلمات ، فما عليك سوى المرور في المعلمة الجديدة pre_tokenize=False عند tokenize :
tokenzier.tokenize(text, pre_tokenize=False)
لقد كنت أكتب pytorch_pretrained_bert في Meelfy من قبل ، ومن المريح للغاية استدعاء النماذج المسبقة أو أداء ضبطها. في وقت لاحق ، بسبب الاحتياجات الشخصية ، أردت إعادة كتابة نسخة تدعم ترميز موضع التحلل الهرمي.
قامت Sushen's Bert4keras بتنفيذ مثل هذه الوظيفة. ولكن لأنني معتاد على استخدام Pytorch ، لم أستخدم Keras لفترة طويلة ، لذلك أخطط لإعادة كتابة واحدة بنفسي.