HTML

Precognox

precognox_logo_190.jpg

A blog készítői a Precognox Kft. keretein belül fejlesztenek intelligens, nyelvészeti alapokra épülő keresési, szövegbányászati, big data és gépi tanulás megoldásokat.

Ha a blogon olvasható tartalmak kapcsán, vagy témáink alapján úgy gondolod megoldhatjuk problémáidat, lépj velünk kapcsolatba a keresovilag@precognox.com címen.

Star Wars text mining

visualizing_star_wars_movie_scripts_precognox.jpgA long time ago, in a galaxy far, far away data analysts were talking about the upcoming new Star Wars movie. One of them has never seen any eposide of the two trilogies before, so they decided to make the movie more accessible to this poor fellow. See more...

Facebook oldaldoboz

Meetup ajánló

Blog figyelése (RSS)

 Add hozzá az RSS olvasódhoz

Ha levélben szeretnél értesülni az új cikkekről:

opendata.hu

opendatahu45.jpg

Az opendata.hu egy ingyenes és nyilvános magyar adatkatalógus. Az oldalt önkéntesek és civil szervezetek hozták létre azzal a céllal, hogy megteremtsék az első magyar nyílt adatokat, adatbázisokat gyűjtő weblapot. Az oldalra szabadon feltölthetőek, rendszerezhetőek szerzői jogvédelem alatt nem álló, nyilvános, illetve közérdekű adatok.

Az opendata.hu oldalt a Magyar OpenData Alapítvány/Egyesület hivatalos megalakulásáig - lelkes önkéntesek segítségével a
K-Monitor Közhasznú Egyesület (K-Monitor) működteti, az üzemeltetést a Precognox végzi.

Főbb témák

adatok (12) adatújságírás (16) adatvizualizáció (14) alternatív (6) alternatív keresőfelület (24) beszédtechnológia (13) big data (44) bing (14) CEU (6) clustering (6) conTEXT (7) dashboard (6) data science (8) deep learning (12) egészség (7) egészség kereső (7) előadás (7) emócióelemzés (29) Facebook (9) facebook (8) gépi tanulás (10) google (57) Google (23) gyűlöletbeszéd (7) hackathon (9) hálózatelemzés (14) internetes keresés (26) internet hungary (6) képkereső (8) keresés (57) kereséselmélet (7) keresés jövője (55) keresés problémái (38) keresők összehasonlítása (9) keresőoptimalizálás (6) kereső szándéka (11) kereső tanfolyam (9) kereső teszt (15) kognitív nyelvészet (12) konferencia (34) könyvajánló (18) korpusznyelvészet (13) közösségi keresés (8) közösségi média (6) különleges keresők (7) kutatás (6) LDA (9) lda (9) live (13) magyar kereső (9) marketing (8) meetup (38) mesterséges intelligencia (9) metafora (6) mobil (37) mobil keresés (17) Neticle (8) NLP meetup (17) Nuance (9) nyelv (6) nyelvészet (27) nyelvtechnológia (69) open data (11) open knowledge (7) politikai blogok (22) Precognox (41) Precognox Labs (14) Python (11) R (19) spam (6) statisztika (10) számítógépes nyelvészet (6) szemantikus keresés (16) szemantikus kereső (9) szentimentelemzés (31) szövegbányászat (14) tartalomelemzés (51) tartalomjegyzék (6) tematikus kereső (19) Twitter (18) twitter (15) vertikális kereső (9) vizualizáció (11) yahoo (26) Címkefelhő

A blog tartalmai CC licenc alá tartoznak

Creative Commons License
Kereső Világ by Precognox Kft. is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Based on a work at http://kereses.blog.hu/.
Permissions beyond the scope of this license may be available at http://precognox.com/.

A Kereső Világ blogon közölt tartalmak a Precognox Kft. tulajdonát képezik. A tartalom újraközléséhez, amennyiben nem kereskedelmi céllal történik, külön engedély nem szükséges, ha linkeled az eredeti tartalmat és feltünteted a tulajdonos nevét is (valahogy így: Ez az írás a Precognox Kft. Kereső Világ blogján jelent meg). Minden más esetben fordulj hozzánk, a zoltan.varju(kukac)precognox.com címre írt levéllel.

Creative Commons License

Nevezd meg! - Ne add el! - Ne változtasd!

 

Építsünk korpuszt!

2017.08.07. 11:22 Szerző: Szabó Martina Katalin Címkék: adatbázisok gépi tanulás korpuszok korpusznyelvészet annotáció annotálás nyelvi erőforrások fejlesztése manuális feldolgozás

Az alkalmazott nyelvészeti kutatási és nyelvtechnológiai fejlesztési munka egyik legfontosabb eszközét az ún. szövegkorpuszok jelentik. Bár létrehozásuk - különösen manuális módszerrel - elég költséges, hasznuk mind a kutatásban, mind a fejlesztésben kimagasló jelentőséggel bír. Lássuk a korpuszokat most közelebbről is!

Mi a korpusz?

A korpusz fogalmának a meghatározását illetően a szakirodalom nem egységes. A Magyar Nemzeti Szövegtár honlapja a következőképpen definiálja a korpuszt:

„A korpusz ténylegesen előforduló írott, vagy lejegyzett beszélt nyelvi adatok gyűjteménye. A szövegeket valamilyen szempont szerint válogatják és rendezik. Nem feltétlenül egész szövegeket tartalmaz, és nem csak tárháza a szövegeknek, hanem tartalmazza azok bibliográfiai adatait, bejelöli a szerkezeti egységeket (bekezdés, mondat)”.

A definícióban megfogalmazottakon túl fontos rámutatnunk, hogy a szövegkorpuszok a legtöbb esetben valamilyen manuális vagy automatikus feldolgozási folyamaton esnek át, és ennek a feldolgozási folyamatnak (másképpen: annotációnak) a sajátságait gyakorta a korpusz jövőbeli felhasználási céljai határozzák meg.

Az alábbi ábra például (hogy tematikában a korábbi poszthoz kapcsolódjunk) egy névelem-annotált korpusz részletét mutatja be:

ne.png

A korpuszokban az egyes elemeken kívül az azok közötti, különböző típusú kapcsolatokat, összefüggéseket is annotálhatjuk. Erre mutat példát az alábbi ábra, amely egy orosz nyelvű metafora-korpuszból közöl részletet:

russian_metaphor-small.png

A korpuszok tehát mindig valamilyen céllal készülnek, és ennek nem mond ellent az sem, ha az adott korpusz nem egy bizonyos jelenség vizsgálatához jön létre, hanem például egy adott nyelv reprezentatív korpusza kíván lenni (mint amilyen például a Magyar Nemzeti Szövegtár). Ilyenkor ugyanis a készítők úgy válogatják össze a korpusz szöveganyagát, hogy az éppen ennek az igénynek tudjon megfelelni.

Bár a korpusz definíciójába nem tartozik bele elengedhetetlen kritériumként, fontos említést tenni arról is, hogy a korpuszok legtöbbször digitalizált formájúak, ugyanis csupán ez teszi lehetővé a gépi elemzést. A korpusznyelvészet egyik legfontosabb célja az, hogy a nyelvi jelenségeket empirikusan, kvalitatív és kvantitatív szempontból egyaránt vizsgálja, ehhez pedig nagy mennyiségű szöveg elemzésére van szükség, ami manuálisan kivitelezhetetlen feladat. A korpusz szövegeinek tehát digitalizált formájúnak, ezáltal géppel olvashatónak kell lennie.

Egy kicsit a korpuszok történetéről...

Annak ellenére, hogy a korpuszalapú kutatások számítógépes támogatottság hiányában nehezen kivitelezhetőek, a korpuszok alkalmazásának kezdetleges formáival a számítógépek elterjedését megelőző időben is találkozunk. Már ekkor alkalmaztak ugyanis szövegkorpuszokat grammatikák és szótárak szerkesztésére.

simon2.jpg

Egy doboznyi cédula a Nagyszótárhoz (A magyar nyelv nagyszótára) forrás: http://www.matud.iif.hu/2016/07/06.htm

Mivel ezeket az adatbázisokat nem elektronikus formában tárolták, számítógéppel támogatott elemzésük értelemszerűen nem is volt lehetséges. Egy szövegkorpusz papíron, kézzel végzett elemzése ugyanakkor rendkívül időigényes és fáradságos feladat, s már néhány száz mondat manuális vizsgálata is nehezen hajtható végre.

Nem véletlen tehát, hogy az elektronikus szövegkorpuszok megjelenése új távlatokat nyitott az egyes nyelvek, illetve nyelvi jelenségek tanulmányozásában. Automatikus módszerrel gyorsabban, egyszerűbben és pontosabban végezhető el jelentős mennyiségű szöveg feldolgozása, ami egyben arra is lehetőséget ad, hogy általános érvényű, empirikusan igazolt megállapításokat tehessünk a vizsgált jelenség vonatkozásában. 

mnsz2_1.png

Részlet a blog szótő kollokációiból a szót követő pozícióban az MNSZ2 adatai alapján forrás: http://clara.nytud.hu/mnsz2-dev/

A korpuszok alkalmazása ma már nélkülözhetetlen a különböző nyelvészeti munkák során. Többek között a lexikográfia is nagymértékben épít rájuk, hiszen a segítségükkel könnyedén vizsgálható a szavak jelentése és kollokációs mintája, valamint a különböző regiszterekhez kötött szógyakoriság is. Hazánkban a Magyar Tudományos Akadémia 1984-ben határozatban döntött arról, hogy a nagyszótár munkálatainak folytatását elektronikus szövegkorpusz alapján kell végezni. A lexikográfia mellett jelentős szerepet töltenek be a korpuszok a fordításkutatásban és a fordítóképzésben is. Emellett sokszor alkalmazzák őket az anyanyelv és idegen nyelv elsajátításának vizsgálatában, valamint az idegen- és szaknyelvoktatás területén.

A korpuszok szerepe a fejlesztésben

A korpuszok nem kisebb szerepet játszanak a kutatás mellett a fejlesztési oldalon is. A különböző nyelvfeldolgozó algoritmusok fejlesztése és tesztelése ugyanis legtöbbször kézzel annotált korpuszok alapján történik. Ez azt jelenti, hogy azokat a nyelvi jelenségeket, amelyeket jelenleg géppel nem tudunk kezelni, manuális munkával feldolgozzuk, létrehozva ezáltal egy a gép számára olvasható, megfelelő méretű tanító adatbázist. E korpusz segítségével azután már lehetővé válhat egy olyan feldolgozó eszköz fejlesztése, amely az addig automatikus módszerrel elvégezhetetlen feladatot képes lesz kivitelezni. 

A kézzel annotált korpuszok jól alkalmazhatóak többek között a jelentésegyértelműsítésben, amely számos nyelvtechnológiai feladat egyik kulcsproblémája. Így fontos támogatói lehetnek az anaforák kezelésének, a szintaktikai elemzésnek vagy a gépi fordításnak is. 

A korpuszannotáció típusai

A korpuszok tipizálásának egy lényegi szempontja, hogy bennük a szövegeket milyen annotációval látták el a korpusz építői. Az annotáció olyan annotációs jelek (számítógépes nyelvészeti terminussal: tagek) alkalmazását jelenti, amelyeket a korpuszban levő különböző elemekre, kifejezésekre visznek fel. Ezek a jelek hivatottak explicitté tenni a nyelvi adatokban már meglevő, azonban addig implicit formájú információt, ahogy azt már a poszt elején közölt ábrákon is láttuk. 

Az annotációt tipizálhatjuk aszerint, hogy a korpuszban levő szövegekben milyen mélységig „hatol le”, tehát, hogy mit tekint a feldolgozás egységének. Eszerint megkülönböztetünk szöveg-, mondat-, valamint tokenszintű elemzést. 

Az annotálási feladat automatikus, félautomatikus, valamint manuális munkával is megvalósítható. Számos feldolgozási munka (pl. a lemmatizálás vagy a szófaji egyértelműsítés) ma már olyan hatékonyággal végezhető el automatikus módszerrel, hogy ezekben a feladatokban nem szükséges humán annotátorokat alkalmazni. 

A legtöbb annotálási munka azonban – mint már emíltettük – automatikusan nem végezhető el kielégítő eredményességgel, illetve a különböző elemző eszközök fejlesztéséhez is gyakorta kézzel annotált korpuszokra van szükség. Ezekben az esetekben tehát nélkülözhetetlen a manuális feldolgozó munka. Amennyiben az annotálás egy része automatikus módszerrel elvégezhető olyan hatékonysággal, hogy az már támogatni tudja az emberi munkavégzést, úgy először géppel elemeztetik a korpusz szövegeit, amelyet humán ellenőrzés és korrekció követ. Ezt nevezzük félautomatikus megoldásnak. Amennyiben azonban az annotálás – annak jellege miatt – automatikus módszerrel egyáltalán nem támogatható, úgy a teljes munkát humán annotátoroknak kell elvégezniük. Az alábbi ábra a GATE nevű eszközben végzett humán annotációból mutat egy példát:

gateshot2.png

Forrás: http://mpqa.cs.pitt.edu/annotation/

Az annotátorok a feldolgozói munkát legtöbbször egy a fentebbihez hasonló, specifikusan erre a célra kialakított felületen végzik. Az eszköz lehetőséget ad nekik arra, hogy a feldolgozás során a korpuszban ne magukat az annotációs tageket, azok nyitó- és zárótagjeit kelljen alkalmazniuk, hanem egyszerű, kijelöléses megoldással tudjanak a megfelelő elemekhez annotációt kapcsolni. Ez a megoldás azon túl, hogy a munkavégzést jelentősen megkönnyíti és gyorsítja, az annotálási hibák esélyét is csökkenti. 

A minőségbiztosítás jelentősége

Az annotátorok közötti egyetértés mérése rendkívül fontos. Ez ugyanis már a munka első szakaszában megmutatja, ha a feladat tulságosan szubjektív, vagy éppen az annotálási útmutató vagy az annotátorok betanítása nem volt megfelelően eredményes. Ily módon lehetőséget ad a korrekcióra még azelőtt, hogy egy nagy méretű, ám rossz minőségű adatbázis születne. 

