אשכול מסמכי טקסט: צינור עיבוד, אלגוריתמים ומקרי בוחן

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

תחומי פיתוח AI

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

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

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

הקשיים העיקריים הם קללת הממדיות: וקטורים ישירים בני 768 ממדים מ-Sentence-BERT מייצרים אשכולות גרועים ללא הפחתת ממדים.

יישמנו pipeline לשלושה פרויקטים גדולים: מפילוח תמיכה טכנית (50 אלף דיאלוגים) ועד לארגון ארכיון ארגוני (200 אלף חוזים). סטאק: cointegrated/rubert-tiny2, UMAP, HDBSCAN.

במאמר זה נפרק כל שלב, נשווה אלגוריתמים, ונראה כיצד להשיג Silhouette Score >0.4. נכסה גם טעויות אופייניות: התעלמות ממילות עצירה, min_cluster_size שגוי, ושימוש במדד אחד בלבד.

הדבר מאפשר לחסוך עד 40% מהזמן על תיוג ידני. קבלו ייעוץ עבור הקורפוס שלכם – נעריך את הישימות של אשכולות.

צינור קיבוץ (Clustering Pipeline)

הצינור הקנוני שבו אנו משתמשים נראה כך:

  1. ניקוי ונרמול – הסרת תווים מיותרים, למטיזציה (pymorphy2 או Mystem), סינון מילות עצירה.
  2. Embeddings – המרת טקסטים לוקטורים בעלי ממד קבוע (Sentence-BERT, ruBERT).
  3. הפחתת ממדים – UMAP מכווץ וקטורים בעלי 768 ממדים ל-10–50 ממדים תוך שמירה על הטופולוגיה.
  4. קיבוץ (Clustering) – HDBSCAN או K-Means.
  5. פרשנות – מילות מפתח מובילות ב-TF-IDF או סיכום LLM.
  6. ויזואליזציה – מפה דו-ממדית באמצעות t-SNE/UMAP, תיוג צבעים של אשכולות.
דוגמת קונפיגורציה עבור HDBSCAN
import hdbscan from umap import UMAP reducer = UMAP(n_components=15, metric='cosine') clusterer = hdbscan.HDBSCAN(min_cluster_size=10, min_samples=1)

כיצד לבחור אלגוריתם קיבוץ?

בחירת האלגוריתם היא פשרה מרכזית בין מהירות לגמישות.

אלגוריתם חוזקות חולשות מתי להשתמש
K-Means מיליוני נקודות, סיבוכיות לינארית דורש K, רגיש לערכים חריגים קטגוריות ידועות מראש (למשל, 10 סוגי בקשות)
HDBSCAN אינו דורש K, מזהה רעש באופן אוטומטי איטי יותר על נתונים גדולים ללא אופטימיזציה ניתוח חקרני, מספר נושאים לא ידוע
BERTopic מקצה לקצה מטקסט לנושאים, פרשנות LLM תלוי ב-embeddings, עתיר משאבים אב-טיפוס מהיר עם ויזואליזציה ותבניות מסמכים

עבור פרויקט טיפוסי עם 10 אלף מסמכים, אנו בוחרים ב-HDBSCAN – הוא מספק אשכולות עמידים ומסנן רעש באופן אוטומטי. אם נדרשת פרשנות מיידית, אנו מוסיפים BERTopic.

השוואת מודלים של Embedding

מודל מימדיות שפה מהירות איכות
cointegrated/rubert-tiny2 312 RU גבוהה בינונית
sbert-base-ru-mean-tokens 768 RU בינונית טובה
text-embedding-3-small (OpenAI) 1536 Multi גבוהה מצוינת

איך אנחנו עושים זאת: מקרה של פילוח פניות תמיכה טכנית

משימה: לחלק 50,000 דיאלוגים של לקוחות מ-3 השנים האחרונות לאשכולות תמטיים. אין תיוג. סטאק: cointegrated/rubert-tiny2 (פשרה בין איכות למהירות), UMAP -> HDBSCAN.

לאחר האשכול, כל אשכול פורש באמצעות TF-IDF 10 המילים המובילות ובנוסף באמצעות GPT-4o, תוך העברת 10 דיאלוגים אקראיים מהאשכול.

תוצאה: 23 נושאים, כולל "בעיות תשלום", "תלונות על משלוח", "בקשות לתיעוד". דיוק זיהוי הנושא לפי המסמך הראשון – 89%.

ניואנס קריטי: ללא הפחתת ממדים באמצעות UMAP, מדדי האשכול יורדים ב-20–30% בגלל "קללת הממדיות". אנחנו מגדירים n_components=15, metric='cosine' – זה מעלה את Silhouette Score מ-0.25 ל-0.41.

מה כלול בעבודה

אנו מציעים מחזור יישום מלא של קיבוץ (clustering) במפתח-על (turnkey) תוך 2–3 שבועות:

  • ביקורת קורפוס: הערכת נפח, איכות ומאפיינים לשוניים.
  • בחירת embeddings ואלגוריתמים למשימה שלך (אנו בודקים 3–4 תצורות).
  • יישום Pipeline ב-Python: pandas + scikit-learn + umap-learn + hdbscan/bertopic.
  • בדיקה על מדגם holdout: מדדים + ניתוח חזותי של המפה.
  • פריסה כמכולת Docker או REST API על FastAPI.
  • תיעוד: הוראות אימון מחדש, תיאורי אשכולות, לוח בקרה (Grafana/Streamlit).

אנו מבטיחים שקיפות – אתה מקבל סקריפטים ניתנים לשחזור ותיאור מודל בפורמט Model Card.

הערכת איכות ללא תוויות

מדדים פנימיים עוזרים לסנן תצורות כושלות:

  • ציון Silhouette – קומפקטיות והפרדה של אשכולות. ערך יעד >0.3.
  • מדד Davies-Bouldin – ככל שנמוך יותר, כך טוב יותר.
  • קוהרנטיות (UMass/Word2Vec) – קוהרנטיות סמנטית של מילות האשכול המובילות. עבור טקסט ברוסית, אנו משתמשים בוקטורי fastText מאומנים מ-RusVectōrēs.

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

טעויות אופייניות בקיבוץ טקסטים

  • התעלמות ממילות עצירה ולמטיזציה: ה-embeddings "נסתמות" מרעש תדירות, והאשכולות מאבדים משמעות.
  • min_cluster_size נמוך מדי ב-HDBSCAN (פחות מ-5): אנו מקבלים מאות מיקרו-אשכולות חסרי מובהקות סטטיסטית.
  • קיבוץ ישיר של וקטורים בעלי 768 ממדים ללא UMAP: קללת הממדיות הורסת את המדדים.
  • שימוש במדד איכות אחד בלבד: Silhouette טוב ל-K-Means, אך עבור HDBSCAN עדיף לשלב אותו עם Davies-Bouldin.

למה לעבוד איתנו?

הניסיון שלנו ב-NLP הוא 5+ שנים, למעלה מ-50 פרויקטים שהושלמו של עיבוד טקסט, כולל clustering, מערכות RAG ו-fine-tuning של LLM. אנחנו מבינים איך לאמן מודל על הקורפוס שלך כך שהתוצאה תהיה יציבה בפרודקשן. העלות מחושבת לאחר אבחון.

כדי להעריך את הקורפוס שלך ולבחור את ה-pipeline האופטימלי, צור קשר – נכין פתרון turnkey תוך 2–3 שבועות. הזמן פרויקט פיילוט כדי לראות את התוצאה על הנתונים שלך.