fix: bessere Wort-Kategorisierung, weniger "Sonstiges"

- Taxonomie um "Eigenschaften" (Adjektive) und "Verben & Handlungen"
  ergänzt → Wortarten haben ein Zuhause statt Sonstiges.
- Klassifizierer geschärft: klare Wortart-/Themen-Regeln, "Sonstiges"
  nur als letzter Ausweg; Sofort-Pfad nutzt jetzt Beispielsätze und
  kleinere Batches (15) für deutlich genauere Treffer.
- ?reset=true: bestehende Zuordnungen verwerfen und neu klassifizieren.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-15 14:39:28 +02:00
parent bd18a9c303
commit 339a3ed27d
3 changed files with 35 additions and 17 deletions

View File

@@ -5,12 +5,14 @@ const { runCategorizationTick, classifyWordsSync } = require('../lib/classifyWor
const STATUSES = ['requested', 'blocked', 'published'];
// POST /api/categories/auto-assign — Kategorisierung anstoßen.
// ?sync=true → sofortiger One-Shot-Backfill bestehender Wörter (synchron, kein 24h-Verzug)
// sonst → ein asynchroner Batch-Tick (submit/collect über die Message Batches API)
// ?sync=true → sofortiger One-Shot-Backfill bestehender Wörter (synchron, kein 24h-Verzug)
// ?sync=true&reset=true → bestehende Zuordnungen verwerfen und alles neu klassifizieren
// sonst → ein asynchroner Batch-Tick (submit/collect über die Message Batches API)
router.post('/auto-assign', async (req, res, next) => {
try {
const sync = req.query.sync === 'true' || req.body?.sync === true;
const result = sync ? await classifyWordsSync({}) : await runCategorizationTick();
const reset = req.query.reset === 'true' || req.body?.reset === true;
const result = sync ? await classifyWordsSync({ reset }) : await runCategorizationTick();
res.json(result);
} catch (err) { next(err); }
});