Zpracování přirozeného jazyka

Z Wikipedie, otevřené encyklopedie

Počítačové zpracování přirozeného jazyka (Natural language processing) je soubor technik na pomezí (počítačové) lingvistiky, informatiky (umělé inteligence), popř. též akustiky a dalších. Věnuje se analýze či generování textů nebo mluveného slova, které vyžadují určitou (ne absolutní) míru porozumění přirozenému jazyku strojem.

Aplikace NLP jsou např. strojový překlad, odpovídání na otázky (en:Question answering), dolování z textu (i výtah z textu; en:Automatic summarization) a automatická korektura textu či chatboti.[1]

Mezi úkoly, které přispívají k řešení těchto problémů, patří mj. extrakce informací, generování přirozeného jazyka (en:Natural language generation) a rozpoznávání a syntéza řeči (text-to-speech).

Tradiční (strukturalistický) přístup[editovat | editovat zdroj]

Související informace naleznete také v článku Lingvistická analýza.

Počítačové zpracování přirozeného jazyka je interdisciplinární obor. Tento obor mimo jiné zkoumá přirozený jazyk jako matematický systém. Přirozený jazyk jako hlavní nástroj lidské komunikace je za pomocí aktivní účasti uživatele transformován prostřednictvím speciálních technologií ve formální jazyk (interlingua; logická reprezentace významu), který je vhodný pro sémantickou prezentaci. Vyjadřuje význam jednotlivých prvků přirozeného jazyka, který je počítačově zpracován. Základem je algoritmus popis jednotlivých rovin přirozeného jazyka, který je zároveň nezávislý na konkrétním jazyku.[zdroj?] Základem interakce člověka s počítačem je dotazovací jazyk, u kterého je odstraněna víceznačnost jednotlivých prvků na všech úrovních. S ohledem na přesnost a jednoznačnost reprezentace samotného významu je nutná existence samostatné reprezentace pro každý významový prvek přirozeného jazyka. Struktury formálního jazyka jsou na konkrétních jazycích nezávislé.

Při zpracování jazyka bylo nutné vymezit pravidla tzv. jazykové roviny. Každá jazyková rovina je pak určena svým hlavním jazykovým prvkem nebo třídou prvků, které jsou pro konkrétní rovinu typické. Každá rovina má vstupní a výstupní reprezentaci.

Fonetická rovina[editovat | editovat zdroj]

Výstupem fonetické roviny je zpracování posloupnosti fónů ve fonetické abecedě.

Fonologická rovina[editovat | editovat zdroj]

Výstupem fonologické roviny je posloupnost symbolů abstraktní abecedy, použitelná na fonologické rovině.

Morfologie[editovat | editovat zdroj]

Výstupem morfologie je zpracování větné struktury.[zdroj?]

Syntaktická rovina[editovat | editovat zdroj]

Výstupem syntaktické roviny je větná struktura (strom s označením větných vztahů).

Sémantická rovina (tektogramatická nebo tektografická, hloubková)[editovat | editovat zdroj]

Výstupem sémantické roviny je větná struktura s určením větných vztahů.

Pragmatická rovina[editovat | editovat zdroj]

Výstupem pragmatické roviny je logická forma textu, která může být vyhodnocena jako pravda nebo nepravda.

Automatické indexování textů[editovat | editovat zdroj]

Podrobnější informace naleznete v článku Automatická indexace.

Je to proces přiřazení selekčních obrazů dokumentům nebo dotazům. Selekčním obrazem se rozumí výraz nebo množina výrazů určitého selekčního jazyka, např. všechna podstatná jména, předem daná podstatná jména, výrazy ve tvaru „podstatné jméno – přídavné jméno“ apod.

Klíčovým problémem automatického indexování bývá určení, která slova textu nejlépe charakterizují jeho celkový obsah.

Lingvistické problémy automatického indexování:

  • Významnost jednotlivých slov (slovní spojení) pro vystižení charakteru obsahu celého textu.
  • Tvarosloví (morfologie) přirozeného jazyka.
  • Synonymie a jí podobné sémantické vztahy mezi slovy a slovními spojeními.
  • Homonymie (nejednoznačnost) výrazů přirozeného jazyka.

Mozaika[editovat | editovat zdroj]

Tato metoda automatického indexování je vhodná především pro ty jazyky, které mají rozvinutou flexi (ohýbání slov – skloňování, časování, stupňování atd.) a mají gramatickou shodu. Těchto pozitivních výsledků bylo dosaženo mimo jiné u češtiny, slovenštiny a ruštiny. Tato metoda nedokáže zcela dobře řešit problémy synonymie, homonymie a skrytých vztahů textu. Cílem metody je přiřadit vstupnímu textu selekční obraz.

