Wikipedista:Veronika Gregorová/Generování přirozeného jazyka

Z Wikipedie, otevřené encyklopedie

Generování přirozeného jazyka ( z angl. NLG „natural language generation“ ) je softwarový proces, který transformuje strukturovaná data do přirozeného jazyka. To může být využito k vytváření vlastního obsahu pro web nebo mobilní aplikace. Stejně tak lze generování přirozeného jazyka použít pro generování krátkých textů v interaktivních konverzacích ( chatbot ), které mohou být dokonce přečteny systémem převodu textu na řeč .

Generování přirozeného jazyka (dále GPJ)je srovnatelné s procesem, který lidé používají při transformování myšlenky v psaný text nebo řeč. Psycholingvisté dávají přednost termínu produkce jazyka pro tento proces, který lze také popsat matematicky nebo modelovat v počítači pro psychologický výzkum. Systémy GPJ lze také přirovnat k překladačům umělých počítačových jazyků, jako jsou dekompilátory nebo transpilátory, které vytvářejí kód generovaný z mezijazyka . Lidské jazyky mají tendenci ke složitosti a umožňují mnohem větší míru mnohoznačnosti a rozmanitosti projevu než programovací jazyky, díky tomu je GPJ mnohem náročnější.

Na GPJ lze nahlížet jako na protiklad porozumění přirozenému jazyku : zatímco v porozumění přirozenému jazyku (dále PPJ) musí systém disambiguovat (zbavit mnohoznačnosti) vstupní větu, aby vytvořil strojový reprezentační jazyk, v GPJ musí systém rozhodovat o tom, jaký koncept vložit do slova. PPJ se musí vypořádat s nejasným nebo chybným vstupem/vkladem uživatele, zatímco myšlenky, které systém chce prostřednictvím GPJ vyjádřit, jsou obecně známy. GPJ si musí vybrat konkrétní, vzájemně konzistentní textovou reprezentaci z mnoha potenciálních reprezentací, zatímco PPJ se obecně snaží vytvořit jednu normalizovanou reprezentaci vyjádřené myšlenky. [1]

Generování přirozeného jazyka existuje již dlouhou dobu, ale komerční technologie GPJ se teprve nedávno staly dostupnými pro širší veřejnost. Techniky GPJ sahají od jednoduchých systémů založených na šablonách, jako je hromadná korespondence, která generuje formuláře, až po systémy, které jsou schopny komplexně porozumět lidské gramatice. GPJ lze také vytvořit výcvikem statistického modelu pomocí strojového učení, obvykle na velkém korpusu textů napsaných člověkem. [2]

Příklad[editovat | editovat zdroj]

Pylová předpověď pro Skotsko [3] je jednoduchým příkladem GPJ, který by mohl být v podstatě šablonou. Tento systém bere jako vstup šest čísel, která udávají předpokládané množství pylových alergenů v ovzduší v různých částech Skotska. Z těchto čísel generuje systém jako svůj výstup krátké textové shrnutí množství pylových alergenů.

Například pomocí historických dat k 1. červenci 2005 software vytvoří:

Množství pylových alergenů trávy v pátek vzrostlo z mírné úrovně na vysokou v porovnání se včerejším dnem s hodnotami kolem 6 až 7 ve většině částí země. Avšak v severních oblastech bude množství pylových alergenů mírné s hodnotami 4.

Pro porovnání, skutečná předpověď (napsaná lidským meteorologem) z těchto dat byla:

Očekává se, že množství pylových alergenů zůstane na úrovni 6 na většině území Skotska a dokonce na úrovni 7 na jihovýchodě. Jediné zmírnění je na severních ostrovech a na severovýchod od pevninského Skotska se středními úrovněmi množství pylových alergenů.

Porovnání těchto dvou přístupů ilustruje proces výběru, který musí GPJ podstoupit (viz níže).

Fáze[editovat | editovat zdroj]

Výsledky procesu generování textu mohou být uspokojivé v jednoduchých doménách, jako jsou horoskopické generátory nebo generátory personalizovaných obchodních mailů. Sofistikovaný systém GPJ však musí zahrnovat fáze plánování a slučování informací, aby se umožnilo generování textu, který vypadá přirozeně a nestane se repetitivní. Typické fáze generování přirozeného jazyka, jak navrhuje Dale a Reiter [1] jsou:

Stanovení obsahu: Rozhodnutí, jaké informace v textu uvést. Například ve výše uvedeném příkladu pylu se rozhoduje, zda explicitně zmínit, že úroveň pylu je 7 na jihovýchodě.

Struktura dokumentu: Celková organizace předávaných informací. Například se rozhodneme nejprve popsat oblasti s vysokou hladinou pylu místo oblastí s nízkou hladinou pylu.

Agregace : Sloučení podobných vět za účelem zlepšení čitelnosti a přirozenosti. Například sloučením dvou následujících vět:

  • Množství pylových alergenů trávy v pátek vzrostlo z mírných úrovní na vysoké oproti včerejšku a
  • Množství pylových alergenů trávy se bude pohybovat kolem úrovně 6 až 7 ve většině částí země

do této jediné věty:

  • Hladiny pylů trávy v pátek vzrostly z mírných na vysoké úrovně včerejšího dne s hodnotami kolem 6 až 7 ve většině částí země .

Lexická volba: Uvedení slov do konceptů. Například při rozhodování, zda se má použít označení střední nebo mírný pro popis úrovně 4.

Generování odkazovacích výrazů: Vytvoření odkazovacích výrazů, například rozhodnutí použít na severních ostrovech a na severovýchod od pevninského Skotska odkazuje na určitou oblast ve Skotsku. Tato operace také zahrnuje rozhodování o zájmenech a jiných typech anafory .

Realizace: Vytvoření vlastního textu, který by splňovat pravidla syntaxe, morfologie a pravopisu . Například při užití slovesa být do budoucího času tvar bude .

Alternativní přístup k GPJ spočívá v použití strojového učení „end-to-end“ k sestavení systému, aniž by byly oddělené fáze, jak je uvedeno výše. [4] Jinými slovy, stavíme systém GPJ trénováním algoritmu strojového učení (často LSTM z angl. Long short-term memory) na velké datové sadě vstupních dat a odpovídajících (lidsky psaných) výstupních textů. End-to-end přístup byl možná nejúspěšnější v titulcích obrázků [5] které automaticky generují textové titulky pro obraz.

Aplikace[editovat | editovat zdroj]

Populární média věnovala největší pozornost systémům GPJ, které generují vtipy (viz výpočetní humor ), ale z komerčního hlediska jsou nejúspěšnějšími aplikacemi GPJ systémy dat-text, které generují textová shrnutí databází a datových souborů; tyto systémy obvykle provádějí analýzu dat a generování textu. Výzkum ukázal, že textová shrnutí mohou být pro podporu rozhodování efektivnější než grafy a jiné vizuální prvky, [6] [7] [8] a že počítačem generované texty mohou být lepší (z pohledu čtenáře) než texty psané člověkem. [9]

První komerční systémy data-to-text vytvořily předpovědi počasí z údajů o počasí. První takový systém, který měl být implementován, byl FoG [10] který byl používán agenturou Environment Canada k vytváření předpovědí počasí ve francouzštině a angličtině na počátku 90. let. Úspěch FoG spustil další práci, výzkumnou i komerční. Mezi nejnovější aplikace patří předpověď britské kanceláře Office Met . [11]

V současné době existuje značný komerční zájem o použití GPJ pro shrnutí finančních a obchodních údajů. Gartner se nechal slyšet, že GPJ se stane standardní funkcí 90% moderních BI a analytických platforem. [12] GPJ se také komerčně používá v automatizované žurnalistice, chatbotech, pro generování popisů produktů pro stránky elektronického obchodování, sumarizování lékařských záznamů [13] [14] a zvyšování dostupnosti (například popisováním grafů a datových souborů nevidomým [15] )) .

Příkladem interaktivního použití GPJ je rámec WYSIWYM (z angl. Co vidíte, je to, co jste si mysleli) a umožňuje uživatelům vidět a manipulovat s nepřetržitě vykresleným zobrazením (výstup GPJ) podkladového formálního jazykového dokumentu (vstup GPJ), čímž lze editovat formální jazyk bez jeho učení.

