איחזור מידע חלק א

‫מבוא לאחזור מידע‬
‫‪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