GPT
K

keyphrase-extraction-kbir-inspec

קוד פתוח

ml6teammit2022-03-29

  • transformers
  • pytorch
  • roberta
  • token-classification
  • keyphrase-extraction

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

  • 514טוקנים בהקשר
  • 1.3 GBמשקל הקבצים
  • 11,431הורדות בחודש
  • 133לייקים

מה זה

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

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

מתאים ל

  • תיוג תקצירי מאמרים

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

  • העשרת מנועי חיפוש

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

  • סינון מסמכים אוטומטי

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

איפה זה נופל

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

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

שאלות
נפוצות

האם המודל יצליח לחלץ ביטויים מעברית?

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

איך מתמודדים עם מאמרים ארוכים מעבר ל־500 מילים?

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

למה להשתמש במודל כזה ולא לבקש ממודל שפה גדול לחלץ מילות מפתח?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("token-classification", model="ml6team/keyphrase-extraction-kbir-inspec")
print(pipe("שלום"))

הרישיון

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

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

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