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.
Usługa ta przekształca surową transkrypcję (zwykle z modelu Wav2vec
) do bardziej czytelnej formy.
Transkrypcje Wav2Vec
są bardzo proste, są to słowa bez interpunkcji, pisane małymi literami, z cyframi i liczbami zapisanymi jako słowa, skrótami zapisanymi dokładnie tak, jak zostały wypowiedziane itp. Ta usługa próbuje rozwiązać część z tych problemów.
Usługa może być przydatna w badaniach wymagających transkrypcji wywiadów lub nagrań.
Usługę można uruchomić:
Usługę można wywołać w systemie Windows z wartościami domyślnymi za pomocą następującego zapytania LPMN: ['']
[ "segmentator", [1, "decoder"], "completator", "denormalizator" ]
- dane wejściowe w postaci folderu skompresowanego (.zip). Pliki są przetwarzane w następującym potoku:
[1, "decoder"]
oznacza, że dla każdego podkatalogu danych wyjściowych segmentatora usługa 'decoder' jest wykonywana równolegle,number_processing_rule
- konwertuje liczby z postaci mówionej ("sto dwadzieścia trzy") na cyfry ("123"). Obsługuje ułamki dziesiętne.
roman_numerals_rule
, konwertuje liczby porządkowe na cyfry rzymskie w przypadkach, gdy wymaga tego język polski, takich jak rozdziały, królowie itp. Obsługiwane opcje konfiguracyjne:
enable_default_wordlist
(domyślnie true). Jeśli true, liczebniki porządkowe występujące bezpośrednio po lub bezpośrednio przed jednym z określonych słów zostaną zromanizowane. Lista słów obejmuje "rozdział", "wiek", "klasa" i inne słowa, które są powszechnie używane z cyframi rzymskimi.custom_wordlist
- jeśli jest obecna, powinna być listą wyrażeń regularnych, które również spowodują romanizację. Liczba porządkowa zostanie zromanizowana, jeśli poprzedzające lub następujące słowo pasuje do jednego z tych słów.ordinal_processing_rule
- konwertuje liczby porządkowe na cyfry (w sytuacjach, w których cyfry rzymskie nie są odpowiednie). Po cyfrach następuje kropka, jak to jest w zwyczaju w języku polskim. Obsługiwane opcje konfiguracyjne:
enable_default_exceptions
- jeśli true, Liczby, które często pojawiają się jako słowa same w sobie, nie będą przetwarzane. Zapobiega to wpływowi wyrażeń takich jak "pierwszy człowiek na księżycu".custom_exceptions_list
- opcjonalna lista wyrażeń regularnych. Jeśli przeanalizowana liczba porządkowa pasuje do jednego z nich, nie zostanie przetworzona.date_rule
- konwertuje daty takie jak 'pierwszego stycznia 2020' ('january first, twenty twenty') na ich formy numeryczne. Ta reguła obsługuje opcjonalny klucz konfiguracji, "replace_short_dates" (domyślnie false). Jeśli ustawiona na true, obsługiwane będą również daty zawierające tylko dzień i miesiąc, ale bez roku ("pierwszego stycznia").
abbreviation_expansion_rule
- zamienia wyrażenia, które w języku polskim są powszechnie zapisywane jako skróty, na same skróty, zastępując słowa takie jak "ulica" słowem "st.".
time_rule
, konwertuje czas mówiony ("piętnasta trzydzieści") na cyfry ("15:30"). Obsługuje polski format 24-godzinny.
regex_replacement_rule
. Domyślnie wyłączona. Akceptuje jedną wymaganą właściwość konfiguracyjną, replacements, która powinna być tablicą obiektów zawierających pola replacement
(string), regex
(string) i case_insensitive
(boolean). Każde wystąpienie każdego przekazanego wyrażenia regularnego w przetwarzanym tekście zostanie zastąpione jego zamiennikiem. Wyrażenia regularne powinny być określone za pomocą składni Pythona, zamienniki mogą zawierać sekwencje ucieczki specyficzne dla Pythona, aby wstawić grupy przechwytywania przechwycone przez ich odpowiednie wyrażenia regularne. Ta reguła może być używana, jeśli niektóre słowa specyficzne dla domeny w materiale audio są często błędnie zapisywane, aby automatycznie je poprawić.
punctuation_insertion_rule
, dodaje znaki interpunkcyjne do tekstu bez interpunkcji. Reguła obsługuje obecnie kropki, znaki zapytania, wykrzykniki, przecinki i myślniki. Model uczenia maszynowego jest używany do decydowania o tym, jakie znaki wstawić i gdzie je wstawić, co znacznie spowalnia przetwarzanie. Akceptowane są następujące opcje konfiguracji:
sentence_separator
, ciąg znaków - wstawiany po każdym znaku interpunkcyjnym kończącym zdanie. Jest to przydatne, gdy użytkownik chce dodać dodatkowe przetwarzanie do zwróconej transkrypcji (przy użyciu własnego oprogramowania) i musi podzielić tekst na zdania. Podział na znaki kończące zdanie nie jest wystarczający do tego celu, ponieważ istnieją inne reguły (zwłaszcza te dotyczące skrótów), które mogą wstawiać kropki.word_capitalization_rule
, kapitalizuje rzeczowniki własne, imiona, nazwiska i inne podobne słowa. Kapitalizacja słów pojawiających się na początku zdań jest wykonywana przez poprzednią regułę. Akceptowane są następujące opcje:
custom_words
(lista ciągów znaków) - niestandardowe słowa, które mają być pisane wielką literą. Słowa na tej liście powinny być uwzględnione z ich właściwą wielką literą; jeśli chcesz, aby pierwsza litera słowa była wielka, słowo na liście powinno mieć wielką pierwszą literę. Można stosować różne schematy wielkich liter, na przykład pisząc całe słowo wielkimi literami (przydatne w przypadku skrótów). Należy pamiętać, że jeśli na liście znajdzie się słowo pisane małymi literami, to nigdy nie będzie ono pisane wielką literą, nawet jeśli domyślna lista słów zakłada, że tak powinno być.default_wordlist
, jeden z "base"
, "extended"
lub false
(bez cudzysłowów), domyślnie extended
. Określa, która domyślna lista słów ma być pisana wielką literą. Jeśli false, tylko niestandardowe słowa są pisane wielką literą. Różnica między listą podstawową i rozszerzoną polega na sposobie obsługi słów wieloznacznych (słów, które mogą być pisane zarówno małymi, jak i wielkimi literami). Podstawowa lista słów nie zamienia słów wieloznacznych na wielkie litery, chyba że statystyki użycia wyraźnie pokazują, że słowo zwykle pojawia się wielkimi literamisi_unit_rule
, zamienia nazwy wszystkich podstawowych i pochodnych jednostek SI, z przedrostkami lub bez, na ich skrócone formy.
honorifics_rule
zamienia nazwy honorowe, takie jak "mr" lub "prof." na skróty. Obsługuje wiele honoryfikatorów pojawiających się w rzędzie. Prawidłowo wykrywa, czy honoryfikatory pojawiają się przed nazwiskiem i przekształca je tylko wtedy, gdy tak jest.
Jedyną regułą wymagającą podreguł jest punctuation_split_rule
. Dzieli przetworzony tekst przy każdym znaku interpunkcyjnym, przekazuje każdy fragment przez jego podreguły, a następnie łączy tekst z powrotem za pomocą tych samych znaków interpunkcyjnych. Większość reguł (z wyjątkiem reguły przetwarzania skrótów) działa lepiej na tych oddzielnych fragmentach.
Katalog z jednym podkatalogiem na segment, gdzie podkatalogi są nazwane "segment", zaczynając od 0. Każdy podkatalog musi zawierać dwa pliki, "timestamps.csv" wskazujący czas rozpoczęcia i zakończenia danego segmentu, a także ".csv" zawierający rzeczywistą transkrypcję, jak opisano w asr_decoder lub asr_wav2vec_decoder.
Przykładowa struktura powinna wyglądać:
Plik JSON, w którym kluczami są znaczniki czasu słów, a wartościami są same słowa. Plik zawiera również klucz "text", zawierający całą transkrypcję jako pojedynczy ciąg znaków.
(C) CLARIN-PL