Az annotátorok közötti egyetértés mérése úgy történik, hogy a korpusz egy bizonyos részét (lehetőség szerint a 10%-át) a korpusz összes annotátora feldolgozza, majd az annotációt valamely, erre a célra fejlesztett algoritmus segítségével összevetik egymással. Ilyen mérési eszköz például az ún. Cohen’s Kappa-statisztika (angolul: Cohen’s Kappa statistic). A méréssel kapott értékek (annotátorok közötti egyetértési ráta, angolul: inter-annotator agreement rate) megmutatja, hogy az annotátorok hány esetben látták el valamilyen taggel a korpusz bizonyos egységeit, valamint azt is, hogy hány alkalommal használták rájuk ugyanazt a taget. Ennek köszönhetően a Cohen’s Kappa-statisztika komplex, a minőség javítására jól alkalmazható mutatónak tekinthető.

A minőség mérése során értelemszerűen nem várunk el 100%-os egyezést, hiszen humán annotátorok dolgoznak, megengedhető valamennyi szubjektív döntés és némi pontatlanság. A munka minőségét a Kappa-statisztika alapján is ún. Kappa-sávok alapján értékeljük. 80%-os vagy afölötti egyetértés esetén például már kiválónak tekintjük a súlyozott Kappa értékét.

images_2.jpg 

A korpusz mint a nyelvtechnológia motorja

Végezetül, érdemes rámutatni arra a tendenciára, amely a szövegkorpuszok és a szövegfeldolgozó algoritmusok keletkezését jellemzi. Azt láthatjuk ugyanis, hogy minél több, nagyobb méretű és jobb minőségű annotált korpusz áll a rendelkezésünkre, annál több és jobb minőségű feldolgozó eszköz fejlesztésére nyílik lehetőségünk. Ez pedig értelemszerűen újabb, még nagyobb méretű és még jobb minőségű annotált korpuszok létrehozását segíti elő. A folyamat tehát öngerjesztő, és a nyelvtechnológia egyre nagyobb ütemben zajló fejlődését eredményezi.   

 

IRODALOM

Cohen, J. 1960. A Coefficient of Agreement for Nominal Scales. Educational and Psychological Measurement 20. 37–46.

Gábor K.–Hája E.–Kuti J.–Nagy V.–Váradi T. 2008. a lexikon a nyelvtechnológiában. In Kiefer F. szerk. Strukturális magyar nyelvtan 4. A szótár szerkezete. Budapest, Akadémiai. 853–895.

Károly K. 2003. Korpusznyelvészet és fordításkutatás. Fordítástudomány 5(2). 18–26.

Klaudy K. 2005. Párhuzamos korpuszok felhasználása a fordításkutatásban. In Lanstyák I.–Vanconé Kremmer I. szerk. Nyelvészetről változatosan. Dunaszerdahely, Gramma. 153–185.

Krug, M.G. 2000. Emerging English Modals: A Corpus-Based Study of Grammaticalization. Topics in English Linguistics 32. Berlin and New York, Walter de Gruyter.

McEnery, T. 2005. Corpus Linguistics. In Mitkov, R. 2005. The Oxford Handbook of Computational Linguistics. Oxford, Oxford University Press. 448–463.

Nikunen, A. 2007. Different approaches to word sense disambiguation. Language technology and applications Essay. University of Helsinki, Department of Computer Science. 

Péch O. 2007. A lexikai kohézió vizsgálata a fordításkutatásban – új távlatok a korpusznyelvészeti módszernek köszönhetően. Fordítástudomány IX(1). 79–96.

Prószéky G.–Olaszy G.–Váradi T. 2003. Nyelvtechnológia. In Kiefer F. szerk. A magyar nyelv kézikönyve. Budapest, Akadémiai.

Szabó M.K–Nyíri Zs.–Lázár B. 2017c. Negatív emotív szemantikai tartalmú fokozó elemek vizsgálata az angol–orosz és orosz–angol fordítás tükrében. In XI. Alkalmazott Nyelvészeti Doktoranduszkonferencia konferenciakötete. Megjelenés előtt.

Szirmai M. 2005. Bevezetés a korpusznyelvészetbe. Budapest, Tinta.

