“alexandru ioan cuza” universitaty of iaŞi faculty …daniela.gifu/tehnici de ingineria...
TRANSCRIPT
Natural Language
Engineering
Daniela GÎFU
http://profs.info.uaic.ro/~daniela.gifu/
“ALEXANDRU IOAN CUZA” UNIVERSITATY OF IAŞI
FACULTY OF COMPUTER SCIENCE
2
Laboratory 1-2-3 An Overview
“Alexandru Ioan Cuza” University of Iași
T H E H A L L O F T H E L O S T S T E P S
4
Be among the first….
of Computer Science
5
Faculty of Computer Science – http://www.uaic.ro/en/studies/faculties/faculty-computer-science/ Departments
• Computer Science
Bachelor degree:
• Computer Science
• Computer Science
• Computer Science (also taught in English)
Master degree
• Computer Science
• Software Engineering (in English)
• Distributed Systems (in English)
• Information Security (in English)
• Computational Optimization (in English)
• Computational Linguistics (in English)
• Advanced Studies in Computer Science (in English)
Doctoral School
• Computer Science
1992 - the only faculty of IT in Romania
TILN
What is this lab. about?
Meaning and Natural Language Processing (NLP)
NLP Pipeline
(large-scale, parallel, multilingual and modularized)
Language Resources & Approaches
6
Familiarization with relevant Terminology
• Syntax
• Semantics
• Pragmatics
• Natural language
• Computational Linguistics
• Natural Language Processing
… 7
Simulation of human (natural)
intelligence by machines
Interdisplinary field ~
Scientific study of
language from a
computational
perspective
A discipline that spans
theory and practice to
understand
computer systems and
networks at a deep level 8
NLP pipeline
9
10
- Covers computer understanding and manipulation of human language.
Ex: printing press
- A way for computers to analyze, understand, and derive meaning from human language.
Ex: automatic summarization, translation, named entity recognition, relationship extraction, sentiment analysis, speech recognition, and topic segmentation.
- Considers the hierarchical structure of language.
Ex: several words = a clause
several clauses = a sentence/phrase
several sentences = an idea
NLP – intersection of CS, AI and CL
NLP systems = correcting
grammar, converting
speech to text, etc.
12
NLP – a subdomain of Artificial Intelligence and
Linguistics
1. Thematic Areas
- Linguistics - mathematical linguistics - computational
linguistics
- Formal Language
- Linguistic and Language Processing
- The grammatical structure of utterances: the sentence,
constituents, phrase, classifications and structural rules,
syntactic processing ...
- Parser
- Syntax (grammar) & Semantics (meaning) &
Pragmatics (understanding/meaning in context)
CL = gives theoretical background (computational
theories on language), linguistics models.
NLP = applied CL, including:
- natural language technology (NLT)
- human language technology (HLT)
13
The research domain
Spoken language
- speech processing (from speech to text to syntax and
semantics to speech)
Written language – my area of interest
Language in correlation with other modalities
(multimodality)
- speech
- intonation
- image
14
Natural language technology
15
Levels of Linguistic Analysis
NLP
Letters - strings
Morphemes
Words
Phrases & sentences
Meaning out of context
Meaning in context
Phones
Acoustic signal
SR
Phonetics – production and perception of speech
Phonology – Sound patterns of language
Lexicon – Dictionary of words in a language
Morphology – Word formation and structure
Syntax – Sentence structure
Semantics – Intended meaning
Pragmatics – Understanding from external info
16
Improving the development research
infrastructure of FII http://nlptools.info.uaic.ro/
PoS Tagger for Romanian
NP Chunker for Romanian
Multilingual Named Entity Recognizer
Multilingual Named Entity Editor
Multilingual Anaphora Resolution
Multilingual Anaphora Editor
Multilingual Clause Splitter
Multilingual Clause Editor
Multilingual Discourse Parser
….
….
17
Final project
Groups structured by “n” students (4-5):
(1) Choose a task (see below) – add the teams in the following
documents:
https://docs.google.com/document/d/1GiEaZfooA1zHCPv_ngbH
apCAvOSpTET4EHC66pfx8Pc/edit
(2) All applications for Romanian language (exceptions 9 & 10)
(3) Built only Web services (XML-based information exchange
systems) and add here: http://nlptools.info.uaic.ro/
18
1. Name entity recogniser (NER)
Folosind Graphical Grammar Studio (GGS) ori o altă tehnologie, scrieți o
gramatică de expresii regulate capabilă să recunoască expresii românești care indică
locații (persoane, orașe, străzi,instituții etc.). Folosiți pentru aceasta și liste de nume
publice (de ex: Geonames).
Cu acest NER marcați în XML entitățile geografice dintr-un text dat în intrare.
Formatul de marcare trebuie să urmeze cât mai îndeaproape specificațiile
MappingBooks.
Download GGS:
https://sourceforge.net/projects/ggs/
Gazetteer:
https://drive.google.com/open?id=1oTBmSX_93cnVIwqxJcAoqQU7W4qDBFEV
Surse alternative:
https://www.geonames.org/datasources/
https://dumps.wikimedia.org/rowiki/latest/rowiki-latest-all-titles.gz
https://wwwp.familysearch.org/wiki/en/Romania_Gazetteers
http://services.gate.ac.uk/annie/
Fișier exemplu output:
https://drive.google.com/open?id=0Byr72F6j0SDqT1BCemlWNTcyRUNlRlNZZnZ
iQ2Y1MWZMaWRn
19
1. Name entity recogniser (NER)
Bibliografie:
• Raport MappingBooks 2014: https://drive.google.com/drive/folders/1S4Mfj-
4hfCXavAEkY8VQGvBjNxlcdOTF (pentru convenții XML de adnotare a
entităților cu nume)
• D. Cristea, D. Gîfu, I. Pistol, D. Sfirnaciuc, M. Niculiță (2016). A Mixed
Approach in Recognising Geographical Entities in Texts. in D.Trandabăț and
D.Gîfu (eds.): Proceedings of the Workshop on Social Media and the Web of
Linked Data, RUMOUR-2015, A satellite event of EUROLAN-2015, Sibiu,
Romania, July 2015, Springer International Publishing,
https://profs.info.uaic.ro/~dcristea/papers/RUMOUR-Cristea%20et%20al.pdf
• (DG) Vlad Barbu, Dragoș-Andrei Dimitriu, Andy Momiță, Mădălin Mîndru
20
2. Route tracer following text descriptions
Scrieți un program capabil să deseneze trasee plecând de la descrierile lor în text.
Folosiți Google Maps sau o altă aplicație de trasare grafică pentru vizualizarea
traseelor. Pentru colecția de texte, preluați de pe diferite site-uri turistice.
Ca exemplificare, iată câteva descrieri de trasee:
“Biserica din cărămidă de la sfârșitul secolului XV-lea, de lângă Palatul Culturii,
este Biserica Sf. Nicolae… O plimbare de 5 minute spre nord, pe Bulevardul Ștefan
cel Mare, te duce la Biserica Trei Ierarhi (str. Ștefan cel Mare și Sfânt nr. 28)...
Biserica Armenească de la începutul secolului XIX-lea se află pe Strada
Armenească, o plimbare de 8 minute la nord-est de Piața Palatului, pe Strada
Costache Negri… Mergi puțin mai departe spre nord, până pe Strada Cuza Vodă nr.
51, unde se înalță Mănăstirea Golia.”
“Biserica Sf. Nicolae Domnesc este situată în centrul orașului, pe Str. Anastasie
Panu nr. 65, în preajma vechii Curți Domnești, între Palatul Culturii și Casa cu
arcade (Casa Dosoftei).”
Documentații:
Raport MappingBooks 2015: https://drive.google.com/drive/folders/1S4Mfj-
4hfCXavAEkY8VQGvBjNxlcdOTF (pentru convenții XML de adnotare a relațiilor
spațiale)
(DG) Adrian Tudose, Călin Timofte, Rareș Pintilii, Alexandru Timofti
21
3. Recognising time in texts
Scrieți o gramatică de expresii regulate capabilă să adnoteze într-un XML, în
maniera TimeML, expresii temporale în texte.
Exemple de expresii temporale: mâine, după două zile, de luni până vineri,
săptămâna trecută, acum un an, la anul, în secolul al XIX-lea, la mijlocul
deceniului ‘90, 16.12.2019, ieri la ora 12:00, în data de 20 a lunii, în primul
weekend al fiecărei luni etc.
<TIMEEX>...</TIMEEX>
Bibliografie:
James Pustejovsky et al. (2003). TimeML: Robust Specification of Event and
Temporal Expressions in Text, AAAI Technical Report SS-03-07,
https://www.aaai.org/Papers/Symposia/Spring/2003/SS-03-07/SS03-07-005.pdf
Sutime Python: https://github.com/FraBle/python-sutime
22
4. Time aligner
Particularizați programe de aliniere temporală (ex. TARSQI, TANGO) la limba
română pentru a plasa pe o axă a timpului expresii temporale, mențiuni de
evenimente și mențiuni de relații temporale între evenimente și momente ori
intervale de timp. Rezultatul trebuie să se prezinte sub forma unei latici (ordonare
parțială).
Exemplu de relație temporală exprimată în text și adnotările corespunzătoare
TimeML (simplificate):
“La un an după înființarea Institutului, acesta avea deja 20 de cercetători.” => <EVENT ID=“e01”>înființarea institutului</EVENT>
<EVENT ID=“e02”>acesta avea deja 20 de
cercetători</EVENT>
<TLINK> event1=”e01” event2=”e02” relType=”AFTER”
duration=”1” unit=”year”/>
Bibliografie și download:
Verhagen & Pustejovsky: Temporal Processing with the TARSQI Toolkit, Coling
2008, https://www.aclweb.org/anthology/C08-3012.pdf
Marc Verhagen, Robert Knippen, Inderjeet Mani, James Pustejovsky: Annotation
of Temporal Relations with Tango.
https://github.com/tarsqi/ttk
23
5. Automatic writing of the history of a place
Aveți la dispoziție o colecție de texte în care sunt marcate XML evenimente,
persoane, locuri și expresii temporale.
Evenimente pot fi: acțiuni, activități, întâlniri etc.
Într-un eveniment sunt implicate una sau mai multe persoane și este precizat un
interval sau un moment de timp. Organizați o serie de criterii de selecție a
evenimentelor și, pe baza lor, scrieți o „istorie”, un timeline, al evenimentelor care
s-au petrecut într-un anumit interval de timp într-un anumit areal.
Particularizare: Intrarea vă e oferită de o bibliotecă sub forma unei colecții de ziare
în formă scanată.
Bibliografie:
v. Piek Vossen (LREC)
24
6. I listen my speaking agent reading book fragments as I walk by
Aveți o colecție de texte care abundă în entități geografice, marcate XML explicit,
textele fiind însoțite de metadate care descriu: autorul și titlul cărții, anul de
apariție și editura. Aplicația va semnala proximitatea telefonului față de locațiile
menționate în texte și vă va citi acele fragmente care includ mențiunilor respective.
În felul acesta, o plimbare printr-un mare oraș se poate transforma într-o călătorie
literară.
Bibliografie:
• rapoartele proiectului ReTeRom (http://www.racai.ro/p/reterom/index_en.html):
• lucrări MappingBooks (a se consulta Cristea et al., în
https://profs.info.uaic.ro/~dcristea/publications.html)
25
7. Cultural routes creator
Aveți o colecție de descrieri de obiecte culturale (texte literare, statui din orașe,
muzee de artă, monumente arhitectonice etc.) sub formă de metadate despre:
texte: autorul și titlul cărții, anul de apariție și editura;
instituții culturale (teatre, opere, filarmonici, muzee, universități): tipul instituției,
conținutul colecțiilor, locul etc.
statui, monumente de arhitectură, grădini publice, zoologice, botanice: realizatorul,
subiectul, anul ridicării/inaugurării, locul în oraș, istorii asociate.
Scrieți o aplicație capabilă să propună utilizatorului trasee culturale, adică trasee
care includ locuri menționate în texte precum și proximitatea artefactelor culturale.
Selectarea obiectelor de interes se face după criterii preferențiale, indicate de
utilizator. Un traseu trebuie să poată fi parcurs cu piciorul, cu mașina, cu trenul
etc., urmând indicația utilizatorului.
Bibliografie: ???
26
8. Encounters intermediated by lectures
O aplicație vă preia informații despre lecturile pe care le aveți, momentul lecturii,
precum și minimale aprecieri asupra cărților citite. Prelungiți aplicația pentru a vă
semnala când vă aflați în proximitatea unei persoane care a citit aceeași carte,
recent ori mai de mult. Aplicația vă poate facilita o întâlnire cu acea persoană.
Bibliografie:
https://profs.info.uaic.ro/~dcristea/papers/cristea-etal-ICCCI-2016.pdf
https://drive.google.com/open?id=1UK_nA4RczAoqGGUkLLEbhG9CLc5FZBjY
27
9. Correlations among variables in psychology – free text input (I)
Aveți o colecție de articole de psihologie (120). Extrageti din corpul textului
informatii legate de: a) lotul de participanti (numar participanti, varsta,
nationalitate, gen, profesie etc.); b) variabilele studiului (ce instrumente au fost
utilizate pentru masurarea lor, ce autor(i) au dezvoltat aceste instrumente, care
este coeficientul de consistenta interna al variabilei).
Mai jos, e subliniata cu verde variabila (positive affectivity), numele autorilor
care au construit instrumentul de masura al acestei variabile (Watson et al.,
1988) si coeficientul de consistenta interna alpha=.81.
In stadiul in care ne aflam acum, aceste informatii ar fi extrase manual de un
operator si introduse in campurile corespunzatoare de pe platforma DECIDE.
(DG) Lidia-Gabriela Burcă, Alina Popa, Andreea Nedelcu, Andrei Bârseti
28
9. Correlations among variables in psychology – free text input (II)
Aceste informatii (despre lot si despre variabile) se regasesc in mod standard in
articole intr-o sectiune/capitol care se numeste Method.
De asemenea, de obicei exista subsectiuni in cadrul capitolului
Method: Participants/Sample si Instruments, ceea ce ne poate ajuta sa
identificam mai usor informatiile necesare despre lotul si varibilele studiului.
Mai jos aveti un exemplu de informatii care trebuie extrase din subsectiunea
Participants (informatii despre lotul de participanti).
29
10. Correlations among variables in psychology – tabelar input
Aveți o colecție de articole de psihologie în care se descriu corelații între variabile.
Extrageți corelatiile din tabel. Aceste tabele sunt în mare parte standardizate.
Din tabele se vor extrage denumirile variabilelor (listate pe verticală), media (M),
abaterea standard (SD), coeficientul alpha/ internal consistency (atunci când el
apare) și coeficienții de corelație (aflați la intersecția dintre o coloană și un rând).
Aplicația dumneavoastră trebuie să plaseze aceste corelații, plus informațiile
adiacente, sub formă tabelară.
(DG) Andra-Delia Țâmpu, Dragoș-Costin Aioane, Dragoș Romaniul, Narcis-Răzvan
Zaharia
(DG) Răzvan-Andrei Ciocoiu, Marius-George Roman, Rareș-Teodor Rugină,
Tudor-Ștefan Berbinshi
30
11. Time Yards Model (TYM) segmenter
Un segment (conform TYM) este o secțiune contiguă de text în care sunt descrise
evenimente caracterizate prin:
* unitate de personaje (sunt implicate aceleași personaje, minim unu),
* unitate de timp (evenimentele descrise se petrec în același moment sau într-un
interval, în secvență temporală),
unitate de loc (evenimentele descrise se petrec în aceeași locație sau într-o
succesiune de locații, ca într-o călătorie),
unitate de interpretare (descrierea este datorată unui unic martor – autorul ori unul
dintre personajele cărții).
Antrenați o rețea neuronală pentru a segmenta în maniera TYM un text de carte.
Pentru antrenare veți crea o resursă adnotată de dumneavoastră în care să fie
marcate toate elementele semnificative (evenimente și personajele implicate,
momente ori intervale de timp, locul lor, autorul descrierilor).
Bibliografie: • Dan Cristea, Andreea Macovei (2017). Why Time Resembles Rail Yards? A Way to Look at Time in
Text Books, in Romanian Journal of Information Science and Technology, Vol. 19, 1-2, 2016, pp. 31-
43, https://profs.info.uaic.ro/~dcristea/papers/CristeaMacovei-ROMJIST2017.pdf
• Dan Cristea, Andreea Macovei (2016). Time Frames: Rethinking the Way to Look at Texts, in
Proceedings of ISA-12: 12th Joint ACL - ISO Workshop on Interoperable Semantic Annotation,
Language Resources and Evaluation Conference (LREC), 28 May, Portoroz,
https://profs.info.uaic.ro/~dcristea/papers/ISA12Proceedings-Time-Frames.pdf
31
12. My speaking agent searches for me book fragments in which certain
characters are involved or some events occur
Scrieți o aplicație care să vă faciliteze dialogul direct cu o carte de literatură.
Dumneavoastră puneți întrebări și agentul vă aduce și vă reproduce fragmente
semnificative în care este conținut răspunsul.
Exemple de întrebări:
Când s-a întâlnit Vinicius prima oară cu Ligia? (din H. Sinkiewicz: Quo Vadis)
În ce cartier al Iașului a avut loc pogromul contra evreilor? (din Lionel Duroy:
Eugenia)
Citește-mi fragmentul în care Adam o întâlnește pe Margaret (din Tash Aw: Harta
lumii invizibile)
Proiectul va implementa tehnici de întrebare/răspuns și va folosi tehnologiile
S2T și T2S dezvoltate în proiectul ReTeRom.
32
12. My speaking agent searches for me book fragments in which certain characters are involved or
some events occur
Bibliografie:
• Georgiana Puşcaşu, Adrian Iftene, Ionuţ Cristian Pistol, Diana Trandabăţ, Dan Tufiş, Alin Ceauşu, Dan
Ştefănescu, Radu Ion, Constantin Orăsan, Iustin Dornescu, Alex Moruz, Dan Cristea (2006). Developing a
Question Answering System for the Romanian-English Track at CLEF 2006. In Carol Peters, Paul
Clough, Fredric C. Gey, Jussi Karlgren, Bernardo Magnini, Douglas W. Oard, Maarten de Rijke,
Maximilian Stempfhuber (Eds.), Evaluation of Multilingual and Multi-modal Information Retrieval. 7th
Workshop of the Cross-Language Evaluation Forum, CLEF 2006, volume 4730 of Lecture Notes in
Computer Science, Springer, September 20-22, 2006, Revised Selected Papers, Lecture Notes in Computer
Science vol. 4730, pag. 385-394.
• Adrian Iftene, Diana Trandabăţ, Ionuț Pistol, Alex Moruz, Alexandra Balahur-Dobrescu, Diana Cotelea,
Iustin Dornescu, Iuliana Drăghici, Dan Cristea (2008). UAIC Romanian Question Answering system for
QA@CLEF. In C. Peters et al. (eds.): Advances in Multilingual and Multimodal Information Retrieval,
The 8th Workshop of the Cross-Language Evaluation Forum, CLEF 2007, Budapest, Hungary, September
19-21, 2007, Revised Selected Papers, Lecture Notes in Computer Science, LNCS 5152, pages 336-343,
Springer-Verlag Berlin Heidelberg.
• Adrian Iftene, Diana Trandabăț, Mihai Alex Moruz, Ionuț Cristian Pistol, Maria Husarciuc, Dan Cristea
(2009). Question Answering on English and Romanian Languages, in Carol Peters et al. (Eds.):
Multilingual Information Access Evaluation I. Text Retrieval Experiments, 10th Workshop of the Cross-
Language Evaluation Forum, CLEF 2009, Corfu, Greece, September 30 - October 2 2009, Revised
Selected Papers, Lecture Notes in Computer Science, volume LNCS 6241, Springer, ISBN: 978-3-642-
15753-0, pages 229-236.
• rapoartele proiectului ReTeRom (http://www.racai.ro/p/reterom/index_en.html)
(DG) Ioana-Cristina Pascăl, Andrei Condurache, Teodor Bucur, Mădălin Bîrjoveanu
33
13. My speaking agent answers questions about places visited along a day
Dacă țineți funcția GPS deschisă în telefon sau tabletă, aplicația dumneavoastră va
completa o serie de înregistrări care asociază locațiile în care ați fost de-a lungul
unei zile (căutându-le pe o hartă digitală, de exemplu GoogleMaps) cu momentele
de timp ori intervalele în care ați fost în acele locuri. Pe baza acestei liste va putea
răspunde la întrebări exprimate liber, prin voce, de genul:
Unde am fost la ora 12:00?
Între ce ore am fost la Facultate?
Bibliografie:
rapoartele proiectului ReTeRom (http://www.racai.ro/p/reterom/index_en.html)
(DG) Radu Târșa, Alexandru Necula, Robert Pușcașu, Alexandru Giurgilă, Marian-
Vlăduț Țifir
34
14. Multi-word verbal expressions
Shared task on semi-supervised identification of verbal multiword
expressions - edition 1.2: http://multiword.sourceforge.net/sharedtask2020
Linkuri utile:
https://www.aclweb.org/anthology/
35
15. Word pronunciations in dictionaries
Având la dispoziție o colecție de fișiere aliniate text și voce și un dicționar, se
adaugă pentru fiecare intrare pronunții identificate.
Alte cerințe:
Pentru fiecare cuvânt se caută forma neflexionată (ce apare în dicționar). În cazul
în care forma cuvântului din text este diferită de cea din dicționar, pronunția este
acceptată ca alternativă (se folosește forma identică, dacă e disponibilă).
În cazul în care alinierea nu e la nivel de cuvânt, se folosește un program de
aliniere automată și se păstrează doar alinierile suficient de sigure.
Programul poate oferi permanent o listă de cuvinte (intrări din dicționar) pentru
care nu au fost găsite pronunții, precum și o listă de cuvinte pentru care pronunția
nu e identică (forma cuvântului din text nu e aceeași cu cea din dicționar).
Bibliografie: ???
36
Projects steps – next time
1. Form a team...
2. Choose a project
3. Define the teamwork & roles
4. Establish the modular structure
5. Edit a report
6. Create a web service
37
Romanian Language Resources
CoRoLA - http://corola.racai.ro
http://89.38.230.23:1234/#
(see - https://docs.google.com/document/d/1OGeE96V79iAMavOR6jM-
zIA9kKfrC2Pnp5WDu2ZPV-0/edit#)
RODICA (ROmanian DIachonic Corpus with Annotations) – printing press
collection; sec. XIX - XX (over 5 million of words)
RODA (Romanian Old Data Analyzer) - recovering Old Words (Chronological)
based on ML algorithms & Recovering Lemmata of Old words
RelAnn - Annotation Tool for semantic relations between nominals
Public Discourse Analysis Tools: LIWC_Ro-2010 → AnaDiP -2011 → PLP-
2011 → PEDANT-2012 → DAT-2012 eDTLR - Thesaurus dictionary of the Romanian language in electronic form –
http://edtlr.info.uaic.ro/
RoWordNet - stand for Romanian WordNet, a semantic network for the
Romanian language - https://github.com/dumitrescustefan/RoWordNet
DEX-online - https://dexonline.ro/
ReTeRom - Resources and technologies for the development of human-machine
interfaces in Romanian - http://85.122.23.18:81/Resources
Săptămâna 3 - SOTA & planul de lucru (echipa, fișa
de cerințe, arhitectura sistemului) finalizată;
Săptămâna 7 (înainte de parțiale) - o primă versiune
finalizată a proiectului (doar componentele esențiale,
fără interfață, optimizări);
Săptămâna 12 - versiunea finală a proiectului
(inclusiv interfața);
Săptămâna 14 – documentația finală a proiectului,
inclusiv evaluarea/testare.
Deadlines
Thank you!