BLEU: niezrozumiana metryka z innej epoki

Ale nadal jest używany dzisiaj w badaniach nad sztuczną inteligencją

Niebieska ściana – Obraz z Pixabay

GPT-3, Szept, Palma, NLLB, KREMi wiele innych modeli zostały ocenione za pomocą metrycznego BLEU, aby potwierdzić swoją wyższość w niektórych zadaniach.

Ale czym dokładnie jest BLEU? Jak to działa?

W tym artykule cofniemy się 20 lat temu, aby odsłonić główne powody, które doprowadziły do ​​powstania BLEU i sprawiły, że stał się on bardzo skutecznym wskaźnikiem. Przyjrzymy się działaniu BLEU na kilku przykładach. Podkreślę także główne ograniczenia metryki i podam rekomendacje, jak z niej korzystać.

Ten artykuł jest uważany za wprowadzenie do BLEU, ale może być także doskonałym przypomnieniem dla doświadczonych praktyków NLP/AI, którzy używają BLEU ze względu na nawyki, a nie potrzebę.

BLEU zostało po raz pierwszy opisane w raporcie badawczym IBM, którego współautorami są Kishore Papineni, Salim Roukos, Todd Ward i Wei-Jing Zhu w 2001 roku. artykuł naukowy opisujący to rok później na ACL 2002, który jest znacznie częściej cytowany i łatwiejszy do znalezienia.

BLEU został pierwotnie zaproponowany jako automatyczny miernik do oceny tłumaczenia maszynowego (MT).

W 2001 roku systemy tłumaczenia maszynowego były nadal oceniane głównie ręcznie lub przy użyciu starszych wskaźników automatycznych, takich jak WER (poziom błędu słowa). WER jest metryką zainspirowaną odległością Levenshteina i nadal jest używana do oceny systemów rozpoznawania mowy. Do oceny tłumaczenia maszynowego WER można postrzegać jako przodka BLEU. Autorzy BLEU wyrażają to w następujący sposób:

Opracowujemy naszą metrykę bliskości na podstawie bardzo skutecznej metryki współczynnika błędów słów używanej przez społeczność zajmującą się rozpoznawaniem mowy

Podobnie jak WER, BLEU jest metryką, która mierzy jak blisko tekstu są teksty referencyjne stworzone przez ludzinp. tłumaczenia referencyjne.

Ponieważ tłumaczenie jest zadaniem wymagającym wielu poprawnych rozwiązań, autorzy BLEU zaprojektowali swoją metrykę tak, aby mogła obsłużyć wiele tłumaczeń referencyjnych. Nie było to wówczas niczym nowym, ponieważ WER był już przekształcany w „mWER”, który miał także obsługiwać wiele odniesień. O ile wiem, został on po raz pierwszy zaproponowany przez Alshawi i in. (1998) z laboratoriów AT&T.

Należy zauważyć, że w całym artykule prezentującym BLEU autorzy zawsze zakładają użycie wielokrotnych tłumaczeń referencyjnych dla swojej metryki. Pokrótce omawiają zastosowanie tłumaczenia z pojedynczym odniesieniem, aby było poprawne tylko w pewnych okolicznościach:

możemy użyć dużego korpusu testowego z jednym tłumaczeniem referencyjnym, pod warunkiem, że nie wszystkie tłumaczenia pochodzą od tego samego tłumacza.

Dla kontrastu, obecnie większość artykułów naukowych używa BLEU z a pojedyncze odniesienie, często od nieznane pochodzenie, A na różne zadania, czyli nie tylko tłumaczenie.

Od 2001 roku BLEU jest co najmniej bardzo udanym wskaźnikiem. Było to częściowo spowodowane jego tani koszt obliczeniowy oraz powtarzalność wyników BLEU, w przeciwieństwie do ewaluacji prowadzonej przez ludzi, której wyniki mogą się bardzo różnić w zależności od ewaluatorów i ram ewaluacji.

BLEU jest teraz używany w prawie 100% artykułów naukowych dotyczących tłumaczeń maszynowych i w dużej mierze rozprzestrzenił się na inne zadania związane z generowaniem języka naturalnego.

Dokładniej, BLEU ocenia jakość n-gramów tłumaczenia dopasowanie n-gramów z zestawu tłumaczeń referencyjnych, podczas gdy karanie tłumaczenia maszynowego, jeżeli jest ono krótsze lub dłuższe niż tłumaczenia referencyjne.

Niektóre definicje:

An n-gram jest sekwencją tokenów. Zdefiniujmy tu także, że a żeton to ciąg znaków arbitralnie oddzielony spacjami. Na przykład zdanie „token to nie słowo”. będzie często tokenizowane jako „token to nie słowo”. Więcej na temat niezwykle ważnej roli tokenizacji omówimy w dalszej części artykułu.

