מדעי החיים והרפואה מדעים מדוייקים וטכנולוגיה מדעי החברה מדעי הרוח

מנקים את המאגרים

חוקרים פיתחו אלגוריתמים שמגלים שגיאות במאגרי נתונים

כיצד ארגונים – כגון בתי חולים, בנקים, אוניברסיטאות, משרדים ממשלתיים וגופי תקשורת – יכולים לאחסן כמויות אדירות של מידע ולשלוף מהן נתונים בעת הצורך? האתגר בניהול נתוני עתק (“ביג דאטה”) במסדי נתונים הפך לעניין מרכזי בטכנולוגיית מידע. מסד נתונים הוא אוסף מאורגן של נתונים (מידע) שמאוחסן אלקטרונית במערכת ממוחשבת ונשלט לרוב על ידי מערכת ניהול שמתבססת על אלגוריתמים לעיבוד נתונים ושליפתם. באמצעותה אפשר להזין את הנתונים, לערוך, לעדכן, לתחזק ולשלוף אותם בעת הצורך.

מה השאלה?
כיצד אפשר לסייע לארגונים לשמור כמויות מידע אדירות ולשלוף מהן נתונים אמינים?

כיום כל ארגון, כל גוף שמחזיק מידע, משתמש במסד נתונים. המשתמשים מגדירים למערכת הניהול את הנתונים הקיימים (למשל פרטים אישיים של מטופלים ואנשי צוות, תחומי התמחות של רופאים, פריטי ציוד רפואי ומספר החדרים בכל מחלקה) ומבצעים שאילתות (לדוגמה: מהו תחום ההתמחות ותעודת זהות של רופא, אילו מטופלים קיבלו טיפול מסוים, ובאיזה טיפול עסוק כל רופא בכל רגע נתון). בנוסף, מוגדרים אילוצים שמסייעים לארגן ולנהל את המידע (לדוגמה, לכל מטופל/ת יש שנת לידה הגיונית ויחידה ולפחות רופא אחד אחראי, וכל רופא רשום במערכת ונמצא בטיפול יחיד בכל יחידת זמן). כך מונעים הזנה לא עקבית של מידע ומפחיתים את הסיכוי לשגיאות. כאשר נוצרות שגיאות (למשל מספר ת”ז שמופיע פעמיים) – מערכת הניהול מתריעה על כך.

קיימים כמה מודלים למסדי נתונים, שמבטאים סוגי קשרים שונים בין הנתונים. המודל הנפוץ ביותר הוא המודל הטבלאי – שבו הנתונים מסודרים בטבלאות. כל טבלה מכילה מידע על ישות מסוימת (לדוגמה מטופלים) ויש בה רשומות / שורות. כל רשומה כוללת סדרה של  ערכים מסוימים (למשל מספר תעודת הזהות של המטופל/ת). כך כל משתמש במערכת יכול לגשת לנתונים בקלות יחסית, לנהל ולארגן אותם, ולשאול עליהם שאילתות בשפה פשוטה, מבלי שיצטרך להיות איש מחשבים מנוסה.

קבוצת המחקר בשטח

“המטרה המרכזית של מסדי נתונים היא לאפשר שפה חישובית שמייצגת נאמנה את המידע ומנגישה אותו למשתמש. למעשה מדובר במימוש של הלוגיקה המתמטית, יסודות מתמטיים מבוססים ועתיקים, במחשוב”, אומר פרופ’ בני קימלפלד מהפקולטה למדעי המחשב בטכניון, שחוקר ניהול מידע בארגונים ובתוך כך מסדי נתונים. במחקריו, הוא בודק כיצד אפשר לשמור מידע במסדי נתונים ולהשתמש בו ביעילות – למשל לשאול שאילתות, לחשב את התוצאה שלהן ולוודא שהיא עקבית.

כיום ארגונים עובדים עם כמויות מידע אדירות והסיכוי לחוסר עקביות במידע עולה בשל איסופו ישירות ממשתמשי קצה רבים וממקורות מידע נגישים באינטרנט כמו רשתות חברתיות, פרסומים מדעיים ואנציקלופדיות.

לכן, חוקרים בתחום מנסים לפתח שיטות מתקדמות לאיסוף ולשמירת מידע במערכות של מסדי נתונים, ובעיקר להתמודד עם השגיאות שעלולות להיווצר. כך ניסו לעשות גם פרופ’ קימלפלד וצוותו במחקרם האחרון, שזכה במענק מחקר מהקרן הלאומית למדע. לדבריו, “לעתים האילוצים מופרים וכך לא תמיד המידע מאורגן כמו שצריך ואף נוצרות בו שגיאות וסתירות. כך למשל, ייתכן מצב שבו שנת סיום דוקטורט של חוקר מופיעה פעמיים – פעם ב-2008 ופעם ב-2005, או שבמקום שם מחלקה מופיע שם מרפאה. יכול להיות שהמידע  מוכנס מראש עם שגיאות, על ידי המשתמשים, וייתכן שהשגיאות  מוכנסות בשל שיטות איסוף הנתונים הקיימות. לכן נדרשות שיטות מתקדמות לתיקון השגיאות והפרות האילוצים ולניקוי המידע. היכולת למדוד את חוסר העקביות במידע ולנקותו מאפשרת למדעני נתונים להעריך את איכותו, והמדידה צריכה להיות קלה לחישוב ולהיעשות בזמן סביר”.

המטרה המרכזית של מסדי נתונים היא לאפשר שפה חישובית שמייצגת נאמנה את המידע ומנגישה אותו למשתמש. למעשה מדובר במימוש של הלוגיקה המתמטית

כדי לבחון עד כמה המידע במסדי נתונים שגוי, סותר ולא עקבי ולתקנו, פיתחו החוקרים אלגוריתמים למדידת חוסר העקביות ולהטלת האחריות לשגיאות על רשומות שונות. אלגוריתמים אלה  מתבססים על כלים והגדרות מתחום הכלכלה, תורת המשחקים (ענף במתמטיקה שמנתח מצבי עימות או שיתוף פעולה בין מקבלי החלטות בעלי רצונות שונים), ומדעי הנתונים. החוקרים הטמיעו את האלגוריתמים הללו במערכות של מסדי נתונים – ואלו התייחסו לרשומות כאל סוכנים המשתפים פעולה ביצירת ערך מסוים, וכך הצליחו לגלות מיהן החשודות המרכזיות בגרימת השגיאות שנצפו במערכת.