Co to jest przetwarzanie języka naturalnego i jak to działa?
Opublikowany: 2022-01-29Przetwarzanie języka naturalnego umożliwia komputerom przetwarzanie tego, co mówimy, w polecenia, które mogą wykonać. Dowiedz się, jak to działa i jak jest wykorzystywane do poprawy naszego życia.
Co to jest przetwarzanie języka naturalnego?
Niezależnie od tego, czy jest to Alexa, Siri, Asystent Google, Bixby czy Cortana, każdy posiadacz smartfona lub inteligentnego głośnika ma obecnie aktywowanego głosem asystenta. Każdego roku ci asystenci głosowi wydają się coraz lepsi w rozpoznawaniu i wykonywaniu rzeczy, które im każemy. Ale czy kiedykolwiek zastanawiałeś się, jak ci asystenci przetwarzają rzeczy, o których mówimy? Udaje im się to zrobić dzięki przetwarzaniu języka naturalnego, czyli NLP.
Historycznie większość oprogramowania była w stanie odpowiedzieć tylko na ustalony zestaw określonych poleceń. Plik zostanie otwarty po kliknięciu przycisku Otwórz lub arkusz kalkulacyjny obliczy formułę na podstawie określonych symboli i nazw formuł. Program komunikuje się za pomocą języka programowania, w którym został zakodowany, a zatem wygeneruje dane wyjściowe, gdy otrzyma dane wejściowe, które rozpozna. W tym kontekście słowa są jak zestaw różnych mechanicznych dźwigni, które zawsze zapewniają pożądany efekt.
Jest to w przeciwieństwie do ludzkich języków, które są złożone, nieustrukturyzowane i mają wiele znaczeń opartych na strukturze zdania, tonie, akcencie, czasie, interpunkcji i kontekście. Przetwarzanie języka naturalnego to gałąź sztucznej inteligencji, która próbuje wypełnić lukę między tym, co maszyna rozpoznaje jako dane wejściowe, a ludzkim językiem. Dzieje się tak, że kiedy mówimy lub piszemy naturalnie, maszyna generuje dane wyjściowe zgodne z tym, co powiedzieliśmy.
Odbywa się to poprzez zebranie ogromnej ilości punktów danych, aby wyprowadzić znaczenie z różnych elementów ludzkiego języka, oprócz znaczeń rzeczywistych słów. Proces ten jest ściśle powiązany z koncepcją znaną jako uczenie maszynowe, która umożliwia komputerom uczenie się więcej, gdy uzyskują więcej punktów danych. To jest powód, dla którego większość maszyn przetwarzających język naturalny, z którymi często wchodzimy w interakcję, wydaje się z czasem poprawiać się.
Aby lepiej naświetlić tę koncepcję, przyjrzyjmy się dwóm najbardziej zaawansowanym technikom używanym w NLP do przetwarzania języka i informacji.
POWIĄZANE: Problem ze sztuczną inteligencją: maszyny uczą się rzeczy, ale nie mogą ich zrozumieć
Tokenizacja
Tokenizacja oznacza dzielenie mowy na słowa lub zdania. Każdy fragment tekstu jest tokenem, a te tokeny pojawiają się podczas przetwarzania mowy. Brzmi prosto, ale w praktyce jest to skomplikowany proces.
Załóżmy, że używasz oprogramowania do zamiany tekstu na mowę, takiego jak Klawiatura Google, do wysłania wiadomości do znajomego. Chcesz wysłać wiadomość: „Spotkajmy się w parku”. Gdy telefon pobierze to nagranie i przetworzy je za pomocą algorytmu zamiany tekstu na mowę Google, Google musi następnie podzielić to, co właśnie powiedziałeś, na tokeny. Te żetony to „spotkać”, „ja”, „w”, „w” i „park”.
Ludzie mają różną długość przerw między słowami, a inne języki mogą nie mieć bardzo mało słyszalnych przerw między słowami. Proces tokenizacji różni się drastycznie w zależności od języka i dialektu.
Pochodzenie i lemmatyzacja
Zarówno rdzeniowanie, jak i lematyzacja obejmują proces usuwania dodatków lub odmian słowa głównego, które maszyna może rozpoznać. Ma to na celu zapewnienie spójności interpretacji mowy dla różnych słów, które oznaczają zasadniczo to samo, co przyspiesza przetwarzanie NLP.
Stemming to prosty, szybki proces, który polega na usuwaniu afiksów ze słowa głównego, które są dodatkami do słowa dołączanego przed lub po rdzeniu. To zamienia słowo w najprostszą formę podstawową, po prostu usuwając litery. Na przykład:
- „Chodzenie” zamienia się w „spacer”
- „Szybciej” zamienia się w „szybko”
- „Severity” zamienia się w „sever”
Jak widać, rdzeniowanie może mieć negatywny wpływ na całkowitą zmianę znaczenia słowa. „Severity” i „sever” nie oznaczają tego samego, ale sufiks „ity” został usunięty w procesie stemmingu.
Z drugiej strony lematyzacja to bardziej wyrafinowany proces, który polega na sprowadzeniu słowa do jego podstawy, znanej jako lemat. Uwzględnia to kontekst słowa i sposób jego użycia w zdaniu. Obejmuje to również wyszukiwanie terminu w bazie danych słów i odpowiadających im lematów. Na przykład:
- „Jestem” zamienia się w „być”
- „Działanie” zamienia się w „działanie”
- „Dotkliwość” zamienia się w „poważna”
W tym przykładzie lematyzacja zdołała zamienić termin „dotkliwość” w „dotkliwy”, który jest jego formą lematu i słowem źródłowym.
Przypadki użycia NLP i przyszłość
Poprzednie przykłady dopiero zarysowują powierzchnię tego, czym jest przetwarzanie języka naturalnego. Obejmuje szeroki zakres praktyk i scenariuszy użytkowania, z których wiele wykorzystujemy w naszym codziennym życiu. Oto kilka przykładów, w których obecnie używany jest NLP:
- Przewidywanie tekstu: Gdy piszesz wiadomość na smartfonie, automatycznie sugeruje on słowa, które pasują do zdania lub które były używane wcześniej.
- Tłumaczenie maszynowe: Szeroko stosowane usługi tłumaczeń konsumenckich, takie jak Tłumacz Google, w celu włączenia wysokopoziomowej formy NLP do przetwarzania języka i tłumaczenia go.
- Chatboty: NLP to podstawa inteligentnych chatbotów, zwłaszcza w obsłudze klienta, gdzie mogą pomagać klientom i przetwarzać ich żądania, zanim zmierzą się z prawdziwą osobą.
Jest więcej w przyszłości. Zastosowania NLP są obecnie opracowywane i wdrażane w takich dziedzinach, jak media informacyjne, technologia medyczna, zarządzanie miejscem pracy i finanse. Istnieje szansa, że w przyszłości będziemy mogli przeprowadzić pełnoprawną, wyrafinowaną rozmowę z robotem.
Jeśli chcesz dowiedzieć się więcej o NLP, na blogu Towards Data Science lub Standford National Langauge Processing Group znajdziesz wiele fantastycznych zasobów, które możesz sprawdzić.