1 / 26

Modul text miningu

Stanislav Kunt Tým kolem softwaru OBBB „Marcelova armáda“. Modul text miningu. Osnova. Účel text miningu, typické úlohy, modul pro OBBB 1. fáze řešení – rešerše a koncepce 2. fáze řešení – zahájení tvorby modulu pro OBBB Seznámení s prostředím Návrh datové struktury pro dokumenty

yazid
Download Presentation

Modul text miningu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Stanislav Kunt Tým kolem softwaru OBBB „Marcelova armáda“ Modul text miningu

  2. Osnova • Účel text miningu, typické úlohy, modul pro OBBB • 1. fáze řešení – rešerše a koncepce • 2. fáze řešení – zahájení tvorby modulu pro OBBB • Seznámení s prostředím • Návrh datové struktury pro dokumenty • Bloky Import Stringu, Import TXT a Document Viewer • Problematika získávání dokumentů + nástin programátorského řešení • Vize dalšího vývoje • Knihovny potřebné do budoucna

  3. Účel text miningu • Text mining = dolování z textu • Podoblast data miningu • Cílem je identifikovat a analyzovat užitečné informace v textech • Vstupem je nestrukturovaný text, výstupem požadované strukturované informace zjištěné analýzou textu

  4. Typické úlohy • Kategorizace – zařazení textu (dokumentu) do jedné nebo několika připravených skupin • Shlukování – dokumenty jsou tříděny do skupin podle vzájemných podobností • Shrnutí – automatické shrnutí dokumentu, vybere důležité pasáže • Extrakce informací – automatické získání požadovaných strukturovaných informací • Rozpoznání entit – „Václav Klaus“ = prezident • Analýza sentimentu – analýza citově zabarvených slov k odhadu autorova postoje k předmětu zprávy

  5. Využití text miningu • Bezpečnost – analýza zpráv na internetu, kryptografie • Marketing – procházení webových stránek konkurence, analýza odpovědí z dotazníků (otázky s volnou odpovědí) • Komunikace – SPAM filtry, automatické třídění zpráv • Analýza záznamů a otevřených textů – reklamece, pojistné zprávy, vstupní pohovory • Určení autorství textu – přiřazení autora textu pomocí analýzy textů vytvořených známými autory • Biomedicína – analýza lékařských zpráv, hledání entit (známé názvy chorob, farmak apod.), prohledávání databází vědeckých článků, jejich vzájemné tematické provazování, odkazování na biomedicínské databáze

  6. Modul text miningu pro OBBB • Výstupem by měl být: • Indexový soubor • Četnosti zastoupení slov (frekvenční analýza) • Statistické údaje o slovech v indexovém souboru (počet, četnosti zastoupení znaků, průměry, mediány délky, …) • Předpokládá se napojení na jiné moduly k vizualizaci a dalšímu zpracování (shluková analýza, klasifikace, histogramy)

  7. 1. Fáze řešení: Rešerše • V rámci rešerše byl vytvořen přehled 20 text miningových programů • Zjišťována byla podpora vstupních formátů, dostupné funkce pro analýzu, podporované výstupní formáty • Většina programů byla pod licencí freeware nebo open source

  8. 1. Fáze řešení: Rešerše • Web crawling (web-spider) – získání stromu odkazy provázaných webových stránek a odkazovaných souborů na základě vstupní stránky (seed). • Frekvenční analýza (seznam slov, frekvenční matice) – vytvoření seznamu slov ve zdroji (zdrojích => frekvenční matice) s jejich četností. • Frekvenčně-poziční analýza (distribuční analýza) – zobrazení závislosti relativní četnosti výskytu vybraného slova na pozici ve zdroji (v souboru). • Zobrazení slova s kontextem (cluster, concordance) – zobrazení vybraného slova společně s okolními slovy (v kontextu) až do nastavené šířky • Kolokační analýza –k vybranému slovu vytvoří seznam slov s jejich četnostmi, které se hledaným slovem vyskytují v kontextu. • Hledání častých slovních spojení– vyhledá a vypíše častá slovní spojení – tj. slova, která spolu ve zdroji často sousedí. • Lexikální analýza – každému slovu v textu přiřazuje syntaktické kategorie (mluvnické kategorie + další) • Porovnávání dvou textů – hledá rozdíly mezi dvěma texty, přidané, odebrané, přesunuté a změněné pasáže • Tagování textů – Vyhledávání termínů (entit) v textech a následné navázání odkazu na znalostní báze

  9. 1. Fáze řešení: Koncepce • Text mining jsem rozdělil do podproblémů: • Seznam zdrojů – Je třeba umožnit zadání, uchování nebo generování odkazů na texty, dokumenty, které následně vstupují do procesu TM • Import textu ze souborů různých formátů – Načítání textu z dokumentů Wodu, OpenOfficu, webových stránek, … • Normalizace textu – Převod na jednotné kódování, substituce znaků, ořezání interpunkce, … • Indexovací bloky a operace s indexy – Tvorba indexu, slučování a průnik indexů, filtrování indexu • Analýza indexu – Statistická analýza indexu, převod indexu na formát (tabulka) vhodný pro zpracování v jiných modulech, vyhledávání v indexu

  10. 1. Fáze řešení: Koncepce Sezam zdrojů Import textu a informací o dokumentu Indexování Analýza indexu Normalizace textu Jiné moduly

  11. 2. Fáze řešení: Seznámení • Seznámil jsem se s programovacím jazykem Java, prostředím NetBeans a způsobem tvorby nových bloků pro OBBB • Nainstaloval jsem potřebný software a začal tvořit

  12. 2. Fáze řešení: Návrh datových struktur • Datová struktura pro uchovávání dokumentů • Umístění a formát dokumentu • Textový obsah dokumentu • Strukturované informace o dokumentu a pokyny k dalšímu zpracování • Dvojí podoba – třída a XML • Třída – vnitřní reprezentace, metody pro operace • XML – k předávání mezi bloky a ukládání

  13. 2. Fáze řešení: Návrh datových struktur <?xml version="1.0" ?> <Documents> <Document url="E:\OBBB_prezentace\babička.txt" type="text/plain"> <Parameters> <Parameter name="lastModified" source=„ResourceManager"> datum poslední změny </Parameter> </Parameters> <content> Textový obsah dokumentu </content> </Document> <Document url="E:\OBBB_prezentace\Saturnin.txt" type="text/plain"> <Parameters>…</Parameters><content>…</content> </Document> </Documents>

  14. 2. Fáze řešení: Tvorba bloků skupiny Import • Zajišťují načtení textu a doplňkových informací z dokumentu • Bloky pro import z TXT, DOC(X), ODT, PDF, HTML, RTF, … • Zatím jsem vytvořil blok pro Import Stringu a Import TXT

  15. Blok Import String • Umožňuje zadání textu do prvku JTextArea • Bude umožňovat zadání parametrů • Výstupem je XML reprezentace dokumentu • Vstupem může být textový řetězec „String“

  16. Blok Import String

  17. Blok Import TXT • Načítá text z formátu text/plain (přípona .TXT) • Cestu k souboru umožňuje zadat pomocí dialogu výběru souboru, přímým vepsáním a to buď ve formátu lokální cesty nebo URL • Pokud je zapojen vstup, načítá text pro dokumenty ze vstupu • Výstupem je XML reprezentace dokumentů

  18. Blok Import TXT

  19. Blok Document viewer • Kontrolní blok • Umožňuje zobrazení načtených dokumentů v prostředí GUI • Má pouze vstup, na který se přivádí dokumenty v XML reprezentaci k zobrazení

  20. Blok Document viewer

  21. Ukázka práce s bloky v prostředí OBBB • Načtení několika dokumentů formátu text/plain (TXT) a jejich kontrola v DocumentVieweru

  22. Problematika získávání dokumentů a zvolené řešení • Při získávání textu z dokumentů je třeba: • Zjistit formát dokumentu • Podle přípony, podle MediaTypu (web), podle hlavičky, hlubší analýzou • Najít třídu pro zpracování tohoto formátu • Využít metody této třídy k načtení textu a doplňkových informací • Řešení: třída uchovávající informace o všech podporovaných formátech, odpovídajících příponách a odkazy na třídy zpracovávající jednotlivé formáty

  23. Vize dalšího vývoje • Uvést koncepci do aktuálního stavu • Popsat hotové bloky na wiki, JavaDoc • Vytvořit blok pro uchovávání seznamu zdrojů (odkazů na dokumenty) • Začít řešit problematiku indexování • Bloky pro import dalších formátů • Bloky pro základní analýzy indexu • Další bloky podle koncepce …

  24. Knihovny potřebné do budoucna • Knihovny pro import formátů - Apache Tika • sdružuje knihovny pro načítání různých formátů, všechny knihovny jsou sloučeny pod jedno rozhraní, k načtení textu z libovolného souboru stačí jedna metoda • Nevýhoda: velikost 25 MB, podporuje příliš mnoho formátů, pro získání větší volnosti v nastavení importu je nutné obejít základní třídu a využívat metody tříd pro jednotlivé formáty • Řešení: Využít / Ořezat / Jednotlivé knihovny ???

  25. Knihovny potřebné do budoucna • Knihovny pro indexování • Je třeba rozmyslet, jaké informace budou v rámci indexu uchovávány (slovo, základní tvar, pozice vůči ostatním slovům, informace o dokumentu, …) • Udělat rešerši existujících řešení • Využít nějakou knihovnu / upravit existující knihovnu / naprogramovat něco vlastního ???

  26. Děkuji za pozornost

More Related