Informationssökning. Joakim Nivre. Introduktion till språkteknologi. Informationssökning. Inledning. Strukturerade data. Ostrukturerade data

Relevanta dokument
Joakim Nivre och Jörg Tiedemann

Informationssökning. Jörg Tiedemann. Introduktion till språkteknologi. Informationssökning. Inledning. Strukturerade data. Ostrukturerade data

729G09 Språkvetenskaplig databehandling

TDDD02 Föreläsning 2 HT Reguljära uttryck och reguljära språk Lars Ahrenberg

Korpuslingvistik (SV2119) Föreläsning 2: Språkbankens korpusar och sökverktyget Korp

Detta dokument innehåller anvisningar för upprättande av en sökplan i kursen TDDD39 Perspektiv på informationsteknologi.

Sök artiklar i databaser för Vård- och hälsovetenskap

Sammanfattning av informationssökning VT19

Snabbguide till Cinahl

Att söka information (med betoning på Internet)

Tänk kreativt! Informationssökning. Ha ett kritiskt förhållningssätt! regiongavleborg.se

Om uppsatsmallen vid GIH

Programmering för språkteknologer II. OH-serie: Ändliga automater. reguljära uttryck i Java. Deterministiska ändliga automater

Retriever Mediearkivet

PubMed (Medline) Fritextsökning

DAB760: Språk och logik

Corpus methods in linguistics and NLP: Introduktion till sökverktyget Korp

V I G Å R I G E N O M...

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Svensk nationell datatjänst, SND BAS Online

Informationssökning - att söka och finna vetenskapliga artiklar! Linköpings Universitetsbibliotek

Korp. Övningar Språkbankens höstworkshop oktober 2016


GRATIS SEO, SÖK- OPTIMERING? JA, DETTA KAN DU GÖRA SJÄLV!

INFORMATIONSSÖKNING: SJUKSKÖTERSKEPROGRAMMET T1. Medicinska biblioteket

So ka artiklar och annan litteratur

Informationssökning och bibliotekets resurser Uddevalla Gymnasieskolas bibliotek

Marie Gustafsson. Forskning och publicering Olika typer av publikationer och informationskällor Vetenskapliga artiklar.

Söka, värdera, referera

Sö ka litteratur i ERIC

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg

Sökmanual till MetaLib. Utbildningsmaterial framtaget av LIBRIS-avdelningen

Sökhjälp. Sökfältet finns på samma ställe på alla sidor på webbplatsen.

Sökmotormarknadsföring

ALEPH ver. 18 Sökning - övningar

Peter Hellström. PH-Digital Marketing

Socialtjänstbiblioteket

Informationssökning Liberal Arts LIB40 V17

729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap

Användarmanualen. Visma Enterprise Content Search. Standard Version 2.0 for Platina. Version 1.1

Internets historia Tillämpningar

Optimering av webbsidor

Ersätta text, specialtecken och formatering

CBI-biblioteket. Presentation för CBI:s intressentförening Eva Lundgren

Sökning med prefix i BOOK-IT PUB

Sö ka artiklar öch annan litteratur

Kort om World Wide Web (webben)

Umeå universitetsbibliotek Campus Örnsköldsvik Eva Hägglund HITTA VETENSKAPLIGA ARTIKLAR I KURSEN VETENSKAPLIG TEORI OCH METOD I

Webbservrar, severskript & webbproduktion

Källuppgifter i fysik FAFA55

Introduktion till språkteknologi

Redaktionell sökoptimering. Utbildning för publicerare maj 2016 Elisabet Wartoft

Labb 1 - Textbearbetning med reguljära uttryck. Formella språk. Definitioner. Chomskyhierarkin. Formella språk. Formella språk

Föreläsning 11 - Automater, textsökning, tillstånd

Google Guide: Tips för sökoptimering

Aitelluguiden Venture Cup


Att ladda ner från legimus.se

Webbgenvägar. Krishna Tateneni Yves Arrouye Översättare: Stefan Asserhäll

Informations- och artikelsökning

KN - Seminarium. (Litteratursökning)

Manual för ehp och HP:s digitala arkiv

Webbprogrammering. Sahand Sadjadee

