Zestaw narzędzi języka naturalnego - wprowadzenie
Co to jest przetwarzanie języka naturalnego (NLP)?
Metodą komunikacji, za pomocą której ludzie mogą mówić, czytać i pisać, jest język. Innymi słowy, my, ludzie, możemy myśleć, planować, podejmować decyzje w naszym naturalnym języku. Tutaj głównym pytaniem jest, czy w dobie sztucznej inteligencji, uczenia maszynowego i głębokiego uczenia się ludzie mogą komunikować się w języku naturalnym z komputerami / maszynami? Tworzenie aplikacji NLP jest dla nas ogromnym wyzwaniem, ponieważ komputery wymagają ustrukturyzowanych danych, ale z drugiej strony ludzka mowa jest nieustrukturyzowana i często ma niejednoznaczny charakter.
Język naturalny to ta dziedzina informatyki, a dokładniej sztucznej inteligencji, która umożliwia komputerom / maszynom rozumienie, przetwarzanie i manipulowanie ludzkim językiem. Krótko mówiąc, NLP to sposób maszyn do analizowania, rozumienia i czerpania znaczenia z ludzkich języków naturalnych, takich jak hindi, angielski, francuski, holenderski itp.
Jak to działa?
Zanim zagłębimy się w pracę nad NLP, musimy zrozumieć, w jaki sposób ludzie używają języka. Każdego dnia my, ludzie, używamy setek lub tysięcy słów, a inni ludzie je interpretują i odpowiednio odpowiadają. To prosta komunikacja dla ludzi, prawda? Ale wiemy, że słowa sięgają znacznie, znacznie głębiej niż to, i zawsze czerpiemy kontekst z tego, co mówimy i jak mówimy. Dlatego możemy powiedzieć, że zamiast skupiać się na modulacji głosu, NLP opiera się na wzorcu kontekstowym.
Zrozummy to na przykładzie -
Man is to woman as king is to what?
We can interpret it easily and answer as follows:
Man relates to king, so woman can relate to queen.
Hence the answer is Queen.
Skąd ludzie wiedzą, co oznacza słowo? Odpowiedź na to pytanie jest taka, że uczymy się poprzez nasze doświadczenie. Ale w jaki sposób maszyny / komputery uczą się tego samego?
Pozwól nam to zrozumieć, wykonując proste kroki -
Po pierwsze, musimy dostarczyć maszynom wystarczającą ilość danych, aby maszyny mogły uczyć się na podstawie doświadczenia.
Następnie maszyna utworzy wektory słów, korzystając z algorytmów głębokiego uczenia, na podstawie danych, które wprowadziliśmy wcześniej, a także z otaczających je danych.
Następnie, wykonując proste operacje algebraiczne na tych wektorach słów, maszyna byłaby w stanie udzielić odpowiedzi jako istoty ludzkie.
Składniki NLP
Poniższy diagram przedstawia komponenty przetwarzania języka naturalnego (NLP) -
Przetwarzanie morfologiczne
Przetwarzanie morfologiczne jest pierwszym składnikiem NLP. Obejmuje dzielenie fragmentów danych wejściowych języka na zestawy znaczników odpowiadających akapitom, zdaniom i słowom. Na przykład słowo takie jak“everyday” można podzielić na dwa żetony podsłów, jak “every-day”.
Analiza składni
Analiza składni, drugi składnik, jest jednym z najważniejszych elementów NLP. Cele tego komponentu są następujące -
Aby sprawdzić, czy zdanie jest poprawnie sformułowane, czy nie.
Aby rozbić to na strukturę, która pokazuje związki składniowe między różnymi słowami.
Np. Zdania typu “The school goes to the student” zostanie odrzucony przez analizator składni.
Analiza semantyczna
Analiza semantyczna to trzeci składnik NLP, który służy do sprawdzania sensowności tekstu. Obejmuje to narysowanie dokładnego znaczenia lub możemy powiedzieć znaczenie słownikowe z tekstu. Np. Zdania typu „To gorące lody”. zostałby odrzucony przez analizator semantyczny.
Analiza pragmatyczna
Analiza pragmatyczna to czwarty składnik NLP. Obejmuje dopasowanie rzeczywistych obiektów lub zdarzeń, które istnieją w każdym kontekście, do odniesień do obiektów uzyskanych przez poprzedni komponent, tj. Analizę semantyczną. Np. Zdania typu“Put the fruits in the basket on the table” może mieć dwie interpretacje semantyczne, stąd analizator pragmatyczny wybierze jedną z tych dwóch możliwości.
Przykłady zastosowań NLP
NLP, nowa technologia, wywodzi się z różnych form sztucznej inteligencji, które widzieliśmy w dzisiejszych czasach. W dzisiejszych i przyszłych, coraz bardziej poznawczych aplikacjach, wykorzystanie NLP do tworzenia płynnego i interaktywnego interfejsu między ludźmi a maszynami będzie nadal głównym priorytetem. Oto niektóre z bardzo przydatnych zastosowań NLP.
Tłumaczenie maszynowe
Tłumaczenie maszynowe (MT) jest jednym z najważniejszych zastosowań przetwarzania języka naturalnego. MT to w zasadzie proces tłumaczenia jednego języka źródłowego lub tekstu na inny język. System tłumaczenia maszynowego może być dwujęzyczny lub wielojęzyczny.
Zwalczanie spamu
Ze względu na ogromny wzrost niechcianych wiadomości e-mail filtry spamu stały się ważne, ponieważ stanowią pierwszą linię obrony przed tym problemem. Biorąc pod uwagę kwestie fałszywie dodatnie i fałszywie ujemne jako główne problemy, funkcjonalność NLP może zostać wykorzystana do opracowania systemu filtrowania spamu.
Modelowanie N-gramowe, zapamiętywanie słów i klasyfikacja bayesowska to tylko niektóre z istniejących modeli NLP, które można wykorzystać do filtrowania spamu.
Wyszukiwanie informacji i wyszukiwanie w Internecie
Większość wyszukiwarek, takich jak Google, Yahoo, Bing, WolframAlpha itp., Opiera swoją technologię tłumaczenia maszynowego (MT) na modelach głębokiego uczenia NLP. Takie modele głębokiego uczenia pozwalają algorytmom odczytywać tekst na stronie internetowej, interpretować jego znaczenie i tłumaczyć go na inny język.
Automatyczne podsumowanie tekstu
Automatyczne podsumowanie tekstu to technika, która tworzy krótkie, dokładne podsumowanie dłuższych dokumentów tekstowych. W związku z tym pomaga nam uzyskać istotne informacje w krótszym czasie. W erze cyfrowej pilnie potrzebujemy automatycznego podsumowania tekstu, ponieważ mamy do czynienia z zalewem informacji w Internecie, który nie ustanie. NLP i jego funkcje odgrywają ważną rolę w tworzeniu automatycznego podsumowania tekstu.
Korekta gramatyczna
Poprawianie pisowni i poprawianie gramatyki to bardzo przydatna funkcja edytora tekstu, takiego jak Microsoft Word. W tym celu szeroko stosuje się przetwarzanie języka naturalnego (NLP).
Odpowiadanie na pytania
Odpowiadanie na pytania, kolejne główne zastosowanie przetwarzania języka naturalnego (NLP), koncentruje się na budowaniu systemów, które automatycznie odpowiadają na pytanie zadane przez użytkownika w jego języku naturalnym.
Analiza nastrojów
Analiza nastrojów jest jednym z innych ważnych zastosowań przetwarzania języka naturalnego (NLP). Jak sama nazwa wskazuje, analiza nastrojów służy do -
Zidentyfikuj nastroje w kilku postach i
Zidentyfikuj uczucie, w którym emocje nie są wyrażane bezpośrednio.
Firmy zajmujące się handlem elektronicznym online, takie jak Amazon, ebay itp., Używają analizy nastrojów do identyfikacji opinii i sentymentów swoich klientów w Internecie. Pomoże im zrozumieć, co myślą klienci o ich produktach i usługach.
Silniki mowy
Silniki mowy, takie jak Siri, Google Voice, Alexa, są oparte na NLP, dzięki czemu możemy komunikować się z nimi w naszym naturalnym języku.
Wdrażanie NLP
Aby zbudować powyższe aplikacje, musimy mieć określone umiejętności z doskonałym zrozumieniem języka i narzędziami do wydajnego przetwarzania języka. Aby to osiągnąć, mamy dostępne różne narzędzia open source. Niektóre z nich są open source, podczas gdy inne są opracowywane przez organizacje w celu tworzenia własnych aplikacji NLP. Poniżej znajduje się lista niektórych narzędzi NLP -
Zestaw narzędzi języka naturalnego (NLTK)
Mallet
GATE
Otwórz NLP
UIMA
Genism
Zestaw narzędzi Stanford
Większość z tych narzędzi jest napisana w Javie.
Zestaw narzędzi języka naturalnego (NLTK)
Wśród wyżej wspomnianego narzędzia NLP, NLTK osiąga bardzo wysokie wyniki, jeśli chodzi o łatwość użycia i wyjaśnienie koncepcji. Krzywa uczenia się Pythona jest bardzo szybka, a NLTK jest napisane w Pythonie, więc NLTK ma również bardzo dobry zestaw do nauki. NLTK włączyło większość zadań, takich jak tokenizacja, wyprowadzanie, lematyzacja, interpunkcja, liczba znaków i liczba słów. Jest bardzo elegancki i łatwy w obsłudze.