TweetBulb: a natural language interface to smart light bulbs

(Xuchen Yao) #1

Hello forum,

TweetBulb is an experiment of the idea “Texting as a Universal UI”, i.e., controlling things via a text message, without any specialized apps. The underlying core technology is a natural language semantic parser that converts text to API calls.

We are rolling out a beta version here:

Would love your input on improvement! Thanks!

P.S., if you are more interested in using the semantic parser, here’s a demo too:

(Jody) #2

I am interested in your NLP implementation.

(Xuchen Yao) #3

That’s weird. The video above is hosted on Github. If you were talking about the YouTube video not available to you, I have known that YouTube living streaming doesn’t work in some countries. But if you are in the states, it should be fine.

The underlying NLP component is a semantic parser called Parsetron:

It’s Apache licensed.

I’d be happy to know what NLP applications you have in mind!

(Jody) #4

I edited my post. I can see the video now. I have built some things using which was acquired by facebook. Their’s is a cloud hosted solution.

I am working to build a speech interface that takes intents and turns them into actions with minimal user setup. In my application, a user simply defines their locations, zones, and things. What I want to happen when a user says “Turn on the hallway light” or “Turn on the light in the bathroom”, the system will look at the user’s zones and then for any devices of the type light in that zone and turn it on. I have it functioning fairly well with, but I stopped to focus on amazon echo integration first.

My app is open source on github as well.

(Xuchen Yao) #5

How’s your experience with the latency with ASR from both and Echo?

By “look at the user’s zones” you mean detecting it with a motion sensor? Then the user wouldn’t have named the location right? The user would’ve just said “turn on the light” while standing in the hallway.

We are looking into more detailed analysis of user commands using NLP. For instance “change the living room light to red and blink the bedroom lights in orange for 5 minutes”, or “turn all lights on in blue color except the hallway one”, etc.

(Jody) #6

In the demo I built there is a screen with a microphone button. The user pushes the button and their speech is sent to and processed. extracts the intent and sends it back to my server for the action.

For example the user speaks "turn on the living room light sends back a json string that looks kind of like this my server’s api

{{zone:“living room”},{object:“light”},{action:“on”}}.

My server takes that info and acts on it or throws an error back to the user interface.

The system I have so far can change colors, set the brightness, switch on or off, read the status, etc. I only removed it from the current system when I open sourced.