ÖSSZETETT RENDSZER VÁLLALKOZÁSOK CÍMEINEK WEBRŐL TÖRTÉNŐ AUTOMATIKUS ÖSSZEGYŰJTÉSÉRE



Hasonló dokumentumok
Gépi tanulás a gyakorlatban. Bevezetés

ACTA CAROLUS ROBERTUS

Szövegbányászati rendszer fejlesztése a Magyar Elektronikus Könyvtár számára

A VEKTORTÉR MODEL HASZNÁLATA A SZÖVEGBÁNYÁSZATBAN THE USAGE OF THE VECTOR-SPACE MODEL IN TEXT MINING

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

Projektvezetői döntések támogatása webbányászattal

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

SZTE Eötvös Loránd Kollégium. 2. Móra György: Információkinyerés természetes nyelvű szövegekből

AZ ÜGYFÉL KOMMUNIKÁCIÓ ÚJ FORMÁI POZITÍV ÜGYFÉLÉLMÉNY SZÖVEGBÁNYÁSZATI MEGOLDÁSOK

Adatkeresés az interneten. Cicer Norbert 12/K.

Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Struktúra nélküli adatszerkezetek

ADATBÁNYÁSZATI SZOFTVER HASZNÁLATA SZÖVEGOSZTÁLYOZÁSHOZ DATA MINING SOFTWARE FOR TEXT CLASSIFICATION

1 Mit értünk cookie, böngésző helyi tárolás ("cookie és hasonló technológia") alatt?

Tartalom. Jó hogy jön Jucika, maga biztosan emlékszik még, hányadik oldalon van a Leszállás ködben.

Fejlett kereső és lekérdező eszközök egy elektronikus szakfolyóirathoz (IBVS)

Kontrollcsoport-generálási lehetőségek retrospektív egészségügyi vizsgálatokhoz

Alkalmazásokban. Dezsényi Csaba Ovitas Magyarország kft.

BARANGOLÁS AZ E-KÖNYVEK BIRODALMÁBAN Milyen legyen az elektonikus könyv?

BitTorrent felhasználók értékeléseinek következtetése a viselkedésük alapján. Hegedűs István

2. 3. Keresés az Interneten. Navigáció az Interneten: Megoldások. Internetes keresés buktatói. 1. Keresőmotorok. Webes keresési lehetőségek

KUTATÁSTÁMOGATÁS SOROZAT. Felhasználói segédlet Academic Search Complete adatbázisban idézők kereséséhez

A Hunglish Korpusz és szótár

Az internet az egész világot behálózó számítógép-hálózat.

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

Adatbányászati technikák (VISZM185) 2015 tavasz

Tudás Reflektor. Copyright 2011; Kodácsy Tamás;

Statisztikai alapú tulajdonnév-felismerő magyar nyelvre

Zimbra levelező rendszer

Számítógépes döntéstámogatás. Bevezetés és tematika

Új típusú döntési fa építés és annak alkalmazása többtényezős döntés területén

kodolosuli.hu: Interaktív, programozást tanító portál BALLA TAMÁS, DR. KIRÁLY SÁNDOR NETWORKSHOP 2017, SZEGED

Gépi tanulás és Mintafelismerés

H N S A d a t K a p c s o l a t

KOPI. KOPI Online Plágiumkereső és Információs Portál DSD. Pataki Máté MTA SZTAKI. Elosztott Rendszerek Osztály

Boros Andrea és Ignéczi Lilla Neumann-ház, Budapest. Networkshop 2004 konferencia Győr, április 4 7.

Felhasználói dokumentáció a teljesítményadó állományok letöltéséhez v1.0

PIACKUTATÁS (MARKETINGKUTATÁS)

Internetes Statisztikai Felmérés ISF 2007

Internet alkamazások Készítette: Methos L. Müller Készült: 2010

Hogyan használják ki az ügyvédek az internet nyújtotta lehetőségeket?

AuditPrime Audit intelligence

The nontrivial extraction of implicit, previously unknown, and potentially useful information from data.

INTERNETES KERESÉS. Szórád László Óbudai Egyetem TMPK

Innovatív trendek a BI területén

ITIL alapú IT környezet kialakítás és IT szolgáltatás menedzsment megvalósítás az FHB-ban

1. gyakorlat. Mesterséges Intelligencia 2.

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting

Önálló labor feladatkiírásaim tavasz

Tudásalapú információ integráció

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

S atisztika 2. előadás

Webes keres rendszerek. Webtechnológiák. Webes keres rendszerek. Webes keres rendszerek. Répási Tibor egyetemi tanársegéd

Dodé Réka (ELTE BTK Nyelvtudomány Doktori IskolaAlkalmazott Alknyelvdok 2017 nyelvészet program) február 3. 1 / 17

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

15. LINEÁRIS EGYENLETRENDSZEREK

ECDL Információ és kommunikáció

Bemutató anyag. Flash dinamikus weboldal adminisztrációs felület. Flash-Com Számítástechnikai Kft Minden jog fenntartva!

Intelligens adatelemzés

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Az információs műveltség fejlesztése A könyvtárak szemléletváltása és feladatai a 21. században

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Országos Rendezési Tervkataszter

4. Javítás és jegyzetek

Tipikus időbeli internetezői profilok nagyméretű webes naplóállományok alapján

Stratégiai és üzleti döntéstámogatás közösségi médiaelemzéssel

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

Informatika tanterv nyelvi előkészítő osztály heti 2 óra

1. JELENTKEZŐ ADATBÁZIS MODUL

Az alábbiakban a portál felépítéséről, illetve az egyes lekérdező funkciókról kaphat részletes információkat.

OSINT. Avagy az internet egy hacker szemszögéből

Ismeretlen kifejezések és a szófaji egyértelm sítés

KERESÉS A NETEN DR. KÓNYA LÁSZLÓ: KERESÉS A NETEN KERESÉS MÓDSZERE, KERESŐPROGRAMOK

Információ és kommunikáció

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

E-Kataszteri rendszer ismertető

Kvalitatív elemzésen alapuló reakciómechanizmus meghatározás

A szegénység fogalmának megjelenése a magyar online médiában

Szövegbányászat Információ Visszakeresés és egyéb alkalmazások

Ügyfél- és címadatok feldolgozása Talenddel

HASZNÁLATI ÚTMUTATÓ DOLGOZÓK IMPORTÁLÁSA KULCS BÉR PROGRAMBA AZ ONLINE MUNKAIDŐ NYILVÁNTARTÓ RENDSZERBŐL. Budapest, november 08.

Ionogram releváns területeinek meghatározása és elemzésének automatikus megvalósítása

A Debreceni Egyetem unideb.hu TELEFONKÖNYV. alkalmazásának felhasználói kézikönyve. Összeállította: DE VIR Központ, Sightspot Network Kft.

Számítógépes vírusok. Barta Bettina 12. B

Sass Bálint MTA Nyelvtudományi Intézet, Nyelvtechnológiai Osztály PPKE, Információs Technológiai Kar, MMT Doktori Iskola

Területi elemzések. Budapest, április

BEKE ANDRÁS, FONETIKAI OSZTÁLY BESZÉDVIZSGÁLATOK GYAKORLATI ALKALMAZÁSA

