Slutrapport Vertikala Sökmotorer Uppdrag från.se:s Internetfond Våren 2008 Anders Ardö Elektro- och informationsteknik Lunds Universitet Box 118, 221 00 Lund June 18, 2009 1 Inledning Digitala bibliotek inklusive sökmotorer är en framväxande, tvärvetenskaplig forskningsdisciplin som behandlar elektroniska söktjänster bl.a. på Internet. Den omfattar frågeställningar om hur man snabbt nner och klassicerar relevant information i den explosivt växande mängden elektroniska dokument tillgängliga via datornätverk. Sökningar via generella sökmotorer som Google och Yahoo ger mycket stora trämängder (ofta miljoner med träar) där den sökta informationen kan vara svår att hitta. Genom att göra mindre sökmaskiner som bara innehåller material relevant för ett visst ämne, sk vertikala sökmaskiner, blir trämängden vid sökning mindre och innehåller bara ämnes-relevant material. Problemet är att det inte alltid är lätt att identiera vilka dokument som är relevanta för ett visst ämnesområde. Detta löses genom metoder för automatisk ämnesklassikation (t.ex. Support Vector Machines SVM, string matching, etc.) som utnyttjar en ämnesdenition för att avgöra dokumentets relevans för ett ämnesområde. Kombinera den tekniken med en Web-spindel (robot, crawler, etc. ett program som 'klickar' sig igenom Webben och sparar dokumenten lokalt) så får man ett system som kan traversera Webben och välja ut intressanta dokument. Ytterligare en aspekt är att man vill inte gå igenom alla miljarder med dokument som nns på Webben, utan koncentrera sig på de sannolikt mest relevanta dokumenten genom en intelligent URL-scheduling i spindeln. Lägg till ett databas-system för indexering och sökning av insamlat material och ett WWW-användargränssnitt så har man en vertikal sökmaskin. 1
2 Mål och Syfte Göra ett fritt tillgängligt, lättanvänt system för att generera vertikala sökmaskiner inom valfritt ämnesområde. Systemet ska inkludera de senaste forskningsresultaten för eektiv spindling genom URL scheduling, state-of-the-art ämnesklassikationsmetoder (inkluderande teknik från lingvistisk analys) och integreras med högkvalitativa databas-system för indexering/sökning (Zebra, Terrier, Lucene). Det ska vara möjligt att enkelt bootstrappa en vertikal sökmaskin genom t.ex. en bokmärkes-samling eller ett antal dokument. Projektet baseras på en existerande Web-spindel, Combine http://combine.it.lth.se/ som ska modieras och integreras med andra fritt tillgängliga komponenter. Avgränsning: Projektet avser inte att skapa en hög-eektiv, generell Webspindel för extremt stora datamängder (dvs. konkurera med t.ex. Google). Ej heller att göra specialanpassade tjänster av typen prisjämförelser eller jobbsökning. Minst en vetenskaplig artikel publicerad Open source distribution av programvaran Demonstratorer på WWW 3 Projektbeskrivning Projektstart: 2008-09-01 Projektslut: 2009-06-30 Komponenter och moduler för att bygga vertikala sökmaskiner nns implementerade och tillgängliga. Däremot nns inget komplett integrerat programpaket för att enkelt skapa en komplett funktionsduglig vertikal sökmaskin inom ett valfritt ämnesområde. Projektet avser att skapa detta plus en möjlighet att via ett Web-användargränssnitt enkelt kunna testa dess funktionalitet utan att behöva installera någon programvara. Projektet ska resultera i en open source-implementering av ett system för att generera vertikala sökmaskiner, som är fritt tillgängligt som Open Source programvara. Dessutom ska ett antal demonstratorer implementeras - se leverabler. Under projektets gång kommer vetenskapliga artiklar att publiceras. Projektet gör det möjligt för i stort sett alla att göra egna vertikala sökmaskiner och att testa och utvärdera tekniken utan att behöva lägga stora kostnader på implementering eller konsulter. Finner man att resultatet är användbart, och vill göra en tjänst av det, kan man välja att själv implementera sin ämnesanpassade sökmaskin med hjälp av den fritt tillgängliga programvaran eller att köpa den utvecklingen kommersiellt. 2
4 Leverabler Från projektkontraktet: Nr Leverabel Beskrivning av det förväntat resultat Datum 1. svmclassify Modul för ämnesklassikation med SVM integrerad 2008-10-15 2. Zebra Integration med första databas-systemet 2008-11-01 3. Demo1 Första vertikala sökmaskindemonstrator 2008-12-01 4. Distr1 Första test system 2009-02-01 5. Demo2 Fullt fungerande WWW-demonstrator 2009-05-01 6. Distr2 Slutlig release av programvara och demonstratorer 2009-06-30 7. Slut Slutrapport 2009-07-30 Minst en vetenskaplig artikel publicerad. Ny funktionalitet: Implementera moduler för: Ämnesklassikation med SVM Kombination av resultatet från era olika klassikationsmetoder Optimal URL scheduling UI för sökning och administration Databasintegration med välkända, fritt tillgängliga, databas-system som: Zebra (http://www.indexdata.dk/zebra/) Lucene (http://lucene.apache.org/) Terrier (http://ir.dcs.gla.ac.uk/terrier/) Open source distribution av programvara för att generera vertikala sökmaskiner. Kontinuerligt under utvecklingen ska nya versioner av systemet göras tillgängliga via: Sourceforge (http://sourceforge.net/projects/focused-crawler/) CPAN (http://search.cpan.org/dist/combine/) Debian/Ubuntu paket repository (http://combine.it.lth.se/debian/) Källkod (http://combine.it.lth.se/#downloads) Demonstratorer fritt tillgängliga via WWW: 2 vertikala sökmaskiner inom olika ämnesområden som t.ex. 'Carnivorous Plants'. En WWW-tjänst som gör det möjligt att enkelt testa systemet på sitt eget ämnesområde utan att installera det lokalt 3
5 Resultat 5.1 Positiva resultat Alla leverabler är gjorda och levererade, samt alla mätbara mål är uppfyllda. 5.2 Mindre positiva resultat Av de tre databas-system nämnda i ansökan (Zebra, Terrier, Lucene) är integration bara implementerad för två (Zebra och Lucene). 5.3 Andra resultat Under besöket av Thierry Hamon från Univ Paris 13 utvecklades en experimentell plattform som innehåller datalingvistiska algoritmer för att extrahera en ämnesdenition för Combine från en samling dokument. Vi är i full gång att utveckla och köra ett antal experiment som förhoppningsvis kommer att resultera i en eller era vetenskapliga publikationer plus nya komponenter till Combine. Under arbetet med experimentalplatformen startades dessutom ett samarbete med Sergei Silvestrov vid Matematiska Institutionen, Lunds Universitet. 6 Vetenskapliga resultat 6.1 Vetenskapliga publikationer A. Ardö, "Can we trust Web-page metadata", Journal of Library Metadata, 2009, accepted for publication. 7 Utvärdering och analys Enligt min uppfattning ett lyckat projekt som väl lever upp till löftena i ansökningen. 7.1 Utvärdering av resultat Från ansökan - utvärdering och kommentarer i kursivt: Minst en vetenskaplig artikel publicerad. A. Ardö, "Can we trust Web-page metadata" Ny funktionalitet: Implementera moduler för: 4
Ämnesklassikation med SVM Modulen classifysvm.pm Kombination av resultatet från era olika klassikationsmetoder I experimentplatformen används både string-match och SVM Optimal URL scheduling Stöd för olika URL scheduling algoritmer inkluderande 'Best-rst' har implementerats UI för sökning och administration Se demonstratorer Databasintegration med välkända, fritt tillgängliga, databas-system som: Zebra (http://www.indexdata.dk/zebra/) Modulen Zebra.pm Lucene (http://lucene.apache.org/) Modulen Solr.pm Terrier (http://ir.dcs.gla.ac.uk/terrier/) Ej gjort Open source distribution av programvara för att generera vertikala sökmaskiner. Kontinuerligt under utvecklingen ska nya versioner av systemet göras tillgängliga via: Combine versionerna 3.9, 3.10, 3.11, 3.12, 4.001, 4.002, och 4.003 gjort tillgängliga under projektets gång. Demonstratorsystemet inklusive dokumentation nns för nerladdning på http://combine.it.lth.se/searchenginebox/ Sourceforge (http://sourceforge.net/projects/focused-crawler/) CPAN (http://search.cpan.org/dist/combine/) Debian/Ubuntu paket repository (http://combine.it.lth.se/debian/) Källkod (http://combine.it.lth.se/#downloads) Dessutom via Freshmeat (http://freshmeat.net/projects/combine) Demonstratorer fritt tillgängliga via WWW: 2 vertikala sökmaskiner inom olika ämnesområden som t.ex. 'Carnivorous Plants'. http://dbkit05.eit.lth.se/exp/demos/ En WWW-tjänst som gör det möjligt att enkelt testa systemet på sitt eget ämnesområde utan att installera det lokalt http://dbkit05.eit.lth.se/exp/vse/ 5
7.2 Förslag på förbättringar Användargrännssnittet i demonstratorerna behöver förbättras. 8 Framtida arbeten Experimentplatformen är ett kraftfullt verktyg för olika typer av experiment med iterativ förning av ämnesdenitioner samt jämförelse mellan olika typer av ämnesklassikations algoritmer. Jag förväntar mig att den kommer att utnyttjas en hel del av bl.a. Thierry Hamon och mig. Ett problemområde som aktualiserats under projektet är att träna en ämnesklasikator med enbart positiva exempeldokument (normalt krävs både positiva och negativa exempel, där de negativa måste täcka alla möjliga typer av negativa dokument på Internet - vilket är svårt). Området bör studeras vidare. Vidareutveckla Combine som verktyg. För att studera olika URL scheduling algoritmer skulle en Web-spindel simulator vara av stor nytta. Det skulle snabba upp experiment samt minska belastningen på Internet genom att undvika upprepade nerladdningar av samma sidor. En sådan simulator kan förmodligen implementeras genom att skriva en front-end simulator som utnyttjar en back-end crawler, Combine, med en redan insamlad databas av sidor. Back-end databasen kan vid behov kompletteras med nya sidor genom redan existerande funktionalitet i Combine. 6