Hmm - I hadn't thought about the dashboard / data viz creation side of this. Not sure that I'd want to be sitting in my cube creating dashboards "out loud".
"Okay, let's bring in 'Sales' to the rows card.
"Nah, I don't like that. Move 'Sales' to the columns card.
"Hmm, that doesn't work either. Put 'Sales' back to the rows card but add 'Profitability Indicator" to the details section.
"Crap. Still not working. Let's start over."
Imagine 10 analysts in a room all talking like this :)
this here. I've spent the last couple of years working on a similar data discovery style product and after a lot of playing around with concepts I think semi-natural language descriptions typed and also generated based on your manual data selection can be really useful.
If I'm speaking i have to finish the whole thought and deal with excluding all my "uuhms" and half thoughts. If I'm typing i can intellisense prompt for relevant things. Correlate Sales with _[Discounts, ...]. I think terse natural langage descriptions of data views are really useful aside from voice.
Incidentally nothing like trying to play around with this stuff to make you super self conscious about uuh how you speak.
Saw a pretty sweet demo of Tableau's home-grown prototype at their annual conference last November. It was surprisingly useful to be able to just speak "show me all of the 3-bedroom homes in the downtown Seattle area less than $400,000".
It was slow, but effective. I kept feeling myself wanting to click around for the first few minutes but quickly realized I didn't need to.
I did have to speak in away that the NLP engine could understand (i.e. "four-hundred thousand dollars" instead of "four-hundred k") so it still feels like I'm building a SQL query with my voice instead of just speaking an idea and the software figures out what I mean (hard problem to solve, I know!)
Is there an open source NLP engine out there? I've been trying to learn this area and there are so many "pot holes" and wrong paths ... I've looked at OWL/Sparql, Graph DBs, logic programming, rule based systems. I feel like I'm dancing around the real topic and I don't know what "it" is :'(
I was playing with this around for a weekend or two. So my knowledge is not exhaustive on that matter but it all boiled down to having a good OLAP-ish data source in the first place.
- You can do the Named Entity Tagging based on the categorical data (e.g. columns that are Text/Strings with low-ish relative cardinality would make good candidates to filter out text fields with for example email addresses (which shouldn't be in a DWH in the first place as categoricals))
- FLOATs/decimals/Integers would be good candidates for values that somebody looks for (and the name of the column would be the 'trigger' of the query.
All in all, with a bit of logic, good OLAP design and a lot of up front configuration I got in a weekends time to answer basic questions like 'revenue in the US in 2016' using NLTK back in the day. Today I would probably give spaCy a try as NLP engine.
NLTK in Python - it even has a basic example showing natural language to SQL translation that is pretty cool. Simplistic, but a good starting point for learning!
.NET has some speech synthesis and listener libraries. They work pretty well; I built a modestly-functional chat bot once with them. Not sure about the overall .NET licensing arrangement, but I heard it was moving towards open source.
Though they feel abandoned, and there hasn't been much recent activity around them. Microsoft probably has all speech engineers working on Cortana instead. (Though I'd be surprised if she's not using .NET at some level.)
Thank you Amy! I've followed you for some time and know that you've been public about your health issues. Really sad that the "Grand Old Party" has decided this is the way they want to run the country.
This post prompted me to the 5Calls.org website and I called both of my Senators. Both are Democrats and were already strongly opposed to the BCRA but it took less than 5 minutes to vocalize my support. They asked for my zipcode to ensure I was one of their constituents, which was nice.
5Calls has an impact section [1], but man, would it be nice to snag the raw data to see more info on those 1.5 million phone calls (by date, by geography, by call status, etc.)
I've been using peach for a few days (@bgraves, add me!)
I'm liking it.
1. It's different and disconnected. I have FB/IG for personal/family stuff, LinkedIN/Twitter for biz stuff. Peach is more fun and more 'creative'.
2. The magic words are a gimmick for sure. But it's a _fun_ gimmick.
3. Kinda related to #1 it's a smaller 'community' now and folks are just trying stuff out.
Overall I've found my self posting a quick update on Peach over the past 48 hours more than I have on "traditional" social media (can we call Twitter, et al. traditional now?) over the past 2 weeks.
Yes, there's a novelty factor. And maybe that's it and it will die on the Vine.
Just added a "5 minute walk from South Station" neighborhood.
A few notes/observations:
1. I didn't realize that there were already several other maps for the area I wanted to map (South Station). It would have been cool to see a message like "Looks like you are mapping a previously mapped section of the town. Want to review that map?" I would have commented/loved that map instead of creating a new one and adding to the noise.
2. I don't see any way to link to my neighborhood map. So, how can I share this with other and get more love?
3. How is this different from Google's "My Maps" feature[1]? Not being snarky, but the only thing I can think of is the 'discoverability' of bostonography maps.
so Bostonography has been a long running attempt to build crowd-sourced definitions of neighborhoods. I expect the interested difference from my maps will be an aggregated report on the data that will come out as has happened on several previous versions of the survey / site.
Nice! I spoke to 50-60 middle schoolers last month. We built a Flappy Bird clone based on the Code.org tutorials and a few of them really caught the spark. This is why I recommend JS, CSS, & HTML for entry level programming courses!
I spoke last week to 50-60 middle school students (ages 12-14) during a day long S.T.E.M demo day. There were 4 sessions with 10-15 kids in each hour-long session. My theme was "Learn to Program" and why everyone should learn to read and write code.
For the first 20 minutes, I reviewed some slides (the "who", "what", "why" of programming). For the rest of the time, we built a Flappy Bird game using the tutorials on code.org. This made everything "click" for them, since it was hands on and practical. Suddenly, abstractions like variables and events make sense when you think of them like "background scene" and "click".
After they loaded their personalized Flappy Bird game to their iPhone, we spent the rest of the time going through CodeCombat. Lots of kids really liked this because it was a game you play with code.
I wish I had a bit more time to do something purely creative (there's a "Frozen" movie art tutorial on code.org, but it's slower paced and would've taken up too much of my time)
---
A few takeaways:
1. You HAVE to make it interesting. Kids today need to go from zero to awesome in 2 minutes or less. I don't see this as a bad thing. When I learned to program, I wanted the same thing. Being able to write some stuff in Notepad and see a webpage in Internet Explorer in 1995 is what got me interested in programming in the first place. I wanted them to get that same feeling.
2. Focus on them. How is computer science going to help them? Basically, these kids (or their parents or teachers) are your customer and you have to make the benefits obvious. I talked about the creative aspects ("stretching your mind"), the career path aspects ("Bill Gates and Mark Z started when they were in middle school"), and the long term impact on the world ("Bill and Mark are two of the most generous people on the planet"). Again, this is aimed at middle schoolers so I'm not going to get into the politics of anti-trust lawsuits or over-reaching privacy concerns.
3. Only about 10% of the kids in a classroom are going to be really enthusiastic about learning this stuff. You'll have 80% that are indifferent and 10% that are bored/lost. That's okay. Not everyone is going to be interested in computer science just like not everyone is into music.
4. I didn't get too deep to quick, just focused on helping them seeing results. I didn't get into any nitty gritty like is JavaScript better than Python or anything too technical at all. Keep it as high-level as you possible can.
5. I also let them work things out. "Oh, your Flappy Bird isn't flapping when you click your mouse? Hmmm, which piece of code do you think handles when you click your mouse? Do you see any actions that you could attach to that event that might make your bird flap?"
---
Overall, it was well received and there were a few kids that used their "Genius Hour" (a set time where they could further explore the STEM topics they learned about on their own) to go through more CodeCombat lessons.
I would definitely do it again, but really needed a nap afterwards. Teaching is HARD!! :)
"Okay, let's bring in 'Sales' to the rows card.
"Nah, I don't like that. Move 'Sales' to the columns card.
"Hmm, that doesn't work either. Put 'Sales' back to the rows card but add 'Profitability Indicator" to the details section.
"Crap. Still not working. Let's start over."
Imagine 10 analysts in a room all talking like this :)