ה-HeQ הוא דאטה-סט גדול שכולל 30,147 שאלות ותשובות בעברית, שהוכן על-ידי חברת ווביקס כחלק מהתוכנית הלאומית לעיבוד שפה טבעית בעברית ובערבית. הדאטה-סט מיועד לאפשר אימון של מודלי NLP למשימת סימון תשובות לשאלות בטקסט בעברית (Extractive Question Answering). הוא נוצר בהמשך לפרשו״ת, דאטה-סט של כ-3,000 שאלות ותשובות על פסקאות אשר פורסם בספטמבר 2021.
בדומה לפרשו״ת, גם HeQ תויג בסגנון של SQuAD, דאטה-סט פופולרי של שאלות ותשובות באנגלית: צוות מתייגים קיבל פסקאות בעברית, והתבקש לכתוב שאלות על כל פסקה ולסמן את התשובות בתוך הפסקה.

ה-HeQ נוצר בשאיפה לקדם את תחום הבנת השפה הטבעית (Natural Language Understanding) בעברית. ביצירת הדאטה-סט הובאו בחשבון שלושה קריטריונים חיוניים:
1. היקף – HeQ מכיל למעלה מ-30,000 שאלות, פי 10 יותר מאשר פרשו״ת.
2. איכות – תהליך התיוג נפתח בברירה של מתייגים על סמך ביצועיהם, ולווה בבקרת איכות קפדנית.
3. גיוון – הדאטה-סט נשען על שני מקורות טקסטואליים: תוכן אנציקלופדי (ויקיפדיה) ותוכן חדשותי-טכנולוגי (כתבות גיקטיים), בעוד פרשו"ת מבוסס על ויקיפדיה בלבד. הבדל מהותי נוסף בין הדאטה-סטים מתבטא בגיוון בסוגי השאלות: פרשו״ת כולל רק שאלות פתירות, שיש להן מענה בפסקה; ואילו ב-HeQ תויגו שני סוגים של שאלות: שאלות פתירות וגם שאלות בלתי פתירות, שנאספו כדי לאמן מודלים לזהות מצבים שבהם הטקסט לא מכיל מענה לשאלה שנשאלה.

איזה אתגרים מביא איתנו תהליך התיוג של דאטה-סט מסוג זה?

  1. זמינות מתייגים דוברי עברית: דרישת הסף היא בקיאות ברמת שפת אם בעברית, שפה לה אוכלוסיית דוברים קטנה יחסית. על כן, קהל המתייגים הרלוונטי למשימה מצומצם מאוד בהשוואה למשימות תיוג בשפות נפוצות יותר, או בהשוואה למשימות שאינן תלויות כלל בידע לשוני ספציפי.
  2. משימת תיוג יצרנית: הדרישה לנסח שאלות בשפה חופשית היא משימה מורכבת יותר ממשימות סימון או סיווג נתונים.
  3. מגבלות של מרחב היצירה: בדאטה-סט מסוג Extractive התשובות לשאלות אינן מנוסחות מחדש, אלא מחולצות כפי שהן מתוך הקונטקסט הקיים. מנעד השאלות ש״מותר״ לשאול נשענות על אוסף מוגבל של תשובות, ועל כן לא כל שאלה לגיטימית על הטקסט היא שאלה אפשרית לתיוג. לדוגמה: נשללת האפשרות לשאול שאלות ״כן״ ו״לא״.
  4. קיום של מספר אפשרויות תיוג לגיטימיות: אופיה היצרני של המשימה מקשה על האפשרות להשתמש ב-inter-annotator agreement לאומדן איכות התיוג. לא זאת בלבד שעל כל פסקה אפשר לנסח מגוון רחב של שאלות – על חלק גדול מהשאלות עונה מנעד של טווחי תשובה לגיטימיים, שכן את אותה התשובה אפשר לסמן בדרכים מגוונות (אפשר לכלול בטווח התשובה או לנפות ממנה סימני מרכאות, מילות יחס המקדימות את התשובה, לוואים וכו׳).

