פרויקט במדעי הרוח הדיגיטליים - מקומות בשירה העברית
תיאור הפרויקט
פרויקט זה בוצע במסגרת הקורס נושאים במדעי הרוח הדיגיטליים, בהנחייתה של ד"ר יעל נצר.
במסגרת פרויקט זה, ניתחנו מאגר של כ-90 אלף שירים עבריים, ריכזנו את אלו שמוזכרים בהם מקומות, ערים ומדינות בעולם וניתחנו את הנתונים שהתקבלו בהתאם לשאלת המחקר.
שאלת המחקר
בפרויקט זה חקרנו את הקשר בין שנות פרסום השירים לבין המקומות המוזכרים בהם.
שאלות המחקר בהן התמקדנו:
1. האם קיים קשר בין שנות פרסום השירים לבין המקומות המוזכרים בהם?
2. אילו מקומות מופיעים מספר רב של פעמים בשירה העברית?
תיאור שלבי הפרויקט
בפרויקט זה התבססנו על מאגר של כ-90 אלף שירים עבריים.
השלבים שבוצעו:
1. מעבר על השירים ומחיקת שירים שלא מכילים שמות של מקומות.
2. ביצענו ניתוח תחבירי, על ידי שימוש ב-tagger שנכתב על ידי ד"ר אדלר מאוניברסיטת בן גוריון. בעזרת הכלי הנ"ל הצלחנו לסנן מספר רב של שירים.
3. עבור מקומות שתיתכן עבורם יותר ממשמעות אחת, ביצענו תרגום לאנגלית על מנת לוודא מהי המשמעות הנכונה. במסגרת שלב זה, ביצענו שימוש ב-API של Google Translate המיועד לשפת התכנות Python.
דוגמה: השיר איש וכינור של חיים אוליאל, מכיל את השורה "שדרות ובית", היינו צריכים להבין כי מדובר בעיר שדרות ולא ברבים של שדרה.
4. עבור מקומות שלא ניתן היה להחליט עבורם בעזרת כל השלבים הקודמים, ביצענו סינון ידני של כ-500 שירים, בעזרת קוד בשפת Python ושימוש בעורך טקסט Kate.
5. בעזרת קובץ JSON שנוצר בשלבים הקודמים, ביצענו שימוש במספר כלים על מנת להשיג את שנת הפרסום של השירים. השתמשנו ב-API של Spotify עבור Python, בקוד שכתבנו על מנת לבצע פניות לאתר מוזיקה ישראלי שנקרא סטריאו ומונו וב-API נוסף של שירות הנקרא Musixmatch. בעזרת שילוב של כל הכלים האלו, הצלחנו להשיג את שנות פרסום השירים עבור חלק מהשירים. שירים ששנת פרסומם אינה ידועה מסומנים כשנה 0.
בנוסף, בשלב זה שמרנו גם קישור לתמונת האלבום ולקדימון, עבור שירים שקיימים עבורם הנתונים הנ"ל.
6. בעזרת קובץ ה-JSON שנוצר בשלב הקודם, כתבנו קוד בשפת Java שיוצר קובץ CSV המכיל עבור כל מקום את כמות האזכורים בכל שנה.
7. ביצענו תרגום לשמות המקומות, על ידי שימוש ב-API של Google Translate עבור Python, את התוצאות שמרנו בקובץ ה-JSON שנוצר בשלב 5.
8. על ידי שימוש בקובץ ה-JSON שנוצר בשלב הקודם, מצאנו את קווי האורך והרוחב של המקומות המוזכרים בשירים השונים. על מנת לעשות זאת כתבנו קוד בשפת Java שנעזר בשירות של OpenStreetMap.
9. כיוון שישנם מספר שירים על אותם מקומות, ביצענו שינויים קלים לקווי האורך והרוחב שמצאנו בשלב הקודם, על מנת למנוע מצב שבו נקודות על המפה יסתירו אחת את השניה.