GPT
F

fullstop-punctuation-multilang-large

קוד פתוח

oliverguhrmit2022-03-02

  • transformers
  • pytorch
  • tf
  • onnx
  • safetensors

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

  • 559Mפרמטרים
  • 514טוקנים בהקשר
  • 8.4 GBמשקל הקבצים
  • 172,745הורדות בחודש

מה זה

מדובר במודל שמקבל טקסט נטול פיסוק ומחזיר לתוכו נקודות, פסיקים, סימני שאלה, מקפים ונקודתיים. הוא בנוי על ארכיטקטורת XLM-RoBERTa עם 24 שכבות וכמעט 559 מיליון פרמטרים, מה שנותן לו יכולת להתמודד עם ארבע שפות אירופיות באותו משקל בלי להחליף מודלים בדרך.

במדדי הבדיקה רואים פערים חדים בין הסימנים. על נקודות הוא מגיע לציון של מעל 0.94 בכל השפות, ובגרמנית הפסיקים מגיעים לציון של 0.945 לעומת 0.819 באנגלית. לעומת זאת, מקפים ונקודתיים נשארים נמוך מאוד בכל השפות, עם ציונים של סביב 0.42 למקף ועד 0.65 לנקודתיים, בעיקר כי אלה סימנים אופציונליים שמתחלפים בקלות בפסיק או נקודה.

מתאים ל

  • פיסוק תמלילי אודיו

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

  • חלוקה למשפטים בגרמנית

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

  • עיבוד מקדים לתרגום מכונה

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

איפה זה נופל

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

שאלות
נפוצות

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

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

למה הציונים על מקפים ונקודתיים כל כך נמוכים?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("token-classification", model="oliverguhr/fullstop-punctuation-multilang-large")
print(pipe("שלום"))

הרישיון

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

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

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