IV/4. sz. melléklet: Kontrolling és döntéstámogatás funkcionális specifikáció

IV/8. sz. melléklet: Internetes megjelenés (vállalati portál) funkcionális specifikáció

Big Data az adattárházban

SZAKDOLGOZAT ÓBUDAI EGYETEM. Neumann János Informatikai kar Alba Regia Egyetemi Központ

A évi integritásfelmérések céljai, módszertana és eredményei

8. Előadás. Megyesi László: Lineáris algebra, , oldal. 8. előadás Mátrix rangja, Homogén lineáris egyenletrendszer

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

Példa webáruház kialakítás rendszerdokumentáció

Honlapkoncepció. Miskolc város hivatalos honlapjához

E-Kataszteri rendszer ismertető

Csináljunk az adatból információt! A Lone-Soft listázó keretrendszerrel

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Átírás:

SZEGEDI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI ÉS INFORMATIKAI KAR MTA-SZTE MESTERSÉGES INTELLIGENCIA KUTATÓCSOPORT ÖSSZETETT RENDSZER VÁLLALKOZÁSOK CÍMEINEK WEBRŐL TÖRTÉNŐ AUTOMATIKUS ÖSSZEGYŰJTÉSÉRE Készítette: Nagy István V. közgazdasági programozó matematikus Konzulensek: Farkas Richárd, tudományos segédmunkatárs Dr. Csirik János, egyetemi tanár Szeged, 2008. november

Tartalomjegyzék 1. Bevezetés...1 2. Intelligens üzleti hírszerzés a Webről...2 2.1. Üzleti információ...2 2.2. Webbányászat...2 2.3. Kapcsolódó munkák...5 3. A vállalkozások címeit kinyerő rendszer...7 3.1. Honlapok osztályozása...8 3.1.1. Tanulás pozitív és jelöletlen példákból...8 3.1.2. Honlap osztályozási adatbázis...10 3.1.3. A honlap osztályozás jellemzőtere...11 3.1.5. Döntési fa-alapú osztályozás...13 3.2. Címek automatikus felismerése...15 3.2.1. A manuálisan annotált címkorpusz...15 3.2.2. Szabályalapú megközelítés címek és cégnevek jelölésére...17 3.2.3. Gépi tanulási megközelítés címek és cégnevek jelölésére...18 3.3. A cégnevek és -címek összerendelése...19 3.3.1 Az összerendelés kiértékelése...19 3.3.2. Cím és cégnév hozzárendelési heurisztikák...20 4. Eredmények...22 4.1. Honlapok osztályozásának eredményei...22 4.2. Címek automatikus felismerése...23 4.3. Cím és cégnév hozzárendelési heurisztikák eredményei...25 4.4. A teljes rendszer eredményei...28 5. Diszkusszió...29 6. Összefoglalás...31 7. Bibliográfia...32

1. Bevezetés A webbányászat [1] célja az Internethez kapcsolható dokumentumokból (honlapok, e- mailek, blogok, fórumok stb.) hasznos információ automatikus összegyűjtése. Ilyen feladat lehet például állásajánlatok automatikus összegyűjtése vállalati honlapokról, vagy újsághírekben egy vállalkozásról fellelhető információk kinyerése. Az így nyert információ strukturált szerkezetű (mezőértékekből áll), azaz például betölthető egy adatbázisba. Egy vállalkozás számára rengeteg információ található a Weben a potenciális partnerekről, esetleg versenytársakról, mint például a konkurencia árai, akciói vagy egy cég referenciái. Célom egy olyan online kereséseken alapuló rendszer megvalósítása, amely automatikusan képes cégekről, a Web publikus részén (WWW) elérhető információk összegyűjtésére. Ennek megvalósíthatóságát illusztrálandó, dolgozatomban egy olyan rendszert mutatok be, amely az egyes tevékenységi körökhöz tartozó magyarországi vállalkozások neveit és címeit automatikusan gyűjti össze. A kezdeti kísérletek után egyértelművé vált, hogy egy olyan összetett rendszer szolgáltatja a megoldást, amely számos szövegbányászati részprobléma beazonosítását és megoldását igényli (ez a dolgozat legfontosabb eredményének tekinthető). Az egyes részproblémák megoldása során egyaránt alkalmaztam gépi tanuló algoritmusokat, szabályalapú módszereket és egyéb heurisztikákat. A két legfontosabb részfeladat a következő: Weblapok osztályozása: Az egyes vállalatok honlapjainak azonosítása érdekében az alkalmazott on-line keresők eredményeit automatikusan céges és nem céges csoportokba kell sorolni. Ezt a dokumentum klasszifikációs feladatot tanító adatbázis manuális létrehozása nélkül oldom meg úgy, hogy a pozitív és jelöletlen példákból való tanulás megközelítését alkalmazom. Itt a standard módszer egy módosított változatát is ismertetni fogom. Címek és cégnevek azonosítása: A letöltött weboldalakon az egyes cégek neveinek és címeinek automatikus jelölésére van szükség (tulajdonnév felismerési feladat). Erre a részproblémára mind szabályalapú, mind gépi tanulási megoldást is adok, és a két módszer a dolgozatban összehasonlításra kerül. Az egész rendszer és a főbb komponensek egyéni empirikus kiértékelésére egy keretrendszert implementáltam, amelynek felhasználásával a dolgozatban számszerű eredményeket közlök. - 1 -

2. Intelligens üzleti hírszerzés a Webről 2.1. Üzleti információ A XXI. század vállalatainak elengedhetetlenül szükségük van a folyamatos és naprakész információkra mind a versenytársaikról, partnereikről, mind potenciális ügyfeleikről. Ezen információk egy részhalmaza elérhető valamilyen strukturált adatbázisban vagy archívumban, másik része azonban nyers, szöveges, azaz strukturálatlan adatokban rejtőzik. Ezen adatok révén a döntéshozók olyan értékes információra tehetnek szert, amely segíti potenciális üzleti kapcsolataiknak értékelését és kereskedelmi partnereik kategorizálását, valamint új üzletfeleik feltérképezését, vagy egyszerűen könnyebben hozhatnak a vállalat szempontjából megfelelő döntéseket [1]. Így például, amikor egy menedzser egy lehetséges partner megbízhatóságáról, fizetőképességéről kíván meggyőződni, egy cég-referencia vagy kapcsolatháló segítségével felderítheti, milyen más cégekkel van kapcsolatban az adott vállalkozás, esetleg milyen érdekeltségi körbe tartozik, és ezek helyzete mennyire stabil. Továbbá a megfelelő kapacitásokkal rendelkező üzletfél kiválasztását is megkönnyítheti. Távlati célom egy olyan automatikus, hatékony döntést támogató rendszer építése, amely minél több hasznosnak vélt információt képes összegyűjteni egy adott vállalkozásról vagy vállalkozásokról (például kapcsolathálót) a WWW publikusan elérhető részeiről. Így lényegesen kevesebb szakértői humán munkaerő (piaci elemző, marketinges, sales-es) alkalmazására lenne szükség, amely egyben jóval kevesebb költségráfordítást is jelent. Ráadásul részben kizárható a legfőbb hibaforrás, az ember, aki sokszor nem is képes a nagy mennyiségű adat között rejtőző fontos információk kinyerésére. A célrendszer egy fuvarozási use case-ében, például a felhasználó Szeged inputjára outputként megjelenik a Weben elérhető fuvarozó társaságok adatainak listája (esetenként egy Excel táblázat), ahol az adatok közt szerepel például a társaság járműállományának mérete (természetesen csak akkor, ha ez az adat a weben elérhető), így a döntéshozó, amennyiben szüksége van rá, megszűrheti a fuvarozókat a legalább 100 kamionnal rendelkezők -re. 2.2. Webbányászat Az utóbbi évtizedekben az adatok tárolása egyre olcsóbbá vált, (a tárolókapacitások rohamosan fejlődtek, míg az árak csökkentek) ezáltal az elektronikus eszközök és adatbázisok a mindennapi életünkben elérhetővé váltak. Az egyre olcsóbb adattárolási lehetőségek az adatok tömeges felhalmozását eredményezte, ám a ritkán látogatott adatokból úgynevezett - 2 -

adat temetők alakultak ki, ezáltal a döntéshozók a döntéseiket nem hozhatták meg információ-gazdag adatok alapján. John Naisbitt híressé vált mondása szerint: We are drowning in information, but starving for knowledge (Megfulladunk az információtól, miközben tudásra éhezünk) [2]. Az utóbbi években az informatika egyik leggyorsabban fejlődő részterülete az adatbányászat [2] lett. Ez az új tudományág szolgál a nagy mennyiségű adatokban rejlő információk automatikus feltárására mesterséges intelligencia algoritmusok alkalmazásával (pl. neurális hálók, szabálygenerálók, asszociációs modellek). A fejlődés motorja a pénzügyi haszon, hiszen a kibányászhatatlannak vélt, vagy csak nagyon erőforrás-igényesen elérhető információk, összefüggések nagyon sokat érhetnek. A köznyelv és a különböző informatikai cégek sok mindent neveznek adatbányászásnak, de a szigorúbb szakmai terminológia szerint nem tekinthető adatbányászatnak az adatokból lekérdezésekkel, aggregálásokkal, illetve alapstatisztikai vizsgálatokkal történő információ kinyerése. Az adatbányászat egy már meglévő, valamilyen egyéb célból összegyűlt adathalmazban keres megbúvó, rejtett és számunkra hasznos, releváns összefüggéseket, ismereteket, információkat. Az adatbányászat egyik igen fontos részterülete a szövegbányászat [3], amely a strukturálatlan, (vagy részben strukturált) elektronikus szöveges állományokban megbúvó, nem triviális információk kinyerését jelenti. Jól mutatja a probléma létjogosultságát Merill Lynch elemzése 1, mely szerint az üzleti információk 85%-a strukturálatlan, illetve részben strukturált adat formájában áll rendelkezésre, mint pl. e-mailek, emlékeztetők, üzleti és kutatási beszámolók, prezentációk, hírek, reklámanyagok, weboldalak, ügyfélszolgálati tevékenység jegyzetei, stb. Az adatbányászathoz hasonlóan a szövegbányászat is a látens összefüggések és rejtett ismeretanyagok automatikus kinyerésére hivatott, de inputja folyó szövegek, azaz strukturálatlan, vagy részben strukturált dokumentumok. A szövegbányászati problémák megoldásai eltérő eszközöket igényelnek, itt modellezni kell az emberek által írt szövegek szintaktikai, szemantikai szerkezetét, sőt a pontos megértéshez azok stílusát is. Napjainkra a tudásmenedzsment egyik legfontosabb információtechnológiai eszközévé vált a szövegbányászat, melynek segítségével üzleti versenyelőny szerezhető. Az új alkalmazási lehetőségek közül a webbányászat az egyik legígéretesebb, mivel a világ legnagyobb és leggyorsabban bővülő adattárát, az Internetet használja. A szöveg- vagy web-bányászati rendszereknek számos alkalmazása képzelhető el, úgymint a 2008 őszén zajló amerikai elnökválasztás finiséhez érkező kampány 2, ahol a jelölteknek égető szükségük volt a bizonytalan szavazókra, ezért összetett automatikus webbányászati módszerek segítségével 1 Adatbányászok: http://www.168ora.hu/cikk.php?cikk=24066 (2008) 2 Adatbányászat az elnökválasztási kampányban: http://index.hu/tech/szoftver/obam080531/ (2008) - 3 -

próbálták megtudni a fórumokon vagy blogokon fellelhető vélemények alapján a potenciális szavazók preferenciáit, álláspontjait. A WWW a jellegéből, struktúrájából fakadóan kihívásokkal teli platformot jelent az online szövegbányászati rendszerek számára 3. Ezen kihívások a következők: Elosztott adatstruktúra: Az Interneten jelen lévő információtároló szerverek egy előre meg nem határozott, önszerveződő struktúrájú kapcsolatban állnak egymással, vagyis az adatok fizikailag más-más helyen lelhetőek fel, amelyeket egységesen kell kezelni függetlenül forrásuktól, formázásuktól, a nyelvektől, nyelvezetüktől, valamint stílusuktól. Változó tartalmak: Az Internethez kapcsolódó dokumentumok bármikor eltűnhetnek vagy változhatnak. Becslések szerint az Interneten elérhető tartalom 40%-a legalább havi rendszerességgel módosul. Óriási méretek: Az Internet struktúrájából fakadóan lehetőséget biztosít minden fizikailag egy helyen tárolt adatbázisnál nagyobb adattömeg elérésére. Ekkora méretnél már komoly kérdéseket vet fel a szövegek feldolgozásának sebessége. Ráadásul a jelenlegi méret továbbra is exponenciális ütemben bővül. Redundáns és strukturálatlan szövegek: Az elérhető szövegek jelentős része többször is jelen van a hálózaton. Ezen redundáns dokumentumok aránya meghaladhatja akár a teljes adatmennyiség 30%-át, ezért figyelni kell, hogy az ugyanolyan tartalmú dokumentumok csak egyszer szerepeljenek az adott korpuszban. Ugyanakkor a szövegbányászat számára a redundancia lehetőségeket is hordozhat, ugyanis ha ugyanazon információ több helyen jelenik meg, az annál megbízhatóbbnak tekinthető. Ellenőrizhetetlen adatminőség: Az újonnan megjelenő szövegek cenzúrázatlanul kerülnek ki a Webre, a szerkesztői feladatokat pedig senki sem látja el. Ezért előfordulhat, hogy elavult, vagy valótlan tartalmak válnak elérhetővé, ezáltal téves információk kerülhetnek előtérbe. Ebből kifolyólag fokozottan figyelni kell a kinyert adat megbízhatóságára, minőségére. A probléma jelentőségét jól mutatja az a közelmúltban történt eset, amikor egy nagy amerikai hírportálon egy amerikai légitársaság rossz pénzügyi helyzetéről szóló, 7 évvel ezelőtti hír csak később módosult. Miután a Google változáskövető rendszerébe belekerült a hír, és végigfutott a világon, a társaság részvényeinek árfolyama meredek esésbe kezdett. 3 Szövegbányászat Nyelvtechnológia a PC világában: http://sznoberia.blogter.hu/?post_id=208013 (2007) - 4 -

2.3. Kapcsolódó munkák A webtartalom-bányászat célja az Interneten elérhető szöveges dokumentumokból valamilyen szempont szerint hasznosnak vélt információk kinyerése. A kezdeti klasszikus webtartalom-bányászati próbálkozások után [4][5] a kutatók figyelme a webbányászat két másik részterületére a Web Usage Mining (webhasználat elemzés) [6][7] és a Wrapper Induction (struktúra felderítés) [8] felé fordult. A Wrapper Induction célja (HTML DOM) strukturált adatok automatikus módon történő kinyerése (cél a struktúra automatikus felismerése), többek között webshopok termékinformációs oldalaihoz hasonló dokumentumokból. Ugyanakkor a Web Usage Mining feladata a felhasználók böngészési szokásairól összegyűjtött, vagy generált adatok alapján automatikusan felkutatni és elemezni a viselkedési mintákat. Az utóbbi esztendők szövegbányászati eredményeinek köszönhetően a közeljövőben úgy vélem a webtartalom-bányászat ismét a figyelem középpontjába kerülhet. A webtartalom-bányaszati alkalmazásokra példa a FlipDog.com által kifejlesztett, egészen új elven működő álláskereső portál, amely automatikusan gyűjtötte össze a munkalehetőségeket több mint 60.000 vállalat weboldaláról. Mindemellett havonta kiadtak egy elemzést az adatbázisukban megtalálható minták és trendek változásairól, amelyet sok szervezet használ, hiszen ehhez hasonló átfogó és naprakész értékelés máshol nem elérhető. Az információk automatikus kinyerése elég hitelesnek bizonyult, ám adott esetben a minél nagyobb pontosság elérése érdekében az alacsony megbízhatóságú weboldalakról kinyert információkat manuálisan is ellenőrizték [9]. Ismereteim szerint ez a dolgozat az első publikált munka, amely magyar nyelvű honlapokra irányuló webbányászati megoldást mutat be. A dokumentumosztályozási probléma [10] megoldása során (egyes cégekhez köthető weboldalak azonosítása) a pozitív és jelöletlen példákból való tanulás módszerét alkalmaztam. Ezen probléma megoldására publikált rendszerek [11][12] a kétlépéses megközelítést alkalmazzák, amelynek részletes bemutatása a 3.1.1. fejezetben történik. A publikált rendszerek elsősorban a negatív példák kiválasztásában különböznek, egészen az egyszerű többségi szavazástól a kernel módszerekig [13] több lehetőség is megtalálható. A szövegbányászati rendszerek számára elengedhetetlenül fontos az egyes tulajdonnevek azonosítása, hiszen ezek általában jelentős információhordozó szerepet tölthetnek be a szövegekben. Az 1990-es évek közepe óta kutatott terület egy kétszintű problémának bizonyult: egyrészről meg kell találni és fel kell ismerni a szöveg(ek)ben az előre definiált kategóriákba tartozó tokensorozatokat, másrészről a megfelelő szemantikai osztályokba kell azokat sorolni. Az utóbbi időben egyre nagyobb figyelmet kaptak a - 5 -

tulajdonnév felismerő rendszerek. A Message Understanding Conference MUC-7 keretén belül a tulajdonnevek azonosítása, valamint a személynevek, földrajzi nevek, szervezetek egyéb kategóriákba sorolása, továbbá egyéb, időt, mennyiséget stb. leíró kifejezések felismerése volt a feladat [14]. 2003-ban a Conferenceon Computational Natural Language Learning (CoNNL) által meghirdetett nyílt versenysorozaton angol és német nyelvű szövegekben egyazon modell építésével tulajdonnevek felismerése volt a célkitűzés [15]. Napjainkban a probléma legsikeresebbnek vélt, és egyben leggyakrabban használt megközelítésének a szekvenciatanulás bizonyult, amelynek legismertebb képviselője a Conditional Random Fields (CRF) [16]. Léteznek magyar nyelvre is alkalmazott szabályalapú [17] és gépi tanulási tulajdonnévfelismerő rendszerek [18][19]. A statisztikai rendszereket elsősorban a Szegedi Tudományegyetemen készített gazdasági tulajdonnév korpusz [20] inspirálta. - 6 -

3. A vállalkozások címeit kinyerő rendszer Dolgozatomban - a távlati célok elérése érdekében tett első lépésként magyarországi vállalkozások megnevezésének és címeinek online kereséseken alapuló automatikus kinyerésének problémájára fókuszáltam. A rendszer egy adott tevékenységi kör lekérdezésére a WWW-ben elérhető vállalkozások neveit és címeit adja eredményül. Tehát egy autókereskedés Szeged keresőkifejezésre a C-Mobil Kft. 6728 Szeged, Napos út 6. rekordot adja vissza egy lehetséges találatként (a másik több tucat találat között). Azért választottam a címek azonosítását első lépésként, mert az automatikus rendszer outputja könnyedén kiértékelhető a Cylex Tehnologia Informatiei SRL 4 által rendelkezésemre bocsátott címlista alapján, és mindemellett mindennapi gyakorlati alkalmazása is komoly előnyöket biztosíthat a döntéshozók számára. A probléma megoldása során egyaránt alkalmaztam szabályalapú rendszereket, gépi tanuló algoritmusokat és egyéb heurisztikákat. A rendszer több, elkülöníthető részprobléma megoldásaként áll elő (az architektúrát az 1. ábra szemlélteti): A rendszer inputja egy keresőkifejezés, ami jellemzően egy tevékenységi kör, ami alapján on-line keresők (Google és Yahoo) segítségével letöltjük a találati oldalakat. Ezek közül a nem magyar nyelvű és kevés szót tartalmazó oldalak kiszűrésre kerülnek. A szűrésen átment dokumentumokból kiválasztásra kerülnek a céges honlapok, ugyanis az online keresőket alkalmazva nem mindig találtam releváns oldalakat, ezért szükséges volt ezek szűrése, osztályozása. Az egyes vállalatok internetes oldalainak az azonosítása érdekében a kereséshez használt online keresők eredményeit automatikusan céges és nem céges csoportokba soroltam. A probléma megoldásához a pozitív és jelöletlen példákból való tanulás megközelítését alkalmaztam, ahol a standard módszer egy módosított változatát használtam. A céges -nek ítélt weblapokon ezután az egyes cégek neveinek és címeinek automatikus jelölésére került sor (tulajdonnév felismerési feladat). Erre a részproblémára mind szabályalapú megközelítéssel, mind gépi tanulási módszerrel adtam megoldást, ezáltal lehetőség nyílt a két módszer összehasonlítására is. Az egyes honlapokon található címek és cégnevek azonosításán túl, az ellenőrizhetőség miatt szükség volt azok egységes formátumra hozására is, illetve ha egy oldalon több cím is szerepelt, egyszerű heurisztikák segítségével hozzárendeltem az adott cég nevéhez a hozzátartozó címet is, ami egy a keresett tevékenységi körhöz kapcsolódó - cégnév címlistát eredményez. 4 http://www.cylex-tudakozo.hu/ - 7 -

3.1. Honlapok osztályozása 1. ábra: A rendszer felépítése Az első kísérletek kiértékelése során a hibák elemzésekor azonosítottam azt a problémát, hogy az online keresők találatai nagyon sok spam oldalt tartalmaznak. Ezek a nem releváns találatok rontják a hatékonyságot. A célom az volt, hogy a vállalatok weblapjait megkülönböztessem minden egyéb típusú weblaptól a későbbi (címfelismerésen túli) munka megkönnyítése érdekében. Ehhez a pozitív és jelöletlen példákból tanulás módszerét választottam. 3.1.1. Tanulás pozitív és jelöletlen példákból A standard szövegklasszifikációs eljárások [11][12] egy megadott tanulóhalmaz alapján megtanult modell szerint sorolják be az új, ismeretlen dokumentumokat az előre definiált osztályokba. A tanítóhalmaz általában minden osztályra tartalmaz példákat. Ezen felügyelt tanulási módszerek legnagyobb hátránya, hogy a pontos tanuláshoz szükség van egy nagy - 8 -

méretű, felcímkézett tanító adatbázisra. Ezt általában manuálisan jelölik, amely igen időigényes folyamat. A negatív példák keresése különösen fontos és nehéz feladat, mivel ezek egyenletesen írják le -a pozitív eseteken kívüli- univerzum halmazt. A honlap osztályozási feladatban a pozitív példák (céges oldalak) és a jelöletlenek könnyen gyűjthetőek. Az én esetemben a kézi jelölés elkerülhető. Megközelítésemben egy rendelkezésre álló pozitív tanítóhalmaz és egy jelöletlen halmaz segítségével valósítom meg a szövegklasszifikációt. A fő nehézség ebben az esetben az, hogy a jelöletlen halmaz tartalmazhat pozitív példákat is, ezért a klasszifikációt megelőzi egy előfeldolgozási szakasz, amelyben megbízható negatív példákat nyerünk ki automatikusan ebből a halmazból. A problémát éppen ezért kétlépéses stratégiával szokták megközelíteni [11]: 1. lépés: A jelöletlen halmazból azonosítani kell a legvalószínűbb negatív példákat automatikus eljárással. 2. lépés: A pozitív tanítóhalmaz és a jelöletlen halmaz negatív elemeiből összetevődő tanítóhalmaz segítségével klasszikus szövegklasszifikációs algoritmus alkalmazása. A probléma gyakorlati megvalósítása során az eddig alkalmazott eljáráson túl, annak módosított változatait is implementáltam. 1. lépés: Positive Examples Based Learning (PEBL, pozitív példákon alapuló tanulás): az eddig publikált módszerekben [10][11] egy pozitív szólista készült, amelybe minden olyan szó bekerült, amely átlagosan többször fordult elő a pozitív dokumentumokban, mint a jelöletlen korpuszban. Ennek a listának a segítségével minden olyan dokumentumot eltávolítok a jelöletlen halmazból, amelyben legalább egyszer előfordult a pozitív szólista egy eleme. Ez az új leszűkített jelöletlen halmaz jelentette a később alkalmazott klasszikus szövegklasszifikációs algoritmus negatív halmazát. Átlagos tfidf alapú megközelítés (ATFIDF): ez a saját módszer egy pozitív szólistát készít, melynek alapjául a pozitív és a jelöletlen halmaz átlagos tf-idf súlyozása szolgált (lásd 3.1.4. fejezet). Ezután a negatív halmaz kijelölése a hagyományos módszerhez hasonlóan történt. Vegyes megközelítés: a hagyományos és a VTM alapú megközelítések szólistájának összefésülése (uniója) révén egy bővebb pozitív lista segítségével az eddigiekhez hasonló módon került kijelölésre a negatív korpusz. 2. lépés: Mindhárom esetben klasszikus szövegklasszifikáció alkalmazása, néhány új, a korábbiakban nem alkalmazott jellemzővel bővített térben. - 9 -

3.1.2. Honlap osztályozási adatbázis A honlap osztályozási feladat megoldásához és kiértékeléséhez szükséges adatbázisok alapjául, egy a Cylex által rendelkezésemre bocsátott lista szolgált, amely tízezer, többségében magyarországi vállalkozás legfontosabb információt tartalmazza, úgy mint a vállalkozás megnevezése, pontos címe, telefonszáma, tevékenységi köre, és amennyiben az elérhető, akkor annak e-mail címe és weboldala. A későbbi könnyebb feldolgozhatóság érdekében szükséges volt a listában szereplő vállalkozások normalizálása, egységes formára hozása. A tanító és kiértékelő adatbázisok a céglista bejegyzései alapján indított, a Google és a Yahoo API-val történő keresések találatainak letöltésével álltak elő. A nyílt forráskódú online kereső API-k előzetes regisztráció után, napi keresési limitek (a Google API esetében ez napi 1000, míg a Yahoo esetében napi 5000 lekérdezés) közt használhatóak. Mivel napjainkban alapkövetelménnyé vált, hogy betűinket és számainkat a saját nyelvünkön, ékezetekkel ellátva jelenítsék meg a weboldalak, ezért azok készítői különös figyelmet szentelnek a helyes karakterkódolásnak. Az egyes letöltött weblapok helyes karakterkódolásának megállapítása a későbbi hatékony adatfeldolgozás érdekében elengedhetetlenül fontos, ugyanakkor meglepően bonyolult feladatnak bizonyult. Megoldást végül a Mozilla Firefox nyílt forráskódú szoftverének a karakterkódolás megállapításáért felelős software könyvtára jelentette. Az online keresők API-jai jól paraméterezhetőek, ezért a keresések kizárólag magyar nyelven történtek. Sajnos ennek ellenére szükség volt a letöltött weblapok nyelvi szűrésére, ugyanis még így is jelentős mennyiségű angol nyelvű lap került az adatbázisokba. A szűrés alapja az egyes dokumentumokban szereplő angol szavak aránya volt. Amennyiben a dokumentumban szereplő szavak több mint 40%-a szerepelt egy angol szólistában 5 [21], akkor az a dokumentum kikerült a korpuszból. Továbbá kiszűrésre került minden 20-nál kevesebb szót tartalmazó dokumentum, mivel azok sok esetben egy belépő, vagy valamilyen hibáról értesítő oldalt tartalmaztak. A Cylex lista 4000 véletlenszerűen választott vállalkozásának URL címe biztosította a honlap osztályozási feladat pozitív példáit. Letöltés 3891 alkalommal volt sikeres, a többi esetben a lista nem tartalmazott webcímet. Az angol nyelvi és méret szűrések után 1646 dokumentum maradt a halmazban. A jelöletlen halmazba a dokumentumok a következőképp kerültek: a Cylex lista tevékenységi kör mezőjében szereplő kifejezések közül azon szavakra kerestem rá az online keresők segítségével, amelyek legalább harmincszor fordultak elő. Ez 279 különböző online 5 az English Gigaword korpuszban több mint tízezerszer előforduló szavak - 10 -

