Jedwali la Yaliyomo
1. Ufahamu Mkuu: Dhahabu Iliyofichika ya Mazungumzo ya API
Korpus ya Apiza si seti nyingine ya data tu; ni rasilimali ya kimkakati kwa mtu yeyote anayejitolea kujenga kizazi kijacho cha zana za waandaaji programu. Ufahamu mkuu ni rahisi kwa ukali: waandaaji programu huingiliana na mashine kwa njia tofauti na wanavyofanya na wanadamu. Mbinu ya Wizard-of-Oz (WoZ) iliyotumiwa hapa ndiyo njia pekee ya kimaadili ya kunasa mazungumzo haya 'yaliyoelekezwa kwa mashine' kwa kiwango kikubwa, bila upendeleo wa adabu za binadamu kwa binadamu. Seti hii ya data inashughulikia moja kwa moja tatizo la 'mwanzo baridi' la kufundisha msaidizi bandia (VA) kwa matumizi ya API, kazi ambayo ni ngumu sana na yenye thamani kubwa. Waandishi kimsingi wameunda Jiwe la Rosetta la jinsi waandaaji programu wanavyouliza msaada kwa asili, ambalo lina thamani zaidi kuliko data yoyote ya sintetiki inayozalishwa na mfano wa lugha.
2. Mtiririko wa Mantiki: Kutoka WoZ hadi Korpus Iliyopangwa
Mtiririko wa mantiki wa karatasi hii ni safi na unaweza kuteteleka. Inaanza kwa kutambua pengo muhimu: ukosefu wa seti za data za mazungumzo maalum kwa kazi za uhandisi wa programu. Kisha inahalalisha mbinu ya WoZ kama kiwango cha dhahabu cha kukusanya data isiyo na upendeleo ya mwingiliano wa binadamu na mashine. Jaribio linaelezewa kwa kina: waandaaji programu 30 wa kitaalamu, vipindi vya dakika 90, VA inayoigwa inayoendeshwa na mchawi wa kibinadamu. Hatua ya mwisho ni ufafanuzi wa mazungumzo haya kwa aina za Kitendo cha Mazungumzo (DA) katika vipimo vinne, na kuunda korpus iliyopangwa na inayosomeka kwa mashine. Hii ni mfano wa kitabu cha kiada cha jinsi ya kuanzisha mfumo wa AI wa mazungumzo kutoka mwanzo.
2.1 Mbinu ya Wizard-of-Oz
Jaribio la WoZ ndio kiini cha utafiti. Waandaaji programu waliambiwa wanazungumza na VA ya kiotomatiki, lakini 'mchawi' alikuwa mtaalamu wa kibinadamu. Udanganyifu huu ni muhimu kwa sababu unatoa aina ya lugha ya moja kwa moja, inayoelekezwa kwa amri ambayo VA halisi ingehitaji kuelewa. Kwa mfano, mwandaji programu anaweza kusema 'pro:allegrokeyboardinput' badala ya 'Tafadhali unaweza kunisaidia kutafuta kazi ya kuhifadhi hali ya kibodi?'. Lugha hii ghafi, isiyosafishwa ndiyo data bora ya mafunzo kwa mfano wa kujifunza kwa mashine.
2.2 Ukusanyaji na Ufafanuzi wa Data
Mchakato wa ukusanyaji wa data ulikuwa mkali. Waandaaji programu 30 wa kitaalamu waliajiriwa, kuhakikisha kiwango cha utaalamu kinachoakisi matumizi halisi ya API. Kila kipindi kilidumu takriban dakika 90, na kutoa korpus tajiri ya mazungumzo. Mchakato wa ufafanuzi ulihusisha kuweka lebo kwa kila usemi kwa aina za Kitendo cha Mazungumzo, mazoea ya kawaida katika utafiti wa mifumo ya mazungumzo. Ufafanuzi huu uliopangwa ndio unaofanya korpus iweze kutumika kwa mafunzo ya mifano ya mfuatano-kwa-mfuatano au kwa kujenga mifumo ya uainishaji wa nia.
3. Nguvu na Udhaifu: Tathmini Muhimu
Tuwe wazi: hii ni karatasi muhimu, lakini haina dosari. Nguvu ni kubwa, lakini udhaifu ni muhimu pia kukubali kwa mtu yeyote anayepanga kujenga juu ya kazi hii.
3.1 Nguvu: Seti ya Data ya Kwanza na Muundo Makini
Nguvu kuu ni upya na umuhimu wa seti ya data. Kama waandishi wanavyobainisha, utafiti wa 2015 haukupata seti yoyote ya data ya mazungumzo inayohusiana na Uhandisi wa Programu (SE), na ni moja tu imechapishwa tangu wakati huo. Korpus ya Apiza inajaza pengo kubwa. Mbinu ya WoZ ndiyo njia sahihi, na matumizi ya waandaaji programu wa kitaalamu huongeza uhalali wa kiikolojia. Mpango wa ufafanuzi umefafanuliwa vizuri na una vipimo vingi, kuruhusu uchambuzi wa kina wa mazungumzo.
3.2 Udhaifu: Ukubwa, Uwezo wa Kujumlisha, na Athari ya Mchawi
Udhaifu dhahiri zaidi ni ukubwa. Washiriki 30 ni sampuli ndogo kwa mafunzo ya mfano imara wa kujifunza kwa kina. Uwezo wa kujumlisha pia una shaka: kazi zilikuwa maalum, na tabia ya mchawi inaweza kuwa imeleta upendeleo wake. Zaidi ya hayo, 'athari ya mchawi'—ukweli kwamba mchawi alikuwa mtaalamu wa kibinadamu—inamaanisha majibu yalikuwa sahihi zaidi na yenye msaada zaidi kuliko AI yoyote ya sasa inavyoweza kutoa. Hii inaunda kikomo cha juu ambacho kinaweza kuwa kisicho halisi kwa VA halisi. Hatimaye, karatasi inakosa uchambuzi wa kina wa usambazaji wa vitendo vya mazungumzo au makubaliano kati ya wafafanuzi, ambayo ni muhimu kwa kutathmini ubora wa ufafanuzi.
4. Maarifa Yanayoweza Kutekelezwa: Maana Yake kwa Sekta
Kwa wasimamizi wa bidhaa na viongozi wa uhandisi, ujumbe uko wazi: acha kusubiri AI kamili. Anza kukusanya data yako mwenyewe ya WoZ. Korpus ya Apiza ni uthibitisho wa dhana kwamba mbinu hii inafanya kazi. Hatua zinazoweza kutekelezwa ni: (1) Tambua kazi ya thamani kubwa, inayojirudia katika mtiririko wa kazi wa waandaaji programu wako (mfano, matumizi ya API, utatuzi wa hitilafu, ukaguzi wa msimbo). (2) Endesha utafiti mdogo wa WoZ na waandaaji programu wako mwenyewe. (3) Fafanua mazungumzo na uyatumie kufundisha kikainishi cha nia rahisi. (4) Rudia. Gharama ya utafiti wa WoZ ni sehemu ndogo ya gharama ya kujenga VA kamili kutoka mwanzo, na data unayopata ina thamani kubwa zaidi. Korpus ya Apiza ni mwongozo; data ya ndani ya kampuni yako ndiyo mafuta.
5. Maelezo ya Kiufundi na Uundaji wa Hisabati
Kwa mtazamo wa kiufundi, korpus imeundwa kusaidia mafunzo ya kikainishi cha Kitendo cha Mazungumzo (DA). Tatizo kuu linaweza kutengenezwa kama kazi ya kuweka lebo kwa mfuatano. Kwa kuzingatia mfuatano wa usemi $U = (u_1, u_2, ..., u_n)$, lengo ni kutabiri mfuatano wa lebo za kitendo cha mazungumzo $D = (d_1, d_2, ..., d_n)$, ambapo kila $d_i$ ni ya seti ya aina za DA zilizofafanuliwa awali. Mbinu ya kawaida ni kutumia Sehemu ya Masharti ya Nasibu (CRF) juu ya kisimbaji cha BiLSTM au Transformer. Kazi ya hasara kwa kawaida ni logi hasi ya uwezekano:
$L = -\sum_{i=1}^{n} \log P(d_i | u_1, u_2, ..., u_n)$
Korpus ya Apiza inatoa data iliyo na lebo $\{(U_j, D_j)\}_{j=1}^{30}$ kufundisha mfano kama huo. Vipimo vinne vya ufafanuzi (mfano, kazi, mawasiliano, n.k.) vinaruhusu usanidi wa kujifunza kwa kazi nyingi, ambapo mfano unatabiri lebo nyingi kwa kila usemi, na kuboresha uwezo wa kujumlisha.
6. Matokeo ya Majaribio na Muhtasari wa Data
Karatasi haitoi matokeo ya kiasi kutoka kwa mfano uliofunzwa, kwa kuwa ni karatasi ya seti ya data. Hata hivyo, inatoa muhtasari wa ubora wa data. Korpus ina mazungumzo 30, kila moja likiwa na wastani wa dakika 90 kwa urefu. Jumla ya idadi ya usemi haijatajwa wazi, lakini kulingana na urefu wa kipindi, inawezekana ni maelfu. Vitendo vya mazungumzo vimefafanuliwa katika vipimo vinne, ingawa usambazaji halisi haujatolewa. Chati ya pau ya dhahania ingeonyesha kwamba 'Ombi la Taarifa' na 'Toa Taarifa' ndizo aina za DA zinazojulikana zaidi, zikionyesha asili ya mazungumzo inayolenga kazi. Chati ya pai ya vipimo vinne vya ufafanuzi ingeonyesha mgawanyiko wa usawa, ikionyesha mpango wa kina wa ufafanuzi.
7. Mfano wa Mfumo wa Uchambuzi: Mazungumzo ya Sampuli
Hapa chini ni mfano rahisi wa mazungumzo kutoka kwa korpus, unaoonyesha muundo na ufafanuzi. Huu ni mfano usio wa msimbo, unaozingatia mtiririko wa mazungumzo.
Mtumiaji: pro:allegrokeyboardinput
Mchawi: Unaweza kuhifadhi hali ya kibodi iliyobainishwa wakati kazi inaitwa kwenye muundo unaoonyeshwa na ret_state.
Mtumiaji: Unaweza kunipa mfano?
Mchawi: Hakika. allegro_keyboard_state_to_display() ni kazi inayohusiana.
Mtumiaji: Asante.
Katika mfano huu, usemi wa kwanza wa mtumiaji ni amri ya moja kwa moja (DA: 'Ombi la Kitendo'), jibu la mchawi ni 'Toa Taarifa', usemi wa pili wa mtumiaji ni 'Ombi la Mfano', na usemi wa mwisho wa mtumiaji ni 'Kubali'. Mabadilishano haya rahisi yanakamata kiini cha korpus: moja kwa moja, yanayolenga kazi, na yasiyo na adabu za kijamii.
8. Matumizi na Mielekeo ya Baadaye
Korpus ya Apiza ni msingi, si bidhaa iliyokamilika. Mwelekeo wa karibu zaidi wa baadaye ni kutumia data hii kufundisha mfano wa VA kwa matumizi ya API. Lengo kubwa zaidi ni kuongeza mbinu ya WoZ kwa kazi nyingine za SE, kama vile utatuzi wa hitilafu, ukaguzi wa msimbo, au uchimbaji wa mahitaji. Maono ya muda mrefu ni VA 'ya ulimwengu wote' ya waandaaji programu inayoweza kushughulikia anuwai ya kazi, iliyofunzwa kwenye seti mbalimbali za korpus za WoZ. Kuongezeka kwa mifano mikubwa ya lugha (LLMs) kama GPT-4 pia kunafungua uwezekano mpya: Korpus ya Apiza inaweza kutumika kurekebisha LLM kwa uwanja maalum wa usaidizi wa API, ikiwezekana kuunda VA ambayo ni yenye nguvu na maalum. Changamoto kuu itakuwa kuhamia kutoka kwa mchawi aliyeigwa hadi mfumo unaojiendesha kikamilifu, na Korpus ya Apiza inatoa ramani ya barabara.
9. Uchambuzi na Maoni ya Awali
Korpus ya Apiza ni mchango wa wakati unaofaa na muhimu kwa uwanja wa AI ya uhandisi wa programu. Thamani yake kuu haipo katika ukubwa wake, bali katika uhalisi wake. Mbinu ya WoZ, ingawa si mpya, inatumika hapa kwa ukali ambao mara nyingi haupo katika utafiti wa SE. Uamuzi wa kutumia waandaaji programu wa kitaalamu ni hatua nzuri, kwani inahakikisha data inaonyesha tabia halisi ya ulimwengu, si mwingiliano wa bandia wa jaribio la maabara. Hata hivyo, nguvu kubwa ya karatasi pia ni udhaifu wake mkubwa: seti ya data ni picha ya wakati mmoja ya muundo maalum wa mwingiliano. 'Mchawi' alikuwa mtaalamu wa kibinadamu, na majibu yalikuwa bora zaidi. VA halisi itafanya makosa, na korpus haionyeshi jinsi mtumiaji angeitikia jibu lisilo sahihi au lenye kutatanisha. Hili ni pengo muhimu. Kazi ya baadaye lazima ichunguze mazungumzo ya 'kurekebisha makosa', ambapo VA si kamili kwa makusudi. Zaidi ya hayo, karatasi ingefaidika na uchambuzi wa kina zaidi wa takwimu za vitendo vya mazungumzo, ikijumuisha alama za makubaliano kati ya wafafanuzi (mfano, Kappa ya Cohen) ili kuhalalisha mpango wa ufafanuzi. Kama ilivyobainishwa na Serban et al. (2016) katika utafiti wao wa seti za data za mazungumzo, ubora wa ufafanuzi mara nyingi ni muhimu zaidi kuliko wingi wa data. Korpus ya Apiza ni mwanzo mzuri, lakini ni hatua ya kwanza tu. Mtihani halisi utakuwa ikiwa inaweza kutumika kufundisha VA ambayo ni muhimu kwa waandaaji programu katika ulimwengu halisi. Kwa sasa, inasimama kama rasilimali muhimu na wito wazi wa hatua kwa jamii ya SE kuwekeza katika tafiti za WoZ.
10. Marejeleo
- Eberhart, Z., Bansal, A., & McMillan, C. (2023). The Apiza Corpus: API Usage Dialogues with a Simulated Virtual Assistant. University of Notre Dame.
- Robillard, M. P., et al. (2017). API Usage as a Target for Virtual Assistants. In Proceedings of the 39th International Conference on Software Engineering (ICSE).
- Reiser, S., & Lemon, O. (2020). Efficient Data Collection for Task-Specific Virtual Assistants. Morgan & Claypool Publishers.
- Serban, I. V., et al. (2016). A Survey of Available Corpora for Building Data-Driven Dialogue Systems. arXiv preprint arXiv:1512.05742.
- Dahl, D., et al. (1994). Expanding the Scope of the ATIS Task: The ATIS-3 Corpus. In Proceedings of the Human Language Technology Workshop.
- Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press. (Kwa maelezo ya usuli kuhusu uwekaji lebo wa mfuatano na CRFs).