GPT
G

german-sentiment-bert

קוד פתוח

oliverguhrmit2022-03-02

  • transformers
  • pytorch
  • tf
  • jax
  • onnx

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

  • 109Mפרמטרים
  • 512טוקנים בהקשר
  • 2.0 GBמשקל הקבצים
  • 150,875הורדות בחודש

מה זה

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

במבחני F1 התוצאות משתנות מאוד לפי התחום. בביקורות מלונות כמו holidaycheck המודל מגיע לציון של 0.9568, אבל בדאטה־סטים מורכבים יותר כמו germeval או PotTS התוצאות צונחות לאזור 0.75 ו־0.6780. זה אומר שבטקסט ברור ומובנה הוא מדויק, אבל במשפטים קצרים מהרשתות החברתיות או שפה מדוברת קשה לו הרבה יותר.

מתאים ל

  • ניתוח חוות דעת על מלונות

    משיג F1 של 0.9568 על holidaycheck ומתאים למיון ביקורות תיירות בגרמנית.

  • סינון ביקורות אפליקציות

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

  • בקרת שיחות בצ'אטבוטים

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

איפה זה נופל

הבעיה העיקרית כאן היא ביצועים לא אחידים. בדאטה־סט PotTS המודל מציג F1 של 0.6780 בלבד, וב־sb10k הוא עומד על 0.7376, מה שמעיד על קושי מהותי עם סלנג, קיצורים וסרקזם ברשת. בנוסף, חלון ההקשר מוגבל ל־512 טוקנים והוא תומך אך ורק בגרמנית, כך שטקסט מעורב או ביקורות ארוכות מדי ייחתכו ויאבדו מהמשמעות שלהן.

שאלות
נפוצות

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

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

האם אפשר להריץ אותו על CPU של מחשב רגיל?

כן, עם 109 מיליון פרמטרים ומשקל קבצים של 2 גיגה־בייט הוא קל מאוד וירוץ ללא קושי גם בלי חומרת GPU ייעודית.

איך מריצים

ההרצה פשוטה יחסית בזכות חבילת פייתון ייעודית בשם germansentiment שדואגת לעיבוד המקדים, או דרך ספריית transformers הרגילה. עם 109 מיליון פרמטרים ומשקל קבצים כולל של 2.0 גיגה־בייט, אין שום בעיה להריץ אותו על מעבד רגיל של שרת מקומי, בלי לגעת בכרטיסי מסך יקרים.

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

from transformers import pipeline

pipe = pipeline("text-classification", model="oliverguhr/german-sentiment-bert")
print(pipe("שלום"))

הרישיון

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

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

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