GPT
B

bert-base-NER

קוד פתוח

dslimmit2022-03-02

  • transformers
  • pytorch
  • tf
  • jax
  • onnx

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

  • 108Mפרמטרים
  • 512טוקנים בהקשר
  • 2.0 GBמשקל הקבצים
  • 1,927,628הורדות בחודש

מה זה

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

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

מתאים ל

  • חילוץ שמות ומיקומים מכתבות

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

  • סינון מידע אישי מטקסט

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

  • תיוג תוכן במערכות חיפוש

    חילוץ אוטומטי של ישויות למאגרי מידע בלי לתחזק שרתי GPU יקרים.

איפה זה נופל

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

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

שאלות
נפוצות

האם המודל תומך בזיהוי ישויות בעברית?

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

איך מטפלים במילים שהמודל חותך לתת-טוקנים?

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

איך מריצים

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

אם אתם צריכים מהירות גבוהה במיוחד, היוצר מציע גם גרסת distilbert עם 66 מיליון פרמטרים, או גרסת bert-large עם 340 מיליון פרמטרים למי שמחפש עוד קצת דיוק. אין סיבה לפנות לפתרונות ענן בתשלום עבור משימה כזו, העלויות של הרצה עצמית כאן זניחות.

from transformers import pipeline

pipe = pipeline("token-classification", model="dslim/bert-base-NER")
print(pipe("שלום"))

הרישיון

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

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

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