Mam dosyć złożony problem i chciałbym zasięgnąć opinii teoretyków i praktyków :)
(jeśli wybrałem zły dział to proszę o przeniesienie)
Postaram się opisać to najlepiej jak umiem:
Jest system obsługujący obrabiarkę CNC, co jest istotne system ten jest bardzo często aktualizowany. System na wyjściu generuje pliki XML w których są zawarte parametry wyjściowe konkretnego zlecenia. Autorzy systemu postanowili "uprościć" sprawę i pliki XML są generowane cyklicznie co minutę. Niestety maszyna nie jest tak szybka, więc duża część tych plików to śmieci bez danych o zleceniu, albo zawierające dane które już mamy (ALE niektóre z nich zawierają też wartościowe dane - temperatury wewnątrz maszyny, wartości napięć poszczególnych obwodów itp). Struktura pliku jest zawsze taka sama, ALE pomiędzy aktualizacjami. Po aktualizacji, a te występują mniej więcej co trzy tygodnie (chyba że coś zostało sknocone - wtedy łatki potrafią wychodzić co godzinę) plik XML się zmienia - czasami rośnie o dodatkowe pozycje, a czasem niektóre elementy drzewa znikają i co ważniejsze zmienia się kolejność nodów a czasami nawet nazwy. Mimo częstych aktualizacji dokumentacja przychodzi dwa razy w roku - w formie plików PDF.

I teraz moje zadanie to ustalenie które z tych plików są wartościowe i zapis odczytanych danych do bazy. Tak więc program do odczytu jest zmieniany po każdej aktualizacji systemu - trzeba go dostosować do pliku XML.
Chciałbym do zadania "rozpoznawanie wartościowego pliku" zaprząc jakąś formę AI. Mam funkcje które mogłyby być "oczami" takiego systemu - rozpoznawać poszczególne elementy i dawać wyniki w formie "procentowej" (np zgodność 9/10). Same funkcje mają skuteczność 6,5/10, ale to jest dalece niewystarczające - spoglądając "ludzkim okiem" stwierdzam ze stuprocentową skutecznością.

Teraz pytanie: jak do tego podejść i co wykorzystać przy takiej ilości danych wejściowych - w pliku jest 2000+ wartości do analizy, plików jest multum, jest na czym uczyć, ale system ciągle się zmienia więc dane wejściowe też ciągle się zmieniają