מבוא לאחזור מידע Information Retrieval בינה מלאכותית אבי רוזנפלד מהי אחזור מידע? • חיפוש אחרי מידע באינטרנט – הרב ד"ר גוגל ((?BING – תחום מחקר פורח וחשובה... • חיפוש אחרי מידע רלוונטי מתוך הרבה מקורות (אתרים ,תמונה ,וכו') Copyright © Victor Lavrenko Hopkins IR Workshop 2005 מה ההבדל בין שאילתות ?בבסיסי נתונים ואחזור מידע בסיסי נתונים Data Structured (key) Clear semantics Fields (SSN, age) Defined (relational Queries algebra, SQL) Exact (results are Matching always “correct”( Hopkins IR Workshop 2005 Copyright © Victor Lavrenko אחזור מידע Unstructured (web) No fields (other than text) Free text )“natural language”(, Boolean Imprecise (need to measure effectiveness) מערכת המידע של אחזור מידע Document corpus IR System Query String Ranked Documents 4 1. Doc1 2. Doc2 3. Doc3 . . שלבים למנוע חיפוש • בניית המאגר מידע )(Document Corpus – – – – Web crawler ניקיון המידע מכפילותSTEMMING , תדירות המילים חשיבות המילים – Td/IDF • בניית האנדקסים (לאנדקס )Index • בניית התשובה – עיבוד השאלתה (הורדת )STOP WORDS – דירוג תוצאות ()PAGERANK • ניתוח התוצאות – FALSE NEGATIVE /FALSE POSITIVE – Recall / Precision בניית הINDEX דוגמאות – שימו לב לזמן ומספר התוצאות! זחלן רשת Web Crawler / – Identifies and acquires documents for search engine – http://en.wikipedia.org/wiki/Web_crawler • • • • • זחלן רשת הוא סוג של בוט או תוכנה שסורקת באופן אוטומטי ושיטתי את ה.WWW מדיניות של בחירה אשר מגדירה איזה עמוד להוריד. מדיניות של ביקור חוזר אשר מגדירה מתי לבדוק שינויים בדפים. מדיניות נימוס אשר מגדירה איך להימנע מעומס יתר של אתרים ולגרום להפלה של השרת. מדיניות של הקבלה אשר מגדירה איך לתאם בין הזחלנים השונים. דחיסה-- ניקיון המידע • Text is highly redundant (or predictable) • Compression techniques exploit this redundancy to make files smaller without losing any of the content • Compression of indexes covered later • Popular algorithms can compress HTML and XML text by 80% – e.g., DEFLATE (zip, gzip) and LZW (UNIX compress, PDF) – may compress large files in blocks to make access faster רעש-- ניקיון המידע • Many web pages contain text, links, and pictures that are not directly related to the main content of the page • This additional material is mostly noise that could negatively affect the ranking of the page • Techniques have been developed to detect the content blocks in a web page – Non-content material is either ignored or reduced in importance in the indexing process Noise Example Example Web Page Example Web Page ניקיון המידע – מציאת מידע חשוב • Tokenizer recognizes “words” in the text – Must consider issues like capitalization, hyphens, apostrophes, non-alpha characters, separators • Markup languages such as HTML, XML often used to specify structure and metatags – Tags used to specify document elements – E.g., <h2> Overview </h2> – Document parser uses syntax of markup language (or other formatting) to identify structure דירוג הנתונים • מידע סטטיסטי של המסמכים – מספר הפעמים שמילים הופיעו ,מיקום במסמך • משקל למילים – tf.idf weight – שילוב של התדירות של מילה במסמך ובכל המאגר Zipf חוק • יש התפלגות לא נורמאלית למלים בשפה )– הרבה מילים מופיעים הרבה (ואפילו רוב הזמן = מילים שמופיעים הרבה ולכן לא חשוביםStopwords – בחיפוש e.g., two most common words (“the”, “of”) make up – about 10% of all word occurrences in text documents • Zipf’s “law”: – observation that rank (r) of a word times its frequency (f) is approximately a constant (k) • assuming words are ranked in order of decreasing frequency – i.e., r.f k or r.Pr c, where Pr is probability of word occurrence and c 0.1 for English Zipf’s Law tf*idf weighting schema • tf = term frequency – frequency of a term/keyword in a document The higher the tf, the higher the importance (weight) for the doc. • df = document frequency – no. of documents containing the term – distribution of the term • idf = inverse document frequency – the unevenness of term distribution in the corpus – the specificity of term to a document The more the term is distributed evenly, the less it is specific to a document weight(t,D) = tf(t,D) * idf(t) 18 דוגמא • נניח שהמילה exampleהופיע 3פעמים בתוך מסמך א' מתוך 4מסמכים – – – – ( Tf= 3במסמך הזה) Idf = 1/0.25= 4 Tf*idf=12 מה יקרה אם המילה מופיע בכל מסמך? • מה יהיה ה)3( ?tf*idf • יש כמה וריאציות איך לחשב tfו( idfכמו ב )LOGאבל זה הכי פשט • נשתמש בו בתוך התרגיל Stopwords / Stoplist • function words do not bear useful information for IR of, in, about, with, I, although, … • Stoplist: contain stopwords, not to be used as index – – – – – Prepositions Articles Pronouns Some adverbs and adjectives Some frequent words (e.g. document) • The removal of stopwords usually improves IR effectiveness • A few “standard” stoplists are commonly used. 20 Top 50 Words from AP89 Stemming • Reason: – Different word forms may bear similar meaning (e.g. search, searching): create a “standard” representation for them • Stemming: – Removing some endings of word computer compute computes computing computed computation comput 22 Stemming • Generally a small but significant effectiveness improvement – can be crucial for some languages – e.g., 5-10% improvement for English, up to 50% in Arabic Words with the Arabic root ktb Stemming • Two basic types – Dictionary-based: uses lists of related words – Algorithmic: uses program to determine related words • Algorithmic stemmers – suffix-s: remove ‘s’ endings assuming plural • e.g., cats → cat, lakes → lake, wiis → wii • Many false negatives: supplies → supplie • Some false positives: ups → up Porter algorithm (Porter, M.F., 1980, An algorithm for suffix stripping, Program, 14(3) :130-137) • Step 1: plurals and past participles – SSES -> SS – (*v*) ING -> caresses -> caress motoring -> motor • Step 2: adj->n, n->v, n->adj, … – (m>0) OUSNESS -> OUS callousness -> callous – (m>0) ATIONAL -> ATE relational -> relate • Step 3: – (m>0) ICATE -> IC triplicate -> triplic • Step 4: – (m>1) AL -> – (m>1) ANCE -> revival -> reviv allowance -> allow • Step 5: – (m>1) E -> probate -> probat – (m > 1 and *d and *L) -> single letter controll -> control 25 N-Grams • Frequent n-grams are more likely to be meaningful phrases • N-grams form a Zipf distribution – Better fit than words alone • Could index all n-grams up to specified length – Much faster than POS tagging – Uses a lot of storage • e.g., document containing 1,000 words would contain 3,990 instances of word n-grams of length 2 ≤ n ≤ 5 עוד שיטות... • דירוג לפי ( n-gramאוסף של מילים באורך )n • דירוג לפי סוג המילה (פעולה ,שם עצם וכו') – )POS( Part of Speech Google N-Grams • Web search engines index n-grams • Google sample: • Most frequent trigram in English is “all rights reserved” – In Chinese, “limited liability corporation” דירוג תוצאות • Early IR focused on set-based retrieval – Boolean queries, set of conditions to be satisfied – document either matches the query or not • like classifying the collection into relevant / non-relevant sets – still used by professional searchers – “advanced search” in many systems • Modern IR: ranked retrieval – free-form query expresses user’s information need – rank documents by decreasing likelihood of relevance – many studies prove it is superior Hopkins IR Workshop 2005 Copyright © Victor Lavrenko