Untitled
unknown
python
2 years ago
3.5 kB
9
Indexable
import pandas as pd
try:
data = pd.read_csv('toxic_comments.csv')
except:
data = pd.read_csv('/datasets/toxic_comments.csv')
data
# ------------------------------------------------------
# ДЛЯ РУССКОГО ЯЗЫКА
import pymorphy2
# Создаем объект MorphAnalyzer
morph = pymorphy2.MorphAnalyzer()
# Функция для лемматизации строки
def lemmatize_text(text):
words = text.split()
lemmatized_words = [morph.parse(word)[0].normal_form for word in words]
lemmatized_text = ' '.join(lemmatized_words)
return lemmatized_text
kol1 = 200000
# Применяем функцию к столбцу 'твиты'
df = pd.DataFrame()
%%time
df['лемматизированные_твиты'] = data['text']. iloc[:kol1].apply(lemmatize_text)
# Вывод
# CPU times: total: 1min 38s
# Wall time: 1min 38s
# Вывод результата
df. shape
# Вывод
# (159292, 1)
# ------------------------------------------------------
# ДЛЯ АНГЛИЙСКОГО ЯЗЫКА
from nltk.stem import WordNetLemmatizer
from nltk.tokenize import word_tokenize
import nltk
nltk.download('punkt') # Если не установлено
# Создаем объект WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
# Функция для лемматизации строки
def lemmatize_english_text(text):
words = word_tokenize(text)
lemmatized_words = [lemmatizer.lemmatize(word) for word in words]
lemmatized_text = ' '.join(lemmatized_words)
return lemmatized_text
kol2 = 10
# Применяем функцию к столбцу 'твиты'
df = pd.DataFrame()
%%time
df['лемматизированные_твиты'] = data['text']. iloc[:kol2].apply(lemmatize_english_text)
print('Почему то первый запуск дал расчет в 100 раз дольше, возможно при перезапуске ядра стоит\n'+
'сначала лемматизировать пару строк, а потом запускать весь датасет')
# Вывод
# Почему то первый запуск дал расчет в 100 раз дольше, возможно при перезапуске ядра стоит
# сначала лемматизировать пару строк, а потом запускать весь датасет
# CPU times: total: 672 ms
# Wall time: 670 ms
kol2 = 200000
# Применяем функцию к столбцу 'твиты'
df = pd.DataFrame()
%%time
df['лемматизированные_твиты'] = data['text']. iloc[:kol2].apply(lemmatize_english_text)
print('Почему то первый запуск дал расчет в 100 раз дольше, возможно при перезапуске ядра стоит\n'+
'сначала лемматизировать пару строк, а потом запускать весь датасет')
# Вывод
# Почему то первый запуск дал расчет в 100 раз дольше, возможно при перезапуске ядра стоит
# сначала лемматизировать пару строк, а потом запускать весь датасет
# CPU times: total: 1min 6s
# Wall time: 1min 6s
# Вывод результата
df. shape
# Вывод
# (159292, 1)
Editor is loading...
Leave a Comment