Aby zobaczyć BLEU w akcji, pożyczyłem z gazety BLEU przykład zdania w języku chińskim (nie dostarczone przez autorów) przetłumaczonego na angielski. Mamy następujące 2 tłumaczenia wygenerowane przez tłumaczenie maszynowe:

Zdjęcie autora

Oraz następujące 3 tłumaczenia referencyjne dostarczone przez ludzi:

Zdjęcie autora

Pytanie, na które chcemy odpowiedzieć za pomocą BLEU, brzmi:

Które tłumaczenie jest najbliższe podanym tłumaczeniom referencyjnym?

Podkreśliłem wszystkie n-gramy objęte tłumaczeniami referencyjnymi w obu tłumaczeniach kandydujących.

Zdjęcie autora

Kandydat 1 obejmuje znacznie więcej n-gramów z tłumaczeń referencyjnych, a ponieważ jego długość (liczba tokenów) również w miarę odpowiada długości tłumaczeń referencyjnych, otrzyma wyższy wynik BLEU niż Kandydat 2. Tutaj BLEU jest poprawne, ponieważ Kandydat 1 jest rzeczywiście lepszy niż Kandydat 2.

Na tym przykładzie widzimy pewne oczywiste ograniczenia BLEU. Znaczenie ocenianego tłumaczenia nie jest brane pod uwagę. BLEU wyszukiwało jedynie dokładne dopasowania z tokenami tłumaczeń referencyjnych.

Na przykład, "zapewnić” w Kandydacie 2 nie występuje w tłumaczeniach referencyjnych, ale „zapewnia" Jest. Od "zapewnić” to nie dokładnie to samo, co „zapewnia”, BLEU nie nagradza tego, mimo że ma bliskie znaczenie.

Może być jeszcze gorzej, jeśli uważnie przyjrzymy się znakom interpunkcyjnym. Na przykład Kandydat 2 kończy się „.”, ale okres ten jest przypisany do „natychmiast.”, aby utworzyć pojedynczy token. „natychmiast.” nie jest oznaką tłumaczeń referencyjnych. Kandydat 2 nie jest nagradzany za prawidłowe przestrzeganie tego okresu.

Z tego powodu BLEU jest zwykle obliczany w przypadku tłumaczeń, które są tokenizowane w celu podzielenia tokenów zawierających znaki interpunkcyjne. Omówimy to szerzej w następnej sekcji.

Aby było to proste, nie będę omawiał równań stojących za BLEU. Jeśli jesteś zainteresowany samodzielnym obliczeniem BLEU, zapraszam do przeczytania artykułu BLEU, w którym wszystkie równania są dobrze umotywowane i wyjaśnione.

Widzieliśmy, że BLEU jest bardzo rygorystyczne, ponieważ token powinien być identyczny z tokenem w tłumaczeniach referencyjnych, aby liczyć się jako dopasowanie. W tym miejscu tokenizacja odgrywa bardzo ważne ale często źle rozumiany Rola.

Tokenizacja daje trochę elastyczność do BLEU.

Na przykład spójrzmy jeszcze raz na Kandydata 2:

Ma to na celu zapewnienie, że żołnierze na zawsze usłyszą przewodnik po działaniach, który kieruje ta partia.

Ale tym razem zastosujemy proste zasady tokenizacji, aby oddzielić znaki interpunkcyjne od słów. Otrzymujemy:

Ma to na celu zapewnienie, że żołnierze na zawsze usłyszą przewodnik po działaniach, który kieruje partia.

Zwróć uwagę, że „.” zostało oddzielone od „kierować” spacją. To jest jedyna różnica. Kandydat 2 dopasowuje teraz o jeden więcej żeton z tłumaczeń referencyjnych. Ten znak to „.”. Nie wydaje się to istotne, bo to tylko jeden token, ale zdarza się bardzo często. Ta tokenizacja będzie miała wpływ na prawie wszystkie zdania, a tym samym doprowadzi do znacznie lepszych wyników BLEU.

Istnieje nieskończona ilość możliwych tokenizacji. Na przykład poniższe zdania w języku francuskim są tłumaczeniami z języka angielskiego, do których zastosowałem 5 różnych tokenizatorów. Uwaga: użyłem Mojżesz (open source, licencja LGPL) i SacreBLEU (open source, licencja Apache 2.0).

Zdjęcie autora

Są to te same zdania, ale ponieważ mają różną tokenizację, będą pasować do różnych tokenów z tłumaczeń referencyjnych. Wszystkie te tokenizacje dadzą różne wyniki BLEU, podczas gdy tłumaczenia pozostaną takie same.

Z tego powodu nie można porównywać dwóch wyników BLEU obliczonych dla tłumaczeń, dla których tokenizacja jest inna lub nieznana.

To jest często przoczane w dzisiejszych publikacjach naukowych.

Możesz zobaczyć tokenizację jako parametr BLEU. Jeśli zmienisz parametry, zmienisz metrykę. Nie można porównywać wyników uzyskanych z dwóch różnych wskaźników.

