Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pymorphy2
- import gensim
- class RuTokenizer:
- __stopwords = {
- 'а',
- 'е',
- 'и',
- 'ж',
- 'м',
- 'о',
- 'на',
- 'не',
- 'ни',
- 'об',
- 'но',
- 'он',
- 'мне',
- 'мои',
- 'мож',
- 'она',
- 'они',
- 'оно',
- 'мной',
- 'много',
- 'многочисленное',
- 'многочисленная',
- 'многочисленные',
- 'многочисленный',
- 'мною',
- 'мой',
- 'мог',
- 'могут',
- 'можно',
- 'может',
- 'можхо',
- 'мор',
- 'моя',
- 'моё',
- 'мочь',
- 'над',
- 'нее',
- 'оба',
- 'нам',
- 'нем',
- 'нами',
- 'ними',
- 'мимо',
- 'немного',
- 'одной',
- 'одного',
- 'менее',
- 'однажды',
- 'однако',
- 'меня',
- 'нему',
- 'меньше',
- 'ней',
- 'наверху',
- 'него',
- 'ниже',
- 'мало',
- 'надо',
- 'один',
- 'одиннадцать',
- 'одиннадцатый',
- 'назад',
- 'наиболее',
- 'недавно',
- 'миллионов',
- 'недалеко',
- 'между',
- 'низко',
- 'меля',
- 'нельзя',
- 'нибудь',
- 'непрерывно',
- 'наконец',
- 'никогда',
- 'никуда',
- 'нас',
- 'наш',
- 'нет',
- 'нею',
- 'неё',
- 'них',
- 'мира',
- 'наша',
- 'наше',
- 'наши',
- 'ничего',
- 'начала',
- 'нередко',
- 'несколько',
- 'обычно',
- 'опять',
- 'около',
- 'мы',
- 'ну',
- 'нх',
- 'от',
- 'отовсюду',
- 'особенно',
- 'нужно',
- 'очень',
- 'отсюда',
- 'в',
- 'во',
- 'вон',
- 'вниз',
- 'внизу',
- 'вокруг',
- 'вот',
- 'восемнадцать',
- 'восемнадцатый',
- 'восемь',
- 'восьмой',
- 'вверх',
- 'вам',
- 'вами',
- 'важное',
- 'важная',
- 'важные',
- 'важный',
- 'вдали',
- 'везде',
- 'ведь',
- 'вас',
- 'ваш',
- 'ваша',
- 'ваше',
- 'ваши',
- 'впрочем',
- 'весь',
- 'вдруг',
- 'вы',
- 'все',
- 'второй',
- 'всем',
- 'всеми',
- 'времени',
- 'время',
- 'всему',
- 'всего',
- 'всегда',
- 'всех',
- 'всею',
- 'всю',
- 'вся',
- 'всё',
- 'всюду',
- 'г',
- 'год',
- 'говорил',
- 'говорит',
- 'года',
- 'году',
- 'где',
- 'да',
- 'ее',
- 'за',
- 'из',
- 'ли',
- 'же',
- 'им',
- 'до',
- 'по',
- 'ими',
- 'под',
- 'иногда',
- 'довольно',
- 'именно',
- 'долго',
- 'позже',
- 'более',
- 'должно',
- 'пожалуйста',
- 'значит',
- 'иметь',
- 'больше',
- 'пока',
- 'ему',
- 'имя',
- 'пор',
- 'пора',
- 'потом',
- 'потому',
- 'после',
- 'почему',
- 'почти',
- 'посреди',
- 'ей',
- 'два',
- 'две',
- 'двенадцать',
- 'двенадцатый',
- 'двадцать',
- 'двадцатый',
- 'двух',
- 'его',
- 'дел',
- 'или',
- 'без',
- 'день',
- 'занят',
- 'занята',
- 'занято',
- 'заняты',
- 'действительно',
- 'давно',
- 'девятнадцать',
- 'девятнадцатый',
- 'девять',
- 'девятый',
- 'даже',
- 'алло',
- 'жизнь',
- 'далеко',
- 'близко',
- 'здесь',
- 'дальше',
- 'для',
- 'лет',
- 'зато',
- 'даром',
- 'первый',
- 'перед',
- 'затем',
- 'зачем',
- 'лишь',
- 'десять',
- 'десятый',
- 'ею',
- 'её',
- 'их',
- 'бы',
- 'еще',
- 'при',
- 'был',
- 'про',
- 'процентов',
- 'против',
- 'просто',
- 'бывает',
- 'бывь',
- 'если',
- 'люди',
- 'была',
- 'были',
- 'было',
- 'будем',
- 'будет',
- 'будете',
- 'будешь',
- 'прекрасно',
- 'буду',
- 'будь',
- 'будто',
- 'будут',
- 'ещё',
- 'пятнадцать',
- 'пятнадцатый',
- 'друго',
- 'другое',
- 'другой',
- 'другие',
- 'другая',
- 'других',
- 'есть',
- 'пять',
- 'быть',
- 'лучше',
- 'пятый',
- 'к',
- 'ком',
- 'конечно',
- 'кому',
- 'кого',
- 'когда',
- 'которой',
- 'которого',
- 'которая',
- 'которые',
- 'который',
- 'которых',
- 'кем',
- 'каждое',
- 'каждая',
- 'каждые',
- 'каждый',
- 'кажется',
- 'как',
- 'какой',
- 'какая',
- 'кто',
- 'кроме',
- 'куда',
- 'кругом',
- 'с',
- 'т',
- 'у',
- 'я',
- 'та',
- 'те',
- 'уж',
- 'со',
- 'то',
- 'том',
- 'снова',
- 'тому',
- 'совсем',
- 'того',
- 'тогда',
- 'тоже',
- 'собой',
- 'тобой',
- 'собою',
- 'тобою',
- 'сначала',
- 'только',
- 'уметь',
- 'тот',
- 'тою',
- 'хорошо',
- 'хотеть',
- 'хочешь',
- 'хоть',
- 'хотя',
- 'свое',
- 'свои',
- 'твой',
- 'своей',
- 'своего',
- 'своих',
- 'свою',
- 'твоя',
- 'твоё',
- 'раз',
- 'уже',
- 'сам',
- 'там',
- 'тем',
- 'чем',
- 'сама',
- 'сами',
- 'теми',
- 'само',
- 'рано',
- 'самом',
- 'самому',
- 'самой',
- 'самого',
- 'семнадцать',
- 'семнадцатый',
- 'самим',
- 'самими',
- 'самих',
- 'саму',
- 'семь',
- 'чему',
- 'раньше',
- 'сейчас',
- 'чего',
- 'сегодня',
- 'себе',
- 'тебе',
- 'сеаой',
- 'человек',
- 'разве',
- 'теперь',
- 'себя',
- 'тебя',
- 'седьмой',
- 'спасибо',
- 'слишком',
- 'так',
- 'такое',
- 'такой',
- 'такие',
- 'также',
- 'такая',
- 'сих',
- 'тех',
- 'чаще',
- 'четвертый',
- 'через',
- 'часто',
- 'шестой',
- 'шестнадцать',
- 'шестнадцатый',
- 'шесть',
- 'четыре',
- 'четырнадцать',
- 'четырнадцатый',
- 'сколько',
- 'сказал',
- 'сказала',
- 'сказать',
- 'ту',
- 'ты',
- 'три',
- 'эта',
- 'эти',
- 'что',
- 'это',
- 'чтоб',
- 'этом',
- 'этому',
- 'этой',
- 'этого',
- 'чтобы',
- 'этот',
- 'стал',
- 'туда',
- 'этим',
- 'этими',
- 'рядом',
- 'тринадцать',
- 'тринадцатый',
- 'этих',
- 'третий',
- 'тут',
- 'эту',
- 'суть',
- 'чуть',
- 'тысяч',
- }
- __morph = pymorphy2.MorphAnalyzer()
- def tokenize(self, text):
- result_words = []
- for word in gensim.utils.simple_preprocess(text):
- parsed_words = self.__morph.parse(word)
- if len(parsed_words) == 0:
- continue
- normalized_word = parsed_words[0].normal_form
- if len(normalized_word) == 0:
- continue
- if normalized_word in self.__stopwords:
- continue
- result_words.append(normalized_word)
- return result_words
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement