GPT
D

deid_roberta_i2b2

קוד פתוח

obimit2022-03-02

  • transformers
  • pytorch
  • safetensors
  • roberta
  • token-classification

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

  • 354Mפרמטרים
  • 514טוקנים בהקשר
  • 2.6 GBמשקל הקבצים
  • 434,090הורדות בחודש

מה זה

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

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

מתאים ל

  • אנונימיזציה למחקר רפואי

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

  • ניקוי נתונים מקומי

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

  • הכנת דאטה למודלי שפה

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

איפה זה נופל

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

שאלות
נפוצות

אפשר להשתמש בו ישירות על סיכום ביקור בעברית?

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

אפשר פשוט להזרים אליו קובץ טקסט מלא של 500 מילים?

לא מומלץ להעביר את כל הטקסט ברצף. האימון התבצע על משפטים מבודדים עם תוספת של 32 טוקנים מכל צד, באורך מירבי של 128 טוקנים, ולכן צריך לפרק את הקובץ לפי ההנחיות שלהם כדי לקבל דיוק סביר.

האם הוא מזהה את כל 18 המזהים שדורש החוק האמריקאי?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("token-classification", model="obi/deid_roberta_i2b2")
print(pipe("שלום"))

הרישיון

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

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

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