יום רביעי, ינואר 12, 2011

להשתמש בשפה הנכונה למשימה הנכונה

1.

איזה תענוג שעבודה שעשית פעם היום עוזרת למישהוא אחר.

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

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

הפרוייקט מוממש פעמיים :
פעם אחת בפרל.
ופעם אחת בJava

הסיבה היא שמזמין העבודה לא רצה לראות פרל כי (לא ציטוט מדוייק) - "מרבית החוקרים הבאים שיעבדו עם זה לא מכירים פרל".

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

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

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

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

רבים וטובים אחרים כבר אמרו זאת - על תעבדו עם regex על דפי אתרים :
אתם תשרפו חודשים על מציעת כל מקרי הקצה - זה אולי רק נראה למנחה שלכם שהאתר מקיים חוקיות בהצגה - אתרים רבים עוברים לCSS ואז נשברים לכם חוקי ה REGEX לאיתור הנושא ,אתרים משנים את העיצוב ה HTMLי ונשבר לכם העיצוב , אתרים משנים את הפלטפורמה איתה הם עובדים (חברה אחת הסבה לJoomla ) מה ששבר את כל מנגנון איתור הטקסט.
את המידע אתם צריכים לשלוף באותה הצורה שאתם קוראים את הטקסט - אתם לא מחפשים עיצוב בשביל לגלות משמעות אתם משתמשים בקריאה : הבנת הקשרים בטקסט.

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

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

וזה עוד לפני צרות הרישוי שאתם עומדים לפניהם.

אין תגובות:

הוסף רשומת תגובה