This project focuses on enhancing the translation of Ancient Chinese into Modern Chinese, specifically addressing the challenge of linguistic variations and model robustness through a weakly supervised preference alignment framework.
- [2025-12]: Released the Robust-Erya benchmark on Hugging Face Hub!
- [Coming Soon]: The core implementation of Stage 2 (Preference Alignment) will be fully open-sourced upon official paper acceptance.
We utilize two main datasets for our research. Detailed descriptions, noise taxonomy, and data samples can be found on our Hugging Face page.
The foundation of our training and standard evaluation.
- Source: Erya Official Repository
An extension of the Erya test suite designed for robustness evaluation. It covers 5 domains with 3 categories of noise at 5 intensity levels.
π Access and download the dataset here: Hugging Face: thinklis/Robust-Erya
Our framework follows a two-stage training paradigm:
- Stage 1 (Supervised Fine-Tuning): Initial SFT using the LLaMA-Factory framework on base models (e.g., LLaMA-3, Qwen2.5, InternLM3.
- Stage 2 (Preference Alignment): Our proposed framework aligns model outputs with human-preferred stylistic and linguistic norms using weak supervision. (Code for Stage 2 is currently withheld for the review process).
Inference and generation are performed via LLaMA-Factory. Please download the Robust-Erya test files from Hugging Face and follow the LLaMA-Factory Prediction Guide to generate translations and obtain initial BLEU-4 scores.
For advanced semantic evaluation, we employ an LLM-as-a-Judge approach:
evaluation/llm_judge_vllm.py: A Python script that utilizes LLMs to evaluate the semantic alignment and translation fluency between the model outputs and ground-truth references.
If you find this project or the Robust-Erya dataset helpful, please cite this repository:
@misc{GuWenAlign2025,
author = {Thinklis},
title = {A Weakly Supervised Preference Alignment Framework for Robust Ancient Chinese Translation},
year = {2025},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{[https://github.com/thinklis/GuWen-Align](https://github.com/thinklis/GuWen-Align)}}
}