private static PosTaggerOutputType ToPosTaggerOutputType(PartOfSpeechEnum singlePartOfSpeech) { switch (singlePartOfSpeech) { case PartOfSpeechEnum.Adjective: return(PosTaggerOutputType.Adjective); case PartOfSpeechEnum.Adverb: return(PosTaggerOutputType.Adverb); case PartOfSpeechEnum.Article: return(PosTaggerOutputType.Article); case PartOfSpeechEnum.Conjunction: return(PosTaggerOutputType.Conjunction); case PartOfSpeechEnum.Interjection: return(PosTaggerOutputType.Interjection); case PartOfSpeechEnum.Noun: return(PosTaggerOutputType.Noun); case PartOfSpeechEnum.Numeral: return(PosTaggerOutputType.Numeral); case PartOfSpeechEnum.Other: return(PosTaggerOutputType.Other); case PartOfSpeechEnum.Particle: return(PosTaggerOutputType.Particle); case PartOfSpeechEnum.Predicate: return(PosTaggerOutputType.Predicate); case PartOfSpeechEnum.Preposition: return(PosTaggerOutputType.Preposition); case PartOfSpeechEnum.Pronoun: return(PosTaggerOutputType.Pronoun); case PartOfSpeechEnum.Verb: return(PosTaggerOutputType.Verb); default: throw new ArgumentException(singlePartOfSpeech.ToString()); } }
/* * морфоанализатор::{PartOfSpeechEnum} PoS-tagger::{PosTaggerOutputType} * PartOfSpeechEnum.Adjective PosTaggerOutputType.Adjective * PosTaggerOutputType.AdjectivePronoun * PartOfSpeechEnum.Adverb PosTaggerOutputType.Adverb * PosTaggerOutputType.AdverbialPronoun * PartOfSpeechEnum.Article PosTaggerOutputType.Article * PartOfSpeechEnum.Conjunction PosTaggerOutputType.Conjunction * PartOfSpeechEnum.Interjection PosTaggerOutputType.Interjection * PartOfSpeechEnum.Noun PosTaggerOutputType.Noun * PartOfSpeechEnum.Numeral PosTaggerOutputType.Numeral * PartOfSpeechEnum.Other PosTaggerOutputType.Other * PartOfSpeechEnum.Particle PosTaggerOutputType.Particle * PartOfSpeechEnum.Predicate PosTaggerOutputType.Predicate * PartOfSpeechEnum.Preposition PosTaggerOutputType.Preposition * PartOfSpeechEnum.Pronoun PosTaggerOutputType.Pronoun * PosTaggerOutputType.PossessivePronoun * PosTaggerOutputType.AdjectivePronoun * PosTaggerOutputType.AdverbialPronoun * PartOfSpeechEnum.Verb PosTaggerOutputType.Verb * PosTaggerOutputType.Infinitive * PosTaggerOutputType.AdverbialParticiple * PosTaggerOutputType.AuxiliaryVerb * PosTaggerOutputType.Participle * - PosTaggerOutputType.Punctuation */ #endregion private static void CorrectPosTaggerOutputType(Word word, PartOfSpeechEnum singlePartOfSpeech) { switch (singlePartOfSpeech) { case PartOfSpeechEnum.Adjective: switch (word.posTaggerOutputType) { case PosTaggerOutputType.Adjective: case PosTaggerOutputType.AdjectivePronoun: break; default: word.posTaggerOutputType = PosTaggerOutputType.Adjective; break; } break; case PartOfSpeechEnum.Adverb: switch (word.posTaggerOutputType) { case PosTaggerOutputType.Adverb: case PosTaggerOutputType.AdverbialPronoun: break; default: word.posTaggerOutputType = PosTaggerOutputType.Adverb; break; } break; case PartOfSpeechEnum.Article: word.posTaggerOutputType = PosTaggerOutputType.Article; break; case PartOfSpeechEnum.Conjunction: word.posTaggerOutputType = PosTaggerOutputType.Conjunction; break; case PartOfSpeechEnum.Interjection: word.posTaggerOutputType = PosTaggerOutputType.Interjection; break; case PartOfSpeechEnum.Noun: word.posTaggerOutputType = PosTaggerOutputType.Noun; break; case PartOfSpeechEnum.Numeral: word.posTaggerOutputType = PosTaggerOutputType.Numeral; break; case PartOfSpeechEnum.Other: word.posTaggerOutputType = PosTaggerOutputType.Other; break; case PartOfSpeechEnum.Particle: word.posTaggerOutputType = PosTaggerOutputType.Particle; break; case PartOfSpeechEnum.Predicate: word.posTaggerOutputType = PosTaggerOutputType.Predicate; break; case PartOfSpeechEnum.Preposition: word.posTaggerOutputType = PosTaggerOutputType.Preposition; break; case PartOfSpeechEnum.Pronoun: switch (word.posTaggerOutputType) { case PosTaggerOutputType.Pronoun: case PosTaggerOutputType.PossessivePronoun: case PosTaggerOutputType.AdjectivePronoun: case PosTaggerOutputType.AdverbialPronoun: break; default: word.posTaggerOutputType = PosTaggerOutputType.Pronoun; break; } break; case PartOfSpeechEnum.Verb: switch (word.posTaggerOutputType) { case PosTaggerOutputType.Verb: case PosTaggerOutputType.Infinitive: case PosTaggerOutputType.AdverbialParticiple: case PosTaggerOutputType.AuxiliaryVerb: case PosTaggerOutputType.Participle: break; default: word.posTaggerOutputType = PosTaggerOutputType.Verb; break; } break; default: throw new ArgumentException(singlePartOfSpeech.ToString()); } }