Przetwarzanie języka naturalnego

background image

Przetwarzanie języka naturalnego

1

Przetwarzanie języka naturalnego

Przetwarzanie języka naturalnego (ang. natural language processing, NLP) to 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 czy szwedzki) 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ł.

Zadania i bariery

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.

Inne problemy

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 wiec 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 i semantyce. Ważnym czynnikiem

problemu syntaktycznej niejednoznaczności są niejasne granice zdań.

background image

Przetwarzanie języka naturalnego

2

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).

Statystyczne NLP

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, 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.

Główne zadania NLP

• Automatyczna sumaryzacja – program komputerowy, który automatycznie streszcza tekst, zawierające w

streszczeniu najważniejsze informacje.

• Foreign language reading aid - program pomagający w czytaniu języka obcego.

• Foreign language writing aid - program pomagający w pisaniu w języku obcym.

• Information Extraction (IE) - program analizujący niestrukturyzowany tekst w celu wydobycia z niego

informacji; wydobywa z dokumentów fakty, a użytkownik je analizuje.

• Information Retrieval (IR) – program zajmujący się gromadzeniem, wyszukiwaniem i odzyskiwaniem informacji.

Jest to oddzielny dział w informatyce (bardziej zbliżony bazom danych) zależny jednak od metod NLP ( np.

redukcji). Niektóre ze współczesnych badań starają się wypełnić przepaść pomiędzy IR a NLP. IR znajduje zbiór

dokumentów, a użytkownik je analizuje.

Tłumaczenie automatyczne – automatyczne tłumaczenie tekstu z jednego języka na drugi.

• Named Entity Recognition (NER) – jest jednym z zadań IE. Wskazuje, które ze słów w tekście są nazwami

własnymi. W niektórych językach nazwy własne nie są pisane wielkimi literami.

• Natural language generation (NLG) – zadanie polegające na tłumaczeniu danych z języka komputerowego na

język naturalny.

• Natural language understanding – poddział NLP zajmujący się rozumieniem języka naturalnego przez komputer.

OCR – oprogramowanie służące do rozpoznawania znaków graficznych np. z zeskanowanego tekstu.
• Anaphora Resolution – program, który wyszukuje do czego odnosi się dana anafora w tekście.

• Question answering – program, który odpowiada używając języka naturalnego na pytania zadawane w tym

języku. Mogą to być pytania z jedną odpowiedzią (jak na przykład „Jakie miasto jest stolicą Kanady?”), lub z

wieloma (np. „Jaki jest sens życia?”).

Rozpoznawanie mowy – potrafi zapisać tekst rozmowy z pliku dźwiękowego. (Odwrotność przetwarzania tekstu

na mowę, syntezy mowy).

• Spoken dialogue system – system, który rozpoznaje mowę i posiada moduł syntezy mowy.

background image

Przetwarzanie języka naturalnego

3

• Text simplification – operacja upraszczająca gramatykę i strukturę tekstu.

Synteza mowy – operacja polegająca na przetwarzaniu tekstu na mowę.

Korekta tekstu – zadanie polegające na zaznaczaniu błędów w tekście pisanym.

Problemy

Niektóre problemy systemu rozumienia języka naturalnego:

• Zdania: „Daliśmy małpom banany, bo były głodne” i „Daliśmy małpom banany, bo były przejrzałe” mają tę samą

strukturę gramatyczną. Jednak czasownik „były" odnosi się w jednym zdaniu do małp, a w drugim do bananów.

Bez wiedzy o charakterystyce małp i bananów nie sposób odgadnąć, w którym przypadku czasownik ten odnosi

się do jakiego rzeczownika.

• Ciąg słów może zostać różnie zinterpretowany. Na przykład, angielskie stwierdzenie „Time flies like an arrow”,

co w dosłownym tłumaczeniu na język polski oznacza „Czas leci jak strzała”, może zostać zrozumiane na wiele

sposobów:

• Po pierwsze może być to typowe porównanie: Czas leci tak szybko, jak strzała.

• Poza tym, ponieważ wyraz „flies” w języku angielskim oznacza także muchy, a rzeczownik „time” może być

również czasownikiem, znaczenie powyższego wyrażenia może być odczytane jako: „(You should) time flies

as you would (time) an arrow.”, co w języku polskim oznacza „Mierz prędkość much tak, jak mierzyłbyś

prędkość strzały” (wyrażenie odczytywane jest w tym przypadku w trybie rozkazującym).

• Przy powyższym założeniu odnośnie znaczenia wyrazów „time” oraz „flies” analizowane stwierdzenie może

także być zrozumiane jako „Time flies in the same way that an arrow would (time them)”, co znaczy „Mierz

prędkość much tak, jak robiłaby to strzała”.

