Revista Romn de Interaciune Om-Calculator 6 (4) 2013, 357-376 MatrixRom
Criminal Detection O aplicaie pentru
identificarea infractorilor Ana-Teodora Petrea, Adrian Iftene Universitatea Alexandru Ioan Cuza din Iai, Facultatea de Informatic General Berthelot 16, 700483, Iai E-mail: {ana.petrea, adiftene}@info.uaic.ro Rezumat. Prezenta lucrare i propune s vin n ajutorul celor ce doresc s identifice rapid un posibil infractor, pe baza informaiilor, pe care le avem disponibile la un moment dat. Sistemul construit folosete ca intrare informaie nestructurat n format text, ce poate proveni din surse precum ziare, procese verbale de la locul faptei, declaraii ale martorilor, etc.. Aceste texte sunt prelucrate folosind tehnici specifice lingvisticii computaionale, pentru a extrage informaii relevante, pentru identificarea infractorului. Procesrile textuale prezentate n cadrul acestei lucrri, permit (1) extragerea entitilor de tip nume (astfel se poate obine un grup de suspeci sau locaia unde s-a ntmplat infraciunea), (2) identificarea relaiilor ntre cuvinte, pentru extragerea de informaii utile (aa se pot obine caracteristici fizice ale infractorilor sau tipul infraciunii sau arma folosit) i pentru identificarea rolurilor (astfel se pot identifica victimele, rufctorii sau martorii). Aplicaia permite n plus crearea unui portret robot pentru infractor, asocierea de poze sau portrete robot la persoanele pe care le gestionm n aplicaie i afiarea pe o hart a locului evenimentului. Considerm c, aplicaia ar putea fi utilizat ntr-un mediu real, n cadrul diferitelor instituii, n care procesarea acestor tipuri de texte este realizat manual n prezent, n primul rnd de ctre angajai. Cuvinte cheie: Lingvistic computaional, Supraveghere pe Internet, Lingvistic judiciar. 1. Introducere Inteligena artificial este ramura informaticii ce are ca scop crearea de maini inteligente, dup cum a definit-o unul dintre fondatorii ei, John McCarthy. Punctul de pornire n crearea acestui domeniu a fost ipoteza conform creia inteligena uman the sapience of Homo Sapiens are un mecanism care poate fi descris n detaliu pentru ca, ulterior, sa fie simulat de o main (McCarthy et al., 1995). Printre scopurile inteligenei artificiale se numr crearea de maini capabile de judecat, cunoatere, nvare, percepie i care s aib performane comparabile cu cele ale unui individ uman. 358 Ana-Teodora Petrea, Adrian Iftene
Capacitatea de nelegere a mesajelor scrise este una dintre caracteristicile distinctive ale inteligenei umane (Cristea et al., 2007). n consecin, subdomenii ale Inteligenei artificiale se dedic ntocmai procesrii limbajului natural. Lingvistica computaional este unul dintre ele i are ca principal obiectiv modelarea computaional, statistic sau bazat pe reguli, a limbajului natural. Ingineria lingvistic este domeniul complementar lingvisticii computaionale, care fructific rezultatele acestuia prin crearea de aplicaii care s serveasc sferelor industriale, de comer, sociale, etc.. Lingvistica computaional a luat natere n jurul anului 1950, n SUA, odat cu primele tentative de traducere automat (Hutchins, 1999). Dei, iniial, acest domeniu a strnit interes i a atras numeroase investiii, dup civa ani popularitatea sa a sczut dramatic, rezultatele fiind nesatisfctoare. Cercetrile au continuat la o scar mult mai mic. Pn la mijlocul anilor 1970, rezultatele au nceput s apar: sistemul Systran (http://www.systransoft.com/) a nceput s fie folosit de instituii importante precum Comisia Comunitilor Europene i Forele Aeriene ale SUA. ntre anii 1980-1990, studiul traducerii automate a luat amploare peste tot n lume i, totodat, au aprut noi direcii n cercetare: metodele statistice i traducerea pe baz de exemple. 2. Elemente utilizate n lucrare 2.1 Extragerea de informaii Acest domeniu unific obiective precum extragerea automat a unor informaii dintr-un text nestructurat sau semi-structurat, adnotarea automat i extragerea de coninuturi din documente multimedia (audio, video, foto). Din cauza nivelului de dificultate ridicat al acestei sarcini, abordrile - curente se concentreaz asupra extragerii unor anumite tipuri de informaii din texte, care aparin unor domenii specifice (Peng i McCallum, 2006), (Shimizu, 2006) sau se concentreaz pe extragerea de informaii din cadrul reelelor sociale (Tulbure-Dombi et al., 2010). De asemenea, este acordat o atenie deosebit extragerii de informaii de pe web (Chang et al., 2006). Extragerea informaiilor necesit rezolvarea unei alte probleme simplificarea textului, pentru a obine o structurare a informaiei prezente n text. Printre subsarcinile acestui domeniu se numr: Criminal Detection O aplicaie pentru identificarea infractorilor 359
1. Extragerea entitilor de tip nume, care poate include: Recunoaterea entitilor de tip nume identificarea numelor de persoane, organizaii, locaii, date, expresii numerice, etc. Tipurile alese spre a fi identificate vor depinde de necesitile sistemului de cutare documentar (Information Retrieval (IE) n englez); Rezoluia anaforei: detecia de legturi corefereniale i anaforice, pentru entitile descoperite; Identificarea de relaii ntre entiti de tipuri diferite sau de acelai tip. 2. Extragerea de informaii semi-structurate (tabele, comentarii) din documente; 3. Analiza limbii i a vocabularului, pentru crearea de reguli care s determine identificarea informaiilor dorite; 4. Colectarea unui vocabular de termeni relevani domeniului. Prezenta lucrare prezint modul n care ne-am propus s extragem informaii relevante dintr-un text, care descrie o infraciune i respect anumite proprieti. Pentru acest lucru, s-a apelat la cteva dintre subsarcinile menionate mai sus: identificarea entitilor de tip nume, rezoluia coreferinei i altele precum analiza dependenelor sintactice ntre cuvinte. n paginile care urmeaz, vom descrie pe fiecare dintre ele, pentru ca n partea a doua a lucrrii s descriem modalitile folosite pentru atingerea scopului iniial. 2.2 Identificarea entitilor de tip nume Extragerea entitilor de tip nume este o cerin a lingvisticii computaionale, care i propune s localizeze i s clasifice cuvintele sau grupurile de cuvinte care apar ntr-un text i reprezint nume proprii (Nadeau i Sekine, 2007). Acestea pot desemna persoane, organizaii, locaii, expresii de timp, cantiti, valori monetare, procente, etc.. Termenul definit prin sintagma entitate de tip nume, acum binecunoscut i larg utilizat n procesarea limbajului natural, a fost introdus cu ocazia celei de-a asea ediii a Message Understanding Conference (MUC-6) (Grishman i Sundheim, 1996). Scopul principal al conferinei era, n acea perioad, extragerea de informaii structurate despre activitatea companiilor sau cea a instituiilor importante, pe baza articolelor din ziare sau din alte publicaii. Pentru realizarea acestei sarcini a fost semnalat 360 Ana-Teodora Petrea, Adrian Iftene
necesitatea unui modul responsabil cu identificarea unitilor de informaie reprezentnd nume de persoane, organizaii, locaii i a expresiilor numerice reprezentnd date calendaristice, cantiti, procente, etc. n acest context a fost definit recunoaterea i clasificarea entitilor de tip nume (Named Entity Recognition and Classification NERC) ca subsarcin a extragerii de informaii din texte (Information Extraction IE). Ulterior, ea s-a dovedit a fi necesar multor altor subdomenii ale procesrii limbajului natural (Sekine et al., 1998), (Borthwick et al., 1998) i (Masayuki i Matsumoto, 2003). De-a lungul timpului, n abordarea acestui domeniu au fost considerate mai multe strategii (Nadeau i Sekine, 2007) i (Iftene et al., 2011). Primele dintre ele au constat n scrierea de algoritmi bazai pe regulile gramaticale ale respectivului limbaj. Se urmrea crearea de algoritmi ct mai elaborai, care s trateze n mod corect toate posibilele situaii, fr a crea ambiguiti, pentru a obine performane ct mai bune. Precizm c performana unui sistem de recunoatere a entitilor de tip nume este dat de parametrii precizie i recall (Bikel et al., 1997). 3. Arhitectura aplicaiei. Componente principale Aplicaia dezvoltat are dou componente care pot fi considerate, n mare msur, independente una fa de cealalt: Componenta principal comunic n mod direct cu utilizatorul, prin intermediul unei interfee grafice i totodat, comand execuia celei de-a doua componente. Aceasta este dezvoltat n C#, pe platforma .NET i beneficiaz de o interfa grafic realizat cu ajutorul Windows Presentation Foundation (WPF). Avnd la dispoziie dou fiiere XML coninnd date referitoare la infraciunile petrecute ntr- o anumit regiune i la persoanele care au nfptuit infraciunile respective, aplicaia furnizeaz modaliti eficiente de vizualizare a datelor i de cutare a informaiilor dorite ntr-o baz de date local. Componenta auxiliar, care primind un text care descrie o frdelege, este capabil s identifice n mod automat informaii precum data, locaia infraciunii, numele victimelor, semnalmente ale infractorului, etc.. Datele astfel identificate sunt stocate ntr-un fiier XML i pot fi ulterior folosite de aplicaia principal. Aceast aplicaie este una de tip consol i a fost creat n Java, folosind Criminal Detection O aplicaie pentru identificarea infractorilor 361
mediul de dezvoltare NetBeans IDE 7.1.2. Sistemul creat lucreaz cu informaii, respectiv texte n limba englez. Descrierea detaliat a arhitecturii, a modului de proiectare i a funcionalitilor oferite de fiecare modul al aplicaiei vor fi prezentate n capitolele urmtoare. 3.1 Componenta de baz Aplicaia de baz este realizat cu scopul de a facilita accesul simplu i eficient la informaiile legate de infraciunile comise ntr-o anumit regiune, pe o anumit perioad de timp. Aceasta permite filtrarea datelor, aplicnd multiple criterii specificate de utilizator, urmnd ca vizualizarea rezultatelor s fie realizat n funcie de necesitile i preferinele acestuia. Scenariul de utilizare vizat este unul conform cruia clientul aplicaiei ar fi o secie de poliie, care gestioneaz o baz de date de dimensiuni mari, ce conine informaii despre infraciunile comise n regiunea pe care o supravegheaz i despre infractorii care le-au comis. Atunci cnd se produce o nou frdelege, este consultat baza de date, n vederea gsirii de posibili suspeci. Datorit volumului mare de date, care trebuiesc interogate i a multitudinii de factori, care trebuie s fie luai n considerare n identificarea infractorului, o astfel de aplicaie are nevoie s ofere anumite faciliti, care s o fac simplu de utilizat i s permit realizarea unei filtrri corecte i complexe a informaiilor. Aplicaia lucreaz cu informaiile obinute n urma ncrcrii a dou fiiere XML: Criminals.xml fiecare nod de tip Criminal (corespunztor unui infractor) are noduri interioare i atribute n care sunt stocate informaii precum: nume, prenume, apelativ, sex, naionalitate, vrst, nlime, greutate, caracteristici ale feei (ochi, nas, etc.), calea ctre o poz a infractorului .a.m.d. De asemenea, pentru fiecare infractor avem asociate infraciunile pe care acesta le-a comis. Tabelul 1 exemplific structura unui nod XML de tip Criminal. Tabelul 1: Nod XML de tip Criminal <?xml version="1.0" encoding="utf-8"?> <Criminals> <Criminal Id="1"> 362 Ana-Teodora Petrea, Adrian Iftene
<PersonalInformation> <Nicknames> <Nickname>The Zodiac</Nickname> </Nicknames> <FirstName>John</FirstName> <LastName>Walker</LastName> <State>Fugitive</State> <Sex>Male</Sex> <Nationality>Spanish</Nationality> <Age>38</Age> <Height>189</Height> <Weight>180</Weight> </PersonalInformation> <Appearance> <Picture>D:\CrimeWorld\Pozeinfractori\1.jpg</Picture> <Skin Color="Black"/> <Figure>Solid</Figure> <Face Shape="Round" /> <Eyes Size="Big" Color="Blue" Shape="Hooded" /> <Lips Shape="Round" Size="" /> <Nose Size="Small" Shape="Concave"></Nose> <Hair Style="Curly" Color="Dark" Length="Short" /> <DistinctiveSigns> <DistinctiveSign Sign="Tattoo" Position="Neck" /> </DistinctiveSigns> </Appearance> <Crimes> <Crime Id="1" /> </Crimes> </Criminal> </Criminals> Crimes.xml un nod de tip Crime (corespunztor unei infraciuni) conine urmtoarele informaii: id-urile fptailor, numele victimelor, data i localitatea n care s-a produs frdelegea, categoriile n care se nscrie aceasta (crim, jaf, etc.) i armele utilizate de fpta (arm de foc, violen fizic, etc.). Tabelul 2 ilustreaz structura unui nod XML de tip Crime. Se poate observa legtura dintre acest nod i cel din Tabelul 1. Tabelul 2: Nod XML de tip Crime <?xml version="1.0" encoding="utf-8"?> <Crimes> <Crime Id="1"> <Criminals> <Criminal Id="1"></Criminal> </Criminals> <Victims> <Victim> <LastName>Fox</LastName> <FirstName>Meghan</FirstName> </Victim> </Victims> <Date> Criminal Detection O aplicaie pentru identificarea infractorilor 363
n urma ncrcrii informaiilor din cele dou fiiere, vom avea la dispoziie o list de infraciuni i una de infractori (fiecare avnd anumite caracteristici) i relaiile dintre ele (vom ti ce infractorul a nfptuit o anumit frdelege i, implicit, ce frdelegi a comis un infractor). 3.2 Ferestre i funcionaliti Formularul de start al aplicaiei are rolul de a asigura accesul ctre celelalte ferestre, pe care le vom prezenta n continuare. Utilizatorul va alege una din opiuni, n funcie de funcionalitatea de care are nevoie la un moment dat. Fereastra de cutare a infractorilor Aceast fereastr conine o list care, la un anumit moment, va conine infractorii ce prezint caracteristicile selectate de utilizator la momentul respectiv. n momentul deschiderii ferestrei, lista conine toi rufctorii din baza de date. Modaliti de cutare disponibile: Dup nume sau alias: cutarea se face pe baza informaiilor ce se gsesc oriunde n cmpurile nume i alias, ignornd literele mari sau mici. (vezi Figura 1). Exclusiv dup nume, folosind Speech Recognition. Dac este activat recunoaterea vocal, (bifnd opiunea corespunztoare din Figura 1), programul va putea recunoate rostirea numelui unui infractor aflat n baza de date i l va afia n lista de rezultate. Desigur, n cazul n care exist mai muli infractori cu acelai nume, vor fi afiai toi. Pentru ca aceast component s funcioneze, este 364 Ana-Teodora Petrea, Adrian Iftene
necesar ca un microfon funcional s fie conectat la calculator i s fie deschis. Deoarece dorim ca aplicaia s fie capabil s recunoasc infractorii dup numele lor, trebuie s ntocmim o list care s conin toate aceste nume. Una din problemele dificile a aprut din faptul c irurile de caractere formate prin concatenarea numelui i a prenumelui unui infractor pot fi destul de lungi. De asemenea, deoarece unele nume conin cuvinte comune, sau foarte asemntoare, se pot crea confuzii i pot fi afiate rezultate incorecte. De aceea, s-a ales o alt modalitate de recunoatere, care va fi descris n continuare: o Iniial, s-a creat un ir de nume i unul de prenume, n care fiecare cuvnt este introdus o singur dat, chiar dac se afl n componena numelor mai multor infractori; o n continuare, s-a creat un obiect de tip GrammarBuilder, care a fost configurat astfel nct s recunoasc rostirea unui cuvnt din lista de prenume, urmat de rostirea unui cuvnt din lista de nume; o n etapa urmtoare se verific dac irul astfel format desemneaz numele unui infractor i n caz afirmativ, se adaug numele infractorul n lista de rezultate.
Figura 1. Formular cutare infractor Criminal Detection O aplicaie pentru identificarea infractorilor 365
De asemenea, la rostirea frazei Display All este afiat lista complet a infractorilor. Advanced Search (opiunea din Figura 1 este prezentat detaliat n Figura 2), la apsarea acestui buton se deschide un alt formular, ce permite utilizatorului s selecteze orice caracteristic a unei infraciuni sau a unui infractor i o valoare pentru aceast caracteristic. Astfel, el i poate construi o list de criterii de cutare, pe care le poate aplica concomitent. Conform coninutului listei de criterii stabilite n Figura 2, sunt cutai infractorii de sex masculin, care au comis infraciuni din categoria crim. n cazul n care au fost selectate mai multe valori pentru aceeai caracteristic, vor fi alei infractorii care prezint una dintre acestea. De asemenea, dac un infractor nu are nicio valoare pentru caracteristica respectiv (de exemplu, dac nu i se cunoate culoarea ochilor), acesta nu este exclus ca potenial suspect.
Figura 2. Formular criterii de cutare 366 Ana-Teodora Petrea, Adrian Iftene
Precizm faptul c, dac formularul n care se introduc criteriile de cutare este nchis, el poate fi deschis din nou i va afia aceleai criterii de cutare selectate la ultima folosire a acestuia. Fereastra de localizare a infraciunilor Fereastra destinat localizrii infraciunilor afieaz, n momentul deschiderii, o hart a regiunii a crei activitate infracional o monitorizm. Pe hart sunt afiate semne distinctive n locaiile corespunztoare infraciunilor care se gsesc n baza de date, fiecare dintre acestea aprnd n dreptul oraului n care a avut loc. Semnele corespunztoare infraciunilor rezolvate apar colorate n albastru, iar cele corespunztoare infraciunilor ai cror fptai nu au fost nc identificai sunt marcate cu rou.
Figura 3. Formular cutare infraciune Atunci cnd utilizatorul selecteaz una dintre semnele afiate pe hart, se deschide o fereastr ce conine informaii despre infraciunea respectiv (numele infractorilor, numele victimelor, data i localitatea n care a avut loc infraciunea), precum i poza infractorului (vezi Figura 3). Pentru ca utilizatorul s poat ajunge uor la profilul rufctorului care a comis o anumit fapt, acesta trebuie doar s apese pe poza acestuia i se va deschide pagina ce conine profilul detaliat al acestuia. Criminal Detection O aplicaie pentru identificarea infractorilor 367
Similar cutrii de infractori, cutarea locaiilor n care au avut loc infraciunile poate fi realizat dup o serie de criterii de cutare avansate. Acestea pot fi referitoare la frdelege n sine (dat, locaie, tipul infraciunii, etc.), ct i la infractorii care au comis acea infraciune (sex, caracteristici fizice, vrst, etc.). Formularul care permite selectarea i aplicarea acestor criterii este cel prezentat mai sus n Figura 2. Vizualizarea rezultatelor se va face, de aceast dat, pe o hart, prin afiarea locaiilor corespunztoare infraciunilor obinute n procesul de cutare i filtrare. Pentru afiarea hrii, respectiv a semnelor distinctive corespunztoare locaiilor infraciunilor, s-a folosit biblioteca Microsoft.Maps.MapControl.WPF (http://msdn. microsoft.com/en- us/library/microsoft.maps.mapcontrol.wpf.aspx). Pentru fiecare infraciune, s-a efectuat o cerere la serviciul Bing Maps cernd coordonatele (longitudinea i latitudinea) locaiei infraciunii. Apoi, s-au scalat coordonatele obinute la dimensiunea harii i s-au afiat semnele distinctive n punctele astfel obinute. Fereastra de realizare a portretului robot n situaia n care un agent de poliie dorete s identifice posibili suspeci pentru o frdelege, acesta va selecta criteriile de cutare conform informaiilor care i sunt puse la dispoziie. Aceste informaii sunt, la rndul lor, furnizate de alte persoane precum martori, victime, persoane apropiate victimelor, etc. Un pas important n gsirea unui infractor a crui identitate nu este cunoscut este ntocmirea unui portret robot. Avnd acest lucru n minte, s-a ataat formularului de selectare a criteriilor de cutare o component suplimentar. Unele caracteristici fizice umane sunt mai uor de identificat prin intermediul imaginilor, dect prin denumirea lor. De altfel, la ntocmirea portretelor robot, martorii sunt lsai s aleag, dintre mai multe poze, pe cea care este cea mai apropiat de nfiarea infractorului. Atunci cnd utilizatorul va alege una din opiunile: forma feei, forma ochilor, forma nasului sau forma buzelor, se va activa butonul Choose. Apsarea lui are ca efect deschiderea unei ferestre n care utilizatorul va putea vizualiza fotografii corespunztoare fiecrei forme a feei, nasului, ochilor, etc.. Astfel, el va putea alege pentru fiecare caracteristic varianta care se potrivete cel mai bine descrierii infractorului cutat. Dup acest 368 Ana-Teodora Petrea, Adrian Iftene
pas, caracteristica aleas va fi completat n mod automat n portretul robot al infractorului. n figurile 4, 5 se pot observa pentru forma feei dou din variantele disponibile.
Figura 4. Fa oval Figura 5. Fa dreptunghiular Pozele au fost create cu ajutorul programului FaceGen Modeller (http://www.facegen.com/), un program de modelare 3D a feei umane. Printre facilitile lui principale se numr: posibilitatea de a edita manual fiecare element component al feei, modelarea n funcie de ras, vrst, sex. Dup obinerea nfirii dorite, fotografia se poate exporta n format 3D sau 2D. Caracteristicile care au fost modelate cu ajutorul acestui modul sunt: ochii, nasul, buzele i forma feei. Fereastra pentru vizualizarea profilului unui infractor Fereastra cu profilul unui infractor conine toate informaiile despre acesta: date personale, caracteristicile feei, toate informaiile disponibile despre infraciunile comise, precum i poza sa, dac o astfel de imagine este disponibil. n Figura 6 se poate vedea coninutul profilului unui infractor i modalitatea de afiare a informaiilor despre acesta. n cazul n care un infractor nu are nicio fotografie n baza de date, n locul acesteia va aprea o imagine standard, ilustrat n Figura 7. Atunci cnd cursorul mouse-ului se va muta deasupra ochilor, nasului sau a buzelor, se va deschide o fereastr n care vor fi afiate, pentru infractorul Criminal Detection O aplicaie pentru identificarea infractorilor 369
respectiv, caracteristicile respectivei trsturi a feei (n Figura 7 se pot observa un exemplu cu detaliile despre ochi).
Figura 6. Profil infractor Vizualizarea profilului unui infractor este posibil din oricare dintre formularele prezentate anterior.
Figura 7. Deschiderea ferestrei cu detalii despre ochi 370 Ana-Teodora Petrea, Adrian Iftene
Fereastra dedicat procesrii de texte Aceast fereastr permite selectarea unui fiier text n care este descris o frdelege i sunt specificate semnalmentele infractorului, avnd ca rezultat afiarea unui tabel cu poteniali suspeci pentru noua frdelege. Utilizatorul i poate alege fiierul pe care s-l proceseze i calea la care s fie generat fiierul de ieire. Pentru testele pe care le-am realizat pn acuma am folosit informaii n limba englez preluate din ziare, cu declaraii ale martorilor sau ale poliiei. Restriciile impuse textului sunt dimensiunea relativ restrns i coninutul, care trebuie s ofere informaii relevante despre o infraciune i sa fie concentrat pe informaii concrete. Datele extrase sunt mpachetate ntr-un fiier XML, pentru folosirea lor ulterioar n cadrul proiectului principal. Aplicaia efectueaz urmtoarele tipuri de procesri textuale asupra fiierului ncrcat: Identificarea entitilor de tip nume - Entitile care ne intereseaz momentan sunt cele care desemneaz nume de persoane, localiti i date, ntruct ne dorim identificarea numelor victimelor, infractorilor acolo unde este cazul, a locaiei infraciunii i a datei la care aceasta a fost comis. Pentru realizarea acestei sarcini, s-au folosit resursele i metodele puse la dispoziie de binecunoscutul Gate, salvnd toate entitile gsite i frecvena apariiei lor ntr-un fiier XML. Aceast component a fost completat cu un modul capabil s identifice numele aceleai persoane, chiar dac acesta este scris n forme diferite. De exemplu, Tairre Lynne West, T. L. West i Tairee West erau marcate iniial ca fiind trei entiti diferite, dar dup mbunire era pstrat o singur entitate, entitatea cu forma cea mai lung a numelui. n cazul de mai sus se pstreaz forma Tairre Lynne West. De asemenea, s-a folosit biblioteca StringToTime, pentru a transpune descrierile textuale ale datelor ntr-un format standard, care s permit extragerea zilei, lunii i anului corespunztor. Astfel, dac n text este specificat faptul c infraciunea a avut loc vinerea trecut, vom putea ti data exact a acestei zile i vom putea lucra mai departe cu aceast informaie . n cazul entitilor de tip Locaie, s-a extras tipul locaiei desemnate: ora, ar, strad, etc. Acest lucru era necesar pentru a identifica oraul n Criminal Detection O aplicaie pentru identificarea infractorilor 371
care a avut loc infraciunea, alte detalii despre ar, strad, etc. fiind irelevante n contextul creat. S-a folosit aplicaia Gate de adnotare a textului, care permite adugarea de tag-uri specifice pentru fiecare tip de entitate descoperit. Rezoluia anaforei din lista de lanuri corefereniale identificate n text cu ajutorul parserului Stanford NLP, s-au folosit urmtoarele informaii: coreferinele, tipul fiecreia (nominal, pronominal, propriu), coreferina principal. Colecia de lanuri corefereniale a fost scanat i organizat n dou categorii, care au fost procesate mai departe n moduri diferite: cele care se refer la o entitate de tip nume de persoan (una dintre coreferine conine numele unei persoane) i restul lanurilor, care conin doar coreferine nominale i pronominale. Reguli pentru identificarea relaiilor ntre cuvinte cu ajutorul parserului Stanford NLP s-au extras relaii sintactice i morfologice ntre cuvintele unei propoziii. Cu ajutorul acestora, pentru o propoziie, s-au construit o colecie de dependene de diferite tipuri. O dependen este constituit din dou cuvinte, ntre care se stabilete un anumit tip de relaie (sintactic sau morfologic). Primul dintre cuvinte are rolul de guvernant i cel de-al doilea este numit dependent. Exemple de relaii extrase din propoziia: Bell, based in Los Angeles, makes and distributes electronic, computer and building products.: nsubj(make-8, Bell-1), partmod(Bell-1, based-3), root(ROOT-0, makes-8), etc. Aceste dependine pe propoziii au fost grupate, pentru a se modulariza procesarea lor: Reguli aplicate pentru extragerea de cunoatere dup obinerea entitilor de tip nume din text, a lanurilor corefereniale i a dependenelor din fiecare propoziie, s-au creat, pe baza acestora, o mulime de reguli care s permit identificarea unor anumite tipuri de informaii din text. Identificarea rolurilor mai nti, s-au grupat lanurile corefereniale n funcie de tipul coreferinei principale. Astfel, lanurile care refer o persoan sunt analizate pentru identificarea rolurilor fiecrui personaj, n contextul infraciunii: rufctor, victim, martor sau alt tip de person. Pentru a identifica un 372 Ana-Teodora Petrea, Adrian Iftene
infractor s-a folosit o metoda bazat pe relaiile gramaticale dintre cuvinte i coreferinele, ce refer numele persoanei respective. De asemenea, s-au folosit ca resurse colecii de substantive, verbe, adjective care refer infraciuni. Exemple de astfel de verbe: stab, injure, kill, rob, steal, shoot, abuse, assault, attack, beat, etc. S-au stabilit tipurile de dependine care apar n interiorul propoziiilor, atunci cnd se exprim faptul c o persoan a comis o frdelege. Cteva dintre acestea sunt: dependene de tip nsubj (subiect-predicat), n care subiectul este un cuvnt din componena numelui personajului respectiv i verbul exprim cominterea unei infraciuni. Exemplu: Dan Scott severely injured a woman last night, on the street. nsubj(injured, Scott). dependene de tip nsubjpass (subiect-verb diateza pasiv), n care subiectul este un cuvnt din componena numelui personajului respectiv i verbul exprim faptul c infractorul a fost descoperit, capturat, pedepsit. S-a folosit o colecie de verbe care indic acest lucru. Exemplu: Dan Scott was arrested Monday morning, at his house. nsubjpass(arrested, Scott). dependene de tip appos (substantiv-apoziie), n care substantivul este un cuvnt din componena numelui personajului respectiv i apoziia conine un substantiv care denumete un rufctor. n acest caz, s-a folosit o colecie de substantive care exprim acest lucru. Exemplu: Dan Scott, the criminal that the police has a hard time capturing, claimed another victim. appos(Scott, criminal). dependene de tip cop (verb auxiliar-nume predicativ), n care numele predicativ denumete un rufctor. Exemplu: Dan Scott is the killer that the police was searching for. cop(killer, is). Dependenele de mai sus sunt cutate n propoziiile care au ca subiect numele unei persoane. S-au gsit o serie de dependene i pentru propoziiile n care numele personajului este prezent, dar nu ca subiect al propoziiei. Cteva dintre acestea sunt: dependene de tip agent. Exemplu: The young girl was assaulted by Dan Scott. agent(assaulted, Scott). dependene de tip dobj. Exemplu: The police captured Dan Scott, Criminal Detection O aplicaie pentru identificarea infractorilor 373
after looking for him for three days. dobj(captured, Scott) Modalitatea de identificare a victimelor este similar, fiind formulate, n mod evident, alte reguli. Identificarea fragmentelor de text relevante s-a fcut pe baza textelor analizate anterior, n care s-au gsit roluri de victime, rufctori sau martori. Cutarea informaiilor despre caracteristicile fizice ale infractorilor, categoria din care face parte infraciunea, etc. va fi efectuat numai n propoziiile selectate n urma efecturii acestui pas. Acest lucru a fost realizat pentru a evita identificarea informaiilor din propoziii, care ofer detalii, ce nu au o relevan att de mare, pentru atingerea scopului iniial. Extragerea caracteristicilor fizice ale infractorilor s-a realizat cu metode specifice urmtoarelor caracteristici: o Caracteristici ale feei (forma feei, ochilor, nasului, buzelor, dimensiunea acestora, culoarea pielii, culoarea ochilor, culoarea i lungimea prului, etc.). Dependenele cutate sunt cele de tip amod(substantiv-adjectiv), iar substantivele luate n considerare sunt din urmtoarele categorii: face, eyes, hair, nose, lips, skin, figure, etc. Exemple: round face, blue eyes, full lips, solid figure, long hair, etc. shape, color, size, style, length, type, etc. Exemple: medium length (hair), square shape (face), blue color (eyes), small size (nose), afro style (hair), etc. o Vrst, nlime, greutate Dependenele avute n vedere pentru realizarea acestei sarcini sunt cele de tipurile: npadvmod Exemple: The director is 65 years old. npadvmod(old, years). He is 6 feet long. npadvmod (long, feet); num Exemple: The director is 65 years old. num (years, 65). He is 6 feet long. num (feet, 6). Categorii de infraciuni i arme folosite - Pentru extragerea acestor tipuri de date, s-au folosit dou liste de substantive populate anterior cu posibile categorii de infraciuni i tipuri de arme, care au fost cutate n rndul relaiilor ce au n componen substantive. Dup procesarea textului, rezultatele sunt mpachetate ntr-un fiier XML, iar caracteristicile extrase din text sunt ncrcate n memorie. 374 Ana-Teodora Petrea, Adrian Iftene
Infractorii care prezint mcar o parte dintre aceste caracteristici sunt selectai i adugai ntr-un tabel, care afieaz: numele i poza rufctorului, caracteristicile care se potrivesc i cele care nu se potrivesc cu cele extrase din text, precum i un procent de asemnare. Acest procent este calculat prin raportul dintre numrul de caracteristici ntre care exist o potrivire i numrul total al caracteristicilor descoperite n text. Modalitatea de calcul ar putea fi extins, oferind posibilitatea ponderrii factorilor, cu scopul rafinrii i mbuntirii rezultatelor. Figura 8 conine o exemplificare a structurii i coninutului acestui tabel. Pentru accesul uor ctre profilul unui infractor care figureaz n tabel, utilizatorul trebuie numai s efectueze un click pe poza acestuia. Pe viitor dorim s ponderm caracteristicile identificate n funcie de relevana lor, cu scopul de a mbunti predicia final.
Figura 8: Tabel rezultate potriviri Momentan, aplicaia a fost folosit oferindu-i la intrare articole de ziare preluate de pe Internet, dar ea ar putea fi folosit pe viitor avnd la intrare declaraiile martorilor sau observaiile celor care ancheteaz o infraciune. 4. Concluzii Lingvistica Computaional este o ramur destul de dificil de abordat a Inteligenei Artificiale, acest lucru datorndu-se nivelului sporit de complexitate al limbii fiecrui popor. Progresele care s-au fcut n ultimii Criminal Detection O aplicaie pentru identificarea infractorilor 375
ani permit, ns, folosirea cu succes a uneltelor de procesare existente pentru limba englez. Aceast lucrare i-a propus s fructifice rezultatele obinute pn acum n domeniu, pentru a crea un sistem care s poat extrage dintr-un text care descrie o infraciune, acele informaii care sunt relevante pentru identificarea infractorului. Pentru atingerea acestui obiectiv, s-a creat contextul n care acest sistem s poat funciona, adic aplicaia principal, care a fost completat i cu alte funcionaliti, pe care le considerm folositoare i necesare. Alegerea unor parametri precum datele care s fie stocate n baza de date au depins de informaiile pe care le-am obinut din ziare. n funcie de sursa acestora, pe viitor, acestea pot fi nlocuite fr a fi fcute schimbri majore structurii aplicaiei. Schimbrile necesare cuprind modificarea schemei fiierelor XML aferente i, eventual, adugarea de reguli pentru extragerea respectivei categorii de date. n aceste condiii, considerm c aplicaia ar putea fi utilizat ntr-un mediu real, n cadrul diferitelor instituii n care procesarea acestor tipuri de texte este realizat de angajai. Direciile de dezvoltare pentru o astfel de aplicaie sunt, n mod evident, numeroase. Proiectul poate fi extins cu posibilitatea procesrii unor texte de dimensiuni mai mari, care conin resurse multimedia (poze, videoclipuri). Mulumiri Cercetarea prezentat n aceast lucrare a fost finanat de ctre proiectul MUCKE (Multimedia and User Credibility Knowledge Extraction), de tip ERA-NET CHIST-ERA, numrul 2 CHIST-ERA/01.10.2012. Referine Bikel, D. M., Miller, S., Schwartz, R., Weischedel, R. Nymble: a High- Performance Learning Name-finder. Proc. Conference on Applied Natural Language Processing, 1997. Borthwick, A., Sterling, J., Agichtein, E., Grishman, R. Exploiting Diverse Knowledge Sources via Maximum Entropy in Named Entity Recognition. In: Proceedings of the 6th Workshop on Very Large Corpora, 1998. 376 Ana-Teodora Petrea, Adrian Iftene
Chang, C. H., Kayed, M., Girgis, M. R., Shaalan, K. A Survey of Web Information Extraction Systems. IEEE Transactions on Knowledge and Data Engineering, vol. 18, no. 10, Pp. 1411-1428, Oct. 2006, Cristea, D., Ionita, M., Pistol, I. Inteligena Artificial. Editura Universitii Al.I.Cuza, Iai, 2007. Grishman, R. and B. Sundheim. Message understanding conference- 6: A brief history. In Proceedings of COLING, 1996. Hutchins, J. Retrospect and prospect in computer-based translation. In Machine Translation Summit VII, 13th-17th September 1999, Kent Ridge Labs, Singapore. Proceedings of MT Summit VII MT in the great translation era (Tokyo: AAMT), Pp. 30-44, 1999. Iftene, A., Trandab, D., Toader, M., Corci, M. Named Entity Recognition for Romanian. In Proceedings of the 3th Conference on Knowledge Engineering: Principles and Techniques Conference (KEPT2011). In Studia Universitatis, Babe Bolyai, Vol. 2, Cluj-Napoca, Romnia, Iulie 4-6, Pp.19-24, 2011. Masayuki, A., Matsumoto, Y. Japanese Named Entity Extraction with Redundant Morphological Analysis. In Proc. Human Language Technology conference North American chapter of the Association for Computational Linguistic, 2003. McCarthy, J., Minsky, M., Rochester, N., Shannon, C. A. Proposal for the Dartmouth Summer Research Project on Artificial Intelligence. 1955. Nadeau, D., Sekine, S. A Survey of Named Entity Recognition and Classification. 2007. Peng, F., McCallum, A. Information extraction from research papers using conditional random fields. In Information Processing & Management, vol. 42, nr. 963, 2006. Sekine, S., Grishman, R., Shinnou, H. A Decision Tree Method for Finding and Classifying Names in Japanese Texts. In: Proceedings of the Sixth Workshop on Very Large Corpora, 1998. Shimizu, N. Extracting Frame-based Knowledge Representation from Route Instructions. In HLT-NAACLWs. on Computationally Hard Problems and Joint Inference in Speech and Language Processing. Late Breaking Paper. 2006. Tulbure-Dombi, M., Amariei, D., Iftene, A. Supravegherea pe Internet: Extragerea de informaii de pe Facebook, Twitter, Wikipedia i Yahoo. Conferina RoCHI 2010, 139-140, Bucureti, 2010