NewsFinder! Översikt av presentationen: •Bakgrund •Idéförklaring •Programbeskrivning, funktioner •Utvärdering •Frågor.

Slides:



Advertisements
Liknande presentationer
Digitala portföljer Jonas Gustafsson ILU 15 december 2004
Advertisements

Snabbguide och tips.
3. Text Välkommen till övning 3. Här kommer du få lära dig bra grejer. Texthantering är något du bör kunna när du jobbar med Powerpoint. Det svåra är att.
Att förstå anonymiteten (översättning från
Träddiagram - ett sätt att ta fram aktiviteter och prioriteringar för hur man ska jobba med ett visst område.
Skriva för att lära – så gör du
Domarassistenten.com - en introduktion för domare
Libris som mobilapplikation • Målgrupp • Specifikt mobil • Relaterat till researchprocessen • Kan sträcka sig en bit in i framtiden • Smartphones.
Programmering B PHP Lektion 1
Prestandaanalys av JavaScript
AMED – Databas kring alternativmedicin artiklar ur 500 tidskrifter, främst europeiska Umeå universitetsbibliotek campus Örnsköldsvik Ann Ingberg Min fråga.
Den uppsats ni är på väg att skriva skall en vacker dag presenteras muntligt. I betygskriterierna för Svenska C står det att eleven, skall använda sig.
PC-teknik Repetition enligt önskemål som inkommit via mail. (täcker alltså inte alla moment i kursen)
Metoder i java Det finns två typer av metoder i java
2007 Microsoft Office System - Klienten Pontus Haglund Mid Market Solutions Specialist Microsoft AB.
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
Grundkurs i Internetsökning
WEBMASTER DAG 13 Mahmud Al Hakim
källkritik, referenser, akademisk hederlighet
i olika programmeringsspråk
En PowerPoint om PowerPoint
TIPS & RÅDAKUTEN av Lina och Johan. SÖKA, LAGRA och ÖVERFÖRA INFORMATION PÅ DATORN - SÅ KAN DU GÖRA!
Programmering B PHP Lektion 2
If you want to build a ship, don´t herd people together to collect wood and don´t assign them tasks and work, but rather teach them to long for the endless.
Workshop inför Projektet
Detection of similarity between documents Axel Bengtsson Ola Olsson
Källor! Hur gör man egentligen?
1. Uppgiften presenteras
Seminarium Omställningens tid ”Vart vill vi komma? Vad utmärker en hållbar framtid?”
XSLT – en introduktion Elektronisk publicering.
Internet Styrdatorer och kablar Uppkopplade användare Servrar 182.QRZN.
Frågor om elevinflytande till elever i åk 3 – 9 i grundskolan
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
MED RAMVERKET.NET Marcus Medina UTVECKLING. Dagens visdomsord ” För varje berg du bestiger se inte bara vad som ligger framför dig, titta ner och se vad.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
Dagens schema:  Gå igenom dagens schema  Snabb genomgång av föregående lektion  Diskutera öppna frågor – dela tankar  Dagens tre frågor som ska besvaras:
Undervisning i informationssökning vid ett program vid Linköpings universitet, Campus Norrköping Kajsa Gustafsson Åman Linköpings Universitetsbibliotek.
En utvecklingsmodell för (ingenjörs)utbildning Roger Renström.
Namnrum, räckvidd och rekursion Linda Mannila
XHTML & CSS Introduktion Erik Nahkala
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Topobase årsmöte 2009 Solna 3D Bakgrund Solna Stad beslut att på klienterna gå över till Vista (nov- dec) Autodesk Topobase 2 med 3D-data.
INTRODUKTION TILL PROGRAMMERING
Mathematics 1 /Matematik 1 Lesson 7 – complex numbers Lektion 7 – Komplexa tal.
KÄLLKRITIK & INFORMATIONSSÖKNING
Informationssökning Sociologi & Socialpsykologi C Magnus Olsson, Umeå UB Umeå Tjänste: magnus-olsson.
Windows Vista: Administration Maria Johansson 10 nyheter som gör livet som administratör lättare.
BVForum - en genomgång för revisorer Sören Thuresson.
Uppgift 5 Tekniska rapporten En beskrivning av ett uppdrag ni har gjort i er grupp. Du ska bifoga en programmeringshandledning som visar hur man programmerar.
Informatik C VT 2010 Informationssökning Magnus Olsson, Umeå UB Tel
1 Ingenjörsmetodik IT & ME 2007 Föreläsare Dr. Gunnar Malm.
Tidskrifts- och artikelsökning Sociologiprogrammet Term. 1 Forskning om välfärd och kultur Magnus Olsson, Umeå Universitetsbibliotek Umeå
ABB och Caterpillar 1 Marcus Larsson marla419. Problem CAT-ABB sour relationship: CAT felt ABB Turbo Systems held them hostage. In CAT:s view ABB dictated.
Procedurellt potpurri Dagens samtalsämnen –Klipp (Cut) –If-then-else –fail/0 –repeat/0 Att läsa –The Art of Prolog, kapitel 11 –Relevant avsnitt i Learn.
William Sandqvist Funktionsbibliotek När man utvecklat en funktion så långt att den är "färdigutvecklad" kan man lika gärna spara den på.
Frågor om elevinflytande till elever i åk 3 – 9 i grundskolan
XML, scheman och mappningar
1-1 Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1-1 Programmering 7.5 hp Programmering är... creativ, fascinerande, roligt,
APA American Psychological Association Föreläsning Göran Brante.
Från Webb 2:0 till Webb 3:0. WEBB 0 Webb 0 = ingen webb alls. Data kommunicerades med tal, skrift, tryckkonst samt analoga medier och så småningom elektroniska.
THINGS TO CONSIDER WHILE PLANNING A PARTY Planning an event can take an immense amount of time and planning. Even then, the biggest problem that arises.
STEPS TO FOLLOW FOR BECOMING A SHIP CAPTAIN A career as a ship captain can be a tedious task. Ship captains take care of business, navigation and operation.
Bringapillow.com. Online Dating- A great way to find your love! The words ‘Love’ and ‘Relationship’ are close to every heart. Indeed, they are beautiful!
Work of a Family law attorney Jagianilaw.com. A Family Law Attorney basically covers a wide range spectrum of issues that a family may face with difficulty.
Meeting singles had never been so easy before. The growing dating sites for singles have given a totally new approach to getting into relationships. ‘Singles.
DiVA-undervisning RISE 28 oktober 2016 Aina Svensson & Urban Ericsson
DiVA-undervisning Luleå tekniska universitet 20 maj 2016
Formal Languages, Automata and Models of Computation
You Must Take Marriage Advice to Stop Divorce! Dontgetdivorced.com.
DM-Q-48 Template eQuality - Defect found at parts from supplier
Presentationens avskrift:

NewsFinder! Översikt av presentationen: •Bakgrund •Idéförklaring •Programbeskrivning, funktioner •Utvärdering •Frågor

Bakgrund, RSS-dokument •Internet-sida som listar nyheter •Uppbyggd som en XML-sida (1.0) •Informationen beskrivs med hjälp av taggar •RSS betyder Really Simple Syndication ! Vad är ett RSS-dokument?

Bakgrund, RSS-dokument •Väldokumenterat, se adressen: •Skapades 1997 av Dave Winer på mjukvaruföretaget UserLand •Har exploderat på senare tid. 5% av amerikanska internetanvändare använder RSS för att få nyheter Vad är ett RSS-dokument? forts.

Bakgrund, RSS-dokument Liftoff News Liftoff to Space Exploration. en-us Tue, 10 Jun :00:00 GMT Weblog Editor 2.0 Star City How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia's <a href=" City</a>. Tue, 03 Jun :39:21 GMT Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a <a href=" eclipse of the Sun</a> on Saturday, May 31st. Fri, 30 May :06:42 GMT Exempel 1:

Bakgrund, RSS-dokument Nature Cell Biology Publishes papers of the highest quality from all areas of cell biology. Nature Publishing Group Phosphorylation-specific prolyl isomerization: is there an underlying theme? Gerburg Wulf, Greg Finn, Futoshi Suizu & Kun Ping Lu Nature Cell Biology 7, 435 (2005) Talin's second persona Talin is a core component of the integrin adhesion complex. It is now shown that talin also regulates transcription,an activity that is apparently independent of its interaction with integrins. Talin represses the expression of Drosophila elanogaster DE-cadherin through an unknown molecular mechanism. Nature Cell Biology 7, 443 (2005) Exempel 2, Nature Cell Biology:

Bakgrund, RSS-dokument

Bakgrund, Gene Ontology • •~18000 biologiska, cellulära och molekylära termer definierade och beskrivna, samt deras relationer mellan varandra. •Relationerna beskrivs med is_a-relationer: (om A is_a B och B is_a C så gäller även att A is_a C!) •Textfil på internet i OBO-formatet, finns även i XML-format

Bakgrund, Gene Ontology Snapshot (ur OBO-filen): [Term] id: GO: name: mitochondrion inheritance namespace: biological_process def: "The distribution of mitochondria\, including the mitochondrial genome\, into daughter cells after mitosis or meiosis\, mediated by interactions between mitochondria and the cytoskeleton." [PMID: , PMID: , SGD:mcc] is_a: GO: ! organelle inheritance is_a: GO: ! mitochondrion distribution [Term] id: GO: name: mitochondrial genome maintenance namespace: biological_process def: "The maintenance of the structure and integrity of the mitochondrial genome." [GO:ai] is_a: GO: ! mitochondrion organization and biogenesis [Term] id: GO: name: reproduction alt_id: GO: namespace: biological_process def: "The production by an organism of new individuals that contain some portion of their genetic material inherited from that organism." [GO:curators, ISBN: ] subset: goslim_generic subset: goslim_plant subset: gosubset_prok is_a: GO: ! development

Bakgrund, Gene Ontology Exempel

Idéförklaring! •Skriv ett program som låter användaren söka efter nyheter i RSS-dokumenten med ett nyckelord •Om nyckelordet finns beskrivet i Gene Ontology: utöka sökorden med alla subtermer till nyckelordet (dvs, alla termer som har en is_a-relation till nyckelordet)

Idéförklaring Syfte: Antag att användaren är intresserad av termen A. Om termen B är i is_a-relation till A så är användaren antagligen intresserad även av B! => Sökningens recall borde öka!

Idéförklaring Till exempel: Om en användare är intresserad av ”protein modification” är han/hon förmodligen intresserad även av: •”peptide cross-linking” •”protein amino acid deamination” •”enzyme active site formation” •”protein amino acid phosphorylation” … med flera. Så när användaren skriver in ”protein modification” letar programmet upp dessa andra termer, och söker efter nyheter som innehåller något av dessa termer.

Programbeskrivning •Programmet, som jag kallar NewsFinder, är skrivet i java. •Javakoden finns att hämta på: •För att köra programmet (i UNIX): Ladda ner jar-filen och packa upp med ”jar –xvf NewsFinder_1.1.jar” Kompilera koden med ”javac NewsFinder_1.1.jar” Starta programmet med ”java NewsFinder”

Programbeskrivning •NewsFinder är startklassen, innehåller det grafiska gränssnittet •GO läser av internet-ontologin och sparar en representaion av denna som en hashtabell. •NewsReader kopplar upp mot RSS-dokumenten och hämtar nyheterna •WordMatcher utökar användarens sökord, och matchar dessa mot nyheterna KlassbeskrivningUML-diagram

Programbeskrivning •Hur ska programmet läsa in Gene Ontology? Några klurigheter! Java har ett fördefinierat paket med regular expressions!  Precis som i Perl och Python, ”parsa” texten med hjälp av regular expression-objekt, och gruppera informationen man vill åt. Programkod: Pattern namePattern = Pattern.compile("name: (.+)"); Matcher nameFinder = namePattern.matcher(line); …. if (nameFinder.matches()) name = nameFinder.group(1); Gene Ontology: [Term] id:GO: name: mitochondrion inheritance ….

Programbeskrivning •… och på precis samma sätt vid inläsning av RSS-dokumenten: RSS-dokument: Phosphorylation-specific prolyl isomerization: is there an underlying theme? ….. Programkod: Pattern titlePattern = Pattern.compile(" (.+) "); Matcher titleFinder = titlePattern.matcher(line); … if (titleFinder.matches()) titleTemp = titleFinder.group(1);

Programbeskrivning •Hur ska Gene Ontology representeras? Fler klurigheter! Vill snabbt kunna komma åt alla subtermer till en term.  Använd en hashtabell! För varje term i Gene Ontology, skapa en motsvarighet i hashtabellen, med termens namn som nyckel och en lista som pekar på sub-termer som värde. Metoden som hämtar en terms subtermer kan då fungera rekursivt.

Programbeskrivning •Relationerna i GO är is_a-relationer, dvs ”uppåt-relationer”, men programmet vill ha relationerna åt andra hållet! Fler klurigheter!

Programbeskrivning Lös detta med en inläsningsalgoritm: 1.Läs in GO term för term, och för varje term gör ett entry i hashtabellen som innehåller en is_a-lista. 2.Gå sedan igenom hashtabellen, entry för entry. För varje entry, gå igenom dess is_a-lista. För varje is_a-term, skapa en subterm-länk mellan is_a-termen och den aktuella termen. Programmet kan sedan använda subterm-länkarna för att hitta en terms subtermer!

Programbeskrivning •Inläsningen och processandet av online- ontologin tar tid! En till klurighet! Ontologin förändras antagligen inte jättemycket vid varje uppdatering, så programmet behöver förmodligen inte läsa in en ny version varje dag  Spara GO-representationen i en fil efter inläsning, och läs in denna fil nästa gång programmet startar!

Programbeskrivning Det grafiska gränssnittet:

Programbeskrivning •Man kan utöka sökandet ännu mer, och låta programmet ta med alla GO-termer som ens sökord passar in i (minskar dock precisionen!) •Man kan även inkludera GO-definierade synonymer i sökningen •Man kan välja om sökningen ska ta hänsyn till stora eller små bokstäver •Man kan välja i vilka RSS-fält sökningen ska ske ( och eller Några funktioner

Programbeskrivning Det grafiska gränssnittet efter en sökning:

Utvärdering •Fungerar programmet som det är tänkt, med avseende på grundidén? •Fungerar tilläggsfunktionerna? •Hur påverkas precision och recall? •Hur kan programmet förbättras? •Hur kan man på ett systematiskt och rättvist sätt utvärdera programmets funktionalitet?

Utvärdering Några lyckade exempel:

Utvärdering Några lyckade exempel (synonym):

Utvärdering Några lyckade exempel (synonym + UNIX):

Utvärdering •Precision: hur stor andel av träffarna är relevanta? Antagligen oförändrat gentemot en vanlig sökning •Recall: hur stor andel av de relevanta artiklarna hittas? Antagligen (lite) bättre gentemot en vanlig sökning!

Utvärdering Dock: •Man har tyvärr inte jättestor nytta av programmet. Artiklarna innehåller oftast inte jättemånga GO-termer, och för artiklar som helt saknar GO-termer tillför inte programmet något. (trots att GO har termer!)

Utvärdering •Om man inte har så god kännedom om hur termerna i GO kan se ut är det ganska låg sannolikhet att ens sökord råkar vara en GO-term.  Oftast lättast att utgå från GO och därefter göra sökningen.

Utvärdering •Låta användaren välja vilka typer av GO- synonymer som ska tas med (finns 4 typer) •Tillåta att fler än en sök-sträng skrivs in •Tillåta boolesk sökning? •(tekniskt) Gör en applet av programmet så blir det enklare tillgängligt. Hur kan programmet göras bättre?

Utvärdering •Vid utökad sökning, låt användaren begränsa sig genom att använda is_a-relationer? T ex: ta med alla termer som innehåller ”DNA” men som dessutom är (is_a) ”DNA repair” Kanske kan precisionen på detta sätt ökas? Hur kan programmet göras bättre?

Utvärdering •Ja! Det borde finnas en tagg som beskriver vad varje nyhets-item handlar om! …och keywordsen får gärna vara GO- termer =) Kan RSS-sidorna göras bättre?

Utvärdering Hur kan man på ett systematiskt sätt bedöma programmets funktion? Min tanke: •Gå igenom RSS-dokumenten artikel för artikel. Se efter hur många GO-termer som (som sökord) skulle hitta den aktuella artikeln. Summera och dela med antalet artiklar.

Utvärdering •Detta utvärderingsskript har jag dock ännu ej skrivit. •Skriptet, och ev fler funktioner, jobbar jag vidare med i projektkursen! Intresserade åhörare kan få en kopia av den rapporten, när den är klar =)

Frågor! Min fråga till er: Har ni något förslag på hur programmet kan förbättras??