GPT
C

code_x_glue_ct_code_to_text

קוד פתוח

googlec-uda2022-03-02

  • code-to-text

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

  • 5,244הורדות בחודש
  • 79לייקים

מה זה

הנתונים נשענים על פרויקט CodeSearchNet וכוללים צמדים של קוד ותיאור טקסטואלי. המאגר מכסה שש שפות תכנות: Go, Java, Javascript, PHP, Python ו־Ruby, כאשר כל התיעוד כתוב באנגלית בלבד. המבנה מחולק לפי שפות התכנות, ובתוך כל שפה יש חלוקה לסט אימון, ולידציה ובדיקה.

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

מתאים ל

  • מחולל הערות לקוד

    אימון מודל שמקבל פונקציה ומייצר עבורה docstring תמציתי באנגלית לפי שפת התכנות.

  • הערכת מודלי שפה

    בדיקת איכות של מודלים קיימים במשימת תרגום קוד להסבר טקסטואלי על סטי הבדיקה.

  • חיפוש קוד סמנטי

    אימון רכיבי ייצוג שמקשרים בין תיאור מילולי באנגלית לבין מימושים בשש שפות שונות.

איפה זה נופל

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

שאלות
נפוצות

האם יש בדאטהסט תמיכה בעברית?

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

האם מותר להשתמש בו למוצרים מסחריים?

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

איך הנתונים סוננו ונאספו?

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

איך טוענים

המאגר שמור בפורמט Parquet בחלוקה ל־22 קבצים לפי השפות והפיצולים השונים, ללא צורך באישור גישה מיוחד. אפשר לטעון אותו ישירות דרך הספרייה של Hugging Face תוך ציון השפה שבה אתם רוצים לעבוד, למשל פייתון או ג'אווה. הרשומות מכילות מזהה, פרטי מקור הקוד, קטע הקוד עצמו והתיעוד המקביל.

from datasets import load_dataset

ds = load_dataset("google/code_x_glue_ct_code_to_text")

הרישיון

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

הרישיון המלא ב־Hugging Face ↗