wiki:cs/ZpracovaniPrirozenehoJazyka

Version 6 (modified by Zuzana Nevěřilová, 10 years ago) (diff)

--

Zpracování přirozeného jazyka aneb NLP

Anglická zkratka znamená natural language processing, což vůbec nesouvisí s „neurolingvistickým programováním“.

Jde o ne úplně mladý obor na pomezí informatiky, matematiky a jazykovědy (lingvistiky), jehož cílem je vytvářet počítačové programy, které budou lidem „rozumět“. V následujícím textu vysvětlíme, co všechno je k tomu potřeba.

Mluvící a myslící stroje

Myšlenka mluvících a myslících strojů je velmi stará, podobně jako myšlenka strojů, které by uměly překládat mezi různými jazyky. V souvislosti s moderní informatikou musíme zmínit jejího zakladatele ‒ britského matematika Alana Turinga. Turing ve svém článku z roku 1950 Computing machinery and intelligence popsal test, který může sloužit (a dodnes slouží) k rozpoznání „inteligentních“ strojů. O strojích (nebo počítačových programech), které člověk v konverzaci nerozezná od jiného člověka, můžeme říci, že prošly Turingovým testem. V závěru zmíněného článku Turing píše:

We may hope that machines will eventually compete with men in all purely intellectual fields. But which are the best ones to start with? Even this is a difficult decision. Many people think that a very abstract activity, like the playing of chess, would be best. It can also be maintained that it is best to provide the machine with the best sense organs that money can buy, and then teach it to understand and speak English. This process could follow the normal teaching of a child. Things would be pointed out and named, etc. Again I do not know what the right answer is, but I think both approaches should be tried.

Dnes, po více než 60 letech, víme mnohem více, avšak Turingovy otázky nás trápí stále: co musí umět inteligentní počítač, abychom mu mohli říkat „inteligentní“? Máme počítačové programy, které umí hrát šachy, máme programy, které umí řídit auto, existuje počítač, který vyhrál hru Riskuj. V každém z uvedených případů bychom se však zdráhali mluvit o počítači, který někomu nebo něčemu rozumí.

Tak aspoň mluvící stroje

Ukazuje se, že k mluvícím a myslícím strojům vede velmi dlouhá cesta, o které ani přesně nevíme, zda je schůdná. Vědecké úsilí o tuto oblast se rozdělilo na různé podúkoly. Jedním z nich je i zpracování přirozeného jazyka, totiž snaha o vytváření takových počítačových programů, které budou pracovat, jako kdyby rozuměly našemu lidskému jazyku.

Ani tento podúkol není snadný. Texty v přirozeném jazyce se skládají z vět, které na sebe navazují. Věty se skládají ze slov, která mají různé tvary i různé funkce. Slova jsou ve větě poskládána určitým způsobem a pokud je přeskládáme, věta může úplně změnit význam. Lidé jsou kreativní, a tak si vymýšlejí nová slova a stará slova používají v nových významech. Věty v přirozeném jazyce vypadají někdy zcela nelogicky nebo dokonce nepravdivě, a přesto jim rozumíme. A konečně, věta pronesená určitou osobou v určitém čase a místě může znamenat něco docela jiného, než tatáž věta pronesená někým jiným někde jinde. Všechny tyto aspekty zkoumáme odděleně i dohromady na tzv. jazykových i mimojazykových rovinách.

Přehled rovin zkoumání přirozeného jazyka

popis příklad
lexikální rovina slovní zásoba a její proměny Co je to step? Druh krajiny? Tanec? Anglicky krok?
morfologická rovina slovní tvary a způsob tvoření nových slov Jak skloňovat slovo step? Jak skloňovat slovo lalulá?
syntaktická rovina shlukování slov do větších celků (frází), organizace frází ve větě Je nějaký rozdíl mezi frázemi hodný syn nehodného otce a nehodný syn hodného otce?
logická rovina reprezentace vět pomocí logických formulí Když je Petra Pavlovou sestrou, je Pavel Petřiným bratrem? Když je Petra Pavlovou životní láskou, je Pavel Petřinou životní láskou?
sémantická rovina význam celku a význam jednotlivých částí Co znamená pět na stole v českých? Kdo zemřel v tomto novinovém titulku: Žárlivost dovedla ženu až k vraždě. Její druh útok nožem nepřežil?
pragmatická rovina význam promluvy v kontextu Co se děje, když někdo řekne Můžete mi prosím podat sůl?

Pro zpracování jednotlivých jazykových i mimojazykových rovin potřebujeme naprosto různé nástroje. Například pro práci na lexikální rovině musíme mít seznam slov, která se v určitém jazyce používají, zatímco pro práci na sémantické rovině potřebujeme znalosti o světě. Na různých rovinách používáme různé algoritmy. Velmi často také na jedné rovině zpracování potřebujeme informace z rovin ostatních. Každá konkrétní aplikace je tedy výsledkem využití algorimů a datových zdrojů na několika rovinách zpracování přirozeného jazyka.

Podívejte se, na čem pracujeme v CZPJ a vyzkoušejte si některé naše nástroje.