Publikationstyp Kapitel i bok, del av antologi

Cinahl sökguide. Enkel sökning. Ämnesordsökning

Dependensregler - Lathund

Avbildningar och hashtabeller. Koffman & Wolfgang kapitel 7, mestadels avsnitt 2 4

Algoritmer: Från kaos till ordning? Bild från Pixabay

TNMK30 - Elektronisk publicering

TFYY51 Informationssökning

» RSS - Bygg din egen RSS!

Karlstads universitetsbibliotek

Nyheter i Mikromarc 2.6.1

Googles sidrankning - linjär algebra värt en förmögenhet

Uppdaterad / EM. The Cochrane Library

Flera SIP-operatörer eller IP-PBXer. Lisa Hallingström Paul Donald

Gör pdfdokument bläddringsbara

FOR BETTER UNDERSTANDING. Snabbguide.

KARLSTADS UNIVERSITETSBIBLIOTEK

Publikationstyp Artikel i tidskrift, Artikel, forskningsöversikt och Artikel, recension

Grundläggande textanalys. Joakim Nivre

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin

Språk, datorer och textbehandling

Biblioteken, Futurum 2017

En dansk version av detta dokument kan laddas ned här: people/hagerman/retningslinjer.pdf (pdf, 500 kb)

Sökmanual för Retriever

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2)

Introduk+on +ll programmering i JavaScript

SaaS and Web Services 8.3.0

Kort presentation av Korp, Sveriges nationalkorpus

Tentamen Marco Kuhlmann

Språkbanken: lite historia. Språkbanken och Korp: Mot en språkteknologibaserad forskningsinfrastruktur. Språkbanken vad, för vem, till vad?

Introduktion till programmering

Internet. En enkel introduktion. Innehåll:

Bibliotekets resurser för filosofistudenter vt Catrin Andersson Umeå universitetsbibliotek

Språkteknologi och Open Source

Statistisk Maskinöversättning eller:

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Version: Datum: DynaMaster 5 Golf Övergripande manual

Transkript:

Strukturerade Joakim Nivre Ostrukturerade 1 / 33

Strukturerade Vi har tillgång till en enorm mängd informationskällor: böcker, baser, webben, tidningar,... För att hitta relevant information, behöver vi kunna söka i dessa källor, vilka ofta består av (digital) text Söka i en bibliotekskatalog (t.ex. med DISA) Söka på webben (t.ex. med Google) Söka i textkorpusar (t.ex. med reguljära uttryck i OPUS) Ostrukturerade 2 / 33

sökning Man kan också vilja söka efter tal, t.ex. för att hitta ett uttalande i en intervju som bara finns som ljudinspelning Fri sökning i ljudinspelningar är ännu inte fullt utvecklad Vi kan dock redan avgöra vilket språk ett samtal förs på upptäcka när ett nytt ämne introduceras i ett samtal texta vad som sägs (med varierande kvalitet) Vi kommer att fokusera på textsökning Strukturerade Ostrukturerade 3 / 33

Typer av 1. Strukturerade : kodade och sökbara i kategorier: författare, titel, ämne osv. Fördel: möjliggör specifika och exakta sökningar Nackdel: någon måste strukturera 2. Ostrukturerade : mycket större tillgänglighet (framför allt på internet) Nyckelordssökning räcker långt 3. : viss kategorisering men ej fullständig struktur Struktur och format ofta inkonsekventa även för samma typ av dokument (t.ex. bloggar och webrecensioner) Strukturerade Ostrukturerade 4 / 33

Strukturerade Söka i bibliotekskataloger Strukturerade För att hitta artiklar, böcker m.m. tillhandahåller bibliotek i allmänhet: en bas med information om dess innehav ett basgränssnitt för interaktion med basen t.ex. DISA, LIBRIS, WorldCat Användare söker efter exakta strängar som förekommer i fälten för författare, titel, osv. Ostrukturerade 5 / 33

Sökning i LIBRIS Grundläggande sökning: Nyckelord som matchar godtyckligt fält Kan kombineras med operatorer Utökad sökning: Fritext Titel/ord i titel Författare/upphovsman Ämne. Strukturerade Ostrukturerade 6 / 33

