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.
Easymatcher przeszukuje każdy dokument z osobna w poszukiwaniu słów/fraz znajdujących się w wartościach słownika etykiet. Dopasowanie jest liczone na podstawie podobieństwa cosinusowego, którego minimalna wartość jest ustalana przez użytkownika. Po natrafieniu na słowo/frazę mające dopasowanie wyższe lub równe niż ustalane, 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. Krotki występują w następującej postaci:
(indeks_poczatkowy_slowa, indeks_koncowy_slowa, klucz_ze_slownika_etykiet)
.
Uwaga!
Przy oznaczaniu usługa nie bierze od uwagę wielkości liter.
Usługę można uruchomić:
Usługa wymaga załadowania dwóch plików: pierwszego z etykietami, które mają zostać znalezione i drugiego z tekstem, który ma zostać przeszukany.
lpmn_client_biz ['any2txt'] labels2.json -it file -v -ot file_id
Wynikiem przetwarzania będzie ścieżka na serwerze do załadowanego pliku. Raz załadowany plik zostanie zachowany w przestrzeni użytkownika i nie będzie wymagał ponownego ładowania.
lpmn_client_biz [{'easymatcher': {'labels_path': '@clarin://results/lpmn_client/*'}}] zwierzeta.txt -it file -v
Użycie @clarin://
spowoduje wyszukanie pliku w przestrzeni użytkownika.
Usługę można wywołać w systemie Windows z wartościami domyślnymi za pomocą następującego zapytania LPMN: ['easymatcher']
.
[['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:
text
- przeszukiwany tekstlabel
- indeks początkowy znalezionego słowa, indeks końcowy, etykietę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.
(C) CLARIN-PL