Exemplo n.º 1
0
        private void bgWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            UserBehaviorDatabaseParser parser = new UserBehaviorDatabaseParser();
            UserBehaviorDatabase       db     = parser.LoadUserBehaviorDatabase(e.Argument as string);

            recommender.Train(db);
            recommender.Save(savedModel);
        }
Exemplo n.º 2
0
        public List <Suggestion> GetSuggest(UserBehavior db, long userId)
        {
            IRater    rater    = new SimpleRater();
            IComparer comparer = new CorrelationUserComparer();

            recommender = new ItemCollaborativeFilterRecommender(comparer, rater, 50);
            recommender.Train(db);

            var suggestion = recommender.GetSuggestions(userId, 500);

            return(suggestion);
        }
Exemplo n.º 3
0
        public ActionResult Index(string search = "")
        {
            if (search == "")
            {
                int       id      = Convert.ToInt32(Session["id"].ToString());
                string    email   = context.login.Where(m => m.Id == id).FirstOrDefault().Email;
                int       realid  = context.students.Where(m => m.Email == email).FirstOrDefault().Id;
                IRater    rate    = new LinearRater(-4, 2, 0.5, 1);
                IComparer compare = new CorrelationUserComparer();
                recommender = new UserCollaborativeFilterRecommender(compare, rate, 200);
                UserBehaviorDatabaseParser parser = new UserBehaviorDatabaseParser();
                UserBehaviorDatabase       db1    = parser.LoadUserBehaviorDatabase("/Data/NewBehavior.txt");
                UserBehaviorTransformer    ubt    = new UserBehaviorTransformer(db1);
                recommender.Train(db1);



                int userId;
                int ratings;
                userId  = realid;
                ratings = 2;
                List <Suggestion>         result  = new List <Suggestion>();
                List <RecomendedArticles> rem     = new List <RecomendedArticles>();
                List <Suggestion>         result2 = new List <Suggestion>();

                RecomendedArticles recom;
                if (ratings >= 1 && ratings <= 100)
                {
                    new GetRecommendation {
                        UserID = userId, Ratings = ratings
                    };
                    result  = recommender.GetSuggestions(userId, ratings);
                    result2 = recommender.GetSuggestions(userId, 6);
                }

                foreach (Suggestion suggestion in result)
                {
                    var ye = context.ufiles.Where(m => m.Id == suggestion.ArticleID).FirstOrDefault();
                    recom = new RecomendedArticles()
                    {
                        Name            = ye.Name,
                        UpdatedFileName = ye.UpdatedFileName,
                        UplodedBy       = ye.UplodedBy,
                        Description     = ye.Description,
                        Filename        = ye.Filename,
                        imagepath       = ye.imagepath,
                        UplodedDate     = ye.UplodedDate,
                        Rating          = suggestion.Rating,
                        Id = ye.Id,
                    };
                    rem.Add(recom);
                }
                NRViewModel recomendedArticles = new NRViewModel();

                recomendedArticles.uplodedFiles       = context.ufiles.OrderByDescending(m => m.Id).Take(6).ToList();
                recomendedArticles.RecomendedArticles = rem;
                return(View(recomendedArticles));
            }
            else
            {
                NRViewModel recomendedArticles = new NRViewModel();

                recomendedArticles.uplodedFiles = context.ufiles.OrderByDescending(m => m.Id).Where(m => m.Name.Contains(search)).Take(6).ToList();
                if (recomendedArticles.uplodedFiles == null)
                {
                    ViewBag.messagea = "no item found";
                }
                ViewBag.message = "search";
                return(View(recomendedArticles));
            }
        }