モデル概要
モデル特徴
モデル能力
使用事例
🚀 GreekBERT
GreekBERTは、事前学習された言語モデルBERTのギリシャ語版です。このモデルは、ギリシャ語の自然言語処理タスクに特化しており、高い性能を発揮します。

🚀 クイックスタート
GreekBERTを使用するには、まず必要なライブラリをインストールし、モデルをロードする必要があります。以下に基本的な手順を示します。
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("nlpaueb/bert-base-greek-uncased-v1")
model = AutoModel.from_pretrained("nlpaueb/bert-base-greek-uncased-v1")
✨ 主な機能
- ギリシャ語の事前学習言語モデルで、ギリシャ語の自然言語処理タスクに最適化されています。
- 下流タスクでの評価で、他のモデルと比較して高い性能を示しています。
📦 インストール
bert-base-greek-uncased-v1
はHugging FaceのTransformersリポジトリの一部として公開されています。以下のコマンドで必要なライブラリをインストールしてください。
pip install transformers
pip install (torch|tensorflow)
💻 使用例
基本的な使用法
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("nlpaueb/bert-base-greek-uncased-v1")
model = AutoModel.from_pretrained("nlpaueb/bert-base-greek-uncased-v1")
高度な使用法
import torch
from transformers import *
# モデルとトークナイザーをロード
tokenizer_greek = AutoTokenizer.from_pretrained('nlpaueb/bert-base-greek-uncased-v1')
lm_model_greek = AutoModelWithLMHead.from_pretrained('nlpaueb/bert-base-greek-uncased-v1')
# ================ 例1 ================
text_1 = 'O ποιητής έγραψε ένα [MASK] .'
# EN: 'The poet wrote a [MASK].'
input_ids = tokenizer_greek.encode(text_1)
print(tokenizer_greek.convert_ids_to_tokens(input_ids))
# ['[CLS]', 'o', 'ποιητης', 'εγραψε', 'ενα', '[MASK]', '.', '[SEP]']
outputs = lm_model_greek(torch.tensor([input_ids]))[0]
print(tokenizer_greek.convert_ids_to_tokens(outputs[0, 5].max(0)[1].item()))
# [MASK]の最も妥当な予測は "song" です
# ================ 例2 ================
text_2 = 'Είναι ένας [MASK] άνθρωπος.'
# EN: 'He is a [MASK] person.'
input_ids = tokenizer_greek.encode(text_2)
print(tokenizer_greek.convert_ids_to_tokens(input_ids))
# ['[CLS]', 'ειναι', 'ενας', '[MASK]', 'ανθρωπος', '.', '[SEP]']
outputs = lm_model_greek(torch.tensor([input_ids]))[0]
print(tokenizer_greek.convert_ids_to_tokens(outputs[0, 3].max(0)[1].item()))
# [MASK]の最も妥当な予測は "good" です
# ================ 例3 ================
text_3 = 'Είναι ένας [MASK] άνθρωπος και κάνει συχνά [MASK].'
# EN: 'He is a [MASK] person he does frequently [MASK].'
input_ids = tokenizer_greek.encode(text_3)
print(tokenizer_greek.convert_ids_to_tokens(input_ids))
# ['[CLS]', 'ειναι', 'ενας', '[MASK]', 'ανθρωπος', 'και', 'κανει', 'συχνα', '[MASK]', '.', '[SEP]']
outputs = lm_model_greek(torch.tensor([input_ids]))[0]
print(tokenizer_greek.convert_ids_to_tokens(outputs[0, 8].max(0)[1].item()))
# 2つ目の[MASK]の最も妥当な予測は "trips" です
📚 ドキュメント
事前学習コーパス
bert-base-greek-uncased-v1
の事前学習コーパスには以下が含まれます。
- Wikipediaのギリシャ語部分
- European Parliament Proceedings Parallel Corpusのギリシャ語部分
- OSCARのギリシャ語部分(Common Crawlのクレンジング版)
将来的なリリースには以下も含まれる予定です。
- National Publication Officeによって公開されたギリシャの立法の全コーパス
- Eur-Lexに公開されたEUの立法(ギリシャ語翻訳)の全コーパス
事前学習の詳細
- Google BERTのGitHubリポジトリ(https://github.com/google-research/bert)に提供されている公式コードを使用してBERTを学習させました。
- その後、Hugging FaceのTransformersの変換スクリプトを使用して、TFチェックポイントと語彙を目的の形式に変換し、PyTorchとTF2のユーザーが2行のコードでモデルをロードできるようにしました。
- 英語の
bert-base-uncased
モデルに似たモデル(12層、768隠れ層、12ヘッド、1億1000万パラメータ)をリリースしました。 - 同じ学習設定を選択しました。すなわち、バッチサイズ256、シーケンス長512のデータで100万ステップの学習を行い、初期学習率は1e-4としました。
- TensorFlow Research Cloud (TFRC)から無料で提供された単一のGoogle Cloud TPU v3-8を使用し、GCP research creditsも活用しました。これらのGoogleプログラムに大きな感謝を申し上げます!
* 元のTensorFlowチェックポイントには、このGoogle Driveフォルダからアクセスできます。
前処理(アクセント除去と小文字化)
注意: 前処理は現在、デフォルトのトークナイザーでネイティブにサポートされています。以下のコードを含める必要はありません。
bert-base-greek-uncased-v1
を使用するには、テキストを小文字に変換し、すべてのギリシャ語のアクセントを削除する前処理を行う必要があります。
import unicodedata
def strip_accents_and_lowercase(s):
return ''.join(c for c in unicodedata.normalize('NFD', s)
if unicodedata.category(c) != 'Mn').lower()
accented_string = "Αυτή είναι η Ελληνική έκδοση του BERT."
unaccented_string = strip_accents_and_lowercase(accented_string)
print(unaccented_string) # αυτη ειναι η ελληνικη εκδοση του bert.
下流タスクでの評価
詳細な結果については、以下の記事を読んでください。
GREEK-BERT: The Greeks visiting Sesame Street. John Koutsikakis, Ilias Chalkidis, Prodromos Malakasiotis and Ion Androutsopoulos. In the Proceedings of the 11th Hellenic Conference on Artificial Intelligence (SETN 2020). Held Online. 2020. (https://arxiv.org/abs/2008.12014)
ギリシャ語NERデータセットを用いた固有表現認識
モデル名 | マイクロF1 |
---|---|
BILSTM-CNN-CRF (Ma and Hovy, 2016) | 76.4 ± 2.07 |
M-BERT-UNCASED (Devlin et al., 2019) | 81.5 ± 1.77 |
M-BERT-CASED (Devlin et al., 2019) | 82.1 ± 1.35 |
XLM-R (Conneau et al., 2020) | 84.8 ± 1.50 |
GREEK-BERT (本モデル) | 85.7 ± 1.00 |
XNLIを用いた自然言語推論
モデル名 | 正解率 |
---|---|
DAM (Parikh et al., 2016) | 68.5 ± 1.71 |
M-BERT-UNCASED (Devlin et al., 2019) | 73.9 ± 0.64 |
M-BERT-CASED (Devlin et al., 2019) | 73.5 ± 0.49 |
XLM-R (Conneau et al., 2020) | 77.3 ± 0.41 |
GREEK-BERT (本モデル) | 78.6 ± 0.62 |
🔧 技術詳細
本モデルは、Google BERTの公式コードをベースにしており、ギリシャ語の事前学習コーパスを用いて学習されています。事前学習の設定やハイパーパラメータの選択については、上記の「事前学習の詳細」を参照してください。
📄 ライセンス
モデルを使用する場合は、以下を引用してください。
@inproceedings{greek-bert,
author = {Koutsikakis, John and Chalkidis, Ilias and Malakasiotis, Prodromos and Androutsopoulos, Ion},
title = {GREEK-BERT: The Greeks Visiting Sesame Street},
year = {2020},
isbn = {9781450388788},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3411408.3411440},
booktitle = {11th Hellenic Conference on Artificial Intelligence},
pages = {110–117},
numpages = {8},
location = {Athens, Greece},
series = {SETN 2020}
}
作者について
このモデルは、「GREEK-BERT: The Greeks visiting Sesame Street. John Koutsikakis, Ilias Chalkidis, Prodromos Malakasiotis and Ion Androutsopoulos. In the Proceedings of the 11th Hellenic Conference on Artificial Intelligence (SETN 2020). Held Online. 2020」(https://arxiv.org/abs/2008.12014)という記事とともに公式にリリースされました。
AUEBの自然言語処理グループは、コンピュータが自然言語テキストを処理および生成できるようにするアルゴリズム、モデル、およびシステムを開発しています。
グループの現在の研究興味は以下を含みます。
- データベース、オントロジー、ドキュメントコレクション、およびWebの質問応答システム、特にバイオメディカル質問応答
- データベースおよびオントロジーからの自然言語生成、特にセマンティックWebオントロジー
- テキスト分類、スパムおよび虐待的コンテンツのフィルタリングを含む
- 情報抽出および意見マイニング、法的テキスト分析および感情分析を含む
- ギリシャ語の自然言語処理ツール、例えばパーサーや固有表現認識器
- 自然言語処理における機械学習、特にディープラーニング
このグループは、アテネ経済大学の情報学部の情報処理研究所の一部です。
Ilias Chalkidis 代表 AUEBの自然言語処理グループ
| Github: @ilias.chalkidis | Twitter: @KiddoThe2B |



