Skip to content

c0deplayer/DocumentClassification

Repository files navigation

Klasyfikacja Dokumentów

Build and Push Docker Images

Cel projektu

Projekt koncentruje się na implementacji zaawansowanego systemu klasyfikacji dokumentów, wykorzystującego potencjał chmury obliczeniowej oraz technik uczenia maszynowego. System został zaprojektowany z myślą o automatyzacji procesów analizy i kategoryzacji różnorodnych dokumentów.


Wykorzystane technologie

Podstawowe komponenty

Narzędzia pomocnicze

Wymagane biblioteki

Important

Minimalna wspierana wersja Python to 3.12.

Wszystkie wymagane biblioteki znajdują się w pliku pyproject.toml oraz requirements.txt. Aby zainstalować wszystkie zależności, należy uruchomić poniższą komendę:

pip install -r requirements.txt

lub przy użyciu uv:

uv sync --frozen

Wymagania funkcjonalne

Podstawowe

Obsługa dokumentów

  • Wsparcie dla różnorodnych formatów dokumentów (PDF, JPEG, PNG, WEBP)
  • Przetwarzanie dokumentów w języku angielskim
  • Klasyfikacja dokumentów z założonym opóźnieniem do 15 sekund

Bezpieczeństwo

  • Bezpieczne przechowywanie dokumentów z szyfrowaniem
  • Logowanie operacji systemowych

Integracja i API

  • REST API zgodne ze standardem OpenAPI 3.0

  • Endpointy do:

    • Przesyłania dokumentów
    • Pobierania wyników klasyfikacji
    • Zarządzania dokumentami
    • Wyszukiwania i filtrowania
  • Pełna dokumentacja API w formacie OpenAPI

Przechowywanie danych

  • Baza danych do przechowywania:

    • Dokumentów w formie zaszyfrowanej
    • Wyników klasyfikacji
    • Adnotacji
  • CI/CD do automatyzacji procesu wdrożenia

    • Wsparcie dla kontenerów wieloarchitekturowych
    • Automatyczne budowanie obrazów Docker

Dodatkowe (opcjonalne)

Wielojęzyczność

  • Obsługa przynajmniej języka polskiego i angielskiego
  • Automatyczne wykrywanie języka dokumentu

Analiza i przetwarzanie

  • Ekstrakcja kluczowych informacji z dokumentu
  • Analiza układu dokumentu

Interfejs użytkownika

  • Intuicyjny interfejs webowy do:

    • Przeglądania dokumentów według kategorii
    • Zarządzania klasyfikacją
    • Wizualizacji statystyk
    • Eksportu danych i raportów

Ograniczenia systemu

Ograniczenia plików

Dokumenty tekstowe

  • Formaty: PDF
  • Maksymalny rozmiar: 20MB
  • Limit stron: 8

Obrazy i skany

  • Formaty zdjęć: JPEG, PNG, WEBP
    • Maksymalny rozmiar: 20MB
    • Maksymalna rozdzielczość: 2480px x 3508px
  • Akceptowane tryby kolorów: RGB, CMYK, skala szarości

Ograniczenia przetwarzania

Generowanie opisów

  • Długość opisu:
    • Minimum: 100 słów
    • Maksimum: 300 słów
  • Czas przetwarzania:
    • Generowanie opisu: maksymalnie 10 sekund
    • Klasyfikacja dokumentu: maksymalnie 15 sekund
    • OCR: maksymalnie 15 sekund na stronę

Harmonogram realizacji projektu

Data Etap Kluczowe zadania
8 XI 2024 Wstępna konfiguracja środowiska • Konfiguracja środowiska i kontenerów
• Utworzenie repozytorium
• Utworzenie potoku przygotowania danych
• Implementacja podstawowego OCR
22 XI 2024 Model bazowy • Implementacja LayoutLMv3
• Konfiguracja bazy danych
• Podstawowa klasyfikacja
6 XII 2024 Optymalizacja • Analiza różnych metod uczenia maszynowego
• Implementacja generowania podsumowań
• Wybór optymalnego rozwiązania
20 XII 2024 Rozszerzenia • Implementacja dodatkowych funkcji
17 I 2025 Interfejs użytkownika • Implementacja interfejsu webowego
• Dokumentacja końcowa

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published