Przed skorzystaniem z usługi należy zapoznać się z informacjami wstępnymi zawierającymi opis kroków umożliwiających dostęp do interfejsu programistycznego CLARIN-PL.
Easymatcher jest usługą umożliwiającą wyszukanie pożądanych słów lub fraz w tekście i oznaczenie ich. Jest dostępna dla wszystkich języków.
Dopasowanie jest liczone na podstawie podobieństwa cosinusowego, którego minimalna wartość jest ustalana przez użytkownika. Oznaczone dokumenty są zwracane wraz z dodatkową listą krotek, gdzie każda zawiera jedną znalezioną frazę ze słownika w danym dokumencie. Krotki występują w następującej postaci:
(indeks_poczatkowy_slowa, indeks_koncowy_slowa, klucz ze słownika etykiek)
.
Easymatcher przeszukuje każdy dokument z osobna w poszukiwaniu słów/fraz znajdujących się w wartościach słownika etykiet. Po natrafieniu na słowo/frazę mające dopasowanie wyższe lub równe niż to określone w sim_threshold, usługa tworzy krotkę opisującą znalezione dopasowanie i dodaje ją do listy, która jest umieszczana na końcu zwracanego dokumentu w pliku wyjściowym.
Uwaga!
Przy oznaczaniu usługa nie bierze od uwagę wielkości liter.
Usługę można uruchomić za pomocą zapytania LPMN w usłudze LPMN Client:
Usługę można wywołać w systemie Windows z wartościami domyślnymi za pomocą następującego zapytania LPMN: ['easymatcher']
.
Usługa wymaga podania jako argument ścieżki do pliku z etykietami.
[['easymatcher']]
- dane wejściowe w postaci folderu skompresowanego (.zip)sim_threshold
- minimalna wartość akceptowanego podobieństwa cosinusowego, domyślnie: 0.65
n_workers
- liczba instancji workerów pracujących jednocześnie przy oznaczaniu tekstu, domyślnie: 1
documents_path
- ścieżka do pliku z dokumentamilabels_path
- ścieżka do pliku z etykietamiNależy załadować dwa pliki:
{
"labels": {
"Example label 1": ["example 1", "example 2"],
"Example label 2": ["example 3", "example 4"],
...
}
}
{"text": "Example text 1"}
{"text": "Example text 2"}
...
Plik tekstowy w formacie JSONL zawierający dokumenty oraz listę oznaczonych słów.
Przykład struktury pliku wyjściowego:
{"text": "Example text 1", "label": [(2, 6, "Example label 1"), (15, 23, "Example label 7")]}
{"text": "Example text 2", "label": [(7, 21, "Example label 33")]}
...
Easymatcher opiera się na podobieństwie cosinusowym pomiędzy poszczególnymi słowami, dlatego bardzo ważna jest ich poprawna pisownia w danych wejściowych.
Przykład:
Jeśli w słowniku znajduje się wyraz beton, a w dokumencie brtunu, to podobieństwo cosinusowe może być już za małe, żeby zaznaczyć ten w dokumencie jako beton. Nie dlatego, że wyraz występuje w formie odmienionej (M. beton - D. betonu), lecz dlatego, że słowo w dokumencie ma za dużo błędów w pisowni. Analogicznie - wraz z pogarszającym się stanem danych w słowniku pogarsza się możliwość poprawnego oznaczania danych w dokumencie.