חברתנו תמר נשאלה לגבי "כלי אוטומטי לחקירת שפה" והבלוג שמח להחזיר לה טובה ולבדוק את הנושא. מכרתה ר' ביקשה לדעת על מנוע שיכול לעבור על טקסט שהיא כתבה, להציע מילים שונות לאלה שהשתמשו בהן ואפילו לתת ניתוח פסיכולוגי על בסיס המילים שנכתבו. בגלל שלפני כמה חודשים נשאלתי שאלה דומה אסקור בקצרה את מה שעניתי אז, אוסיף כמה דברים שמצאתי בינתיים ואפנה את הבמה לקוראינו שיספרו בתגובות על מה שהם מכירים או השתמשו בו.
לפני שמתחילים כדאי אולי לומר את המובן מאליו, והוא שאין באמת תוכנית שיכולה לעשות את זה בצורה מושלמת משום שאין תוכנית שמסוגלת לחשוב ולהיות יצירתית, והשאלה אם אי פעם תהיה תוכנית כזו עודנה שאלה פתוחה (להבדיל משאלה סתומה). נקודה חשובה נוספת היא שרוב הכלים מפותחים עבור שפות משעממות כמו אנגלית, ובכלל לא בטוח שהם יוכלו לעבוד עם טקסטים בעברית (תודה לאורן על התזכורת הזו).
התחום הקרוב ביותר לעניין הזה בבלשנות חישובית נקרא sentiment analysis, ניתוח רגשות. כשחיפשתי כלים כאלה שנגישים לציבור הרחב – ואינם רק אבות-טיפוס של קבוצות מחקר שונות – מצאתי כמה שאת טיבם אינני מכיר. למשל, יש כלי לכריית מידע שנקרא RapidMiner של איזו חברה גרמנית וניתן להוריד אותו בחינם, אבל הוא עשוי להיות מסובך עבור חסרי רקע בתחום.
מוצר מבטיח נוסף הוא OpenAmplify, שגם בו לא השתמשתי.
סוציובלשנים רבים משתמשים בכלי פופולרי בשם Wordsmith Tools. הוא אמנם לא עושה SA אבל יש בו כלי קונקורדנציה יעיל ויכולת להפיק מילות מפתח. אפשר להוציא ממנו תובנות יפות, גם אם בסיסיות. למשל, מכרה שלי מצאה שבקורפוס עיתונות קנדית מסוים, המילה "דו-לשוניות" בצרפתית מופיעה יותר בהקשרים שליליים מאשר בהקשרים חיוביים, ובעיתונות באנגלית המגמה הפוכה.
כאן בארץ, משה קופל מבר-אילן עובד על דברים דומים וגם הוזכר בתגובות לפוסט הזה של טל (אחד משלושת הטובים שלו, לדעתי). אורן ואני מזכירים שם בתגובות את העבודה הנהדרת של ראדה מיכלצ'אה שעסקה בדיוק בניתוח פסיכולוגי לפי מילים בטקסט.
את הזווית הישראלית משלים הפוסט הזה של גנאדי למברסקי שסקר את חברות עיבוד השפה הפעילות בארץ.
זו סקירה חלקית, כמובן, הן מבחינת ההיקף (התוכנות שאני מכיר) והן מבחינת העומק (עד כמה אני מכיר אותן). קוראינו מוזמנים להשלים את החסר.
אני מניח שקודם צריך להגדיר מה זה "חקירת שפה". כי כמו שניתן לשאול "איזה רגש מובע במקטע הטקסט הזה", ניתן לשאול שאלות אינספור אחרות. האם הכותב דובר אמת? האם הטקסט נכתב ע"י מחשב, או ע"י אדם? האם הכותב גבר או אשה? או גיי? מה שפת אימו של הכותב?
ומקרה קיצוני, שאני יכול אולי לחפור את המאמר המקורי בנוגע אליו – בניית רשת חברתית של דמויות מרומאנים אנגליים, כדי לסתור טענה ספרותית כלשהי.
שאלות אחרות יכולות להיות לגבי איכות הטקסט. המרכז הארצי לבחינות והערכה טוען שיש לו כלי לשפיטת איכות חיבורים לצרכי הבחינה הפסיכומטרית (איני יודע אם זה אחד הלינקים שהובאו, לא עקבתי אחרי כולם). הנה, ישום, ובשפה השמית המחרידה שלנו.
אז לפני שטוענים ש-"אין באמת תוכנית שיכולה לעשות את זה בצורה מושלמת משום שאין תוכנית שמסוגלת לחשוב ולהיות יצירתית", טענה שהיא כנראה נכונה, בכל זאת כדאי להבהיר יותר טוב מה זה "את זה".
whitesmoke
סליחה, לא קראתי מספיק טוב.
מייה קולפה.
עוד כמה הערונות.
1. מלבד היותם של מחשבים יצורים די מטופשים, צריך לזכור שהמשימה של "ניתוח שפה" (ויצירת פרופיל פסיכולוגי) היא משימה קשה במובן שגם בני אדם מתקשים בה ולא מסכימים על "ניתוח" מסויים.
2. כל האלגוריתמים הם אלגוריתמים סטטיסטיים כך שהצלחה (?!) נמדדת על ידי ממוצע הטעות על קבוצת מבחן גדולה ואין שום ביטחון באשר לאיכות התוצאה על מסמך ספציפי (טוב, יש ביטחון, במובן הסטטיסטי).
3. לתיוג טקסט (זיהוי ישויות) יש את open Calais שלclear forest.
4. ככל כלי לומד-סטטיסטי, יש חשיבות מאוד גדולה לקורפוס עליו אומן האלגוריתם. היינו אלגוריתם שאומן ועובד נפלא על ביקורות מוצרים באמזון לא בהכרח יפעל כל כך טוב (אם לא יאומן ויכוונן מחדש) על בלוגים או על חיבורים של ילדי תיכון.
5. חבילת תוכנה פתוחה ונחמדה היא GATE. יש בה מודולים שונים לעיבוד שפה ויש בה גם מודול לsentiment analysis. אין לי מושג אם הוא טוב ואין לי מושג על מה הוא אומן.
ועוד כמה:
-המחקר לגבי גרף חברתי של דמויות ספרותיות הוא של הקבוצה של קת'י מקאוון מקולומביה והוא התפרסם בשנה שעברה (ACL).
– המחקר של המרכז הארצי התפרסם גם הוא בשנה שעברה (COLING או CONLL). ואני לא בטוח שהמחקר הוא על עברית.
– לגבי מין של הכותב – יש על זה מגוון מאמרים של משה קופל (כמו שצויין בפוסט).
– לגבי שפת המקור של הכותב – יש על זה מאמר של עבדכם הנאמן ומסתבר שאפשר לעשות את זה יפה מאוד עם נ-גרמים.
– אה, ועוד כלי לעיבוד שפה – יש פרוייקט מקיף בפייתון NLTK שמספק מודולים להרבה מאוד משימות עיבוד שפה.
בהמשך לאורן וקיפוד,
על דמויות ברומאנים כתבנו כאן. על המרכז הארצי כתבנו כאן וכאן.
אורן – על שפת המקור של הכותב שמעתי דווקא מהמנחה שלך, בסמינר המרתק שלו.
(כן, אני מניח שאתה עשית את רוב העבודה. עדיין, גם השם שלו על המאמר, לא?)
ועל תוכניות המרכז, שמעתי לראשונה בדווקא בקורס (המרתק למדי) של ד"ר ענת בן-סימון, על תורת המבחנים.
הלינק שלכם להרצאה של ד"ר כהן לא עובד. חפרתי טיפה באתר שם, ומצאתי הרצאה של בן-סימון – http://www.ispa.org.il/image/users/154293/ftp/my_files/convention/2011/presentations2011/moshavC-3.pdf?id=7759233
(גם כאן קשה להבין הרבה מהמצגת ללא המרצה האנושי שאמור להיות נלווה אליה…)
בקשר לעבודתה של ראדה מיכלצ'אה, אני קצת מפקפק בה. לא על סמך קריאת מה שעשתה, אלא על סמך השורה הקצרה כאן המתארת אותה. והסוגייה, מבחינתי, לא קשורה לבלשנות חישובית על כל גווניה – היא קשורה ליסוד התיאורטי שבמקרה הזה הבלשנית לוקחת מתחום אחר, במקרה הזה פסיכולוגיה. הויכוח הוא ארוך בשנים, אבל כל שיטות סיווג – מההבלים הפרוידיאניים ועד לנסיונות המודרניים לסווג בני אדם באופן מדעי (Big 5) – כולם לוקים בחסר. הם לא מצליחים במבחן הפשוט ביותר – בהנתן אינדיוידואל א' מסיווג ב', אנא נבא איך הוא יתנהג בסיטואציה ג'. הויכוח התיאורטי כמובן נרחב בהרבה, אבל נראה לי שזאת דרך לא רעב לתמצת אותו לשורה.
לא מצאתי את מאמריה של מיכלצ'אה, כדי לקורא על אילו תיאוריות היא התבססה. האתר שלה חסום בססמא לכל משאב מעבר לעמוד הראשון. אבל בכל זאת, כל עוד לא יציגו לי שיטה פסיכולוגית המסוגלת לנבא כיצד אדם יתנהג, אני אמשיך לפקפק בכך שבלשנים חישוביים יכולים לעשות זאת בעצמם. ברור הרי לכולנו שהם חייבים להתבסס על משהו, ולעבוד לפי הגדרות של קודמיהם בתחומים אחרים.
בתור התחלה, נסה ללחוץ על הלינק היחידי שמופיע באותו העמוד הראשון.
כל המאמרים שלה נמצאים וזמינים כאן: http://www.cse.unt.edu/~rada/papers.html
במאמר המדובר היא לא עוסקת בניבוי ובטח לא בניתוח אישיות אלא במציאת קורלציה בין שימוש במילים מסויימות למצב רוח מסויים. כיוון שמדובר בבלוגים שמתארים אירועים או פנטזיות אזי המילים מהוות פרוקסי להערכת "מה גורם לאנשים למצב רוח כזה או אחר. ושוב, מדובר בסטטיסטיקה על הרבה משתמשים.
המאמר הזה שלה באמת חמוד אבל העבודות שלה שאני אוהב באמת (למרות שלפעמים התוצאות לא מרשימות) הן העבודות שמנסות לאמץ מודל קוגניטיבי, למשל העבודה על ייצור אינדקסים לספרים.
אני לא יודעת אם זה קשור לבקשה שאני העליתי לאחרונה להמלצות על כלי כזה (שכן תמר היא חברתי בפייסבוק), אבל בסוף מצאתי כלי שהיה מה שהייתי צריכה:
http://crftagger.sourceforge.net
הכלי הזה מתייג את הטקסט קטגוריות לקסיקליות בלי לתת את הדעת על התוכן – רק מעניין אותי אם מילה מסוימת היא שם עצם, פועל, וכו' כדי שאני אוכל לתת לה התנהגות שונה בממשק שאני בונה.