420 likes | 638 Views
מיפוי סכמות. עדי לובושיץ זהבית אזולאי. מיפוי סכמות – schema matching. סכמה = קבוצת אלמנטים המקושרים ע"י מבנה מסוים. מיפוי סכמות = schema match פעולה המקבלת כקלט שתי סכמות ומייצרת הקבלה בין אלמנטים של שתי הסכמות שמתאימים מבחינה סמנטית. דוגמה. ייצוג סכמה. מספר דרכים לייצוג סכמה
E N D
מיפוי סכמות עדי לובושיץ זהבית אזולאי
מיפוי סכמות – schema matching • סכמה = קבוצת אלמנטים המקושרים ע"י מבנה מסוים. • מיפוי סכמות =schema matchפעולה המקבלת כקלט שתי סכמות ומייצרת הקבלה בין אלמנטים של שתי הסכמות שמתאימים מבחינה סמנטית.
ייצוג סכמה מספר דרכים לייצוג סכמה • An Entity relationship model )ER( • An Object Oriented Model) OO( • XML • Directed Graph
תחומי יישום שילוב סכמות ( Schema integration) קלט: שתי סכמות מתחומים שונים או שנוצרו ע"י אנשים שונים בעלות טרמינולוגיה ומבנה שונים. מטרה: ליצור מבט(ייצוג) כללי(global view) של שתי הסכמות. מבט זה משלב את השדות של שתי הסכמות הנפרדות. • נעזרים במיפוי הסכמות כדי ליצור חיבור בין השדות השונים בסכמות. • במהלך השילוב או כשלב נפרד נוצרות תוכניות או שאילתות שמאפשרות העברת נתונים מסכמות המקור לייצוג המשולב. • לדוג': יצירת מחסן מידע(data warehouse) הוא סוג של שילוב סכמות.
תחומי יישום מסחר אלקטרוני(E-Commerce) החלפת הודעות בין שותפי מסחר כאשר הפורמט של ההודעות שונה ב syntax(XML,EDA) או הסכמות עצמן שונות. הפתרון: יצירת פורמט קבוע להתקשרות או לחלופין קישור בין הפורמטים השונים ע"י שילוב סכמות. לדוג' : הצעת מחיר של ספק ללקוח.
תחומי יישום עיבוד שאילתא סמנטית קלט: המשתמש מזין שאילתא במילים המוכרות לו מטרה: תרגום השאלה לשאילתת SQL על מסד הנתונים. משתמשים במיפוי סכמות לתרגום השאלה לשדות המתאימים. לדוג' : מערכת שאילתות למנהלים.
מאפייני אופרטור החיבור(Match) • תוצאת המיפוי היא פונקציה מקבוצת האלמנטים של סכמה 1 לקבוצת האלמנטים של סכמה 2. • שיטות המיפוי הן בד"כ היוריסטיות. • כל אלמנט מסכמה 1 יכול לקבל מיפוי ליותר מאלמנט אחד בסכמה 2.
מימוש המיפוי • אנו מניחים כי המימוש של מיפוי הסכמות משתמש בייצוג פנימי אחיד של הסכמות • כלים המשתמשים במימוש זה יצטרכו להמיר את ייצוג הסכמה שלהם( XML,UML וכו' ) לייצוג של המימוש • אלגוריתם המיפוי תלוי בסוג הנתונים שהוא מנתח ולא בצורת הייצוג שלהם.(הסבר מפורט בהמשך) • המימוש קובע מועמדים למיפוי והמשתמש יכול : לקבל,לדחות או לשנות אותם.
מימוש המיפוי 2 • תוכנות שמבצעות מיפוי סכמות משתמשות במספר ממפים (Matchers). • לכן יש שתי בעיות: • כיצד עובד כל ממפה יחיד(קלט, פלט, אלגוריתם). • כיצד משלבים בין כל הממפים, כדי ליצור מיפוי אחד כולל בין שתי הסכמות. על מנת לאפשר השוואה בין תוצאות המיפוי, תוצאת המיפוי של כל שדה חייבת להיות מספר מנורמל בין 0 ל-1.
קריטריונים למיפוי • נסווג את הממפים האינדיבידואליים עפ"י הקריטריונים הבאים: • Instance vs schema • Element vs structure matching • Language vs constraint • Matching cardinality • Auxiliary information
Schema level matchers • משתמש במידע המצוי בסכמה ולא במידע עלדוגמאות למילוי ערכים בשדות הסכמה(instances): • תיאור השדה המוצג למשתמש(description) • שם השדה במערכת • סוג המידע(data type) • הגבלות על נתוני השדה(טווח וייחודיות ערכים, שדה אופציונלי?,קרדינליות קשרי הגומלין) • מבנה הסכמה(על המסך) • סוגי קשרים מבניים בין שדות הסכמה.(part of, is a)
Schema level matchersGranularity of Match • ניתן לבצע את מיפוי הסכמה בשתי רמות: • רמת האלמנטים הבודדים Element level • רמת המבנה Structure level
Element level matching • מיפוי האלמנטים ברמה הנמוכה ביותר, השדות של הסכמה. return
Structure level matching • מיפוי קבוצות של אלמנטים הנראים כשייכים למבנה אחד.
Schema level matchersMatchCardinality • יש לזהות את סוג הקשר בין אלמנטים בשתי הסכמות שהממפה מסוגל להגדיר. לדוגמא: אלמנט 1 מסכמה 1 מתחבר מבחינה סמנטית לחיבור של שני אלמנטים מסכמה 2.
מיפוי בעזרת שפה מיושם רק ברמת האלמנט. נציג שתי שיטות למיפוי בעזרת שפה. מיפוי לפי שמות(Name matching)Name matching מיפוי לפי תיאורים(Description matching)Description matching Linguistic Approaches
Name matching • מחברת אלמנטים בין הסכמות בעלי שמות שווים או דומים. • דמיון ניתן לבדוק בכמה דרכים: • שמות שדות שווים- במקרה זה יש לבדוק שהשדות נמצאים תחת תווית דומה במסמך(מושג).לדוג':
Name matching • קיצורים של שדות - לדוג' : Cname->Customer Name • מילים נרדפות , מחייב שימוש במילון מילים נרדפות • מילת אב – מילות אב של אלון הן עץ וצמח, מחייב שימוש במילון. • דמיון עפ"י שמיעה,הגייה. • התאמה שסיפק המשתמש.לדוג' : קניין = הוזמן ע"י • הערה: מילים שיש להן משמעות כפולה עלולות להפיל מיפוי עפ"י שמות. לדוג' : line of business,line of an order שורה בהזמנה לעומת תחום עסקים return
Description matching הערות בשפה חופשית המביעות את משמעות השדה, לדוג' : empn // employee Name Name // name of employee
Constraint based matching • שימוש בהגבלות על הנתונים בשדות השונים. • הגבלות הקיימות על שדות: • סוג נתונים(integer , string, date) • טווח ערכים • ייחודיות הערך(uniqueness) • מפתחות(primary,foreign) • אופציונליות שימוש בשיטה זו לא מביא למיפוי יעיל בהכרח אך מצמצם בצורה משמעותית את השדות המיועדים להתאמה.
שילוב מספר ממפים בשיטות שונות • כל אחת מהשיטות שהראינו מנצלת רק חלק מהמידע בסכמה, לכן לא תוכל להגיע לבדה למיפוי המוצלח ביותר האפשרי. • שילוב של ממפים בשתי שיטות שונות יכול להביא לתוצאות טובות יותר. • ישנן שתי אפשרויות לשילוב ממפים בשיטות שונות: • Hybrid matcher- הכלאת שיטות • Composite matcher –חיבור שיטות
Hybrid matchers • כדי לבצע מיפוי של אלמנט אחד מסכמה 1 לאלמנט שני מסכמה 2 שיטה זו משתמשת בשילוב הנתונים של שני ממפים שונים. • הכלאת השיטות משפרת את יעילות(דיוק ומהירות) המיפוי ע"י סינון מועמדים למיפוי בעזרת שיטה אחת(מהירה אך פחות מדויקת) ואח"כ ביצוע המיפוי הסופי בעזרת שיטה אחרת(פחות מהירה אך יותר מדויקת).
Hybrid matchersexample לדוגמא: S1 elements S2 elements Books Book- int title – string Books list serial no. – int Book name – string Author – string מיפוי בעזרת name matcher יביא למיפוי בעל ערך דומה של השדה book והשדה title מ- S1 לשדה Book name ב- S2. שילוב של תוצאה זו עם constraint matcher יביא להורדת ציון המיפוי של השדה book לשדה book name.
Composite matchers • הרצה נפרדת של ממפים בשיטות שונות ושילוב התוצאה שנותן כל אחד מהם כדי לקבל את המיפוי המדויק ביותר. • לדוגמא: Ontobuilder – מריץ מספר ממפים ולאחר מכן מאחד את התוצאות עפ"י המשקל שניתן לכל ממפה.
Instance level approaches • שימוש בדוגמאות נתונים שהוכנסו לשדות שתי הסכמות כדי למצוא מיפוי אופטימלי. • טוב גם למקרים בהם חסר מידע על הסכמה לדוג' : סכמה מובנית חלקית,מסמך XML לא מובנה(קיימים רק שמות השדות כתגיות והערכים שלהם) • ניתן ליישם את אותן שיטות להשוואת שדות, המשמשות ב- Name & Description matching • לשדות המכילים ערכים מספריים או מחרוזות ניתן להשתמש בהשוואת טווחי הנתונים או תבנית התווים(אורך, אותיות קטנות-גדולות,תווי הפרדה וכו' ), יאפשר זיהוי שדות כמו: מספר טלפון, מיקוד, שמות מדינות.
Instance level approaches • שיטה זאת טובה לשיפור יעילות מיפוי של ממפים בשיטות הקודמות. • ניתן להשתמש בשיטה כממפה יחיד: נבצע למידה של דוגמאות למילוי המושגים בסכמה 1 כדי לאפיין את צורת הנתונים במושגים אלו. לאחר מכן משווים את הערכים שמולאו בכל מושג של סכמה 2 כדי לזהות התאמה בין מושג זה לאחד או יותר מהמושגים בסכמה 1.
Bayesian Learning • מיפוי של דוגמא חדשה לאחד מהמושגים בסכמה 1 שלמדנו נקרא classification. • נסמן: • c – סיווג אפשרי לדוגמה(מושג בסכמה 1) • D – קבוצת הערכים שנכללים בדוגמה • P(c) – ההסתברות שדוגמה תסווג למושג c לפני ידיעת הדוגמה. • P(D) – ההסתברות לקבלת דוגמה D.
Bayesian learning • מיפוי של הדוגמה יעשה למושג שיקיים את התנאי: לכל מושג בסכמה 1. P(c|D) – ההסתברות למיפוי למושג c בהינתן דוגמה D. לפי נוסחת בייס: • בגלל ש – P(D) משותף לכל הסיווגים האפשריים ניתן להשמיט אותו. • דוגמה D מכילה את הערכים ולכן מתקבלת הנוסחה:
Bayesian learning בהנחה שקיימת אי תלות בין הערכים שמולאו בדוגמא D. מתקבלת הנוסחה הבאה: • הנחה זו הנה הנחה מפשטת אך למרות זאת הוכח שביצועי השיטה טובים מביצועי שיטות למידה אחרות. • דוגמה: קיימת תלות בין המוצר ג'ינס לבין צבעו בסכמה שמייצגת הזמנת רכש של חנות בגדים.
כיצד מתבצעת הלמידה? • נסתכל על כל דוגמאות המילוי של סכמה 1. • = מספר הפעמים שהערך הופיע בדוגמאות שסווגו ל- לחלק למספר הערכים שסווגו ל – . • P(c) = מספר המושגים מסכמה 1 שסווגו למושג c לחלק לכלל המושגים בסכמה 1. • נשמור את ההסתברויות P(c|D) לכל המושגים בסכמה 1.
כיצד מתבצע המיפוי? • את ההתאמה בין שני מושגים A ו B מסכמות 1ו-2 בהתאמה נבצע בעזרת פונקצית דמיון. • פונקצית הדמיון תהיה שונה בהתאם למיפוי הנדרש. • דוגמאות:כדי לחפש פרופסור חבר בארה"ב אנו נרצה שההתאמה בין פרופסור חבר למרצה בכיר תקבל את ערך הדמיון הגבוה ביותר.ולכן פונקצית הדמיון תהיה: Jacob-sim(A,B)=
כיצד מתבצע המיפוי? • לעומת זאת אם לא ידוע המעמד באוסטרליה של הפרופסור מארה"ב נרצה שההתאמה בין פרופסור חבר לצוות אקדמי תקבל ערך דמיון גבוה. • כדי לחשב הסתברויות אלו אנו צריכים לדעת את ההסתברויות האלו: P(A,B),P(A,-B),P(-A,B),P(-A,-B) • P(A,B)-הסיכוי שדוגמה תופיע בשדה A וגם בשדה B .
כיצד מחשבים את P(A,B) ? • P(A,B) = מספר הדוגמאות ששייכות גם ל- A וגם ל- B מתוך כלל הדוגמאות . • בהינתן דוגמה D מסכמה 2 השייכת למושג B. אנו יודעים שדוגמה זו שייכת למושג B , לכן נשאר לדעת האם היא שייכת למושג A. • לפי ההסתברויות P(A|D) שחושבו קודם נוכל לקבוע לאיזה מושג לסווג את הדוגמה D לאחד או יותר מהמושגים של סכמה 1. • ע"י מעבר על כל הדוגמאות ששייכות למושג B נמצא את כל הדוגמאות ששייכות גם ל-A וגם B ונעריך את P(A,B) • את ההסתברויות P(A,-B),P(-A,B),P(-A,-B)נעריך באותו אופן.
סיכום • הצגנו את בעיית מיפוי הסכמות • ראינו שימושים שונים למיפוי סכמות • ראינו שיטות שונות לביצוע מיפוי סכמות • הראינו כיצד מתבצע מיפוי בעזרת דוגמאות, ע"י למידה בייסינית (bayesian learning)