Specialtecken och operatorer Förutom exakta strängar kan man även använda specialtecken för att förkorta flera söksträngar * för att trunkera tecken i slutet av ett ord? för att ersätta exakt ett tecken varsomhelst i ett ord booleska operatorer för att kombinera två söksträngar x AND y x OR y x AND NOT y. Strukturerade Ostrukturerade 7 / 33

Ostrukturerade Ingen explicit kategorisering av de dokument som söks Liknar nyckelordssökning i strukturerade Mer storskaligt, t.ex. biljoner av webbsidor Andra typer av operatorer och sätt att förfina sökningar Med ostrukturerad menas: att strukturen inte är fördefinierad att strukturen inte är likformig och standardiserad att sökfrågor (därför) inte kan förutsätta en viss struktur Strukturerade Ostrukturerade 8 / 33

Informationsbehov Sökning förutsätter ett informationsbehov Informationsbehov översätts till en sökfråga Detta är en inexakt process (1) a. Informationsbehov: en eller flera ryska översättningar av det engelska ordet table b. Möjlig sökfråga: russian translation table Strukturerade Ostrukturerade Informationsbehovet är entydigt, sökfrågan flertydig Möjligt informationsbehov: tabell över ryska översättningar (utan ordet table) 9 / 33

En användare vill hitta något på webben, dvs. i filer som kan nås via hypertext transfer protocol (http) på internet går till en sökmotor, dvs. ett program som matchar dokument mot sökfrågor skriver in en sökfråga baserat på ett informationsbehov får en lista på webbsidor som kan vara relevant informationsbehovet utvärderar resultat: väljer en webbsida med den sökta informationen eller omformulerar sökfrågan Strukturerade Ostrukturerade 10 / 33

Webben Strukturerade Webbsidor är i allmänhet mindre strukturerade än poster i biblioteksbaser (med titel, författare osv.) Man söker efter ord var som helst i ett dokument Man kan inkludera meta på en webbsida, dvs. strukturerad information som inte visas på själva sidan T.ex. språk, teckenkodning, författare och nyckelord <META name= keywords lang= en-us content= vacation,greece > Ostrukturerade 11 / 33

Sökmotorer Sökmotorer (t.ex. Google) sparar en kopia av (nästan) alla webbsidor skapar ett index för att snabbt kunna nå sidor rangordnar sidor för att kunna rangordna sökresultat Sökmotorer kan skilja sig åt avseende: Behandling av ord: stamning: bird kontra birds stora och små bokstäver: trip kontra Trip Sökalternativ: operatorer eller speciella gränssnitt Hur sökresultat rangordnas och eventuellt klustras Strukturerade Ostrukturerade 12 / 33

När sökmotorer kartlägger webben, bygger de en term-dokument-matris Affair at Secret Sherlock Styles Adversary Holmes Poirot 1 0 0 Sherlock 0 0 1 adventure 1 1 1 exceedingly 1 0 1 strychnine 1 0 0 subsided 1 0 1 Strukturerade Ostrukturerade 1 betyder att ordet förekommer i dokumentet 0 betyder att det inte förekommer 13 / 33

Inverterad indexering Matrisuppbyggnaden görs i förväg, innan sökmotorn tar emot sökfrågor För att snabbare kunna hitta dokument skapas ett inverterat index Poirot 1, 4, 13, 15, 45,... Sherlock 3, 111,... adventure 1, 2, 3, 4, 5, 9, 15,... exceedingly 1, 3, 11, 25,... strychnine 1, 15, 60,... subsided 1, 3, 12, 13, 25,... Strukturerade Ostrukturerade Varje term pekar på en lista av dokument där den förekommer 14 / 33

I bästa fall returneras de webbsidor som matchar en sökfråga som en lista ordnad efter fallande relevans Hur kan en sökmotor som inte förstår språk avgöra en sidas relevans? Rangordningen bestäms av hundratals faktorer, varav några av de viktigaste är: Viktning av ord efter informationsvärde och position Språkteknologisk analys av sökfråga och sidor Hur ofta ett sökresultat klickas på av användare Antal länkar till och från sidan Strukturerade Ostrukturerade 15 / 33

