GPT
S

sentence_similarity_spanish_es

קוד פתוח

hiiamsidapache-2.02022-03-02

  • sentence-transformers
  • pytorch
  • safetensors
  • bert
  • feature-extraction

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

  • 110Mפרמטרים
  • 512טוקנים בהקשר
  • 839 MBמשקל הקבצים
  • 23,957הורדות בחודש

מה זה

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

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

מתאים ל

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

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

  • ניקוי כפילויות בטקסט

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

  • חלוקה לאשכולות

    קיבוץ תגובות, ביקורות או פסקאות קצרות לפי נושאים על בסיס וקטורים של 768 ממדים.

איפה זה נופל

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

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

שאלות
נפוצות

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

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

חייבים כרטיס מסך כדי להריץ אותו בפרודקשן?

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

איך משווים בין המשפטים אחרי שהמודל רץ?

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

איך מריצים

טוענים אותו ישירות דרך ספריית sentence-transformers בשתיים-שלוש שורות פייתון, או כמודל BERT רגיל עם שכבת ממוצע על הטוקנים. גודל הקבצים הכולל הוא 839 מגה-בייט והוא מחזיק כ־110 מיליון פרמטרים בדיוק של float32, כך שאין שום בעיה לדחוף אותו ל־CPU סטנדרטי בשרת או אפילו להריץ אותו מקומית על מחשב פיתוח פשוט.

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("hiiamsid/sentence_similarity_spanish_es")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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