keresést és 5253 letöltött fájlt eredményezett. A szűrések után 3384 dokumentumból tevődött össze a jelöletlen halmaz. A különböző módszerek végső kiértékeléséhez szükség volt egy etalon kiértékelési korpuszra. Ezért egy annotátor manuálisan kiválasztott mindkét listából 200 egyértelműen pozitív, illetve negatív weblapot. 3.1.3. A honlap osztályozás jellemzőtere A vektortérmodell (VTM) [22] a szövegbányászati modellek első, és egyben egyik legszélesebb körben használt dokumentum reprezentációs eszköze. A modellben a korpusz (dokumentumok halmaza) minden dokumentuma egy pontnak felel meg a sokdimenziós vektortérben, melyben egy dokumentumot egy vektor ír le. A vektor minden eleme az egyes termek (szavak esetleg szósorozatok) előfordulását jelenti. Ez a sokdimenziós struktúra nyújt lehetőséget az egyes dokumentumok egymáshoz viszonyított hasonlóságának meghatározására, dokumentum klaszterek definiálására, valamint egyéb jelentéstartalom kinyerésére. A dokumentumhalmazt leíró lexikon alapesetben minden egyedi szót tartalmaz (legalább egy alkalommal, legalább egy dokumentumban előfordultak a vizsgált korpuszban), a vektortérmodell dimenziószáma pedig a lexikon méretével azonos. Az egyedi szavak száma egy nyelv esetében átlagosan 100.000 szó, de ez természetesen nyelvenként jelentősen eltérhet, és függ a felölelt témák diverzitásától is. A vektortér dimenziószámának csökkentésére különböző szövegbányászati előfeldolgozási műveleteket lehet alkalmazni, úgymint stopszó lista-alapú szűrés vagy szótövezés. A vektorteret egy TD NxM term-dokumentum előfordulási mátrixszal (Term-Document mátrix vagy TD mátrix) tudjuk leírni, ahol N-nel jelöljük a dokumentumok vektorainak dimenziószámát, míg M-mel a dokumentumok számát. Egy tetszőleges td ij elem pedig az i- edik term előfordulásainak számát jelenti a j-edik dokumentumban. Egy TD NxM term-dokumentum mátrixot többféleképpen valósíthatunk meg. Bináris TD mátrixról akkor beszélhetünk, ha a mátrix elemei csak 0 és 1 értéket vehetnek fel. Ebben az esetben, ha egy tetszőleges elem értéke 1, akkor az i-edik term szerepel a j-edik dokumentumban, máskülönben 0 (amennyiben nincs benne a dokumentumban). A szógyakorisági TD mátrix esetén az egyes elemek az egyedi szavak j-edik dokumentumban való előfordulásának a gyakoriságát adják meg, mely nyilvánvalóan több információt hordoz a bináris megközelítéssel szemben. A vektortér még pontosabb reprezentálására a súlyozott TD mátrixot használják, amely az előbbi gyakorisági értékeket súlyozza, ezáltal kisebb súllyal kerülnek a mátrixba a kevésbé releváns szavak. Erre az egyik legáltalánosabban használt módszer a tf-idf (term frequency - 11 -

inverse document frequency) normalizáció. Ekkor azon termek kapnak nagyobb súlyt, amelyek előfordulása jobban jellemzi a dokumentum tartalmát. Alapjául egyrészről a TF súlyozás szolgál, amit alábbi módon számítanak: tf i,j = n i,j n k,j i-edik term j-edik dokumentumra vonatkozó tf értékét kiszámító képlet Ezen súlyozási séma fogyatékossága, hogy a lexikon összes szavát azonos módon számítja, holott az egyes témaspecifikus szavak, mint pl. az adatbányászat szó nyilvánvalóan jobban leírja egy dokumentum tartalmát, mint esetleg egy névelő. Másrészről az inverz dokumentum frekvencia (Idf) az alábbi képlettel képes leírni, hogy adott szó a korpuszbeli ritkasága alapján mekkora megkülönböztető képességgel rendelkezik: D idf i = log {d j :t i d j }, i-edik term idf értékét kiszámító képlet Ahol a hányados számlálójában az összes dokumentum száma szerepel, a nevezőben pedig azon dokumentumok száma, amelyek tartalmazzák az adott termet. Ezek felhasználásával a következőképpen kapjuk meg a tf-idf-t: tfidf i,j =tf i,j idf i tf-idf értékének kiszámításának képlete Ezáltal azok a szavak szerepelnek nagyobb súllyal egy dokumentumra vonatkoztatva, amelyek hangsúlyosak arra nézve, továbbá más témájú dokumentumokban nem fordulnak elő jellemzően. Az implementáció folyamán a GNU licenc alatt álló, nyílt forráskódú, JAVA nyelven implementált Text Clustering Toolkit (TCT) 6 library segítségével kerültek kiszámításra ezen értékek. A VTM megközelítésnek a legnagyobb hátránya, hogy a szavak egymáshoz való (szintaktikai és szemantikai) viszonya elveszik, mivel egy TD mátrix csak az egyedi szavak előfordulását képes reprezentálni az egyes dokumentumokban. Továbbá az ábrázolt tér dimenziószáma igen magas is lehet, a TD mátrix pedig igen ritka, mivel a teljes lexikon egyedi szavainak igen kis hányada fordul elő egy dokumentumban. Ugyanakkor elmondható, hogy egy egyszerű és gyors megoldás nyújt a dokumentumok hasonlóságának meghatározására, valamint a standard gépi tanulási technikák alkalmazására. 6 TCT (Text Clustering Toolkit) University College Dublin (http://mlg.ucd.ie/) - 12 -

A tf-idf súlyozást két helyen is alkalmaztam a rendszerben. Egyrészt az egyes termek átlagos tf-idf értékei (tfidf normalizált TD mátrix oszlopátlaga) alapján került kiválogatásra az ATFID megközelítés esetén a pozitív szólista. Azaz minden olyan, a korpuszban legalább hússzor előforduló szó bekerült a szólistába, melynek a pozitív dokumentumhalmazban számított átlagos tf-idf súlya nagyobb volt, mint a jelöletlen halmazból számított súlya. Így természetesen olyan szavak is beválogatásra kerültek, amely csak a pozitív dokumentumokban fordult elő. A pozitív és jelöletlen példákból való tanulás második lépésének szövegklasszifikációjánál is a korpusz tf-idf által súlyozott TD mátrixának használata bizonyult a előnyösebbnek a normalizálás nélküli (bináris) TD mátrixhoz képest. Az osztályozási probléma megoldásához több új jellemzőt is felvettem a dokumentumokat leíró vektorokhoz: Az egyes weblapok TITLE tag-jeiben szereplő szavak a titleword címkével kerültek a lexikonba, amely ugyan a dimenziószám növekedésével járt, de ezáltal ezek a szavak a DOM fában való elhelyezkedésük plussz információját is tartalmazták. Így például a kft szó titleworld_kft ként szerepel a lexikonban. Továbbá bekerült néhány, a weblapokra jellemző adat is, úgy mint a lapon található szavak, címek, és kifelé mutató élek (linkek) száma. Ezek ugyan növelték a vektortér dimenziószámát, de információtartalmuk miatt a végső eredményre kedvező hatással voltak. A kezelhetőség érdekében különböző szűréseket is alkalmaznom kellett. A stopword alapú szűrés segítségével azon szavak, amelyek nem bírnak különösebb jelentéstartalommal, nem kerültek bele a VTM lexikonjába, ezáltal annak dimenziószáma is kisebb lett. Az egyes nyelvek stopword listája az Interneten fellelhető, így például a [23] nevezett helyen 23 különböző nyelv listájához lehet hozzáférni. A tf-idf szűrés során a listában szereplő szavak többségének ugyan eliminálásra kell kerülnie, de mivel ezen szavak semmilyen jelentés megkülönböztető szereppel nem bírnak, így előzetes eltávolításuk csökkenti alkalmazásuk költségeit. A stopwordökön túl a dokumentumokban előforduló számok kiszűrése is hasznosnak bizonyult. 3.1.5. Döntési fa-alapú osztályozás A VTM alapú osztályozáshoz a nagy dimenziós terekben is hatékony döntési fákat használtam [24]. Ezen megközelítés az ember számára könnyen értelmezhető outputot generál, ráadásul éppen diszkrét jellemzők feldolgozására fejlesztették ki. A döntési fa felépítésére több hatékony algoritmus létezik, például a C4.5 [25] illetve annak elődje, az ID3 (Iterative Dichotomiser 3), amelyekkel diszkrét osztályok felügyelt tanulását lehet - 13 -

végezni. Ennek a folyamatnak az outputja egy tengelypárhuzamos vágásokat alkalmazó döntési fa lesz. Vagyis az ismert entitások által alkotott teret a tengellyel párhuzamos hipersíkok mentén részterekre osztja fel. A C4.5 algoritmust használhatjuk folytonos jellemző értékek esetén is, mivel a d-dimenziós tér pontjaiként kezeli a tulajdonságvektorokat. A C4.5 az oszd meg és uralkodj tudásreprezentációra épül, vagyis a tanulási folyamat közben egy részteret alterekre bontunk fel, ha az nem bizonyult kellőképpen homogénnek. A gyakorlatban az új-zélandi Waikato Egyetem által készített nyílt forrású, JAVA nyelven implementált adatbányászati alkalmazásokat támogató programcsomagot vettem igénybe. A Weka-ban [26] a C4.5 algoritmus egy továbbfejlesztett változatát, a J48 osztályt használtam, amely talán a legelterjedtebb döntési fa tanuló módszer e programcsomagban. 3.2. Címek automatikus felismerése Ebben a részfeladatban a különböző honlapokon található címek és vállalkozásnevek azonosítása volt a cél. A címek megadásának ugyan van előre meghatározott pontos formája, ám ha ezt nem tartják be, az ugyan az emberi szem számára továbbra is felismerhető marad, míg az automatikus felismerés nem triviális. A probléma megoldásakor többféle megközelítést alkalmaztam, így lehetőség nyílt a szabályalapú és a gépi tanulási módszer összehasonlítására. A gépi tanulási megközelítés során a Szegedi Tudományegyetemen kifejlesztett tulajdonnév felismerő rendszert alkalmaztam. 3.2.1. A manuálisan annotált címkorpusz Mivel a cél az egyes részfeladatok egymástól függetlenül történő kiértékelése volt, ezért fel kellett tenni egy etalon céges honlaposztályozót. Az egy adott céghez köthető weboldalak a vállalkozások adatait tartalmazó Cylex adatbázis segítségével kerültek letöltésre. Mivel csak az egyes társaságok saját weboldalai, azon belül is azok, amelyek tartalmazzák a vállalat címét vagy nevét, számítottak relevánsnak, ezért az online keresők site speciális kulcsszava segítségével csak a cégek saját oldalain történt a keresés. A nem releváns találatok elkerülése érdekében egy keresőkifejezés tartalmazta továbbá a cég címében szereplő közterület megnevezés első tokenjét is. Amennyiben az nem volt elérhető az adatbázisban, akkor e helyett a vállalkozás nevének első tokenje szerepelt helyette. Ez alapján egy adott keresőkifejezés a következőképpen alakult: site: vallalatwebcime.hu közterület amennyiben a közterület nem volt elérhető: site: vallalatwebcime.hu vállalkozás neve Természetesen a keresés csak abban az esetben járt sikerrel, ha az adatbázis tartalmazta - 14 -

az adott webcímet. Sajnos több esetben is előfordult, hogy a cím nem helyesen került az adatbázisba, vagy az oldal címe időközben megváltozott. Az egy adott céghez tartozó weboldalak egy könyvtárba kerültek, amennyiben pedig a Google és Yahoo találatai közt volt egyezés, akkor a kérdéses oldal csak egyszer került letöltésre. HTML annotációs eszköz: A HTML oldalak manuális jelöléséhez elengedhetetlenül szükség volt egy az igényeket kielégítő, ugyanakkor kényelmes és hatékony eszközre. A 2008 tavaszán az MTA-SZTE Mesterséges Intelligencia Tanszék Kutatócsoportja által készített, HTML oldalak annotálását segítő, szabadon letölthető Mozilla Firefox extension felhasználásával történt az annotálás [27]. Ennek segítségével az annotátorok az oldalakat eredeti megjelenésükben látták, nem kellett a HTML-ek forrását szerkeszteniük. Az eszköz további előnye, hogy nem módosítja a DOM fát, mivel csak speciális komment tageket illeszt be a forrásba, így az oldalak eredeti megjelenése nem változik. Eredeti oldal <TR> <TD valign="top" width="100%"> <STRONG> No1.Gödöllő, Veres P. u. 18 Tel: 30-9528-228</STRONG></TD> </TR> Annotált oldal <TR> <TD valign="top" width="100%"><strong>no1. <!--Cim- begin--><!--varos-begin-->gödöllő,<!-- Varos-end--> <!--Utca-begin-->Veres P. u.<!--utca-end--><!--hazszam-begin--> 18<!--Hazszam-end--><!--Cim-end--> Tel: 30-9528-228</STRONG></TD> </TR> Címkék: A korpuszban jelölendő típusok a következők voltak: VALLALAT: különböző szervezetek és cégek megnevezései HAZSZAM: lakásszámok IRANYITOSZAM: települések postai irányítószámai UTCA: közterületek megnevezései és azok típusai VAROS: települések megnevezései Az annotációs folyamat: A vállalkozások adatait tartalmazó adatbázisból 100 db céget választottam ki véletlenszerűen, majd az ezekhez tartozó 454 Google találatot letöltöttem. Ezek alkotják a cím-annotációs korpuszt. Az annotációt két nyelvész hallgató végezte el, akik egymástól függetlenül dolgoztak egy előzetesen megírt útmutató alapján, amely tartalmazta a feladat - 15 -

pontos leírását, valamint néhány példát és ellenpéldát egyaránt. Feladatuk az oldalakon szereplő cégnevek és címek jelölése volt. Az útmutató a legfontosabb előírása ez volt: A cél az, hogy az oldalakon minden magyar cég és egyéb szervezet nevét és címét megjelölünk, fontos, hogy csak magyar cégeket jelölünk magyar címekkel. Nem jelölünk magyar címeket, cégeket, amennyiben bármely más nyelven vannak leírva. Az annotátoroknak a folyamat során tilos volt a vitás eseteket egymással megbeszélniük. A folyamat végén egy harmadik nyelvész hallgató egyértelműsítette azokat az eseteket, amikor a két annotátor eltérően jelölt. Az így elkészült korpusz 536 VAROS, 526 UTCA, 515 HAZSZAM, 436 IRANYITOSZAM és 936 VALLALAT címkét tartalmaz. 3.2.2. Szabályalapú megközelítés címek és cégnevek jelölésére A szabályalapú megközelítésen a kézzel gyűjtött listaillesztési és reguláris kifejezési szabályok egymás utáni végrehajtását jelenti. Nehézséget jelentett többek közt, hogy a HTML forrásban való keresés értelemszerűen jóval nehezebb, mint az egyszerű szöveges dokumentumok esetén. Mindemellett kezelni kellett az esetleges elírásokat, a rövidítések feloldását vagy az ékezetek esetenkénti elhagyását. A helyesírási problémák feloldására a Levenstein-távolságfüggvényt alkalmaztam, ami képes egy mérőszámot adni arra, hogy milyen költségű beszúrás, törlés és csere operációk sorozatával vihetünk át egy stringet a másikba. A rendszer alapját többek közt különböző listák jelentették, mint például a Magyar Posta honlapjáról letölthető adatbázis [28], melyben a hat legnagyobb magyarországi város közterületei és irányítószámai szerepeltek. Továbbá a lehetséges városnevek, közterület- vagy vállalkozás típusok is egy-egy felsorolást alkottak. A hatékonyabb működés érdekében a listák egyes tokenjei többféleképpen is bekerültek a rendszerbe, így ékezetek nélkül és a közterületek megnevezései esetén rövidített formában is. Ezért pl. a Dózsa György közterület név Dózsa György, Dozsa Gyorgy, Dózsa Gy, valamint Dozsa Gy -ként is szerepel a rendszerben. Címek esetén a megközelítésnek az alapgondolata a következő volt: amennyiben az algoritmus a HTML oldalakon szereplő szövegben egy közterület típust leíró tokent talált, annak környékén igen nagy valószínűséggel egy cím szerepel. Ezért vettem ennek a tokennek egy adott k távolságon belüli szomszédait, és a továbbiakban ezen a tokensorozaton dolgoztam. Ebben a környezetben a fenti listák alapján próbálja azonosítani az egyes elemeket az algoritmus. Szabad tagok esetén a közterület típus előtt és után egyaránt, míg félig szabad tagokat csak az adott feltételek szerint keres. A módszer nem csak teljes címeket jelölt, hiszen előfordulhatnak csonka címzések is, - 16 -

jellemzően az irányítószám hiányával. Továbbá ha az egyik tagot esetlegesen nem sikerült azonosítani, a többi attól még jelölésre került, ezáltal csökkentve a hiba mértékét. A cégnevek azonosítása a címekhez hasonló módon történt. Ebben az esetben viszont a HTML oldalakon a cégnevek végződéseit, mint például kft, vagy bt kereste az algoritmus, és cégnévnek jelölte azt a nagy kezdőbetűkkel rendelkező token sorozatot, amely a cégvégződést megelőzte. Az egyes elemek értelmezési, azonosítási lehetőségei a következők [29]: település megnevezése: szabad tag magyarországi települések neveinek halmaza (rövidítéseket tartalmazhat) irányítószám: szabad tag: (H )[1 9] [0 9] [0 9] [0 9] postafiók: szabad tag: postafiók/pf(.) [0 9]? [0 9]? [0 9]? [0 9] közterület típusa: félig szabad tag (nem szerepelhet a közterület előtt): magyarországi közterületek típusai (rövidítéseket tartalmazhat) közterület megnevezése: félig szabad tag (nem szerepelhet településnév előtt): magyarországi közterületek neveinek halmaza lakásszám: félig szabad tag (nem szerepelhet a közterület megnevezése előtt) római szám/egész szám(.) emelet egész szám (.) kerületszám: római szám/egész szám(.) ker(.)/kerület 3.2.3. Gépi tanulási megközelítés címek és cégnevek jelölésére Ezen megközelítés során a Szegedi Tudományegyetem Informatikai Tanszékcsoportján Szarvas György és Farkas Richárd által 2006-ban publikált nyelvfüggetlen tulajdonnév felismerő rendszerhez Named Entity Recognition kialakított jellemzőteret használtam fel [18]. Ezen jellemzők a következők: Felszíni jellemzők: kis/nagy kezdőbetű, szóhossz, stb. Frekvenciainformációk: token előfordulási gyakorisága (webről gyűjtött frekvenciaszótárban) Környezeti jellemzők: mondatbeli pozíció, zárójelek, idézőjelek használata, stb. Egyértelmű tulajdonnevek listája: azon szavak listája, amelyeknek az osztálya a tanítóhalmaz alapján egyértelműen meghatározott Tulajdonnév szótárak: Internetről letöltött listák, mint pl. vállalat típusok - 17 -

Az így kialakított jellemzőtérre a tulajdonnév felismerési feladatokban a napjainkban legjobbnak tartott Conditional Random Fields (CRF) tanuló algoritmust alkalmaztam [16], amely a szekvenciatanulás (sequence labeling, stuctured prediction) módszerén alapszik. Ez a megközelítés alapvetően abban különbözik a klasszikus osztályozási feladattól, hogy nem egyetlen szeparált egyed címkéjének előrejelzésére épülő statisztikai modell, hanem osztálycímkék egy egész sorozatára. Ebben az esetben természetesen nem lehet élni az egyedek közti függetlenség feltevésével. A szekvencia alapú tanuló algoritmusok első változata a Rejtett Markov Modell volt [30], melynek később számos változata jelent meg. A CRF a rejtett Markov Modellel ellentétben nem követeli meg (a logisztikus regressziós modell felhasználásának köszönhetően) a jellemzők közötti függetlenségi feltevést. 3.3. A cégnevek és -címek összerendelése A harmadik, és egyben utolsó nagyobb részfeladat célja a letöltött weboldalakon felismert cégnevek és azok címeinek összerendelése. Mivel egy cím, vagy akár egy cég megnevezése is többféleképpen fordulhat elő, ezért elengedhetetlen az egyes címek és vállalatnevek egységes formára hozása (normalizálása), majd ezután annak eldöntése, hogy a szóban forgó céghez mely cím és név tartozik. 3.3.1 Az összerendelés kiértékelése Az egyes honlapokon, amelyek egy adott vállalkozásra vonatkozóan tartalmazzák annak címét vagy megnevezését, más társaságok adatai is szerepelhetnek. Ebben az esetben valamilyen módon szükséges az adott vállalkozáshoz tartozó adatok azonosítása, mivel egy oldalon sok esetben több cím és vállalkozás név fordul elő. A feladatot különböző heurisztikák segítségével oldottam meg. Ezek hatékonyságának mérése a Cylex adatbázis segítségével történt. Annak érdekében, hogy az automatikus címfelismerés hozzáadott hibáját értékelni tudjuk, az egyes heurisztikák az annotátorok által címjelölt és egyértelműsített adatbázison is lemérésre kerültek (ez a címjelölésben etalon adatbázis). Mivel mind a kiértékelő Cylex adatbázist, mind az egyes weblapok tartalmát emberek készítették, valamint a jelölések tökéletlenségéből fakadóan, óhatatlanul előfordultak olyan hibák, amelyek jelentősen megnehezítették a kiértékelést. - 18 -