Skip to content
ibrahimsh edited this page Dec 3, 2014 · 2 revisions

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

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

תיאור הבעייה : אחרי קבלת המידע שמכיל מילות מפתח המתארות את הספרים בספריה האם יהייה אפשרות לבנות מאוסף של מילות מפתח מבנה ידע שמכיל היררכיה וקשרים בין מילות מפתח "אנתולוגיה" ? אחרי שהצלחנו לבנות מבנה אנתילוגיה האם תהייה שימושית לחיפושים חכמים על אוסף של הספרים הגדול ולגלות כל הקשרים בין הספרים או המושגים הרבים ? למשל חיפוש ספרים רלוונטים על עץ או מושג . רשימת הנושאים שמקבלים היא לא אחידה -> דוגמה אני מנשים לחפש על ספר בשם object oriented דרך אתר הספרייה הליאומית http://aleph3.libnet.ac.il:8080/vufind/Search/Results?lookfor=object+oriented&type=AllFields&submit=מצא אז מקבלים רישמה ענקית של ספרים שמכילים את מילת מפתח object oriented

אם בוחרים אחד הקישורים שהם בשם object oriented נקבל רשימת נושאים ארוכה

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

• הערה מתוך אוסף המידע הארוך נזהה את המילים שחוזרות על אותו נושא ונאחד אתם ונשאיר שורה אחד וגם המילים שיש בהם טעות בכתב או בדקדוק וכו.. נמחוק אותם. רוצים לאחד בין "Object-oriented programming " לבין ” 240.6 object- oriented software design" . האם שיחשב אותו קודקוד באנתולוגיה .

האם יספיק להשתמש בביטוים רגולרים, או ב edit distance  או האם נדרש לעבוד עם כלים של עיבוד שפות טבעיות?
איך נבצע בדיקה על המערכת ? 
הבעיות הם גם יצוג ידע ומימושים 

תיאור הבעייה בהנדסת תוכנה :  מסגרת מחקרית, אבל נדרש ממשק להצגת המידע ולשלוף את המידע דרכו, כלים להצגת אונטולוגיה.  צריך לבדוק איך יראו את הנתונים באיזה צורה צרייך להציג אותם נשתמש למשל ב שיטת של RDF\OWL , ולדאוג היפה לאחסן את הנתונים האם צרייך למצו מקום חיצוני לאחסן את המידע כמו SOLR או פנימי למשל מסד נתונים מובנה במערכת עצמה.  צריך להשתמש באלגוריתמים שונים ולממש אותם למשל אלגוריתם של התאמת בין מחרוזות .  צריך להשתמש בכלים להצגת אנתולוגיה , הכירות עם API כדי לעבוד עם אנתולוגיה .  האם צרייך להתחבר למבנה של www.freebase.org אם כן למה ואיך ? תיאור פתרון מוצע :  נתחיל בשיטות פשוטות של מחרוזת,התאמה בין מחרוזות, edit distance ועוד, ואז ננסה להבין איך נראית היררכיה, ייצוג המידע יהייה בשיטת xml' rdf/owl.  Edit Distance : היא שיטה להגדרת איך שתי מרוזות או מילים שונות אחד לשניה על ידי ספירת המספר המינימלי של הפועולות הנדרשות לשינוי אחד לתוך השניה , היא שיטה למצו ישומים בתחום עיבוד שפות טבעיות , שבו יהייה תיקון אוטומטי יכול לקבוע תיקון למילה שגויה על ידי בחירת מילות ממילון כאשר יש מרחק נמוך למילה שמדברים על .יש כמה דרכים להפעלת מרחק עריכה על שתי מילים על ידי שימוש אלגוריתם מיוחד לבדיקת מרחק עריכה  Insertion of a single symbol. If a = uv, then inserting the symbol x produces uxv. This can also be denoted ε→x, using ε to denote the empty string.  Deletion of a single symbol changes uxv to uv (x→ε).  Substitution of a single symbol x for a symbol y ≠ x changes uxv to uyv (x→y). *דוגמאות :

  1. kitten → sitten (substitution of "s" for "k")
  2. sitten → sittin (substitution of "i" for "e")
  3. sittin → sitting (insertion of "g" at the end).