Språkteknologisk analys Ordklasstaggning Är round substantiv eller adjektiv? Är fly substantiv eller verb? Syntaktisk parsning Oracle acquired Sun vem köpte vem? Entitetsextraktion Är breaking bad en TV-serie? Är Sandy en orkan? Strukturerade Ostrukturerade 16 / 33

Webblänkar Exempel Sidorna X, Y, och Z länkar alla till sidan A A X Strukturerade Ostrukturerade Z Är dessa länkar bättre eller sämre än länkarna till sidan B? Y B X V W Det beror på hur populära (eller auktoritativa) länkarna är 17 / 33

Webblänkning Mäta popularitet För att jämföra populariteten hos A och B, kan vi låta de länkande sidorna rösta Varje länkande sida får antal röster i proportion till dess egen popularitet X lägger 15 röster på A, Y lägger 10 och Z lägger 20: A X : 15 Strukturerade Ostrukturerade Z : 20 Y : 10 Men nu har A 45 röster. Är inte det för många? 18 / 33

Webblänkning Fördelning av utgående länkar Den lösning Google använder (som kallas PageRank) är att sprida ut varje sidas röster på alla sidor som den röstar på A 5 X : 15 5 B 5 C Strukturerade Ostrukturerade Antag att A efter att vi spridit ut rösterna får 12 röster Denna poängsumma betyder ingenting i sig själv Men om vi jämför med sidan B, som får 10 röster, kan vi säga att A är mer populär/auktoritativ 19 / 33

Webblänkning Rangordning med webblänkar Sammanfattningsvis finns det två faktorer att ta hänsyn till: Inkommande länkar Utgående länkar Google använder (ungefär) följande beräkning, där R(X) står för X:s rang och C(X) står för antalet utgående länkar från X Strukturerade Ostrukturerade R(A) = R(X) C(X) + R(Y) C(Y) + R(Z) C(Z) 20 / 33

Webblänkning Varför? Strukturerade 1. Vi summerar A:s inkommande länkar för att se hur populär A är bland andra sidor 2. Vi dividerar med antalet utgående länkar från X, Y och Z för att fördela deras röster över alla sidor de länkar till Om vi inte dividerade, skulle A få en enorm poängsumma (och sidor den länkar till en ännu större) Ostrukturerade På så sätt kan vi mäta hur populär en sida är, vilket är en av de faktorer som används för att rangordna sökresultat 21 / 33

innehåller någon kategorisering men är inte helt strukturerade Exempel: Wikipedia, Internet Movie Database Eftersom användare lägger in mycket av innehållet, kan struktur och kategorier variera Jämför (IMDB): Greta Garbo (1905 1990) Greta Lovisa Gustafsson was born in Stockholm, Sweden... Born: Greta Lovisa Gustafsson, September 18, 1905 in Stockholm, Stockholms län, Sweden Died: April 15, 1990 (age 84) in New York City, New York, USA Ingrid Bergman (I) (1915 1982) Ingrid Bergman was born in Stockholm, Sweden... Born: August 29, 1915 in Stockholm, Sweden Died: August 29, 1982 (age 67) in Chelsea, London, England, UK Strukturerade Ostrukturerade 22 / 33

Reguljära uttryck Varför? Strukturerade Om vi vill kunna beskriva mer komplexa textmönster, räcker det inte alltid med booleska operatorer Antag t.ex. att vi i en stor textsamling vill hitta alla postnummer som börjar med 112 alla epost-adresser till Uppsala universitet I sådana sammanhang är reguljära uttryck användbara. Ostrukturerade 23 / 33

Reguljära uttryck Vad är det? Ett reguljärt uttryck är en kompakt beskrivning av ett formellt språk, dvs. en mängd strängar över ett alfabet Reguljära uttryck kan användas för att söka efter förekomster av dessa strängar De kallas reguljära uttryck därför att de endast kan beskriva s.k. reguljära språk Detta betyder att de inte kan användas för alla typer av strängar, t.ex. strängar med matchande parenteser (lika många höger- som vänsterparenteser) Reguljära uttryck innehåller ingen språkkunskap men kan användas för att söka efter strängar i naturligt språk Strukturerade Ostrukturerade 24 / 33

