public Product ParseDataset(string datasetFile) { Product productSummary = null; if (File.Exists(datasetFile)) { SemEvalDataset dataset = XmlSerializationExtensions.FromXmlFile <SemEvalDataset>(datasetFile); FileInfo datasetFileInfo = new FileInfo(datasetFile); productSummary = new Product(); productSummary.Title = datasetFileInfo.Name; Review defaultReview = new Review(); defaultReview.Title = string.Format("Batch sentences for dataset: {0}", datasetFileInfo.Name); foreach (SemEvalDatasetSentence datasetSentence in dataset.Sentences) { Sentence sentence = new Sentence(); sentence.DatasetTypeId = (int)DatasetParserType.SemEval; sentence.Text = datasetSentence.Sentence; ManualResults calculatedResults = new ManualResults(); foreach (SemEvalDatasetAspect datasetAspect in datasetSentence.Aspects) { SemEvalResultAspect resultAspect = new SemEvalResultAspect(); resultAspect.AspectTermText = datasetAspect.Term; if (!aspects.Contains(datasetAspect.Term.ToLower())) { aspects.Add(datasetAspect.Term.ToLower()); } resultAspect.Polarity = datasetAspect.Polarity; resultAspect.OpinionStrengthFrom = datasetAspect.From; resultAspect.OpinionStrengthTo = datasetAspect.To; calculatedResults.SemEvalResultAspects.Add(resultAspect); } if (calculatedResults.SemEvalResultAspects.Count > 0) { sentence.ManualResults = XmlSerializationExtensions.ToXmlString(calculatedResults); } defaultReview.Sentence.Add(sentence); } productSummary.Review.Add(defaultReview); } //RunTest(); return(productSummary); }