70 likes | 224 Vues
Extrakcia časových údajov z emailov. Rastislav Masaryk. Popis projektu. Extrakcia časových údajov zo správ písaných ľuďmi Rôzne vyjadrenia dátumu a času Vytváranie párov dátum - čas. Prehľad existujúcich riešení. Nenašiel som projekt, ktorý by niečo podobné riešil pre slovenský jazyk
E N D
Extrakcia časových údajov z emailov Rastislav Masaryk
Popis projektu • Extrakcia časových údajov zo správ písaných ľuďmi • Rôzne vyjadrenia dátumu a času • Vytváranie párov dátum - čas
Prehľad existujúcich riešení • Nenašiel som projekt, ktorý by niečo podobné riešil pre slovenský jazyk • Podpora jednoduchého parsovania dátumov je už aj vo vyšších programovacích jazykoch • Datejs – JavaScript knižnica na uľahčenie práce s dátumami a časmi • Moduly pre PythonPython-dateutil a Parsedatetime • Chronic – parser dátumových a časových údajov napísaný v Ruby
Popis riešenia • Program sa púšťa cez konzolu. Prvým jeho parametrom je súbor s emailovou správou (*.eml) a druhým (nepovinným) parametrom je slovo, ktoré musí email obsahovať aby bol ďalej spracúvaný • Program je zložený z dvoch častí (Java + C), ktoré sú prepojené cez pipu
Popis riešenia • Časť v Jave slúži na získanie informácií z hlavičky emailu a na konverziu tela emailu do jednotného kódovania • Časť v C rieši vyhľadávanie časových údajov v tele emailovej správy • Vyhľadávam najskôr dátum, ku ktorému sa potom snažím nájsť a priradiť časový údaj • Priradím čas, ktorý je k danému dátumu najbližšie (na počet znakov)
Popis riešenia • 4 algoritmy na vyhľadávanie dátumu • Sú postavené na regulárnych výrazoch • Údaje ako zajtra, pozajtra, včera... • Pondelok, utorok, streda... • Štandardný zápis dátumu (napr. 23.11.2009) • Vyjadrenie mesiacu slovne (napr. 3. Január 2009) • 1 algoritmus na vyhľadanie času
Vyhodnotenie • Testovacie dáta: 32 emailových správ • R – 71 informácií o dátume a čase • I – program vyhodnotil 66 dvojíc dátum – čas • RI – z toho 44 bolo správnych • Presnosť = 44 / 66 = 66,6% • Pokrytie = 44 / 71 = 62%