Tłumaczenie maszynowe w NLP: przykłady, przepływ i modele
Opublikowany: 2021-01-21Spis treści
Wstęp
Na świecie istnieje ponad 6500 uznanych języków. Odczuwa się potrzebę czasu na zrozumienie pisanego źródła w różnych kulturach. W tej próbie wiele starych książek zostało przetłumaczonych na języki lokalne i zachowanych do wglądu.
Mówi się, że sanskryt, starożytny język dziedzictwa hinduskiego, zawiera cenne informacje o starożytności. To dlatego, że bardzo niewielu zna język sanskrycki. Wyszukiwanie informacji z pism świętych i rękopisów prawdopodobnie będzie zależeć od jakiegoś mechanizmu.
Wielokrotnie chcemy, aby komputery rozumiały język naturalny. Dobrą rzeczą w komputerach jest to, że potrafią obliczać szybciej niż my, ludzie. Jednak wyzwanie, jakim jest nauka języka naturalnego, jest bardzo trudne do odtworzenia na modelu obliczeniowym.
Tłumaczenie maszynowe
Termin „tłumaczenie maszynowe” (MT) odnosi się do skomputeryzowanych systemów odpowiedzialnych za wykonywanie tłumaczeń z pomocą lub bez pomocy człowieka. Wyklucza ona komputerowe narzędzia tłumaczeniowe, które wspierają tłumaczy, zapewniając dostęp do słowników online, zdalnych baz terminologicznych, transmisji i odbioru tekstów itp.
Przed erą technologii AI opracowano programy komputerowe do automatycznego tłumaczenia tekstu z jednego języka na inny. W ostatnich latach sztucznej inteligencji powierzono zadanie automatycznego lub maszynowego tłumaczenia płynności ludzkich języków i wszechstronności skryptów, dialektów i odmian. Tłumaczenie maszynowe stanowi wyzwanie, biorąc pod uwagę nieodłączną niejednoznaczność i elastyczność ludzkiego języka.
Co to jest NLP?
Przetwarzanie języka naturalnego (NLP) jest jedną z gałęzi rozpowszechniania technologii sztucznej inteligencji (AI). Dyscyplina ta zajmuje się tworzeniem modeli obliczeniowych przetwarzających i rozumiejących język naturalny. Modele NKP zasadniczo sprawiają, że komputer rozumie semantyczne grupowanie obiektów (np. słowa „kot i pies” są semantycznie bardzo podobne do słów „kot i nietoperz”), tekstu na mowę, tłumaczenia języka i tak dalej.

