Szövegbányászat és dokumentum kezelés



Hasonló dokumentumok
Szövegbányászat Információ Visszakeresés és egyéb alkalmazások

Szövegbányászat és dokumentum kezelés

3. modul - Szövegszerkesztés

XML / CSV specifikáció

Kaszás Tímea: Corvina OPAC az SZTE Mez gazdasági Könyvtárában

Témák. Bevezetés az informatikába 7. Előadás. Szövegfile-ok típusai. Szövegszerkesztők típusai. Mértékegységek. Szövegszerkesztők szolgáltatásai

Bevezetés a számítástechnikába

Tranzakció import funkció import fájl formátumai

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

3. modul - Szövegszerkesztés

Írásjelek helyes szedése. Szabó Csaba. Mondatvégi írásjelek. Központozás. Kötőjelfélék. Szabó Csaba november 18.

BASH script programozás II. Vezérlési szerkezetek

XML / CSV specifikáció

AWK programozás, minták, vezérlési szerkezetek

Szövegbányászati rendszer fejlesztése a Magyar Elektronikus Könyvtár számára

AWK programozás, minták, vezérlési szerkezetek

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

4. Javítás és jegyzetek

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

AWK programozás Bevezetés

Szoftver alapfogalmak

Tájékoztató. Használható segédeszköz: -

13. Fájlformátumok. Schulcz Róbert Madarassy László 13. Fájlformátumok v

Globalizáció, Lokalizáció

Flex tutorial. Dévai Gergely

Érdekes informatika feladatok

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

emberi kivonatolás Lengyelné dr. Molnár Tünde

A Magyar Nemzeti Szövegtár új változatáról Váradi Tamás

Forráskód formázási szabályok


Bár a szoftverleltárt elsősorban magamnak készítettem, de ha már itt van, miért is ne használhatná más is.

ELEMI PROGRAMOZÁSI TÉTELEK

Témák. Informatika I Eladás. Szövegfile-ok típusai. Szövegszerkesztk típusai. Mértékegységek. Szövegszerkesztk szolgáltatásai

BME MOGI Gépészeti informatika 13.

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

Mintaillesztő algoritmusok. Ölvedi Tibor OLTQAAI.ELTE

Regionális forduló november 19.

Regionális forduló november 19.

Operációs Rendszerek II. labor. 2. alkalom

BUJDOSO GYÖNGYI FAZEKAS ATTILA // / / KEZDOLEPESEK TERTIA KIADÓ

ECDL Táblázatkezelés A táblázatkezelés első lépései Beállítások elvégzése

ÁSZF. 1. számú Melléklete. Postai Számlabefizetési Megbízás

Minta felvételi feladatsor programozásból

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Tipikus hibák a szövegszerkesztésben. Dr. Nyéki Lajos 2017

Bináris egység: bit (binary unit) bit ~ b; byte ~ B (Gb Gigabit;GB Gigabyte) Gb;GB;Gib;GiB mind más. Elnevezés Jele Értéke Elnevezés Jele Értéke

Angol szótár V

QBE Édes Otthon lakásbiztosítás tarifáló webservice. Fejlesztői dokumentáció 1.0.2

Belföldi Termékosztályozás V

Szövegszerkesztés alapok

Regisztrálási útmutató

TestLine - GINOP teszt Minta feladatsor

S z á m í t ó g é p e s a l a p i s m e r e t e k

length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki.

I. Internetes keresési feladatok (ajánlott idő: 20 perc)

A Békés Megyei Könyvtár Elektronikus Könyvtárának kialakítása

2. A Közvetlen Elektronikus Adatkapcsolatba bevont bizonylatok típusai. Okmány megnevezése Kódja Továbbítás helye

Web-programozó Web-programozó

Logikai adatmodell kialakítása

Számítógépes Számítógépes Nyelvészet nyelvi nyelvi adatbázisok é s éés használatuk

Kitöltési útmutató 1.0 Verzió

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

A HG-1 Treebank és keresőfelület fejlesztői munkái, használata és felhasználhatósága

Egyirányban láncolt lista

Gépi tanulás a gyakorlatban. Bevezetés

Reguláris kifejezések 1.

Országos Betétbiztosítási Alap

ECDL Információ és kommunikáció

Operációs rendszerek gyakorlat

A normaszöveg Wordben történő szerkesztése során a következőkre figyelemmel lenni:

Mérés és modellezés 1

Jelentés fájl struktúra a TXT formában készülő jelentések részére

dr.xlsx A programról Szövegműveletekhez használható függvények

Országos Betétbiztosítási Alap

Multimédiás adatbázisok

H N S A d a t K a p c s o l a t

OKTATÁSI MINISZTÉRIUM

Objektum Orientált Programozás IV.

1. Alapok. #!/bin/bash

Szkriptnyelvek. 1. UNIX shell

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.

SABLONOZÓ KERETRENDSZER

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

PwC EKAER Tool felhasználói leírás május

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Enterprise extended Output Management. exom - Greendoc Systems Kft. 1

2. Algebrai átalakítások

Adóhátralék kezelés egyszerűen. Használati útmutató

Archivált tanulmányi adatok importálása. Felhasználói dokumentáció verzió 2.0.

ACTA CAROLUS ROBERTUS

11. Balra zárt igazítás A bekezdés sorai a bal oldali margóhoz igazodnak. 12. Beillesztés

Enterprise Content Governance

Országos Betétbiztosítási Alap

NETFIT modul Tanári felület Felhasználói útmutató. Magyar Diáksport Szövetség

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Átírás:

Szövegbányászat és dokumentum kezelés 3. Előfeldolgozás, klaszterezés A dokumentumok reprezentálása A dokumentum a szavak együttese A dokumentum rendszerben különböző szavak eltérő súlyúak a téma azonosításában atomreaktor valamint Adott a szó-dokumentum mátrix: K (BOW modellre igazodik) Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth Antony 157 73 0 0 0 0 Brutus 4 157 0 1 0 0 Caesar 232 227 0 2 1 1 Calpurnia 0 10 0 0 0 0 Cleopatra 57 0 0 0 0 0 mercy 2 0 3 5 5 1 worser 2 0 1 1 1 0 1

A dokumentumok reprezentálása A szó-dokumentum mátrixból dokumentum reprezentációs vektorok képezhetők A legegyszerűbb eset a bináris reprezentáció: di ( di1,..., dim ) ahol d 1, ha K > 0 = 0 A bináris reprezentáció előnye: - kis költség (gyors, helyigény) - közelítésre alkalmas - a lényeges különbséget meg tudja fogni A dokumentumok reprezentálása A pontosabb mérőszám a súlyozott reprezentáció: di ( di1,..., dim ) d = K Nem pontos a lényegi különbségek kiemelésében túl nagy súly a nagy gyakorisághoz Sokszor a gyűjteménytámogatottságot is szokás vizsgálni: cf i = K j Tompítani kell a nagy értékek szerepét, logaritmikus súlyozás: d 1+ log K ha K > 0 = 0 2

A dokumentumok reprezentálása Az eddigi modellek nem veszik figyelembe a dokumentum hosszát, pedig a df=2 érték szerepe más lesz L=6 vagy L=655 esetében Normalizált súlyozás d 1+ log K = K i 0 ha K > 0 d = tf = K i K Ezt a mérőszámot nevezik szó gyakoriságnak is (frequency) (TF) A szavak fontosságának mérése A szónak a dokumentumbeli fontosságát csak részleges mutatja TF vagy CF. Fontos a szavak eloszlásának ismerete is (minden dokumentumban szerepel vagy csak néhányban) Dokumentum számosság (a befoglaló dokumentumok darabszáma) df i TF IDF mérőszám A fontosság mérése: w = tf n log( df j ) Jól jellemezze az adott szó megkülönböztető szerepét a dokumentumhalmazban 3

A szavak fontosságának mérése A TF-IDF súlyozás előnyei: - magas lesz azon szavaknál amelyek csak néhány dokumentumban fordulnak elő nagy súllyal - kicsi lesz ott az értéke, ahol a tartalmazó dokumentumok darabszáma igen magas - kicsi lesz ott, ahol a szó csak nagyon ritkán fordul elő a dokumentumban Normalizált TF-IDF w = tf n log( df n ( tf i log( df j ) j 2 )) A lényegtelen szavak eliminálása A feladat szempontjából nem releváns szavak elhagyhatók a rendszerből Stopword: az elhagyható szavakat jelenti A stopword lista témától függően változhat: - egzakt keresés : kis lista (kb 100) - tartalom alapú keresés, kivonatolás: nagy lista (kb. 1000) a,able,about,across,after,all,almost,also,am,among,an,and,any,are,as,at, be,because,been,but,by,can,cannot,could,dear,did,do,does,either,else,ever,every, for,from,get,got,had,has,have,he,her,hers,him,his,how,however,i,if,in,into, is,it,its,just, least,let,like, likely,may,me,might,most,must,my,neither,no,nor,not,of,off,often,on, only,or,other,our,own, rather,said,say,says,she,should,since,so,some,than,that,the, their, them,then,there,these,they,this,tis,to,too,twas, us,wants,was,we,were,what, when,where,which,while,who,whom,why, will,with,would,yet,you,your Az angol stopword lista 4

A dokumentum tagolása Az értelmezésnél, a keresésnél lényeges lehet a dokumentum szerkezetének ismerete is - lehet egy megadott részre vonatkoztatni a keresést - lehet az eltérő részeket másképp súlyozni A szerkezet egy hierarchia A szerkezet feltárásának költsége jelentősen függ a formátumtól - LATEX, XML : önleíró szerkezet - PDF: nagyobb munka a darabolás - TXT : tartalom megértés kell hozzá A dokumentum tagolása Igen eltérő dokumentum modellek léteznek 5

A dokumentum tagolása Egyszerűsített szerkezeti hierarchia dokumentum készlet dokumentum metadata törzs bekezdés szekció mondat kifejezés szó A dokumentum tagolása Szekciókra tagolás Szeparátor elemek: - metaadat tagok - formátum jelek - séma Témakör függő algoritmus Mondatokra tagolás Egyszerűbb feladatnak tűnik, de itt is több buktató léphet fel: - a pont mondat közben is megjelenhet (rövidítések) - nagybetű a mondat közben is megjelenhet - az almondatot nem pont határolja - hiányozhatnak a mondathatároló jelek Következő megálló a Margit krt. Moszkva tér felőli oldalén lesz Következő megálló a Margit krt. Moszkva térnél van a végállomás. 6

A dokumentum tagolása Kifejezésekre tagolás Token: egy kifejezés a mondatban Típus: az azonos karaktersorozatot alkotó tokenek csoportja Szeparátor elemek: - szóköz karakterek - mondatvég karakter - soremelés karakter Nehézséget okoznak: - kötőjel (elválasztó jel vagy nem: adatbázis-kezelés) - aposztróf (nemt om) - egyéb írásjelek (W.C.) - többszavas kifejezések A HUNTOKEN projekt A 2000-es évek elején elkészült magyar nyelvre adaptált tokenizáló program Magyar projket (BME), http://mokk.bme.hu/resources/huntoken Unix alapú környezet (v. cygwin) A bemenő txt file-ból xml kimenetet állít elő <s> mondat </s> <w> szo </w> <c> irasjel </c> A Flex és C nyelven implementált A szegedi korpuszt 98% pontossággal tokenizálja 68941 mondatból csak 1071 a hibás 7

