//double check the opinion word orientations 80% protected bool GetDoublePropagationOpWordOrientation(string OpionionTarget, int index, string sentence) { var d = new Didaxto(); var tempOpinionWord = new OpinionWord(d.OpinionWord, WordOrientation); if (sentence.Contains(d.OpinionWord)) { WordOrientation = GetOpinionWordOrientation(d.OpinionWord, index, sentence); } else { SentenceIndex++; SentencesSeparator(SentencesInReview, SentenceIndex); sentence = SentencesInReview[SentenceIndex]; if (sentence.Contains(d.OpinionWord)) { WordOrientation = GetOpinionWordOrientation(d.OpinionWord, index, sentence); } } return(WordOrientation); }
//TEST static void Main(string[] args) { var d = new Didaxto(); var orie = ""; d.ExtractFilteredSeedOpinionWords(); d.ExtractConjunctionBasedOpinionWords(); d.ExtractOpinionWordTargets(); d.ExtractOpinionWords(); foreach (OpinionWord item in d.FilteredSeed) { if (item.Orientation == true) { orie = "Positive"; Console.WriteLine("\t" + $"{item.OpWord}" + "\t" + orie); } else { orie = "Negative"; Console.WriteLine("\t" + $"{item.OpWord}" + "\t" + orie); } } Console.Write("\n"); foreach (OpinionWord item in d.ConjunctionList) { if (item.Orientation == true) { orie = "Positive"; Console.WriteLine("\t" + $"{item.OpWord}" + "\t" + orie); } else { orie = "Negative"; Console.WriteLine("\t" + $"{item.OpWord}" + "\t" + orie); } } Console.Write("\n"); foreach (OpinionWord value in d.DoublePropagationList) { if (value.Orientation == true) { orie = "Positive"; Console.WriteLine("\t" + $"{value.OpWord}" + "\t" + orie); } else { orie = "Negative"; Console.WriteLine("\t" + $"{value.OpWord}" + "\t" + orie); } } Console.Write("\n"); foreach (var element in d.OpinionTargetList) { Console.WriteLine("\t" + element); } Console.Write("\n"); Console.ReadKey(); }