Tulajdonnév felismerés
Tulajdonnév felismerés Szemantika és a szintaktika közt félúton. Az első olyan feladat aminek közvetlen alkalmazásai is vannak. Fontos részfeladat: információkinyerés alapegységei gépi fordítás: Kovács János -> John Smith …
Mi egy tulajdonnév? Magyar Helyesírási kézikönyv: tulajdonnév pl: Magyar Nemzeti Bank köznév pl: asztal, alma, bank ? File Transfer Protocol, Blootouth, BUX ? Botond étterem Nincs egzakt szabály ennek eldöntésre! named entity: „a szövegnek egy olyan eleme, amely a világ valamely entitására unikusan referál” is egy NE
Tulajdonnév a HLT-ben „Előre definiált osztályokba tartozó tokensorozatok felismerése és klasszifikálása”. Az osztályokat egy tanítóhalmaz manuális annotációjával „definiálják”. Például: helynevek, személynevek, szervezetek, címek Vannak olyan osztályok amik egyszerű szabályokkal (általában reguláris kifejezésekkel) leírhatóak, például címek
A klasszifikáció nehézségei (Felismerés viszonylag egyszerű feladat) Nyílt halmaz, nem fedhető le szótárakkal! Gyakran a szövegkörnyezet dönti el a jelentést pl.: Ford személy, repülőtér, vállalat vagy márkanév? Szintaktikai információkból kell szemantikai döntéseket meghozni.
Gépi tanulási megközelítések Mivel minden feladat más és más, egy szabály alapú rendszer előállítása igen költséges lenne. Milyen jellemzőkkel írhatóak le az osztályok? Két különböző megközelítés: – Token alapú klasszifikáció – Szekvencia jelölés
Jellemzőkészlet Ortográfiai jellemzők kezdőbetű típusa, szóhossz, tartalmaz számot / írásjelet, arab / római szám Gyakorisági adatok kis/nagybetűs-, mondatközi nagybetűs/nagybetűs arányok, gyakoriság Szövegkörnyezet info trigger uni- / bi- / trigramok, mondatpozíció, dokumentum pozició Kifejezés-szintű info megelőző tokenek címkéi, zárójelben/idézőjelben van, reguláris kifejezések Egyértelmű szavak szótára tanuló adatbázisból összegyűjtve, betegségek nevei Trigger szótárak keresztnevek, kórházformák, országok, városok
Token szintű osztályozás Az egyes tokeneket klasszifikáljuk. A környezetből nyerhető információkat egy ablakkal felvesszük a token jellemzői közé: pl: elöző szó kisbetűs-e Kérdés: megadhatjuk-e a környezet osztálycímkéit? Általában szükség van egy utófeldolgozó lépésre: Magyar ORG Nemzeti LOC Bank ORG Rt. ORG
Szekvenciális modellek Cél: egész szekvenciára (mondatra) egyszerre megmondani a legvalószínűbb jelölést. P(T|x) : tageloszlás a jellemzőtér felett x: {kisbetűs, gyakori, zárójelben van} T: {nem tulajdonnév, szervezet, helység} P(T t |T t-1 ) : átmenet-valószínűségek P(helység|szervezet)= Ezeket a tanuló adatbázis alapján becsüljük.
Szekvenciális modellek
Alkalmazási területek Magyar gazdasági rövidhírek elemzése Angol újsághírek elemzése Orvosi kórlapok anonimizálása Lényegében ugyanaz a modell működik: – angolra és magyarra – Két teljesen más feladatra (domainre)
Kiértékelési metrika Csak a tulajdonnév osztályokra számoljuk. Precízió: Amit C-nek jelölünk az hány esetben C Lefedettség: Az összes C-ből hányat találtunk meg. F β=1 a precízió és a lefedettség harmonikus közepe Frázis szintű metrika Token szintű Magyar ORG Nemzeti LOC Bank ORG Rt. ORG P_token ORG =3/3R_token ORG =3/4 P_frázis ORG =0/2R_frázis ORG =0/1
SzegedNE korpusz 200 ezer szövegszó Gazdasági rövidhírek (NewsML) Személynév, Szervezet, Hely és Egyéb 15 ezer tulajdonnév A korpusz és magyar tulajdonnévtrigger- listák letölthetőek (licensz) hamarosan: HUNNER
Eredmények a SzegedNE korpuszon Első statisztikai tulajdonnév-felismerő modell magyar nyelvre F β=1 Szervezet95,84% Személy94,67% Hely95,07% Egyéb85,96% mindösszesen94,77%
CoNLL 2003 adatbázis A tulajdonnév-felismerés talán legfontosabb nemzetközi referencia adatbázisa ezer szövegszó Angol nyelvű újsághírek – gazdaság, sport, politika témában Személynév, Szervezet, Hely és Egyéb Ez szolgált mintául a SzegedNE korpuszhoz
Eredmények angol nyelvre e gyéni Szervezet84,53% Személy93,55% Hely92,90% Egyéb79,67% mindösszesen89,02% versenyen győztes 88,89% hibrid 88,32% 96,27% 93,43% 82,29% 91,41% 90,30%
Orvosi rekordok feldolgozása Motiváció: Hasznos információk tűnnek el a szövegben Szöveges adatbázisok megosztása szélesebb körben (kórházak) Adatok gyűjtése, statisztikák készítése Kutatómunka elősegítése A feladatok nagy része automatizálható Ehhez azonban a személyes információkat el kell távolítani, pontosabban le kell őket generált egyedekre cserélni!
Anonimizálás Cél: PHI-k azonosítása és osztályozása a zárójelentésekben – 8 különböző kategória (sok mindent lefed): PATIENT, DOCTOR, HOSPITAL, LOCATION, ID, PHONE, DATE, AGE (csak ha 90 év feletti) – Ezek pont a klasszikus named entity osztályok! Anonimizálás vs De-identifikáció
A felhasznált adatbázis I2B2 nemzetközi nyílt verseny 671 címkézett orvosi zárójelentés – (400 ezer token, tartalmaz strukturált részeket is) Kiértékelés 206 ismeretlen zárójelentésen Orvosi nyelvi feldolgozás „A/P: 64 yo M known CAD, s/p CABG and PCI in '03 presents w NSTEMI in settin of EKG changes s/p cardiac cath and ETT MIBI positive for diffuse disease w mild reversibility in PDA territory cw 100% lesion in SVG.” Anonimizált adatbázis
Kiértékelés (F β=1 ) TokenPhrase NON-PHI99.88 PATIENT DOCTOR HOSPITAL ID DATE PHONE LOCATION AGE100.0 overall
A rendszer adaptálása a három feladatra Szótárak (keresztnevek, cégformák stb.) cseréje angolra Orvosi szövegekhez mindössze a cégforma listát cseréltük le {hospital, clinics, memorial, …}-re A CoNLL és I2B2 adatbázisokon felhasználtuk a dokumentumok struktúrájában rejlő információkat (1-1 plusz jellemző)
A jellemzők jellemzői Próbáltunk POS és szintaktikai kódokat használni, de vagy elhanyagolható volt a jelentőségük vagy csak összekavarták a rendszert Nem használtunk semmilyen domain-specifikus szótárat (mint például MeSH kódok) Csak felszíni információk felhasználásával elérhető versenyképes eredmény!
A jellemzők hatása az anonimizálás feladatnál 1. Alap jellemzők: kezdőbetű, triggerek, előző tokenek címkéi 2. Ortográfiai jellemzők 3. Gyakorisági adatok 4. Struktúra információ 5. Reguláris kifejezések 6. Helység szótárak (országok, városok) 7. Mondat pozíció 8. Idézőjelek / Zárójelek között 9. Keresztnevek 10. Nem-NE listák