A HUNTOKEN projekt A Huntoken program Flex nyelven írt, csőbe (pipe) kötött szűrőprogramokból áll. A csővezetéket a Huntoken parancs indítja el. A cs!be kötött szűrőprogramok: hun_clean hun_sentence hun_abbrev hun_sentclean hun_token hun_head karaktereket törli, illetve átalakító szűrő mondatra bontó szűrő a mondatra bontást javító szűrő mondatra bontás eredményét formázó szűrő szavakra bontó és nyitott tokeneket felismerő szűrő XML fej- és láblécet kiíró héjprogram A HUNTOKEN projekt A HUN_CLEAN szűrő A szűrő normalizálja a bemenő szöveges állományokat a következő műveletek elvégzésével: - ismétlődő szóköz értékű karakterek törlése - ismétlődő üres sorok és közbeékelt szóközök törlése - sor eleji és sor végi szóközök törlése - nem törő szóközök szóközzé alakítása - Windows-1250 karakterek ISO-8859-1-es HTML entitássokká alakítása - decimális karakterkódok esetén az alsó ASCII, és a magyar!, ", #, $ karakterré alakítása < és > átalakítása < és &t;-re (a kés!bbi XML kimenet miatt) -...-tá alakítása - az összes ISO-8859-2-ben szerepl! ISO-8859-1-es entitás karakterré alakítása (például á á) A HUN_SENTENCE szűrő A szűrő <s> nyitó- és </s> zárócímke közé zárja a felismert mondatokat, vagyis elvégzi a mondatra bontást. 8

A HUN_ABBREV szűrő A HUNTOKEN projekt A megadott rövidítések,és más beépített szabályok alapján felülbírálja, és szükség esetén módosítja a Hun_sentence által megállapított mondathatárokat, valamint a Hun_token által megállapított szóhatárokat. A következ! helyeken szünteti meg a mondathatárt: - sorszám és nagy kezdőbetűs szavak között - sorszám és utána zárójeles, római számos dátum esetén - ügyiratszám és az azt követő zárójeles dátum esetén - sorszám és paragrafusjel között - monogramok esetén - A megadott rövidítések esetén. (A stb. nincs megadva.) A HUN_SENTCLEAN szűrő A szűrő paragrafushatárokat illeszt be az üres sorok helyére, illetve minden mondatot külön sorba helyez el. A HUN_TOKEN szűrő A HUNTOKEN projekt A szavakat <w> nyitó- és </w> zárócímke közé helyezi. Az eredeti mondatokat meghagyja a <s> nyitócímkével egy sorban is. Az írásjelek a,,c'' elembe kerülnek. A nyitott tokenosztályba eső tokenek MSD kódja az,,anav'' elembe kerül. A következ! nyitott tokenek felismerésére kerül sor: - m = toldalékmorfémák (-ság, -t!l/-t!l) - e = elektronikus címek, e-mail, webhely, útvonal, fájlkiterjesztés, egyéb - indexek (trade mark, registered trade mark) - számok: (sport)eredmények, el!jeles egész számok, id!pont, dátum, pontot tartalmazó számok, százalékjelet tartalmazó számok, fokjelet tartalmazó számok, arány (SI mértékegységgel), méret jellel, képletek - azonosítók (szabvány jelzete, telefonszám, írásm" része,isbn kód, rendszám - egyéb köt!jellel kezd!d!, vagy végz!d! szavak - számmal és bet"vel jelölt számok 9

Java Tokenizer edu.northwestern.at.utils.swing Class DocumentTokenizer java.lang.object edu.northwestern.at.utils.swing.documenttokenizer implements java.util.iterator Tokenizes document text. A token is defined as text between word separator characters. The separator characters are defined below in the WORD_SEPARATOR_CHARACTERS array. Document document = textpane.getdocument(); DocumentTokenizer tokenizer = new DocumentTokenizer( document, 0 ); while ( tokenizer.hasnext() ) { String word = tokenizer.next(); System.out.println( word + " starts at " + tokenizer.getstartpos() + ", ends at " + tokenizer.getendpos() ); } 10