Przetwarzanie języka naturalnego (NLP) sprawia, że system komputerowy używa, interpretuje i rozumie ludzkie języki i mowę werbalną, taką jak angielski, niemiecki lub inny „język naturalny”. Obecnie w praktyce obserwuje się szereg zastosowań NLP.
Zazwyczaj są one pogrupowane w odpowiednich przypadkach użycia, takich jak rozpoznawanie mowy, systemy dialogowe, wyszukiwanie informacji, odpowiadanie na pytania i tłumaczenie maszynowe, które zaczęły zmieniać sposób, w jaki ludzie identyfikują, pobierają i wykorzystują zasoby informacji.
Przykłady NLP
- Systemy rozpoznawania głosu/mowy lub systemy zapytań, takie jak Siri, pracują nad pytaniem i zwracają odpowiedź. Tutaj przekazujesz głos do komputera, a on rozumie Twoją wiadomość.
- Programy komputerowe czytające sprawozdania finansowe w prostym języku angielskim i generujące liczby (np. stopę inflacji).
- Portal pracy pobierający dane kandydata i automatycznie konstruujący CV i aplikację do pracy, dopasowując ją do umiejętności.
- Tłumacz Google przetwarza tekst w ciągu wejściowym i mapuje go na język, aby przetłumaczyć go w locie.
- Wyszukiwarki podobne do Google zwracają Twoje dokumenty po wpisaniu słowa z tematu w polu wyszukiwania. Na przykład, gdy wyszukujesz Tajmahal, Google daje Ci dokumenty zawierające Tajmahal jako artefakt, a nawet markę „Tajmahal”. Tutaj brane są pod uwagę angielskie synonimy i angielskie wzory liczby mnogiej.
Przepływ NLP
Przetwarzanie języka naturalnego jest rodzajem sztucznej inteligencji. Jeśli chcesz zbudować program NLP, możesz zacząć pisać reguły, takie jak „ignoruj s na końcu słowa”. Jest to oldschoolowy sposób robienia rzeczy i nazywa się to podejściem „opartym na regułach”.
Jednak bardziej zaawansowane techniki wykorzystują uczenie statystyczne, w którym programujesz komputer do uczenia się wzorców w języku angielskim. Jeśli to zrobisz, możesz nawet napisać swój program tylko raz i nauczyć go pracy w wielu ludzkich językach.
Celem NLP jest uczynienie języków ludzi zrozumiałymi, tak aby zaprogramowany mechanizm mógł interpretować i rozumieć rękopisy. Tutaj zaprogramowany mechanizm nazywamy maszyną, a rękopis jest skryptem językowym podawanym do programu. Skomputeryzowany program wyodrębnia zatem dane językowe w postaci wiedzy cyfrowej.
Maszyna, zamiast statystycznych modeli uczenia się, przekształca następnie atrybuty języka w oparte na regułach podejście statystyczne, mające na celu rozwiązanie określonych problemów i wykonanie zadania przetwarzania języka.
W wielu starszych systemach, zwłaszcza typu „translacji bezpośredniej”, elementy analizy, transferu i syntezy nie zawsze były wyraźnie rozdzielone. Niektóre z nich również mieszały dane (słownik i gramatykę) oraz reguły i procedury przetwarzania.
Nowe systemy wykazywały różne stopnie modułowości, dzięki czemu komponenty systemu, dane i programy można dostosowywać i zmieniać bez szkody dla ogólnej wydajności systemu. Kolejnym etapem w niektórych najnowszych systemach jest odwracalność składników analizy i syntezy, tj. dane i przekształcenia wykorzystywane w analizie konkretnego języka są stosowane w odwrotnej kolejności podczas generowania tekstów w tym języku. Dowiedz się więcej o zastosowaniach przetwarzania języka naturalnego.
Ewolucja tłumaczenia maszynowego
Do późnych lat 80. w tej fazie prowadzono znaczne badania nad tłumaczeniem maszynowym, kiedy to opracowano pierwsze systemy statystycznego tłumaczenia maszynowego (SMT).
Klasycznie do tego zadania zastosowano systemy regułowe, zastąpione później w latach 90. metodami statystycznymi. Całkiem niedawno pojawiły się modele głębokich sieci neuronowych, aby osiągnąć najnowocześniejsze wyniki w dziedzinie, którą słusznie nazywa się neuronową translacją maszynową.
Statystyczne tłumaczenie maszynowe zastąpiło klasyczne systemy oparte na regułach modelami, które uczą się tłumaczyć na przykładach.
Modele neuronowej translacji maszynowej pasują do jednego modelu zamiast wyrafinowanego potoku i obecnie osiągają najnowocześniejsze wyniki. Od początku 2010 roku w tej dziedzinie w dużej mierze porzucono metody statystyczne, a następnie przeszło na sieci neuronowe do uczenia maszynowego.
Kilka znaczących wczesnych sukcesów metod statystycznych w NLP pojawiło się w tłumaczeniu maszynowym, przeznaczonym do pracy w IBM Research. Systemy te były w stanie wykorzystać istniejące wielojęzyczne organy tekstowe opracowane przez parlament Kanady i UE w wyniku przepisów wymagających tłumaczenia wszystkich postępowań rządowych na różne języki urzędowe odpowiednich systemów rządowych.
Jednak wiele innych systemów było zależnych od korpusów, które zostały opracowane specjalnie do zadań realizowanych przez te systemy, co było i nadal stanowi poważne ograniczenie w rozwoju systemów. W związku z tym pojawiła się potrzeba wielu badań nad metodami efektywnego uczenia się na podstawie ograniczonych danych.