Vincze V. Előadásjegyzet. (http://www.inf.u-szeged.hu/~vinczev/oktatas.html)

Копотев, М.В.–Гурин, Г.Б. 2006. Принципы синтаксической разметки Хельсинкского аннотированного корпуса русских текстов ХАНКО. In Копотев, М.В.– Гурин, Г.Б. Компьютерная лингвистика и интеллектуальные технологии: труды Международной конференции «Диалог-2006». Москва, РГГУ. 280–284.

Шаров С. А. 2003. Представительный корпус русского языка в контексте мирового опыта. In Шаров, С.А. Научно-техническая информация (НТИ) 2(6). 9–17.

 

A Kereső Világ a precognox_logo_190.jpg Precognox szakmai blogja A Precognox intelligens, nyelvészeti alapokra építő keresési, szövegbányászati és big data megoldások fejlesztője.

Szólj hozzá! • Kövess Facebookon • Iratkozz fel értesítőre

A Named entity recognition fontossága, avagy mire is jó a névelem-felismerés?

2017.07.24. 18:16 Szerző: Szabó Martina Katalin Címkék: tartalomelemzés alkalmazott nyelvészet gépi tanulás nyelvtechnológia named entity recognition named entity disambiguation

A Named entity recognition (NER) vagy Named entity extraction, amelyet magyarul névelem-felismerésként szoktunk emlegetni, egy viszonylag alapvető feldolgozó lépés az automatikus tartalomelemző feladatoknál. Ennek ellenére sokaknak talán nem egyértelmű, hogy pontosan miért is bír ilyen nagy jelentőséggel az ún. névelemek automatikus kinyerése. A jelen posztot e megfontolásból a névelem-felismerésnek szentelem, és igyekszem megmutatni e részfeladat célját és hasznát. 

Röviden a tartalomelemzésről

A tartalomelemzés vagy információkinyerés (Information extraction, IE) által bizonyos szemantikai információkat akarunk automatikus megoldásokkal kinyerni a szövegekből. Ennek során a szövegekben foglalt strukturálatlan információból strukturált adatot hozunk létre. Miután az adat formalizálttá válik, képesek leszünk számos elemző eszközzel kezelni azokat. 

pscaie_illlustration_30pct.jpg

De hogyan kapcsolódnak ehhez a névelemek?

A legtöbb információkinyerési feladatban értelemszerűen nagyon fontos, hogy a számunkra releváns tartalom mely névelemhez kapcsolódik. Így például, a szentiment- vagy az emócióelemzésben nagy jelentőséggel bír, hogy az adott értékítéletet (pl. jó, íztelen, förtelmes) vagy érzelmet (pl. csak bosszúságot okoz, ennyire még nem örültem semminek, attól félek, hogy...) a szöveg szerzője mely entitás vonatkozásában fogalmazza meg, tehát például mely termék vagy közszereplő vonatkozásában fejezi ki, vagy éppen melyik helyhez, időponthoz vagy politikai eseményhez kapcsolható. A különböző szövegek tartalmi elemzésének tehát egyik fontos első lépése a névelemek detektálása és osztályozása, a névelemek az információkinyerés mintegy alapegységeinek is tekinthetőek.

Az információkinyerés ma már jelentős szerepet játszik olyan egyéb, hasznos nyelvtechnológiai alkalmazásokban is, mint például a kérdés-válasz-rendszerekben vagy chatbotokban, amelyek a felhasználó igényei szerint törekednek a leghatékonyabb automatikus feladatvégzésre (pl. jegyfoglalásra) vagy legrelevánsabb információk megadására (pl. utazási időpontokkal kapcsolatban).

maluuba.jpg

És nem csak az információkinyerésben fontosak...

...hanem például a gépi fordításban is. Ahhoz ugyanis, hogy az alábbi típusú fordítási hibákat elkerülhessük, tudnunk kell, hogy névelemekkel van dolgunk:

                Nagy Péter - Great Peter, Salt Lake City - Sóstó város, Joy (magazin) - öröm

A fenti megoldások nyilvánvalóan nem szerencsések az automatikus fordításban. 

Na de mik is azok a névelemek?

Fontos, hogy a nyelvtechnológiában névelemekként emlegetett kifejezések csoportja egy az egyben nem azonosítható a nyelvészetben tulajdonnevekként emlegetett kifejezések csoportjával. Ennek az az alapvető oka, hogy a nyelvtechnológiai alkalmazások oldalán a névelemek keresésekor legtöbbször nem csupán a klasszikus tulajdonnevek érdekelnek mindket, hanem több és más egyedített jelölőt is meg kell találnunk. Így például, nem csak egy személynév vagy egy szervezet elnevezése lehet releváns, de esetenként fontos információként kell kezelnünk egy telefonszámot, egy e-mail-címet, kémiai tárgyú szövegekben a különböző képleteket vagy orvosi szövegekben a betegségek elnevezéseit is.

Ugyanakkor azt is fontos megemlítenünk, hogy az alkalmazásaink szempontjából a nyelvészeti definíciók megbízható alapot sem adnak a munkához. A Magyar Helyesírási kézikönyv szerint például tulajdonnévnek tekintendő a Magyar Nemzeti Bank, köznévnek pedig például az asztal, az alma vagy a bank. Általánosságban azt mondhatjuk, hogy a meghatározások a tulajdonnevek nagy kezdőbetűs írásmódjával operálnak.

15331-16755-megint-botond-etterem.jpg800px-chronicon_pictum_p036_botond_monda.JPGEbből kiindulva azonban nem tudni, hogy például a Botond étterem esetében a teljes kifejezés a tulajdonnév, vagy annak csupán az első eleme az. Az étterem ugyanis éppolyan köznévnek tűnik az írásmódját tekintve, mint amelyet a fentebbi köznévi példákban láttunk, ugyanakkor egyértelmű, hogy e nélkül az elem nélkül a Botond, önmagában, nem képes ugyanazt az entitást jelölni. 

Nem kevésbé elgondolkodtatóak azok a kifejezések sem, amelyeket a különböző nyelvekben eltérő kezdőbetűvel írunk. Angol szövegekben például a Bluetooth névelemet rendre nagy kezdőbetűvel írják, míg a magyar nyelvben mind a kicsi, mind a nagy kezdőbetűs írásmód gyakori (Bluetooth és bluetooth). Az oroszban még kacifántosabb a helyzet. Mondhatni, ott aztán minden van: Bluetoothbluetooth, Блютуз, блютуз, Блютус, блютус.  Az pedig mégiscsak furcsa, hogy ugyanazt az entitást megnevező jelölő az egyik nép számára tulajdonnév, a másik számára pedig köznév, az írásmód alapján...

Nem véletlen, hogy a nyelvtechnológiai alkalmazások ezekbe az elméleti fejtegetésekbe nem is szoktak túlságosan belebonyolódni, inkább keresnek egy olyan megoldást, amely az adott célra a legmegfelelőbb. A jelen probléma esetében tehát nem az a kérdés, hogy mi a tulajdonnév és meddig terjed a szövegben a tulajdonnév határa, hanem az, hogy melyik az az egy vagy több tagból álló nyelvi elem a szövegben, amely a konkrét alkalmazás szempontjából releváns egyedet jelöl, arra unikusan, azaz egyedi módon referál.  

nyulak.png

Az elmondottakkal összefüggésben a NER-feladatban, bár legtöbbször a már klasszikusnak is nevezhető névelem-kategóriába sorolható kifejezéseket keressük (személy-, hely- és szervezetnév), az aktuális projekt céljainak megfelelően gyakorta olyan névelem-típusokat is keresünk, amelyek bizonyosan nem férnének bele a klasszikus tulajdonnév-fogalomba. Ilyenek például a temporális (pl. dátum, nap neve stb.) és a numerikus (pl. vminek a mennyisége) kifejezések.

 

A névelem-detektálás és osztályozás nehézségei

A névelemek automatikus megtalálása még a feladat egy viszonylag egyszerűbb részének tekinthető. Egyértelműsíteni azonban már jóval nehezebb őket. De mit is jelent a névelemek egyértelműsítése? A névelemek feldolgozásánál két típusú egyértelműsítést kell elvégeznünk:

Egyrészt, az adott névelem referálhat egyazon kategória különböző elemeire. Például a Kennedy jelölő mind az apa, mind a fia esetében személynév típusú elem, azonban tartalomelemzési szempontból ez az információ számunkra valószínűleg nem lesz elegendő. Ahhoz, hogy a szöveg információtartalmát a megfelelő entitáshoz tudjuk kapcsolni, azt is tudnunk kell, hogy az aktuális helyzetben mire vonatkozik a megtalált jelölő. Ez pedig korántsem triviális feladat. 

1-figure1-1.png

Másrészt, egy adott névelem referálhat két vagy több különböző kategória elemére is. A Washington kifejezés például személy-, hely- és szervezetnév egyaránt lehet. Ez utóbbi akkor, ha a sportcsapatra referálunk. 

A szövegkörnyezetből - ideális esetben - az ember számára könnyen kiderül, hogy a fentebbiekhez hasonló esetekben éppen melyik jelölt az aktuális. A gép számára azonban ez egy igen nehéz feladat. Mondhatni, szintaktikai információkból kell szemantikai és pragmatikai szintű döntéseket meghoznia.

ie.jpg

Az egyértelműsítéshez hasonló részfeladat az is, hogy a szövegfeldolgozás során megtalált különböző alakú, ám azonos jelölettel rendelkező jelölőket össze kell tudnunk kapcsolni. Egy hírszövegben például könnyen előfordulhat, hogy a szerzője ugyanarra az entitásra először a Példa Péter vagy a P. Péter, majd a 37 éves férfi vagy éppen a gyilkos megnevezésekkel utal.   

Milyen módszereket alkalmazunk a NER-feladatokban?

A két alapvető NER-módszer a szótáras megoldás és a gépi tanítás. Lássuk ezeket a módszereket kicsit részletesebben is!

Röviden a szótárakról

A szótáras módszer esetében az ún. egyértelmű szavakat szótárak formájába rendezik a készítők, majd ezek alapján, ún. szótárillesztéses megoldással dolgoznak. A szólisták elkészíthetőek például egy tanuló adatbázis segítségével is, amelyből kigyűjtjük a megfelelő elemeket (pl. a betegségek neveit). Vannak családi név és keresztnév listák, továbbá vállalatnév- és terméknév-listák is. A helynevek listáját gazetteerek-nek nevezzük.

A szólisták azonban a NER-feladat megoldására csupán korlátozott mértékben képesek, és alkalmazásuk egyébként is problémás lehet. Egyrészt, ezeket a listákat nehéz és költséges elkészíteni. Emellett a hatékonyságuk is névelem-osztályonként változik. A gazetteerek például jól működnek, míg a szervezet- és személynevek nem annyira. Ráadásul, mivel a névelemek a nyelvben nyílt halmazt képeznek, nem fedhetőek le teljes mértékben szótárakkal, és a listák folyamatos frissítést igényelnek. A szótáras megoldás előnye viszont, hogy - a gépi tanuló megoldással ellentéteben - nem igényel nagy méretű adatbázist.  

A szótáralapú elemző rendszerek gyakran ún. prediktív szavak listáit is alkalmazzák. Ezek olyan nyelvi elemek, amelyek a kontextusban elő tudják jelezni a névelemek egy bizonyos csoportját. Például, a titulusok jó prediktív elemei a tulajdonnévi entitásoknak. Ellentétben az előzőleg tárgyalt listákkal, ezek a szótárak relatíve rövidek és időben jelentősen stabilabbak, tehát könnyebben elkészíthetőek és karban is tarthatóak. 

A nyelvtechnológia trigger-szótáraknak nevezi azokat a listákat, amelyek nem egyedi entitások elnevezéseit tartalmazzák, hanem egyéb olyan elemeket vagy névelem-részeket, amelyeket alkalmazni lehet az elemzésben. 

Röviden a gépi tanulásról 

Mivel minden NER-feladat az aktuális projekttől függően más és más, a szótárak, és az azokra építő szabályalapú rendszerek előállítása igen költséges vállalkozás. Megoldást jelenthet, ha gépi tanító adatbázisokat építünk, és ezek alapján megtanítjuk az algoritmusnak felismerni és kezelni a névelemeket a nyers szövegekben.

A feladat standard megközelítése az angolul word-by-word sequence labeling task-nak nevezett módszer, amelyet magyarra szavankénti szekvenciajelölés-ként fordíthatnánk. Ez tulajdonképpen egy statisztikai alapú megoldás, hasonló ahhoz, mint amelyet a szófaji egyértelműsítésben (POS-tagging) vagy a szintaktikai alapú fráziselemzésben (chunkolás) alkalmazunk. Az osztályozót arra tréneljük, hogy megtalálja és bejelölje a szövegben a megfelelő tokeneket. A rendszer az ún. IOB-jelölési megoldáson alapul, amelyben a kódok a következő információkat rejtik: I=inside a chunk, O=outside any chunk, B=beginning of a chunk.

Amikor névelemek automatikus felismertetése céljából tanító adatbázist hozunk létre, a fentebbi megoldás szerint a korpusz minden eleme az IOB-jelölések valamelyikét, valamint a megfelelő névelem-kategória jelét kaphatja meg: I / O / B + ORG, LOC, PER, vagy bármely, az adott nyelvechnológiai célnak megfelelő kategória tagét:

figure-1-example-of-how-chemical-entity-class-names-are-tagged-by-chener-using-the-iob.png

No de mielőtt elkészül az adatbázisunk a megfelelő tagekkel, tudnunk kell, hogy melyek azok a sajátságok, amely jó prediktorok lehetnek a későbbi tréneléshez. Ez alapján el kell készíteni a tanító adatbázist.

Miket kódolhatunk a tréning adatbázisban?

Egyrészt az adott névelemre vonatkozó ortográfiai jellemzőket: kezdőbetű típusa, szóhossz, tartalmaz-e számot  vagy speciális írásjelet, a szám, amelyet esetlegesen tartalmaz, arab vagy római szám-e. Bár ezek a sajátságok pl. a POS-taggelésnél és a szintaktikai elemzésnél is előjönnek, egyesek különösen fontosan a NER-ben. Ilyen pl. a központozás, valamint a kis- és nagybetűk szokatlan variációja (pl. Yahoo!, eBay). Vannak olyan osztályok, amelyek egyszerű szabályokkal (általában reguláris kifejezésekkel) leírhatóak, például az e-mail címek.

Másrészt szövegkörnyezeti információkat: uni- / bi- / trigramok, mondatpozíciós és dokumentum-pozíciós sajátságok, milyenek a megelőző tokenek címkéi stb. Olyan sajátosságokat kell találni, amely az egyes input példákra jellemző és jó prediktorként működhet. A kontextusra vonatkozóan igen hasznosak lehetnek a POS, a bag-of-words vagy N-gram információk. Ilyenkor a környezetre vonatkozó információkat is felvesszük az adott token jellemzői közé.

Ha ezeknek a sajátságoknak kialakítjuk egy adekvát listáját, utána bekerülhetnek a tréning korpuszba a szekvencia-osztályozón alapuló gépi tanításhoz megfelelő formában. Minden elem tehát a tréning adatbázisban az a kategória tagén és az IOB-n kívül ezekkel az információkkal is rendelkezhet.

Az elkészült tréning korpuszon azután mehet a gépi tanulás, ami által egy a nyers szövegek elemzésére alkalmaz nyelvfeldolgozó eszközt kapunk.

kep_3.png

A fentebb tárgyalt megoldások (egyenként vagy kombinálva) eredményessége természetesen függ az adott applikációtól, a szövegműfajtól, a nyelvtől és a szövegkódolástól is. Így például az íráskép nem sokat segít hangzóból leiratozott vagy twitter-szövegnél.

Irodalom

  • Jurafsky, Dan, Martin, James H. 2009. Speech and language processing. A Simon & Schuster Company,
    Englewood Cliffs, New Jersey. 759-768.
  • Simon Eszter 2013. A magyar nyelvű tulajdonnév-felismerés módszerei. Tézisfüzet. Budapest
  • Vincze Veronika, Farkas Richárd 2012: Tulajdonnevek a számítógépes nyelvészetben. Általános Nyelvészeti Tanulmányok XXIV. 97-119.

A Kereső Világ a precognox_logo_190.jpg Precognox szakmai blogja A Precognox intelligens, nyelvészeti alapokra építő keresési, szövegbányászati és big data megoldások fejlesztője.

Szólj hozzá! • Kövess Facebookon • Iratkozz fel értesítőre

Magyar Twitter Szentiment Korpusz

2017.06.22. 09:30 Szerző: zoltanvarju Címkék: korpusz Precognox opendata.hu szenitmentelemzés

Az opendata.hu-n elérhető Twitter Szentiment Korpuszunk. A korpuszt 2016 elején gyűjtöttük és most a közelgő szövegbányászat workshop kapcsán publikáljuk, hogy kutatási és hobbi céllal bárki szabadon használhassa.

korpusz.png

A Kereső Világ a precognox_logo_190.jpg Precognox szakmai blogja A Precognox intelligens, nyelvészeti alapokra építő keresési, szövegbányászati és big data megoldások fejlesztője.

Szólj hozzá! • Kövess Facebookon • Iratkozz fel értesítőre

Milyen topikokból áll egy ingatlanhirdetés?

2017.06.20. 12:46 Szerző: zoltanvarju Címkék: ingatlan tartalomelemzés adatvizualizáció Python topik modellek LDA QGIS gensim pyldavis

Ingatlanhirdetéseket tartalmazó korpuszunkra ráeresztettük az LDA-t, ennek eredménye 30 topik lett. A topikok felfedezhetők a pyldavis által generált vizun itt. Megnéztük minden járásra és kerületre, melyik a legjellemzőbb három topik, ezt QGIS segítségével térképre is tettük és generáltunk egy interaktív vizut (ebbe belepaszíroztuk a topikokhoz tartozó szavakat és az általunk adott címkéket is), ami itt érhető el.

topik_map01.png

 

topik_map02.png

A Kereső Világ a precognox_logo_190.jpg Precognox szakmai blogja A Precognox intelligens, nyelvészeti alapokra építő keresési, szövegbányászati és big data megoldások fejlesztője.

Szólj hozzá! • Kövess Facebookon • Iratkozz fel értesítőre

Ingatlanhirdetések kulcsszavai járások/kerületek szerint

2017.06.19. 15:39 Szerző: zoltanvarju Címkék: ingatlan adatbányászat tartalomelemzés adatvizualizáció QGIS

Az ingatlanhirdetések szövegei sokat elárulnak arról, hogyan látják környezetüket a hirdető tulajok. Korábban összegyűjtött közel 200.000 hirdetés szövegét elemeztük most, hogy lássuk, milyen területi különbségek jelennek meg az eladók szóhasználatában. A kapcsolódó vizualizáció itt érhető el.

map_text.png

 

Az adatgyűjtésről már írtunk a négyzetméterárakat bemutató posztunkban. Most kiegészítettük a járási/kerületi szinten aggregált adatokat a hirdetések szövegeivel is. A szövegeket magyarlánc segítségével szótöveztük és szófajilag szűrtük (melléknevek, főnevek maradtak meg), a kulcsszavakat khi-négyzet módszerrel határoztuk meg a scikit-learn segítségével. Az adatokat ezután QGIS-be töltöttük és a program qgis2web bővítményének segítségével generáltuk az online vizut.

A Kereső Világ a precognox_logo_190.jpg Precognox szakmai blogja A Precognox intelligens, nyelvészeti alapokra építő keresési, szövegbányászati és big data megoldások fejlesztője.

Szólj hozzá! • Kövess Facebookon • Iratkozz fel értesítőre