🚀 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}
}