Na przykład termin Neural Machine Translation (NMT) podkreśla, że podejścia oparte na głębokim uczeniu się do tłumaczenia maszynowego bezpośrednio uczą się transformacji sekwencja-do-sekwencji, eliminując potrzebę wykonywania kroków pośrednich, takich jak wyrównanie słów i modelowanie języka, które były używane w statystycznym tłumaczeniu maszynowym (SMT). Google zaczął wykorzystywać taki model w produkcji dla Tłumacza Google pod koniec 2016 roku.
Sekwencja do modelu sekwencji
Zwykle model sekwencja-do-sekwencji składa się z dwóch części; po pierwsze, koder , a po drugie, dekoder. Są to dwa różne modele sieci neuronowych działające ramię w ramię jako jedna duża sieć.
Część dekodera modelu generuje następnie zmapowaną sekwencję na wyjściu. Dekoder szyfruje ciąg i dodaje znaczenie sekwencji w reprezentacji. Podejście koder-dekoder, w przypadku neuronowego tłumaczenia maszynowego, koduje cały ciąg wejściowy zdania w wektor o skończonej długości, z którego translacja jest dekodowana.
Ogólnie rzecz biorąc, funkcja sieci kodera polega na odczytywaniu i analizowaniu sekwencji wejściowej w celu nadania znaczenia, a następnie wygenerowaniu małowymiarowej reprezentacji ciągu wejściowego. Model następnie przekazuje tę reprezentację do sieci dekodera.
Encoder – Decoder LSTM to cykliczna sieć neuronowa zaprojektowana do rozwiązywania problemów między sekwencją, czasami nazywana seq2seq. Pamięć długo-krótkotrwała (LSTM) to architektura sztucznej rekurencyjnej sieci neuronowej (RNN) wykorzystywana w głębokim uczeniu.
Na przykład, jeśli ciąg w sekwencji wejściowej to „Co to za miejsce”, to po przeanalizowaniu tej sekwencji wejściowej przez sieć kodera-dekodera syntetyzuje ciąg za pomocą bloków LSTM (rodzaj architektury RNN). generuje słowa w sekwencji na każdym etapie iteracji dekodera.
Po całkowitej pętli iteracji tworzona jest sekwencja wyjściowa, powiedz na przykład „To miejsce jest Pune”. Sieć LSTM jest przystosowana do klasyfikowania na podstawie reguł, analizowania w celu przetwarzania danych wejściowych i dokonywania prognoz przy użyciu wyszkolonych przykładów danych.
Uwaga Model
Model „Uwaga”, który znacznie poprawił jakość systemów tłumaczenia maszynowego. Uwaga pozwala modelowi skoncentrować się w razie potrzeby na odpowiednich częściach sekwencji wejściowej.
Model uwagi różni się od klasycznego modelu sekwencja-do-sekwencji na dwa główne sposoby:
- Koder przekazuje do dekodera dużo więcej danych. Zamiast przekazywać ostatni stan ukryty etapu kodowania, koder przekazuje wszystkie stany ukryte do dekodera.
- Dekoder uwagi wykonuje dodatkowy krok przed wytworzeniem swojego wyjścia.
Model transformatora
Obliczenia sekwencyjne nie mogą być zrównoleglone, ponieważ musimy poczekać na zakończenie poprzedniego kroku, zanim przejdziemy do następnego. Wydłuża to zarówno czas uczenia, jak i czas potrzebny do przeprowadzenia wnioskowania. Jednym ze sposobów obejścia dylematu sekwencyjnego jest użycie splotowych sieci neuronowych (CNN) zamiast RNN. Transformator to model, który zwraca uwagę na zwiększenie prędkości. Mówiąc dokładniej, wykorzystuje samouważność. Tutaj każdy koder składa się z dwóch warstw:

