GATE (program)

Arhitectură generală pentru ingineria textului (GATE)

Fereastra principală GATE Developer
Tip de Exploatarea datelor, extragerea informațiilor
Dezvoltatori Universitatea din Sheffield
Scris in Java
Interfață Grafice, API-uri GATE
Sistem de operare Windows Vista, Windows XP, Mac OS X, Linux, Mac OS X, Solaris etc.
Limbi de interfață Engleză
Prima editie 1995
Platformă hardware Mașină virtuală Java
ultima versiune
Licență LGPL
Site-ul web poarta.ac.uk
 Fișiere media la Wikimedia Commons

General Architecture for Text Engineering (GATE, program)  este un sistem open source de procesare a limbajului natural care utilizează seturi de componente în limbajul Java [1] . Sistemul a fost dezvoltat inițial la Universitatea din Sheffield și a fost dezvoltat din 1995.

Cu ajutorul GATE sunt implementate sarcini acolo unde este necesar să se identifice conținutul semantic al textului și să-l codifice într-o formă structurată prin adăugarea de adnotări la segmentele de text. GATE este folosit împreună cu NLTK , R și RapidMiner [2] . Sistemul este utilizat pentru extragerea informațiilor , adnotarea semantică manuală și automată, analiza coreferenței , lucrul cu ontologii (de exemplu, WordNet), învățarea automată (Weka, RASP, MAXENT, SVM Light), analiza fluxului de postări de blog (de exemplu, Twitter) [3] .

Familia de instrumente GATE include: GATE Developer, GATE Mímir, GATE Cloud (pentru lucrul cu proiecte lingvistice la scară largă), GATE Teamware (optimizare server pentru adnotare de text colaborativ), GATE Embedded (biblioteca de obiecte) [4] .

GATE este susținut de o comunitate mare de dezvoltatori, utilizatori, educatori, studenți și oameni de știință. Folosit în proiecte comerciale și de cercetare de către corporații mari, laboratoare de cercetare și universități, întreprinderi comerciale mici și mijlocii din întreaga lume. GATE este aplicat într-o mare varietate de domenii științifice legate de lingvistica computațională , procesarea limbajului natural , modelarea proceselor limbajului, biologia computațională și medicină [5] . Proiecte care utilizează GATE: ForgetIT (Marea Britanie), Arhivele Naționale (Marea Britanie), EMILLE (Marea Britanie), myGRID Arhivată 29 septembrie 2013 la Wayback Machine (Marea Britanie), AKT (Marea Britanie), Platforma semantică KIT , Ontotext (Bulgaria), MeManage  (link indisponibil) (Germania), Med Dictate (Canada), IE Denso (Japonia) [6] .

Arhitectură și operații de bază

Arhitectura GATE constă din componente interconectate: „bucăți” de software cu interfețe bine definite care pot fi implementate într-o varietate de contexte. GATE implementează soluții gata făcute pentru tokenizare, etichetare, împărțirea textului în declarații (splitter), extragerea entităților numite , învățarea automată . Componentele sunt împărțite în trei categorii în funcție de funcție:

Sunt acceptate următoarele formate de document: Text simplu, HTML, SGML, XML, RTF, Email, PDF (unele documente), Microsoft Office (unele formate), OpenOffice (unele formate), UIMA CAS, CoNLL/IOB. Lucrul cu formate de documente în GATE are o serie de caracteristici specifice [7] . GATE are încorporate diverse instrumente pentru lucrul cu Unicode. Limbi acceptate: engleză (implicit), spaniolă, chineză, arabă, bulgară, franceză, germană, hindi, italiană, cebuano, română, rusă.

Când programul este lansat, fereastra sa principală conține patru elemente de meniu principal: Aplicații, Resurse de limbă, Resurse de procesare, Depozite de date.

Aplicații

Controlerul, împreună cu programele sale asociate de procesare a textului (Resurse de procesare). Procesele de procesare de text definite și stocate pot fi reaplicate unui singur document sau corpus de text. Acest lucru asigură o procesare fiabilă a textului și economisește timp.

Resurse lingvistice (LR)

Conține trei tipuri de date: documente, corpuri și grafice de adnotări.

Resurse de procesare (PR)

Programe pentru procesarea textului. În GATE, resursele sunt folosite pentru a crea și gestiona automat adnotări. Cu PR, puteți adăuga sau modifica marcarea documentelor. Un nou PR este creat în același mod ca LR. La crearea unui PR, sunt setați parametri, care sunt de două tipuri: parametri de inițializare și parametri de pornire. Primul trebuie setat atunci când resursa este creată, cel din urmă chiar înainte de a fi lansat de la controler. Controlorii controlează funcționarea PR. Ei sunt responsabili pentru ordinea în care este aplicat PR și interacțiunea PR cu LR. Principalele tipuri de controlere:

Principiile de lucru cu Pipeline și Corpus Pipeline sunt similare: se creează un nou controler (clic dreapta pe Applications > New > controller name), PR-urile sunt selectate din lista din stânga și instalate în ordinea specificată de utilizator. Specificați documentul țintă în cazul Pipeline, corpus țintă în cazul Corpus Pipeline, parametrii pentru PR sunt definiți. După pornirea Run, controlorul va începe să lanseze secvenţial PR-uri pe documentele selectate, în ordinea specificată de utilizator.

Configurațiile controlerului (PR + setări) pot fi salvate în Aplicații (Salvați starea aplicației), de preferință folosind extensia .gapp.

pachet de resurse CREOLE

Setul de resurse integrate cu GATE este cunoscut sub numele de CREOLE  - Reusable Objects for Language Engineering. Resursele sunt stocate în depozite CREOLE, care conțin fișiere XML, coduri de arhivă Java și biblioteci necesare resurselor. Resursele utilizate sunt grupate împreună în plugin-uri [8] care sunt stocate la o anumită adresă (URL sau fișier:/URL). Pluginurile pot fi de bază (încărcate în timpul instalării GATE) și personalizate, pot fi localizate pe o unitate locală sau pe un server la distanță. Când fișierul este încărcat în GATE, arată ca un fișier de setări creole.xml. Pluginurile CREOLE sunt gestionate prin interfață utilizând comanda Fișier > Gestionare pluginuri CREOLE > Adăugați un nou depozit creol. GATE este reprezentată ca un set de setări (funcții) în care utilizatorul conectează componente CREOLE: utilizatorul specifică o listă de adrese, GATE extrage resursele corespunzătoare (PR) din acestea. Când este selectat un plug-in, lista de setări a acestuia apare în câmpul din dreapta.

depozite de date

Magazin de date. Necesar pentru a stoca documente/cazuri și procese pentru utilizare ulterioară. Dintre toate tipurile de stocare, Serial DataStore este adesea folosit. cutie de depozitare

  • creați (Magazine de date > Creați depozit de date > Magazin de date serial > specificați un folder gol fără caractere chirilice și spații în cale),
  • deschideți creat anterior (Open datastore),
  • salvați documente și cazuri în el (Deschideți depozitul de date > faceți dublu clic pe un document/caz),
  • salvați modificările efectuate în document sau corpus (Salvați în depozitul de date).

O secvență de procese de procesare a textului din Aplicații poate fi rulată de sub DataStore. Trebuie să deschideți DataStore, deschideți carcasa, apoi în Aplicații selectați acest caz. Când rulați aplicația pe un corp din DataStore, fiecare document va fi încărcat, procesat, salvat și închis. Adică, un singur document este procesat la un moment dat. Acest lucru nu supraîncărcă memoria, dar procesul este mai lent decât dacă toate documentele ar fi procesate în același timp.

Markup document în GATE Developer

Marcarea documentelor în conformitate cu reguli uniforme vă permite să căutați și să extrageți date dintr-un document, să creați ontologii .

În GATE, după deschiderea editorului de documente, apar filele Seturi de adnotări și Lista de adnotări (sau Adnotări în funcție de versiunea de Gate), unde în lista din dreapta puteți verifica tipurile de adnotări pe care doriți să le afișați sau să creați adnotări . Este furnizată funcția Schimbare culoare. Când este selectată o bucată de text căreia trebuie să i se aloce o adnotare, apare fereastra Editor de adnotări, care conține următoarele câmpuri și controale:

  1. Tip de adnotare (dacă unele tipuri au fost deja adăugate, puteți alege dintre cele existente)
  2. Numele atributului (câmpurile goale pentru următorul atribut apar automat)
  3. Valoarea atributului
  4. Butonul Șterge adnotarea

Adnotările sunt grupate în AnnotationSets. Aceasta este o caracteristică utilă care vă permite să stocați mai multe opțiuni de marcare pentru un document, de exemplu, expert și automat. Markup expert este de obicei stocat într-un set de adnotări numit Key. Marcarea automată este de obicei scrisă într-un set de adnotări gol, care este prezent implicit în toate documentele. Nu există nicio cheie AnnotationSet în documente, trebuie să o creați, introduceți cuvântul Cheie în câmpul de sub tipurile de adnotări și faceți clic pe Nou.

Sistemul ANNIE

GATE are un sistem AI numit ANNIE (A Nearly-New Information Extraction System), care include un set de resurse care oferă tokenizare (ANNIE English Tokenizer), POS-tagging (ANNIE POS-Tagger), împărțit în propoziții (ANNIE Sentence Splitter) , extragerea entității denumite (ANNIE Gazetteer și ANNIE NE Transducer) și analiza coreferenței (ANNIE OrthoMatcher). Dezvoltatori: Hamish Cunningham, Valentin Tablan, Diana Maynard, Kalina Bontcheva, Marin Dimitrov și alții. Dezvoltatorii ANNIE folosesc algoritmi de automată finită JAPE [9] și expresii regulate .

Componentele ANNIE sunt integrate în aplicație, așa că pentru inițializare, trebuie doar să faceți clic pe pictograma verde corespunzătoare din bara de instrumente GATE și să selectați cu setările implicite. După ce toate resursele apar în lista Resurse de procesare, faceți dublu clic pentru a deschide aplicația ANNIE, care se află în lista de Aplicații. Interfața aplicației ANNIE este aceeași cu restul aplicațiilor. În partea dreaptă este o listă ordonată de resurse care vor fi apelate pe document exact în ordinea specificată în listă. Aplicația ANNIE aparține clasei Corpus Pipeline, adică trebuie să ruleze pe un corpus de texte. Ca rezultat al funcționării sistemului ANNIE, se adaugă un număr de adnotări la setul de adnotări implicit, inclusiv Token (tokens), Sentence (propoziții), Lookup (intrări din dicționar), Person, Location, Organization. Dacă corpus și documentele au fost în DataStore înainte de a rula ANNIE, ANNIE va prelua documentele pe rând, le va procesa și le va pune înapoi.

Lista componentelor:

  1. Lista PR are o resursă PR Resetare document care elimină marcajul din document înainte de procesare. Resursa are un parametru setsToKeep, care listează numele AnnotationSets care nu trebuie șters. Dacă există marcare manuală în document, trebuie să vă asigurați că setul de adnotări care conține acest marcaj este listat în această listă, altfel va fi șters. În mod implicit, setul de chei este specificat acolo.
  2. Tokenizer . Împarte textul în simboluri, și anume numere, semne de punctuație, cuvinte, simboluri, spații. Fiecărui jeton i se atribuie tipul său, respectiv, Cuvânt (atribut orth cu parametri: upperInitial, allCaps, lowerCase, mixedCaps), Number, Symbol, Punctuation, SpaceToken.
  3. Gazetteer . Definește entitățile denumite în conformitate cu lista, adică un fișier text (text simplu) cu o listă de entități denumite rând cu rând. Fiecare listă conține un set diferit de entități denumite: orașe, organizații, zile ale săptămânii etc. doar pentru una dintre limbile date. Fișierul lists.def oferă acces la o listă de entități numite. Puteți seta tipul de adnotare pentru o listă individuală de entități denumite. Fiecare listă trebuie să fie în același director cu fișierul index lists.def.
  4. Separator de propoziții . Împarte textul în propoziții. Splitter-ul folosește lista de abrevieri din Gazetteer pentru a distinge sfârșitul unei propoziții de alte tipuri de punctuație. Fiecărui enunț i se atribuie adnotarea „Propoziție”, în interiorul căreia se află adnotarea „Split” cu valoarea „intern” și „extern” pentru a distinge propozițiile interogative, exclamative și afirmative.
  5. RegEx Sentence Splitter . O modalitate alternativă de a împărți textul în propoziții folosind expresii regulate JAPE.
  6. Parte din Speech Tagger . Adnotează fiecare cuvânt și caracter. Există o listă de etichete folosite. Folosește vocabular și multe reguli bazate pe corpus Wall Street Journal. Regulile și vocabularul pot fi modificate manual.
  7. Tagger semantic . Adnotarea semantică se realizează folosind reguli de rezoluție JAPE (expresii regulate) care folosesc etichetele obținute în pașii anteriori de adnotare.
  8. Coreferință ortografică (OrthoMatcher sau „NameMatcher”). Adaugă un tip de relație între etichetele de entitate numită și etichetele semantice. Nu găsește entități denumite noi, dar poate atribui un tip neclasificabil unui nume propriu pe baza potrivirilor de cuvinte.
  9. Coreferința pronominală . Conectat la PR ca o resursă suplimentară a pluginului ANNIE. Poate găsi text citat, vorbire directă, pronume (înlocuire de substantive, anaforă ), repetări. Necesită adnotare preliminară prin etichete: Token (English Tokenizer), Sentence (Sentence Splitter), Split (Sentence Splitter), Locație (NE Transducer, OrthoMatcher), Persoană (NE Transducer, OrthoMatcher), Organizație (NE Transducer, OrthoMatcher). Analiza este efectuată folosind regulile convertorului JAPE (expresii regulate), o mașină de stări este construită pentru a căuta semne de vorbire directă și citate (ghilimele simple și duble etc.), căutarea pronumelor „it, its, însuși” și „eu, eu, meu, eu însumi”.

