Tabelul din stânga
2 COCOGEN: Reprezentarea structurilor Commonsense cu cod și 2.1 Convertirea (T,G) în cod Python
2.2 Promptarea cu câteva fotografii pentru generarea G
3 Evaluarea și 3.1 Instalarea experimentală
3.2 Generația scenariului: PROSCRIPT
3.3 Urmărirea stării entității: PROPARA
3.4 Generarea graficului de argumente: EXPLAGRAPHS
6 Concluzii, recunoașteri, limitări și referințe
A Few-shot modele de dimensiuni estimate
G Proiectarea unei clase Python pentru o sarcină structurată
h Impactul dimensiunii modelului
2 COCOGEN: Reprezentarea structurilor Commonsense cu cod
Ne concentrăm pe sarcinile de generare a simțului comun structurat. Fiecare exemplu de instruire pentru astfel de sarcini este în formă (T, G), unde T este o intrare text și G este structura care urmează să fie generată (de obicei un grafic). Ideea cheie a COCOGEN este transformarea unui grafic de ieșire G într-un program semantic echivalent Gc scris într-un limbaj de programare cu scop general. În această lucrare, am ales Python datorită popularității sale în datele de instruire ale codurilor moderne (Xu et al., 2022), dar abordarea noastră este agnostică față de limbajul de programare. Graficele transformate de cod sunt similare în formatul lor cu datele de pre-formare ale codurilor-LLM și, prin urmare, servesc mai ușor pentru a generaliza form
Folosim sarcina de generare a scripturilor (PROSCRIPT, Figura 1) ca exemplu de rulare pentru a ne motiva metoda: generarea scripturilor are ca scop crearea unui script (G) pentru a atinge un anumit obiectiv de nivel înalt (T).
2.1 Convertirea (T, G) în cod Python
Convertim o pereche (T, G) într-o clasă sau o funcție Python. Procedura generală implică adăugarea textului de intrare T la începutul codului ca atribut de clasă sau comentariu descriptiv și codarea structurii G folosind construcții standard pentru a reprezenta structura în cod (de exemplu, hashmaps, atribute de obiect) sau apeluri de funcții. Scopul aici este de a compune codul Python care reprezintă o pereche (T, G), dar păstrează sintaxa și convențiile de cod ale codului Python tipic.
De exemplu, pentru sarcina de generare a scripturilor, convertim perechea (T, G) într-o clasă Tree (Figura 1b). Obiectivul T este adăugat ca atribut de clasă (obiectiv), iar scriptul G este adăugat prin listarea nodurilor și a marginilor separat. Mai întâi instanțăm lista nodurilor ca obiecte ale clasei Node. Apoi, marginile sunt adăugate ca copii de atribut pentru fiecare nod (Figura 1b). De exemplu, instanțăm nodul „Take out several plates” ca take_out_several_plates = Node(), și îl adăugăm ca copil al nodului take_pies_out_to_cool.
Deși există mai multe modalități de a reprezenta un exemplu de formare ca o clasă Python, am constatat empiric că acest format relativ simplu este cel mai eficient, mai ales cu modelele mai mari.
2.2 Promptarea cu câteva fotografii pentru generarea G
În experimentele noastre, am folosit CODEX (Chen et al., 2021a) și am constatat că generează aproape întotdeauna Python valabil sintactic. Astfel, codul generat poate fi ușor convertit înapoi într-un grafic și evaluat folosind metrica standard, originală a setului de date.
Acest document este disponibil în arhivă sub licența CC BY 4.0 DEED.
săAcest document este disponibil în arhivă sub licența CC BY 4.0 DEED.
Autorii :
să(1) Aman Madaan, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);
să(2) Shuyan Zhou, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);
să(3) Uri Alon, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, Statele Unite ale Americii ([email protected]);
să(4) Yiming Yang, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);
să(5) Graham Neubig, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]).
săAuthors:
(1) Aman Madaan, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);
(2) Shuyan Zhou, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);
(3) Uri Alon, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, Statele Unite ale Americii ([email protected]);
(4) Yiming Yang, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]);
(5) Graham Neubig, Institutul de Tehnologii Lingvistice, Universitatea Carnegie Mellon, SUA ([email protected]).