Review: Ask NASA Mars! ROV-E
Previous reviews: Lowe’s chatbot, Tonal Home Gym Chatbot
I love watching the footage we get back from NASA rovers on Mars, and am happy that NASA shares what they do in so many different channels. It made me wonder, does NASA have a conversation bot? Short answer: yes! A quick search and I came across this adorably cute character ROV-E:
As they say, “ROV-E is a real robot with a computer brain.” It’s a real robot that moves around in physical space (you can watch a video on the website). But it’s also a conversational AI that you can talk to.
Voice and text modes
The first thing I noticed is that ROV-E can communicate in both voice and text. The voice version is accessible through Amazon Alexa, and looks like it should be via the website as well, though I wasn’t able to get that to work. The conversational interaction seems pretty simple, basically an FAQ bot. In all my testing, I never saw a multi-turn interaction. It was all a single input from me with a single response from the bot.
In the Alexa implementation, the chat starts with a welcome message, captured in this screenshot from the Alexa app:
The Alexa skill spoke the “Welcome to …” section out loud. This welcome message has two main parts: 1) a welcome, and 2) an orientation. Interestingly, it doesn’t use this first turn of talk to say hello or to introduce itself as the character ROV-E. The bulk of the message is focused on capabilities, suggesting ROV-E is all business. Moreover, the intro suggests three different possible requests, presumably to give some sense of the scope of the questions that ROV-E can answer.
I decided to ask “How old is Mars?” ROV-E said:
How beautiful! The answer is clear and direct, with a gorgeous picture to boot. Noticing that it showed the literal words of my question, I thought I’d try asking the same question with slightly different syntax, so I said “What is the age of Mars?” ROV-E not only understood the intent of the question, giving the right answer, but also captured my actual question word for word to present back to me.
I thought it might coerce my question into a standard format, displaying “How old is Mars?” even if I said “What is the age of Mars?” This made me wonder how far they would go in terms of literal transcription of my question, so I asked “What is the, um, well, the age of Mars?” To this ROV-E gave a much longer response:
In addition to the difference in length, the bot seems to have classified my voice input into a “What is the age of mars?” intent. In this instance, it did not provide a literal transcription, instead recognizing the intent and providing a question and answer pair. This made me want to test the bounds further, so I tried a topicalization structure: “The age of Mars, what is it?”
Here, it seems that my input was not mapped to a pre-written intent, but instead a web search was done and a potentially relevant result was returned. This seems like a fallback method that is used when there is something meaningful in the input that could be worth a web search, but not enough to match to a pre-written intent. The response didn’t really answer my question, though it is related.
How does this compare to the text chat version of ROV-E?
The text chat interface worked on both my computer and mobile browsers:
The welcome message is different in text compared to voice! In text, there is a greeting “Hi there” but no “Welcome to NASA Mars” message. There is a well-wishing sentence, which is quite different from the voice channel’s straight-to-business approach. ROV-E then says you can ask any questions about Mars, but in contrast to the voice channel, it doesn’t give any examples of possible questions. Instead ROV-E dangles the idea that you could even ask it about itself. All of these design decisions (greeting, well-wishing, suggestion of personal questions) seem to be framing the relationship as a more personal one. It’s not clear to me why! Perhaps it’s as simple as different people designing the voice and chat experiences, or at least the welcome message.
I tried my standard question again:
The syntax that in voice returned a single sentence answer, in text returned the long-form answer! I’m actually not sure what would drive that. I assumed the two interfaces used the same backend intent mapping, but perhaps not. Since voice is through Alexa, it may require using Amazon’s intent mapping, while text could be handled with a different technology. If anything, this shows some of the challenges of designing for multiple channels!
From inspecting the page’s source code, it looks like the chat interface is in a <div> tag with class=“interact”. I’m guessing this is a custom class designed for the text interaction. In fact, the text input field is named “Ask-NASA-Mars”. Looks like custom work! Inside the code, a “hide” label in the voice and text div tags appears or disappears when you toggle between voice and text modes. Also, it’s super easy to toggle in the browser! Note the “voice version” and “text version” links below.
Conclusion
All in all, the ROV-E bot is a cute, conversational way to learn about Mars. It’s not trying to deliver multi-turn conversations, but targets an FAQ function in both voice and text channels. Curious to see what you do next, NASA.
If you try it out, let me know what you think!
Copyright 2021 Joseph Tyler All Rights Reserved