Atviras
Uždaryti

Kompiuterinė programa, imituojanti žmogaus judesius. Sėkmingas botų naudojimas rinkodaroje

Mokslas, Technologijos

Virtualus pašnekovas (angl. chatterbot) – tai kompiuterinė programa, sukurta imituoti žmogaus kalbos elgesį bendraujant su vienu ar daugiau vartotojų. 1966 m. Joseph Weizenbaum sukūrė pirmąją pokalbių programą „Eliza“. Ji parodijavo psichoterapeuto kalbos elgseną, būtent: įdiegė aktyvaus klausymosi techniką, dar kartą klausdama vartotojo ir naudodama tokias frazes kaip „Prašome tęsti“.

Tikimasi, kad ideali pašnekovų programa išlaikys Turingo testą, sukurtą dar 1950 m., siekiant nustatyti dirbtinio intelekto projektų sėkmę. Jo esmė slypi tame, kad žmogus susirašinėja su dviem pašnekovais, kurių vienas yra asmuo, kitas – kompiuterinė programa. Jei neįmanoma nustatyti, kas yra kas, laikoma, kad kompiuteris išlaikė testą. Tačiau tai padaryti dar nepavyko nei vienam virtualiam pašnekovui. Daugumos šiuolaikinių programų funkcionalumas apsiriboja galimybe vesti paprastą pokalbį.

Pašnekovės programos

Pokalbių vedėjas

ChatMaster yra vienas iš pirmųjų gerų rusakalbių virtualių pašnekovų. Tai savarankiško mokymosi programa. Jos dialogo su žmogumi kokybė gali būti įvertinta kaip „padori“. „ChatMaster“ veda kontekstinį pokalbį, tai yra, supranta replikos, pagrįstos ankstesnėmis, prasmę. Dialogui gali būti naudojama bet kokia nehieroglifinė kalba (visa Europos ir kai kurios Azijos). Be to, programa turi patogią sąsają ir gana didelę žodžių duomenų bazę. „ChatMaster“ trūkumas yra tas, kad per ilgai reikia galvoti ir atsiminti viską, net ir dalykus, kurių nereikėtų prisiminti.

Electronic Brain 1300

„Electronic Brain 1300“ yra maloni pokalbių programa. Turi gerą žinių bazę: gana didelę ir su originaliomis kopijomis. Naujojoje versijoje naudojama medžiu pagrįsta duomenų bazė. Be to, programa gali būti lengvai išmokoma naujų frazių. „Electronic Brain“ trūkumas yra tas, kad sąsaja nėra patogi vartotojui: valdymo elementai yra neįprastose vietose.


Chatterbox

„Chatterbox“ yra gera pašnekovų programa, turinti gerą pagrindą ir gerą humoro jausmą. Čia atsakymai pateikiami labai greitai. Kalbėtojui nebūtinai reikia pašnekovo, kuris galėtų kalbėtis su savimi. Nors tai yra savarankiško mokymosi programa, jos duomenų bazę galima išplėsti pridedant naujinimo failus. Be to, Chatterbox suteikia vartotojui galimybę pakeisti piktogramas savomis lango pavadinimo juostoje ir įrankių juostos rodinyje.


DIALA

Ši programa veda dialogą su žmogumi rusų kalba bet kokia tema, bando imituoti dirbtinį intelektą. Kūrėjų teigimu, DIALA save laiko moterimi ir gana kritiškai žiūri į vyrus bei apskritai į žmoniją. Norint turėti daugiau ar mažiau susietą dialogą, reikia įvesti tik pilnavertes frazes, kurių kiekvienoje yra visa mintis. Nerekomenduojama staigiai ir nepagrįstai keisti dialogo temą. DIALA yra savarankiško mokymosi programa, todėl jai nereikėtų sakyti nieko kvailo, antraip ji iš karto juos prisimins ir greitai susigrąžinsite. Tada bus sunku ją atpratinti nuo to.


Virtualus Putinas

Tie, kurie norėtų pasikalbėti su V.V. Putiną, užduokite jam porą klausimų ar tiesiog barkite dėl blogo gyvenimo, jie gali bendrauti su jo virtualiu dubliu per „Virtualaus Putino“ programą. Tai patogi pašnekovų programa su malonia sąsaja. Pasak vartotojų, jau spėjusių pabendrauti su virtualiu Putinu, programa veda visiškai protingą ir įvairiapusį pokalbį su žmogumi, kartais stebinantį savo erudicija ir progresyviu mąstymu. Be to, Virtualus Putinas gali lengvai palaikyti bet kokią pokalbio temą. Yra tik vienas reikalavimas – reikia bendrauti normalia rusiškai ir nevartoti keiksmažodžių. Virtualusis Putinas gali lengvai įsižeisti.

Sveiki, Habr!

Neseniai baigiau kursinį darbą apie genetinius algoritmus Darwinbots programoje ir nusprendžiau, kad tai bus įdomu bendruomenei. Be to, šiuo metu projekto bendruomenė yra gana maža. Straipsniai bus pusiau dokumentų vertimai, o pusė – jų pačių atliktas programos tyrimas.

1. Pirmoji pažintis

2.

Taigi, „Darwinbots“ programa yra dirbtinio gyvenimo simuliatorius. Pirmąsias versijas parašė italų programuotojas Carlo Comis, naudodamas „Visual Basic“ programavimo kalbą. Naujausia programos versija šiuo metu yra 2.45.02D, išleista 2012 m. rugpjūčio 21 d. Šiuo metu kuriama trečioji programos versija, visiškai perrašyta C#. Taip pat yra C++ prievadas. Projekto pirminis kodas publikuojamas Subversion versijų valdymo sistemoje ir yra prieinamas visiems.

Programa imituoja organizmų populiacijos gyvenimą – botus (robotus), kurių DNR aprašoma rankiniu būdu naudojant specialiai sukurtą kalbą. DNR iš esmės yra didelė būsenos mašina, kuri nuskaito informaciją iš daugybės skirtingų įėjimų, ją modifikuoja ir sujungia su veiksmingomis išvestimis. Boto kodas (toliau – DNR) aprašytas tekstiniame faile su plėtiniu .txt, kuris leidžia dirbti su juo bet kuriame redaktoriuje, įskaitant Notepad. Modeliavimo esmė – atlikti kiekvieno ciklo DNR, atsižvelgiant į galimas organizmų sąveikas, mutacijas, virusus ir pan.

Pagrindinis Darwinbots programos sąsajos elementas yra botų pasaulis (arba modeliavimo laukas). Botų pasaulis yra didelė nediskreti plokštuma (taip, tas pats mėlynas stačiakampis, kuris buvo anksčiau). Pagal numatytuosius nustatymus robotai gali judėti visame pasaulyje. Pasaulio nustatymai nustatomi modeliavimo nustatymuose.

Kiekvienas robotas pavaizduotas tam tikro dydžio ir spalvos apskritimu, kurio centre yra tam tikras raštas. Boto „akis“ pažymėta baltu tašku. Jį sudaro 9 paprastos akys. Kai modeliavimo lauke pasirenkate robotą, galite matyti kiekvienos akies matymo laukų tinklelį. Akys programai perduoda reikšmę, maždaug atitinkančią objekto dydį matymo lauke.

Botas turi paprastų lytėjimo pojūčių sistemą, leidžiančią pajusti susidūrimą ar kito boto ataką. Botų jutiminiai įėjimai analizuojami į DNR, kuri parašyta kalba, naudojant FILO (pirmas į, paskutinis išėjimas) abstrakciją, remiantis sukrautų plokštelių principu. Dauguma robotų turi nuo 6 iki 20 DNR procedūrų, vadinamų genais, kurios gali atlikti iki 200 operacijų. Kiekviena operacija gali mutuoti.

Kiekvienas botas turi savo energijos rezervą. Dauguma veiksmų sumažina energijos kiekį. Kai energija pasieks nulį, botas mirs, o pakilęs virš DNR nustatyto lygio pradės daugintis. Energiją galima papildyti sugeriant kitus botus (analogiškai medžiojant įprastoje aplinkoje) ir kaupiant energiją iš savo „kūno“. Jei robotas pasirenkamas kaip autotrofas, energija automatiškai pasipildo per ilgą laiką.

Botas gali šaudyti į neapčiuopiamus sviedinius, atakuoti, paimti šiukšles, užsikrėsti ir keistis informacija su kitais robotais. Sviedinys yra taškas modeliavimo lauke, kuris neturi masės ar fizinių matmenų.

Botas taip pat gali bendrauti su kitais robotais, sudarydamas sudėtingą daugialąstę struktūrą, kurioje robotai gali keistis energija, operacijomis ir judėti lauke.

Kai botas dauginasi, jo DNR perduodama jo palikuonims, kartais su tam tikrais pokyčiais, kurie turi įtakos boto elgesiui. Kaip ir realiame pasaulyje, evoliucija gali vykti pasikeitus DNR – naujos kartos botai gali tapti pajėgesni atakuoti, daugintis, vengti kontakto ir pan. Tokios mutacijos arba perduodamos iš kartos į kartą, arba išnyksta. Laikui bėgant DNR gali kaupti nepageidaujamą kodą, kuris nieko naudingo neduoda. Tai pareikalaus daugiau energijos ir DNR taps aktyvesnė.

Kadangi programa nenusprendžia, kurį organizmą auginti, boto gebėjimai ilgainiui pasireiškia per judėjimo, energijos valdymo, dauginimosi ir tt strategijas. DNR kodo sudėtingumui nėra jokių apribojimų.

Darwinbots evoliucija trunka gana ilgai. Botų karta gali gyventi kelis tūkstančius ciklų, o dauguma modeliavimų vyksta maždaug 15 ciklų per sekundę greičiu, todėl gali prireikti valandų ar dienų, kol įvyks reikšminga natūrali atranka.

Žinoma, šiame įvadiniame straipsnyje vargu ar galėčiau jus sudominti šiuo projektu, bet kaip masalą galiu pasakyti, kad programa turi interneto režimą (kažkoks PvP), o botų kūrėjai gali dalyvauti lygose – savotiškai varzybos.

Kitame straipsnyje kalbėsime apie modeliavimo nustatymus ir botų programavimą.

Ir galiausiai nuotraukos, kad patrauktų dėmesį.