240 likes | 374 Views
Koreferencia-annotáló eszköz fejlesztése hálózati környezetben. Oltványi Gábor József diplomaterv bemutató PPKE-ITK, 2009.07.02. Témavezető: Dr. Prószéky Gábor Konzulens: Miháltz Márton. Áttekintés. Absztrakció. 1. Digitális szövegek földolgozása keresés nyelvhelyesség ellenőrzése
E N D
Koreferencia-annotáló eszköz fejlesztése hálózati környezetben Oltványi Gábor Józsefdiplomaterv bemutatóPPKE-ITK, 2009.07.02.Témavezető: Dr. Prószéky GáborKonzulens: Miháltz Márton
Absztrakció 1. • Digitális szövegek földolgozása • keresés • nyelvhelyesség ellenőrzése • nyelvi elemzések • … • komolyabb összefüggések automatikus megtalálása: • a szöveg jelentésének gépi „megértése”, szemantikai feldolgozása, pl.:információkivonatolás(mesterséges intelligencia) KOREFERENCIA
Koreferencia 2. • Ko-referencia: közös hivatkozás – viszony • egy visszautaló elem (anafora) és a szövegben korábban előforduló, vele koreferensszószerkezet (antecedens) ugyanarra a való világbeli entitásra utal. • Föloldása: a viszony azonosítása
Annotált korpuszok 3. • Korpusz: digitálisan tárolt nyelvi anyag (írott vagy beszélt), amin elemzéseket tudunk végezni. • Annotált korpusz: a szöveg egyes elemeinek megjelölése az elemzés során – valamilyen nyelvészeti céllal.
Szeged Korpusz 2.0 3.1. <w>bejelentette <ana> <humor><lemma>bejelent</lemma> <mscat>[Vmis3s---y]</mscat></humor> <msd><lemma>bejelent</lemma> <mscat>[Vmis3s---y]</mscat></msd> </ana> <anav> <humor><lemma>bejelent</lemma> <mscat>[Vmis3s---y]</mscat></humor> <msd><lemma>bejelent</lemma> <mscat>[Vmis3s---y]</mscat></msd> </anav> </w> • 1.2 millió szövegszó, témakörökből: • szépirodalmi regények • 14-16 éves tanulók fogalmazásai • újságcikkek • számítástechnikai szövegek • jogi szövegek • gazdasági és pénzügyi rövidhírek • XML-ben. DTD: TEIxLite (szabványos) • Annotáció: szófaji egyértelműsítés • jelölés: MSD morfo-szintaktikai kódok
Szeged Treebank 2.0 3.2. • A Szeged Korpusz 2.0-ból indul ki. • Új annotáció: szintaktikai elemzés. • A magyarban a szószerkezetek egymásra épülő hierarchiát alkotnak. • Treebank-reprezentáció: ~mondatfa. • Szintaktikai szabályrendszer alapján automatikus elő-annotációval készült. • XML, egy általánosabb „TEI P4” DTD-vel. • Minden szintaktikai egység, azaz minden igei/névszói csoport kap egy ID-t
Szintaktikai hierarchia a Szeged Treebank 2.0-ban <divtype="example"id="fajl"> <pid="fajl.1"> <sid="fajl.1.1">Ági minden rokonát tegnapelőtt látta vendégül. <CPid="fajl.1.1.1"> <NPid="fajl.1.1.2">Ági</NP> <NPid="fajl.1.1.3"> <ADJP>minden</ADJP> rokonát </NP> <ADVPid="fajl.1.1.4">tegnapelőtt</ADVP> <V_id="fajl.1.1.5"> <V0>látta</V0> <CHILDREN> <NODEidref="fajl.1.1.2"type="NP"role="NOM"></NODE> <NODEidref="fajl.1.1.3"type="NP"role="ACC"></NODE> <NODEidref="fajl.1.1.4"type="ADVP"role="TLOCY"></NODE> <NODEidref="fajl.1.1.6"type="NP"role="ESS"></NODE> </CHILDREN> </V_> <NPid="fajl.1.1.6">vendégül</NP> <c>.</c> </CP> </s> </p> </div>
A Szeged Treebank főnévi csoportjainak (NP) azonosítása <NPid="fajl.1.1.3"> <ADJP>minden</ADJP> rokonát </NP> Ez a szint nem kapott ID-t az XML-ben! A főnévi csoportok NPmax szinten vannak annotálva végig a SzegedTreebankben. A korlátozás föloldása: új ID-k generálása az NP-k részeihez.(Lásd: előkészítés) A korlátozás föloldása: új ID-k generálása az NP-k részeihez.(Lásd: előkészítés) ? ! <NPid="fajl.1.1.3"> <ADJPid="fajl.1.1.3.g1">minden</ADJP> rokonát </NP>
Koreferenciák annotálása 3.3. • Feladat: annotáljuk a Szeged Treebank 2.0 XML-jeit koreferenciákkal! • az anaforától hivatkozunk az antecedensre, a típusát is megadva: • Egy nyelvész szakértő végighalad a szövegen, és bejelölgeti a hivatkozásokat. Munkaigényes… • Grafikus annotáló program?! <sid="fajl.1.2">A lány nagyon örült látogatóinak. <CPid="fajl.1.2.1"> <NPid="fajl.2.1.2"refid="fajl.1.1.2"reftype="HYPERNYM"> A lány </NP>...
4. A feladat
4.2. Cél • Kutatás indul a koreferenciák feloldásának automatizálására • Újabb kutatásokra nyit teret az információkivonatolásban • Gépi tanulás • Sok koreferencia kézi annotálása Koreferencia-annotáló algoritmusok
5. Implementációim • Két implementáció készült el a két félévben: • Coref 1: • .NET ablakozós alkalmazás (.exe) C# nyelven • Nem tartalmaz hálózati funkciókat • Az „offline” feladatokra praktikusabb • Coref 2: • Webes alkalmazás, több felhasználós rendszer • PHP, MySQL, JavaScript, Ajax, XHTML, CSS • Támogatott böngészők: Chrome, Firefox, Safari • Az „offline” feladatokat részben teljesíti
5.1. Coref 1
5.2. Coref 2
Platform megfontolások 5.3. • platformfüggetlenség • C# (nem pl.ftln, de fejlesztőbarát) vs. JAVA, egyéb • hálózati eszközök • szerver? – ingyenesség... (egyelőre ideiglenes) • adatbázis: Oracle, MSSQL, MySQL, PostgreSQL, stb. • webböngészős alkalmazás? ASP.NET, egyéb vs. PHP • kliens-/szerveroldali logika kérdése – JavaScript, AJAX • továbbfejleszthetőség, ingyenesség • miután választottunk: • hol tároljuk az XML-eket? (adatbázis, szerver, kliens) • PHP melyik XML-kezelő függvénytárát használjuk (SimpleXML) • kódolás – UTF-8
Coref – kiegészítés 5.4. • Segédeszköz kereséshez • ID alapján, fás szerkezetben (Coref 1) • <div>-ekre bontás Pythonnal (string alapú) • Multi-koreferencia • „Péter és János a film vége után hazamentek. Aznap mindketten későn feküdtek le.” • <NPid="2.3.1"refid="1.2.0 20.1.2"reftype="SYNONOM HOLONIM"> • Coref 2: webböngészők sajátosságai…
5.5. Zérónévmások automatikus beszúrása • MetaMorpho fordítóprogram (nem publikus) • magyar szintaktikai elemző kutatási célra bináris formában hozzáférhető (MorphoLogic) • igei vonzatkeret információk segítségével ki tudja írni, hogy van-e hiányzó vonzat az adott egyszerű mondatokban • Input: mondatok soronként. • Output:+nem újítja meg olajszállítási szerződéseit. [zeroinfo: ZEROSUBJ] • hiányzó alany Nom. esetű • ige (újítja) E/3-ban (MSD-annotációból) • E/3, Nom. személyes névmás [ő] beszúrása • Az ige után egy új <NP>-be, saját ID-velaz igéhez egy vonzat fölvétele <children><node>
5.5. Zérónévmások automatikus beszúrása +nem újítja meg olajszállítási szerződéseit. [zeroinfo: ZEROSUBJ] Hiányzik az alany: Nom. eset • MetaMorpho fordítóprogram (nem publikus) • magyar szintaktikai elemző kutatási célra bináris formában hozzáférhető (MorphoLogic) • igei vonzatkeret információk segítségével ki tudja írni, hogy van-e hiányzó vonzat az adott egyszerű mondatokban • Input: mondatok soronként. • Output:+nem újítja meg olajszállítási szerződéseit. [zeroinfo: ZEROSUBJ] • hiányzó alany Nom. esetű • ige (újítja) E/3-ban (MSD-annotációból) • E/3, Nom. személyes névmás [ő] beszúrása • Az ige után egy új <NP>-be, saját ID-velaz igéhez egy vonzat fölvétele <children><node> <V_id="Nepszava.1.1.1.20"> <V0preverb_ref="Nepszava.1.1.1.21"> <w>újítja <ana><humor><lemma>újít</lemma> <mscat>[Vmip3s---y]</mscat></humor> ... </w> </V0> <CHILDREN> <NODEidref="Nepszava.1.1.1.22"type="NP"role="ACC" /><NODEidref="Nepszava.1.1.1.20.z3"type="NP"role="NOM"/> </CHILDREN> </V_> <NPid="Nepszava.1.1.1.20.z3"><w>[ő]</w></NP> <PREVERBid="Nepszava.1.1.1.21"> <w>meg ...</w> <V_id="Nepszava.1.1.1.20"> <V0preverb_ref="Nepszava.1.1.1.21"> <w>újítja <ana><humor><lemma>újít</lemma> <mscat>[Vmip3s---y]</mscat></humor> ... </w> </V0> <CHILDREN> <NODEidref="Nepszava.1.1.1.22"type="NP"role="ACC" /> </CHILDREN> </V_> <PREVERBid="Nepszava.1.1.1.21"> <w>meg ...</w> Az ige E/3 esetben van E/3 Nom. esetű személyes névmás: ő. – Beszúrandó (az ige után): <NPid="Nepszava.1.1.1.20.z3"> <w>[ő]</w> </NP> – És az ige vonzataihoz: <V_><CHILDREN>: <NODEidref="Nepszava.1.1.1.20.z3" type="NP"role="NOM"/>
Összefoglalás 6. • Két implementációban megvalósult minden kiírt feladat. • Felhasználóbarát mindkettő • Az alkalmazás felhasználóival még kell konzultálni, hogy praktikusabb legyen • Fejlesztéskor alkalmam nyílott a platformok megismerésével, pl. a böngészők sajátosságaihoz való trükkökkel.
A bíráló kérdései 7. • A főnévi csoportok NPmax szinten vannak annotálva végig a SzegedTreebankben. • Koreferencia annotálás szövegelemzésben • szintaktikai és szemantikai egyértelműsítés • kulcsszavak gyűjtése, szövegtérképek <NPid="fajl.1.1.3"> <ADJPid="fajl.1.1.3.g1">minden</ADJP> rokonát </NP>
Köszönöm a figyelmet! • Kérdések: • Oltványi Gábor