Loading AI tools
dyscyplina naukowa obejmująca badania na styku informatyki i lingwistyki Z Wikipedii, wolnej encyklopedii
Przetwarzanie języka naturalnego (ang. natural language processing, NLP) – interdyscyplinarna dziedzina, łącząca zagadnienia sztucznej inteligencji i językoznawstwa, zajmująca się automatyzacją analizy, rozumienia, tłumaczenia i generowania języka naturalnego przez komputer. System generujący język naturalny przekształca informacje zapisane w bazie danych komputera na język łatwy do odczytania i zrozumienia przez człowieka. Zaś system rozumiejący język naturalny przekształca próbki języka naturalnego na bardziej formalne symbole, łatwiejsze do przetworzenia dla programów komputerowych. Wiele problemów NLP wiąże się zarówno z generacją, jak i rozumieniem języka, np. model morfologiczny zdania (struktura słów), który komputer powinien zbudować, jest potrzebny zarazem do tego, by zdanie było zrozumiałe, jak i gramatycznie poprawne.
NLP pokrywa się również w znacznej mierze z działem lingwistyki komputerowej i często uważany jest za poddział sztucznej inteligencji. Natomiast termin język naturalny używany jest, by odróżnić języki ludzkie (takie jak hiszpański, szwedzki czy polski) od języka formalnego czy komputerowego (jak C++, Java lub Lisp). Choć analiza języka naturalnego może zajmować się i tekstem, i mową, prace nad syntezą mowy rozwinęły się jako oddzielny dział.
Analiza języka naturalnego jest, teoretycznie, bardzo atrakcyjną metodą porozumiewania się z komputerem. Jeden z pierwszych tego typu systemów SHRDLU, wzbudził ogromny entuzjazm naukowców, pracując zaskakująco dobrze na ograniczonych blokach słów i w obrębie ograniczonego języka. Entuzjazm szybko jednak wygasł, gdy system zderzył się z bardziej realnymi sytuacjami i prawdziwą złożonością oraz dwuznacznością słów.
Sama definicja rozumienia jest dużym problemem analizy języka naturalnego. Wydaje się, że rozpoznanie języka naturalnego wymaga szerokiej wiedzy o świecie zewnętrznym i zdolności do przekształcania go. Z tego powodu rozumienie języka naturalnego nazywane jest często problemem AI-complete (problemem sztucznej inteligencji), który polega na tym, żeby dobrze rozumieć nasz świat i język, sztuczna inteligencja musiałaby postrzegać go tak samo jak my.
Segmentacja sygnału mowy
W większości języków mówionych dźwięki przedstawiane są jako następujące po sobie i przemieszane ze sobą litery. Dlatego przekształcenie sygnału analogowego w niestałe symbole może być bardzo trudnym procesem. W mowie naturalnej pomiędzy kolejnymi wyrazami występuje również mało pauz. To, gdzie dana pauza się znajduje, zależy zazwyczaj od semantyki i gramatyki, jak również od kontekstu zdania.
Segmentacja tekstu
Niektóre języki, takie jak chiński, japoński czy tajski, nie posiadają określonych granic wyrazów w języku pisanym. Zazwyczaj każda poważna analiza składniowa wymaga oznaczenia takich granic, co często bywa niełatwym zadaniem.
Oznaczanie części mowy
Jednoznaczność słów
Wiele wyrazów ma więcej niż jedno znaczenie, trzeba więc wybrać słowo najlepiej pasujące do kontekstu.
Syntaktyczna niejednoznaczność
Gramatyka języka naturalnego jest dwuznaczna i zazwyczaj istnieje wiele możliwości analizy składniowej jednego zdania. Wybór najlepszej z nich wymaga najczęściej informacji o kontekście znaczeniowym (semantyce) poszczególnych wyrazów zdania.
Także problem określenia znaczenia tekstu zawiera problem określenia granice poszczególnych zdań, co nie zawsze jest jednoznaczne.
Nieprawidłowe, bądź nieregularne dane
Z jednej strony przeszkodą może być również zagraniczny bądź regionalny akcent, jak również wada wymowy, a z drugiej błędy w tekście, takie jak literówki i zła gramatyka bądź OCR.
Akt mowy i plan
Rozmówca może często uważać zdanie za pewnego rodzaju akcję. Struktura zdania, sama w sobie, może nie zawierać wystarczających informacji do zidentyfikowania tej akcji. Pytanie na przykład jest prośbą mówiącego o odpowiedź słuchacza. Odpowiedź ta może być wyrażona werbalnie, przez aktywność fizyczną lub pewnego rodzaju mieszankę obydwu. Przykładowe pytanie: „Czy możesz podać mi swoje imię?”, wymaga prostej odpowiedzi (zakładając oczywiście, że je pamiętamy). Kiedy pytanie: „Czy możesz podać mi sól?” jest właśnie prośbą o aktywność fizyczną. Odpowiedź „Tak, mogę”, bez towarzyszącej jej czynności nie jest właściwą (choć „Nie” czy „Nie mogę jej dosięgnąć” wytłumaczy brak jakiejkolwiek czynności).
Kiedy zaczniemy rozpatrywać dłuższe zdania w ramach realnej gramatyki, większość z nich będzie niejednoznaczna i będzie mogła być analizowana na dziesiątki różnych sposobów. By rozwiązać takie trudności, jak i inne zapisane powyżej, statystyczna analiza języka naturalnego używa metody stochastycznej, prawdopodobieństwa i statystycznej. W metody zwalczania niejednoznaczności często zaangażowane są także korpusy języka i łańcuch Markowa. Statystyczne NLP posiada wszystkie możliwe sposoby do zautomatyzowania analizy językowej włączając modele prawdopodobieństwa (np. model n-gramowy), teorie informacji i algebry liniowej. Technologia ta wywodzi się przede wszystkim z uczenia maszynowego i szybkiej analizy danych, z których obydwie są działami sztucznej inteligencji.
Niektóre problemy systemu rozumienia języka naturalnego:
Szczególnie wymagające w tej materii są języki analityczne, np. współczesny język angielski, który praktycznie nie posiada morfologii fleksyjnej, pomagającej odróżnić od siebie części mowy.
Celem oceny NLP jest zmierzenie jednej lub większej ilości cech algorytmu lub systemu tak, aby ustalić, czy (lub w jakim stopniu) system spełnia założenia twórców oraz czy zaspokaja potrzeby jego użytkowników. Badania dotyczące oceny NLP cieszą się znaczącym zainteresowaniem, ponieważ określenie właściwego kryterium oceny jest jedyną drogą by precyzyjnie zdefiniować problem NLP wychodzący poza ogólnikowość zadań zdefiniowanych jako zrozumienie oraz wygenerowanie języka. Dokładny zbiór kryteriów oceny, który zawiera głównie jej dane oraz metryki, umożliwia kilku drużynom porównanie ich rozwiązań dla danego problemu analizy NLP.
Pierwszą kampanią ocen tekstów pisanych wydaje się być kampania z 1987 roku dedykowana zrozumieniu komunikatu (Pallet 1998). Następnie, projekt Parseval/GEIG porównywał gramatyki o strukturze frazowej (Black 1991). W projekcie Tipster realizowane były serie kampanii koncentrujących się na zadaniach takich jak sumaryzacja, tłumaczenie i wyszukiwanie (Hirshman 1998). W roku 1994, w Niemczech, w „Morpholympics” porównane zostały niemieckie znaczniki. Następnie, przeprowadzono kampanie Sensevala i Romansevala mające na celu semantyczne wyjaśnienie. W 1996 roku, kampania Sparkle porównała analizatory składniowe w czterech różnych językach (angielskim, francuskim, niemieckim i włoskim). W 1997 roku, we Francji, projekt Grace porównał zbiory 21 znaczników dla języka francuskiego (Adda 1999). W 2004 roku, podczas projektu Technolangue/Easy porównano 13 analizatorów składniowych dla języka francuskiego. Ocena zależnych analizatorów składniowych na dużą skalę miała miejsce w latach 2006 oraz 2007 przy okazji wspólnych zadań na konferencji na temat Komputerowej Nauki Języka Naturalnego (CoNLL). W roku 2007 przeprowadzono we Włoszech kampanię evalita by porównać różne narzędzia dla włoskiej strony internetowej o tej samej nazwie. We Francji natomiast, podczas projektu ANR-Passage (koniec roku 2007), porównanych zostało na stronie internetowej (http://atoll.inria.fr/passage/) 10 analizatorów składniowych dla języka francuskiego.
W zależności od procedur oceny, wykonuje się kilka rodzajów rozróżnień odnośnie do oceny NLP.
Ocena wewnętrzna sprawdza pojedynczy system NLP i określa jego pracę głównie w oparciu o wynik złotego standardu, który to jest uprzednio zdefiniowany przez oceniających. Ocena zewnętrzna, znana również jako ocena w czasie użycia, sprawdza system NLP przy bardziej złożonych ustawieniach, jako system wbudowany lub służący do wykonania określonych funkcji dla użytkownika. Zewnętrzne działanie systemu jest następnie określone w oparciu o użyteczność z uwzględnieniem całości zadania zleconego przez złożony system lub użytkownika. Weźmy pod uwagę na przykład analizator składniowy, który oparty jest na wynikach znaczników nowej części mowy. Przy ocenie wewnętrznej zostałby uruchomiony znacznik części mowy odnośnie do jakiś określonych danych i porównałby dane systemu uzyskane przez znacznik do (poprawnych) danych złotego standardu. Przy ocenie zewnętrznej zostałby uruchomiony analizator z innym znacznikiem części mowy, następnie z nowym znacznikiem, po czym nastąpiłoby porównanie dokładności analizy.
Ocena oparta na czarnym pudełku polega na uruchomieniu systemu NLP na określonej bazie danych i zmierzeniu parametrów związanych z jakością procesu (prędkość, niezawodność, użycie zasobów) oraz, co najważniejsze, z jakością wyniku (np. trafność określania danych oraz wierność tłumaczenia). Ocena oparta na szklanym pudełku polega na sprawdzeniu projektu systemu, wprowadzonych algorytmów, używanych zasobów językowych (np. wielkość zasobu słów) itp. Biorąc pod uwagę złożoność problemów związanych z NLP, często trudno jest przewidzieć działanie systemu bazując jedynie na ocenie opartej na szklanym pudełku. Jednak ten rodzaj oceny dostarcza więcej informacji odnośnie do analizy błędów lub przyszłego rozwoju systemu.
W wielu przypadkach określone mogą zostać automatyczne procedury oceniające system NLP poprzez porównanie wyników ze złotym (pożądanym) standardem. Mimo że koszty związane ze stworzeniem złotego standardu mogą być dosyć wysokie, to automatyczna ocena może być powtarzana tak często, jak tylko potrzeba, bez znaczących dodatkowych kosztów (przy takich samych wprowadzonych danych). Jednakże dla wielu problemów związanych z NLP utworzenie złotego środka stanowi trudne zadanie i może okazać się niewykonalne, gdy uzgodnienie wewnętrznego znacznika jest niewystarczające. Ocena manualna wykonywana jest przez osoby oceniające, które mają za zadanie określić w oparciu o ustalone kryteria jakość systemu lub najczęściej jakość wyników generowanych przez system. Mimo że osoby oceniające mogą być dzięki kompetencji językowej uważane za źródło informacji odnośnie do wielu zadań dotyczących analizy językowej, wśród ich ocen również zdarzają się rozbieżności. Dlatego właśnie ocena automatyczne często uznawana jest za ocenę obiektywną, podczas gdy ludzie wydają się być bardziej subiektywni.
Podkomisja Międzynarodowej Organizacji Normalizacyjnej (ISO) pracuje nad ułatwieniem wzajemnego współdziałania zasobów leksykalnych z programami NLP. Podkomisja jest częścią ISO/TC 37 i jest nazywana ISO/TC37/SC4. Niektóre standardy ISO zostały już opublikowane, jednak większość z nich jest jeszcze w fazie tworzenia; głównie te dotyczące przedstawienia słownictwa, oznaczania i rejestrowania kategorii danych.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.