0.16.1-3 Playlist Fix
This commit is contained in:
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "ripster-backend",
|
"name": "ripster-backend",
|
||||||
"version": "0.16.1-2",
|
"version": "0.16.1-3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "ripster-backend",
|
"name": "ripster-backend",
|
||||||
"version": "0.16.1-2",
|
"version": "0.16.1-3",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"archiver": "^7.0.1",
|
"archiver": "^7.0.1",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ripster-backend",
|
"name": "ripster-backend",
|
||||||
"version": "0.16.1-2",
|
"version": "0.16.1-3",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "commonjs",
|
"type": "commonjs",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -563,16 +563,50 @@ function buildEvaluationLabel(metrics) {
|
|||||||
return 'wahrscheinlich korrekt (lineare Segmentfolge)';
|
return 'wahrscheinlich korrekt (lineare Segmentfolge)';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function normalizeRelativeScore(value, maxValue) {
|
||||||
|
const numericValue = Number(value || 0);
|
||||||
|
const numericMax = Number(maxValue || 0);
|
||||||
|
if (!Number.isFinite(numericValue) || numericValue <= 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (!Number.isFinite(numericMax) || numericMax <= 0) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return Math.min(1, Math.max(0, numericValue / numericMax));
|
||||||
|
}
|
||||||
|
|
||||||
function scoreCandidates(groupTitles) {
|
function scoreCandidates(groupTitles) {
|
||||||
const titles = Array.isArray(groupTitles) ? groupTitles : [];
|
const titles = Array.isArray(groupTitles) ? groupTitles : [];
|
||||||
if (titles.length === 0) {
|
if (titles.length === 0) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const maxDurationSeconds = titles.reduce(
|
||||||
|
(max, title) => Math.max(max, Number(title?.durationSeconds || 0)),
|
||||||
|
0
|
||||||
|
);
|
||||||
|
const maxAudioTrackCount = titles.reduce(
|
||||||
|
(max, title) => Math.max(max, Number(title?.audioTrackCount || 0)),
|
||||||
|
0
|
||||||
|
);
|
||||||
|
const maxChapterCount = titles.reduce(
|
||||||
|
(max, title) => Math.max(max, Number(title?.chapters || 0)),
|
||||||
|
0
|
||||||
|
);
|
||||||
|
|
||||||
return titles
|
return titles
|
||||||
.map((title) => {
|
.map((title) => {
|
||||||
const metrics = computeSegmentMetrics(title.segmentNumbers);
|
const metrics = computeSegmentMetrics(title.segmentNumbers);
|
||||||
|
const structureScore = Number(metrics.score || 0);
|
||||||
|
const durationScore = normalizeRelativeScore(title.durationSeconds, maxDurationSeconds) * 20;
|
||||||
|
const audioScore = normalizeRelativeScore(title.audioTrackCount, maxAudioTrackCount) * 4;
|
||||||
|
const chapterScore = normalizeRelativeScore(title.chapters, maxChapterCount) * 6;
|
||||||
|
const totalScore = structureScore + durationScore + audioScore + chapterScore;
|
||||||
const reasons = [
|
const reasons = [
|
||||||
|
`structure_score=${structureScore.toFixed(2)}`,
|
||||||
|
`duration_score=${durationScore.toFixed(2)}`,
|
||||||
|
`audio_score=${audioScore.toFixed(2)}`,
|
||||||
|
`chapter_score=${chapterScore.toFixed(2)}`,
|
||||||
`sequence_steps=${metrics.directSequenceSteps}`,
|
`sequence_steps=${metrics.directSequenceSteps}`,
|
||||||
`sequence_coherence=${metrics.sequenceCoherence.toFixed(3)}`,
|
`sequence_coherence=${metrics.sequenceCoherence.toFixed(3)}`,
|
||||||
`backward_jumps=${metrics.backwardJumps}`,
|
`backward_jumps=${metrics.backwardJumps}`,
|
||||||
@@ -582,7 +616,7 @@ function scoreCandidates(groupTitles) {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
...title,
|
...title,
|
||||||
score: Number(metrics.score || 0),
|
score: Number(totalScore.toFixed(4)),
|
||||||
reasons,
|
reasons,
|
||||||
structuralMetrics: metrics,
|
structuralMetrics: metrics,
|
||||||
evaluationLabel: buildEvaluationLabel(metrics)
|
evaluationLabel: buildEvaluationLabel(metrics)
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "ripster-frontend",
|
"name": "ripster-frontend",
|
||||||
"version": "0.16.1-2",
|
"version": "0.16.1-3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "ripster-frontend",
|
"name": "ripster-frontend",
|
||||||
"version": "0.16.1-2",
|
"version": "0.16.1-3",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"primeicons": "^7.0.0",
|
"primeicons": "^7.0.0",
|
||||||
"primereact": "^10.9.2",
|
"primereact": "^10.9.2",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "ripster-frontend",
|
"name": "ripster-frontend",
|
||||||
"version": "0.16.1-2",
|
"version": "0.16.1-3",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Generated
+2
-2
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "ripster",
|
"name": "ripster",
|
||||||
"version": "0.16.1-2",
|
"version": "0.16.1-3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "ripster",
|
"name": "ripster",
|
||||||
"version": "0.16.1-2",
|
"version": "0.16.1-3",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"concurrently": "^9.1.2"
|
"concurrently": "^9.1.2"
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "ripster",
|
"name": "ripster",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.16.1-2",
|
"version": "0.16.1-3",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "concurrently \"npm run dev --prefix backend\" \"npm run dev --prefix frontend\"",
|
"dev": "concurrently \"npm run dev --prefix backend\" \"npm run dev --prefix frontend\"",
|
||||||
"dev:backend": "npm run dev --prefix backend",
|
"dev:backend": "npm run dev --prefix backend",
|
||||||
|
|||||||
Reference in New Issue
Block a user