/// <summary> /// Obtains sentiment of the passed review /// </summary> /// <param name="review"></param> /// <returns></returns> public static dynamic GetSentimentAnalysisOfReviewsFromParallelDots(String review) { String parallelDotsApiKey = ConfigReader.ReadApiKey(); paralleldots pd = new paralleldots(parallelDotsApiKey); dynamic sentimentOfAnimeReviews; sentimentOfAnimeReviews = JObject.Parse(pd.sentiment(review)); return(sentimentOfAnimeReviews); }
public ActionResult FeedbackFormView([Bind(Include = "DeveloperId,SubtaskId,FeedbackStr,Positivity")] Feedback feedback) { Db_1Entities db = new Db_1Entities(); if (ModelState.IsValid) { paralleldots pd = new paralleldots("qZA1qGaGDNNbSUGiNSEOpBjxZreiijYM7y77VLCrlvw"); var sentiment = pd.sentiment(feedback.FeedbackStr); var objects = JObject.Parse(sentiment); var posprob = objects["probabilities"]["positive"].ToString(); feedback.Positivity = Double.Parse(posprob); db.Feedbacks.Add(feedback); db.SaveChanges(); return(RedirectToAction("FeedbackFormView")); } return(View(feedback)); }
/// <summary> /// https://user.apis.paralleldots.com/ /// Key:82ByzdYGAOwfVQwLoF76lcj1BgqbYQ2FMwd37BU0BbU /// this api is free for a month /// return keywords from the above api /// </summary> /// <returns>an array of all the keywords</returns> private string KeyWordsAPI(string phraseToAnalise) { if (String.IsNullOrEmpty(phraseToAnalise) || String.IsNullOrWhiteSpace(phraseToAnalise)) { //no phrase to analise return empty return(""); } // Initialize instance of api class paralleldots pd = new paralleldots("82ByzdYGAOwfVQwLoF76lcj1BgqbYQ2FMwd37BU0BbU"); // for single sentences String keywords = pd.keywords(phraseToAnalise); return(keywords); //// for multiple sentence //JArray text_list = JArray.Parse("[\"" + phraseToAnalise + "\"]"); //String keywords_batch = pd.keywords_batch(text_list); //return keywords_batch; }
public ActionResult <bool> EvaluateStudents([FromBody] List <Evaluation> evaluations) { var dao = new EvaluationsDao(); Directory.CreateDirectory(STUDENT_ANS_SHEET_UPLOAD_PATH); foreach (var e in evaluations) { Console.WriteLine("-------------------------------------------------------"); Console.WriteLine($"Student Id {e.Student.Id}"); Console.WriteLine($"DateTime {e.DateTime?.ToString("yyyy-MM-dd")}"); var date = e.DateTime?.ToString("yyyy_MM_dd"); var fileName = $"AnswerKey_Student_{e.Student.Id}_{e.Examination.Course.CourseCode}_{date}.pdf"; var filePath = Path.Combine(STUDENT_ANS_SHEET_UPLOAD_PATH, fileName); var bytes = Convert.FromBase64String(e.AnswerSheet); System.IO.File.WriteAllBytes(filePath, bytes); Console.WriteLine("File Written"); var refSheetName = e.Examination.ReferenceAnswerSheet.Substring( e.Examination.ReferenceAnswerSheet.LastIndexOf("/") + 1); var refSheetPath = Path.Combine(REFERENCE_ANS_SHEET_UPLOAD_PATH, refSheetName); Console.WriteLine($"Ref Sheet Path = {refSheetPath}"); var studentPdf = new PdfFocus(); Console.WriteLine($"Opening Student Pdf..."); studentPdf.OpenPdf(filePath); var studentAnsText = studentPdf.ToText(); Console.WriteLine("Student pdf read successfully!"); studentPdf.ClosePdf(); Console.WriteLine("Closing student pdf"); var refPdf = new PdfFocus(); Console.WriteLine("Opening reference pdf"); refPdf.OpenPdf(refSheetPath); var refAnsText = refPdf.ToText(); Console.WriteLine("Reference pdf read successfully!"); refPdf.ClosePdf(); Console.WriteLine("Closing reference pdf"); paralleldots pd = new paralleldots("AliC73YnPPScR8dJJEMD8qxinhFTTUjFPmJGs5yknY0"); Console.WriteLine("Calculating score"); var similarity = pd.similarity(studentAnsText, refAnsText); var json = JsonValue.Parse(similarity); var score = double.Parse(json["normalized_score"].ToString()); Console.WriteLine($"Score = {score}"); var percent = score / 5.0; Console.WriteLine($"Percentage = {percent}"); e.MarksObtained = (int?)(e.Examination.TotalMarks * percent); e.AnswerSheet = $"/api/examinations/student-ans-sheet/get/{fileName}"; Console.WriteLine("Writing result to database"); dao.CreateEvaluation(e); Console.WriteLine("Written Successfully!"); } return(true); }