/// <summary> /// нахождение морфологическую информацию /// </summary> public void SearchMorphologicalInformation() { regularExpresion = new RegularExpresion(); string newMorphoSentence = regularExpresion.ReplaceSentence(morphoSentence, "-", " ").Trim(); string[] collectionMorphoSentence = newMorphoSentence.Split(" "); foreach (string code in collectionMorphoSentence) { if (!(code.Equals("0.0"))) { int i = Int32.Parse(regularExpresion.GetBasisFromWord(code, @"\.\d{1,}")); int j = Int32.Parse(regularExpresion.GetBasisFromWord(code, @"\d{1,}\.")); string basisMorphoInfo = regularExpresion.ReplaceSentence(data.WordBasis[i], "\\-.{1,}", ""); string endMorphoInfo = regularExpresion.ReplaceSentence(data.Ends[j], "\\-.{1,}", ""); Console.WriteLine("Код слова = {0}({1}\"+\"{2})", code, basisMorphoInfo, endMorphoInfo); Console.WriteLine("Морфологическая информация: " + data.TabMophoInfo[i, j]); if (!(data.TabMophoInfo[i, j].Equals(""))) { FindGrammarInformation(Int32.Parse(data.TabMophoInfo[i, j]), i, j); } else { Console.WriteLine("Грамматическая информация: не добавлена"); } } else { Console.WriteLine("Код слово = " + code); Console.WriteLine("Слово не определено"); morphoSentenceSpeech = morphoSentenceSpeech + "С "; } } }
static void Main(string[] args) { RegularExpresion regularExpresion = new RegularExpresion(); //Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Что хотите знать на тему : Лучший игрок финалов НБА <<Баскетбол>>"); string input = Console.ReadLine(); input = regularExpresion.ReplaceSentence(input, "\\s+", " ").Trim(); Scanner scanner = new Scanner(input); Console.WriteLine(scanner.ToString()); MorphologicalAnalysis morphologicalAnalysis = new MorphologicalAnalysis(); morphologicalAnalysis.SearchMorphologicalCodeSentence(input); morphologicalAnalysis.SearchMorphologicalInformation(); Console.WriteLine("**********************************************************************************************"); Console.WriteLine("**********************************************************************************************"); Console.WriteLine("**********************************************************************************************"); Console.WriteLine("Синтактический анализ предложения: {0}", input); SyntacticAnalysis syntacticAnalysis = new SyntacticAnalysis(morphologicalAnalysis.MorphoSentenceSpeech, morphologicalAnalysis.ConvertStringToArray(input)); syntacticAnalysis.SearchSyntactic(); }