public async Task <IHttpActionResult> GetTest(AssignmentSource source) { return(await Task.Run(() => { var questionList = new List <TestGenerator.Models.Question>(); this.analyzer = new Analyzer(this.properties, this.jarRoot, source.Text); var sentenceList = this.analyzer.GetListOfSentences(); var coreferenceList = this.analyzer.GetCoreferenceList(); var normalizer = new Normalizer(); var normalizedSentences = normalizer.NormalizeText2(sentenceList, coreferenceList); var interrogativeGenerator = new InterrogativeWordQuestionGenerator(); questionList.AddRange(interrogativeGenerator.Generate(normalizedSentences)); var generator = new SubstitutionQuestionGenerator(); questionList.AddRange(generator.Generate(normalizedSentences)); var trueOrFalseGenerator = new TrueOrFalseQuestionGenerator(); questionList.AddRange(trueOrFalseGenerator.Generate(normalizedSentences)); return Ok(questionList); })); }
static void Main(string[] args) { var jarRoot = @"..\..\..\..\stanford-corenlp-full-2018-10-05"; var text = "Wife of Enrique Iglesias is Anna. Her house is big."; var properties = new PropertyBuilder() .SetAnnotators(new [] { "tokenize", "ssplit", "pos", "lemma", "ner", "parse", "natlog", "dcoref" }) .SetKeyValuePairs("ner.useSUTime", "0") .Build(); var analyzer = new Analyzer(properties, jarRoot, text); var sentenceList = analyzer.GetListOfSentences(); var coreferenceList = analyzer.GetCoreferenceList(); var normalizer = new Normalizer(); var normalizedSentences = normalizer.NormalizeText(sentenceList, coreferenceList); var generator = new SubstitutionQuestionGenerator(); var questions = generator.Generate(normalizedSentences); }