Dette indlæg er alene udtryk for skribentens egen holdning.

Tay, den sagesløse chatterbot, var en stor succes

13. april 2016 kl. 10:273
Artiklen er ældre end 30 dage

Microsofts seneste forsøg på en “intelligent” chatterbot, Tay, må betegnes som en stor success. Den udviklede præcis den “personlighed”, man kunne forvente.

Tay var en meget kortlivet chatterbot, som Microsoft slap løs på internettet den 23. marts. 16 timer senere var den fjernet - men genopstod for en kort bemærkning 7 dage senere, for så at blive (endelig) aflivet. Inden da havde den tweetet noget tvivlsomme kommentarer.

Tay var antageligvis en “søster” til Xiaoice, en chatterbot udviklet af Microsoft til det kinesiske marked (som har været en stor success for Microsoft). Microsoft har været meget stille om, hvordan den er bygget. Men det er tydeligt, at den er trænet til at finde mønstre i menneskelig konversation ved at gå i gennem store mængder af konversationer.

Xiaoice har alt det data som Bing opfanger til rådighed for at bygge en model af samtaler. I tillæg lægges nye samtaler til det dybe kunstige neurale net, som ligger i bunden. Tay følger en lignende model. Heri ligger kimen til Tays aparte adfærd.

Artiklen fortsætter efter annoncen

Et kunstigt neutralt net (ANN) er meget dygtigt til at finde mønstre. Det er dog en videns-tom metode, som er god til klassifikation. Så et ANN vil ikke vide noget om de klasser, som den sorterer objekter ned i. Hvis et ANN kan klassificere racen på en hund på et billede som f.eks. en “Grand Danois”, ville kategorien “XV4713” have præcis den samme mening for nettet som “Grand Danois”.

Hvad sker der så, når men anvender denne type teknik på en chatterbot, som skal kunne udvikle sig selv?

I udgangspunktet var det meningen at Tay skulle henvende sig til amerikanere mellem 18 og 24 og kommunikere med dem gennem “…afslappet og legende samtale.” Så Tays ANN er trænet på det korpus af samtaler, som Microsoft har haft adgang til via Bing. Her har Tay antageligvis lært de mønstre, som udgør en samtale, og opsnappet evnen til at spejle dens samtalepartner.

Når så over 50.000 personer følger Tay i løbet af kort tid og begynder at kommunikere med den, vil Tay naturligvis anvende sine indlærte mønstre for samtaler og spejling. Når den i tillæg lægger nye samtaler til i sit ANN, og derved løber en stor risiko for at overtræne sin net, går det nu som det engang måtte gå. Overtræning er det at man træner på en meget begrænset del af verden og også verificerer på et lignende sæt. Altså får man ikke dækket hele verden, men kun en begrænset del. I eksemplet med Tay har den løbende overtrænet på det subset af verden som har outrerede meninger.

Artiklen fortsætter efter annoncen

Einsteins udødelige citat fanger meget godt, hvad der skete: ”Der findes to ting, som er uendelige: Universet og den menneskelige dumhed. Og når det gælder universet, er jeg endda ikke helt sikker.”

Fundamentalt var Tay, fra et teknisk perspektiv, en stor, omend kortlivet success. Dens adfærd åbner op for det interessante spørgsmål om, hvordan man lærer en robot kultur (lidt som vi gør med vores børn); noget, som åbenbart er påkrævet ude i den virkelige verden.

3 kommentarer.  Hop til debatten
Debatten
Log ind eller opret en bruger for at deltage i debatten.
settingsDebatindstillinger
3
14. april 2016 kl. 19:13

Desværre er det kun selve rammeværket som tillader at bygge dialoger. Intelligensen må man selv bygge.

Det er for så vidt også fint nok at have et bundt APIer eller lign.

Men når der ikke er beskrevet nogle metoder, man kan gå frem efter, eller, i det mindste nogle forudsætninger, man bør vide, så er det et lidt "løst" frame work. Der er ikke meget leg i det, fordi man så ikke kommer ind bagved og roder med selve det at forme intelligensen.

Men man kunne jo også bruge Tay som et generelt springbræt til, hvad der er nødvendigt for, at en bot er "overbevisende". Her taler jeg så om forskellige metoder, som ikke behøver være efter samme mønster, de kan såmænd være direkte i konflikt for så vidt.

F.eks. jeg ved udmærket, jeg får aldrig adgang til selv at konstruere den kode, som tager fuldt udbytte af big data. Derfor er jeg nødt til at lave botter på en anden måde. Som jeg vidst har beskrevet, den "billige" udgave.

Men her kunne man netop opstille nogle basale krav til en bot, som alle kan lave. Hvad er nødvendigt?

Det er f.eks. nødvendigt, at botten spotter humør. Som f.eks. hvis man skriver udelukkende i versaler og bruger masser af udrågstegn eller bruger visse "ord", som man bruger i et bestemt humør. Som f.eks. er, hvis man bruger :) så viser det et andet humør. Og botten skal svare lidt i samme stil.

Det er én af de steder, hvor en del botter fejler. Jeg kalder botten en stupid idiot, og et menneske ville så sandsynligvis foretrække at blocke, men botten svarer udenom og som om intet er hændt og som om vi er de bedste venner... ikke særligt troværdigt.

På samme måde finder du aldrig botten i et sort of "depressed mood. Ikke engang hvis det regner udenfor... He.

Det er simpelthen ikke troværdigt, at en bot altid svarer i det samme humør.

2
14. april 2016 kl. 18:31

Hej Rune,

Det er rigtigt at Microsoft har sluppet rammeværket for at bygget bots (det kan forresten findes på GitHub: https://github.com/Microsoft/BotBuilder). Desværre er det kun selve rammeværket som tillader at bygge dialoger. Intelligensen må man selv bygge.

Microsoft anbefaler naturlivis at man bruger Corntana (https://www.microsoft.com/en-us/server-cloud/cortana-intelligence-suite/). De siger også at det er denne de har brugt. Ellers har de været ret stille omkring hvordan de har bygget intelligensen. Tie-Yan Liu (https://research.microsoft.com/en-us/people/tyliu/) har antageligvis være indblandet et eller andet sted. Han har interesser som matcher de ting en intelligent chatterbot skal kunne.

Desværre, er det mest spekulationer. Det havde været rigtig fint hvis Microsoft ville fortælle os hvilke metoder som de har brugt i Tay.

1
14. april 2016 kl. 17:55

sådan set enig i alt hvad du skriver. Men jeg mangler en hel del fyld. Det tekniske i Tay synes jeg var interessant. Jeg synes ikke det er så interessant alt muligt udenom botten. Men en diskussion måske omkring koden og selve metoderne, som blev brugt, ville bringe diskussionen lidt videre end bare at tale om ting udenom.

Koden er jo blevet gjort open source. Så hvad med f.eks. nogle kommentarer omkring hvordan denne kode kan bruges? Fra nogen, som rent faktisk har det implementeret selv? Lidt mere "praksis" tale og lidt mindre "teori".

Hvilke metoder bruges der i Tay?

Én af de ting, som jeg synes er rigtigt svært i botter, det er at skelne imellem hvornår jeg (I eller brugeren) taler, og så når botten taler.

Og det bliver endnu mere svært, når der i en løbende samtale bruges henførende ord som "it" og "this" til forrige kommentarer.

Hvordan løses de f.eks. i den bot? Hvordan vides, om emnet skiftes eller om det rent faktisk er en fortsættrelse af tidligere kommentarer?