AbstractSincetheamountofavailabledatasourcesincreasessteadilywithtechno-logicaldevelopments,theneedforusefulfilteringtechniquesforlargedatasetsrisesconstantly.Variousexistingrecommendersystemshavebeenusedforthistask.Oftenthefocusliesonaspecificcontent,oradefinedsetofrecommendertechniques.Thisworkintroducesagenericrecommenderframeworkthatcanbeeasilyadaptedtonewdomainsandextendedwithdifferentrecommenderalgorithms.Itdividesalgorithmsintoofflinegeneratorscomputingbusi-nessrulesoutofuseractions,andonlinerecommenderservices.Inor-dertoservicemultipletenantstheconceptconsistsofvarioustypesforitems,actionsanditemassociations.Furthermoreitallowsfortheinte-grationofthird-partydataandprovidesasetofWebservicesfordomain-independentaswellasdomain-specificrecommendations.Wedemonstratethetechnicalarchitectureaswellasareal-lifesce-nariowhereweintegratedoursystemandgiveaprospecttofutureen-hancementslikeanadministrationtool,additionalrecommendertech-niques,ornovelapproachesthatusecustomusertags.vContents1Introduction11.1Motivation............................11.2Goals..............................11.3StructureoftheWork.....................22TheoryofRecommenderSystems32.1BasicFunctionality.......................32.2HistoricalOverview.......................42.3MethodicalOverview......................52.3.1TheFormalRecommendationProblem.......52.3.2CollaborativeMethods.................62.3.3Content-BasedMethods................82.3.4HybridMethods....................92.4EvaluationMeasures......................102.4.1PredictiveAccuracyMetrics..............102.4.2ClassificationAccuracyMetrics............112.4.3Prediction-RatingCorrelation.............122.4.4CommonDatasets...................122.5CommonProblems.......................142.6FurtherTopicsofResearch..................153ExistingRecommenderFrameworks183.1ResearchProjects.......................183.2CommercialFrameworks...................203.3Open-SourceFrameworks...................204Concept234.1IdentifiedFeatures.......................234.2ConceptOverview.......................244.3Components..........................254.3.1ItemsandItemTypes.................254.3.2ActionsandActionTypes...............254.3.3Generators.......................264.3.4ItemAssociationRulesandAssociationTypes...274.3.5Non-PersonalisedRecommendations........284.3.6ManagementofMultipleTenants...........29viCONTENTS4.3.7MinimisingComplexity.................294.3.8Post-Filtering......................304.3.9DirectandAggregatedRatings............305TechnicalRealisation335.1ArchitectureOverview.....................335.2SoftwareInfrastructure.....................355.3ModulesandPackages....................355.4SoftwareDesign........................415.4.1DAOInterfaces.....................415.4.2CoreServices.....................415.4.3DomainServices....................425.4.4WebappServices...................425.4.5Generators.......................425.4.6UtilityClasses.....................435.5DataModel...........................455.6DeploymentArchitecture....................485.7SupportedRecommenderFeatures.............505.7.1AnOfflineGenerator..................505.7.2AnOnlineGenerator..................505.7.3StatisticsoverRankingsandRatings.........525.8WebServiceInterfaces....................525.9PreliminaryEvaluationofaRating-BasedAlgorithm....536Applications556.1TheRASCALLIProject....................556.2UseCasefortheRecommenderSystem...........566.3IntroductionofInvolvedApplications.............586.3.1TheSATMusicExplorer................586.3.2TheDFKIVisualBrowser...............586.3.3TheSATRASCALLIEnvironment..........617Conclusion638FutureWork64AEvaluationofaSlopeOneRecommenderImplementa-tiononaLargeMusicDatabase75A.1Goal...............................75A.2TheSlopeOneRecommenderAlgorithm..........75viiCONTENTSA.2.1BasicFunctionality...................76A.2.2Open-SourceFrameworksProvidingaSlopeOneImplementation.....................76A.3TheOpen-SourceCollaborativeFilteringFrameworkTaste.77A.4Evaluation............................78A.4.1Integration.......................78A.4.2DatabaseConnectivity.................78A.4.3EvaluationDatasets..................79A.4.4GeneralTestSetup...................79A.4.5TestEnvironment....................80A.4.6TestResults.......................80A.5Conclusion...........................85A.6LatestTasteEnhancements..................86BSoftwareInfrastructure87B.1SoftwareComponents.....................87B.1.1ProgrammingLanguage................87B.1.2DependencyInjectionandAspects..........88B.1.3Database........................88B.1.4Logging.........................88B.1.5Caching.........................88B.1.6WebServicesandWebApplicationServer.....88B.1.7Profiling.........................89B.2DevelopmentTools.......................89B.2.1IDE...........................89B.2.2VersionControl.....................90B.2.3BuildProcess......................90B.2.4ContinuousIntegration.................90B.2.5Testing.........................90B.2.6IssueManagement...................91B.3Additional