public void matchAnswersWithListsIntegrationTest()
        {
            var feedback = qae.matchAnswers(SubQqestion1, userAnswerSubQuestion1);



            //good
            Assert.IsTrue(feedback.missingEntitis.Contains(Entity4));
            Assert.IsTrue(feedback.missingEntitis.Contains(multyEntity));
            Assert.IsFalse(feedback.missingEntitis.Contains(Entity1));
            Assert.IsFalse(feedback.missingEntitis.Contains(Entity2));

            Assert.AreEqual(feedback.score, 45);

            //bad
            feedback = qae.matchAnswers(SubQqestion1, "");
            Assert.IsTrue(feedback.missingEntitis.Contains(Entity4));
            Assert.IsTrue(feedback.missingEntitis.Contains(Entity1));
            Assert.IsTrue(feedback.missingEntitis.Contains(Entity2));
            Assert.IsTrue(feedback.missingEntitis.Contains(multyEntity));
            Assert.AreEqual(feedback.score, 0);



            //ugly
            feedback = qae.matchAnswers(null, "");
            Assert.AreEqual(feedback.missingEntitis.Count, 0);
            Assert.AreEqual(feedback.score, 0);
        }
Exemple #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            QAEngin qna = new QAEngin();
            string  str;
            var     subQuestion = new SubQuestion();

            subQuestion.questionText = questionBox.Text;
            subQuestion.answerText   = input_TB.Text;
            subQuestion.flags        = "need1";
            var match = qna.matchAnswers(subQuestion,
                                         input_TB2.Text);
            var answerText = "Score:" + match.score + Environment.NewLine;

            foreach (var ent in match.missingEntitis)
            {
                answerText += "Missing Entity:" + ent.entityValue + Environment.NewLine;
            }

            foreach (var ans in match.answersFeedbacks.Where(x => x.score < 75))
            {
                answerText += "Missing Answer:" + ans + Environment.NewLine;
            }



            var res = qnaCont.createFeedBack(match);

            foreach (var s in res)
            {
                answerText += s + Environment.NewLine;
            }

            text_TB3.Text = answerText;
        }
        public void matchAnswersWithListsTest()
        {
            var feedback = qae.matchAnswers(list2, list1);

            Assert.AreEqual(feedback.score, 68);


            //good
            Assert.AreEqual(feedback.missingEntitis[0].entityValue, eventO.Word);
            Assert.AreEqual(feedback.missingEntitis[0].entityType, "eventWord");
            Assert.AreEqual(feedback.score, 68);

            //bad
            Assert.AreEqual(feedback.missingEntitis.Count, 1);


            list1.Clear();
            //ugly
            Assert.AreEqual(qae.matchAnswers(list1, list1).missingEntitis.Count, 0);
            Assert.AreEqual(qae.matchAnswers(list1, list1).score, 100);
        }
        public void answerQualityCompareTest()
        {
            var questions = db.getSampleQuestions();

            foreach (var a in questions)
            {
                var q = new SubQuestion();
                q.answerText   = a.question;
                q.questionText = "";
                q.flags        = "";
                var score = qna.matchAnswers(q, a.userAnswer).score;
                db.updateSampleQuestion(a, score);
                var logScore = int.Parse(a.entities);
                Assert.IsTrue(score > logScore - 10 && score < logScore + 10, "id: " + a.id + "\nlogScore:" + logScore + " != score:" + score + "\n1:" + a.question + "\n2:" + a.userAnswer);
            }
        }
Exemple #5
0
        private void button4_Click(object sender, EventArgs e)
        {
            var inputText = systemAnswer_TB.Text;

            string log        = "";
            var    botResualt = new NLPControler().testAnalizer(inputText, out log, questionInput_TB.Text);

            drawTree(botResualt, answerTreeView);

            inputText = userAnswer_TB2.Text;
            var botResualt2 = new NLPControler().testAnalizer(inputText, out log, questionInput_TB.Text);

            drawTree(botResualt2, userAnswerTreeView);


            QAEngin qna = new QAEngin();
            string  str;
            var     subQuestion = new SubQuestion();

            subQuestion.questionText = questionInput_TB.Text;
            subQuestion.answerText   = systemAnswer_TB.Text;
            subQuestion.flags        = "need1";
            var match = qna.matchAnswers(subQuestion,
                                         userAnswer_TB2.Text);
            var answerText = "Score:" + match.score + Environment.NewLine;

            foreach (var ent in match.missingEntitis)
            {
                answerText += "Missing Entity:" + ent.entityValue + Environment.NewLine;
            }

            foreach (var ans in match.answersFeedbacks.Where(x => x.score < 75))
            {
                answerText += "Missing Answer:" + ans.answer + Environment.NewLine;
            }

            var res = qnaCont.createFeedBack(match);

            foreach (var s in res)
            {
                answerText += s + Environment.NewLine;
            }

            resualt_TB3.Text = answerText;
        }
 public AnswerFeedback matchAnswers(ISubQuestion subquestion, string answer)
 {
     return(qna.matchAnswers(subquestion, answer));
 }