Alík

  • Alíkoviny
  • Klubovna
  • Hry
  • Nástěnky
  • Soutěže
  • Vtipy
  • Poradna
  • Copak hledáme:
    Kde hledáme: Přihlášení uživatelé mají lepší možnosti hledání.
    Jsi tu poprvé?

    Alíkovina

    Jak AI pracuje s jazykem?

    Chcete se dozvědět, jak AI umožňuje počítačům porozumět a analyzovat lidský jazyk? Od základních technik zpracování textu až po pokročilé metody strojového učení, objevíme nejnovější trendy v AI a zjistíme, jaké jsou výzvy a možnosti v této proměnlivé oblasti.

    AI na ilustračním obrázku, © Alexandra_Koch

    AI není celostní objekt. Jedná se o soubor modulů, které napomáhají v určité oblasti. Tento článek bych chtěl věnovat modulu AI, kterému se zkráceně říká NLP.

    Co je to vůbec NLP? NLP značí: „Natural Language Processing“, což je česky: „Přirozené zpracování jazyka“. Používá se zejména v odvětví umělé inteligence pro její učení a poté vytváření složitých jazykových modelů, které se pak využívají pro různé účely, například i pro ChatGPT.

    Kdybych začal jednoduše, tak NLP umožňuje počítači pochopit, co mu říkáme my, lidi, obyčejným jazykem a ne programovacím. Jak vlastně takové NLP vznikne? Všechno se vlastně zakládá na strojovém a tzv. hlubokém učení.

    Strojové a hluboké učení

    Strojové učení je metoda učení, kde se umělá inteligence snaží provést to, k čemu nebyla přímo naprogramována. Může se učit tak s učitelem. Umělé inteligenci člověk ukáže požadovaný vstup a výstup programu a umělá inteligence se bude snažit i v jiných případech najít souvislost, kterou našla v prvním řešení s učitelem.

    Nebo jí učitel řekne, že má samostudium. Po umělé inteligenci bude požadována určitá analýza vstupu a popsání obecných rysů bez dozoru člověka.

    Třetí metodou by mohlo být tzv. silové učení. Umělá inteligence je v měnícím se prostředí a snaží se o dosáhnutí určitého cíle např. výhry ve hře (dát mat v šachách).

    Hluboké učení je také metoda učení umělé inteligence, která je podobná strojovému učení. Výstupy se ale rozdělí na více omezenějších vrstev a na každé vrstvě se provádí znovu strojové učení. Dělá se to pro zvětšení efektivity a přesnosti výstupu.

    Vývoj NLP

    Pro vývoj umělé inteligence, nebo i jiného druhu obsahu na počítači, je lepší znát nějaký programovací jazyk. Nejprve popíšu stručné podklady pro napsání NLP s pomocí Pythonu, ale jestli neumíte Python ani žádný jiný programovací jazyk a stejně byste chtěli něco vyvinout, tak to tu zmíním také. O:-)

    Jsou různé jazyky a prostředí, ve kterých by se dala vyvinout umělá inteligence. Pokud si vybereme ten Python, zjistíme, že nástrojů a knihoven pro vývoj NLP pro něj existuje nejvíce. Já jsem vybral knihovny stanza a TensorFlow.

    Pro obě možnosti je nutné nainstalovat Minicondu a vytvořit prostředí v Anaconda. Na oficiálním webu je možné najít návod k instalaci. Pro vytvoření NLP s knihovnou stanza jsou důležité body:

    1. důležitý bod je o práci s daty, formáty a jejich zpracování, detekování jazyků atp.

    1. Neurologická pipeline
    2. Jazyky
    3. Mechanismus pro rozpoznání syntaxe a její vyhodnocení
    4. Trénink

    Toto je vše potřebné pro vytvoření NLP na základě knihovny stanza. Co ale TensorFlow? U něho je to dost podobné, ale on má větší a širší možnosti než jen NLP. Jelikož ale není tak úzce zaměřený a má trochu jiné nástroje i knihovny, tak má jisté technické požadavky. Proto není vhodný pro všechny.

    Chtěl bych ale uvést, že jelikož NLP je jen komponenta k libovolné aplikaci a je možné ji využít v různých účelech, tak úplně to bez znalostí programovacího jazyka nejde (ale nevěste hlavu, naučit se programovat není těžké!).

    API je něco jako poslíček mezi poskytovatelem služby a tvým kódem.

    Je ale možné využít NLP i jen s malými zkušenostmi, protože některé společnosti tuto technologii poskytují jako API. Bohužel je většinou placené. Příkladem takových poskytovatelů by mohl být Google a jeho Natural Language AI nebo AYLIEN, který využívá NLP pro sumarizaci knih, akademických článků nebo jiných velkorozměrných textů.

    Existují ale i jiné a dokonce neplacené alternativy, které oproti placeným ale nemusí zaručeně podporovat tvůj jazyk, můžou mít horší výsledky než placené varianty, můžou mít omezený počet dotazů na účet a také nemusí být stabilní (může spadnout server kvůli nějaké chybě nebo přetížení dotazy).

    Základní funkce NLP

    NLP může využívat řadu funkcí, ale uvedu jen ty nejdůležitější a nejzbytnější.

    Rozpoznávání hlasu

    Rozpoznávání hlasu neboli speech-to-text. Využívá se to zejména pro rozpoznávání hlasových příkazů (například v chytré domácnosti). Také to využívají hlasoví asistenti pro rozpoznání vaší řeči a následné převedení do textového dotazu. Je to docela složitý úkol, protože když mluvíme, tak spoustu slov slučujeme, mluvíme s nářečím nebo akcentem a nebo je vyslovujeme špatně z hlediska správné gramatiky.

    Rozpoznávání slovních druhů

    Pro nás je sice docela zřejmé co je to sloveso, citoslovce nebo předložka ve větě, ale pro počítač je to trochu obtížnější. Proto je také důležité zmínit i tuto záležitost NLP. Používá se jak pro rozpoznávání řeči, tak i pro formulaci odpovědi zpátky.

    Rozpoznání významu slov mnohoznačných a homonym

    Když se zeptáme počítače: „Jakým jazykem se mluví v Anglii?“, tak by nemusel pochopit slovo jazyk jako prostředek pro komunikaci mezi lidmi, ale jako část našeho ústního ústrojí a počítač by tím pádem vyhodnotil vstupní dotaz jinak, než by měl.

    Rozpoznání jmen

    Je to funkce, aby nezačal hledat, co nemá. Zkrátka kdybyste si s ním povídali a zmínili např. Aničku, tak aby korektně vyhodnotil vstupní data a pochopil, že se jedná o jméno a ne např. zkratku. Z tohodle důvodu potřebuje tuto funkci.

    Rozpoznání, když odkazujete na někoho

    Představme si, že formulujete trochu delší dotaz o nějaké osobě a protože se vám nechce neustále opakovat jméno té osoby, začnete místo jména používat nějaké zájmeno (on, ona, ono, oni...). Bylo dobrý, kdyby to počítač taky pochytil. :-D Tato funkce by měla zahrnovat také porozumění idiomům a metaforám v textu nebo také emocím a sarkasmu.

    Vytvoření správně formulované odpovědi

    To, že vás počítač pochopí, je sice úžasné, ale bez této funkce by vám ani neodpověděl, nebo by byla jeho odpověď hrozně divná. ;-D Proto existuje tato funkce, která využívá všechny ostatní funkce, ale opačně. Někdy se jí říká text-to-speech.

    A toto všechno by měl umět modul umělé inteligence NLP. Jak vidíte, je toho docela dost. Uvedl jsem jen základ, nicméně jestli byste se chtěli dozvědět více, tak bych se pokusil odpovědět na vaše dotazy v komentářích. ;-)

    Autor: (17 let)
    » přejít do diskuze

    Diskuze k článku  (0)

    O tomto článku zatím nikdo nediskutuje. Buď první!