ElliotTheRobot / LILACS-mycroft-core

Mycroft Core, the Mycroft Artificial Intelligence platform - LILACS Fork
https://mycroft.ai
GNU General Public License v3.0
4 stars 1 forks source link

Backend Priority - Fitting everything into the nodes #33

Open JarbasAI opened 7 years ago

JarbasAI commented 7 years ago

the default use-case scenario will be the crawler wanting to search a node and have no info about it at all

in this case the crawler is expected to ask the various knowledge backends for info

a policy must be made for this:

the limiting to question type is important, lets define what each backend is good for:

wolfram alpha:

not structured data collection, but answers user right away, entitys can be tagged in the sentence to populate node-base, exploring the api for ways to get more data useful to populate nodes

wikihow

completly unstructured data, returns a list of how tos but is usually not exactly on point

wikipedia:

unstructured data, but the most usefull for the user, the parsed fields will most likely be the target info to be retrieved by the crawler

wikidata:

This is usefull to get specially seconday node connections and some minor info, propertie lookup must be set in place for properties

dbpedia:

usefull relationship data comes from here, specially for making connections

wordnik:

this is a tricky one, it gets mostly grammatical relationships, but some fields are not very factual as long as they are "spoken language compatible", an example case we dont want , "human" is synonim to "fallible"

conceptnet:

this is awesome for connections, however suffers even more from difficult parsing, no fields can be easily put into a connection

examples of "non-parents": frog -> is a: [u'frog', u'amphibi', u'adornment', u'amphibian', u'French person', u'capture'] chicken -> is a: [u'food', u'meat']

further thought is needed