1 / 35

מדריך: כתיבת ניסויים ל- projectimplicit

מדריך: כתיבת ניסויים ל- projectimplicit. כדי להעביר קבצים מהמחשב שלך לשרת האינטרנט (ובחזרה) שמסוגל להראות אותם ולהריץ ניסוי, יש לעשות שימוש בתוכנה בשם SecureFX .ניתן להוריד את התוכנה מכתובת זו: http://www.bgu.ac.il/~baranany/fx.exxe (להתקנתה, יש לשנות את הסיומת מ- exxe ל- exe ).

kizzy
Download Presentation

מדריך: כתיבת ניסויים ל- projectimplicit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. מדריך: כתיבת ניסויים ל-projectimplicit כדי להעביר קבצים מהמחשב שלך לשרת האינטרנט (ובחזרה) שמסוגל להראות אותם ולהריץ ניסוי, יש לעשות שימוש בתוכנה בשם SecureFX.ניתן להוריד את התוכנה מכתובת זו: http://www.bgu.ac.il/~baranany/fx.exxe (להתקנתה, יש לשנות את הסיומת מ-exxe ל-exe) זה SecureFX, לפעמים לא רואים בכלל את קבצים בהתחלה, אלא הכל ריק חוץ משורת המשימות למעלה. כדי להתחבר לשרת, יש ללחוץ על כפתור ה-Quick Connect

  2. כך יש למלא אותו וללחוץ על Connect (ה-hostname הוא dw2.psyc.virginia.edu, ה-username הוא ybalab. לא צריך לשנות כלום) אחרי שלחצת על Quick Connect, זה הדיאלוג שתראי. במסך הבא (משמאל) יש למלא את הסיסמה: smuyA

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

  4. * שימי לב: שמות הקבצים חייבים להיות באותיות קטנות. כזכור, SecureFX זו בסך-הכל תוכנה שמאפשרת העברת קבצים. את הקבצים עצמם את כותבת על המחשב שלך בעזרת תוכנות עריכה. תוכנה פשוטה וחינמית היא Notepad2 (http://www.flos-freeware.ch/notepad2.html). לאחרונה אני משתמש בעיקר ב-Notepad++, אך תוכנה זו פחות טובה כרגע בעריכת טקסטים בעברית. מעלים את הקבצים לאינטרנט באמצעות copy מהסייר (windows explorer) אל SecureFX.

  5. הקובץ הראשי של הניסוי הוא הקובץ שמסתיים ב-expt.xml. הוא מתאר מה ירוץ בניסוי. באתר שלproject implicit יש תוכנית שיודעת לקבל קובץ expt כזה כפרמטר ואז להריץ את הניסוי המתואר בה. במילים אחרות, יש url שבאמצעותו אפשר להפעיל תוכנית שמקבלת את ה-expt כמידע ומהמידע הזה היא יודעת לייצר ניסוי שלם. ה-url הזה נראה ככה: https:dw2.psyc.virginia.edu/implicit/Launch?study=/user/ybalab/dina/study2/dina1m-am.expt.xml

  6. במקום לכתוב את ה-url הזה בשורת הכתובת בדפדפן בכל פעם שאני רוצה להריץ את הניסוי לבדיקה, אני משתמש בקובץ html שבו אחד הלינקים הוא ל-url הזה. זהו הקובץ begin.htm. הנה הקוד שלו: אפשר לראות את הקובץ הזה (ולא רק את הקוד שלו) וללחוץ על הלינק לתחילת הניסוי בכתובת הבאה: https://dw2.psyc.virginia.edu/implicit/user/ybalab/yuval/arabe/begin.htm נסי להבין את הכתובת: היא מתחילה בכתובת של שרת הבדיקות שיושב בוירג'יניה והחל מ-user היא מתארת למעשה את התיקיות שאת רואה ב-SecureFX.

  7. כאמור, הקובץ הראשי של הניסוי הוא הקובץ שמסתיים ב-expt.xml. הוא מתאר מה ירוץ בניסוי. הקובץ כתוב בפורמט xml, פורמט שהוא בעצם פרוטוקול דרכו מעבירים מידע בין תוכניות שונות. במקרה הזה, אנחנו מעבירים מידע לתוכנית שיודעת להריץ ניסוי. יש שני חלקים במידע שהתוכנית מצפה לקבל ממך לגבי הניסוי. בחלק הראשון המוגדר תחת ה-tag הנקרא Definitions, תגדירי שמות של משימות ואילו קבצים יריצו את המשימות הללו. בדרך כלל, כל קובץ הוא פשוט עמוד שאותו התוכנית תציג. לפעמים זה קצת יותר מורכב. למשל, המשימה המכונה כאן jewh1 היא משימת IAT. את ה-IAT מריצים בעזרת קובץ מסוג jsp. זה קובץ כללי שיודע להריץ iat, והוא נמצא בספרייה כללית. הקובץ שלך כאן הוא jewarabh1.xml. זהו קובץ שמגדיר את ה-iat וקובץ ה-jsp מקבל אותו כפרמטר שמסביר לו אילו קטגוריות וגירויים יופיעו ב-iat.

  8. הסבר חוזר באמצעות קובץ expt אחר את שם הניסוי את קובעת ב-tag שנקרא Study. אם זה ניסוי בעברית בישראל, השם תמיד יתחיל ב-israel. בקובץ ה-expt נמצא המידע שהתוכנית מצפה לקבל ממך לגבי הניסוי. לקובץ שני חלקים. ה-Definitions וה-Map. בחלק הראשון המוגדר תחת ה-tag הנקרא Definitions, תגדירי שמות של משימות ואלו קבצים יריצו את המשימות הללו. בדרך כלל, פשוט מדובר בעמוד שאותו התוכנית תציג.

  9. הסבר חוזר: לפעמים הגדרת המשימה קצת יותר מורכבת. למשל, המשימה המכונה כאן homo1bad היא משימת Single-Target IAT. את ה-ST-IAT מריצים באמצעות קובץ jsp שנמצא בספרייה כללית (ולא בספריה של הניסוי המסוים הזה). זהו הקובץ המצוין בתוך ה-tag הנקרא Task במשימה המכונה כאן homo1bad. קובץ ה-jsp הזה יודע להריץ ST-IAT אבל הוא צריך נתונים כדי לדעת מה להציג ב-ST-IAT. הנתונים הללו נמצאים בקובץ homo1bad.xml המצוין כ-attribute בשם file (ראו למטה). עוד קבצים מיוחדים שקיימים הם שאלוני xml בפורמט קבוע יחסית, אך כאן אין דוגמה לכאלו. לכן נדון בשאלוני xml בעמוד מאוחר יותר. החלק השני החשוב בקובץ expt, מלבד החלק של ה-Definitions, הוא החלק המכונה Map. בחלק זה מתואר הניסוי. כאן, אנחנו רואים ניסוי מאוד פשוט, והמפה מבקשת להציג משימה אחת אחרי השנייה.

  10. ה-map משמאל מורכבת יותר. בתוך Branch אפשר לקבץ כמה משימות ביחד, ואפשר גם להציג אותן בסדר רנדומי או לבחור רק אחת באופן רנדומי. בנוסף, ניתן לראות שבתוך Task אפשר לשים עוד Tasks. בדרך-כלל, כש-tag נסגר מיד אז יש סלאש (/) בסוף לפני ה->. אם ה-tag עדיין לא נסגר אין את הסלאש ומתישהו צריך להגיע סגור-tag, כמו למשל </Branch>. או כמו </Task> במקרה של ה-Task המכונה instreal בדוגמה משמאל. למשל, בדוגמה משמאל בתוך הענף המכונה msr1, נמצאות שתי קבוצות של משימות. קבוצה אחת נמצאת בתוך tag של Task בשם instreal, והקבוצה השנייה של משימות נמצאת בתוך Branch בשם imsr. מכיוון שב-Branch העליון, זה המכונה ,msr1 מצוין select=“1”, זה אומר שהתוכנית תבחר אחת מקבוצות המשימות (אלו שבתוך ה-Task המכונה instreal או אלו שבתוך ה-Branch המכונה imsr) ולא תציג את הקבוצה האחרת. כלומר, ה-select=“1” אומר לתוכנית שעליה לבחור אחד מבין שני הבלוקים שנמצאים בתוך ה-Branch: ה-instreal או ה-imsr.

  11. שימו לב ש-imsr היא בעצמה Branch. בבארנץ' imsr אין select=“1”. כלומר, לא יבחר רק ענף אחד בתוכו. כמה ענפים שונים קיימים תחת imsr? יש לנו את instiatr שזו task שבתוכה נמצא Branch בשם riat, ויש גם את riep שזה בראנץ' נוסף. היות שב-imsr לא צוין ש-select=“1”, אז כל התת-ענפים שלו ייבחרו. אבל כן צוין ש-random=“true” ולכן הם יבחרו בסדר אקראי. כלומר, לפעמים כל מה שיש בתוך instiatr יופיע לפני riep, ולפעמים ההפך. מה קורה בתוך instiatr? דבר ראשון יש את instiatr, אז ה-task הזו תופיע. לאחריה, מתחיל ה-Branchriat. שימו לב שאצלו מוגדר ה-random=“true” וגם select=“1”. זה אומר שהענפים שבתוכו יבחרו באקראי, ורק אחד מהם יבחרו. כלומר, או ש-iatrace1 תרוץ או ש-iatrace2 תרוץ. במקרה של הניסוי הזה, ככה מגרילים בין נבדקים שני iat-ים עם block-order שונה.

  12. בקובץ ה-expt משמאל, ישנן כמה הגדרות מעניינות. יש משימות שהן קבצי jsp שמקבלים xml, כמו הגדרת ה-iat שראינו קודם. יש גם משימות שמוגדרות עם type בשם xform. ה-xform מייצר שאלון בעזרת קובץ xml מתאים. כלומר, ההגדרה הזו אומרת לתוכנית שמריצה את הניסוי שהמשימות האלו הן שאלון, והתוכנית יודעת להשתמש בקובץ ה-xml, כדי לייצר את השאלון. יותר מאוחר נראה כיצד כותבים את ה-xml שמתאים ל-xform. בינתיים, לגבי ה-expt, נוסיף שכאשר השאלון הוא בעברית, אז מוסיפים עוד דבר-מה להגדרה, כדי ליישר את הטקסט לימין:

  13. כתיבת IAT

  14. כאמור, התוכנית יודעת להריץ את ה-IAT באמצעות שורה כזו: משמעות השורה: תריצי את הקובץ iattask5.jsp ותעבירי לקובץ ה-jsp הזה את קובץ ה-xml שנקרא jewarabh1.xml. בנוסף, תשתמשי בפרמטרים נוספים לגבי ה-IAT שנמצאות בקובץ paramheb.xml (בקובץ הפרמטרים מוגדרים מאפיינים כמו המקשים שבהם נשתמש, משך הזמן בין צעד לצעד (ITI), הכתובת שממנה ייטענו התמונות, ועוד). אם אין path (כלומר, כתובת התיקיות) בשם הקובץ, אז התוכנית יודעת לחפש את הקובץ באותה תיקיה שבה נמצא קובץ ה-expt. אפשר גם להגדיר Task של IAT בלי להגדיר קובץ properties. במקרה כזה, התוכנית תשתמש בקובץ פרמטרים שהוא ברירת המחדל. לרוב לא עושים זאת, כי לרוב התמונות נמצאות בתוך תיקיית ה-images שלכם (ותיקיית התמונות מוגדרת בקובץ הפרמטרים). אך, אם משתמשים בתמונות שכבר קיימות בתיקיית התמונות הכללית של האתר, או משתמשים במילים ולא בתמונות, אז בדרך-כלל לא צריך להגדיר קובץ פרמטרים משלכם.

  15. קובץ ה-jsp נמצא משמאל. קובץ jsp הוא בעצם קובץ שהשרת יודע לייצר ממנו קובץ בפורמט שהדפדפן יודע לקרוא. כלומר, הדפדפן פונה אל השרת ומבקש שישלח את קובץ שיוצא כשמעבדים קובץ jsp מסוים, והשרת עושה כבקשת הדפדפן. קובץ jsp הוא כמעט כמו קובץ html, רק שבמקרה של קובץ html השרת לא עושה כלום חוץ מלשלוח את הקובץ אל הדפדפן, בעוד שבמקרה של קובץ jsp, השרת עושה קצת עבודה לייצור הקובץ שהוא ישלח לדפדפן.

  16. כל דבר שנמצא בתוך <% %> כתוב בשפת תִכנות הנקראת java, והוא נועד לייצר כל מיני חלקים מהקובץ, כל פעם שהדפדפן מבקש להראות את הקובץ. האמת היא שזה לא מאוד חשוב, כי, לפחות במקרה של ה-iat, את לא תשני לעולם את ה-jsp. בדרך-כלל, קובץ ה-jsp אפילו לא נמצא בתוך התיקיה שלך שבה מופיעים הקבצים האחרים בניסוי שלך. כל מה שחשוב להבין במקרה הזה, הוא שקובץ ה-jsp הזה מריץ תוכנית פלאש ושולח לתוכנית הפלאש הזו את קובץ ה-xml שהגדרת מקודם, כפרמטר. תוכנית הפלאש תדע להשתמש בקובץ ה-xml כדי להבין מה אמור להופיע ב-iat שהיא (תוכנית הפלאש) תייצר. מה זה תוכנית פלאש? פלאש זו תוכנה שהדפדפן יודע להריץ, והתוכנה הזו יודעת לעשות דברים דינאמיים. למשל, ב-youtube, לפחות נכון ל-2010, משתמשים בפלאש כדי להריץ את הסרטים.

  17. מה שתצטרכי לשנות בדרך-כלל זה את קובץ ה-xml שנשלח לתוכנית הפלאש. כזכור, הגדרת באיזה קובץ xml ייעשה שימוש בכל משימה בתוך קובץ ה-expt: במקרה, את קובץ ה-xml הזה, תוכלי למצוא בכתובת זו: https://dw2.psyc.virginia.edu/implicit/user/yba/slnc2/iatrace1.xml -שם המשימה מוגדר כאן -שם המשימה יופיע בנתונים, והוא יעזור לך להבחין בין iat-ים שונים, במידה שיש לך יותר מ-iat אחד בניסוי. -לאחר מכן מגדירים את ארבע הקטגוריות של ה-iat. -לכל קטגוריה יש מספר שבו נשתמש מאוחר יותר כדי להסביר אילו קטגוריות יוצגו בכל בלוק. -שם הקטגוריה כפי שהוא יופיע ב-iat מוגדר ב-CategoryName. -בתוך הקטגוריה מוגדרים כל גירוייה. כאן, כל הגירויים הם תמונות. התמונות הללו מופיעות במקרה בתיקיה המשותפת לכל הניסויים תחת /common/en-us/image (מיצאו ב-SecureFX). ב-2010 חל שינוי ולא ניתן להוסיף תמונות חדשות לתיקייה זו. לכן, כדאי להכין תיקיית תמונות לכל ניסוי, תחת תיקיית הניסוי.

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

  19. לאחר הקטגוריות, יש להגדיר את הבלוקים. החלק שיוצא כאן מהתמונה הוא ההוראות בפתיחת הבלוק (בתוך ה-Instruction). את ההוראות כותבים בשורה אחת ארוכה. בתוך [CDATAמתארים טקסט בשפת html. מספר הבלוק מתחיל מאפס והוא תמיד מקביל למספרו בתוך הקובץ (כלומר, חובה לכתוב את בלוק 0 לפני שכותבים את בלוק 1). בתוך TrialCount מגדירים את מספר הצעדים. בתוך BlockPairingDefinition מגדירים את הקטגוריות שתוצגנה. במקרה הזה, יוצגו שתי קטגוריות בלבד, הקטגוריה שמספרה 0 והקטגוריה שמספרה 2. אני חושב ש-2 תופיע מימין ו-0 משמאל. כשיש ארבע קטגוריות, ה- BlockPairingDefinition ייראה כך: ב- BlockPairingDefinition הגדרת הקטגוריות היא בפורמט של ימין-שמאל-ימין-שמאל. כלומר, בדוגמה כאן: 2 מימין, 0 משמאל, 1 מימין, 3 משמאל. אז, קטגוריות 2 ו-1 יהיו מימין וקטגוריות 0 ו-3 יהיו משמאל (אגב, יכול להיות שאני מתבלבל והסדר הוא שמאל-ימין-שמאל-ימין. טרם מצאתי סיבה להבחין בין שתי האפשרויות האלו).

  20. בסוף קובץ ה-xml של ה-iat מגדירים את הודעות הפידבק שתיראה הנבדקת: ה-cutoff זה בעצם ציון ה-IAT. -65 אומר שבלוקים 2 ו-3 היו הרבה יותר מהירים מבלוגים 5 ו-6. .65 אומר שבלוקים 5 -6 היו הרבה יותר מהירים. איך אני יודע שאלו בלוקים 2 ו-3 מול בלוקים 5 ו-6? הללו מוגדרים ב-ReportBlocks. התוכנית מפחיתה את המהירות בבלוקים המצוינים אחרונים מהבלוקים המצוינים ראשונים. אם היינו הופכים את סדר הבלוקים ל: <ReportBlocks>5,6,2,3</ReportBlocks> אז התוכנית היתה מפחיתה את 2 ו-3 מבלוקים 5 ו-6. במקרה כזה אם 2 ו-3 יותר מהירים, אז המספר ייצא חיובי, בעוד שאם 5 ו-6 יותר מהירים המספר יהיה שלילי. ליתר דיוק, זו הנוסחה: (Mean(block1, block2)-mean(block3, block4))/stddev(block1, block2, block3, block4) כלומר, ההפרש בממוצע המהירויות בשני הבלוקים, חלקי השונות בכל הצעדים בכל ארבעת הבלוקים הללו. את אף פעם לא משנה את ה-cutoffs, רק את הודעות הפידבק בהתאם למשמעות של ה-cutoff.

  21. חוץ מה-IAT, יש גם שיטות מדידה אחרות, ולכל אחת מהן פורמט ה-xml המתאים לה. בגירסאות עתידיות של המסמך, אפרט עוד בנושא. כזכור, קובץ הגדרות נוסף שמקבלת תוכנית הפלאש, הוא קובץ הפרמטרים (שהוגדר ב-attribute בשם properties). את הקובץ ה-default-י, ניתן לראות בכתובת זו (הוא מוצג היטב בפיירפוקס): https://dw2.psyc.virginia.edu/implicit/common/en-us/flash/default.xml בדרך-כלל, הפרמטר היחיד שיעניין אתכם הוא IMAGE_URL, כי שם תכתבו את כתובת תיקיית התמונות שלכם. למשל: /implicit/user/ybalab/yuval/arabe/images/ אם תרצו, משום מה, לשנות את המקשים, שימו לב שהם כתובים ב-ascii. ניתן למצוא טבלת ascii בקלות באינטרנט. בניסויים בעברית, יש צורך להשתמש בקובץ פרמטרים אחר. למשל כאן: https://dw2.psyc.virginia.edu/implicit/common/en-us/flash/israel.xml

  22. כתיבת שאלון

  23. שאלונים ניתן להציג בשני סוגי קבצים: xml וה-html. ה-html מאפשר הרבה יותר גמישות, אבל דורש יותר ידע בתכנות. לכן, כל עוד ה-xml מסוגל לבצע את מה שאתם רוצים שיבצע, מומלץ להשתמש בו. ב-Text הראשון כותבים הוראות כלליות. (אפשר גם להוסיף text לכל בלוק) לאחר מכן יש בלוקים. במקרה משמאל יש רק בלוק אחד, אבל ניתן להשתמש בכמה. בכל בלוק, columns מגדיר כמה שאלות יהיו בכל טור. ניתן להכניס את השאלות ל-Random, ואז השאלות יופיעו בסדר רנדומלי. ה-ID של השאלה חשוב במיוחד, כי הוא שם המשתנה שבו יישמר המידע. אם באותו שאלון יש שתי שאלות עם אותו ה-ID, הן ידרכו אחת על השנייה. ה-value של כל תשובה הוא הערך שיישמר. עדיף להשתמש בערכים מספריים, אך אין חובה כזו.

  24. ניתן להשתמש בכמה שאלות וכמה בלוקים שרוצים. ב-Text של כל שאלה מופיע הטקסט של השאלה. • אפשרויות מתקדמות שלא מתוארות כאן, אך ניתן לממש אותן: • טקסט חופשי כתשובה. • תלויות בין שאלות (ששאלה אחת תופיע רק אם הנבדקים ענו בצורה מסוימת לשאלה אחרת). • אפשרויות מרכזיות שלא קיימות בשאלוני xml ומצריכות כתיבת השאלון ב-html: • -אי-אפשר להציג תמונות. • אי-אפשר להכריח נבדקים להשיב לשאלות. • אי-אפשר להכריח נבדקים להשיב תשובות מסוימות לשאלות (במקרה שבו רק רוצים לבחון את הריכוז שלהם).

  25. מטלות אחרות

  26. בניסויי אינטרנט, ניתן להריץ גם מטלות זולת IAT ושאלונים. ישנן מספר אפליקציות פלאש שנכתבו כדי להריץ SPF, EP, AMP, ST-IAT, GNAT ו-BIAT. כולן נכתבו על בסיס ה-IAT, אבל כותבים xml קצת שונה בשביל כל אחת מהן, וכל אחת מהן מוגדרת באמצעות jsp שונה (ראו איך מוגדר ה-IAT). בניסוי ההדגמה בעברית (http://www.bgu.ac.il/~baranany/labexmp.zip) נמצאות דוגמאות ל-IAT בעברית. כרגע יש שם גם שתי דוגמאות ל-AMP ולו-EP, אבל שימו לב שההוראות שמופיעות בין הבלוקים לא מעודכנות, ויש ליצור שקופיות חדשות בשבילן.

  27. בדיקת הניסוי

  28. כזכור, את קבצי הניסוי אנחנו מעתיקים לשרת שיושב בוירג'יניה. כדי להריץ את הניסוי, אני ממליץ להכין קובץ בשם begin.htm, ולהעתיק אותו אל התיקייה שלכם על השרת. משמאל מופיע קוד לדוגמה של קובץ כזה. את הקובץ הזה אפשר להוריד מכתובת זו:https://dw2.psyc.virginia.edu/implicit/user/yba/m13/begin.htm בקובץ זה קישורים שמפעילים את הניסוי. כזכור, קובץ ה-expt מתאר לתוכנית שמריצה ניסויים מה יש בניסוי שלכם, ובאופן כללי איך להריץ אותו. כדי להפעיל את התוכנית שמריצה ניסויים, מפעילים קובץ בשם Launch. הקישורים שבתמונה (הערכים של ה-href) מפעילים את התוכנית הזו, ונותנים לה קובץ expt כפרמטר. כתובת קובץ ה-expt מתחילה אחרי ה-implicit, בתיקייה user, ולאחריה שאר התיקיות עד שמגיעים לקובץ ה-expt שלכם. במילים אחרות, יש לכתוב study= ואז לכתוב את ה-path אל קובץ ה-expt שלכם, אבל ה-path הוא יחסית לתיקייה הנקראת implicit. בהחלט סביר שלא הבנתם את מה שהרגע קראתם. לכן, תסתכלו על הקוד הכתוב למעלה, ותנסו להסיק מה אתם צריכים לשנות בו כדי להפעיל את ה-expt שלכם.

  29. אחרי שיצרתם קובץ begin.htm ושמתם אותו בתיקייה שלכם ב-dev2 (זה השם של השרת שהתחברתם אליו בעזרת secureFX), אז אפשר לגשת אליו דרך הדפדפן, בכתובת שמופיעה בשורת הכתובת בתמונה זו: בדף זה יש שני קישורים, כי, כפי שניתן לראות בשקופית הקודמת, יצרתם ב-html טבלה עם שתי שורות, ובכל שורה קישור אחר. לעיתים קרובות, אני מכין קובץ אחד מלא של כל הניסוי, וקובץ נוסף לבדיקת הניסוי בשלבים. בדרך-כלל אני קורא לקובץ זה d.expt.xml, והקישור אליו הוא הקישור התחתון (ראו הדוגמה בשקופית הקודמת).

  30. בדרך-כלל, כשמתחילים להריץ, אז תקבלו מסך שגיאה. למשל: תמיד כדאי לקרוא את הודעת השגיאה כדי לנסות להבין אותה. במקרה הזה, השגיאה פשוטה – לא קיים קובץ ה-d.expt.xml שהקישור שלי ניסה להפעיל. זה אומר שאני צריך לברר אם הוא נמצא בתיקייה האמורה, ואם כתבתי את הקישור נכון ב-begin.htm

  31. בעיות נפוצות אחרות: פעמים רבות הבעיה היא שיש שגיאת סינטקס ב-xml. למשל: הגדרתי פעמיים task בשם doit ב-Definition. הגדרתי task בשם doit ב-Map, אבל לא הגדרתי כזו task ב-Definitions. Could not load task: doit study:/home/dev2users/dev2//user/yba/tmp/lateneg/lateneg.expt.xml Task must specify URL: <Task id="doit"/> Stack Trace: Could not load: /home/dev2users/dev2//user/yba/tmp/lateneg/lateneg.expt.xml Error on line 108 of document : The element type "Task" must be terminated by the matching end-tag "</Task>". Nested exception: The element type "Task" must be terminated by the matching end-tag "</Task>". Stack Trace: org.dom4j.DocumentException: Error on line 108 of document : The element type "Task" must be terminated by the matching end-tag "</Task>". Nested exception: The element type "Task" must be terminated by the matching end-tag "</Task>". at org.dom4j.io.SAXReader.read(SAXReader.java:482) ה-xml לא בסדר. פתחתי tag של Task, אבל לא סגרתי אותו. לא תמיד ההודעה אינפורמטיבית. בדרך-כלל, הבעיה היא אחת משלוש הבעיות שהוזכרו למעלה, גם כשהודעת השגיאה לא מסבירה זו במפורש. אחד הדברים לעשות כשיש הודעות שגיאה לא אינפורמטיביות היא לבדוק אם ה-xml שלכם הוא well-formed. ניתן לחפש אתרים בגוגל שעושים זאת. אני מחפש בדרך כלל "validate xml" או "check if xml if well formed". למשל: http://www.w3schools.com/Xml/xml_validator.asp מעתיקים את הטקסט מה-xml שלכם, לחלון הטקסט באתר, ובודקים. אם יש טעות סינטקס, הבדיקה תצביע על הבעיה. דרך נוספת למצוא את הבעיה, היא להעתיק את ה-expt לקובץ d.expt.xml, ולהריץ אותו שוב ושוב, כל פעם ללא אחת מה-tasks, או ללא חלק מה-Map, עד שתמצאו מה בדיוק הבעיה.

  32. לאחר שהניסוי מצליח לרוץ, עדיין עלולות להיות בעיות בכל Task ו-Task. בעיה נפוצה ב-IAT היא קבלת הודעה Failed to Load. בדרך כלל זה אומר שיש לכם טעות בהכנת ה-XML. שווה לבדוק באמצעות xml validator (ראו שקופית קודמת). אם אין בעיה ב-XML, תשוו עם קובץ IAT שעובד, ותנסו להבין מה שכחתם לכלול ב-XML שלכם. גם כאן, ניתן לפעמים לפשט את ה-XML, כדי לבחון מה הבעיה. תקלה נפוצה אחרת עם ה-IAT, היא שהתוכנית נתקעת בזמן שהיא מנסה להעלות את התמונות. אם היא נתקעת על אפס, אז כנראה שהתמונות לא נמצאות בתיקייה שבה ה-IAT מחפש אותן. ה-path של התיקייה מוגדר ב-properties file שהגדרתם לכל task של IAT, כשהגדרתם את ה-TASK בקובץ ה-expt. אם לא הגדרתם properties file, וקבצי התמונות נמצאים בתיקייה שלכם, אז צריך להגדיר properties file ל-IAT, לכתוב בו את ה-path הנכון למשתנה ה-IMAGE_URL, ואז להגדיר את ה-properties ל-IAT ב-expt. חלק זה הוסבר מוקדם יותר, אז תחזרו להוראות לגבי כתיבת הניסוי, כדי להבין זאת טוב יותר.

  33. מה צריך לבדוק בניסוי? • בדקו שנתתם שם מתאים לניסוי. השם מופיע בקובץ ה-expt, כ-id של ה-tagStudy. הוא תמיד מתחיל ב-ybalab. ולאחר מכן שם התיקייה, ואז בדרך-כלל 0001. למשל: ybalab.gita1.0001. • בדקו שהניסוי רץ מתחילתו עד סופו בכל התנאים האפשריים. אם התנאים מוגרלים, אז כדאי להכין קובץ d.expt.xml שבו תריצו כל פעם תנאי ניסוי אחר, ללא הגרלה, כדי שתוכלו לבחון את כל התנאים. • בדקו שה-debriefing עובד כראוי, בכל התנאים האפשריים. • בדקו שנתתם IATName שונים לכל קובץ IAT. ה-IATName יישמר בדאטה בהמשך. • בדקו שבכל שאלון לכל שאלה יש שם שונה. בדקו שבכל שאלה, לכל תשובה אפשרית יש ערך שונה. • בדקו שב-MAP אין שני Tasks עם אותו השם. אם אתם משתמשים באותו הקובץ מספר פעמים, הגדירו כמה Tasks ב-Definitions שמצביעות על אותו הקובץ. מותר לחזור על אותו הקובץ, אבל לא על אותו שם של Task. • חשוב מאוד לבדוק שהשפה תקינה ונכונה. • חשוב גם לוודא שהנבדקים לומדים הרבה מהדיבריפינג. לעיתים קרובות, הנבדקים הם מתנדבים וחשוב שהם יקבלו תמורה, כדי שהם ימשיכו להגיע לאתר ויתנדבו לניסויים נוספים.

  34. מה צריך לבדוק בניסוי? 11. בדקו שהנתונים נשמרים כראוי. כל עוד אתם על שרת הבדיקה, יש בדרך-כלל שיטה פשוטה לעשות זאת. השתמשו בקישור הבא, או קישור דומה לו: https://dw2.psyc.virginia.edu/implicit/research/data/resdata.jsp?study=ybalab&days=2 ה-jsp הזה שולף קבצי דאטה שניתן לראות אותם מיד מהדפדפן. הוא ישלוף את כל הנתונים שנצברו לניסויים שיש בשמם את המילה ybalab מהיומיים האחרונים. ניתן לשנות את הערך שבא אחרי ה- study= וגם את הערך של מספר הימים המוגדרים אחרי ה- day=. מה בודקים בנתונים: שכל המשתנים שאתם מצפים שיישמרו אכן נשמרו, ושאין שום דבר שבולט לכם כבעייתי. לאחר הבדיקה, הגיע הזמן להעביר את הניסוי מ-dev2, שהוא שרת הפיתוח, ל-dev1 שהוא שרת הבדיקה. בשונה מ-dev2, השרת ב-dev1 הוא בדיוק אותו השרת כמו שרת הייצור (השרת שבו הניסוי ירוץ בסופו של דבר). לכן, אם ניסוי עובד כראוי ב-dev1, אז רבים הסיכויים שהוא ירוץ כראוי גם בשרת הייצור. איך מעבירים ל-dev1? מבקשים מיואב להוסיף את תיקיית הניסוי ל-dev1. לאחר שהניסוי עלה ל-dev1, יש לבדוק אותו שוב, בהתאם לסעיפים שכבר פורטו. הכתובת ל-dev1 (בדפדפן) היא בדיוק כמו הכתובת ל-dev2 רק עם http במקום https (http://dw2.psyc.virginia.edu/implicit). אחרי שבטוחים שהניסוי עובד, מבקשים מיואב לבקש מהאחראי לכך בוירג'יניה, להעביר את הניסוי לשרת הייצור. כעבור כ-24 שעות, הניסוי אמור להיות בשרת הייצור, מוכן לפעולה.

  35. יום לאחר התחלת ההרצה, צריך להתחיל לבדוק את הנתונים. אם מדובר בניסוי שמצטרפים אליו עשרות נבדקים ביום, אז חשוב לעשות זאת במהירות רבה. אם זהו ניסוי שאנחנו למעשה מריצים במעבדה, הזמן פחות קריטי, אבל חשוב לעשות זאת בטרם הצטרפו נבדקים רבים. • כדי להוריד את קבצי הנתונים, יש לעשות את הדבר הבא, מיד עם העלאת הניסוי לשרת הייצור (אפשר גם לפני-כן): • בכתובת https://rde.projectimplicit.net/ • שם משתמש: ybalab. סיסמה: ybalabybalab • למטה, יש ללחוץ על כפתור create. • לכתוב את שם הניסוי (כפי שהוא מוגדר בקובץ ה-expt). למשל, ybalab.yuval.arabeleft.0001. • לבחור Data Access Study. • לסמן את הניסוי בתור. • ללחוץ submit. • כעת תוכלו לעבור ל-pending למעלה, ותראו שהניסוי ממתין לאישור. • ברגע שהניסוי יאושר, יואב יקבל אימייל ואולי יידע אתכם. בכל מקרה, ניתן לבדוק מדי פעם אם הניסוי אושר. • לאחר שהניסוי אושר, הוא יהיה תחת תור ה-running (ניתן לעבור אליו באמצעות הסרגל העליון של אתר ה-rde). • בחרו את הניסוי שמעניין אתכם, ולחצו data access. • בחרו Research ו-Warehouse (הערה: אם ה-jsp לשליפת דאטה משרתי הבדיקות (dev1 ו-dev2) לא עבד, ניתן לבחור Research ו-Test, כדי להוריד את הדאטה שנצבר בעת הבדיקות שלכם בשרתי הבדיקות). • להוראות נוספות כיצד לקרוא, יש מדריך נוסף של האתר האמריקאי. • קובץ ה-zip שתורידו, יכלול כמה קבצי txt. כדי לקרוא אותם ב-sas, ראו את המדריך המתאים.

More Related