Tato metoda má dvě hlavní fáze, a to morfologicko-lexikální analýzu a syntaktickou analýzu. V těchto dvou fázích jsou z textu extrahovány terminologické jednotky.

  • Morfologicko-lexikální analýza
    • Vyloučení nevýznamových termínů pomocí negativního slovníku.
    • Identifikace specifických slov (předložky, spojky) důležité pro syntaktickou analýzu.
    • Určení vhodných indexačních termínů za pomocí slovníku koncových segmentů. Od slova, které nebylo úspěšně zpracováno je odtržen 4znakový koncový segment, který je hledán ve slovníku koncových segmentů.
    • Vybranému slovu jako potenciální terminologické jednotce je přiřazena jeho elementární váha (základní hodnota).
  • Syntaktická analýza
    • Jednotlivé indexační termíny jsou složeny do sousloví.
    • Na základě předložek či spojek jsou vyhledávána spojení jmenných frází.
    • Úprava vah termínů – sečtení vah jednotlivých výskytů výrazů do vaz výrazů jako takových.
  • Tato metoda dosáhla nejlepších výsledků zejména v disciplínách s ustálenou terminologií.

Automatické indexování tezauru[editovat | editovat zdroj]

Související informace naleznete také v článku Tezaurus.

Informační požadavek může být vyjádřen i jinými výrazy přirozeného jazyka, než jaké se vyskytují v daném textu. Problém tkví v tom, že významy různých výrazů přirozeného jazyka se mohou různými způsoby a v různé míře vzájemně překrývat. Tři typy těchto situací jsou:

  • Dva různé výrazy mají zcela stejný význam např. klisna = kobyla, kalkulace = výpočet. Tento jev se nazývá synonymie.
  • Dva různé výrazy jsou ve vztahu obecné:konkrétní (nadřazené:podřazené) např. zvíře >hospodářské zvíře>kůň>hřebec apod.
  • Dva různé výrazy mají pouze v širším smyslu něco společného, tedy jsou sémanticky asociované: např. kůň – dostih, výpočet – kalkulátor.

Daný problém představuje „koeficient selekční významnosti“. Řešením problémům při indexaci dokumentů a dotazů je tezaurus.

Tezaurus[editovat | editovat zdroj]

Tezaurus je řízený slovník deskriptorového a selekčního jazyka, který je uspořádaný tak, že explicitně zachycuje apriorní vztahy mezi lexikálními jednotkami. Je to slovník obsahující:

  • Slovní zásobu, tj. slova a sousloví se specifickým významem určitého jazyka, případně i několika jazyků.
  • Odkazy na jiná hesla, která k němu mají sémantický vztah – např. synonyma, obecnější a konkrétnější výrazy a také výrazy ve vztazích např. celek – část, třída – prvek atd.
  • Další informace o heslech, např. historii jejich vzniku, příklady kontextu použití atd.

Tezaury určené pro indexování jsou zpravidla omezené na terminologii určité užší odborné oblasti. Ústředním pojmem tezauru určeného k indexování je deskriptor. Z každé skupiny synonymních termínů je vybrán jeden reprezentant nazývaný deskriptorem. Tento by měl být používán k samotnému popisu (deskripci) skutečného nebo požadovaného obsahu textu.

Deskriptor je univerzální vyhledávací prvek, který při vyhledávání má zastupovat i všechna svá synonyma. Všechna synonyma jsou pak nazývána nedeskriptory. Pouze mezi deskriptory se zachycují vztahy (vazby) – nadřazený, podřazený, asociovaný, ekvivalentní deskriptory v jiných jazycích (v případě vícejazyčného tezauru).

Automatické referování[editovat | editovat zdroj]

  • Referát (abstrakt) je uváděn jako jeden z možných výstupů intelektuálního procesu nazývaného informační analýza dokumentů.
  • Referát je zkrácený výklad obsahu dokumentu (nebo jeho části) s hlavními věcnými údaji a závěry, který zdůrazňuje nové poznatky a umožňuje rozhodnout se o účelnosti studia původního dokumentu. Výklad obsahu musí být stručný a přesný.
  • Automatické referování extrahuje vhodný počet vět, které nejlépe vystihují, co text přináší nového.

Strojový překlad[editovat | editovat zdroj]

Podrobnější informace naleznete v článku Historie strojového překladu.

Automatický neboli strojový překlad je stejně starý jako počítačové zpracování posloupnost znaků v nejobecnějším pojetí. Od poloviny 50 let se úkolem strojového překladu zabývalo asi 20 amerických a přes 10 evropských pracovišť. V této souvislosti není možné ani opomenout Univerzitu Karlovu v Praze, která v této oblasti vyvíjela aktivity od roku 1957. Jedním z jejich výsledků byl i experimentální systém APAČ (Automatický překladač z angličtiny do češtiny).

Strojový překlad 1. generace[editovat | editovat zdroj]

Systém strojového překladu tzv. 1. generace vytvářely překlad typu „slovo-slovo“ v nejlepším případě „sousloví za sousloví“. Jednalo se o velmi hrubý překlad. Veškerá logika systému spočívala v nalézání slovníkové jednotky a přidávání slovníkového ekvivalentu. Tyto strojové systémy obvykle zahrnovaly lematizátor slov vstupního textu.

