- How to Select the entities for Reasoning? This includes the mention of what kind of entities we are interested in, what is the selection criteria for those entities to be filtered from others in the knowledgebase etc.
- What information is needed from those objects? Not all attributes of the entities are useful in output result. We need to be specific about what attributes we are interested in from the selected entities.
- How the details needs to be presented in output? The representation of output object (entity).
- What level of detail is good enough? We need to define a boundary where we can say the detail presented is sufficient enough for us to proceed further.
- What can be derived directly and what can be derived indirectly?
Thursday, January 06, 2011
Reasoning Engine Logic
Posted by Samir Kumar Mishra at 1/06/2011 7 comments
Labels: Knowledge Reasoning , Semantic Search
Wednesday, January 27, 2010
Semantic Search Criteria
- We need to mention whether the condition must be meet or it is not important to fulfill the condition.
- In case there is a contradiction (with another condition) which one would take precedence?
Posted by Samir Kumar Mishra at 1/27/2010 7 comments
Labels: Knowledge Reasoning , Semantic Search
Wednesday, December 02, 2009
Search : Past, Present and Future
Recently I read a paper on evolution of search 3.0. This paper described how the search has evolved over a period of time. This is what author has to say in the paper:
"In the coming third decade of the Web, Web 3.0 (2009 - 2019), there will be another shift in the search paradigm. This is a shift to from the past to the present, and from the social to the personal, and from the generic to the precise."
In short the next generation of search will be returning results based on the information supplied by the user. This means user's data has to be available to the search engine or user will publish a personal information (virtual card) along with every request they submit. These details will be metadata driven and will be used by various search engines to filter the search result and tailor it to suit user requirements matching his expertise level.
What it means is each content that is published on web must publish the metadata that describes what the content is. The metadata must contain sufficient details about the content and must be in a form that it can be interpreted by search engines. But metadata is just one side of the story. The search algorithms must be modified to make use of this metadata and produce the results considering the (published) user information. While some searches will be locations independent, there will be few searches that need to be location sensitive and the results must be valid in current location of the user.
Until Next Time...
Posted by Samir Kumar Mishra at 12/02/2009 5 comments
Labels: Search Engine , Semantic Search
Wednesday, November 11, 2009
Representing Uncertainty
Normally a function evaluates to either "True" or "False" based on whether the attributes of the entities meet the conditions defined in the rule or not. But it may happen at times that the entity does not contain the attributes required by the rule to evaluate it properly. Then in that case we need to have a 3rd (Not Available) and 4th (Not Applicable) state as rule outcome. When a function returns Not Available then the it implies that the entity does not contain the attribute needed for the rule to execute or process the object. On the other hand Not Applicable means the rule does not apply to the type of the entity in context.
So in total we have 4 return values for the function:
- True
- False
- Not Applicable
- Not Available
A Boolean value (outcome) is not the possible solution here. So we need an alternate representation here for the function result. All functions cannot evaluate to True/False. For those rules (functions) that cannot be evaluated we need to find out the what was the state (Not Applicable or Not Available). When we apply multiple rules to the same object in a sequence (workflow) the outcome is a set of conclusions. But the conclusion must include which rule was evaluated and which ones could not be evaluated.
I am still puzzled as how to represent the two more state considering that internally everything is represented as either 1 or 0 and that does not leave room for representing uncertainty.
Until Next Time....
Posted by Samir Kumar Mishra at 11/11/2009 5 comments
Labels: Knowledge Reasoning , Knowledge Representation
Monday, October 26, 2009
Representing Frequency
What I propose is extending the 10 questions as listed in Tree of Porphyry and adding another question to the list How Often. The purpose of how often is to represent the frequency of a repetitive attribute of the object. It will have few sub attributes like a Value (How Much) and the Unit (What Kind). Together these will describe the nature of the repetition.
Until Next Time...!!!
Posted by Samir Kumar Mishra at 10/26/2009 1 comments
Labels: Knowledge Reasoning
Wednesday, October 21, 2009
Finding the Right Data Structure for Knowledge Representation
Consider an example where a Person has FirstName, Surname, Home Address (Street, Suburb, State, Post Code) and Work Address (Company Name, Street, Suburb, State, Post Code). If we use a row-based representation here then we find that our records look like this :
FirstName, Surname, HomeStreet, HomeState, HomePostCode, CompanyName, WorkStreet, WorkSuburb, WorkState, WorkPostCode.
The limitations here is unless we uniquely name the Street, PostCode, State attributes for both Home and Work Address we will not be able to distinguish their real meaning. On the other hand consider a Structure like this:
Person
- Name
- First Name
- SurName
- Home Address
- Street
- Suburb
- PostCode
- State
- Work Address
- Street
- Suburb
- State
- Post Code
By looking at this structure we can easily tell that the home Address is made up of 4 attributes and Work address is made up of 5 sub-attributes. These in-turn can have their sub attributes as well that will define them in more detail.
It is evident that the hierarchical data structure provides more flexibility and room to grow than the flat row-based structure for representing a real-world object.
Until Next Time...!!!
Posted by Samir Kumar Mishra at 10/21/2009 1 comments
Labels: Knowledge Representation
Tuesday, September 15, 2009
How do we achieve Artificial Intelligence?
When I read about the artificial intelligence and where it went wrong, I ask a question as what went wrong? Where did it all go wrong?
Lets define the intelligence. The intelligence is art of making best choices based on what we know (or rather don't know). But what determines whether we know something or not. It is our ability to recall something we learnt in past. Learning is associating facts to a context. Context define how the entities are being linked together. The linking does not have to be static.
So in a nutshell, in order to build a system that can:
- Understand the context in which a particular fact is stated.
- Retrieve the most appropriate rule that can be applied to the available facts i.e. show some sort of intelligent behavior.
- The retrieve operation depends on how the raw data is structured.
In my opinion it all comes down to how the data is structured (represented) and the reasoning mechanism that works on the data.
Until Next Time..
Posted by Samir Kumar Mishra at 9/15/2009 1 comments
Labels: Artificial Intelligence , Random Thoughts
Tuesday, August 04, 2009
Starting Point for Semantic Search
At an average it takes 3 google searches for someone to find what they are looking for. This is mainly because the google search engine has to scan their index table and it brings out all the documents that matches the keyword, of course ranked by the google page ranking algorithm also known as PigeonRank.
But if we keep the technology aside, then there are two possible ways we start searching for something.
- When we know what we are looking for. This is the simple and straightforward case where we are very well aware of our needs and we often get result faster.
- But there is this other situation when we don't know what we are looking for. We just have knowledge about few attributes, characteristics of the object we are searching.
Until Next Time....!!!
Posted by Samir Kumar Mishra at 8/04/2009 1 comments
Labels: Search Engine , Semantic Search
Monday, July 13, 2009
Information and Knowledge
So what is information? It is the smallest detail we have (fact in the system) about an entity. Today is Monday is an information, But Monday is first day of work week is not. In western countries first day of week is Monday but that is not true for middle-east, their week begins on Sunday.
So how do we define knowledge? Knowledge is the interpretation of information. In our previous example, Monday is the first day of the week or not depends in which country's context we are discussing Monday. We can define knowledge as Information related to a context. If not attached to a context, the information does not convey any meaning and that means the information is of no use hence cannot be classified as knowledge. So for an information to be classified as knowledge we must have the context attached to it.
Until Next Time...!!!
Posted by Samir Kumar Mishra at 7/13/2009 0 comments
Labels: Knowledge Reasoning , Knowledge Representation
Wednesday, July 01, 2009
What is Semantic Search
During Semantic Technology Conference 2009
Posted by Samir Kumar Mishra at 7/01/2009 2 comments
Labels: Knowledge Reasoning , Search Engine , Semantic Search , Semantics
Monday, June 29, 2009
Search Engines
With my limited interaction with Bing I did not find any WOW factor with it. The accuracy of result is bit better than google search result, but still it misses out quite a few search results (what google brings back) with high level of relevance. But it promises to be a good alternative for google search.
I also tried out Wolfram Alpha's Computational Knowledge Engine. In my opinion that is not a search engine, the Wolfram Alpha is more like a knowledge engine, that brings back facts when we submit a query. I tried to ask few questions related to Biotech and other science subjects but the result were quite disappointing, as sometime it showed me the share prices of the company and sometimes it did not bring anything at all.
The search engine technology is still far from being matured and it will be sometime before we see a fully matured search engine that can answer most of our queries. We need a true semantic search if we want to build a search engine that is helpful to the users. In the next post I will discuss more about how a true semantic search can be achieved.
Until Next Time....!!!
Posted by Samir Kumar Mishra at 6/29/2009 0 comments
Labels: Random Thoughts , Search Engine
Saturday, March 14, 2009
Is AI a possibility
The basic of computing is a bit that has two states 0 and 1. What it translates to is the computer always has a state of certainty ie whether it has something or it does not have. On a contrary our normal intelligence works on few more states. We operate on 3 states.
- We know that we know.
- We know that we don't know
- We don't know that we don't know.
Our brain operates in a 3-dimensional space and that's what provides us the flexibility to process similar data differently. But on the contrary computers operate in a linear space and that limits the processing capability of the computers. A simple example is for computer a glass of water is a glass of water no matter how many times we feed this data in, but for humans the first glass of water is life saver (if we are thirsty) but the same is not true with the 30th glass of water if it is drunk in succession. The 30th glass may become a burden to drink. So the same data is interpreted differently here in case of humans.
What we may require is to think about the fundamental aspect on which our computing is based at. The basis of computing is 0 and 1, but we may need to think about a state where the computer can be in May Be state ie somewhere in transition. Once we have this third bit discovered and our machines are based on that, we may be able to feed consciousness and that will lead to natural intelligence in computer.
Until Next Time.
Posted by Samir Kumar Mishra at 3/14/2009 1 comments
Labels: Artificial Intelligence , Off Topic , Random Thoughts
Saturday, March 07, 2009
Object Structures and Descriptions
- Object fall into categories. eg. My car is a Hatchback. My Pet is doberman. etc But then we also have instances where an object is part of multiple categories like I am an Employee, Blogger and a Husband.
- Categories can be more general or more specific in nature eg. Physician and Surgeons are types of Doctors, A Father is a parent etc.
- In addition to generalization being common for categories with simple names, it is also natural for those with more complex description. A Contract employee is an employee. A family with at least one child is not childless etc.
- Object have parts and these parts have multiplicity of 1 or more. Books have Title, Humans have 2 arms, Cars have 4 wheels etc.
- The relationship among an object's parts is essential to its being considered a member of the category. A pile of book is not same as catalog of book.
Until Next Time....
Posted by Samir Kumar Mishra at 3/07/2009 2 comments
Labels: Knowledge Reasoning , Knowledge Representation
Saturday, February 28, 2009
Solving Problems in Semantic Web
- In-spite of spending so much in terms of manpower and research funding why this problem is still a PROBLEM?
- Why we are drifting away from the actual problem i.e. the Semantic Web?
- How much time it will take before Semantic Web becomes a reality?
- Identify what is needed to make it work. We are better of going away from current format of Web as trying to extract meaning out of Web (today) is like trying to extract water from stones.
- Bring a team of experts who then will sit together and get their heads aligned in one common direction.
- Build teams that work towards solution aligned with the top-level goal.
- Build the tools and technologies that is solely designed to build the Semantic Web.
- Last but not least Start Afresh.
Until Next Time....
Posted by Samir Kumar Mishra at 2/28/2009 0 comments
Monday, February 16, 2009
Reasoning Mechanism and Project Halo
After a long silence I am back again to unleash the ideas through this blog. A while ago I had a look at the Questions of Project Halo and that made me thinking as how can I represent chemical elements and work out a general mechanism to represent elements, compounds and chemical reactions.
What I found that using the classification described in Tree of Porphyry it was easy to describe them all and also that made the whole scenario simple to explain. Basically the chemical reactions has 3 core parts. Chemical Elements (including molecules), Compounds and the Chemical Reactions. For a chemical reaction to proceed we need to either elements or compounds or a mixture of both. The result is again a compound, element etc.
In the future posts I will discuss the procedure I am following to tackle the elementary level problems in chemistry. I would love to hear from the readers if they have a problem scenario in mind they want to discuss and then we can work out how to solve this using the reasoning mechanism I am working on. The more complex the problem is, the better it will be for me work out an appropriate way to solve the same.
Until Next Time....
Posted by Samir Kumar Mishra at 2/16/2009 0 comments
Labels: Annotation , Knowledge Representation
Thursday, November 20, 2008
Facts, Beliefs, Truths, Goals, Statements
Recently while researching on these topics I could draw these relations.
- Statement is the common ancestor of Goal, Beliefs, Obligations, Truths, Facts etc.
- Except Goal everything works is valid for a given time (has time component) and place.
- Expression of goal needs two states for the same object. One is the initial state and one is the State of the object at any given time t when we claim the object has achieved the goal. The statement that an entity has achieved its goal is always in comparison to the state of entity at the time when the process to achieve the goal begun.
- Beliefs change over period of time.
- Facts are discovered not invented. They are present whether we know about them or not.
- Facts belong to Closed-World semantics.
- Beliefs belong to Open-World semantics and as discussed earlier they are constructed and can be destroyed as well.
PS: Its been almost 2 months since I had my last post on this blog. But I plan to come back in full swing soon and start posting regularly.
Until next time... !!!
Posted by Samir Kumar Mishra at 11/20/2008 2 comments
Labels: Annotation , Knowledge Reasoning , Knowledge Representation , Semantics
Monday, September 01, 2008
Predicate and URIs
The Predicates are like function or relation-builder as they establish relationship between two objects. So we can very well say that the predicates are the base for our reasoning mechanism or determining what the two objects are all about. It also plays an important role in the context definition of the two objects.
This gives me a strong point to put forward the predicate being a URI so that two knowledgebase if they are using the same predicate or relation then they do mean the same thing. Using this principle a Reasoning Engine can be developed that can extract the meaning of the statements / facts etc in the system. If we design a system on this principle then the amount of ambiguity we need to deal with will be less.
The RDF facilitates the Predicates to be both URI and simple text, but in long run the simple text might look flexible or simple to work with but more people will use URIs for the predicate in RDF. Removing the ambiguity once and for all is a distant dream though. Even though we follow these principles, we will still have some duplicate predicates in the system. But somewhere along the line we need to develop a mapping that will assign aliases for both the predicates and based on popularity the less used one can be phased out in due course.
Until Next Time.....
Posted by Samir Kumar Mishra at 9/01/2008 0 comments
Labels: Knowledge Reasoning , Knowledge Representation , Random Thoughts , Semantics
Monday, July 21, 2008
Entities and Representing Facts
In this paper the authors make a classification between Entities and Events. Entities are things that are and Events are things that happen. Events are states and actions. States are static situation brought about or changed by actions.
To elaborate further on this Entities are the state information or the facts. Actions apply on those entities. So if we revisit our earlier post the facts can be represented as attributes of an object. Like Sun rises in east can be represented as Rising Direction (Predicate) attribute of Sun (Subject) with a value East (an instance of type direction). Similarly we can also represent other facts mentioned in the earlier post.
Any second thought????
Until Next Time ....
Posted by Samir Kumar Mishra at 7/21/2008 1 comments
Labels: Knowledge Reasoning , Knowledge Representation , Semantics
Thursday, June 05, 2008
Inferencing and Facts
- Universal Truths like Sun rises in east, it is winter in Australia.
- Statements about an object instance. Toyota Yaris, YRS Rego ABC 123. Here we are considering only about one car.
- A general statement about all objects of one type. Toyota cars are better than Honda in terms of easy maintenance (I am not going to start car manufacturer war here).
- Statement applicable to more than one type of object. If battery is down then none of the battery operated or petrol vehicle will start.
- How do we represent the facts in Computer System?
- How do we link the facts to the entities they describe about?
- How do we retrieve the facts and relate them to the entities?
- How do we find all the facts that are known about an entity?
There are many such buzzing questions which needs to be answered before we go ahead with building a system that infers these facts. I would like to get an opinion from the readers as what their opinion is.
Until Next Time...!!!
Posted by Samir Kumar Mishra at 6/05/2008 1 comments
Labels: Artificial Intelligence , Knowledge Reasoning , Knowledge Representation
Thursday, May 22, 2008
Reasoning and Inferencing
I read somewhere long back that Inference is the act of attaining a conclusion based on certain facts already present in the system. What are facts? In my opinion it is do to with the statements presented before us. But does the computers understand the statements as we do? I guess not. Then in relation to computer system the facts are the object, and their attributes. So we have few objects and their state information (as attributes) and we need to deduce a conclusion from that. How do we do that?
In order to combine these facts the system needs to have certain ability (A set of rules which will let us combine these facts together and infer something). This ability could not be anything else but Reasoning. By Reasoning we mean semantic relationship here. As we discussed in earlier posts that we need to have proper annotation in order to do Semantic Search and establish semantic relationship among entities in the system.
I guess I am getting more and more philosophical on this topic. I remember in our childhood we used to have a phrase. More Study More confusion, Less study less confusion, No Study NO Confusion :).
I would love to hear from readers about their opinion on relationship between Inference and Reasoning.
Until Next Time... :)
Posted by Samir Kumar Mishra at 5/22/2008 3 comments
Labels: Artificial Intelligence , Knowledge Reasoning , Random Thoughts , Semantics