Systémy generování obsahu pomáhají spisovatelům zefektivnit proces psaní. Byl vytvořen nástroj pro generování obsahu založený na webové těžbě pomocí API vyhledávačů. [16] Tento nástroj napodobuje scénář zápisu a vkládání, kde spisovatel vytváří svůj obsah z různých výsledků vyhledávání. Pro odfiltrování irelevantní výsledků vyhledávání je nezbytné ověření relevance; je založeno na porovnávání stromu analýzy dotazu se stromy analýzy odpovědí kandidáta. [17] V alternativním přístupu se používá struktura automatizovaného textu na vysoké úrovni k automatickému vytváření šablony pro nové téma pro automaticky psaný článek na Wikipedii . [18]

Od roce 2009 bylo založeno několik společností vytvářejících systémy, které transformují data do vyprávění pomocí technik GPJ a Umělé inteligence (AI) . Patří mezi ně Narativní věda, Phrasetech, Arria NLG, Automated Insights, Retresco, Visual NLG, Yseop a United Robots . Existují také open-source řešení GPJ, například RosaeNLG a SimpleNLG .

Hodnocení[editovat | editovat zdroj]

Stejně jako v jiných vědeckých oborech musí vědci GPJ testovat funkci jejich systémů, modulů a algoritmů. Tomu se říká hodnocení . Pro hodnocení systémů GPJ existují tři základní techniky:

  • Vyhodnocení na základě úkolu (vnější): odevzdat vygenerovaný text osobě a posoudit, jak dobře mu pomáhá při plnění úkolu (nebo jinak dosahuje jeho komunikačního cíle). Například systém, který vytváří souhrny lékařských údajů, může být vyhodnocen poskytnutím těchto shrnutí lékařům a posouzením, zda souhrny pomáhají lékařům lépe se rozhodovat. [14]
  • Lidské hodnocení: odevzdat vygenerovaný text osobě a požádat jej, aby ohodnotil kvalitu a užitečnost textu.
  • Metriky: porovnání generovaného texty s texty psanými lidmi ze stejných vstupních dat pomocí automatické metriky, jako je BLEU .

Maximálním cílem je, jak užitečné systémy GPJ pomáhají lidem, což je první z výše uvedených technik. Hodnocení na základě úkolů jsou však časově náročná a nákladná a je obtížné je provádět (zejména pokud vyžadují předměty se specializovanými odbornými znalostmi, jako jsou lékaři). Proto (stejně jako v jiných oblastech GPJ) jsou hodnocení založená na úkolech výjimkou, nikoli normou.

V současné době vědci hodnotí, jak dobře lidské hodnocení a metriky korelují s (predikcí) hodnocení založenou na úkolech. Práce probíhají v souvislosti s Generation Challenges [19]. Počáteční výsledky naznačují, že hodnocení lidí je v tomto ohledu mnohem lepší než metrika. Jinými slovy, lidská hodnocení obvykle předpovídají efektivitu úkolu alespoň do určité míry (i když existují výjimky), zatímco hodnocení vytvářená metrikami často dobře nepředvídají efektivitu úkolu. Tyto výsledky jsou předběžné. V každém případě jsou lidská hodnocení nejoblíbenější technikou hodnocení v GPJ; toto je kontrast k strojovému překladu, kde metriky jsou široce používány.

