Presentation laddar. Vänta.

Presentation laddar. Vänta.

Hur lagras informationen. (hög nivå) Hur accessar man informationen

Liknande presentationer


En presentation över ämnet: "Hur lagras informationen. (hög nivå) Hur accessar man informationen"— Presentationens avskrift:

1 Hur lagras informationen? (hög nivå) Hur accessar man informationen? (användarnivå) -

2 Biologiska databanker
Biologiska databanker biologisk data i elektronisk format exempel: SWISS-PROT, EMBL, DDBJ, PDB, GENBANK, KEGG, ACEDB används dagligen i forskningen

3 Biologiska databanker
Biologiska databanker Forsknings- resultat Modell Frågor Svar Databank Fysiska databanken Databank- hanterings- system behandling av frågor/uppdateringar Access till lagrad data

4 1 tgctacccgc gcccgggctt ctggggtgtt ccccaaccac ggcccagccc tgccacaccc
1 tgctacccgc gcccgggctt ctggggtgtt ccccaaccac ggcccagccc tgccacaccc 61 cccgcccccg gcctccgcag ctcggcatgg gcgcgggggt gctcgtcctg ggcgcctccg 121 agcccggtaa cctgtcgtcg gccgcaccgc tccccgacgg cgcggccacc gcggcgcggc 181 tgctggtgcc cgcgtcgccg cccgcctcgt tgctgcctcc cgccagcgaa agccccgagc 241 cgctgtctca gcagtggaca gcgggcatgg gtctgctgat ggcgctcatc gtgctgctca 301 tcgtggcggg caatgtgctg gtgatcgtgg ccatcgccaa gacgccgcgg ctgcagacgc 361 tcaccaacct cttcatcatg tccctggcca gcgccgacct ggtcatgggg ctgctggtgg 421 tgccgttcgg ggccaccatc gtggtgtggg gccgctggga gtacggctcc ttcttctgcg 481 agctgtggac ctcagtggac gtgctgtgcg tgacggccag catcgagacc ctgtgtgtca 541 ttgccctgga ccgctacctc gccatcacct cgcccttccg ctaccagagc ctgctgacgc 601 gcgcgcgggc gcggggcctc gtgtgcaccg tgtgggccat ctcggccctg gtgtccttcc 661 tgcccatcct catgcactgg tggcgggcgg agagcgacga ggcgcgccgc tgctacaacg 721 accccaagtg ctgcgacttc gtcaccaacc gggcctacgc catcgcctcg tccgtagtct 781 ccttctacgt gcccctgtgc atcatggcct tcgtgtacct gcgggtgttc cgcgaggccc 841 agaagcaggt gaagaagatc gacagctgcg agcgccgttt cctcggcggc ccagcgcggc 901 cgccctcgcc ctcgccctcg cccgtccccg cgcccgcgcc gccgcccgga cccccgcgcc 961 ccgccgccgc cgccgccacc gccccgctgg ccaacgggcg tgcgggtaag cggcggccct 1021 cgcgcctcgt ggccctacgc gagcagaagg cgctcaagac gctgggcatc atcatgggcg 1081 tcttcacgct ctgctggctg cccttcttcc tggccaacgt ggtgaaggcc ttccaccgcg 1141 agctggtgcc cgaccgcctc ttcgtcttct tcaactggct gggctacgcc aactcggcct 1201 tcaaccccat catctactgc cgcagccccg acttccgcaa ggccttccag ggactgctct 1261 gctgcgcgcg cagggctgcc cgccggcgcc acgcgaccca cggagaccgg ccgcgcgcct 1321 cgggctgtct ggcccggccc ggacccccgc catcgcccgg ggccgcctcg gacgacgacg 1381 acgacgatgt cgtcggggcc acgccgcccg cgcgcctgct ggagccctgg gccggctgca 1441 acggcggggc ggcggcggac agcgactcga gcctggacga gccgtgccgc cccggcttcg 1501 cctcggaatc caaggtgtag ggcccggcgc ggggcgcgga ctccgggcac ggcttcccag 1561 gggaacgagg agatctgtgt ttacttaaga ccgatagcag gtgaactcga agcccacaat 1621 cctcgtctga atcatccgag gcaaagagaa aagccacgga ccgttgcaca aaaaggaaag 1681 tttgggaagg gatgggagag tggcttgctg atgttccttg ttg