Reguljära uttryck Populära verktyg Strukturerade Många unix/linux-verktyg (grep, sed,... ), textredigerare (emacs, vi,... ) och programspråk (Python, Java,... ) inbegriper reguljära uttryck Implementationerna är tillräckligt effektiva för att söka igenom stora textfiler men inte hela webben De olika verktygen skiljer sig åt med avseende på syntax och vilka typer av reguljära uttryck de stöder Ostrukturerade 25 / 33

Reguljära uttryck Syntax Reguljära uttryck består av strängar av tecken c, A100, naturligt språk, 30 år! disjunktion/union: vanlig disjunktion: slukade åt, centr(um a) teckenklasser: [Dd]en, karakt[eä]ristisk intervall: [A-Z] (stora bokstäver från A till Z) negation: [ˆa] (vilket tecken som helst utom a) [ˆA-Z0-9] (inte en stor bokstav eller siffra) Strukturerade Ostrukturerade 26 / 33

Reguljära uttryck Syntax räknare optionalitet:? symp?tom noll eller flera: * (Kleene-stjärna) [0-9]* år ett eller flera: + [0-9]+ kronor joker för vilket tecken som helst:. karakt.ristisk tillåter vilket tecken som helst mellan karakt och ristisk specialtecken: tecken med en särskild betydelse (*, +,?, (, ),, [, ]) måste föregås av bakvänt snedstreck (\) punkt (.) anges t.ex. som \. Strukturerade Ostrukturerade 27 / 33

Strukturerade (= get regular expression) är ett kraftfullt och effektivt program för att söka genom textfiler med hjälp av reguljära uttryck Det finns som standard på Unix, Linux och Mac OS, och det finns diverse porteringar till Windows Den version av grep som stöder fulla reguljära uttryck kallas egrep (= extended grep) Ostrukturerade 28 / 33

Exempel med grep Antag att vi har en (stor) textfil f.txt. Då kan vi matcha strängar av tecken egrep och f.txt matchar och, Bloch, Ekochoklad osv. teckenklasser: egrep år [0-9][0-9][0-9][0-9] f.txt matchar år 1523, år 1812, år 2001 osv. specialtecken: egrep vad\? f.txt matchar vad? men egrep vad? f.txt matchar vad och va Strukturerade Ostrukturerade 29 / 33

Exempel med grep disjunktion ( ): egrep kniv gaffel f.txt matchar kniv eller gaffel gruppering med parenteser: egrep o(interess engag)erad f.txt matchar ointresserad eller oengagerad joker (.): egrep ö.a f.txt matchar öra, öga, ösa osv. Strukturerade Ostrukturerade 30 / 33

Exempel med grep) Kleene-stjärna (*): egrep nee*j f.txt matchar nej, neej, neeej osv. Minst ett (+): egrep ne+j f.txt matchar nej, neej osv. men inte nj Optionalitet (?): egrep elisabeth? f.txt matchar elisabet och elisabeth Strukturerade Ostrukturerade 31 / 33

Korpusar En korpus är en samling text (eller andra språk) Lingvister och språkteknologer har skapat digitala korpusar bestående av tidningstext, skönlitteratur och andra typer av text Storleken varierar från några tusen ord till flera miljarder Exempel British National Corpus (BNC) en korpus på ca 100 miljoner ord bestående av många olika typer av skriven och talad brittisk engelska European Parliament Proceedings Parallel Corpus 1996 2003 (Europarl) är en flerspråkig parallell korpus med protokoll från EU-parlamentet Stockholm-Umeå Corpus (SUC) är en korpus på ca 1 miljon ord med skriven svenska i olika genrer Strukturerade Ostrukturerade 32 / 33

Korpussökning Många korpusar har online-verktyg för sökning Dessa sökverktyg stöder ofta reguljära uttryck för avancerad sökning Dessutom kan man ofta söka på annoterade språkliga kategorier, t.ex. ordklass SUC och andra svenska korpusar finns på Språkbanken Hemsida: http://spraakbanken.gu.se/ Sökverktyg: Korp Strukturerade Ostrukturerade Parallella korpusar finns i OPUS Hemsida: http://opus.lingfil.uu.se/ Sökverktyg: Corpus Query Workbench 33 / 33