Co dostarczyliśmy
Dostarczyliśmy finalne API do dopasowywania grantów dla startupu, który pomaga firmom znajdować odpowiednie granty europejskie. Projekt łączył implementację oprogramowania z doradztwem, analizą taksonomii i rekomendacjami produktowymi.
Startup dysponował już działającym MVP. Kolejnym wyzwaniem było rozwinięcie mechanizmu dopasowania na większą skalę bez utrwalania rozwiązania kosztownego w utrzymaniu. Liczyła się także jakość wyników. Zbyt wiele wyników fałszywie pozytywnych obciążałoby użytkowników nietrafnymi propozycjami, a wyniki fałszywie negatywne mogłyby ukrywać granty warte rozważenia.
Nie był to projekt polegający na dodaniu standardowej wyszukiwarki. Zanim startup mógł polegać na punktacji, trzeba było zdecydować, jak przedstawić wiedzę dziedzinową. Zakres objął więc zarówno oprogramowanie dopasowujące, jak i analizę potrzebną do wyboru stojącej za nim taksonomii.
API do dopasowywania
Finalne API implementujące wybrane podejście do wykorzystania w produkcie startupu.
Projekt taksonomii
Porównanie źródeł, adaptacja publicznych taksonomii, własne struktury kategorii i wielojęzyczne mapy synonimów.
Rekomendacje produktowe
Wskazówki dotyczące struktury taksonomii, szczegółowości pojęć, znaczenia słów kluczowych i kompromisów między wariantami.
Iteracje z ekspertem
Kolejne wersje oceniane na danych testowych z ekspertem grantowym pracującym po stronie klienta.
Dlaczego same słowa kluczowe nie wystarczą
Firmy i programy grantowe często opisują powiązane działania innym słownictwem i w różnych językach. Wielojęzyczne dopasowanie wymaga więc czegoś więcej niż tłumaczenia listy terminów. Synonimy pomagają, ale nie rozwiązują całego problemu. Struktura taksonomii decyduje, które idee są traktowane jako powiązane, a szczegółowość kategorii wpływa na to, jakie różnice system potrafi zachować.
Część decyzji wymagała wiedzy dziedzinowej. Czy rozpoznawanie obiektów i śledzenie ruchu powinny należeć do jednej szerszej grupy, czy pozostać osobnymi pojęciami? Które części dokumentu grantowego zawierają wartościowe informacje dla dopasowania? Jak mocno jedno decydujące pojęcie powinno wpływać na wynik, gdy dokument zawiera wiele słabszych terminów?
Dopasowanie mogło zawierać większość oczekiwanego słownictwa, a mimo to być błędne z powodu braku jednego lub dwóch krytycznych pojęć. Możliwa była też sytuacja odwrotna. Duża liczba ogólnych terminów tworzyła pozornie wysoki wynik bez wartościowej informacji. Logika dopasowania musiała więc nadawać decydującym pojęciom odpowiednio duży wpływ. Jednocześnie nie mogła pozwalać, aby szum informacyjny dominował w ocenie.
Analiza i rozwój taksonomii
Porównaliśmy kilka taksonomii dostępnych w publicznych źródłach, modyfikowaliśmy istniejące struktury i tworzyliśmy własne warianty. Było to potrzebne tam, gdzie dostępne podziały nie odzwierciedlały decyzji wystarczająco dobrze. Praca obejmowała:
- hierarchiczne kategorie i granice między powiązanymi pojęciami.
- wielojęzyczne synonimy oraz mapowanie różnych określeń tego samego zagadnienia.
- wagi dla decydujących i pomocniczych słów kluczowych.
- znaczenie pojęć wydobywanych z różnych sekcji dokumentu grantowego.
- wpływ zmian taksonomii na pominięte możliwości i nietrafne rekomendacje.
Warianty taksonomii grantowej nie były traktowane jak wymienne pliki z danymi. Zmiana hierarchii, mapy synonimów lub wagi słowa kluczowego mogła zmienić ocenę przydatności grantu. Analizowaliśmy te skutki i przedstawialiśmy klientowi rekomendacje dotyczące kompromisów między rozważanymi podejściami.
Ta praca doprowadziła od kilku możliwych taksonomii do podejścia wybranego dla finalnego API. Każda iteracja wpływała zarówno na strukturę wiedzy, jak i na logikę dopasowania. Nie była więc oddzielnym ćwiczeniem teoretycznym.
Ewaluacja z ekspertem po stronie klienta
Kolejne podejścia ocenialiśmy na danych testowych wspólnie z ekspertem dziedzinowym zatrudnionym przez startup. Ekspert wnosił wiedzę o grantach, a my przekładaliśmy jego informacje zwrotne na zmiany w taksonomii i implementacji technicznej.
Ocena dotyczyła tego, czy taksonomia zachowuje potrzebne rozróżnienia, uwzględnia krytyczne pojęcia i nie tworzy rekomendacji opartych głównie na szumie. Testy ujawniały przypadki, w których większość słów wyglądała poprawnie, ale brakowało jednego lub dwóch decydujących pojęć. Pokazywały też, kiedy szerokie słownictwo wnosiło niewiele do jakości dopasowania.
Projekt nie dostarczył publicznego wskaźnika trafności produkcyjnej ani skuteczności zdobywania grantów. Podstawą oceny były dane testowe i przegląd eksperta po stronie klienta. Potwierdzonym rezultatem jest więc dostarczenie ocenionego przez eksperta podejścia oraz API, a nie deklaracja dotycząca finansowania zdobytego przez użytkowników.
Od badań do użytecznego API
Finalnym rezultatem była usługa zbudowana w Pythonie i FastAPI. Łączyła wielojęzyczne przetwarzanie taksonomii, ważone dopasowanie, uczenie maszynowe i przetwarzanie języka naturalnego. Python i FastAPI są tu istotne, ponieważ analiza została przełożona na API do wykorzystania w produkcie startupu. Praca nie zakończyła się raportem o taksonomii ani odizolowanym eksperymentem.
Razem z API dostarczyliśmy analizę i rekomendacje stojące za wybraną logiką. Klient otrzymał zarówno zaimplementowany rezultat, jak i opis decyzji rozważanych przy porównywaniu struktur kategorii, synonimów, ważnych pojęć oraz sekcji dokumentów.
Projekt przeprowadził startup od MVP i kilku konkurencyjnych pomysłów na taksonomię do wybranego podejścia zaimplementowanego w finalnym API. Dał też zespołowi produktowemu wyraźniejszą podstawę do przyszłych decyzji o modelu dopasowania. W podobnym projekcie punktem wyjścia nie powinien być z góry wybrany algorytm. Potrzebne są reprezentatywne dane testowe, dostęp do wiedzy dziedzinowej i jasna definicja przydatnej rekomendacji.
Zobacz rozwiązania dla branży grantowej lub podejście do dedykowanych algorytmów.