Named Entity Recognition (זיהוי ישויות)
הגדרה
זיהוי ישויות (NER) היא משימת-NLP קלאסית שמזהה ומתייגת אוטומטית שמות של אנשים, ארגונים, מקומות ותאריכים בתוך טקסט חופשי — משימת-יסוד שקדמה למודלי-השפה הגדולים בעשרות שנים.
מה זו משימת זיהוי-ישויות
זיהוי ישויות (Named Entity Recognition, NER) היא המשימה למצוא אוטומטית, בתוך טקסט חופשי, רצפי-מילים שמציינים ישות ממשית ספציפית, ולתייג לאיזה סוג ישות כל אחד שייך — הנפוצים ביותר הם אדם (PERSON), ארגון (ORGANIZATION) ומקום (LOCATION), ולעיתים קרובות גם תאריכים, שעות וסכומי-כסף. קוראים אנושיים עושים את זה מיידית ובלי מודעות; NER הוא הניסיון לבצע את אותו הדבר בעזרת תוכנה, כשלב-הכנה מוגדר-היטב לפני משימות-הבנה מורכבות יותר, כמו מענה-על-שאלות או בניית אינדקס-חיפוש לפי "מי עשה מה".
טרום-נוירוני: קונפרנסי-MUC בשנות ה-90 והולדת המונח
למשימה, וממש למונח "ישות בעלת-שם", יש תאריך-לידה מתועד: הקונפרנס השישי להבנת-מסרים (MUC-6), שאורגן ב-1995–1996 במסגרת מאמצי-הערכה במימון DARPA בהובלת בת' סנדהיים ורלף גרישמן, היה האירוע הפורמלי הראשון שהגדיר והעריך את המשימה תחת השם הזה, על-פני קטגוריות שכללו שמות-אנשים וארגונים, שמות-מקומות, וביטויי-זמן, כסף ואחוזים. מערכות באותו שלב הסתמכו על כללי-דפוס כתובים-ביד ורשימות-שמות מוכרות (Gazetteers), לא על למידה מנתונים. מבחן-ייחוס נפוץ מאוחר יותר, CoNLL-2003, שפורסם ב-2003, תיקנן את המשימה עבור טקסטים באנגלית וגרמנית מסוכנויות-ידיעות, עם ארבעה סוגי-ישויות (אדם, ארגון, מקום, וקטגוריית "שונות" כללית), והיה קנה-מידה נפוץ להשוואת מערכות-NER במשך למעלה מעשור אחריו.
העידן הסטטיסטי: מ-Hidden Markov ל-CRF
לאורך שנות ה-90 והעשור הראשון של שנות ה-2000 עבר NER מכללים כתובים-ביד למודלים סטטיסטיים שאומנו על נתוני-דוגמה מתויגים: מודלי מרקוב-נסתרים (Hidden Markov Models), ומאוחר יותר — גישה מדויקת יותר למשימת-תיוג-רצף מהסוג הזה — שדות-אקראיים-מותנים (Conditional Random Fields, CRF), שהציגו לאפרטי (Lafferty) ועמיתיו ב-2001. מודלים אלה למדו, מתוך דוגמאות רבות, אילו צירופי-מאפיינים של מילה (אות-רישית, מילים שכנות, סיומות ותחיליות נפוצות בשמות) מעידים סטטיסטית על גבול-ישות וסוגה, בלי צורך לכתוב כל כלל ביד — אך עדיין הסתמכו במידה רבה על מאפיינים שהונדסו ידנית לכל מילה.
המעבר הנוירוני: BiLSTM-CRF ואז מודלים מבוססי-טרנספורמר
שנות ה-2010 הביאו את המעבר הנוירוני: במקום להנדס מאפיינים ביד, מודלים למדו ייצוגי-מילים שימושיים באופן אוטומטי, לרוב מתחילים מהטמעות בסגנון word2vec. מאמר משפיע במיוחד מ-2016, "Neural Architectures for Named Entity Recognition" (לאמפל, באיסטרוס, סוברמניאן, קוואקמי ודייר), שילב רשת LSTM דו-כיוונית עם שכבת-פלט CRF (BiLSTM-CRF) והגיע לתוצאות-שיא בארבע שפות בלי כל משאב שפה-ספציפי כתוב-ביד כמו רשימות-שמות. מ-2018 ואילך, מודלי הטמעה-הקשרית כמו BERT שיפרו את הדיוק עוד יותר, מכיוון שמודל שכבר "מבין" את ההקשר הסובב נוטה להבחין בין משמעויות דו-משמעיות (האם "וושינגטון" הוא אדם, עיר או מדינה?) בצורה אמינה בהרבה משיטות מבוססות-מאפיינים ישנות יותר.
שימושים היום
NER פועל היום, בעיקר באופן בלתי-נראה, בתוך מגוון רחב של כלים יומיומיים: מנועי-חיפוש משתמשים בו כדי להבין ששאילתה מציינת אדם או חברה ספציפיים ולא ביטוי כללי; מצרפי-חדשות משתמשים בו כדי לתייג אוטומטית כתבות לפי האנשים, המקומות והארגונים שהן מזכירות; מערכות שירות-לקוחות ומסמכים-משפטיים משתמשות בו כדי לסמן או להשחיר שמות אוטומטית; והוא שלב-עיבוד-מקדים נפוץ שמזין צינורות גדולים יותר של חילוץ-מידע וגרפי-ידע. חילוץ ישויות נמנה גם עם המשימות הטיפוסיות של כריית טקסט (Text Mining), לצד סיווג טקסטים, ניתוח סנטימנט וסיכום מסמכים. מודלי-שפה גדולים מודרניים יכולים גם הם לבצע NER ישירות דרך פרומפט בשפה טבעית, בלי כל מודל-NER ייעודי — אך בסביבות-ייצור בקנה-מידה גדול עדיין נפוץ להעדיף מודלי-NER ייעודיים וקלים, מטעמי עלות ומהירות.
אתגרים שנשארו פתוחים
גם עם השיטות הנוירוניות המודרניות, NER נשאר קשה במובנים אמיתיים וספציפיים: שמות דו-משמעיים בין סוגי-ישויות תלוי-הקשר בלבד (שוב, "וושינגטון"); שפות עתירות-מורפולוגיה כמו עברית, בלי אות-רישית שמסמנת שם-עצם-פרטי כפי שקורה באנגלית; ישויות מקוננות, שבהן ישות אחת יושבת בפועל בתוך ישות אחרת ("מגדל בנק אוף אמריקה" מכיל בתוכו את "בנק אוף אמריקה"); וסוגי-ישויות תחומיים שנתוני-אימון כלליים כמעט לא מכסים, כמו שמות גנים וחלבונים בטקסט ביו-רפואי — ולכן NER ביו-רפואי נשאר תת-תחום מומחה בפני עצמו, עם מאגרי-נתונים ומודלים ייעודיים, ולא נפתר על-ידי מערכת כללית אחת.
📬 הגיליון השבועי של Wiki-AI
פעם בשבוע, ביום ראשון: שלושת הדברים החשובים שקרו בעולם הבינה המלאכותית, בעברית פשוטה, וערכים חדשים באנציקלופדיה. לגיליונות
שאלות נפוצות ❓
מאיפה בא המונח "ישות בעלת-שם" (Named Entity)?
מקונפרנס MUC-6 (1995–1996), שהיה האירוע הרשמי הראשון שהגדיר את המשימה תחת השם הזה והעריך מערכות עליה.
מה ההבדל בין הגישה הטרום-נוירונית לגישה הנוירונית?
מערכות מוקדמות הסתמכו על כללים כתובים-ביד ורשימות-שמות (Gazetteers), ולאחר מכן על מודלים סטטיסטיים כמו CRF עם מאפיינים מהונדסים-ביד; המעבר הנוירוני (מ-2016 בערך) איפשר למודל ללמוד את המאפיינים הרלוונטיים בעצמו מתוך דוגמאות.
האם LLM כמו GPT יכולים לבצע זיהוי-ישויות בלי מודל ייעודי?
כן, דרך פרומפט פשוט בשפה טבעית — אבל בסביבות-ייצור בקנה-מידה גדול עדיין נפוץ להשתמש במודל NER ייעודי וקל, מטעמי מהירות ועלות.
למה זיהוי-ישויות בעברית קשה יותר מאשר באנגלית?
לעברית אין את אותות-הכתיב שמסייעים באנגלית — כמו אות-רישית בתחילת שם-עצם-פרטי — והמורפולוגיה העשירה שלה (קידומות ומילות-יחס שמתחברות למילה) מקשה על זיהוי גבולות-המילה במדויק.