GPT
B

bert-large-NER

קוד פתוח

dslimmit2022-03-02

  • transformers
  • pytorch
  • tf
  • jax
  • onnx

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

  • 334Mפרמטרים
  • 512טוקנים בהקשר
  • 6.2 GBמשקל הקבצים
  • 146,999הורדות בחודש

מה זה

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

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

מתאים ל

  • ניתוח כתבות חדשות באנגלית

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

  • קטלוג ישויות במסמכים

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

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

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

איפה זה נופל

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

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

שאלות
נפוצות

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

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

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

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

איך מריצים

טעינה והרצה נעשות ישירות דרך ספריית transformers בפייתון עם פונקציית pipeline למשימת ner. משקל הקבצים עומד על 6.2 גיגהבייט וכולל 334 מיליון פרמטרים על פני 24 שכבות, כך שבשביל הסקת מסקנות מהירה בזמן אמת תצטרכו כרטיס מסך ייעודי, בעוד שהרצה על מעבד רגיל תהיה אטית למדי ותתאים בעיקר לבדיקות מקומיות.

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

from transformers import pipeline

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

הרישיון

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

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

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