Skip to content

Latest commit

 

History

History

textPreprocessing

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Russian text preprocessing

В данном документе демонстрируется принцип работы утилит для обработки текста, которыми обрабатываются текста перед их дальнейшим использованием в построении моделей машинного обучения.

Утилита preprocess_text

Вся предобратка текста полученных утилит собрана в одной функции preprocess_text: принимает на вход строку (может содержать несколько слов, разделенных пробелом) и возращает обработанный вариант этой же строки.

from textPreprocessing import preprocess_text

preprocess_text('Дети бежали скорее со ШКОЛЫ в 6 вечера.')

ребёнок бежать скорее с школа в вечер



Состав утилиты preprocess_text

Эта утилита включает в себе обработку следующих функций:

lemmatize_word

Лемматизация слова (приведение его к начальной форме).

Для лемматизации русских слов есть два основных инструмента: Pymorphy2 и MyStem. В данной статье сравнили качество и скорость их работы — Pymorphy2 выиграл по показателям скорости работы и времени. Поэтому используем его.

from text_utils import lemmatize_word 

words = ['бежала', 'пятого', 'любимая', 'дети']

for not_initial_form_word in words:
    print(not_initial_form_word, '===>', lemmatize_word(not_initial_form_word))

бежала ===> бежать
пятого ===> пятый
любимая ===> любимый
дети ===> ребёнок


remove_punctuation

from text_utils import remove_punctuation

remove_punctuation('string.!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ With. Punctuation?')

string With Punctuation


remove_numbers

from text_utils import remove_numbers

remove_numbers('Дети бежали скорее со школы в 6 вечера')

Дети бежали скорее со школы в вечера


remove_redundant_whitespace_chars

from text_utils import remove_redundant_whitespace_chars

remove_redundant_whitespace_chars('   Тут  сейчас 2 места с лишними       \n       пробелами\n')

Тут сейчас 2 места с лишними пробелами



Используемая литература