موجز الأوراق البحثية
يحتفظ Champollion بموجز منسّق من الأوراق البحثية في مجالي الترجمة الآلية ومعالجة اللغات الطبيعية (NLP) من arXiv، تتم تصفيتها وتلخيصها للممارسين. الموجز شبه آلي: تُجلب الأوراق وتُصفّى يوميًا، وتُلخَّص بالذكاء الاصطناعي، وتُنشر على الموقع الإلكتروني.
لماذا يوجد هذا الموجز
بُني خط أنابيب الترجمة في champollion على تقنيات مستمدة من أبحاث منشورة — التوجيه الموجَّه بالسجل اللغوي، وحقن بيانات التدريب، وترحيل السياق، وبوابات الجودة. يخدم موجز الأوراق ثلاثة أغراض:
- الشفافية: يمكن للمستخدمين الاطلاع على الأبحاث التي تدعم كل ميزة
- الاستكشاف: قد تُلهم التقنيات الجديدة المنشورة على arXiv ميزات مستقبلية أو إعدادات للمستخدمين
- المجتمع: يقدّم champollion كأداة مبنية على الأبحاث، وليس مجرد غلاف آخر لواجهة برمجة تطبيقات
البنية المعمارية
خطوات خط الأنابيب
1. الجلب (يوميًا)
يستعلم scripts/fetch-papers.js من واجهة arXiv Atom API عن الأوراق الحديثة في:
cs.CL(الحوسبة واللغة)cs.AI(الذكاء الاصطناعي)
يعيد: العنوان، والمؤلفين، والملخص، ومعرّف arXiv، ورابط PDF، وتاريخ النشر، والفئات.
2. التصفية
تُصفّى الأوراق وفقًا لمدى صلة الكلمات المفتاحية. يجب أن تطابق الورقة كلمة مفتاحية أساسية واحدة على الأقل:
الكلمات المفتاحية الأساسية (يجب مطابقة ≥1):
machine translation،neural machine translation،NMTLLM،large language modelmultilingual،cross-lingualdocument-level translationlow-resource language،endangered languagetranslation evaluation،BLEU،COMET،chrFtokenization،morphology،polysyntheticcontext window،sliding windowprompt engineering(في سياق الترجمة)
الكلمات المفتاحية المعزِّزة (ترفع درجة الصلة):
i18n،internationalization،localizationfew-shot،in-context learningterminology،glossary،consistencyquality estimation،hallucination
3. التلخيص (بمساعدة الذكاء الاصطناعي)
يعالج scripts/summarize-papers.js الأوراق الجديدة (غير الملخَّصة):
لكل ورقة، يُرسل الملخص إلى Gemini 3.5 Flash مع:
Read this ML research abstract and produce:
1. A 2-sentence TL;DR accessible to a software developer (not a researcher)
2. A single bullet: "Why this matters for MT" — how could this technique
improve machine translation quality, cost, or speed in production?
Abstract: {abstract}
يُخزَّن الناتج مرة أخرى في papers.json إلى جانب البيانات الوصفية الخام.
4. النشر
تعرض صفحة الأوراق في Docusaurus (website/src/pages/papers.js) محتوى papers.json على شكل شبكة بطاقات قابلة للتصفية ومقسَّمة إلى صفحات.
تعرض كل بطاقة:
- العنوان (مرتبط بـ arXiv)
- المؤلفين (أول 3 + "et al.")
- التاريخ (تاريخ النشر أو آخر تحديث)
- الملخص المختصر (TL;DR) (مولَّد بالذكاء الاصطناعي)
- لماذا هي مهمة (مولَّد بالذكاء الاصطناعي)
- الفئات (وسوم arXiv)
- رابط PDF
الأتمتة
يشغّل سير عمل GitHub Actions خط الأنابيب يوميًا:
name: Fetch MT Research Papers
on:
schedule:
- cron: '0 6 * * *' # 06:00 UTC daily
workflow_dispatch: {} # Manual trigger
jobs:
fetch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: node scripts/fetch-papers.js
- run: node scripts/summarize-papers.js
env:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
- name: Commit if changed
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add website/src/data/papers.json
git diff --cached --quiet || git commit -m "chore: update research papers feed"
git push
مخطط البيانات
interface Paper {
id: string; // arXiv ID (e.g., "2406.12345")
title: string;
authors: string[];
abstract: string;
published: string; // ISO date
updated: string; // ISO date
pdfUrl: string;
categories: string[];
primaryCategory: string;
// Computed by filter
relevanceScore: number;
matchedKeywords: string[];
// Computed by summarizer (null until processed)
tldr: string | null;
whyItMatters: string | null;
summarizedAt: string | null;
}
مواقع الملفات
| الملف | الغرض |
|---|---|
scripts/fetch-papers.js | جالب موجز arXiv RSS ومصفّي الكلمات المفتاحية |
scripts/summarize-papers.js | التلخيص بالذكاء الاصطناعي عبر Gemini |
website/src/data/papers.json | بيانات الأوراق (مودَعة في المستودع) |
website/src/pages/papers.js | مكوّن صفحة Docusaurus |
website/src/pages/papers.module.css | أنماط الصفحة |
.github/workflows/fetch-papers.yml | الأتمتة اليومية |
حالة التنفيذ
| الميزة | الحالة |
|---|---|
fetch-papers.js (جلب arXiv + التصفية) | 🔲 مخطَّط له |
summarize-papers.js (الملخص بالذكاء الاصطناعي) | 🔲 مخطَّط له |
| صفحة الأوراق (مكوّن React) | 🔲 مخطَّط له |
| سير عمل GitHub Actions | 🔲 مخطَّط له |
| التصفية حسب الفئة/الكلمات المفتاحية في الصفحة | 🔲 مخطَّط له |
| تقسيم الصفحات | 🔲 مخطَّط له |
انظر أيضًا
- البنية المعمارية — كيف ترتبط مكوّنات champollion ببعضها
- ترحيل السياق — ميزة مستوحاة مباشرة من موجز الأبحاث هذا