Skip to content

Commit

Permalink
Добавлены русские названия для каждой части речи
Browse files Browse the repository at this point in the history
  • Loading branch information
oQaris authored May 15, 2022
1 parent e5c1d4d commit c6c721d
Showing 1 changed file with 192 additions and 179 deletions.
371 changes: 192 additions & 179 deletions src/main/java/com/github/demidko/aot/PartOfSpeech.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<MorphologyTag> tags) {
for (MorphologyTag tag : tags) {
PartOfSpeech maybe = partOfSpeech(tag);
if (maybe != null) {
return maybe;
}
}
return null;
}
}

/**
* Метод извлекает часть речи из набора всей морфологической информации
*
* @param tags вся морфологическая информация
* @return извлеченная часть речи или null
*/
static PartOfSpeech partOfSpeech(Iterable<MorphologyTag> tags) {
for (MorphologyTag tag : tags) {
PartOfSpeech maybe = partOfSpeech(tag);
if (maybe != null) {
return maybe;
}

/**
* @return описание части речи
*/
public String getDescription() {
return description;
}
return null;
}
}

0 comments on commit c6c721d

Please sign in to comment.