コード例 #1
0
        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);
        }