Język LPMN (ang. Language Processing Modelling Notation) jest opisem potoku przetwarzania tekstu za pomocą narzędzi językowych, który definiuje ich kolejność i parametry. Składa się z nazw narzędzi z ewentualnymi parametrami i jest zapisywany w tekstowej notacji JSON. Spis narzędzi jest dostępny na stronie.
Potok przetwarzania zapisywany jest w postaci tablicy JSON czyli listy wartości:
["narzędzie1","narzędzie2","narzędzie3"]
Oznacza to, że tekst zostaje przetworzony najpierw przez narzędzie1, następnie narzędzie2, a na końcu narzędzie3.
Część narzędzi umożliwia dodanie dodatkowych parametrów przetwarzania. Aby to zrobić, należy użyć zapisu w postaci obiektu JSON składającego się z nazwy narzędzia jako klucza i wartości jako obiektu JSON z parametrami dla narzędzia. Na przykład:
{"narzędzie":{"opcja1":"wartość","opcja2":"wartość"}}
Zapis narzędzi w postaci samej nazwy czy obiektu można łączyć w jednym potoku:
["any2txt","morphodita",{"liner2":{"model":"n82"}}]
Uwaga!
Zgodnie z notacją JSON nazwy narzędzi i parametrów należy zapisać w podwójnym cudzysłowie.
Jeśli parametry narzędzia przyjmują wartości logiczne true/false, należy zapisać je małą literą i bez cudzysłowu.
Jeśli parametry przyjmują wartości liczbowe, należy zapisać je bez cudzysłowu.
Możliwe jest jednoczesne przetwarzanie zbioru dokumentów (folderu). W tym celu na wejściu potoku należy podać folder lub jego spakowaną wersję (plik zip). W notacji LPMN taki proces oznacza się dodatkowym poziomem nawiasów kwadratowych. Na przykład potok:
[["any2txt","postagger"]]
z podanym plikiem zip na wejściu spowoduje przetworzenie każdego z plików ze zbioru wejściowego potokiem "any2txt","postagger"
i zapisanie wyniku w jednym katalogu.
Niektóre narzędzia np. TermoPL wymagają danych wejściowych w formie folderu zawierającego pliki .xml w formacie CCL, dlatego narzędzia poprzedzające TermoPL powinny zostać ujęte w zapytaniu LPMN we wspólny nawias kwadratowy, na przykład:
[["any2txt","morphodita"],"termopl"]
Możliwym jest przekazanie pliku z przestrzeni użytkownika do narzędzia jako parametr (o wartości ściżki do owego pliku). Robi się to za pomocą prefiksu @clarin://
.
Jeżeli jakiś parameter typu string będzie miał wartość rozpoczynającą się powyższym prefiksem to wartość po prefiksie zostanie potraktowana jako ścieżka do pliku w przestrzeni użytkownika. Plik ten zostanie przesłany do przestrzeni wewnętrznej narzędzi i jego ścieżka (w przestrzeni wewnętrznej) zostanie wpisana jako nowa wartość tego parametru. Przykład:
{"narzędzie":{"opcja1":"wartość","opcja2":"@clarin://plik.txt"}}
W powyższym przykładzie narzędzie dostanie na wejscie w parametrze "opcja2" ścieżkę z zawartością pliku "plik.txt".