GPT
M

Medical-NER

קוד פתוח

blaze999mit2024-02-09

  • transformers
  • safetensors
  • deberta-v2
  • token-classification
  • generated_from_trainer

מודל קטן לזיהוי ישויות רפואיות מבוסס DeBERTa, שחולץ מאמרים מ־PubMed. הוא מתאים למי שרוצה לסווג מושגים קליניים באנגלית בלי להרים שרתים יקרים.

  • 184Mפרמטרים
  • 512טוקנים בהקשר
  • 712 MBמשקל הקבצים
  • 11,137הורדות בחודש

מה זה

מדובר בהתאמה של deberta-v3-base שנועדה לזהות 41 סוגי ישויות רפואיות שונות בתוך טקסט. המודל עבר אימון על דאטה־סט מתוך PubMed במשך שלושים מחזורים, והוא מתרכז בסיווג טוקנים בלבד, כלומר הוא מקבל משפט ומחזיר תיוג ישיר של מונחים רפואיים מתוכו.

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

מתאים ל

  • חילוץ מונחים ממאמרים

    שליפת מושגים קליניים ומחלות מתוך תקצירי מחקר באנגלית באופן ממוקד ומהיר.

  • תיוג רשומות רפואיות קצרות

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

  • עיבוד מקדים לחיפוש

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

איפה זה נופל

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

שאלות
נפוצות

האם המודל תומך בטקסטים בעברית?

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

איך אפשר לדעת אילו 41 ישויות רפואיות המודל יודע לחלץ?

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

איך מריצים

במשקל של 712 מגה־בייט ו־184 מיליון פרמטרים, המודל הזה רץ בקלות על כל מעבד רגיל של מחשב נייד מודרני או שרת ענן פשוט, בלי שום חובה במעבד גרפי ייעודי. טוענים אותו ישירות דרך ספריית transformers בפייתון עם פייפליין של token-classification או באמצעות AutoModelForTokenClassification.

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

from transformers import pipeline

pipe = pipeline("token-classification", model="blaze999/Medical-NER")
print(pipe("שלום"))

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש

הרישיון המלא בעמוד המודל ↗