Vyzkoušené systémy strojového překladu 1. generace se staly základem automatizace nazývané dnes indikativní nebo orientační překlad. Smyslem takových systémů je rychle poskytnout informaci, o čem pojednává text v cizím jazyce.

Strojový překlad 2. generace[editovat | editovat zdroj]

V systémech 2. generace jsou nějakým konzistentním způsobem odděleny pracovní fáze (programové moduly), které řeší:

  • Analýzu konstrukcí vstupního jazyka a vyjádření (alespoň určité základní úrovně) jejich významu konkrétními formalizovanějšími prostředky.
  • Vlastní překlad elementárních výrazů vstupního jazyka odpovídajícími výrazy výstupního jazyka.
  • Syntézu konstrukcí výstupního jazyka potřebných ke korektnímu vyjádření daného významu.

Strojový překlad 3. generace[editovat | editovat zdroj]

Tyto systémy navíc uplatňují některé přístupy umělé inteligence. Někteří odborníci považují za 1. generaci jen systémy typu „slovo za slovo“, u 2. generace hovoří v souvislosti s jakýmkoliv zpracováním syntaktických struktur a 3. generaci vnímají jako zapojení jakékoli sémantiky do strojového překladu.

Automatická korektura textů[editovat | editovat zdroj]

Chyby lze rozdělit takto:

  • Mechanické chyby – jsou snadno odhalitelné formální chyby způsobené nedbalostí:
    • dvakrát za sebou napsaný stejný slovní tvar nebo stejné interpunkční znaménko,
    • nevhodná kombinace interpunkčních znamének,
    • nesprávné závorky,
    • malé písmenko na začátku věty
  • Gramatické chyby:
    • Morfologické – chybně utvořený slovní tvar, opravuje pravopisný korektor.
    • Syntaktické – chyby v použití slov – vynechání slova, přidání nadbytečného slova, nesprávná kombinace tvarů slov, záměna slovního tvaru jiným slovním tvarem a chyby v interpunkci.
  • Stylistické chyby: oprava spočívá v automatické detekci často používaných víceslovných obratů, které jsou vágní (nepřispívají k jádru sdělení), zbytečně rozvláčné (je možné je nahradit jedním slovem) a redundantní (dvakrát říkají totéž).

Algoritmus opravy pravopisných chyb[editovat | editovat zdroj]

Každé slovo z textu je třeba zkoušet lematizovat tak dlouho, dokud se:

  • nezíská slovo ze slovníku, u kterého je ve slovníků indikován jako přípustný i ten tvar, ve kterém bylo nalezeno v textu,
  • nevyčerpají všechna lematizační pravidla na toto slovo použitelná (v textu je toto slovo pak označeno jako pravděpodobně chybné.

Vytváření korpusů[editovat | editovat zdroj]

Související informace naleznete také v článcích Jazykový korpus a Korpusová lingvistika.

Korpusy textů jsou vytvářeny pro účely práce lingvistů. Slouží k pokusům o detailnější poznání jazyka. Korpusy jsou různého druhu nebo zaměření, obsahují velké množství textů, a to psaného i mluveného jazyka, ale i z hlediska obsahového by měly být co nejbohatší.

Jednojazyčný korpus je souborem textů či promluv v jednom jazyce. Aby byla informace co nejefektivněji využita pro počítačové zpracování, je třeba shromážděná data (korpusy) obohatit jejich anotováním, tzn. doplňováním hodnot gramatických či jiných např. lexikálně sémantických kategorií jednotlivým prvkům věty.

Existuje řada anotovaných korpusů u nás i ve světě. Pro češtinu je největším textovým korpusem Český národní korpus, vyvíjený v Ústavu Českého národního korpusu na FF UK. Anotování jazykového korpusu s sebou nese důležité výsledky v lingvistice.[zdroj?] Dále umožňuje vypracovat procedury, které by se mohly na základě dat, která vytvořili lingvisté, „naučit“ analyzovat běžný text, a to včetně textu neznámého, který je pro systém dosud nepoznán.[zdroj?]

Komunikace mezi počítačem a člověkem v přirozeném jazyce[editovat | editovat zdroj]

Komunikace v přirozeném jazyce mezi počítačem a člověkem by mohla v daleké budoucnosti sloužit k ovládání operačního systému, k dotazování do databází a vkládání dat do nich apod.

ELIZA je experimentální chatbot z roku 1964. Je založen na třech datových strukturách. Základní konstantní datovou strukturou je slovník klíčových slov, na která je vhodné v dialogu reagovat. Každé slovo je ohodnoceno váhou a je mu přiřazena zásoba možných reakcí. Do druhé konstantní struktury patří seznam náhradních reakcí, které je možné použít bez ohledu na to, co říká pokusná osoba.

Pro češtinu vznikl v roce 1980 systém KODAS pro vyhledávání dat v tabulkových strukturách.

V dnešní době už existují pokročilejší virtuální asistenti jako Google Now, Siri a Cortana (rozpoznávající hlasové příkazy) a chatboti sloužící např. ke komunikaci společností se zákazníky.

Literatura[editovat | editovat zdroj]

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]