Kiedy w 2001 r. zaproponowano BLEU, jakość tłumaczeń maszynowych była zupełnie inna.

Aby dać wyobrażenie o tej różnicy, próbowałem odtworzyć system tłumaczenia maszynowego z francuskiego na angielski z pierwszej dekady XXI wieku. W tym celu przeszkoliłem system statystycznego tłumaczenia maszynowego wykorzystujący słowa. Zrobiłem to z Mojżesz. Oznaczę ten system jako „statystyczny MT (2001)”.

Następnie wytrenowałem neuronowy system tłumaczenia maszynowego, korzystając z podstawowego modelu Transformera. Zrobiłem to z Marian (open source, licencja MIT). Będę oznaczył ten układ jako „neural MT (2022)”.

Generowane przez nie tłumaczenia są następujące. Uwaga: podkreśliłem n-gramy pasujące do tłumaczenia referencyjnego.

Zdjęcie autora

Zgodnie z oczekiwaniami, tłumaczenie wygenerowane przez statystyczne MT nie ma większego sensu, szczególnie pod koniec zdania. Obejmuje mniej n-gramów z tłumaczenia referencyjnego niż neuronowy MT. Z drugiej strony tłumaczenie wygenerowane przez neuronowy MT wygląda idealnie (bez kontekstu), ale nie jest dokładnie takie samo jak tłumaczenie referencyjne, więc zostanie ukarane przez BLEU.

W 2001 r. systemy tłumaczenia maszynowego generowały tłumaczenia, które często były bezsensowne i zawierały oczywiste błędy składniowe. Zostali słusznie ukarani za niedopasowanie poszczególnych tłumaczeń referencyjnych. Obecnie neuronowe tłumaczenie maszynowe często generuje bardzo płynne tłumaczenia, szczególnie w przypadku „łatwych” par językowych, takich jak francuski-angielski. Często znajdą właściwe tłumaczenie, ale ponieważ istnieje wiele możliwych poprawnych tłumaczeń, znalezienie dokładnego tłumaczenia użytego jako odniesienie może nastąpić tylko przez przypadek.

W tym miejscu osiągnęliśmy granice BLEU, które nagradzają tylko dokładne dopasowania, nawet jeśli tłumaczenie jest poprawne.

Firma BLEU od wielu lat kieruje postępem w badaniach nad tłumaczeniami maszynowymi. Na NAACL 2018 autorzy BLEU otrzymali nagrodę próby czasu.

BLEU jest nadal używany w wielu obszarach sztucznej inteligencji, ale tylko ze względu na nawyki. Obecnie jego wyniki są znacznie lepsze od wielu innych wskaźników oceny zadań związanych z generowaniem języka naturalnego, w tym tłumaczenia maszynowego, takich jak chrF, BLUERTlub KOMETA.

Niemniej jednak BLEU pozostaje a bardzo dobre narzędzie do celów diagnostycznych.

Ponieważ BLEU ma dobrze znane zachowanie, tj. wiemy, jakiego poziomu BLEU się spodziewać w przypadku poszczególnych zadań tłumaczeniowych, można go wykorzystać do szybkiego wykrywania błędów i innych problemów w procesie uczenia systemu tłumaczenia maszynowego lub w jego przetwarzaniu danych.

W każdym razie BLU nie należy używać w krótkich tekstach. W praktyce specjaliści zajmujący się tłumaczeniem maszynowym zawsze uruchamiają BLEU w przypadku tekstów zawierających więcej niż 1,000 zdań. BLEU ma na celu ocenę tłumaczenia dokumentów. Nie należy go używać do oceny tłumaczenia zdań.

Jeśli chodzi o wdrożenia BLEU, wiele z nich jest publicznie dostępnych. Hugging Face ma własną implementację w formacie Oceń bibliotekę. NLTK wdraża również BLEU. Istnieje również multi-bleu.perl skrypt w projekcie Moses. Należy pamiętać, że wszystkie te implementacje BLEU są różne i nie dadzą porównywalnych wyników. Moją osobistą rekomendacją jest użycie oryginalnej implementacji SacreBLEU ponieważ narzędzie to miało gwarantować odtwarzalność i porównywalność wyników BLEU.

A jeśli planujesz wykorzystać BLEU w swojej następnej pracy, nie zapomnij o konieczności przetestowania istotności statystycznej swoich wyników.

Najlepszym sposobem na wsparcie mojej pracy jest zostanie członkiem Medium za pomocą mojego linku:

Jeśli jesteś już członkiem i chcesz wesprzeć tę pracę, po prostu śledź mnie na Medium.

BLEU: Niezrozumiany wskaźnik z innej epoki opublikowany ponownie ze źródła https://towardsdatascience.com/bleu-a-misunderstood-metric-from-another-age-d434e18f1b37?source=rss—-7f60cf5620c9—4 za pośrednictwem https://towardsdatascience. com/feed

<!–

->

Znak czasu:

Więcej z Konsultanci Blockchain