אנו מפתחים מערכות זיהוי ישויות בעלות שם (NER) מותאמות אישית עבור תחומים עסקיים כגון פיננסים, רפואה ומשפטים. הפתרונות שלנו מחלצים ישויות ספציפיות לתחום בדיוק גבוה באמצעות כוונון עדין של מודלים מאומנים מראש על הנתונים שלך. לסקירה מקיפה, ראו את המאמר בוויקיפדיה על NER. מודלים סטנדרטיים (CoNLL-2003) מזהים רק אנשים, ארגונים, מיקומים — clearly insufficient for domain-specific vocabulary. משימות עסקיות טיפוסיות: חילוץ מדדים פיננסיים מדוחות, זיהוי תרופות במרשמים, זיהוי ישויות משפטיות בחוזים. כל אחת דורשת גישה מותאמת. צינור הכוונון העדין שלנו באמצעות ruBERT NER או spaCy NER משיג ציוני Entity F1 גבוהים על ידי שימוש בתיוג BIO תקין.
אנו מיישמים NER מקצה לקצה: מבחירת ארכיטקטורה ועד פריסה בתשתית שלך. בואו נפרק כיצד להגדיר זיהוי ישויות ברוסית, נשווה כלים, ונראה מדוע כוונון עדין משתלם.
סוגי ישויות סטנדרטיים והרחבתם
הסט הבסיסי (CoNLL-2003): PER (אנשים), ORG (ארגונים), LOC (מיקומים), MISC (אחר). זה לרוב לא מספיק לעסקים. סוגים מותאמים אישית טיפוסיים:
- פיננסים: MONEY, PERCENT, DATE, TICKER, FINANCIAL_INSTRUMENT
- רפואה: DISEASE, DRUG, DOSAGE, PROCEDURE, ANATOMY
- משפטים: LAW, COURT, CASE_NUMBER, LEGAL_ENTITY
- לוגיסטיקה: ADDRESS, POSTAL_CODE, VEHICLE_ID, CARGO
כיצד לבחור כלי ל-NER ברוסית?
natasha — אופטימלי להתחלה מהירה:
from natasha import Segmenter, MorphVocab, NewsEmbedding, NewsNERTagger, Doc
segmenter = Segmenter()
emb = NewsEmbedding()
ner_tagger = NewsNERTagger(emb)
doc = Doc("Газпром подписал контракт с немецкой компанией Wintershall в Берлине.")
doc.segment(segmenter)
doc.tag_ner(ner_tagger)
# [(Газпром, ORG), (Wintershall, ORG), (Берлине, LOC)]
spaCy (ru_core_news_lg): איזון בין מהירות ואיכות, משתלב בקלות בצינורות ייצור. מבוסס BERT (DeepPavlov, HuggingFace): דיוק מקסימלי על טקסטים מורכבים, אך זמן השהיה גבוה יותר.
השוואת כלים בטבלה:
| כלי | דיוק (F1) | מהירות (ms/משפט) | ישויות מותאמות אישית |
|---|---|---|---|
| natasha | 85–90% | ~2 ms | לא (רק בסיסי) |
| spaCy | 88–93% | ~5 ms | כוונון עדין דרך prodigy |
| ruBERT | 92–97% | ~30 ms (CPU) | כוונון עדין דרך HF |
מדוע כוונון עדין משפר דיוק?
כוונון עדין על הקורפוס שלך מסיר הומונימיה ומעלה F1 ב-10–15%. מודל מאומן מראש מבלבל בין 'Apple' (פרי) ו-'Apple' (חברה). לאחר כוונון עדין, המודל מתחשב בהקשר, מה שחיוני לאוצר מילים ספציפי לתחום. התהליך כולל אנוטציה, עיצוב IOB2, ואימון דרך HuggingFace.
| תרחיש | F1 לפני כוונון עדין | F1 אחרי כוונון עדין |
|---|---|---|
| מונחים רפואיים | 75% | 91% |
| ישויות משפטיות | 68% | 88% |
כוונון עדין לישויות מותאמות אישית
תהליך:
- אנוטציה: באמצעות Prodigy או Label Studio. מינימום 200–500 דוגמאות לכל סוג ישות.
- פורמט: IOB2 (BIO-tagging) — סטנדרט ל-NER.
- אימון: HuggingFace TokenClassification עם RuBERT מאומן מראש.
from transformers import AutoModelForTokenClassification, TrainingArguments
model = AutoModelForTokenClassification.from_pretrained(
"DeepPavlov/rubert-base-cased",
num_labels=len(label_list),
id2label=id2label,
label2id=label2id
) הערכת איכות NER
F1 ברמת ישות (קפדני) — המדד המרכזי. 'קפדני' פירושו סוג נכון וגבולות ספאן נכונים. התאמה חלקית נחשבת לשגיאה.
ציונים טיפוסיים על טקסטים ברוסית:
- PER: F1 95–97% (דפוסים קלים לזיהוי)
- ORG: F1 88–93% (הרבה ראשי תיבות)
- LOC: F1 90–95%
- ישויות תחום מותאמות אישית: 80–90% לאחר כוונון עדין על 1K+ דוגמאות
כיצד אנו מיישמים NER עבור התחום שלך?
הגישה שלנו מונעת הנדסה, ללא קופסאות שחורות. שלבי עבודה:
- ניתוח נתונים: לימוד הטקסטים שלך, הגדרת ישויות יעד, הערכת מורכבות (קינון, הומונימיה, ישויות לא רציפות).
- אנוטציה והרחבה: הכנת קורפוס ב-IOB2, בקרת איכות באמצעות הצלבה בין מאנוטים.
- בחירת ארכיטקטורה: השוואת natasha/spaCy/BERT על הקורפוס שלך, בחירה לפי F1 וזמן השהיה.
- כוונון עדין ובדיקות: אימון מודל, השגת F1 > 90% על סוגי יעד.
- פריסה: אריזה ל-ONNX (CPU) או TorchServe (GPU), זמן השהיה מ-5 עד 30 ms למשפט.
- מסירה: תיעוד, קוד צינור, גישה למודל, הדרכה לצוות שלך.
מה כלול בעבודה שלנו
אתה מקבל:
- מודל מאומן עם ישויות מותאמות אישית
- קוד הסקה (Python, תמונת Docker)
- הוראות לאימון מחדש על נתונים חדשים
- תמיכה באחריות ל-3 חודשים
לכל פרויקט, אנו מכינים מדריך למאנוטים, מבצעים סבב בדיקה עם בקרת איכות (הסכמה בין מאנוטים > 0.9). לאחר אישור הסכימה, אנו מתחילים באנוטציה מלאה.
מקרים מורכבים
- ישויות מקוננות: 'Министерство финансов России' — ORG + LOC. רוב המודלים לא תומכים בקינון; אנו משתמשים ב-Span-BERT או biaffine NER.
- ישויות לא רציפות: 'ООО… (далее — Компания)' — דורש מודול קורפרנס.
- הומונימיה: נפתרת על ידי הקשר (טרנספורמרים מתמודדים טוב יותר מ-CRF).
פריסה ואמינות
אנו מבטיחים פעולה יציבה של המודל תחת עומס. עם ניסיון של למעלה מ-5 שנים ב-NLP ויותר מ-50 פרויקטים מוצלחים, אנו שותף מהימן לפיתוח NER מותאם אישית. הצוות שלנו כולל מהנדסי PyTorch מוסמכים, המבטיחים פריסה אמינה.
תוצרים
התוצרים שלנו כוללים:
- תיעוד מקיף של ארכיטקטורת המודל ותהליך האימון
- גישה למודל המאומן ולצינור ההסקה
- סקריפטים לאימון מחדש והנחיות לעדכון המודל עם נתונים חדשים
- 3 חודשים של תמיכה לאחר פריסה ופתרון תקלות
- אפשרות לאנוטציה ותחזוקה שוטפת של המודל
העלות של פרויקט NER טיפוסי מתחילה מ-$5,000 עבור סוג ישות יחיד ועולה עד $15,000 עבור מערכות מקיפות עם ישויות מרובות. השקעה זו מניבה לרוב הפחתה של 80% בעלויות עיבוד נתונים ידני.
צור קשר כדי לדון במשימה שלך ולקבל תוכנית עבודה ולוח זמנים (מ-2 עד 6 שבועות תלוי בהיקף האנוטציה).
הזמן פיתוח מערכת NER מותאמת אישית לתחום שלך. קבל ייעוץ על בחירת כלים וכמות נתונים נדרשת. להערכה ראשונית של המקרה שלך, כתוב לנו — נכין תוכנית עבודה מפורטת.







