Hello everybody.
I'm trying to create my own chatbot using C#.
Now i'm on stage of implementation bot's understanding of the things that you saying to it.
My bot's mind is semantic network - bipartite graph of concepts and relations.
System can recognize part-of-speech of every word in sentence context, so i can build and recognize some higher level patterns like Subject-Predicate-Object and so on.
I just wondering what kind of semantic relations you've used in your own bots ?
How would you suggest to store following sentence in semantic network:
"My name is ILLIA"
Approach that i thought about was:
Suppose that i parsed all words and found/created associated concepts. So "my name" will correspond to logical "subject attrubute" and "subject" , "is" will correspond to predicate and "Illia" is proper noun, singular, and it is a logical "object". "my" word resolving depends on context, and if this is what user says - it means that it associated with user identity/personality concept.
My first intention to connect described concepts was to use HASA and ISA to resolve this.
So, we have 3 concepts: UserIdentity, Name, ILLIA
to reflect new information i should know that UserIdentity has Name property. Also i need to know that ILLIA is a name.
So, ideally i need to have already 2 connections in robot's mind:
UserIdentity HASA Name, ILLIA ISA Name.
I should probably import such information from ontology or something .... (determine that ILLIA is singular proper noun).
Then i need to add new relation to wire up all those three Concepts ... and i dont know what is the best way to do this. Probably it depends on used inference model that will determine what property values some Concept has .... or ? i don't know. Did you faced with problem like that ? Do you have some thoughts how better to resolve it ?
So, probably my questions should look like this:
How you represent property relations in your semantic network ?
Do you distinguish intrinsic and external properties ?
How properties are related with HASA and ISA ? they should be related or not ?
Will appreciate any help about subj. Thanks.
Added: oh, sorry, just explored that UserIdentity ISA ILLIA is the right relation in my case because ILLIA is broader concept than UserIdentity