מה זו משימת זיהוי-ישויות
זיהוי ישויות (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), שהציגו לפפרטי ועמיתיו ב-2001. מודלים אלה למדו, מתוך דוגמאות רבות, אילו צירופי-מאפיינים של מילה (אות-רישית, מילים שכנות, סיומות ותחיליות נפוצות בשמות) מעידים סטטיסטית על גבול-ישות וסוגה, בלי צורך לכתוב כל כלל ביד — אך עדיין הסתמכו במידה רבה על מאפיינים שהונדסו ידנית לכל מילה.
המעבר הנוירוני: BiLSTM-CRF ואז מודלים מבוססי-טרנספורמר
שנות ה-2010 הביאו את המעבר הנוירוני: במקום להנדס מאפיינים ביד, מודלים למדו ייצוגי-מילים שימושיים באופן אוטומטי, לרוב מתחילים מהטמעות בסגנון word2vec. מאמר משפיע במיוחד מ-2016, "Neural Architectures for Named Entity Recognition" (לאמפל, באיסטרוס, סוברמניאן, קוואקמי ודייר), שילב רשת LSTM דו-כיוונית עם שכבת-פלט CRF (BiLSTM-CRF) והגיע לתוצאות-שיא בארבע שפות בלי כל משאב שפה-ספציפי כתוב-ביד כמו רשימות-שמות. מ-2018 ואילך, מודלי הטמעה-הקשרית כמו BERT שיפרו את הדיוק עוד יותר, מכיוון שמודל שכבר "מבין" את ההקשר הסובב נוטה להבחין בין משמעויות דו-משמעיות (האם "וושינגטון" הוא אדם, עיר או מדינה?) בצורה אמינה בהרבה משיטות מבוססות-מאפיינים ישנות יותר.
שימושים היום
NER פועל היום, בעיקר באופן בלתי-נראה, בתוך מגוון רחב של כלים יומיומיים: מנועי-חיפוש משתמשים בו כדי להבין ששאילתה מציינת אדם או חברה ספציפיים ולא ביטוי כללי; מצרפי-חדשות משתמשים בו כדי לתייג אוטומטית כתבות לפי האנשים, המקומות והארגונים שהן מזכירות; מערכות שירות-לקוחות ומסמכים-משפטיים משתמשות בו כדי לסמן או להשחיר שמות אוטומטית; והוא שלב-עיבוד-מקדים נפוץ שמזין צינורות גדולים יותר של חילוץ-מידע וגרפי-ידע. מודלי-שפה גדולים מודרניים יכולים גם הם לבצע NER ישירות דרך פרומפט בשפה טבעית, בלי כל מודל-NER ייעודי — אך בסביבות-ייצור בקנה-מידה גדול עדיין נפוץ להעדיף מודלי-NER ייעודיים וקלים, מטעמי עלות ומהירות.
אתגרים שנשארו פתוחים
גם עם השיטות הנוירוניות המודרניות, NER נשאר קשה במובנים אמיתיים וספציפיים: שמות דו-משמעיים בין סוגי-ישויות תלוי-הקשר בלבד (שוב, "וושינגטון"); שפות עתירות-מורפולוגיה כמו עברית, בלי אות-רישית שמסמנת שם-עצם-פרטי כפי שקורה באנגלית; ישויות מקוננות, שבהן ישות אחת יושבת בפועל בתוך ישות אחרת ("מגדל בנק אוף אמריקה" מכיל בתוכו את "בנק אוף אמריקה"); וסוגי-ישויות תחומיים שנתוני-אימון כלליים כמעט לא מכסים, כמו שמות גנים וחלבונים בטקסט ביו-רפואי — ולכן NER ביו-רפואי נשאר תת-תחום מומחה בפני עצמו, עם מאגרי-נתונים ומודלים ייעודיים, ולא נפתר על-ידי מערכת כללית אחת.