• Następne znaczenie odnosi się do porównania much oraz strzały: „Time those flies that are like arrows”, co

znaczy „Mierz prędkość tych much, które są jak strzała".

• „time-flies” może być również odczytane jako rodzaje latających owadów, co w powyższym zdaniu

znaczyłoby, że wszystkie owady tego rodzaju lubią pojedyncza strzałę. (można to porównać z wyrażeniem

„Fruit flies like a banana”, które może oznaczać, że owoc lata jak banan lub, że muszki owocówki lubią

banana).

• „time-flies” w powyższym rozumieniu może również znaczyć, że każdy rodzaj latającego owada oddzielnie

lubi inną strzałę.(w tym przypadku można również zastosować porównanie podobne do powyższego).

• Kolejne znaczenie może być takie, że konkretny przedmiot taki jak np. magazyn „Time” leci w powietrzu w

sposób podobny do strzały.

Szczególnie wymagające w tej materii są języki analityczne, np. współczesny język angielski, który praktycznie nie

posiada pomagającej odróżnić od siebie części mowy morfologii fleksyjnej.

• W języku angielskim oraz w kilku innych językach nie znajdziemy wskazówki odnośnie tego, którego słowa

dotyczy dany przymiotnik. Przykładem może być tu wyrażenie „pretty little girls’ school” .

• Czy „little” (mała) odnosi się do „school”(szkoły)?

• Czy „little”(małe) odnosi się do „girls”(dziewczynek)?

• Czy „pretty”(ładne) odnosi się do „girls”(dziewczynek)?

• Czy „pretty”(ładna) odnosi się do „school”(szkoły)?

• W języku mówionym często sugerujemy dodatkowe informacje poprzez akcentowanie poszczególnych wyrazów.

Zdanie „I never said she stole my money”, co po polsku znaczy dosłownie „Ja nigdy nie powiedziałem, że ona

ukradła moje pieniądze.”, ukazuje jak ważną rolę odgrywa akcent w zdaniu i z jak znaczącym i nieodłącznym

problemem musi poradzić sobie analizator języka naturalnego przy przeprowadzaniu analizy składniowej. W

zależności od tego jakie słowo jest akcentowane przez mówiącego, zarówno w języku angielskim, jak i polskim

zdanie to może mieć kilka odrębnych znaczeń:

background image

Przetwarzanie języka naturalnego

4

• „Ja nigdy nie powiedziałem, że ona ukradła moje pieniądze.” – ktoś inny to powiedział, ale nie ja.

• „Ja nigdy nie powiedziałem, że ona ukradła moje pieniądze.” – ja po prostu nie powiedziałem tego.

• „Ja nigdy nie powiedziałem, że ona ukradła moje pieniądze.” – mogłem zasugerować to w inny sposób, ale

nigdy nie powiedziałem tego wprost.

• „Ja nigdy nie powiedziałem, że ona ukradła moje pieniądze.” – powiedziałem, że ktoś wziął te pieniądze, ale

nie powiedziałem, że to była ona.

• „Ja nigdy nie powiedziałem, że ona ukradła moje pieniądze.” – powiedziałem tylko, że prawdopodobnie ona

tylko pożyczyła te pieniądze.

• „Ja nigdy nie powiedziałem, że ona ukradła moje pieniądze.” – powiedziałem, że ona ukradła czyjeś pieniądze.

• „Ja nigdy nie powiedziałem, że ona ukradła moje pieniądze.” – powiedziałem, że ona coś ukradła, ale nie moje

pieniądze.

Ocena NLP

Cele

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.

Krótka historia oceny w 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 (http:/

/

evalita.

itc.

it).

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.

Adda G., Mariani J., Paroubek P., Rajman M. 1999 L'action GRACE d'évaluation de l'assignation des parties du

discours pour le français. Langues vol-2 Black E., Abney S., Flickinger D., Gdaniec C., Grishman R., Harrison P.,

Hindle D., Ingria R., Jelinek F., Klavans J., Liberman M., Marcus M., Reukos S., Santoni B., Strzalkowski T. 1991

A procedure for quantitatively comparing the syntactic coverage of English grammars. DARPA Speech and Natural

Language Workshop Hirshman L. 1998 Language understanding evaluation: lessons learned from MUC and ATIS.

LREC Granada Pallet D.S. 1998 The NIST role in automatic speech recognition benchmark tests. LREC Granada

background image

Przetwarzanie języka naturalnego

5

Różne rodzaje ocen

W zależności od procedur oceny, wykonuje się kilka rodzajów rozróżnień odnośnie oceny NLP.

• Ocena wewnętrzna, a ocena zewnętrzna

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 systemu lub użytkownika. Weźmy pod

uwagę na przykład analizator składniowy, który oparty jest o wyniki znaczników nowej części mowy. Przy ocenie

