1 / 17

POS Taging problém

POS Taging problém. Vyhľadávanie informácii. Bc. Peter Mikuška 2010/2011.

pegeen
Download Presentation

POS Taging problém

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. POS Taging problém Vyhľadávanie informácii Bc. Peter Mikuška 2010/2011

  2. Part ofSpeachTagging (POS) taging pre slovenčinu. Založené na slovníkovom princípe z dostupných slovníkov (aspell, ispell, myspell, OpenOffice a pod.). Možné pozrieť princíp OpenNLP. Netreba všetky slovné druhy ani nemusí 100 percentne fungovať. Zadanie

  3. Na riešenie POS Taging úlohy som sa rozhodol pre hunspell-sk (http://www.sk-spell.sk.cx/hunspell-sk) slovník. • GNU Hunspell vznikol ako pokračovateľ slobodného spell-checkera (kontroly preklepov) Myspell. Je slobodný spellchecker (kontrola preklepov) s otvoreným zdrojovým kódom. Môže byť použitý ako knižnica alebo ako samostatný program. Slovník

  4. Označovanie slovných druhov nie je jednoduchý proces. Všetky slová sú zaradené do jednotlivých kategórií, preto nestačí mať k dispozícii len vstupné dáta. Treba rozpoznávať slová, ktoré napr.: sa skloňujú v jednotlivých pádoch, majú rôzny tvar v jednotlivých časoch, sú v jednotnom alebo množnom čísle a taktiež veľké percento zo všetkých slov sú dvojzmyselné. • Slovný druh je trieda slov vymedzená kritériami syntaktickými, morfologickými a sémantickými, t. j. súbor slov majúcich rovnaké využitie v stavbe vety, rovnaké gramatické kategórie a rovnaký všeobecný význam. Existuje 10 kategórií: podstatné mená, prídavné mená, zámená, číslovky, slovesá, príslovky, predložky, spojky, častice a citoslovcia. Princíp POS Taging

  5. ...... • abd • abdikácia/U • abdikačný/YN • abdikovať/WN • abdómen • abdominálny/YN • Abeba/z • abecedár • abeceda/zZ • ...... Ukážka zdrojových súborov 1

  6. Z žena – množné číslo • z žena - iba jednotné číslo (napr. látkové podst. mená-ropa, názvy jazykov-slovenčina prípadne ďalšie veci, pre ktoré sa nepoužíva množné číslo… • U ulica • D dlaň • X slovesá podľa vzorov chytať, robiť s krátkou koncovkou • E slovesá podľa vzorov chytať, robiť s dlhou koncovkou • č násobky pre číslovky • ..... Ukážka zdrojových súborov 2

  7. SFX z a y a • SFX z a e [^euo]a • SFX z a i [euo]a • SFX z a u a • SFX z a oua • SFX - značka, ktorá informuje program, že ide o určité pravidlo pre identifikáciu slov • 2. stĺpec - značka, má rovnaký význam ako pri označení slov v slovníku • 3. stĺpec - koncovka slova, ktorá sa pridá namiesto koncovky, ktorá je v danom páde • 4. stĺpec - koncovka slova, ktoré sa identifikuje a nahradzuje sa mu koncovka za koncovku z 2. stĺpca. • 5. stĺpec - obmedzenie pravidla na skloňovanie určitého podstatného mena, končiaceho na koncovku v 5. stĺpci. Ukážka zdrojových súborov 3

  8. Načítame vstupný súbor, určený na označkovanie slov • Pre každé slovo zo vstupného súboru pokračujeme bodom 3 • Slovo si upravíme do t. z. "čistého tvaru" (bez možných znakov ako ! , . " ?) • Zistíme, či slovo sa nachádza v slovníku, ak áno pokračujeme bodom 5, v opačnom prípade ideme na bod č. 9 • Pre dané slovo v slovníku zistíme označenie - značky • Ak slovo je označkované, označkujeme slovo podľa značky v slovníku a pridáme ho na výstup, pokračujeme 15, ak slovo nie je označkované pokračujeme č. 7 • Zistíme, či slovo nie je v nejakom páde podstatného mena, kt. je v slovníku. Ak áno, priradíme podľa slovníka značku a pokračujeme 15, ak nie pokračujeme č. 8 • Ak slovo nebolo doteraz označkované, pridáme ho ako neoznačené slovo na výstup programu, pokračujeme bodom 15 • Ak sa slovo nenachádza v slovníku, zistíme či nie je zložené z prefixu naj-. Ak je zložené overíme, či je slovo v slovníku a pokračujeme bod. 10, v opačnom prípade pokračujeme bodom 11 Algoritmus značkovania 1

  9. Ak je slovo v slovníku, vieme že ide o prídavné meno, pokračujeme pridaním slova na výstup a pokračujeme bodom 15 • pokračujeme hľadaním, či nie je slovo zložené z prefixu ne-. Ak je zložené z prefixu, pokračujeme v overení, či sa takéto slovo nachádza v slovníku č. 12, v opačnom prípade sa ide na bod 13. • ak sa dané slovo nachádza v slovníku, zistime či je otagovanétagom /N, ak áno označkujeme slovo a vypíšeme ho na výstup a pokračujeme bodom 15. • Zistíme, či slovo nie je v nejakom páde podstatného mena, kt. je v slovníku. Ak áno, priradíme podľa slovníka značku a pokračujeme č. 15, ak nie pokračujeme č. 14 • Ak slovo nebolo doteraz označkované, zistíme či nie je čislovka (1,2,20,...). Ak je čislovka, slovo označkujeme a pokračujeme č. 15, inak pridáme ho ako neoznačené slovo na výstup programu, pokračujeme bodom 15 • Ak sme prešli všetky slová vo vstupnom súbore, ukončíme značkovanie slov. V opačnom prípade ideme na bod č. 2. Algoritmus značkovania 2

  10. Úloha je implementovaná v programovacom jazyku Java pomocou vývojového prostredia Eclipse. Vstupné údaje ako slovník, pravidlá pre skloňovanie sú načítavané zo vstupného súboru pri spustení programu. Slovník obsahuje cca 360 000 položiek, čo pri načítavaní programom trvá 1,3 sekundy. Implementácia

  11. GUI

  12. Výsledky 1

  13. Výsledky 2

  14. Graf 1

  15. Graf 2

  16. Účelom tohto projektu bol navrhnúť systém, ktorý bude na základe nejakého slovníku označkovávať čo najviac slov v vstupnom texte. V súčasnosti neexistuje taký slovenský slovník, ktorý by mal obsiahnuté všetky spisovné slová a navyše mal ich aj označkované pre ďalšie možné spracovanie. Z čoho vyplýva že nie je možné dosiahnuť 100% označkovanie (t. z. rozpoznanie a označkovanie všetkých slov). Preto je potrebné maximalizovať snahu na rozpoznanie a označkovania čo najväčšieho počtu slov. V našom prípade sme vyvinuli snahu čo najefektívnejšie a najlepšie označkovať čo najviac slov v vstupnom texte. Záver

  17. Ďakujem za pozornosť POS Tagingproblem Bc. Peter Mikuška 2010/2011

More Related