420 likes | 687 Views
מנועי חיפוש. כמה עובדות. בשנת 1993 היו ברשת 130 אתרים בלבד כיום יש יותר מ-4 מיליארד דפים בכל יום מתווספים כ 7.3 מיליון דפים לרשת ( Cyveillance August 2001 ). מנועי חיפוש הם הדרך למצוא את המידע. התפתחות האינטרנט כלל משתמשי אינטרנט. מספר משתמשים (מיליונים). שנה. Nua Survey, Aug. 2001.
E N D
כמה עובדות... • בשנת 1993 היו ברשת 130 אתרים בלבד • כיום יש יותר מ-4 מיליארד דפים • בכל יום מתווספים כ 7.3 מיליון דפים לרשת (Cyveillance August 2001) מנועי חיפוש הם הדרך למצוא את המידע
התפתחות האינטרנטכלל משתמשי אינטרנט מספר משתמשים (מיליונים) שנה Nua Survey, Aug. 2001 http://www.nua.ie/surveys/
מהו מנוע חיפוש ? • כלי המאפשר למשתמשים להכניס מילות מפתח כדי להשיג אינפורמציה דרך אתרים ברשת המכילים קטלוג או מסד נתונים. • כלים כמוGoogle , Alta Vista או Yahooמורצים ע"י תוכנת מנוע חיפוש המאפשרת גישה למסד הנתונים. • לא קיים מנוע חיפוש המחפש מידע בכל הרשת
סוגי מנועי חיפוש • ניתן לסווג את מנועי החיפוש לשני סוגים עיקריים: • מנועי חיפוש (Search Engines) • חיפוש ספריות / אינקסים (Search Directories or Indexes) כאשר אומרים "מנוע חיפוש" מתכוונים לאחד משני הנ"ל.
מנועי חיפוש (Search Engines) • תוכנה אוטומטית הסורקת את הרשת (web) ואוספת עמודים שיכללו במסד הנתונים / הקטלוג שלה. • כשמשתמש מבצע שאילתה, החיפוש מתבצע בקטלוג / מסד הנתונים ולא בכלל הרשת. • לכל מנוע חיפוש יש את אוסף האתרים הייחודי שלו , כך שחיפוש זהה, במנועי חיפוש שונים, יניב תוצאות שונות.
חיפוש ספריות / אינדקסים (Search Directories or Indexes) • איסוף האתרים וסיווגם לקטלוגים בספריות / אינדקסים מתבצע ע"י בני אדם. • האתרים נאגרים ולאחר מכן הם מסווגים לקטגוריה המתאימה. • חלק מהספריות אינן מתייחסות לתוכן ,כאשר דפים מתוספים אליהן. • ספריות אחרות אוספות ומדרגות נתונים. • ישנן ספריות הכוללות הערות המתארות את תכולתן.
הערכת תוצאות החיפוש • המטרה : מנוע חיפוש בעל רמת דיוק גבוהה התוצאות הרצויות בעמוד הראשון. • הערכה מתבצעת באמצעות מדדים סטטיסטים. • דוגמא : "Richardson Richmond Football" • תוצאה טובה : • מכילה את כל 3 המילים • תדירות הופעתן בדף גבוהה (TF – term frequency) • יתכן כי לכל מילה יהיה משקל חשיבות שונה. • זהו מדד IDF (Inverse Document Frequency) • פונקצית דירוג סטטיסטית נפוצה המשלבת רעיונות אלו Okapi
מס' ה"לא מכילים" מס' ה"מכילים" פונקציתOkapi BM25 למציאת IDF • Q – ביטוי המכיל T מילים • k1, b, k3 פרמטרים קבועים • tf שכיחות המונח במסמך • qtf שכיחות המונח בשאילתה • N מס' המסמכים • nמספר המסמכים המכילים את המילה • dl אורך המסמך • avdl ממוצע אורך המסמך • פונקצית הדירוג מדרגת את תוצאות החיפוש בהתאם ל: • מס' הפעמים שמילה מופיעה במסמך • מספר המסמכים המכילים את המונח • אורך המסמך
דרכים חילופיות להערכת התוצאות • Google משתמשים בשיטת Page Rank הנותנת ציון גבוה לדף, אם הוא מקושר למקור מוסמך. • משוב רלוונטי הוא טכניקה שמוסיפה מילים לשאילתה אם המשתמש בחר באופציה “more like this” • חיפוש בקטגוריה או לפי סיווג מסוים כדי לצמצם את תחום החיפוש
3 מרכיבי מנוע החיפוש • Spider, Crawler or Robot • Index, Catalog or Database • Search Engine Software
חלק 1 - Spider • נקרא גם crawler או robot. • תוכנית ש"מסתובבת" ברשת • נכנסת לאתרים • קוראת את הדפים • עוקבת אחר קישורים אל תוך האתר. • ה"עכביש" חוזר לאתרים לעיתים תכופות, לשם עדכון שוטף של האינדקס.
חלק 2 - האינדקס • נקרא גם קטלוג או מסד נתונים • האינדקס מכיל העתק של כל עמוד שמצא ה"עכביש". • עמוד שנמצא ע"י העכביש (“Spidered Page") חייב לקבל אינדקס כדי שיוכל להוות תוצאת חיפוש.
כיצד עובד האינדקס ? • האינדקס מכיל 2 מרכיבים עיקריים • אוצר מילים השמור בזיכרון, בו ניתן לערוך חיפוש. לכל מילה שמור IDF ופוינטר לרשימה הופכית למילה. • רשימה הופכית בדיסק ששומרת את אוסף אוצר המילים • הרשימה כוללת , בין השאר : • term frequency – תדירות המונח בכל מסמך TF
כיצד עובד האינדקס ? (המשך) cat 3: 1, 2, 7 Inverted Lists In Memory Vocabulary (hash table) Cat in the hat Document Collection Mapping Table Disk Memory
חלק 3 – תוכנת מנוע החיפוש • תוכנה זו מסננת את העמודים באינדקס בכדי למצוא התאמה למילות החיפוש בשאילתה ולהחזיר תוצאות/פגיעות.
ארכיטקטורה של מנוע חיפוש הרשימות ההופכיות מפוזרות בין מספר שרתים (servers) כל שרת נקרא shard • כשיש צורך ברשימה ספציפית ובמסמך ספציפי לתחום מילים מסוים ,מתחברים לשרתים הרלוונטים • כל שרת יכול להיות מועתק לפי הצורך המסמכים עצמם מפוזרים בין מס' שרתים גם כן.
רלוונטיות התוצאות • כיצד מנוע החיפוש מחליט מהם העמודים הרלוונטים לחיפוש ? • כל מנועי החיפוש משתמשים בצורה זו או אחרת בשיטת ה"מיקום / תדירות“) location/frequency method) • מילות מפתח המופיעות בכותרת (מיקום) • מילות מפתח בקרבה לראש העמוד – כותרות, פסקאות ראשונות (מיקום) • תדירות הופעת מילות המפתח ביחס להופעת מילים אחרות בעמוד (תדירות) • META tags שמקודדים ב html של העמוד.
כיצד יש לבצע חיפוש מוצלח ? • הכנת רשימת מילות מפתח • הכרת כללי ה syntax הלוגים במנוע החיפוש • ביצוע חיפוש זהה, במס' מנועי חיפוש שונים • הערכת התוצאות/פגיעות המתקבלות
חיפוש תמונות ומולטימדיה • "תמונה שווה יותר מאלף מילים" • אם מצליחים למצוא אותה..... • לכן, יש צורך לבנות מנוע "חכם" שיעמוד בשתי דרישות: • סיפוק דרך ידידותית למשתמש להגדיר שאילתות מורכבות • תמיכה בחיפושים מותאמים למשתמש
Internet Image Libraries Crawler = Spider Content-based Feature Extractor Collaborative Image Annotator Indexer Content-based Search Engine Perception-based Search Engine Text-based Search Engine User Interface
תודה ! The End
Content-based Feature Extractor • אוסף מאפינים תפיסתיים בתמונה, מבינהם: • צבע • 12 צבעי בסיס (שחור, לבן, אדום, • צהוב, ירוק, כחול, חום, סגול, ורוד, • כתום ,אפור ומסגרת ) • 9 מאפיניים (היסטוגרמת הצבע, • ממוצע ושונות מבחינת HSV (2X3), • elongationופיזור ( • סה"כ 9X12 = 108 אפשרויות צבע. • צורה -
Content-based Feature Extractor (2) Content-based Feature Extractor • מרקם • ממיין על פי 3 אספקטים : מואזן, מאונך ואלכסון. • 4 מאפיינים ( ממוצע, שונות , elongation ופיזור) • סה"כ 12 מאפיינים לכל אחד מהם coarse, medium & fine מרקם סה"כ 36 אפשרויות מרקם • השליפה צריכה להיות יעילה : • קצרה בזמן • מדויקת בתוצאות
Collaborative Image Annotator • מילות מפתח של תמונה מגיעות ממס' מקורות: • טקסט שמופיע לצד התמונה • שם הקובץ • פירושים ידניים (manual annotation) • פירוש ראשוני עלול להיות חסר או לא מדויק. • וקטור של מילים (יער, נמר, שמים...) • כלי זה אוסף משוב מהמשתמש, כך שדיוק הפירוש הידני עולה עם הזמן (יער :0.1, נמר :0.9, שמים :0.7..) • ע"י אלגוריתם CBSA - Content Based Soft Annotation
Collaborative Image Annotator • אלגוריתם CBSA : • אוסף משובים כדי לספק פירוש תמונה מלוטש יותר. • שלב א' – הגדלת מספר מילות המפתח לתמונות ללא תווית ע“י מסווגי תמונה. • שלב ב' – שיפור איכות הפירוש ע"י משוב למידה אקטיבית. • כל תמונה מקבלת בסופו של התהליך וקטור של מילות מפתח כאשר כל מילת מפתח מקבלת ערך.
Content-based Search Engine • המנוע שולח שאילתה ובה דוגמת תמונה שבחר המשתמש אל מסד הנתונים של התמונות. • במסד הנתונים, מוצא המנוע את כל התמונות הרלוונטיות • על סמך קריטריונים כמו צבע, מרקם וצורה. • המכשול.. לא תמצאנה תמונות עם דמיון סמנטי. • פתרון לכך יתנן ע"י הPerception-based Search Engine
שאילתה לפי דוגמא שימושית מאד כאשר המשתמש • רק רוצה תמונה שנראית דומה לזו שבדוגמא
Perception-based Search Engine • זהו לב ליבה של הארכיטקטורה. • המנוע לומד את שיטות החיפוש של המשתמש בדומה ללימוד משתנה בינארי. • תמונה רלוונטית תסומן ב- 1 והשאר ב- 0. • הלימוד נעשה בצורה איטרטיבית, בעזרת המשתמשים. • אלגוריתם של למידה • MEGA( Maximizing Expected Generalization Algorithm ) • SVM • שילוב – Pipeline Learning
MEGA • אלגוריתם המוצא דוגמאות רלוונטיות של תמונות בזריזות, לאתחול תהליך ה "query concept learning " • : K-CNFעבור קבוע K מכילה נוסחה בוליאנית מהצורה :c1 c2… cθ • כאשר כל ci הוא חיתוך של k xים לכל היותר, מתוך המערך (x1, x2..,xn ) • כאשר כל x מציין תכונה. • DNF–K : עבור קבוע K מכילה נוסחה בוליאנית מהצורה :c1 c2… cθ • כאשר כל ci הוא איחוד של k xים לכל היותר, מתוך המערך (x1, x2..,xn ) • כאשר כל x מציין תכונה. • התוצאה הסופית תהיה יותר גנרית מ K-CNF ויותר ספציפית מ K-DNF • למעשה MEGA משמש ל : • השמת גבולות לתחום הדוגמאות שמתקבל • מקסימיזציה לשימושיות הדוגמאות (גם דוגמא שקבלה ציון שלילי מהמשתמש יכולה להועיל)
SVM • אלגוריתם המבצע ליטוש מהיר של תחום הדוגמאות שמתקבל, כך שהאובייקטים העונים על דרישות המשתמש יבודדו ויופרדו מתוך מערך הנתונים במסד הנתונים. • בהינתן מערך { Xn…X1,} של וקטורי מידע, ובהינתן וקטור תוויות { Yn…Y1,} כאשר{-1,+1} Yi. • f(t) = ni=1 iK(xi,t) ,{X1,…Xn} t • K(u,v) =(u) * (v) • 1+ יתקבל עבור f(x) 0 ו 1– אחרת.
SVM • SVM נזקק לערך אחד ,לפחות עם + וערך אחד, לפחות עם – כדי להתחיל את האלגוריתם. • האלגוריתם פועל ע“י שילוב 3 רעיונות : • חלוקת מרחב מסד הנתונים לתמונות רלוונטיות ותמונות "לא-רלוונטיות". • לימוד מהיר של הסיווג, החלק האקטיבי של SVM בוחר את המקרים שמספקים את המידע המרבי מהם "לומד" המסווג. כך שמובטחת המרה מהירה של ה "query concept learning " במינימום חזרות. • SVM מחזיר את top- k התמונות הרלוונטיות.
Pipeline Learning • שילוב MEGA ו SVM • MEGA אינו דורש אתחול ספציפי, והוא מסוגל להחזיר מילות מפתח ראשוניות בזריזות. • נבצע אתחול לתהליך החיפוש ע"י MEGA • כאשר יש בידינו מספר תמונות רלוונטיות שלב השיפורים יעשה בצורה מיטבית ע"י SVM.
רשימת מילות מפתח • זהה את הרעיונות המרכזיים בנושא החיפוש. • ערוך רשימת מילות מפתח לכל רעיון (כולל מילים נרדפות ושינויי כתיב). • קבע את הקשרים הלוגים בין מילות המפתח השונות • שלום and בטחון : +שלום + בטחון • שלום not בטחון : +שלום-בטחון • שלום or בטחון
הכרת כללי ה syntax • לכל מנוע חיפוש יש קונספט לוגי המאפשר למשתמש לחפש בקטלוג שבו. • מנועי חיפוש מסוימים משתמשים בלוגיקה בוליאנית : • and, or, not, but not • לוגיקה בוליאנית מיושמת גם באמצעות אופרטורים , כמו : • – +, -, “ ” • ידיעת הלוגיקה בה משתמש מנוע החיפוש חשובה לקבלת התוצאות האופטימליות.
הכרת כללי ה (2)syntax • Match All – (AND+) • התוצאה חייבת לכלול את כל מילות החיפוש. • Match Any – (OR) • התוצאה חייבת לכלול לפחות אחת ממילות החיפוש. • Exclude – (NOT-) • התוצאה חייבת לא לכלול אף אחת ממילות החיפוש.
הערכת התוצאות/פגיעות המתקבלות • נקודות שיש לשים לב אליהם : • מיהו יוצר האתר ? ולאיזו מטרה ? • מיהו קהל היעד ? • האם האתר מכיל מידע מדויק ושימושי ? • מתי האתר עודכן לאחרונה ? האם המידע המבוקש רגיש לזמן ?