חילוץ פסקאות מוויקיפדיה ומגיקטיים

הפסקאות לתיוג נלקחו משני מקורות: ויקיפדיה (תוכן אנציקלופדי) וגיקטיים (תוכן חדשותי-טכנולוגי).

עבור מאגר הפסקאות של ויקיפדיה נבחרו כ-3,800 הערכים (articles) הפופולריים ביותר. מתוך ערכים אלה, הגרלנו באקראי פסקאות הכוללות בין 500 ל-1,600 תווים; לא יותר משלוש פסקאות לערך אחד, על מנת להבטיח תוכן מגוון במאגר הפסקאות. פסקאות שהתבססו על מקטעים רבים שאינם מילוליים (כמו משוואות בפסקאות שעסקו בתוכן מתמטי), ופסקאות שעסקו בתכנים בוטים, גרפיים או קשים באופן חריג נופו מן המאגר, וחלקן הוחלפו ידנית בפסקאות אחרות.

את מאגר הפסקאות של גיקטיים שאבנו מתוך כתבות שפורסמו באתר החל מ-2017 ואילך, שמהן ניפינו מראש את כלל התכנים מקטגוריית ניהול קריירה (שאינה מכילה תוכן חדשותי אלא תיאורי משרות וקורסים). מתוך מאגר הכתבות שנשאר, הוגרלו אקראית פסקאות הכוללות בין 550 ל-1,600 תווים באופן כללי, ולפחות 300 מהם בעברית.

 

גיבוש מדריך ההנחיות

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

  1. להעריך את ההיענות לביצוע המשימה בפלטפורמה שנבחנה, וכן את היענותם של המשתתפים לשוב ולהשתתף במשימה זהה.
  2. לאמוד את קצב התיוג (כ-40 שאלות בשעה).
  3. לגבש מדריך הנחיות יעיל ורלוונטי על סמך ניתוח ידני של בעיות אמיתיות שנצפו אצל המשתתפים.
  4. להעריך את השפעתו של משוב (נמצא שיפור יחסי בביצועיהם של מתייגים שהשתתפו פעמיים במשימה).

מדריך הנחיות התיוג הסופי [4] שנכתב על סמך הסבב הניסויי מתפרש על פני שישה עמודים ומחולק לשלושה פרקים: (1) הנחיות לניסוח שאלה פתירה, (2) הנחיות לניסוח שאלה בלתי-פתירה ו-(3) הנחיות לסימון תשובה.

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

הנחיות אחרות מעודדות את המתייגים לשדרג את איכות השאלה מעבר להיותה ׳עוברת סף׳, ומציעות מגוון דרכים וטיפים איך לעשות זאת. ההנחיות והדגשים מלווים בדוגמאות לשאלות טובות/פסולות.

ברירת מתייגים

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

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

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

  1. טווח תשובה גדול מדי (מחרוזת התווים שסומנה בתור תשובה לא הייתה התשובה עצמה, אלא משפט מלא או מקטע ארוך שניתן למצוא בתוכו את התשובה).
  2. אי הבנת ההוראות הנוגעות לשאלות בלתי פתירות.
  3. ריבוי טעויות תשומת לב (טעות הקלדה בכל שאלה, תשובות רבות חתוכות באקראי מאמצע מילה וכדומה).

שילוב של מדד אוטומטי בניתוח איכות התיוג: משתתפים שנכשלו בסוגיית טווח התשובה נופו באמצעות בדיקה אוטומטית של מספר המילים החופפות בין השאלה לתשובה. מאחר שטווח התשובה הנדרש צריך להכיל רק את התשובה עצמה, ולא את המשפט המלא שבו היא משובצת, החפיפה הלקסיקלית בין שאלה לבין תשובה תקינה היא קטנה: בדרך כלל מילים שהופיעו בשאלה לא יופיעו בתשובה (אם תהיה חפיפה היא תסתכם במילה או שתיים לכל היותר, על פי רוב מילת תפקוד כמו ׳של׳). לדוגמה, במקרה של השאלה ״מי היה ראש הממשלה הראשון של ישראל?״ טווח התשובה התקין (דוד בן גוריון) מכיל 0 מילים שהופיעו בשאלה, וטווח התשובה הפסול (דוד בן גוריון היה ראש הממשלה הראשון של מדינת ישראל) מכיל 6 מילים שהופיעו בשאלה. מדד זה נמצא יעיל מאוד לאיתור נבחנים שנכשלו בהבנת הנחיות סימון תשובה.

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

