🚀 用于越南语的BERT模型
本项目基于超20GB新闻数据集训练了用于越南语的BERT模型。该模型可应用于AIViVN评论数据集上的情感分析任务。
此模型在公开排行榜上取得了0.90268的成绩(获胜者分数为0.90087)。Bert4news被用于ViNLPtoolkit(https://github.com/bino282/ViNLP )中的越南语工具包(分词和命名实体识别)。
我们使用了Word SentencePiece,采用基本的BERT分词方法,配置与BERT Base相同,且lowercase = False
。
🚀 快速开始
你可以下载训练好的模型:
💻 使用示例
基础用法
结合huggingface/transformers使用:
import torch
from transformers import BertTokenizer,BertModel
tokenizer= BertTokenizer.from_pretrained("NlpHUST/vibert4news-base-cased")
bert_model = BertModel.from_pretrained("NlpHUST/vibert4news-base-cased")
line = "Tôi là sinh viên trường Bách Khoa Hà Nội ."
input_id = tokenizer.encode(line,add_special_tokens = True)
att_mask = [int(token_id > 0) for token_id in input_id]
input_ids = torch.tensor([input_id])
att_masks = torch.tensor([att_mask])
with torch.no_grad():
features = bert_model(input_ids,att_masks)
print(features)
✨ 主要特性
越南语工具包
ViNLP是一个用于越南语的系统标注工具,它使用预训练的Bert4news对越南语的分词、命名实体识别(NER)等NLP问题进行微调,并取得了较高的准确率。
📦 安装指南
git clone https://github.com/bino282/ViNLP.git
cd ViNLP
python setup.py develop build
💻 使用示例
分词测试
该模型在VLSP 2013数据集上的F1分数达到了0.984。
模型 |
F1分数 |
BertVnTokenizer |
98.40 |
DongDu |
96.90 |
JvnSegmenter - Maxent |
97.00 |
JvnSegmenter - CRFs |
97.06 |
VnTokenizer |
97.33 |
UETSegmenter |
97.87 |
VnTokenizer |
97.33 |
VnCoreNLP (即RDRsegmenter) |
97.90 |
from ViNLP import BertVnTokenizer
tokenizer = BertVnTokenizer()
sentences = tokenizer.split(["Tổng thống Donald Trump ký sắc lệnh cấm mọi giao dịch của Mỹ với ByteDance và Tecent - chủ sở hữu của 2 ứng dụng phổ biến TikTok và WeChat sau 45 ngày nữa."])
print(sentences[0])
输出结果:
Tổng_thống Donald_Trump ký sắc_lệnh cấm mọi giao_dịch của Mỹ với ByteDance và Tecent - chủ_sở_hữu của 2 ứng_dụng phổ_biến TikTok và WeChat sau 45 ngày nữa .
命名实体识别测试
该模型在VLSP 2018数据集上对所有命名实体(包括嵌套实体)的F1分数达到了0.786。
模型 |
F1分数 |
BertVnNer |
78.60 |
VNER Attentive Neural Network |
77.52 |
vietner CRF (ngrams + word shapes + cluster + w2v) |
76.63 |
ZA - NER BiLSTM |
74.70 |
from ViNLP import BertVnNer
bert_ner_model = BertVnNer()
sentence = "Theo SCMP, báo cáo của CSIS với tên gọi Định hình Tương lai Chính sách của Mỹ với Trung Quốc cũng cho thấy sự ủng hộ tương đối rộng rãi của các chuyên gia về việc cấm Huawei, tập đoàn viễn thông khổng lồ của Trung Quốc"
entities = bert_ner_model.annotate([sentence])
print(entities)
输出结果:
[{'ORGANIZATION': ['SCMP', 'CSIS', 'Huawei'], 'LOCATION': ['Mỹ', 'Trung Quốc']}]
训练运行
使用基础配置运行训练:
python train_pytorch.py \
--model_path=bert4news.pytorch \
--max_len=200 \
--batch_size=16 \
--epochs=6 \
--lr=2e-5
📞 联系信息
如果您有与本项目相关的个人交流需求,请联系Nha Nguyen Van(nha282@gmail.com)。