לפני מספר חודשים, ארגון dicta שחרר באופן ציבורי מודל שפה חדש בעברית בשם BEREL. הייחודיות של המודל היא שהוא אומן על טקסטים תורניים, השונים מטקסטים בעברית מודרנית באספקטים רבים.
אז מה זה בעצם מודל שפה? מה אפשר לעשות איתו? והאם המודל החדש יכול לסייע לנו בתחום התורני? על כך ננסה לענות במאמר הזה.
בינה מלאכותית היא הקניית יכולת למכונה לבצע דברים כאלו שנחשבים עד כה ייחודיים לאדם. (כן זו ההגדרה הנכונה, גם בויקיפדיה)
אחד התחומים החשובים ביותר בעולם הבינה המלאכותית הוא עיבוד שפה טבעית (NLP), כלומר היכולת של המחשב להבין מילים ומשפטים ולדבר כאחד האדם. האתגרים בנושא זה הם עצומים אך עם זאת בשנים האחרונות חלה התקדמות רבה בנושא, ושחרורו של ChatGPT הביא זאת למודעות של הציבור הרחב.
מודל שפה הוא בעצם תכנית שנועדה להתמודד עם משימות של עיבוד שפה טבעית.
לשם כך נבנו בשנים האחרונות מודלים המכילים מספר גדול מאד של פרמטרים (מיליונים עד עשרות מיליארדים) והם אומנו על כמות עצומה של טקסטים. מודלים בולטים הם GPT3 של openAI, או T5 של גוגל.
אחת מפריצות הדרך הגדולות בתחום היה פרסומו של המודל BERT על ידי גוגל בשנת 2018. החידוש העיקרי היה בכך שהמודל אומן מראש על הרבה מאד טקסט בצורה חופשית כך שהוא קיבל יכולות הבנת שפה כלליות חזקות, כאשר לאחר מכן ניתן לאמן אותו על נתונים מוגדרים ולכייל אותו למשימות ספציפיות בהן הוא דרוש, כך שאין צורך לאמן אותו מאפס עבור כל מטלה. המודל BEREL הוא בעצם גירסה של BERT שהותאמה לשפה התורנית (BERT Embeddings for Rabbinic-Encoded Language).
כדי להבין יותר את היכולות של מודל שפה נציין מספר תחומים מעולם עיבוד השפה:
סיווג טקסטים: כלומר לקבל רצף מילים נתון ולתייג אותו, לדוגמה האם התוכן הוא חיובי או שלילי. ( לדוגמא: אני אוהב את זה - חיובי. זה ממש גרוע - שלילי. אין כמוך וטוב שאין - ?!)
כאשר מדובר בצ'אטבוט, נידרש לסווג את השאלות לפי נושא, לדוגמה האם מדובר בשאלה בנושא ביטוח או בנושא גביה.
השוואת טקסטים: האם שני משפטים מבטאים את אותה משמעות? (לדוגמה: 1) הקופים היו רעבים ולכן הם קיבלו תפוזים לאכול. 2) התפוזים נאכלו על ידי הקופים שהיו רעבים. - אותה משמעות. 1) היום מעונן וגשום. 2) היום נעים בחוץ והשמש זורחת. - לא אותה משמעות)
ניחוש מילה: משפט נתון שהסתירו מילה אחת או יותר מתוכו והאתגר הוא לנחש נכונה את המילה הנכונה. (לדוגמה: חיים הלך למכולת וקנה <לחם> וחלב. כאשר המודל צריך לנחש את המילה "לחם")
למעשה זהו האתגר המרכזי שBERT וכן BEREL אומנו עליו. הסיבה לכך היא שניתן להשתמש בכל טקסט כפי שהוא בשביל אימון זה, כל מה שנדרש הוא להסתיר כמה מילים באופן אקראי. זאת בניגוד לשתי הדוגמאות הקודמות בהן צריך להשתמש בטקטסטים שתויגו מראש באופן אנושי, מה שמגביל מאד את יכולת האימון.
לענות על שאלות: בהנתן טקסט מסויים, ושאלה על הטקסט, לחלץ מתוך הטקסט את התשובה. (לדוגמה: משה הוא נגר וגר בירושלים, בנו יחיאל גר בבני ברק. השאלה: איפה גר יחיאל? התשובה: בבני ברק.)
סיכום ותימצות: לקחת טקסט ארוך וליצור ממנו טקסט קצר יותר בלי לאבד את הנקודות המרכזיות בטקסט המקורי.
וכמובן המשימה המרשימה ביותר, יצירת טקסט לפי פקודה. מה שאנחנו מכירים מchatGPT.
כמובן שישנם יישומים רבים נוספים לעיבוד שפה טבעית ואלו שהזכרנו על קצה המזלג הם רק למטרת המחשה.
לפני שנמשיך נציין כי ניתן לשחק עם המודל BEREL בכתובת הזו, שם ניתן להשוות אותו גם למודלים אחרים בעברית. הרעיון הוא להסתיר מילה ולצפות בניחושים של המודל.
והנה כמה היבטים בתחום התורני שהמודל עשוי לסייע בהם:
תחום זיהוי תמונה והפיכתה לטקסט (ocr) עשוי להסתייע רבות במודל שכזה, שכן מתחילת ימי הדפוס הוא אומץ בחום רב על ידי עם הספר, והודפסו עשרות אלפי כותרים של ספרי קודש בעברית, רבים מאד מהם בפונט שמכונה "כתב רש"י" שהוא בעצם פונט של עברית שמבוסס על צורת כתיבה שהיתה מקובלת בספרד של ימי הביניים (הסיבה לכינוי זה הוא משום שהספר הראשון שהודפס בפונט זה היה פירוש רש"י לתורה. רש"י עצמו מעולם לא השתמש בכתב זה.)
מלבד הבעיה שדפוסים רבים לא היו חדים והאותיות היו מטושטות או שבורות, עברית היא שפה קשה לזיהוי מחמת אותיות רבות שדומות זו לזו (ב-כ-נ, ח-ת-ה, ו-ז-ן, ס-ם), בעיה שאף מתעצמת עם השימוש בכתב רש"י (א-ש, ט-ע-מ, ס-ם, ק-ה).
נקודה נוספת היא שספרים רבים משלבים פונט עברי רגיל מרובע יחד עם כתב רש"י. מתכונת מקובלת היא שהמילה הראשונה בקטע היא בכתב מרובע והשאר בכתב רש"י. או שהטקסט המרכזי בספר הוא בכתב מרובע, והחיבורים סביב הם בכתב רש"י [הש"ס כדוגמה קלאסית, מקראות גדולות, שולחן ערוך ועוד.]
מכל הסיבות הללו, זיהוי טקסט של ספרי קודש ברמת דיוק גבוהה הינו אתגר משמעותי.
אחד הפתרונות לבעיה זו היא שילובו של מודל שפה שבהבנה נכונה של ההקשר יוכל לתקן אוטומטית שגיאות ולשפר מאד את איכות הזיהוי. בתחום זה ראוי לציון מאמר חשוב מאת חוקרים באוניברסיטת בר אילן שהגיעו לאחוז דיוק של 99.85 באמצעות מודל עיבוד שפה ושיפורים נוספים.
שימוש נוסף ליכולות עיבוד השפה עשוי להיות ביצירת חיפוש תורני בלי צורך לשים לב לדקדוק ולתחביר, כמו שבאמת כבר יצרו לנו צוות דיקטה כאן.
תחומים נוספים מהעולם התורני הם: ניקוד אוטומטי, חיפוש אזכורים וציטוטים מהספרות התורנית, מציאת מראי מקומות, פתיחת ראשי תיבות ועוד. כמה מהכלים הללו שולבו יחד לכלי שמכונה דיקטה "מייבין".
ככל הנראה בעתיד תתאפשר גם עריכה תורנית, לשונית ודקדוקית, וזאת גם בהתאמה לפי סגנון (ארמית מלאה, משולב עם עברית או עברית צחה). ואל תתפלאו, כי בשפה האנגלית כבר ישנו כלי שעוזר לשפר סגנון ונותן אפשרות לבחור בין סגנון רשמי או עממי יותר.
יש לכם רעיונות נוספים לשימוש תורני במודל שפה? אשמח לשמוע.
אז מה זה בעצם מודל שפה? מה אפשר לעשות איתו? והאם המודל החדש יכול לסייע לנו בתחום התורני? על כך ננסה לענות במאמר הזה.
בינה מלאכותית היא הקניית יכולת למכונה לבצע דברים כאלו שנחשבים עד כה ייחודיים לאדם. (כן זו ההגדרה הנכונה, גם בויקיפדיה)
אחד התחומים החשובים ביותר בעולם הבינה המלאכותית הוא עיבוד שפה טבעית (NLP), כלומר היכולת של המחשב להבין מילים ומשפטים ולדבר כאחד האדם. האתגרים בנושא זה הם עצומים אך עם זאת בשנים האחרונות חלה התקדמות רבה בנושא, ושחרורו של ChatGPT הביא זאת למודעות של הציבור הרחב.
מודל שפה הוא בעצם תכנית שנועדה להתמודד עם משימות של עיבוד שפה טבעית.
לשם כך נבנו בשנים האחרונות מודלים המכילים מספר גדול מאד של פרמטרים (מיליונים עד עשרות מיליארדים) והם אומנו על כמות עצומה של טקסטים. מודלים בולטים הם GPT3 של openAI, או T5 של גוגל.
אחת מפריצות הדרך הגדולות בתחום היה פרסומו של המודל BERT על ידי גוגל בשנת 2018. החידוש העיקרי היה בכך שהמודל אומן מראש על הרבה מאד טקסט בצורה חופשית כך שהוא קיבל יכולות הבנת שפה כלליות חזקות, כאשר לאחר מכן ניתן לאמן אותו על נתונים מוגדרים ולכייל אותו למשימות ספציפיות בהן הוא דרוש, כך שאין צורך לאמן אותו מאפס עבור כל מטלה. המודל BEREL הוא בעצם גירסה של BERT שהותאמה לשפה התורנית (BERT Embeddings for Rabbinic-Encoded Language).
כדי להבין יותר את היכולות של מודל שפה נציין מספר תחומים מעולם עיבוד השפה:
סיווג טקסטים: כלומר לקבל רצף מילים נתון ולתייג אותו, לדוגמה האם התוכן הוא חיובי או שלילי. ( לדוגמא: אני אוהב את זה - חיובי. זה ממש גרוע - שלילי. אין כמוך וטוב שאין - ?!)
כאשר מדובר בצ'אטבוט, נידרש לסווג את השאלות לפי נושא, לדוגמה האם מדובר בשאלה בנושא ביטוח או בנושא גביה.
השוואת טקסטים: האם שני משפטים מבטאים את אותה משמעות? (לדוגמה: 1) הקופים היו רעבים ולכן הם קיבלו תפוזים לאכול. 2) התפוזים נאכלו על ידי הקופים שהיו רעבים. - אותה משמעות. 1) היום מעונן וגשום. 2) היום נעים בחוץ והשמש זורחת. - לא אותה משמעות)
ניחוש מילה: משפט נתון שהסתירו מילה אחת או יותר מתוכו והאתגר הוא לנחש נכונה את המילה הנכונה. (לדוגמה: חיים הלך למכולת וקנה <לחם> וחלב. כאשר המודל צריך לנחש את המילה "לחם")
למעשה זהו האתגר המרכזי שBERT וכן BEREL אומנו עליו. הסיבה לכך היא שניתן להשתמש בכל טקסט כפי שהוא בשביל אימון זה, כל מה שנדרש הוא להסתיר כמה מילים באופן אקראי. זאת בניגוד לשתי הדוגמאות הקודמות בהן צריך להשתמש בטקטסטים שתויגו מראש באופן אנושי, מה שמגביל מאד את יכולת האימון.
לענות על שאלות: בהנתן טקסט מסויים, ושאלה על הטקסט, לחלץ מתוך הטקסט את התשובה. (לדוגמה: משה הוא נגר וגר בירושלים, בנו יחיאל גר בבני ברק. השאלה: איפה גר יחיאל? התשובה: בבני ברק.)
סיכום ותימצות: לקחת טקסט ארוך וליצור ממנו טקסט קצר יותר בלי לאבד את הנקודות המרכזיות בטקסט המקורי.
וכמובן המשימה המרשימה ביותר, יצירת טקסט לפי פקודה. מה שאנחנו מכירים מchatGPT.
כמובן שישנם יישומים רבים נוספים לעיבוד שפה טבעית ואלו שהזכרנו על קצה המזלג הם רק למטרת המחשה.
לפני שנמשיך נציין כי ניתן לשחק עם המודל BEREL בכתובת הזו, שם ניתן להשוות אותו גם למודלים אחרים בעברית. הרעיון הוא להסתיר מילה ולצפות בניחושים של המודל.
והנה כמה היבטים בתחום התורני שהמודל עשוי לסייע בהם:
תחום זיהוי תמונה והפיכתה לטקסט (ocr) עשוי להסתייע רבות במודל שכזה, שכן מתחילת ימי הדפוס הוא אומץ בחום רב על ידי עם הספר, והודפסו עשרות אלפי כותרים של ספרי קודש בעברית, רבים מאד מהם בפונט שמכונה "כתב רש"י" שהוא בעצם פונט של עברית שמבוסס על צורת כתיבה שהיתה מקובלת בספרד של ימי הביניים (הסיבה לכינוי זה הוא משום שהספר הראשון שהודפס בפונט זה היה פירוש רש"י לתורה. רש"י עצמו מעולם לא השתמש בכתב זה.)
מלבד הבעיה שדפוסים רבים לא היו חדים והאותיות היו מטושטות או שבורות, עברית היא שפה קשה לזיהוי מחמת אותיות רבות שדומות זו לזו (ב-כ-נ, ח-ת-ה, ו-ז-ן, ס-ם), בעיה שאף מתעצמת עם השימוש בכתב רש"י (א-ש, ט-ע-מ, ס-ם, ק-ה).
נקודה נוספת היא שספרים רבים משלבים פונט עברי רגיל מרובע יחד עם כתב רש"י. מתכונת מקובלת היא שהמילה הראשונה בקטע היא בכתב מרובע והשאר בכתב רש"י. או שהטקסט המרכזי בספר הוא בכתב מרובע, והחיבורים סביב הם בכתב רש"י [הש"ס כדוגמה קלאסית, מקראות גדולות, שולחן ערוך ועוד.]
מכל הסיבות הללו, זיהוי טקסט של ספרי קודש ברמת דיוק גבוהה הינו אתגר משמעותי.
אחד הפתרונות לבעיה זו היא שילובו של מודל שפה שבהבנה נכונה של ההקשר יוכל לתקן אוטומטית שגיאות ולשפר מאד את איכות הזיהוי. בתחום זה ראוי לציון מאמר חשוב מאת חוקרים באוניברסיטת בר אילן שהגיעו לאחוז דיוק של 99.85 באמצעות מודל עיבוד שפה ושיפורים נוספים.
שימוש נוסף ליכולות עיבוד השפה עשוי להיות ביצירת חיפוש תורני בלי צורך לשים לב לדקדוק ולתחביר, כמו שבאמת כבר יצרו לנו צוות דיקטה כאן.
תחומים נוספים מהעולם התורני הם: ניקוד אוטומטי, חיפוש אזכורים וציטוטים מהספרות התורנית, מציאת מראי מקומות, פתיחת ראשי תיבות ועוד. כמה מהכלים הללו שולבו יחד לכלי שמכונה דיקטה "מייבין".
ככל הנראה בעתיד תתאפשר גם עריכה תורנית, לשונית ודקדוקית, וזאת גם בהתאמה לפי סגנון (ארמית מלאה, משולב עם עברית או עברית צחה). ואל תתפלאו, כי בשפה האנגלית כבר ישנו כלי שעוזר לשפר סגנון ונותן אפשרות לבחור בין סגנון רשמי או עממי יותר.
יש לכם רעיונות נוספים לשימוש תורני במודל שפה? אשמח לשמוע.