diff --git a/ruts/morph_stats.py b/ruts/morph_stats.py index 233ce50..f4cadff 100644 --- a/ruts/morph_stats.py +++ b/ruts/morph_stats.py @@ -84,7 +84,9 @@ def __init__(self, source: Union[str, Doc], words_extractor: WordsExtractor = No raise ValueError("В источнике данных отсутствуют слова") morph = pymorphy2.MorphAnalyzer() - self.tags = tuple(morph.parse(word)[0].tag for word in self.words) + word_counts = Counter(self.words) + parsed_tags = {word: morph.parse(word)[0].tag for word in word_counts} + self.tags = tuple(parsed_tags[word] for word in self.words) self.pos = tuple(tag.POS for tag in self.tags) self.animacy = tuple(tag.animacy for tag in self.tags) self.aspect = tuple(tag.aspect for tag in self.tags)