- Samouważność
- Sieć neuronowa feed-forward
Transformatory wykorzystują splotowe sieci neuronowe wraz z modelami uwagi do tłumaczenia maszynowego. Transformatory to rodzaj architektury sieci neuronowej, która zyskuje na popularności. Transformatory były ostatnio używane przez OpenAI w swoich modelach językowych i ostatnio używane przez DeepMind dla AlphaStar, ich programu do pokonania czołowego profesjonalnego gracza Starcraft. Transformatory przewyższają model Google Neural Machine Translation w określonych zadaniach.
Wniosek
Krótko mówiąc, mechanizm samouważności w systemie pozwala na interakcję między danymi wejściowymi („ja”) i pozwala im decydować, komu należy zwrócić większą uwagę („uwaga”). Przetworzone wyniki są zatem agregatami tych interakcji i ważone punktami uwagi.
Fundamentalne zrozumienie MT w NLP pomaga analitykom danych i analitykom danych przygotować się do podjęcia prestiżowych projektów obejmujących projekty z dyscypliny NLP – AI. Kursy szkoleniowe w tej dziedzinie, prowadzone przez takich dostawców jak upGrad , pomagają ruszyć w przyszłość. Marka upGrad to internetowa platforma szkolnictwa wyższego oferująca szeroką gamę programów branżowych gotowych do odniesienia sukcesu zawodowego.
Jeśli chcesz dowiedzieć się więcej o uczeniu maszynowym i sztucznej inteligencji, sprawdź dyplom PG IIIT-B i upGrad w uczeniu maszynowym i sztucznej inteligencji, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 450 godzin rygorystycznych szkoleń, ponad 30 studiów przypadków i zadań, Status absolwentów IIIT-B, ponad 5 praktycznych praktycznych projektów zwieńczenia i pomoc w pracy z najlepszymi firmami.
Ucz się kursu ML z najlepszych światowych uniwersytetów. Zdobywaj programy Masters, Executive PGP lub Advanced Certificate Programy, aby przyspieszyć swoją karierę.
Q1. Jakie są rodzaje tłumaczenia maszynowego w NLP?
Tłumaczenie maszynowe, znane również jako tłumaczenie zrobotyzowane, to proces, w którym komputery lub maszyny niezależnie i szybko tłumaczą ogromne ilości tekstu z określonego języka źródłowego na język docelowy bez żadnego wysiłku ze strony ludzi. Innymi słowy, tłumaczenie maszynowe działa dzięki zastosowaniu aplikacji, która pomaga tłumaczyć tekst z jednego języka wejściowego na inny. W NLP istnieją cztery różne typy tłumaczenia maszynowego: statystyczne tłumaczenie maszynowe, tłumaczenie maszynowe oparte na regułach, hybrydowe tłumaczenie maszynowe i neuronowe tłumaczenie maszynowe. Główną zaletą tłumaczenia maszynowego jest efektywne połączenie szybkości i opłacalności.
Q2. Czy NLP to to samo co AI?
Jak twierdzą niektórzy eksperci, sztuczna inteligencja jest w zasadzie skomputeryzowaną replikacją ludzkiej inteligencji, którą można ustawić tak, aby podejmowała decyzje, wykonywała określone operacje i wyciągała wnioski z wyników. A kiedy skupisz się na sztucznej inteligencji na ludzkim językoznawstwie, uzyskasz NLP. Tak więc NLP jest poddziedziną sztucznej inteligencji, która umożliwia ludziom rozmawianie z maszynami. Ponownie, NLP to podzbiór sztucznej inteligencji, który umożliwia komputerom zrozumienie, interpretację i przetwarzanie ludzkiego języka oraz wykonywanie określonych zadań. Z pomocą NLP komputery mogą wykrywać frazy i słowa kluczowe, wyczuwać intencje językowe i dokładnie je tłumaczyć, aby wygenerować odpowiednią odpowiedź.
Q3. Czy NLP to dobra dziedzina kariery?
W ostatnich czasach NLP ewoluowało jako rewolucyjna technologia w dziedzinie nauki o danych i sztucznej inteligencji. Wzrost wykorzystania inteligentnych urządzeń, przyjęcie rozwiązań chmurowych oraz rozwój aplikacji NLP w celu poprawy obsługi klienta to główne czynniki, które przyczyniły się do gwałtownego rozwoju rynku NLP. Badania sugerują, że NLP jest jedną z siedmiu najbardziej poszukiwanych umiejętności technicznych w 2021 r., a jego wielkość rynku ma przekroczyć 34 miliardy dolarów przy CAGR wynoszącym prawie 22 procent. Średnia pensja specjalistów NLP w Stanach Zjednoczonych wynosi od 80 000 do 110 000 USD rocznie.