Sunday, December 12, 2010

Knowledge Engine (Developer Preview)

Hello guys,

Atlast a working prototype for Knowledge Engine module. After a lot of trouble with the implementation technique that is actually feasible, here is the one atlast. You can find the Knowledge Engine residing here. The implementation was done in less than 2 hours, so no templates were designed. Its a basic HTML page powered by PHP.

Usage Mode for KBEngine
born 1974-06-22
- To get all the people born on a specified date

dead 1974-06-22
- To get all the people dead on a specified date

starring rajinikanth aishwarya
- To identify the films by actors

birthplace kumbakonam
- To get all the people's birth place

deathplace kumbakonam
- To get all the people's death place

list Company (watch the capitalization)
- To get the list of all companies available in the system. This can be substituted with any of the following:
  • Company
  • People
  • Actors
  • Airport
  • Country
  • TelevisionShow
  • Artwork
  • FootballEvent
  • Publisher
  • Animal
  • Subject
  • EducationalInstitution

Please provide your valuable comments for improvement.

PS: This is the Research Engine Update #7

- Ashwanth Kumar


Lakshmi Narayanan G said...

As far I tested, I'm almost completely satisfied with what I got. Great job bro. If you can, please try to change the syntax of the search terms to include both upper/lower case characters (eg: list Company or list company both should work not just the former) so that the end user's work is minimal. Still testing bro. So far sooooo goooood!!!

Lakshmi Narayanan B said...


by the way, why do we need syntax there??

Nivas said...

Impressive work. Its a good start. Is the set of queries that the system can accept, limited to the ones above?

Here are the some of the bugs I found when I gave it a quick spin:

1. Cities that have two-word names are not recognized.
Eg: birthplace new delhi (or)
birthplace newdelhi

2. I tried just "birthplace delhi" and it shows up McGraw and Shahid Kapoor in the list. They're actually born in America and Mumbai reepectively.

3. Movies are repeated in the list when I tried "starring vijay trisha"

4. The search results for "list Subject" and "list Artwork" dont make sense.

5. The no. of entries shown for the "list Country" is 355 while in reality, there arent that many countries.

Ashwanth Kumar said...

@Lakshmi Narayanan Baskaran Actually its an immediate implementation dude, I'm planning on NLP in my JAVA version, so these syntax like structs are not necessary. You can access it like:
"List all people born on 1972/08/14" or "when was the author of deception point born and where?"

@Nivas No, you're not limited to the ones mentioned.
1. Yes, its a simple implementation, splitting the names by space. I'll fix it!
2. McGraw ( and Shahid Kapoor ( have both origins in Delhi. chk the links, Infobox on the right.
3. Yup! Sorry for that, it so because, its from 2 different sources. (chk the links in the result)
4. Subject ( and Artwork ( its the type of ontology implementing these kind of pages.
5. Refer the instances section here (

Thank you for your report, please keep it coming.

NIVI said...

Really fantastic !!! Its great to know the people born in the same date as me. Well I've never tried it before. Quite happy with it. Keep going...

Ashwanth Kumar said...

@Nivi Thank you!

Salai said...

Nice Work !!! Super !!

Lokesh Sah said...

Nice Work :

FeedBack :

1. The bug mentioned by nivas [keyword separated by spaces ] needs to be fixed .
2. Isn't there a way to make the keywords extensible and let the system learn them by interacting with the users.
Eg: if i enter a new query like "killed by gun".
Then system asks what is it (if it already doesn't knows it.)
And then ask the user if it would like to addd this new rule to the system.
This will make the system self sustained and extensible.

Ashwanth Kumar said...

@Lokesh Thank you very much for your feedback. Well, its been a while since i was working on it. I'll fix it as soon as i resume my work on RE again.

1. Will be fixed in the next preview release.
2. Actually, i'm not sure as of now, how to implement this as such; but the next release will contain feature, which enable the user to type in their natural language and system can process it accordingly. I'm currently working on it. I'll keep you guys posted on this issue.

Enabling rule based process, makes my system an inference engine. I don't want it to be so. It should be natural, dynamic, and above all CONTEXTUAL; This is the ultimate reason for which I'm building it.

Post a Comment