wewnętrznej zostałby uruchomiony znacznik części mowy odnośnie 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.

• Czarne pudełko, a szklane pudełko

Ocena oparta o czarne pudełko 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 o szklane pudełko 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 o szklane pudełko. Jednak ten rodzaj oceny dostarcza więcej

informacji odnośnie analizy błędów lub przyszłego rozwoju systemu.

• Automatyczna, a manualna

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 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.

Wspólne zadania (kampanie)

• BioCreative

• Message Understanding Conference

• Technolangue/Easy

• Text Retrieval Conference

Standaryzacja w NLP

Podkomisja Międzinarodowej 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łownie te dotyczące przedstawienia słownictwa, oznaczania i rejestrowania kategorii danych.

background image

Przetwarzanie języka naturalnego

6

Czasopisma

• Computational Linguistics

• Language Resources and Evaluation

• Linguistic Issues in Language Technology

Organizacje i konferencje

Stowarzyszenia

• Stowarzyszenie Lingwistyki Komputerowej

• Association for Machine Translation in the Americas

• AFNLP - Asian Federation of Natural Language Processing Associations

• Australasian Language Technology Association (ALTA)

Konferencje

• Language Resources and Evaluation

Narzędzia programowe

Expert System S.p.A.

General Architecture for Text Engineering (GATE)

Modular Audio Recognition Framework

MontyLingua

Natural Language Toolkit (NLTK): a Python library suite

• NLP Software Packages ([1]) - darmowe oprogramowanie do badania NLP.

OpenNLP

Źródła

• Charniak, Eugene:Introduction to artificial intelligence, str. 2. Addison-Wesley, 1984.

• Christopher D. Manning, Hinrich Schutze Foundations of Statistical Natural Language Processing, MIT Press

(1999), ISBN 978-0-262-13360-9, str. xxxi

Artykuły

Bates, M. (1995). Models of natural language understanding. Proceedings of the National Academy of Sciences of

the United States of America, Vol. 92, Nr. 22 (24.10.1995), str. 9977-9982.

background image

Przetwarzanie języka naturalnego

7

Linki zewnętrzne

http:/

/

www.

lingwistyka.

uni.

wroc.

pl/

ql/

http:/

/

nlp.

ipipan.

waw.

pl/

CLIP/

clip-pol.

html

http:/

/

home.

agh.

edu.

pl/

~tekomp/

files/

referaty/

4-5.

pdf

http:/

/

www.

g2inf.

one.

pl/

referaty/

.

wasielak/

tk/

i01.

html

Organizacje

• The Stanford Natural Language Processing Group

• The Cognitive Computation Group

• NLP group of CIC-IPN

• CLaC - Computational Linguistics at Concordia

Przypisy

[1] http:/

/

l2r.

cs.

uiuc.

edu/

~cogcomp/

software.

php

background image

Źródła i autorzy artykułu

8

Źródła i autorzy artykułu

Przetwarzanie języka naturalnego  Źródło: http://pl.wikipedia.org/w/index.php?oldid=23864679  Autorzy: BeataDobrzynska, Beau, Buldożer, Enethien, Jrmo, Lahcim nitup, Leinad, Lk80,
Lolek01, Lorn, Malarz pl, MarGr, Mfaber1, Michalgarbowski, Mokhov, Pjahr, Qurqa, Rafalstu, Roo72, Teceha, WTM, 10 anonimowych edycji

Licencja

Creative Commons Attribution-Share Alike 3.0 Unported
http:/

/

creativecommons.

org/

licenses/

by-sa/

3.

0/


Document Outline


Wyszukiwarka

Podobne podstrony:
Przegląd stanu technologii języka naturalnego, Wisniewski.Andrzej, Analiza.Obrazow.I.Sygnalow, Mater
Cechy języka naturalnego, !!! Materiały edukacyjne, Językoznawstwo
Donalda Davidsona semantyka języka naturalnego (gotowa), Filozofia
Filozofia języka naturalnego pojawiła się ponownie po epoce logicznego empiryzmu
Naturalna nauka języka
Naturalna nauka języka, Pedagogika
buchalski,logika układow cyfrowych, ZASTOSOWANIE JĘZYKA WYRAŻEŃ NATURALNYCH DO SYNTEZY I ANALIZY AUT
Naturalna nauka języka
David Snopek Naturalna nauka języka (V1)
David Snopek Naturalna nauka języka (V2)
Hanna Milczewska Wisenne kwiaty Naturalna Nauka Języka
Naturalna nauka języka Snopek D
przetworniki indukcyjne
Prop aut W9 Ses cyfr Przetworniki fotoelektryczne
Barwniki naturalne i syntetyczne w żywności
Przetworstwo produktow rolniczych

więcej podobnych podstron