From c6c721d1d68f260962002a1ee9a091eba6cfc9be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=A0=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=D0=B2?= <69107006+oQaris@users.noreply.github.com> Date: Sun, 15 May 2022 22:17:51 +0600 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D1=80=D1=83=D1=81=D1=81=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BD=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=BA=D0=B0=D0=B6=D0=B4=D0=BE=D0=B9=20=D1=87=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D0=B8=20=D1=80=D0=B5=D1=87=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/github/demidko/aot/PartOfSpeech.java | 371 +++++++++--------- 1 file changed, 192 insertions(+), 179 deletions(-) diff --git a/src/main/java/com/github/demidko/aot/PartOfSpeech.java b/src/main/java/com/github/demidko/aot/PartOfSpeech.java index 4fd7238..9e7f96c 100644 --- a/src/main/java/com/github/demidko/aot/PartOfSpeech.java +++ b/src/main/java/com/github/demidko/aot/PartOfSpeech.java @@ -5,186 +5,199 @@ */ public enum PartOfSpeech { - /** - * Местоимение-существительное - */ - Pronoun, - - /** - * Краткое прилагательное - */ - ShortAdjective, - - /** - * Междометие - */ - Interjection, - - /** - * Наречие - */ - Adverb, - - /** - * Глагол в личной форме - */ - Verb, - - /** - * Прилагательное - */ - Adjective, - - /** - * Существительное - */ - Noun, - - /** - * Вводное слово - */ - Introduction, - - /** - * Местоимение-предикатив - */ - PronounPredicative, - - /** - * Местоименное прилагательное - */ - PronounAdjective, - - /** - * Причастие - */ - Participle, - - /** - * Деепричастие - */ - VerbalParticiple, - - /** - * Краткое причастие - */ - BriefCommunion, - - /** - * Некая часть речи (?) - */ - POSL_PART_OF_SPEECH, - - /** - * Предикатив - */ - Predicative, - - /** - * Частица - */ - Particle, - - /** - * Числительное (количественное) - */ - Numeral, - - /** - * Предлог - */ - Pretext, - - /** - * Инфинитив - */ - Infinitive, - - /** - * Порядковое числительное - */ - OrdinalNumber, - - /** - * Фразеологизм - */ - Idiom, - - /** - * Союз - */ - Union; - - /** - * Метод преобразует морфологический тег в часть речи - * - * @param tag тег морфологической информации - * @return извлеченная часть речи или null - */ - public static PartOfSpeech partOfSpeech(MorphologyTag tag) { - switch (tag) { - case Pronoun: - return Pronoun; - case PronounAdjective: - return PronounAdjective; - case ShortAdjective: - return ShortAdjective; - case Introduction: - return Introduction; - case Interjection: - return Interjection; - case Participle: - return Participle; - case Infinitive: - return Infinitive; - case Adjective: - return Adjective; - case Numeral: - return Numeral; - case Adverb: - return Adverb; - case Union: - return Union; - case Idiom: - return Idiom; - case Verb: - return Verb; - case Noun: - return Noun; - case PronounPredicative: - return PronounPredicative; - case VerbalParticiple: - return VerbalParticiple; - case BriefCommunion: - return BriefCommunion; - case POSL_PART_OF_SPEECH: - return POSL_PART_OF_SPEECH; - case Predicative: - return Predicative; - case Particle: - return Particle; - case Pretext: - return Pretext; - case OrdinalNumber: - return OrdinalNumber; - default: + /** + * Местоимение-существительное + */ + Pronoun("Местоимение-существительное"), + + /** + * Краткое прилагательное + */ + ShortAdjective("Краткое прилагательное"), + + /** + * Междометие + */ + Interjection("Междометие"), + + /** + * Наречие + */ + Adverb("Наречие"), + + /** + * Глагол в личной форме + */ + Verb("Глагол в личной форме"), + + /** + * Прилагательное + */ + Adjective("Прилагательное"), + + /** + * Существительное + */ + Noun("Существительное"), + + /** + * Вводное слово + */ + Introduction("Вводное слово"), + + /** + * Местоимение-предикатив + */ + PronounPredicative("Местоимение-предикатив"), + + /** + * Местоименное прилагательное + */ + PronounAdjective("Местоименное прилагательное"), + + /** + * Причастие + */ + Participle("Причастие"), + + /** + * Деепричастие + */ + VerbalParticiple("Деепричастие"), + + /** + * Краткое причастие + */ + BriefCommunion("Краткое причастие"), + + /** + * Некая часть речи (?) + */ + POSL_PART_OF_SPEECH("Некая часть речи"), + + /** + * Предикатив + */ + Predicative("Предикатив"), + + /** + * Частица + */ + Particle("Частица"), + + /** + * Числительное (количественное) + */ + Numeral("Числительное"), + + /** + * Предлог + */ + Pretext("Предлог"), + + /** + * Инфинитив + */ + Infinitive("Инфинитив"), + + /** + * Порядковое числительное + */ + OrdinalNumber("Порядковое числительное"), + + /** + * Фразеологизм + */ + Idiom("Фразеологизм"), + + /** + * Союз + */ + Union("Союз"); + + private final String description; + + PartOfSpeech(String description) { + this.description = description; + } + + /** + * Метод преобразует морфологический тег в часть речи + * + * @param tag тег морфологической информации + * @return извлеченная часть речи или null + */ + public static PartOfSpeech partOfSpeech(MorphologyTag tag) { + switch (tag) { + case Pronoun: + return Pronoun; + case PronounAdjective: + return PronounAdjective; + case ShortAdjective: + return ShortAdjective; + case Introduction: + return Introduction; + case Interjection: + return Interjection; + case Participle: + return Participle; + case Infinitive: + return Infinitive; + case Adjective: + return Adjective; + case Numeral: + return Numeral; + case Adverb: + return Adverb; + case Union: + return Union; + case Idiom: + return Idiom; + case Verb: + return Verb; + case Noun: + return Noun; + case PronounPredicative: + return PronounPredicative; + case VerbalParticiple: + return VerbalParticiple; + case BriefCommunion: + return BriefCommunion; + case POSL_PART_OF_SPEECH: + return POSL_PART_OF_SPEECH; + case Predicative: + return Predicative; + case Particle: + return Particle; + case Pretext: + return Pretext; + case OrdinalNumber: + return OrdinalNumber; + default: + return null; + } + } + + /** + * Метод извлекает часть речи из набора всей морфологической информации + * + * @param tags вся морфологическая информация + * @return извлеченная часть речи или null + */ + static PartOfSpeech partOfSpeech(Iterable tags) { + for (MorphologyTag tag : tags) { + PartOfSpeech maybe = partOfSpeech(tag); + if (maybe != null) { + return maybe; + } + } return null; } - } - - /** - * Метод извлекает часть речи из набора всей морфологической информации - * - * @param tags вся морфологическая информация - * @return извлеченная часть речи или null - */ - static PartOfSpeech partOfSpeech(Iterable tags) { - for (MorphologyTag tag : tags) { - PartOfSpeech maybe = partOfSpeech(tag); - if (maybe != null) { - return maybe; - } + + /** + * @return описание части речи + */ + public String getDescription() { + return description; } - return null; - } }