GPT
S

SapBERT-from-PubMedBERT-fulltext

קוד פתוח

cambridgeltlapache-2.02022-03-02

  • transformers
  • pytorch
  • tf
  • jax
  • safetensors

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

  • 109Mפרמטרים
  • 512טוקנים בהקשר
  • 1.6 GBמשקל הקבצים
  • 1,413,649הורדות בחודש

מה זה

מדובר במודל שנועד למשימה ספציפית מאוד, חילוץ וקטורים עבור ישויות ביו רפואיות באנגלית. הבסיס שלו הוא PubMedBERT של מיקרוסופט, אבל החוקרים מקיימברידג' לקחו אותו ואימנו אותו מחדש על מאגר המושגים של UMLS בגרסת 2020AA. המטרה כאן אינה לייצר טקסט או לסכם מאמרים, אלא לקבל שם של ישות כמו תרופה או סימפטום, ולהחזיר ייצוג וקטורי מתוך טוקן ה־CLS בשכבה האחרונה.

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

מתאים ל

  • נרמול שמות תרופות

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

  • קישור ישויות קליניות

    חיבור מונחים מתיקים רפואיים למזהים מוסכמים מתוך מאגר UMLS באנגלית.

  • חיפוש סמנטי בספרות רפואית

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

איפה זה נופל

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

שאלות
נפוצות

אפשר להזין לו תיק רפואי שלם כדי שימצא אבחנות?

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

הוא מתאים לעבודה עם נתונים מקופות חולים בארץ?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("feature-extraction", model="cambridgeltl/SapBERT-from-PubMedBERT-fulltext")
print(pipe("שלום"))

הרישיון

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

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

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