איך עשינו את התיקון בדוגמאות למעלה דרך השלושלה שיטות שהגדרנות למעלה .

 יצוג מידע ב OWL ו RDF : OWL היא שיטה להצגת המידע על סמך XML  נרצה לבחור שפת תוכנות לתכנן את הממשק ו לתרגם את הרעיון משלב רעיון לשלב מעשי שימושי  (יש כמה שפות תוכנה קיימות כמו java ,c++,C# ,C, python,… ) יש הכוונה לבחור את ה python צרייך ללמוד את השפה זו קודם .

השוואה לפתרונות בספרות :

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

Resource Description Framework –RDF : היא אבן הבניין של הרשת הסמנטית. זוהי שפה הבנויה ממשפטים קצרים המבטאים את הקשרים בין אובייקטים. למשל, ניתן להגדיר מי כתב קטע מסוים, האם הוא מתייחס למקום פיזי כלשהו, האם מופיעים בו אנשים או מקומות וכדומה. RDFS הם הכללים אשר בעזרתם מגדירים באילו קטגוריות (Classes) ויחסים בין אובייקטים לקטגוריות (Properties) ניתן להשתמש. מסמך המבוא ל-RDF Primer ,RDF, מגדיר את מהם RDF ו-RDFS ומדגים כיצד להשתמש בטכנולוגיות אלו.

OWL : היא שפה להגדרת אוצרות מילים (Vocabularies and Dictionaries’). בעזרת OWL ניתן להגדיר לוגיקה וקשרים בין אובייקטים ולאפשר למחשב הסקה מתקדמת על המידע.

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

תכנון הפרוייקט : • לוח זמנים :

תאריך תיאור פעולה 24/10/2014 מציאת רעיון ומנחה 3/11/2014 פגישה עם המנחה לקבלת מידע מפורט על הרעיון מה הדרישות בדיוק 26/11/2014 הכנת הצעה לפרוייקט והגשה למנחה והתחלה בלשב העבודה על הרעיון ואופן תכנון הרעיון מבחינה הנדסית 26/11/2014-1/12015 לימוד שפת תכנות חדשה שהחלטי להשתמש בה (python ) חיפוש על מחקרים שקשורים לרעיון ו לימוד שיטות חדשות שקשורות לרעיון כדי לבצע את הרעיון מבחינה תיכנותית והנדסית 1/1/2014-15/1/2015 הכנת כלי התחלתי שפותר חלק מה הבעייה כדי לצאת משלב הרעיון עד שלב מעשי – וביצוע בדיקות על התוכנה לבדוק שאנחנו בכיוון הנכון ואין שם טעיות כל שהיא 15/1/2015-20/1/2015 הכנת טופס אמצע שמתאר את ההתקדמות בפרוייקט 1/2/2015-1/4/2015 נמשיך על הכלי שיצרנו בתור התחלה כדי להשלים שאר השלבים שדרושים ללקוח או החוקר כדי לצאת ב אפליקציה שלימה שמכילה את כל הדרישות או רוב הדרישות

20/4/2015 – סופ השנה לצאת באפליקציה שלימה שמכילה את כל דרישות ו בדוקה שתהייה שימושית בידי הללקוח או החוקר והכנת כל הטפסים הדרושים שמתארת את האפליקציה

סיכונים :

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

ספרות :

  1. http://www.w3c.org.il/%D7%AA%D7%A7%D7%A0%D7%99%D7%9D/%D7%95%D7%95%D7%91-%D7%A1%D7%9E%D7%A0%D7%98%D7%99
  2. Buttcher, S., Clarke, C.L.A. amd Cormack, G.V., “Information Retrieval – Implementing and
  3. Evaluating Search Engines”, MIT Press, Cambridge, MA, USA, 2010.

Clone this wiki locally