Viz také[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  1. a b [s.l.]: [s.n.] ISBN 978-0-521-02451-8. 
  2. Perera R., Nand P. Recent Advances in Natural Language Generation: A Survey and Classification of the Empirical Literature. Computing and Informatics. 2017, s. 1–32. DOI 10.4149/cai_2017_1_1. 
  3. R Turner, S Sripada, E Reiter, I Davy (2006). Generating Spatio-Temporal Descriptions in Pollen Forecasts. Proceedings of EACL06
  4. Dostupné online. 
  5. Dostupné online. 
  6. Law A., Freer Y., Hunter J., Logie R., McIntosh N., Quinn J. A Comparison of Graphical and Textual Presentations of Time Series Data to Support Medical Decision Making in the Neonatal Intensive Care Unit. Journal of Clinical Monitoring and Computing. 2005, s. 183–94. DOI 10.1007/s10877-005-0879-3. PMID 16244840. 
  7. Gkatzia D., Lemon O., Reiser V. Data-to-Text Generation Improves Decision-Making Under Uncertainty. IEEE Computational Intelligence Magazine. 2017, s. 10–17. Dostupné online. DOI 10.1109/MCI.2017.2708998. 
  8. Dostupné online. 
  9. Reiter E., Sripada S., Hunter J., Yu J., Davy I. Choosing Words in Computer-Generated Weather Forecasts. Artificial Intelligence. 2005, s. 137–69. DOI 10.1016/j.artint.2005.06.006. 
  10. Goldberg E., Driedger N., Kittredge R. Using Natural-Language Processing to Produce Weather Forecasts. IEEE Expert. 1994, s. 45–53. DOI 10.1109/64.294135. 
  11. S. Sripada, N. Burnett, R. Turner, J. Mastin, D. Evans(2014). Generating A Case Study: NLG meeting Weather Industry Demand for Quality and Quantity of Textual Weather Forecasts. Proceedings of INLG 2014
  12. Dostupné online. 
  13. In: [s.l.]: [s.n.] Dostupné online.
  14. a b PORTET F., Reiter E., Gatt A., Hunter J., Sripada S., Freer Y., Sykes C. Automatic Generation of Textual Summaries from Neonatal Intensive Care Data. Artificial Intelligence. 2009, s. 789–816. Dostupné online. DOI 10.1016/j.artint.2008.12.002.  Chybná citace: Neplatná značka <ref>; název „portet“ použit vícekrát s různým obsahem
  15. http://www.inf.udec.cl/~leo/iGraph.html
  16. [s.l.]: [s.n.] ISBN 978-3-642-36972-8. DOI 10.1007/978-3-642-36973-5_95. 
  17. Galitsky B., de la Rosa J. L., Dobrocsi G. Inferring the semantic properties of sentences by mining syntactic parse trees. Data & Knowledge Engineering. 2012, s. 21–45. DOI 10.1016/j.datak.2012.07.003. 
  18. Sauper, Ch.; BARZILAY, R. Automatically Generating Wikipedia Articles: A Structure-Aware Approach. Proceedings of ACL. 2009. 
  19. Generation Challenges 2009

Další čtení[editovat | editovat zdroj]

  • [s.l.]: [s.n.] ISBN 978-0-521-02451-8. 
  • Evans, Roger; Piwek, Paul; Cahill, Lynne (2002). "What is NLG?". New York, US. paper
  • Gatt, Albert; Krahmer, Emiel (2018). "Survey of the State of the Art in Natural Language Generation: Core tasks, applications and evaluation". Journal of Artificial Intelligence Research. 61: 65–170. arXiv:1703.09902. doi:10.1613/jair.5477.
  • Dostupné online. 

Externí odkazy[editovat | editovat zdroj]

  • ACL Zvláštní zájmová skupina pro generaci ( SIGGEN )
  • SIGGEN součástí ACL Anthology (obsahuje výzkumné práce NLG)
  • ACL NLG Portal (obsahuje seznam zdrojů NLG)
  • „Téměř úplný“ seznam NLG systémů společnosti Bateman a Zock, který je nyní veden jako Wiki s řadou vizualizací a přehledných tabulek dostupných na vyžádání
  • Blog Ehuda Reitera o generování přirozeného jazyka
  • RosaeNLG RosaeNLG je open-source (MIT) knihovna NLG napsaná v JavaScriptu, založená na enginu Pug šablony (podporuje jakýkoli jazyk a v současné době je dodávána s prostředky pro angličtinu, francouzštinu, němčinu a italštinu)
  • KPML - univerzální systém generování přirozeného jazyka s grafickým uživatelským rozhraním pro vývoj a gramatiky různých velikostí pro čínštinu, češtinu, holandštinu, angličtinu, francouzštinu, němčina, řečtinu, japonštinu, portugalštinu, ruštinu a španělštinu
  • SimpleNLG - Open source Java knihovna pro pomoc v NLG (pouze v angličtině)
  • SimpleNLG-EnFr - Open source adaptace knihovny Java na SimpleNLG, která přidává francouzskou podporu.
  • Cerebellum - znakový generátor jazykových modelů pro angličtinu, gruzínštinu, maďarštinu, japonštinu, ruštinu, turečtinu, slovenštinu, češtinu a latinu