
Show HN: Alexa skill for Hacker News that summarizes articles - adrianbg
I&#x27;ve made a Hacker News skill for Alexa so people can get tech news while driving, cooking, or cleaning. The first version lists post titles and summarizes articles:<p><a href="https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B07CKVDXC3" rel="nofollow">https:&#x2F;&#x2F;www.amazon.com&#x2F;dp&#x2F;B07CKVDXC3</a><p>I&#x27;ll have lots of time over the next few months to refine it and add things like<p><pre><code>  - comment summaries
  - selecting posts by topic, and eventually
  - answering questions about articles
</code></pre>
What do you think of the skill? What I should add to it? What do people think about voice assistants in general?<p>To keep in touch, talk to me on Twitter or by email:<p><a href="https:&#x2F;&#x2F;twitter.com&#x2F;AdrianBPatter" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;AdrianBPatter</a><p>adrian@patter.io
======
sjwalter
This is deadly. Would love if you could feed it custom sources or maybe
something like RSS feeds, so I could just "Hey alexa can tell me the top three
stories from my feed" or something. No clue if that's possible.

Good stuff!

~~~
dguo
Alexa has a feature called Flash Briefing:
[https://developer.amazon.com/docs/flashbriefing/understand-t...](https://developer.amazon.com/docs/flashbriefing/understand-
the-flash-briefing-skill-api.html)

I looked into developing one last week, but as far as I can tell, you can't
programatically manipulate the feed in any way. You just give it a RSS feed,
and it reads the first five results.

~~~
adrianbg
Yeah, I don't think it's intended to be interactive. More like a really quick
curated news update.

~~~
dguo
Yep. The rigidity creates issues though.

As a user: 1) The only thing I can really control is what sources are in my
feed and the order. For example, I added NPR, but it reads out the entire
story instead of just the titles. And the stories are so long that I removed
NPR completely.

As a developer: 1) I tried creating a flash briefing for a particular
subreddit, but the Alexa developer console said the feed could not be parsed
even though I could open the feed just fine in Firefox. From what I could
tell, the backend was being very strict with what constitutes a valid feed. If
I could use code, I would just fetch the feed and parse it myself. Since I
can't, it seems like there's nothing I can do.

2) I was also surprised to learn that existing skills can't serve as flash
briefing sources. It'd be great if I could add your HN skill to my briefings,
but as I understand it, you'd have to create/host a RSS feed and then create
yet another skill that is just a flash briefing one.

~~~
adrianbg
I find Amazon's products often have bizarre constraints like that. They seem
to do well anyway though :/

Thanks for your comments! I wonder if I can create some kind of personalized
briefing based on which stories people seem interested in.

------
discussedbefore
Interesting to compare the automation vs. a manual approach started last
month.

Show HN: Hacker Daily, a daily podcast for Hacker News readers

[https://news.ycombinator.com/item?id=16850689](https://news.ycombinator.com/item?id=16850689)

~~~
adrianbg
Yeah.. turns out that's actually a friend of a friend. I'm curious to see what
people prefer for obvious reasons :). The advantages of my approach are
personalization, interactivity, and scalability beyond just HN. Theirs is
probably going to be a nicer experience than I can do for non-interactive use.

------
adamisntdead
Love the idea - what API are you using for summarization?

~~~
adrianbg
Thanks!

Right now I'm using this:

[https://rapidapi.com/textanalysis/api/Text%20Summarization](https://rapidapi.com/textanalysis/api/Text%20Summarization)

but may switch to a more expensive one and may supplement with manual edits.

~~~
samstave
Where are you located?

~~~
adrianbg
SF

~~~
samstave
We have integrated Alexa with our RFID Sensor tag and reader infrastructure.

We place sensor tags in an environment and then ask Alexa "whats wrong" and
she will reply with any events the infra has.

We have some other neat things we did with it...

Ill ping you off HN - we are also in SF-Bay.

------
marblar
"I'm having trouble accessing your hacker news skill right now."

~~~
adrianbg
Thanks for trying it. I don't see any errors from today on my end. Would you
mind emailing me at adrian@patter.io to debug?

------
serg_chernata
Can you share any more details about the tech you're using? Libraries,
languages, services?

~~~
adrianbg
Alexa does most of the hard stuff: speech recognition / intent detection, and
speech synthesis.

My back end is a simple Python service on GCP that handles HTTP requests from
Alexa. The same service also downloads the HN front page from the FireBase
mirror and gets summaries from this API:

[https://rapidapi.com/textanalysis/api/Text%20Summarization](https://rapidapi.com/textanalysis/api/Text%20Summarization)

It's not perfect though, so I may switch to a more expensive summarization
API, supplement it with manual summaries, and/or train my own summarization
model.

~~~
serg_chernata
Thank you, I didn't know Alexa handled all of that.

~~~
adrianbg
Sometimes I wish it didn't. They don't give you the original audio, any kind
of confidence score, or even alternative hypotheses. It's really a pretty
rigid platform. A lot of things that seem like they should be reasonable are
impossible. Eg., I'd prefer to just say a list of post titles and let people
interrupt Alexa when they hear something they like. That is impossible right
now without pretty serious hacks.

~~~
laken
Yeah, I was working on an Alexa skill once where I wanted the user to be able
to say anything. That isn’t possible really, unless you give Alexa a really
long randomly generated list of un-related/non-existent words for the
“intent”, so that when Alexa tries to parse what the user says to those words,
it fails and just provides its next best guess.

~~~
adrianbg
Google's speech recognition is supposed to be much better, though not sure if
they'd allow "one intent to rule them all" like you want.

For free-form speech recognition in Alexa, the best option I've seen mentioned
on the public Alexa Slack team is using the "SearchQuery" slot. So you'd still
have to make a weird catch-all intent that would eat up some of the words (and
you wouldn't be able to see them). At the same time, you shouldn't assume that
Alexa will give you very good results with such loose constraints. Even in my
simple skill it's very bad about confusing certain pairs of words.

~~~
laken
Might have to try google home.

As an aside, did you hit 100 enables yet? If so, congrats on the free dot :)

~~~
adrianbg
I.... don't know. But I doubt it :)

------
walshemj
Interesting it looks like the uk and us versions of amazon have different
skills availible

~~~
adrianbg
My guess would be that they have separate speech recognition / synthesis
models. Sorry, I should try and get this thing out to other countries too.

~~~
binoyxj
Make it available in India. I'd like to test and provide feedback.

~~~
adrianbg
India, Canada, the UK, and other English-speaking countries are in Amazon's
review process. Should be working in another day or two.

------
ncouture
This sounds interesting. Is there a reason it is limited to Alexa users?

~~~
adrianbg
Only that that's all I've had time to do so far. What alternative did you have
in mind?

~~~
ncouture
Any; from my experience developing voice UIs using Google products and APIs I
figured it was a very good thing to segregate the application logic from its
integration with select platform(s) like Google Actions, Alexa skill, Android
Things, a standalone device, or one of many 3rd party chat application like
Facebook Messenger or Hangouts Chat...

There are so many options it seems like the right thing to do is to release on
those your potential users have access to.

------
NinaJZapala
I think you are onto to something big! WOW, impressive.

~~~
adrianbg
Thanks!

------
djangowithme
"You are not eligible to enable this skill due to geographical restrictions."

:( This is super useful, would love to install it!

~~~
adrianbg
Hmm sorry. Where abouts are you? I didn't intentionally put on any
restrictions.

~~~
djangowithme
Canada

~~~
adrianbg
Oh man, def not intentional. I'm Canadian too.

~~~
djangowithme
Thanks!

Its strange that Amazon did this, because its clearly not because of licencing
(you didn't restrict it). Although this does happen quite frequently for me,
mostly when clicking links on reddit (streamable for the win)

~~~
adrianbg
I ranted about this in the unofficial Alexa Slack team and the people there
gave some plausible (but unsatisfying) reasons why it works like that. I'm not
a huge fan of Amazon though, so I'm happy to blame them. Essentially it boils
down to different regions being treated as different "languages" as well as
having features rolled out to them at different rates.

------
fergyfresh
Is this on github, I'd love to contribute!

~~~
adrianbg
It's closed source. Sorry. I've thought about things like trying to
crowdsource the summaries, since people sometimes write "tl;dr" comments on
posts.

------
confiscate
awesome skill! Added it to my Alexa

------
dfdfdfwff
How do you generate the summaries?

