Pastaraisiais metais, o ypač per pastaruosius kelis mėnesius, padaryta didžiulė pažanga natūralios kalbos apdorojimo srityje. Naudodami modelius, pradedant GPT-3.5 ir baigiant GPT-4, įsitikinome, kad modeliai gali „suprasti” ir „pagrįsti” mūsų pasaulį, jei juos apmokysime pagal pakankamą įvesties teksto kiekį.
Pasirodo, kalba vis dėlto nėra toks blogas būdas užkoduoti žinias apie mūsų pasaulį, nors ji dažnai yra dviprasmiška ir sunku aiškiai apibrėžti, ko norime ir (arba) ką turime omenyje (pažiūrėkite serialą „Suits” per „Netflix”, jei to dar nepadarėte 🙂 ).
Supraskite klientą
Pasirodo, yra gana paprastas būdas, kaip tai padaryti. Panagrinėkime toliau pateiktą pavyzdį:
Kiekvieną kartą, kai klientas ateina į mūsų parduotuves ir perka tam tikrus produktus, jis su mumis kalbasi. Kalba, kuria jie kalba, priklauso nuo mūsų siūlomų produktų. Jie kalba IKI, BILLA arba Penny (BILLA ir Penny yra IKI motininės įmonės „REWE International Group” parduotuvės), priklausomai nuo to, kuriame prekybos centre jie yra.
Kiekvienas jų perkamas produktas yra žodis, kurį jie mums sako, o kiekvienas kvitas – sakinys. Visi kvitai yra klientų pokalbis su mumis.
Mūsų atveju produktų eiliškumas kvituose, t. y. žodžių eiliškumas kiekviename sakinyje, neturi jokios konkrečios reikšmės, todėl kalba iš tikrųjų neturi gramatikos. Tai tiesiog žodžių virtinė, panašiai kaip tada, kai vaikai pradeda kalbėti būdami labai maži.
Vienas pirmųjų natūralių kalbų modeliavimo metodų buvo pagrįstas modeliu, vadinamu „word2vec”. Pagrindinė idėja yra ta, kad reikia sukurti kiekvieno žodžio skaitinę reprezentaciją, kad galėtume palyginti žodžius tarpusavyje ir suprasti jų ryšį. Šią skaitinę išraišką vadiname sąsaja.
Akivaizdu, jog yra daugybė skirtingų būdų, kaip galime kurti tokias sąsajas. Panagrinėkime šiuos žodžius:
- Dešra
- Duona
- Sumuštinis su dešra
Labai lengvas ir paprastas būdas sukurti sąsajos elementą yra toks:
Kiekvieną žodį unikaliai apibrėžia vektorius. Tačiau toks vaizdavimas iš tikrųjų nedaug ką pasako apie žodžių tarpusavio ryšį. Akivaizdu, kad sumuštinis su dešra yra dešros ir duonos junginys. Taigi, idealiu atveju tai atspindėtų ir skaitinė išraiška. Vienas iš būdų, kaip galėtume tai pasiekti, yra toks:
Taigi sumuštinis su dešra dabar yra dešros ir duonos suma, tačiau dešra ir duona vis dar nesusiję tarpusavyje. Taip grįžtame prie word2vec. Toliau galite pamatyti lentelę, kurioje paaiškinta pagrindinė sąvoka:
Taigi, iš esmės sakome, kad produktai, kurie atsiranda panašiame kontekste (t. y. kartu su panašiais produktais), turėtų būti panašiai išreikšti ir skaičiais. Kai tik tai gauname, visa kita yra tik techninis optimizavimo įgyvendinimas.
Dabar galime paleisti word2vec ir naudoti tokią sąsają:
Taip pat galime naudoti sąsaja, kad apskaičiuotume žodžio „be cukraus” reikšmę, kaip aptarta pradžioje:
GPT4 ir visi kiti dirbtinio intelekto mokymosi modeliai taiko tuos pačius pagrindinius principus, tik naudoja sudėtingesnes tinklo struktūras, kad modeliuotų priklausomybę ilgesniame kontekste. Tačiau pagrindinės idėjos yra tos pačios.
Tikimės, jog mūsų pranešimas buvo įdomus. Jei jus domina, kaip suprasti savo klientų kalbą, nedvejodami kreipkitės į mus!
Daugiau