ИИ-агент в когнитивном программировании сознания – объединяем RAG и LLM. Лэй Энстазия

ИИ-агент в когнитивном программировании сознания – объединяем RAG и LLM - Лэй Энстазия


Скачать книгу
включают статьи с HTML-тегами, ссылками и ненужными стилями. Используйте `BeautifulSoup` для автоматической очистки контента:

      ```python

      from bs4 import BeautifulSoup

      import os

      def clean_html_file(filepath):

      with open(filepath, "r", encoding="utf-8") as file:

      html_content = file.read()

      soup = BeautifulSoup(html_content, "html.parser")

      clean_text = soup.get_text()

      return clean_text.strip()

      # Пример применения для директории

      directory = "./data"

      for filename in os.listdir(directory):

      if filename.endswith(".html"):

      cleaned_text = clean_html_file(os.path.join(directory, filename))

      with open(f"./cleaned/{filename.replace('.html', '.txt')}", "w", encoding="utf-8") as clean_file:

      clean_file.write(cleaned_text)

      ```

      Этот скрипт обработает все HTML-файлы, извлекая только текстовый контент.

      1.2.2 Фильтрация дублирующихся текстов

      Пример: Исключение одинаковых статей из нескольких источников

      Если в базе обнаруживаются дублирующие тексты, используйте хэширование для их удаления.

      ```python

      import hashlib

      def remove_duplicates(texts):

      unique_texts = {}

      for text in texts:

      text_hash = hashlib.md5(text.encode()).hexdigest()

      if text_hash not in unique_texts:

      unique_texts[text_hash] = text

      return list(unique_texts.values())

      texts = ["Текст 1…", "Текст 2…", "Текст 1…"]

      unique_texts = remove_duplicates(texts)

      print(unique_texts)

      ```

      Этот код сохранит только уникальные тексты, минимизируя объем данных.

      1.2.3 Нормализация текста

      Пример: Приведение текстов к единому формату

      Для унификации данных выполните нормализацию текста: удаление стоп-слов, специальных символов и приведение к нижнему регистру.

      ```python

      import re

      import nltk

      from nltk.corpus import stopwords

      nltk.download('stopwords')

      stop_words = set(stopwords.words('russian'))

      def normalize_text(text):

      text = text.lower()

      # Приведение к нижнему регистру

      text = re.sub(r'[^\w\s]', '', text)

      # Удаление специальных символов

      tokens = text.split()

      filtered_tokens = [word for word in tokens if word not in stop_words]

      # Удаление стоп-слов

      return " ".join(filtered_tokens)

      text = "Пример текста: как удалить лишние символы и нормализовать данные!"

      normalized_text = normalize_text(text)

      print(normalized_text)

      ```

      Результат: `"пример текста удалить лишние символы нормализовать данные"`

      1.2.4 Автоматизация процесса очистки

      Пример: Скрипт для обработки всех файлов в папке

      Создайте скрипт, который автоматически выполняет весь процесс очистки – удаляет шумы, фильтрует дубли и нормализует данные:

      ```python

      import os

      def process_files(input_dir, output_dir):

      for filename in os.listdir(input_dir):

      with open(os.path.join(input_dir, filename), "r", encoding="utf-8") as file:

      raw_text = file.read()

      # Очистка данных

      clean_text = normalize_text(clean_html_file(raw_text))

      # Сохранение результата

      with open(os.path.join(output_dir, filename), "w", encoding="utf-8") as clean_file:

      clean_file.write(clean_text)

      process_files("./raw_data", "./cleaned_data")

      ```

      Этот инструмент автоматизирует обработку данных для всех текстов в указанной директории.

      1.2.5 Инструменты для ускорения обработки больших объемов данных

      Пример: Использование `spaCy` для масштабных операций

      Если объем данных велик, подключите `spaCy` для ускорения обработки:

      ```python

      import


Скачать книгу