Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FINALLY

FINALLY helps researchers select purposeful and diverse dataset collections for recommender-system experiments. It combines dataset metadata with Algorithm Performance Space (APS) representations to recommend datasets that match configurable constraints while covering different performance characteristics.

The public application is available at finally.recommender-systems.com.

FINALLY originated from the ISG Siegen APS Explorer Website. It was developed from that codebase into a focused application for purposeful and diverse dataset selection.

Features

  • Filter candidate datasets by feedback type, size, density, and interaction statistics
  • Keep selected seed datasets in every recommendation
  • Choose the desired number of datasets
  • Optimize selections using Convex Hull or Effective Coverage (EffCov)
  • Generate diverse or non-diverse dataset collections
  • Inspect the result in an embedded two-dimensional APS visualization
  • Share recommendation settings through a URL
  • Export results as Latex, Bibtex, Markdown, HTML, or an image
  • Record anonymous usage events for the protected administration dashboard

The default strategy is Diverse (Convex Hull).

How it works

FINALLY first applies the selected metadata constraints to determine the candidate datasets. It then represents their recommender-system results in an Algorithm Performance Space and selects a collection according to the chosen diversity method. Required seed datasets remain fixed throughout the selection process.

The APS preview uses stored PCA coordinates for HR, nDCG, and Recall at the supported cutoffs. Performance values and PCA coordinates must therefore be updated whenever new experimental results are imported.

Repository structure

FINALLY/
|-- configs/                              Database and admin-secret configuration
|-- datasets.recommender-systems.com/     Deployable FINALLY web application
|   |-- admin/                            Protected usage dashboard
|   |-- apis/                             Public and administrative PHP endpoints
|   `-- tabs/recommendDatasets/            Recommendation UI and selection logic
|-- tests/                                Selection and export regression tests
|-- _apidoc/                              API documentation
`-- _scripts/                             Data migration and import utilities

The directory name datasets.recommender-systems.com is retained as an internal deployment path. The public project and production domain are FINALLY.

Requirements

  • Apache or another web server capable of serving PHP
  • PHP with PDO MySQL support
  • MySQL or MariaDB
  • Node.js for the JavaScript tests and syntax checks
  • A modern web browser

The database must provide the Algorithms, Datasets, PerformanceResults, PcaResults, and UsageLogs tables expected by the PHP API.

Installation and configuration

  1. Clone the repository.
  2. Configure the database connection in configs/db_config.php.
  3. Configure the administrative API header and secret in configs/secrets.php.
  4. Set the web server's document root to datasets.recommender-systems.com/, or deploy that directory's contents to the target document root.
  5. Protect /admin/ with Basic Authentication. See datasets.recommender-systems.com/admin/README.md for the required Apache configuration.
  6. Ensure PHP can read the configuration files and connect to the database.
  7. Open the application through the configured web server.

Do not commit production database credentials, API secrets, or password files. Use HTTPS in production, especially for administrative requests.

Data import and PCA updates

Administrative import tooling is located in _scripts/datasets-rec-sys-auto-add/. It imports performance results and triggers recalculation of the PCA coordinates used by the APS preview.

Configure its administrative header and secret to match configs/secrets.php. Further instructions are available in _scripts/datasets-rec-sys-auto-add/README.md.

API

The FINALLY frontend uses the following public endpoints:

Method Endpoint Purpose
GET /index.php?action=algorithm List algorithms used for APS vectors
GET /index.php?action=dataset List datasets and filter metadata
GET /index.php?action=result&ids[]=... Load performance results for selected datasets
GET /index.php?action=result&task=pcaResults Load coordinates for the APS preview
POST /index.php?action=log&task=saveUsage Store an anonymous usage event
GET /health.php Check application and database availability

Administrative data ingestion is available through action=admin. Usage statistics and log deletion are exposed through the protected /admin/api.php endpoint.

Detailed endpoint documentation is available in _apidoc/.

Tests

Run the regression tests from the repository root:

node tests/datasetSelection.test.mjs
node tests/recommendationExport.test.mjs

License

FINALLY is licensed under the Apache License 2.0.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages