Natural Language Toolkit NLTK

Slides:



Advertisements
Podobné prezentace
HYPERTEXT PREPROCESSOR. JAZYK PHP. Jazyk PHP (Hypertext PreProcessor) je intepretovaný jazyk určený pro web. Je celkem jednoduchý, snadno přenositelný.
Advertisements

Mobilní aplikace TECH/NTK. -cílem poskytnout rychlý a jednoduchý mobilní přístup k základním službám pro typické zákazníky NTK -část aplikační a informační.
Programová rozhraní pro grafické adaptéry
SAS Jan Blaťák Laboratoř vyhledávání znalostí Fakulta informatiky Masarykova Univerzita, Brno
Průvodce pro prostorové dotazy v systému PostGIS (plugin pro OpenJUMP) Vedoucí: Ing. Jan Růžička.Ph.D. Konzultant: Ing. Aleš Daněk Diplomová práce.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Programování PA - 2.
Lexikální a syntaktická analýza Jakub Yaghob
Tutoriál EBSCO Discovery Service ~ Jednoduché vyhledávání
Tvorba webových aplikací
Praha6.cz Nové trendy v e-publishingu Statické stránky, mapa stránek, menu a fulltextové vyhledávání.
17.Tabulkový procesor (filtrování a řazení dat, formuláře, podmínky a podmíněné formátování, export a import dat) Barbora Skoumalová 4.A.
Tabulkový procesor.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
PHP – Základy programování
Sémantická analýza Jakub Yaghob
Datové typy a práce s nimi
Úvod do korpusové lingvistiky 4
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Dokumentace objektů a zveřejnění funkcí
Představení nové verze OPSI Kamil Malinka Martin Lebeda PROJEKT financovaný z Operačního programu Vzdělávání pro konkurenceschopnost ZVYŠOVÁNÍ IT GRAMOTNOSTI.
Práce se šablonami v MS Word 2007
Filtrace web stránek s využitím profilu uživatele Petr Doskočil
POWER POINT 1 Základní pojmy Power Point - základní pojmy.
Databázové modelování
2 Petr Žitný znalosti.vema.cz 3 Báze znalostí Nová služba zákazníkům ▸Báze naplněná informacemi, ke které mají uživatelé přímý přístup Základní cíl ▸Poskytovat.
Aktivní škola - podpora, zlepšení kvality vzdělávání a výuky na základní škole Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem.
Střední škola živnostenská Sokolov, příspěvková organizace
Distribuce Linuxu Petr Novák. Obsah Distribuce - typy a trendy Konkrétní systémy: – Pro začátečníky: Ubuntu Fedora OpenSuSE PCLinuxOS – Pro pokročilejší:
Vzdálené počítačové sítě a programování v prostředí Windows Okruhy ke zkoušce z předmětu: Ing. Zdeněk Votruba LVALVA.
EBSCO Ramis Václavík Centrum informačních a knihovnických služeb Odbor informační podpory studia a výzkumu
B ORIS L EHEČKA, ODDĚLENÍ VÝVOJE JAZYKA ÚJČ AV ČR, V. V. I. DALIBORIS. CZ P RAŽSKÉ JARO V O STRAVĚ, 24. BŘEZNA 2015 Nástroje pro badatele (nejen)
Zkušenosti s nasazením svobodného software při výuce
EndNoteWeb a ResearcherID – užitečné nástroje Web Of Science
KORPUSY A KVANTITATIVNÍ DATA Úvod do korpusové lingvistiky 11.
doc. RNDr. Zdeněk Botek, CSc.
Scholar Google Vyhledávání je zaměřeno na informační zdroje z oblasti vědy, výzkumu a vzdělávání. Vyhledávání v angličtině.
PHP Programy pro tvorbu WWW stránek - 01
Balíky Hlavní balík - main - zatím jsme s jiným nepracovali Rozdělují tzv. namespaces = množiny jmen pro proměnné $lemma = "cukr"; znamená $main::lemma.
PRAXE V ČESKÉM PROSTŘEDÍ Úvod do korpusové lingvistiky 5.
Pavouk - telugština David Mareček. Telugština Používaný v indickém svazovém státě Ándharapradéš, kde je úředním jazykem. cca 70 miliónů mluvčích Používá.
Visual Basic - programování
Předzpracování nestrukturovaných dat pomocí jazyka Snowball , Brno Připravil: Bc. Pavel Řezníček.
Statistika v SAS (SAS STUDIO)
Vícerozměrné statistické metody Vícerozměrné statistické rozdělení a testy, operace s vektory a maticemi Jiří Jarkovský, Simona Littnerová.
Počítačové zpracování češtiny v Ústavu formální a aplikované lingvistiky
Klient pro správu databází MySQL 1 Klient pro správu databází MySQL Zbyněk Munzar České vysoké učení technické v Praze Fakulta elektrotechnická.
CJBB75 Základy využití korpusu pro praxi st G13.
Tabulkové editory © Tabulkové editory slouží k: vytváření a úpravě tabulek na rozdíl od textových editorů jsou tabulky v těchto editorech aktivní,
Tým 32, varianta b/4/I.  Jakub Kadlubiec  Roman Pijáček  Petr Pliska  Jan Štourač  Václav Tunka (vedoucí)
GIMP Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Jaroslav Zavadil. Dostupné z Metodického portálu ISSN: , financovaného.
Překladače 6. Sémantická analýza
Úvodní stručný kurs statistické analýzy dat v prostředí R Jakub Brom.
Databáze ● úložiště dat s definovaným přístupem ● typy struktury – strom, sekvence, tabulka ● sestává z uspořádaných záznamů ● databáze – struktura – záznam.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Programování mikropočítačů Platforma Arduino
Moduly.
Kvantitativní analýza cestopisů Karla Čapka
Číslo a název projektu: CZ /1. 5
Překladače Syntaktická analýza
Fulltextové vyhledávání
EconLit with Full Text Ivana Reznerová
Moderní didaktické technologie a zdroje informací
Fylogenetická evoluční analýza
Spojitá a kategoriální data Základní popisné statistiky
Jazykové korpusy (lingvistika, filologie, výuka jazyků)
Úvod do prostředí Upraveno pro verzi 2007
Přizpůsobení webu Microsoft SharePointu Online
Vyhledávání je zaměřeno na informační zdroje z oblasti vědy, výzkumu a
Vyhledávání je zaměřeno na informační zdroje z oblasti vědy, výzkumu a
Transkript prezentace:

Natural Language Toolkit NLTK

Stručná charakteristika NLTK je sada knihoven pro Python a programů pro symbolické a statistické zpracování přirozeného jazyka k dispozici jsou zdrojové kódy dokumentace tutoriály data (korpusy, seznamy slov, ...)

NLTK je určeno pro studenty zpracování přirozeného jazyka pro podporu výzkumu souvisejících oblastí, například: empirická ligvistika (korpusy) kongitivní vědy umělá inteligence, strojové učení vyhledávání znalostí

Motivační příklad 1 nltk.app.rdparser_app Ukázka rekurzivní sestupné analýzy shora dolů

Motivační příklad 2 nltk.app.srparser_app Ukázka posuvně- redukční analýzy zdola nahoru

Motivační příklad 3 nltk.app.chartparser_app Analýza zdola nahoru může najít jen jedno vyhodnocení, někdy nenalezne existující řešení Analýza shora dolů může být značně neefektivní (pro LR gramatiky může cyklit) Řešíme znovuužitím výpočtů (dynamické programování) -> chart parsing

Motivační příklad 3 nltk.app.chartparser_app Ukázka tabulková analýza

Motivační příklad 3 nltk.app.chartparser_app Můžeme uložit jakoukoli hypotézu kompatibilní s gramatikou (ale nemusíme ji potom využít) Každá hypotéza reprezentována hranou

NLTK vývoj: 2005 jako NLTK -Lite od prosince 2005 je to jediná podporovaná verze stejná funkčnost jako starší NLTK, avšak s nižšími nároky na programátora (používá standardní objekty Pythonu, atd.) nyní ve verzi 2

Autoři a licence autoři: Steven Bird, Edward Loper mnoho přispěvatelů projekt je open source bez záruky GNU General Public License dokumentace Creative Commons Attribution-ShareAlike 2.5 License

NLTK - zdroje http://nltk.org/ kniha Natural Language Processing with Python (http://nltk.org/book)

Instalace (1) Instalace vyžaduje Python 2.6 a vyšší Platformy Linux Mac Windows

Instalace (2) Python http://www.python.org/download/ Numerical Python (Numarray) http://sourceforge.net/project/showfiles.php?group_id=1369&package_id=32367 NLTK https://pypi.python.org/pypi/nltk Linux: packages: sudo apt-get install python-nltk Data: >>> import nltk >>> nltk.download()

Python a NLP Python je vhodný nástroj pro NLP jednoduchý snadno “debugovatelný” výjimky interpretovaný jazyk strukturovatelný moduly, OOP výkonná práce nad (znakovými) řetězci

Moduly a balíky moduly modules umožňují znovu použít kód balíky packages jsou hierarchické moduly příkazy pro práci import from ... import reload

Moduly a balíky import Příkaz import načítá modul: # Load the regular expression module >>> import re Použití přístupu k metodám (pomocí tečkové notace) # Use the search method from the re module >>> re.search('\w+', str) Zobrazení obsahu modulu pomocí dir: >>> dir(re) ['DOTALL', 'I', 'IGNORECASE', ...]

Moduly a balíky from .. import Příkaz from...import načítá jednotlivé funkce: # Load the search function from the re module >>> from re import search >>> nltk.app.rdparser_app import * Poté již může být příkaz použit přímo: # Use the search method from the re module >>> search('\w+', str) >>> demo()

Moduly NLTK nltk nltk.misc nltk.chat nltk.model nltk.contrib nltk.corpus nltk.draw nltk.misc nltk.model nltk.parse nltk.tag nltk.tokenize

Tokenizace úvod Co je slovo? Rozdíl Type vs. Token Shluk znaků oddělený mezerou? NE Konce řádků Interpunkce … Rozdíl Type vs. Token Type – to co je mnoha tokenům společné Token - konkrétní realizace znaku "slovo" se vyskytuje dvakrát (dva tokeny), ale jde jen o jedno slovo (jeden type)

Tokenizace text = sekvence tokenů

Tokenizace stemming (hledání kořene)

Tokenizace statistiky Počet slov Frekvenční distribuce

Tokenizace statistiky nltk_lite.probability.FreqDist Jméno Příklad Popis Count fd.count('the') Kolikrát se daný vzorek vyskytl Frequency fd.freq('the') Frekvence daného vzorku N fd.N() Počet vzorků Samples fd.samples() Seznam různých zaznamenaných vzorků Max fd.max() Vzorek s nejvyšším počtem výskytů

Tokenizace statistika pomocí tokenů

Tokenizace podmíněná pravděpodobnost

Tokenizace předpovídání slov (kolokace) Trénovací korpus ConditionalFreqDist a max() Generování

Tagování nástroje NLTK tag Word Class Label Brown Tag Word Class Det at Article N nn Noun V vb Verb Adj jj Adjective P in Preposition Card cd Number end Sentence-ending punctuation

Tagování nástroje NLTK tag Jednoduchý tagger Přesnost cca. 20-30% Používá se jako fallback solution

Tagování nástroje NLTK tag Tagger s regulárními výrazy Vhodný pro slovní tvary s charakteristickou příponou/předponou Vhodný pro čísla, mailové adresy, www stránky apod. Používá se jako fallback solution

Tagování nástroje NLTK tokenize Unigramový tagger Trénování: Použití:

Tagování nástroje NLTK tag Kombinace Brillův tagger

Chunk parsing nástroje NLTK parse Příklad Shlukování tokenů do chunks Tvořeny vedoucím slovem (např. podst. jm) a souvisejícími slovy (např. příd. jm.) Chunks a uplynulé tokeny vytváří tzv. chunk structure Dvojúrovňový strom obsahující celý text a obsahující jak chunks tak neparsované tokeny

Chunk parsing nástroje NLTK parse Chunk tree

Shrnutí NLTK je vhodný nástroj pro NLP: Umožňuje rychlou a pohodlnou práci s textem Mnoho obsažených výrazů

Literatura NLTK Book Steven Bird, Ewan Klein, Edward Loper, 2001-2009 http://nltk.org/book NLTK Guides http://nltk.googlecode.com/svn/trunk/doc/howto/index.html nltk modules http://nltk.org/py-modindex.html