🚀 IndoBERTweet 🐦
IndoBERTweet是首个针对印尼语Twitter的大规模预训练模型,通过扩展单语训练的印尼语BERT模型并添加特定领域词汇进行训练,在印尼语Twitter相关任务上表现出色。
🚀 快速开始
加载模型和分词器
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("indolem/indobertweet-base-uncased")
model = AutoModel.from_pretrained("indolem/indobertweet-base-uncased")
预处理步骤
- 所有单词转换为小写
- 将用户提及和URL分别转换为
@USER
和HTTPURL
- 使用 emoji包 将表情符号转换为文本
✨ 主要特性
- 特定领域词汇初始化:通过平均池化BERT子词嵌入来初始化特定领域词汇,比从头开始预训练更高效,比基于word2vec投影初始化更有效。
- 大规模预训练数据:爬取了2019年12月至2020年12月期间的印尼语推文,共获得4.09亿个单词标记,是预训练 IndoBERT 所用训练数据的两倍。
📦 安装指南
暂未提及具体安装步骤,可参考代码示例中的依赖库安装,确保 transformers==3.5.1
已正确安装。
💻 使用示例
基础用法
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("indolem/indobertweet-base-uncased")
model = AutoModel.from_pretrained("indolem/indobertweet-base-uncased")
高级用法
暂未提供高级用法示例,可根据具体需求对加载的模型和分词器进行进一步操作。
📚 详细文档
论文
Fajri Koto, Jey Han Lau, and Timothy Baldwin. IndoBERTweet: A Pretrained Language Model for Indonesian Twitter with Effective Domain-Specific Vocabulary Initialization.
In Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing (EMNLP 2021), Dominican Republic (virtual).
关于模型
IndoBERTweet 是首个针对印尼语Twitter的大规模预训练模型,通过扩展单语训练的印尼语BERT模型并添加特定领域词汇进行训练。在论文中,作者表明通过平均池化BERT子词嵌入来初始化特定领域词汇比从头开始预训练更高效,比基于word2vec投影初始化更有效。
预训练数据
通过官方Twitter API爬取了2019年12月至2020年12月期间的印尼语推文,使用了60个关键词,涵盖经济、健康、教育和政府四个主要主题。共获得了4.09亿个单词标记,是预训练 IndoBERT 所用训练数据的两倍。由于Twitter政策,该预训练数据不会公开。
实验结果
在7个印尼语Twitter数据集上的实验结果如下:
模型 |
情感分析(IndoLEM) |
情感分析(SmSA) |
情感识别(EmoT) |
仇恨言论检测(HS1) |
仇恨言论检测(HS2) |
命名实体识别(Formal) |
命名实体识别(Informal) |
平均 |
mBERT |
76.6 |
84.7 |
67.5 |
85.1 |
75.1 |
85.2 |
83.2 |
79.6 |
malayBERT |
82.0 |
84.1 |
74.2 |
85.0 |
81.9 |
81.9 |
81.3 |
81.5 |
IndoBERT (Willie, et al., 2020) |
84.1 |
88.7 |
73.3 |
86.8 |
80.4 |
86.3 |
84.3 |
83.4 |
IndoBERT (Koto, et al., 2020) |
84.1 |
87.9 |
71.0 |
86.4 |
79.3 |
88.0 |
86.9 |
83.4 |
IndoBERTweet (1M steps from scratch) |
86.2 |
90.4 |
76.0 |
88.8 |
87.5 |
88.1 |
85.4 |
86.1 |
IndoBERT + Voc adaptation + 200k steps |
86.6 |
92.7 |
79.0 |
88.4 |
84.0 |
87.7 |
86.9 |
86.5 |
🔧 技术细节
在初始化特定领域词汇时,采用平均池化BERT子词嵌入的方法,这种方法比从头开始预训练更高效,比基于word2vec投影初始化更有效。
📄 许可证
本项目采用 apache-2.0
许可证。
引用
如果使用本项目的工作,请引用以下文献:
@inproceedings{koto2021indobertweet,
title={IndoBERTweet: A Pretrained Language Model for Indonesian Twitter with Effective Domain-Specific Vocabulary Initialization},
author={Fajri Koto and Jey Han Lau and Timothy Baldwin},
booktitle={Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing (EMNLP 2021)},
year={2021}
}