Skip to content

Desklop/Uk_Stemmer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ukrainian Stemmer

Это небольшая модификация стеммера для украинского языка ukr_stemmer от Amice13 на Python, добавляющая возможность простой установки стеммера через pip в качестве пакета python и немного упрощающая его использование.

ukr_stemmer от Amice13 является адаптированной реализацией стеммера на Drupal от Algenon ([email protected]).

Стемминг - это процесс нахождения основы слова для заданного исходного слова. Основа слова не обязательно будет совпадать с морфологическим корнем слова. Стеммер - это конкретная реализация алгоритма стемминга. Стемминг используется в поисковых системах, в различных NLP-задачах и является частью процесса нормализации текста.

Установка

Установка с помощью pip:

pip install git+https://github.com/Desklop/Uk_Stemmer

Установка из исходных файлов:

git clone https://github.com/Desklop/Uk_Stemmer
cd Uk_Stemmer
pip install -e .

Использование

Стеммер состоит из класса UkStemmer, который содержит метод stem_word(), выполняющий стемминг слова. Данный метод принимает слово в виде строки и возвращает найденную стемму (основу) данного слова так же в виде строки.

Простой пример для стемминга каждого слова в строке:

import re
from uk_stemmer import UkStemmer

stemmer = UkStemmer()
test_string = 'Привіт, як твої справи? Зберігайте спокойствіе. Будь ласка, зберігайте спокій.'

prepare_test_string = test_string.lower()
words = re.split(r'(\W)', prepare_test_string)
words = [word for word in words if word != '']

for i in range(len(words)):
    words[i] = stemmer.stem_word(words[i])

stem_test_string = ''.join(words)
print('Source: %s\nStemmed: %s' % (test_string, stem_test_string))

Если у вас возникнут вопросы или вы хотите сотрудничать, можете написать мне на почту: [email protected] или в LinkedIn.