5 DEFINITION Homo sapiens adrenergic, beta-1-, receptor
DEFINITION Homo sapiens adrenergic, beta-1-, receptor ACCESSION NM_000684 SOURCE ORGANISM human REFERENCE 1 AUTHORS Frielle, Collins, Daniel, Caron, Lefkowitz, Kobilka TITLE Cloning of the cDNA for the human beta 1-adrenergic receptor REFERENCE 2 AUTHORS Frielle, Kobilka, Lefkowitz, Caron TITLE Human beta 1- and beta 2-adrenergic receptors: structurally and functionally related receptors derived from distinct genes

6 Entity-relationship protein-id source PROTEIN accession definition m
protein-id source PROTEIN accession definition m Reference n title ARTICLE article-id author

7 Hur lagras informationen? (hög nivå) Hur accessar man informationen? (användarnivå) struktur precision Text (IR) Semistrukturerad data Datamodeller (DB) Regler + Fakta (KB)

8 Innehåll Text: filmodell, formell modell, konceptuella modeller (boolesk, vektor) Databaser: Relationsdatabaser, Objektorienterade databaser Semistrukturerad data Kunskapsbaser

9 Text - Information Retrieval (IR)
Text - Information Retrieval (IR) sökning baseras på ord konceptuella modeller: boolesk, vektor, probabilistisk, … filmodell: flat fil, inverterad fil, ...

10 IR - Filmodell: inverterad fil
IR - Filmodell: inverterad fil inverterad fil anslagningsfil dokumentfil DOC# WORD HITS LINK LINK DOCUMENTS Doc1 adrenergic 32 1 5 Doc2 cloning 53 1 2 receptor 22 5

11 IR - Filmodell: inverterad fil
IR - Filmodell: inverterad fil kontollerad vokabulär (eng. controlled vocabulary) stoplista stamning (eng. stemming)

12 IR - formell beskrivning
IR - formell beskrivning IR modell: (D,Q,F,R) D är en mängd av dokumentrepresentationer Q är en mängd av frågor F är ett ramverk för dokumentrepresentationer, frågor och deras samband R tilldelar ett dokument-fråga-par ett reellt tal (rankning)

13 IR - konceptuella modeller
IR - konceptuella modeller Klassikt IR Boolesk Vektormodellen (Probabilistisk)

14 Booleska modellen dokumentrepresentation cloning adrenergic receptor
Booleska modellen dokumentrepresentation cloning adrenergic receptor Doc1 Doc2 (1 1 0) (0 1 0) yes no -->

15 Booleska modellen frågor : boolesk (and, or, not)
Booleska modellen frågor : boolesk (and, or, not) Q1: cloning and (adrenergic or receptor) frågor översätts till disjunktiv normalform (DNF) DNF: disjunktion av konjunktioner av ord med eller utan ‘not’ Regler: not not A --> A not(A and B) --> not A or not B not(A or B) --> not A and not B (A or B) and C --> (A and C) or (B and C) A and (B or C) --> (A and B) or (A and C) (A and B) or C --> (A or C) and (B or C) A or (B and C) --> (A or B) and (A or C)

16 Booleska modellen Q1: cloning and (adrenergic or receptor)
Booleska modellen Q1: cloning and (adrenergic or receptor) --> (cloning and adrenergic) or (cloning and receptor) DNF kompletteras + översätts till samma representation som dokumenten (cloning and adrenergic) or (cloning and receptor) --> (cloning and adrenergic and receptor) or (cloning and adrenergic and not receptor) or (cloning and receptor and adrenergic) or (cloning and receptor and not adrenergic) --> (1 1 1) or (1 1 0) or (1 1 1) or (0 1 1) --> (1 1 1) or (1 1 0) or (0 1 1)

17 Booleska modellen adrenergic cloning receptor Doc1 Doc2 yes no yes no
Booleska modellen adrenergic cloning receptor Doc1 Doc2 yes no yes no --> (1 1 0) (0 1 0) Q1: cloning and (adrenergic or receptor) --> (1 1 1) or (1 1 0) or (0 1 1) Resultat: Doc1 Q2: cloning and not adrenergic --> (0 1 0) or (0 1 1) Resultat: Doc2

18 Booleska modellen Fördelar
Booleska modellen Fördelar baserad på en intuitiv och enkel formell modell (mängdteori och boolesk algebra) Nackdelar binära beslut - ett ord är relevant eller inte - ett dokument är relevant eller inte, ingen partiell matchning

19 Booleska modellen adrenergic cloning receptor Doc1 Doc2 yes no yes no
Booleska modellen adrenergic cloning receptor Doc1 Doc2 yes no yes no --> (1 1 0) (0 1 0) Q3: adrenergic and receptor --> (1 0 1) or (1 1 1) Resultat: tom

20 Vektormodellen (förenklad)
Vektormodellen (förenklad) Doc1 (1,1,0) cloning receptor adrenergic Doc2 (0,1,0) Q (1,1,1) sim(d,q) = d . q |d| x |q|

21 Vektormodellen Introducerar vikter i dokumentvektorerna (t.ex. Doc3 (0, 0.5, 0)) Vikterna representerar hur viktigt en term är för beskrivningen av ett dokuments innehåll Vikterna är positiva reella tal Om en term inte förekommer i dokumentet, då är vikten = 0

22 Vektormodellen Doc1 (1,1,0) cloning Doc3 (0,0.5,0) Q4 (0.5,0.5,0.5)
Vektormodellen Doc1 (1,1,0) cloning receptor adrenergic Doc3 (0,0.5,0) Q4 (0.5,0.5,0.5) sim(d,q) = d . q |d| x |q|

23 Vektormodellen Hur definierar man vikterna? tf-idf dj (w1,j, …, wt,j)
Vektormodellen Hur definierar man vikterna? tf-idf dj (w1,j, …, wt,j) wi,j = vikten för term ki i dokument dj = fi,j x idfi

24 Vektormodellen Hur definierar man vikterna? tf-idf
Vektormodellen Hur definierar man vikterna? tf-idf term frequency freqi,j: hur ofta förekommer term ki i dokument dj? normaliserad term frequency: fi,j = freqi,j / maxl freql,j

25 Vektormodellen Hur definierar man vikterna? tf-idf
Vektormodellen Hur definierar man vikterna? tf-idf document frequency : i hur många dokument förekommer term ki? N = totala antalet dokument ni = antal dokument i vilka ki förekommer inverse document frequency idfi: log (N / ni)

26 Vektormodellen Hur definierar man vikterna för en fråga?
Vektormodellen Hur definierar man vikterna för en fråga? rekommendation: q= (w1,q, …, wt,j) wi,q = vikt för term ki i fråga q = ( fi,q) x idfi

27 Vektormodellen Fördelar - termviktning förbättrar sökprestanda
Vektormodellen Fördelar - termviktning förbättrar sökprestanda - partiell matchning - rankning enligt likhet Nackdel? - antagande att termerna förekommer oberoende av varandra

28 IR - effektivitetsmått
IR - effektivitetsmått Precision = antal hittade dokument som är relevanta antal hittade dokument Recall = antal relevanta dokument

29 IR - mått Relevanta dokument i svarsmängden |RA| Precision =
IR - mått Relevanta dokument i svarsmängden |RA| Precision = |RA| / |A| Recall = |RA| / |R| Relevanta dokument |R| Svarsmängden |A|

30 Databaser Relationsdatabaser: - modell: tabeller + relationsalgebran
Databaser Relationsdatabaser: - modell: tabeller + relationsalgebran - frågespråk (SQL) Objektorienterade databaser: - modell: fortlevande object, meddelande, inkapsling, ärvning - frågespråk (t.ex. OQL) System: GDB (R), ACEDB (OO)

31 Relationsdatabaser PROTEIN ACCESSION SOURCE DEFINITION
PROTEIN ACCESSION SOURCE DEFINITION Homo sapiens adrenergic, beta-1-, receptor NM_000684 human PROTEIN-ID 1 REFERENCE ARTICLE-ID 2 ARTICLE-AUTHOR Human beta 1- and beta 2-adrenergic receptors: structurally and functionally related receptors derived from distinct genes ARTICLE-ID TITLE Cloning of the cDNA for the human beta 1-adrenergic receptor ARTICLE-TITLE 1 2 ARTICLE-ID AUTHOR 1 2 Frielle Collins Daniel Caron Lefkowitz Kobilka

32 SQL select source from protein where accession = NM_000684; PROTEIN
SQL select source from protein where accession = NM_000684; PROTEIN ACCESSION SOURCE DEFINITION Homo sapiens adrenergic, beta-1-, receptor NM_000684 human PROTEIN-ID 1

33 SQL select title from protein, article-title, reference
SQL select title from protein, article-title, reference where protein.accession = NM_000684 and protein.protein-id = reference.protein-id and reference.article-id = article-title.article-id; REFERENCE PROTEIN-ID ARTICLE-ID 1 2 PROTEIN ACCESSION SOURCE DEFINITION Homo sapiens adrenergic, beta-1-, receptor NM_000684 human PROTEIN-ID 1 ARTICLE-TITLE Human beta 1- … ARTICLE-ID TITLE Cloning of the … 1 2

34 Objekt-Orienterade Databaser (OODB)
Objekt-Orienterade Databaser (OODB) Världen modelleras m.h.a. objekt. Ett objekt har ett tillstånd (värde) och ett beteende (operationer). fortlevande (eng. persistent) objekt - permanent lagring (ibland tillåts även kortvariga (eng. transient) objekt)

35 Objekt Ett objekt har en objektidentifierare (OID) som inte är synlig för användaren. OIDn kan inte ändras objekt versus värde (ett värde har ingen OID) objektstrukturen kan vara godtyckligt komplex (atom, tuple, set, list, bag, array)

36 Exempel - objekttillstånd
Exempel - objekttillstånd o1(id1, tuple, <accession: NM_000684, source : human, definition: ’Homo sapiens adrenergic …’, reference: o2>) o2(id2, set, {o3,o4}) OBS: Dessa exempel använder inte någon standardsyntax

37 Exempel - objekttillstånd
Exempel - objekttillstånd o3(id3, tuple, <title: `Cloning of …’, author: o5 >) o4(id4, tuple, <title: `Human beta-1 …’, author: o6 >) o5(id5, list, [Frielle, Collins, Daniel, Caron, Lefkowitz, Kobilka]) o6(id6, list, [Frielle, Kobilka , Lefkowitz, Caron])

38 set list list ”Homo sapiens adrenergic, beta-1-, receptor” human
”Homo sapiens adrenergic, beta-1-, receptor” human NM_000684 SOURCE ACCESSION DEFINITION REFERENCE AUTHOR set AUTHOR TITLE TITLE ”Human beta-1 …” list list Frielle ”Cloning of …” Frielle Collins Kobilka Daniel Caron Lefkowitz Lefkowitz Caron Kobilka

39 Klasser define class protein type tuple ( accession: string;
Klasser define class protein type tuple ( accession: string; source : string; definition: string; reference: set(article); ); operations create-protein(string,string,string,set(article)): protein; get-accession: string; get-source: string; get-definition: string; get-references: set(article); add-reference(article): void; end protein;

40 Klasser define class article type tuple ( title: string;
Klasser define class article type tuple ( title: string; author: list(string); ); operations create-article(string, list(string)): article; get-title string; get-authors: list(string); print-article-info string; end article;

41 Exempel program program variables: article1, article2, protein1; begin
Exempel program program variables: article1, article2, protein1; begin article1 := create-article(’Cloning….’, list(Frielle, Collins, Daniel, Caron, Lefkowitz, Kobilka)); protein1 := create-protein(NM_000684, human,’Homo sapiens adrenergic …’, set(article1)); article2 := create-article(’ Human beta-1….’, list(Frielle, Kobilka , Lefkowitz, Caron]); protein1.add-reference(article2); end;

42 Operationer inkapsling: operation = gränssnitt + kropp
Operationer inkapsling: operation = gränssnitt + kropp - gränssnitt: hur anropar man operationen? vad ger operationen som resultat? > synlig för användaren, används i program - kropp: hur implementeras operationen? > osynlig för användaren program baseras på skickandet av meddelande (eng. message passing)

43 Ärvning journal-article subtype-of article:
Ärvning journal-article subtype-of article: journal-name journal-volume page-numbers journal-article ärver alla attribut och operationer från article och har även journal-name, journal-volume och page-numbers som attribut human-protein subtype-of protein (source = ’human’)

44 Operator overloading Man kan använda samma operatornamn för olika implementationer exempel: print-article-info för article skriver ut information om titel och författare. print-article-info för journal-article skriver ut information om titel och författare men även om tidskriftens namn, volym och sidonummer.

45 Frågespråk OQL select … from … where select distinct … from … where
Frågespråk OQL select … from … where select distinct … from … where iteratorvariabler väguttryck (eng. path expressions) struct

46 Frågor select o.source from o in protein
Frågor SOURCE ACCESSION NM_000684 human select o.source from o in protein where o.accession = NM_000684;

47 Frågor select struct (accession: o.accession, source: o.source)
Frågor select struct (accession: o.accession, source: o.source) from o in protein where Frielle in (select a.author from a in o.reference); NM_000684 human ACCESSION SOURCE REFERENCE set AUTHOR AUTHOR Frielle Frielle

48 Frågespråk OQL OQL tillåter även: vyar aggregering
Frågespråk OQL OQL tillåter även: vyar aggregering speciella operationer för list och array (first, last, nth) order-by group-by

49 Semistrukturerad data
Semistrukturerad data data som är ej enbart text, men som inte är så välstrukturerad som data i databaser förekommer ofta i webbdatabanker och när man vill integrera databanker system: Genbank, OMIM

50 Semistrukturerad data -egenskaper
Semistrukturerad data -egenskaper oregelbunden struktur strukturen är implicit strukturen är partiell ’data guide’ och schema stora data guides

51 Semistrukturerad data -egenskaper
Semistrukturerad data -egenskaper man ska kunna ignorera data guide vid frågor data guide utvecklas snabbt objekt kan ändra tillhörighet av typ/klass skillnaden mellan data och data guide försvinner

52 Semistrukturerad data - modell
Semistrukturerad data - modell nätverk av noder objektmodell (oid) fråga: vägsökning i nätverket (’path search’)

53 ”Homo sapiens adrenergic, beta-1-, receptor” human NM_000684
”Homo sapiens adrenergic, beta-1-, receptor” human NM_000684 ACCESSION SOURCE DEFINITION REFERENCE REFERENCE TITLE AUTHOR TITLE AUTHOR AUTHOR Frielle AUTHOR ”Human beta-1 …” Collins AUTHOR ”Cloning of …” AUTHOR AUTHOR Daniel AUTHOR AUTHOR Caron AUTHOR Lefkowitz Kobilka

54 Frågor select source where accession = NM_000684;
Frågor NM_000684 human select source where accession = NM_000684; SOURCE ACCESSION My-protein select reference.title where accession = NM_000684; TITLE ”Cloning of …” REFERENCE ACCESSION NM_000684 ”Human beta-1 …” My-protein

55 Frågor select source where accession = NM_000684; select #p.title
Frågor NM_000684 human select source where accession = NM_000684; SOURCE ACCESSION My-protein select #p.title where accession = NM_000684; TITLE ”Cloning of …” REFERENCE ACCESSION NM_000684 ”Human beta-1 …” My-protein

56 Kunskapsbaser ofta baserad på en logik
Kunskapsbaser ofta baserad på en logik svarsmekanism baserad på en inferensmekanism kunskapsbaser kan ofta lagras i primärminne användbar vid ontologier

57 Kunskapsbaser (F) source(NM_000684, Human)
Kunskapsbaser (F) source(NM_000684, Human) (R) source(P?,Human) => source(P?,Mammal) (R) source(P?,Mammal) => source(P?,Vertebrate) Q: ?- source(NM_000684, Vertebrate) A: yes Q: ?- source(x?, Mammal) A: x? = NM_000684

58 Litteratur Information Retrieval Databaser Semistrukturerad data
Litteratur Information Retrieval * Baeza-Yates, R., Ribeiro-Neto, B., Modern Information Retrieval, Addison-Wesley, 1999. Databaser * Elmasri, R., Navathe, S., Fundamentals of database systems, 4th edition, Addison Wesley, 2004. Semistrukturerad data * Abiteboul, S., ‘Querying semi-structured data’, Proceedings of the Sixth International Conference on Database Theory, LNCS 1186, pp 1-18, 1997. (* = ingår helt eller delvis i kurslitteraturen, se kurshemsidan)


Ladda ner ppt "Hur lagras informationen. (hög nivå) Hur accessar man informationen"

Liknande presentationer


Google-annonser