Sémantické technologie: Analýza významu a datamining

1. 12. 2013

Sdílet

 Autor: © Ben Chams - Fotolia.com
Automatické zpracování znalostí a významu se v praxi neobejde bez kombinací metod z různých oborů jako je datamining, machine learning, nebo počítačová lingvistika. Několik existujicích frameworků usnadňuje kombinování různých metod pro vytvoření aplikace, která řeší například analýzu sentimentu.“

 

Neats a scruffies

V předchozích dílech seriálu jsme se věnovali technologiím založeným na logice, sémantických sítích nebo grafech, čili technologiemi, které se snaží úlohy řešit čistě a přesně (neat). Ty tvoří pouze jednu část znalostních technologií. Druhá část je špinavější (scruffy) v tom smyslu, že je praktičtěji zaměřená a nesnaží se vždy o přesné, čisté a teoreticky dobře zdůvodněné řešení.

Rozdíl mezi neats a scruffies byl v oblasti umělé inteligence popsán Rogerem Schankem v polovině sedmdesátých let minulého století. Roger Schank se zabýval především zpracováním přirozeného jazyka.
Tento proces nemusí ale být vždy nutně „špinavé,“ jak by jistě rád poznamenal Noam Chomsky, který na toto téma vede spory například s Peterem Norvigem z Googlu, který prosazuje statistické zpracování přirozeného jazyka. To sice funguje, ale neposkytuje vysvětlení proč.

Peter Norvig, známý vědec a autor populární učebnice umělé inteligence, je odborníkem na strojové učení a datamining a zastává názor, že strojové překlady (jako Google Translate) je potřebné a vhodné uskutečňovat na základě statistických modelů jazyků zpracovaných díky obrovskému množství dat posbíraných na webu.

Chomskému, který je velmi známým lingvistou a vlivným intelektuálem, se tento přístup nelíbí, protože se nesnaží vysvětlit jádro problému a podle
Chomského tak výrazně nepřispívá k vědeckému poznání; jinak řečeno, statistickými metodami umíme automaticky překládat, ale tato schopnost nám neposkytuje žádný vhled do podstaty jazyků a myslí lidí.

IBM Watson a UIMA

V praxi většinou vyhrává kombinace obou přístupů. Tak je tomu například u systému IBM Watson, který spojuje algoritmy zpracování přirozeného jazyka s ontologiemi a Linked Data, a poslední dobou také u Google Knowledge Graph, jehož tým také využívá oba přístupy. Metody automatického zpracování přirozeného jazyka mají v současnosti mnoho aplikací.

Používají se například i pro rozpoznávání řeči a spamu, analýzu sentimentu (emočního zabarvení textu – například agresivních a vulgárních komentářů v diskuzích na webu) nebo i pro hloubkové porozumění řeči a textu jako v případě IBM Watson.

IBM vyvinulo systém na analýzu obsahu UIMA, který je od roku 2006 spravován jako projekt Apache Foundation. UIMA tvoří základ technologie DeepQA, na které stojí sytém IBM Watson.

UIMA

UIMA je modulární framework pro stavbu velkých i distribuovaných aplikací pro analýzu nestrukturovaného obsahu jako je text, zvuk a video. UIMA a její plug-iny umožňují sestavení pipeline.

Každá část této pipeline vykonává svůj úkol, jako je např. detekce jazyka, rozdělení textu na tokeny v závislosti na jazyce, analýza větných členů, rozpoznání druhů entit (jména lidí, měst, firmy, události…).

UIMA řídí předávání dat mezi komponentami, přičemž každá může běžet na vlastním hardwaru a může být napsána v Javě nebo C++.

Mnoho modulů je již napsaných a volně k dispozici takže v mnoha případech stačí tento framework pouze nakonfigurovat a ve vlastní aplikaci pak už jen konzumovat ne surový text, ale předzpracovaná strukturovaná data obohacená o spoustu užitečných informací.

K dispozici je i integrace s jinými existujícími službami a nástroji, jako jsou Tika (nástroj pro extrakci metadat a strukturovaného textu ze zdrojů dat v různých formátech jako je např. Excel, Word, PowerPoint, PDF, Gzip, MP3…), Lucene (knihovna pro fulltextové vyhledávání), Solr (vyhledávací server postavený na Lucene), OpenCalais (služba pro rozpoznávání entit), a další.

Alternativou k frameworku UIMA, který je od roku 2009 i OASIS standardem, je software GATE. Je zaměřen především na zpracování textu a od začátku nabízí vlastní funkce pro zpracování textu kdežto UIMA se vždy více zaměřovala na poskytování modulární architektury.

V současnosti jsou oba projekty částečně integrované a je možné je s výhodou používat společně. Pokud je potřeba pouze analýza textu, pak stačí sáhnout například po knihovně OpenNLP, která je menší, ale poskytuje většinu základních služeb jako je tokenizace, segmentace vět, analýza větných členů, i rozpoznávání entit a další.

Zpracování přirozeného jazyka je velmi obtížný problém a úspěšné systémy většinou kombinují mnoho různých metod, a přesto dokážou řešit jen velmi specializované úlohy. To je jedním z vysvětlení mírného rozčarování ze Siri od Applu nějakou dobu po jejím nadšeném přijetí.

ICTS24

Siri samotná je mimochodem jedním z výsledků mnohaletého obrovského výzkumného projektu umělé inteligence CALO, který měl za cíl vyvinout technologie pro vytvoření umělého osobního asistenta.

Autor je research engineer v DERI Galway a SindiceTech