Esempio n. 1
0
        public static List <int> RecommendSpreadingActivation(int bookId,
                                                              SimilarityCacheModels simCacheModel, string userId = null, int howMany = 6)
        {
            var sw = Stopwatch.StartNew();

            RecommenderSpreadingActivation recommender = new RecommenderSpreadingActivation(2, 500, 50, simCacheModel);
            List <int> result = recommender.Recommend(bookId, userId, howMany);

            System.Console.WriteLine($"Spreading recommendation took: {sw.ElapsedMilliseconds}ms");

            return(result);
        }
Esempio n. 2
0
        private static void TestRecSpreadingActivation(List <int> bookIds, int maxLevel,
                                                       int numberOfNSimilarNeighbors, int numberOfNeighborsForNextLevel)
        {
            List <Recommendation> recommendationsRSA = new List <Recommendation>();
            String commentRDEBS             = "userId=null, maxLevel=" + maxLevel + ", numberOfSimilarNeighbors=" + numberOfNSimilarNeighbors + ", numberOfNeighborsForNextLevel=" + numberOfNeighborsForNextLevel + ", backSpreading=yes";
            BookRecommenderContext    db    = new BookRecommenderContext();
            SpreadingRecommenderCache model = new SpreadingRecommenderCache();

            model.Initialize(db);
            foreach (int bookIdI in bookIds)
            {
                RecommenderSpreadingActivation recommender = new RecommenderSpreadingActivation(
                    maxLevel, numberOfNSimilarNeighbors, numberOfNeighborsForNextLevel, new SimilarityCacheModels(model));
                List <int> recommendationListI = recommender.Recommend(bookIdI, null, HOW_MANY_REC);

                Recommendation recommendationI = new Recommendation(bookIdI, recommendationListI);

                recommendationsRSA.Add(recommendationI);
                System.Console.WriteLine(recommendationI.exportAsString());
            }
            String fileName = "RecommenderSpreadingActivationLevel" + maxLevel + "SimilarNeighbors" + numberOfNSimilarNeighbors + "NeighborsForNextLevel" + numberOfNeighborsForNextLevel + ".rec";

            ExportsRecommendationsToFile(recommendationsRSA, commentRDEBS, fileName);
        }