תיוג מלא ובקרה שוטפת

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

״תודה רבה על השתתפותך! עשית עבודה מצוינת. ניסחת מחדש היטב את השאלות הפתירות במילים שלך, והשאלות הבלתי פתירות היו ברמה גבוהה מאוד.

״אשמח לשתף איתך נקודה אחת לשיפור לקראת המשימה הבאה:

״בפסקה על הכדורסלן רואן בארט, שאלת – ״כמה פעמים השתתף בארט במשחק נייקי הופ סאמיט?״

״וסימנת את התשובה שנית (מתוך המשפט: ״באפריל 2018 השתתף בשנית במשחק נייקי הופ סאמיט״).

״התשובה לשאלה צריכה להיות מנוסחת כתשובה טבעית לשאלה, כלומר פעמיים או 2.

״אם לא מצאת רכיב מתאים בתור תשובה בהקשר הרלוונטי, ייתכן שמוטב לחשוב על שאלה אחרת.״

מתייגים אשר למדו מההערות ויישמו אותן הוזמנו למשימות נוספות; מתייגים שלא השתפרו בביצועיהם נופו. בתיוג ויקיפדיה השתתפו 42 מתייגים אשר 9 מהם נופו במהלך העבודה, ובתיוג גיקטיים השתתפו 28 מתייגים אשר 3 מהם נופו במהלך העבודה.

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

  1. שאלות ללא מילת שאלה: ברוב הפעמים מדובר בשגיאת הקלדה ש״נפלה״ על מילת השאלה, אך המטרה העיקרית של הבקרה הייתה לוודא שהשאלה לא מנוסחת כמשימת השלמת משפטים (״עמק החולה הוא חלק מ…״) וכן לבדוק שלא מדובר בשאלת ״כן״ ו״לא״ (כמו ״מותר לקחת אקמול לפני האוכל?״). יש לציין כי שאלות ״האִם…?״ נפסלו באופן אוטומטי.
  1. לתשובה יש יותר ממופע אחד בטקסט: במקרים שבהם התשובה לשאלה חזרה על עצמה יותר מפעם אחת בטקסט, בדקנו ידנית את השאלה כדי לוודא שהתשובה מסומנת במיקום הרלוונטי, ולתקן במקרה הצורך. בקטע הבא, לדוגמה, המילה ״ירושלים״ מוזכרת פעמיים: ״על פי המסופר במקרא, הייתה ירושלים1 עיר יבוסית, עד כיבושהּ בידי דוד המלך. […] בשנת 1187 כבש צלאח א-דין את ירושלים, ורוב האוכלוסייה הנוצרית סולקה ממנה.״ התשובה לשאלה: ״את איזו עיר כבש דוד המלך?״ צריכה להיות המופע הראשון, ירושלים. התשובה לשאלה: איזו עיר נכבשה בשנת 1187? צריכה להיות המופע השני, ירושלים.
  1. חפיפה בין המילים בשאלה לתשובה, כמתואר בסעיף ברירת מתייגים.
  1. תשובה חתוכה מתוך מילה: תשובות שהאות הראשונה בהן אינה התו הראשון של מילה, ושהאות המופיעה לפניהן אינה אחת מאותיות השימוש מש״ה וכל״ב (את אותיות השימוש מותר לחתוך במסגרת הנחיות סימון תשובה) תוקנו במקרה הצורך. למשל, במקרה שבמקום ירושלים סומנה מחרוזת התווים ירושלים כתשובה לשאלה.

