The Ethics Of When Machine Learning Gets Weird: Deadbots

Everyone knows what a chatbot is, but how about a deadbot? A deadbot is a chatbot whose training data — that which shapes how and what it communicates — is data based on a deceased person. Now let’s consider the case of a fellow named Joshua Barbeau, who created a chatbot to simulate conversation with his deceased fiancee. Add to this the fact that OpenAI, providers of the GPT-3 API that ultimately powered the project, had a problem with this as their terms explicitly forbid use of their API for (among other things) “amorous” purposes.

[Sara Suárez-Gonzalo], a postdoctoral researcher, observed that this story’s facts were getting covered well enough, but nobody was looking at it from any other perspective. We all certainly have ideas about what flavor of right or wrong saturates the different elements of the case, but can we explain exactly why it would be either good or bad to develop a deadbot?

That’s precisely what [Sara] set out to do. Her writeup is a fascinating and nuanced read that provides concrete guidance on the topic. Is harm possible? How does consent figure into something like this? Who takes responsibility for bad outcomes? If you’re at all interested in these kinds of questions, take the time to check out her article.

[Sara] makes the case that creating a deadbot could be done ethically, under certain conditions. Briefly, key points are that a mimicked person and the one developing and interacting with it should have given their consent, complete with as detailed a description as possible about the scope, design, and intended uses of the system. (Such a statement is important because machine learning in general changes rapidly. What if the system or capabilities someday no longer resemble what one originally imagined?) Responsibility for any potential negative outcomes should be shared by those who develop, and those who profit from it.

[Sara] points out that this case is a perfect example of why the ethics of machine learning really do matter, and without attention being paid to such things, we can expect awkward problems to continue to crop up.

Code Your Own Twitch Chat Controls For Robots — Or Just About Anything Else!

Twitch Plays Pokemon burst onto the then nascent livestreaming scene back in 2014, letting Twitch viewers take command of a Game Boy emulator running Pokemon Red via simple chat commands. Since then, the same concept has been applied to everything under the sun. Other video games, installing Linux, and even trading on the New York Stock Exchange have all been gameified through Twitch chat.

TwitchPlaysPokemon started a craze in crowdsourced control of video games, robots, and just about everything else.

You, thirsty reader, are wondering how you can get a slice of this delicious action. Fear not, for with a bit of ramshackle code, you can let Twitch chat take over pretty much anything in, on, or around your computer.

It’s Just IRC

The great thing about Twitch chat is that it runs on vanilla IRC (Internet Relay Chat). The protocol has been around forever, and libraries exist to make interfacing easy. Just like the original streamer behind Twitch Plays Pokemon, we’re going to use Python because it’s great for fun little experiments like these. With that said, any language will do fine — just apply the same techniques in the relevant syntax.

SimpleTwitchCommander, as I’ve named it on Github, assumes some familiarity with basic Python programming. The code will allow you to take commands from chat in two ways. Commands from chat can be tabulated, and only the one with the most votes executed, or every single command can be acted on directly. Actually getting this code to control your robot, video game, or pet viper is up to you. What we’re doing here is interfacing with Twitch chat and pulling out commands so you can make it do whatever you like. With that said, for this example, we’ve set up the code to parse commands for a simple wheeled robot. Let’s dive in.

Continue reading “Code Your Own Twitch Chat Controls For Robots — Or Just About Anything Else!”

Chatty Coaster Agitates, In A Friendly Way

Awkward silences can be highly uncomfortable. Thankfully, they’re a problem that can be solved by technology. Chatty Coaster aims to do just this, detecting pauses in conversation and interjecting with helpful questions to move things along.

The coaster is built around an Arduino Micro, which uses a microphone to detect audio levels in the room. When it detects an extended silence, it then fires off a sound clip using a SparkFun audio breakout board. The questions vary from plain to politically sensitive, so there’s a good chance you could get some spicy conversation as a result. Any talking device runs a risk of being more annoying than helpful, and there’s certainly a risk that Chatty Coaster could fall into this category. Choosing the right content seems key here.

Overall, while this may not be the ultimate solution to boring company, it could get a laugh or two and serves as a good way to learn how to work with audio on microcontrollers. Video after the break.

We’ll admit, when we were reading this one, we thought we had déjà vu. But this one’s a lot less blamey.

Continue reading “Chatty Coaster Agitates, In A Friendly Way”

This Is Not An Argument Bot

While in-person arguments are getting harder to come by these days, we’ll always have the internet (hopefully). So what can you do to stay on your game in a time when a little levity is lauded? Build an argument bot and battle wits with the best — a stern-faced John Cleese!

This latest offering from [8 Bits And A Byte] refers to a Monty Python sketch featuring an argument service — an office with a receptionist who will take your money and send you down the hall for a healthy and heated discussion. If you’ve never gone on a Monty Python binge, well, it’s probably as good a time as any.

Electronics-wise, the argument bot is a pretty simple build. A Raspberry Pi B+ outfitted with a Google AIY hat listens to your side of things and decides which bones to pick. Your obviously misguided statements are then matched with DialogFlow intents, and dissent is sent back through the speaker. Meanwhile, Mr. Cleese’s jaw moves up and down on a printed and servo-driven linear actuator while he maintains a stiff upper lip. Before you go off on that Python binge, check out the build video after the break.

Have you seen what can happen two robots argue? ‘Tis but a scratch. Continue reading “This Is Not An Argument Bot”

Make A Natural Language Phone Bot Like Google’s Duplex AI

After seeing how Google’s Duplex AI was able to book a table at a restaurant by fooling a human maître d’ into thinking it was human, I wondered if it might be possible for us mere hackers to pull off the same feat. What could you or I do without Google’s legions of ace AI programmers and racks of neural network training hardware? Let’s look at the ways we can make a natural language bot of our own. As you’ll see, it’s entirely doable.

Continue reading “Make A Natural Language Phone Bot Like Google’s Duplex AI”

Hackaday Links: January 8, 2017

What do you get when mindless automatons with no capacity for reason or logic converse? While you discuss that in the comments, here are two chatbots on Twitch. The highlights? A few hours ago they were doing the cutesy couple, “‘I love you more!’, ‘No, I love you more!'” thing. This was ended by, “Error, cannot connect to server.” Even robot love is not eternal.

3D printer nozzles wear out. Put a few hundred hours on a brass nozzle, and you’re not going to get the same print quality as when you started. This has led to stainless and silly-con carbide nozzles. Now there’s a ruby nozzle. It’s designed by [Anders Olsson], the same guy who’s using an Ultimaker to print neutron shielding. This guy is a nuclear engineer, and he knows his stuff. This is a nozzle designed to not grind contaminants into extruded plastic, and it looks cool, too.

This is the eighth day of the year, but the guild of independent badge makers of DEF CON are already hard at work. AND!XOR is working on the DC25 badge, that promises to be bigger, badder, and more Bender. I’m loving the Hunter S. Bender theme.

Anyone can design a PCB, but how do you panelize multiple PCBs? There’s a lot to consider – routing, mouse bites, and traces for programming the board while still panelized. This is the best solution we’ve seen. It’s a GUI that allows you to organize Gerbers on a panel, rotate them, add routes and cutouts, and generally do everything a board house does. It’s all Open Source and everything is available on GitHub.

[ducksauz] found a very old ‘computer trainer’ on eBay. It’s a DEC H-500, built to explain the basics of digital electronics and semiconductors to a room full of engineering students. It is an exceptionally beautiful piece of equipment with lovely hand-drawn traces and ‘surface mounted’ 7400 chips mounted on the back side.

This Bear Can Pass A Turing Test

bear

Some thought the first artificial intelligence would come about as an accident, others as a war machine that decides the only way to protect humans is to kill them all. It turns out both these ideas were wrong. The first AI is apparently a teddy bear, available on Kickstarter for $60.

The Supertoy Kickstarter is selling a mechatronic teddy bear with motors, speakers, and enough electronics to connect to a cell phone. After plugging your cell phone and stuffing it in Teddy’s thorax, the bear comes alive with an intelligence all his own and a voice seemingly lifted from [Peter Griffin].

Needless to say, we’re just a bit skeptical that Teddy here can perform as demonstrated in the Kickstarter video. While the team behind Teddy has developed a successful talking chatbot before, the video makes this tech seem too good. Even the voice sounds like a real person with a microphone, and not like a clunky GPS personality.

Feel free to speculate in the comments on how good this tech can possibly be.