ניתוח טקסט לשיחות צ'אט: ניתוח עם ערבות SLA
בדיקת שיחות על ידי מפעילים צורכת עד 40% מזמן צוות ה-QA — בעוד מגמות נסתרות נותרות ללא זיהוי. אנו בונים מערכת ניתוח טקסט שהופכת אוטומטית מאות אלפי צ'אטים לתובנות עסקיות מובנות: לא רק סטטיסטיקות של פניות, אלא הבנה עמוקה — על מה לקוחות מדברים, כיצד נושאים משתנים, היכן נוצרות בעיות מערכתיות.
הניסיון שלנו: 5+ שנים בפיתוח פתרונות NLP, 30+ פרויקטים לקמעונאות, פינטק וטלקום. אנו מבטיחים SLA של 99.9% בזמן עיבוד ודיוק סיווג של לפחות 90%. אנו מעבדים עד 5000 שיחות בשעה על GPU יחיד — מספיק לסטרימינג ארגוני.
מדוע דוחות סטנדרטיים לא נותנים את התמונה המלאה?
לוחות מחוונים מסורתיים מציגים את מספר הפניות אך לא חושפים את ההקשר. עלייה חדה במספר השיחות עשויה להיגרם כתוצאה מהשבתה שאינה נראית במדדים ברמה הראשונה. המערכת שלנו מזהה חריגות ומקשרת אותן לשינויים בנושא, בטון ובפתרון — מה שמאפשר תגובה לפני שהבעיה הופכת לנפוצה. בפרויקט אחד, זיהינו עלייה של 12% בשליליות כלפי מוצר שלושה ימים לפני שהמפעילים הבחינו בכך.
השוו בין שתי גישות: סיווג תדירות פשוט מבוסס מילות מפתח נותן דיוק של 50-60% ומפספס עד 40% מהדפוסים הנסתרים. מודלים של ML מכווננים (ruBERT, SDG) מניבים F1 של 80-94% אך דורשים נתונים מתויגים. LLM (GPT-4) משיג 95%+ ללא תוויות, אך עלות הטוקנים גבוהה פי 5-10 לעיבוד המוני. הפתרון שלנו הוא היברידי: ML לסיווג שגרתי (70% מהנפח) ו-LLM למקרים מורכבים (30%) — זה נותן יחס מחיר/איכות אופטימלי.
ארכיטקטורת מערכת הניתוח
[Диалоги из helpdesk/CRM/боты]
↓
[Обогащение: тематика, sentiment, NER, summary]
↓
[Хранилище: ClickHouse / BigQuery]
↓
[Агрегация и витрины данных]
↓
[Дашборды: Superset / Metabase / Grafana]
+
[Ad-hoc анализ: Jupyter / Python API]טכנולוגיות: ClickHouse לאחסון, Celery לקבוצות, GPU batching ל-embeddings. מודלים: ruBERT לנושאים, SDG מכוונן לסנטימנט, NER מבוסס SpaCy. זמן עיבוד קבוצתי ל-10,000 שיחות — שעתיים על V100 יחיד.
השוואת גישות לניתוח שיחות
| גישה | דיוק (F1) | מהירות הטמעה | מדרגיות | עלות ל-1K שיחות |
|---|---|---|---|---|
| מילות מפתח | 50-60% | ימים | גבוהה | $0.01 |
| סיווג ML (ruBERT) | 90% | שבועות | בינונית | $0.05 |
| LLM (GPT-4) | 95%+ | שעות | מוגבל בטוקנים | $0.50 |
התכנית ההיברידית מניבה דיוק של 93% בעלות של $0.08 — זול פי 6 מ-LLM טהור עם איכות דומה.
שלבי הטמעת ניתוח טקסט
| שלב | משך | תוצאה |
|---|---|---|
| ניתוח ועיצוב | 3-5 ימים | ארכיטקטורה, דרישות, KPIs |
| הקמת צנרת | 1-2 שבועות | העשרות בסיסיות ו-data marts |
| התאמת מודלים | 2-4 שבועות | כיוונון עדין לספציפיות העסקית |
| אינטגרציה וריצה כפולה | 1-2 שבועות | פעולה מקבילה, ולידציה |
| מעבר והדרכה | 3-5 ימים | השקה לייצור |
פרטים טכניים של הצנרת
לעיבוד קבוצתי, נעשה שימוש ב-Celery עם חלוקת משימות על צמתי GPU. Embeddings מחושבים בקבוצות של 512 שיחות. במצב סטרימינג, מחיצות Kafka מחלקות את העומס, ו-PySpark מבטיח סמנטיקת exactly-once. כל המדדים מנוטרים באמצעות Prometheus + Grafana.
כיצד ליישם ניתוח טקסט מבלי לעצור תהליכים קיימים?
אנו משתמשים בגישת ריצה כפולה: ראשית, המערכת פועלת במקביל לתהליכים קיימים, אנו מאמתים תוצאות למשך שבועיים, ואז מעבירים את לוחות המחוונים הראשיים לנתונים חדשים. זה מונע השבתה ומספק אישור דיוק על נתונים אמיתיים. פרויקט פיילוט על 10,000 שיחות — 5 ימים.
מה כלול בעבודה?
- תיעוד ארכיטקטוני ותיאור צנרת.
- לוחות מחוונים מוגדרים (3-5 data marts) למדדים מרכזיים.
- מודלים מכווננים עם כרטיס מודל ודוח דיוק.
- גישת API לשאילתות אד-הוק.
- הדרכת צוות (2-3 סדנאות) ותמיכה טכנית לחודשיים הראשונים.
העשרת שיחות
כל שיחה עוברת צנרת העשרה:
@dataclass
class EnrichedDialog:
dialog_id: str
timestamp: datetime
topic: str # тематика первого уровня
subtopic: str # детализация
sentiment_score: float # -1 to 1
sentiment_trend: str # "improving" | "stable" | "worsening"
resolution: bool # решена ли проблема
escalated: bool
key_entities: dict # продукты, номера, суммы
summary: str # краткое описание в 1–2 предложениях
emotion: str # frustrated | satisfied | neutral | confused
agent_id: str
duration_seconds: int
message_count: int
עיבוד קבוצתי: 10,000 שיחות בלילה באמצעות Celery + GPU batching למשימות embedding. במצב זמן אמת, זרם Kafka מעבד שיחה תוך 2-5 שניות.
Data Marts לניתוח
Mart נושאים: צבירה לפי [Диалоги из helpdesk/CRM/боты] → [Обогащение: тематика, sentiment, NER, summary] → [Хранилище: ClickHouse / BigQuery] → [Агрегация и витрины данных] → [Дашборды: Superset / Metabase / Grafana] + [Ad-hoc анализ: Jupyter / Python API] , @dataclass class EnrichedDialog: dialog_id: str timestamp: datetime topic: str # тематика первого уровня subtopic: str # детализация sentiment_score: float # -1 to 1 sentiment_trend: str # "improving" | "stable" | "worsening" resolution: bool # решена ли проблема escalated: bool key_entities: dict # продукты, номера, суммы summary: str # краткое описание в 1–2 предложениях emotion: str # frustrated | satisfied | neutral | confused agent_id: str duration_seconds: int message_count: int , topic, subtopic. תשובות: מה גורם לפניות, כיצד זה משתנה לאורך זמן. מאפשר לשים לב לשיאים עונתיים שבועיים מראש.
Mart סנטימנט: ציון ממוצע לפי פלח, מוצר, מפעיל. היכן לקוחות הכי/פחות מרוצים. לדוגמה, ה-mart הראה ש-NPS למוצר Premium ירד ב-8 נקודות עקב עיכובי תגובה מעל 10 דקות.
Mart בעיות: שיחות עם date + סנטימנט שלילי — מקור לבעיות מערכתיות. תובנה אופיינית: 30% משיחות כאלה מכילות את המילה "מסמך" — כלומר עיבוד מסמכים דורש אוטומציה.
Mart מפעילים: מדדי ביצועים לכל נציג עבור QA. השוואת סנטימנט לפני ואחרי הדרכה מראה שיפור ממוצע של 15%.
חריגות והתראות
זיהוי אוטומטי של חריגות בזרם השיחות:
- קפיצה פתאומית בפניות בנושא מסוים → ככל הנראה תקרית
- הידרדרות חדה בסנטימנט המוצר → בעיית איכות
- עלייה בחלק ה-
segmentלפי סוג → נוהל השתנה או מידע בקניין חסר
התראות ב-Slack/Telegram: אוטומטית כאשר חריגה מספים. זמן אישור תקרית — פחות מדקה.
מה ההטמעה נותנת?
- הפחתת זמן ניתוח שיחות ב-80% (מ-40% עבודה ידנית לאוטומציה).
- חיסכון בתקציב QA עד 40% באמצעות אוטומציה.
- קיצור זמן תגובה לתקרית משעות לדקות.
- הגדלת דיוק הסיווג מ-50-60% (מילות מפתח) ל-93% (היברידי).
SLA 99.9% על זמן עיבוד — ערבות ליציבות הצנרת.
הזמינו ניתוח פיילוט: עיבוד 10,000 שיחות ב-5 ימים וראו תובנות ראשונות. קבלו ייעוץ — נסביר כיצד המערכת משתלבת בטכנולוגיה הנוכחית שלכם.







