GPT
B

bert-base-turkish-cased-mean-nli-stsb-tr

קוד פתוח

emrecanapache-2.02022-03-02

  • sentence-transformers
  • pytorch
  • safetensors
  • openvino
  • bert

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

  • 111Mפרמטרים
  • 512טוקנים בהקשר
  • 951 MBמשקל הקבצים
  • 436,317הורדות בחודש

מה זה

המודל ממפה טקסטים בטורקית למרחב וקטורי של 768 ממדים באמצעות sentence-transformers. הוא מבוסס על ארכיטקטורת BertModel עם 12 שכבות וכמאה ואחד עשר מיליון פרמטרים, כשהמטרה שלו היא לא לייצר טקסט אלא להשוות בין קטעים שונים לפי המשמעות שלהם.

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

מתאים ל

  • חיפוש סמנטי בטורקית

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

  • קיבוץ משפטים לנושאים

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

  • זיהוי כפילויות בטקסט

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

איפה זה נופל

הבעיה הבולטת ביותר היא אורך הקלט. למרות שלמודל BERT יש מגבלה רחבה יותר, הקונפיגורציה בצינור של sentence-transformers מגבילה את max_seq_length ל־75 טוקנים בלבד. טקסט ארוך מזה פשוט ייחתך.

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

שאלות
נפוצות

האם המודל מתאים לטקסטים ארוכים כמו מאמרים?

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

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

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

איך מריצים

טוענים אותו ישירות דרך ספריית sentence-transformers בשתיים שלוש שורות קוד בפייתון, ומעבירים רשימת משפטים לפונקציית הקידוד. אפשר גם להשתמש ישירות בספריית transformers הרגילה, אבל אז צריך לממש לבד את פעולת ה־mean pooling על גבי שכבות הפלט.

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("emrecan/bert-base-turkish-cased-mean-nli-stsb-tr")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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