בסיום שלב התיוג נערכו מספר פעולות ניקוי על הדאטה: נמחקו שאלות כפולות על אותה פסקה, נמחקו רווחים מיותרים בסוף או בתחילת שאלה, נוסף סימן שאלה בשאלות שבהן היה חסר, נוקו תווים מיותרים שסומנו בתשובה (נקודה, פסיק, פתיח של סוגריים או מרכאות, רווח בהתחלה או בסוף התשובה).

חלוקה לסטים

הדאטה-סט חולק לשלושה סטים: סט אימון (90%), סט ולידציה (5%) וסט מבחן (5%). החלוקה של השאלות לסטים הייתה אקראית תוך שליטה בהתפלגות של מספר מאפיינים:

  1. כל השאלות שנשאלו על אותו הערך (בוויקיפדיה) או אותה הכתבה (בגיקטיים) הוקצו לאותו סט (על מנת למנוע 'זליגת' מידע מסט האימון לסט המבחן/ולידציה).
  2. נבחרו שתי מתייגות שעבודתן הייתה ברמה גבוהה – מתייגת אחת שהשאלות שלה הוקצו לסט המבחן בלבד הן של ויקיפדיה (279 מהשאלות בסט) והן של גיקטיים (46 שאלות מהשאלות בסט), ומתייגת אחרת שהשאלות שלה הוקצו לסט הוולידציה של ויקיפדיה בלבד (210 מהשאלות בסט), מכיוון שהיא לא השתתפה בתיוג גיקטיים. חלוקה זו נועדה לוודא שביצועי המודלים שיאומנו על סט האימון וייבחנו על סט המבחן/ולידציה יוערכו גם על יכולת ההכללה הסגנונית של המודל (מכיוון שהתשובות ובעיקר השאלות של כל מתייג מתאפיינות, במידה מסוימת, בסגנון אישי ייחודי).
  3. מתוך כלל שאלות שבתהליך הבקרה הוגדרו כאיכותיות ביותר, שליש הוקצו לסט המבחן ושליש לסט הוולידציה. מאפיין זה תורם לאיכות של סטים אלה.

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

סימון תשובות נוספות בסט הוולידציה והמבחן

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

לדוגמה: אם התשובה נתונה בתוך מרכאות, היא עשויה לכלול או שלא לכלול את המרכאות; תשובות עשויות לכלול או שלא לכלול מילות יחס המקדימות את תוכן התשובה (ב-, על-, את-) או רכיבי תמורה (״השחקנית מריל סטריפ״ לעומת ״מריל סטריפ״) וכו׳. לכל שאלה פתירה נוספו בין 0 ל-6 אפשרויות נוספות לסימון תשובה.

בטבלה שבתמונה מוצגות דוגמאות לתשובות נוספות שסומנו בסט הוולידציה.

לסיכום

ה-HeQ הוא דאטה-סט גדול ואיכותי של שאלות ותשובות בעברית, שבשאיפה יהווה שלב משמעותי נוסף בקידום יכולות NLP בעברית במסגרת התוכנית הלאומית לעיבוד שפה טבעית.
אנחנו מקווים ש-HeQ, לצד מאמצים נוספים המתבצעים במסגרת התוכנית, יאפשר להדביק את הפער בין עברית לשפות אחרות בתחום ה-NLP, ולאפשר לחוקרים להגיע לפריצות דרך בתשתיות וטכנולוגיות לעיבוד והבנת השפה, עליהן ניתן לבסס יישומים כמו מנועי חיפוש משודרגים או צ׳טבוטים חכמים. נוסף על מטרה זו, אנחנו מקווים שהדאטה-סט שיצרנו, לצד הידע והכלים ששיתפנו, יעוררו מוטיבציה והשראה, יסייעו ביצירת דאטה-סטים חדשים, ויהוו עזר לכל מי שמעוניין להירתם למאמץ ולקדם את תחום ה-NLP בעברית.

המאמר נכתב על ידי עומר קורן, מנכ"ל webiks בקבוצת ONE