Testarea rezultatelor procesării textului

GATE are instrumente încorporate pentru testarea rezultatelor procesării textului:

  • Instrumentul AnnotationDiff efectuează o comparație pe același document (butonul de comparare de pe panoul GATE).

Parametri: Set de chei (numele AnnotationSet cu marcajul #1), Setul de răspunsuri (numele AnnotationSet cu marcajul #2), Tip (numai un tip poate fi testat la un moment dat), Caracteristici (atributele pe care le comparăm). După începerea comparației (Comparare), AnnotationDiff va scoate perechi de adnotări, marcând tipul perechii cu o culoare. Tipuri: Corect (potrivire completă), Lipsă (adnotarea corectă nu a fost găsită), Fals pozitiv (adnotare suplimentară găsită), Parțial corect (depășind parțial granițele adnotărilor). În funcție de numărul de perechi de diferite tipuri, sunt calculate valorile standard Precision, Recall și F.

  • Corpus Quality Assurance (CQA) este conceput pentru a calcula valorile calității pe un corpus.

Fila Corpus Quality Assurance se deschide în fereastra corpus dorită. CQA va colecta date despre seturi, adnotări și atributele acestora. Este necesar să setați parametrii, să selectați tipurile de evaluări (de exemplu, scor F1.0 strict, indulgent și mediu). Rulați comparația. În fila Statistici document, puteți vizualiza statisticile documentelor, precum și deschideți imediat documentul selectat sau vizualizați AnnotationDiff pentru acesta. Rezultatele testelor pot fi exportate în HTML.

GATE Mimir

GATE Mímir este un motor de căutare open source găzduit pe SourceForge, distribuit sub GNU Lesser General Public License 3.0. GATE Mímir oferă suport pentru indexarea și căutarea informațiilor lingvistice și semantice din aplicații cu baze de date uriașe de date lingvistice. GATE Mímir oferă capacitatea de a căuta informații despre text, adnotări, ontologii semantice și metadate semantice folosind combinații arbitrare de text, informații structurale și SPARQL. Dezvoltatorii nu oferă un produs ambalat gata făcut, ci oferă să descărcați sursele și să vă compilați propriile fișiere. Sunt furnizate manualul de utilizare GATE Mímir [10] , exemple de utilizare [11] , pentru cele mai recente versiuni de lansare, arhivele unui arbore sursă întreg sunt disponibile [12] .

Vezi și

Note

  1. tao , p. 5.
  2. Grimes, 2009 .
  3. TwitIE, 2013 .
  4. tao , p. 6.
  5. BiomedicalGate, 2013 .
  6. Proiecte .
  7. Ghidul utilizatorului GATE , p. 93.
  8. Lista de pluginuri GATE .
  9. Secțiune despre JAPE .
  10. Mimir .
  11. MimirExamples .
  12. Sursa Mímir .

Literatură

Link -uri