🚀 ファイナルファンタジーXIV 日本語→韓国語翻訳ツール
このプロジェクトは、ファイナルファンタジーXIVの日本語テキストを韓国語に翻訳するためのツールです。特定のデータセットを使用して訓練され、高精度な翻訳を提供します。
🚀 クイックスタート
このプロジェクトの詳細はGithubリポジトリに記載されています。
📺 デモ
デモを試すにはここをクリック
ONNXモデルを使用したWindowsアプリのデモを確認
💻 使用例
基本的な使用法
推論 (PyTorch)
from transformers import(
EncoderDecoderModel,
PreTrainedTokenizerFast,
BertJapaneseTokenizer,
)
import torch
encoder_model_name = "cl-tohoku/bert-base-japanese-v2"
decoder_model_name = "skt/kogpt2-base-v2"
src_tokenizer = BertJapaneseTokenizer.from_pretrained(encoder_model_name)
trg_tokenizer = PreTrainedTokenizerFast.from_pretrained(decoder_model_name)
model = EncoderDecoderModel.from_pretrained("./best_model")
text = "ギルガメッシュ討伐戦"
def translate(text_src):
embeddings = src_tokenizer(text_src, return_attention_mask=False, return_token_type_ids=False, return_tensors='pt')
embeddings = {k: v for k, v in embeddings.items()}
output = model.generate(**embeddings, max_length=500)[0, 1:-1]
text_trg = trg_tokenizer.decode(output.cpu())
return text_trg
print(translate(text))
推論 (Optimum.OnnxRuntime)
現在のOptimum.OnnxRuntimeは、バックエンドにPyTorchが必要です。[Issue]
[ONNX] または [量子化ONNX] モデルのどちらかを使用できます。
from transformers import BertJapaneseTokenizer,PreTrainedTokenizerFast
from optimum.onnxruntime import ORTModelForSeq2SeqLM
from onnxruntime import SessionOptions
import torch
encoder_model_name = "cl-tohoku/bert-base-japanese-v2"
decoder_model_name = "skt/kogpt2-base-v2"
src_tokenizer = BertJapaneseTokenizer.from_pretrained(encoder_model_name)
trg_tokenizer = PreTrainedTokenizerFast.from_pretrained(decoder_model_name)
sess_options = SessionOptions()
sess_options.log_severity_level = 3
model = ORTModelForSeq2SeqLM.from_pretrained("sappho192/ffxiv-ja-ko-translator",
sess_options=sess_options, subfolder="onnx")
texts = [
"逃げろ!",
"初めまして.",
"よろしくお願いします.",
"ギルガメッシュ討伐戦",
"ギルガメッシュ討伐戦に行ってきます。一緒に行きましょうか?",
"夜になりました",
"ご飯を食べましょう."
]
def translate(text_src):
embeddings = src_tokenizer(text_src, return_attention_mask=False, return_token_type_ids=False, return_tensors='pt')
print(f'Src tokens: {embeddings.data["input_ids"]}')
embeddings = {k: v for k, v in embeddings.items()}
output = model.generate(**embeddings, max_length=500)[0, 1:-1]
print(f'Trg tokens: {output}')
text_trg = trg_tokenizer.decode(output.cpu())
return text_trg
for text in texts:
print(translate(text))
print()
高度な使用法
トレーニング
トレーニングに関する詳細は training.ipynb を確認してください。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。
📋 詳細情報
属性 |
详情 |
モデルタイプ |
翻訳モデル |
訓練データ |
Helsinki-NLP/tatoeba_mt、sappho192/Tatoeba-Challenge-jpn-kor |
対応言語 |
日本語、韓国語 |
パイプラインタグ |
翻訳 |
タグ |
python、transformer、pytorch |
推論 |
無効 |
⚠️ 重要提示
FINAL FANTASYは、Square Enix Holdings Co., Ltd.の登録商標です。