Advertisement
fevzi02

Untitled

Oct 31st, 2024 (edited)
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.40 KB | None | 0 0
  1. # Установка необходимых библиотек
  2. !pip install nltk pymorphy2
  3.  
  4. import re
  5. import nltk
  6. import pymorphy2
  7. from nltk.corpus import stopwords
  8. from datasets import load_from_disk
  9.  
  10. nltk.download("stopwords")
  11. stop_words = set(stopwords.words("russian"))
  12. morph = pymorphy2.MorphAnalyzer()
  13.  
  14. # Загрузка сохраненного датасета
  15. dataset = load_from_disk("wikipedia_dataset")
  16.  
  17. def preprocess_text(text):
  18. """Функция для очистки и нормализации текста."""
  19. # Приведение к нижнему регистру
  20. text = text.lower()
  21. # Удаление спецсимволов и цифр
  22. text = re.sub(r'[^а-яё\s]', ' ', text)
  23. # Токенизация и удаление стоп-слов
  24. tokens = [word for word in text.split() if word not in stop_words]
  25. # Лемматизация
  26. tokens = [morph.parse(word)[0].normal_form for word in tokens]
  27. return ' '.join(tokens)
  28.  
  29. # Применение предобработки ко всем документам в датасете
  30. dataset = dataset.map(lambda x: {"text": preprocess_text(x["text"])})
  31.  
  32. # Сохранение очищенного датасета
  33. dataset.save_to_disk("cleaned_wikipedia_dataset")
  34.  
  35. print("Датасет очищен и нормализован.")
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47. # Установка необходимых библиотек для обработки текста
  48. !pip install nltk pymorphy2
  49.  
  50. import re
  51. import nltk
  52. import pymorphy2
  53. from datasets import load_from_disk
  54.  
  55. # Загрузка стоп-слов для русского языка и инициализация лемматизатора
  56. nltk.download("stopwords")
  57. stop_words = set(nltk.corpus.stopwords.words("russian"))
  58. morph = pymorphy2.MorphAnalyzer()
  59.  
  60. # Загрузка ранее сохраненного датасета
  61. dataset = load_from_disk("wikipedia_dataset")
  62.  
  63. def preprocess_text(text):
  64. """Функция для очистки и нормализации текста."""
  65. # Приведение к нижнему регистру
  66. text = text.lower()
  67. # Удаление спецсимволов и цифр
  68. text = re.sub(r'[^а-яё\s]', ' ', text)
  69. # Токенизация и удаление стоп-слов
  70. tokens = [word for word in text.split() if word not in stop_words]
  71. # Лемматизация
  72. tokens = [morph.parse(word)[0].normal_form for word in tokens]
  73. # Объединение обработанных токенов обратно в текст
  74. return ' '.join(tokens)
  75.  
  76. # Применение предобработки ко всем документам в датасете
  77. dataset = dataset.map(lambda x: {"text": preprocess_text(x["text"])})
  78.  
  79. # Сохранение очищенного датасета
  80. dataset.save_to_disk("cleaned_wikipedia_dataset")
  81.  
  82. print("Датасет успешно очищен, нормализован и сохранен.")
  83.  
  84.  
  85. # Создание DataFrame для организации данных
  86. df = pd.DataFrame({"text": documents, "label": labels})
  87.  
  88. # Создание датасета в формате Hugging Face datasets
  89. dataset = Dataset.from_pandas(df)
  90.  
  91. # Сохранение датасета на диск
  92. dataset.save_to_disk("wikipedia_dataset")
  93.  
  94. print("Датасет успешно сохранен.")
  95.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement