

Show HN: Akiva – A simple NLP, question-answering artificial intelligence - christophe971
https://github.com/thebigdb/akiva

======
nnx
It's a very MVP simple implementation that works well for most cases. Kudos.

That said, looking at the code, I'm not sure why you call it an AI when it is
very rule-based so the code itself is not able to have any "intelligent"
behavior when the input falls out of the predefined rules.

More importantly, as you seem to be the creator of the underlying BigDb
project, is there any actual data in it past the precise examples given in
your README?

[http://thebigdb.com/recent](http://thebigdb.com/recent) The only recent
examples visible are about the weight and dimensions of the iPhone 5 vs Galaxy
S4 vs Nexus 5, as in your NLP examples.

[http://thebigdb.com/random](http://thebigdb.com/random) Gives the same
results, I expect random takes the whole DB as the sample set.

[http://thebigdb.com/search?q=everest](http://thebigdb.com/search?q=everest)
No result found.

~~~
christophe971
Everything you said is very much correct. On the "AI" title, I know there is a
long debate about what constitutes an AI and what doesn't, and I'm sure you're
also aware of it, so I won't go there :)

There is no data in TheBigDB yet indeed, I've just (re)launched it as I'm
releasing Akiva: you can take them as both proof-of-concept of each other, if
that makes sense.

Obviously, the dataset in TheBigDB will grow with time, and the skills of
Akiva will also.

Thanks for your questions :)

~~~
kybernetikos
have you considered integrating with freebase or perhaps populating theBigDB
from freebase?

[http://www.freebase.com/](http://www.freebase.com/)

~~~
christophe971
I'm not sure what's the licensing of what's in Freebase but I'll look into it,
thanks!

~~~
cocoflunchy
It's under CC-BY
([http://creativecommons.org/licenses/by/2.5/](http://creativecommons.org/licenses/by/2.5/))
so it should be no problem as long as you give attribution.

------
sinkasapa
I think it is strange how the author of a cool tool like this seems to feel
the need to justify their tool's existence in a world where new web-framework
X is announced every day.

~~~
christophe971
haha, thank you :) Strange indeed...

------
TeeWEE
Why don't you use an existing ontology/knowledge graph instead of building
your own with thebigdb?

For example: [http://www.freebase.com/](http://www.freebase.com/)

~~~
christophe971
Because I believe the knowledge graph of Freebase is way heavier than what's
needed, and unless you know exactly the type of what you're looking for, it
would make a software like Akiva way more complicated to build, imho. (or I
missed something)

~~~
hcarvalhoalves
Your project sounds _awesome_ , the NLP part seems to be working nicely, but
I'm afraid it depends on the quality of the data source, which right now is
empty (I only saw some facts about a few smartphones). I remember your
announcement for TheBigDB [1], and thought it had some fundamental structural
limitations as a fact database too.

Since ontology is a very very hard problem, and collecting a lot of facts even
more so, I think you should look more carefully into using a structured DB
like Freebase that has already figured it out.

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

------
pmelendez
I like the idea, but unfortunately I only got results with the example
questions. For instance:

> akiva ask "What's the weight of an iPhone 5s ?" 112 grams

is fine, but:

> akiva ask "What's the weight of an iPhone 5 ?" Sorry, Akiva can't answer
> that question for now.

Or > akiva ask "What's the weight of a Nokia Lumia 920 ?" Sorry, Akiva can't
answer that question for now.

~~~
bromagosa
Same here... I tried really different kinds of questions and couldn't get an
answer.

    
    
      $ akiva ask "Is the empire states building higher than the eiffel tower ?"
      Sorry, Akiva can't answer that question for now.
      $ akiva ask "How far is the Earth from Mars?"
      Sorry, Akiva can't answer that question for now.
      $ akiva ask "How old was Bob Marley when he died?"
      Sorry, Akiva can't answer that question for now.
      $ akiva ask "What kind of music did Janis Joplin play?"
      Sorry, Akiva can't answer that question for now.
      $ akiva ask "What kind of questions can akiva answer?"
      Sorry, Akiva can't answer that question for now.

~~~
christophe971
See
[https://news.ycombinator.com/item?id=7090514](https://news.ycombinator.com/item?id=7090514)

~~~
bromagosa
Thanks! I should have researched a little bit more before commenting.

------
aluhut
I wish there would be a cleaner V2 version of megahal out there. I loved that
thing but the last time I've implemented it into eggdrop (which is hopelessly
outdated too) I was sweating blood and never wanted to touch it again ;)

------
oelmekki
Very nice. I wonder, do you plan to couple this with any kind of speech
recognition at any point, so we could have some kind of custom siri ?

~~~
christophe971
I do! I'm not sure how to do it "the right way" for now, but if I release some
mobile or desktop app based on it, I'll make sure to work on that, thanks for
the question!

------
silentrob
This looks amazing, and I agree, you need to bootstrap theBigDB with more
facts. Sources like freebase and perhaps DBPedia would help.

It would also be cool to layer on temporal facts too, like "What is the price
of APPL today?" or "Is JT on tour?"

My initial statement was "Is Kevin Spacey in Austin Powers?" \- No results.

------
tylerkahn
As best I can tell this is more like an English-looking CFG with a simple
attribute grammar. And the rules can be updated at runtime.

------
casualobs
this is interesting, but none of the questions i've asked seem to get
answered, even after wording them well and picking easy questions..like 20
questions in a row

