AUTOMATION OF COMMONSENSE REASONING: A STUDY ON FEASIBLE KNOWLEDGE REPRESENTATION TECHNIQUES

: Commonsense reasoning is a branch of artificial intelligence that deals with the simulation of human ability to make decisions during the situations that we encounter every day. This paper presents a feasibility study of necessary knowledge representation techniques used in commonsense reasoning study. Simulating the reasoning is a very challenging task since an intelligent agent that is ought to implement reasoning is not more than a computer itself. This paper is also intended at projecting some hurdles in the choice of knowledge representation. The diversity of issues that makes commonsense reasoning very hard to implement are definitely not few in number. Hence, the effort is to address only the problem of knowledge representation for commonsense reasoning by considering some of the major representation techniques which is the main point of discussion of this paper.


I. INTRODUCTION
Making an intelligent agent that simulates human actions and reactions is a very challenging task in the field of artificial intelligence (AI). Commonsense reasoning is a subfield of AI that is concerned with simulating the human ability to make deductions about the kind of ordinary situations we encounter every day. The machine that is capable of doing so might "understand" physical properties of every object that has a materialistic existence. For example, making a machine understand how the gravity works or what happens when an object is dropped off a table.
The reason why computers cannot handle a task like commonsense reasoning easily is that, simulating 'rational thinking' is a very difficult task even though modern computing is facilitated with unlimited computing powers [1] [2]. There are few strong reasons for this incapability. One, the phenomenon of commonsense reasoning is not clearly understood. There are no in-detail studies about what commonsense reasoning is and how it works? Before solving a problem, it is important to understand the notion of the problem. Two, the knowledge or the data required for such a task is of very enormous size. Although storing such amount of data would not be a problem but managing could be. For problems involved with reasoning, providing a proper structure for the data, i.e. generation of knowledge source, is difficult. Third, computers cannot simply make things work using any sort of knowledge about a particular problem. Representation of knowledge is very important. All we have are principles, but what is unknown is that how those principles could be represented in a form usable by computers.
The third issue of commonsense reasoning implementation described above is definitely not a new problem in reasoning study. Why representing knowledge is not as easy as a data representation? The reason is quite simple. Knowledge differs from data in two ways. One, knowledge is an extended form of data which is processed and mapped [3]. Two, knowledge is usually derived from data. Meaning, in most of the cases, knowledge is derived from previous experiences, observations and manipulations. Now, representing such derived data or a method to derive data could be complex because the derivation may differ from one type of data to another. In this case, generalizing the derivation method is far from reality. So, a detailed study on commonsense knowledge representation techniques is what this paper intends to put forth. And few of the important representation techniques have been discussed with their respective advantages and disadvantages.

COMMONSENSE REASONING
Knowledge representation (KR) is very important when it comes to Commonsense Reasoning (CR). Another part of CR other than knowledge representation would be deductions and derivation of decisions [4]. Computer systems need very detailed information about any action before they simulate the action. In AI that kind of simulated actions need a proper knowledge representation. Knowledge representation has to be very effective. To solve a problem, a solver must flesh out the task and determine what constitutes a solution. Then, represent the problem in a way or in a language with which computer can reason with. And finally, carry out a sequence of actions and compute the output which can be given as a solution to the problem. Since, representation plays a very crucial role in problem solving it is important to look for one. Opting for a proper representation technique among the present ones or to propose a new representation is a tricky task.
Knowledge is nothing but mapped information. That is, when data values have a relation or a link between them they can be considered as knowledge. And most of the time a derivation made from some known fact, which is 'data', is considered as knowledge. To make such derivations it takes observed and collected data, which is 'experience', along with a method. For example, when there is an increase in crude oil price, we can expect a hike in petrol price too. Now this is a knowledge which involves experience as well as data. So, data doesn't have much difference from knowledge. Thus, knowledge representation techniques can also be considered as data representation techniques. Following section describes few knowledge representation structures which could be counted as useful techniques when it comes to commonsense reasoning implementation.

A. Linked Lists
This is one of the simplest techniques for knowledge representation. Hierarchical knowledge can be represented in linked list format. A proposal of Hierarchical Interest Graph (HIG) on twitter data is an example for such kind of data [5]. Table I shows an example of hierarchical data representation. One of the reason why links are preferred for representing knowledge is that they are easily scalable. And the field under which CR operates always demands an option of having data scalability. Though, using linked list as a KR technique seem ideal at the beginning in terms of implementation and cost (both time and space), there are several issues related to this choice. First, traversing backward in a linked list is too expensive and is a difficult task to do. We expect a KR technique to exhibit back traversing in a very well manner because reasoning is always dependent on both forward and backward traverse through the represented data. This is a "must have" feature for implementing commonsense reasoning. Second, lists are always sequentially accessed which forces the reasoning method to read every node on the way to reach a specific node. Use of pointers to each node, absence of contiguous node arrangement are some of the other issues related to linked lists.

B. Graphical Representations
The assembly of knowledge comprises of information as well as relation. Graphical representation in the form of trees is a well-known technique for such data representation. It has been decades since LISP like languages made use of trees in artificial intelligence development. The relational database schemas can also make use of tree representation. Conceptual graphs (CGs) have also been a way to represent knowledge [6]. Hierarchical knowledge can be implemented into decision trees. The major advantage of such implementation is, it is very adaptable to many of the logic formalization methods. Graphical representation also has support for most of knowledge kinds like ontology, factual, rule-based and even constraints. Trees been a very efficient way to represent data with if…else kind of relationships. And most of the modern programming languages that are used in implementation of artificial intelligence have well-defined libraries to provide tree structure.
Apart from their benefits graphical representation like tree express few concerns when it comes to absolute knowledge representation. Some of them are listed below, • Instability has been a very common problem with the tree structure. The difficulty arises when there is an error in input data. A small change in the input data may create a huge problem in the tree structure causing inappropriate results. This intern may force to redraw a tree which could be a very laborious process. • Time consumption could be of varying factor for different graphical models. Decisions trees consume a lot of time and making decisions on combined weights to prune algorithms is a very complex task due to the involvement of probability calculation. • For the detailed knowledge representation, graphical models like trees can grow to an unmanageable size. Additionally, there is no foolproof scheme to determine or predict the number of branches or nodes for these kind of representation.

C. Frames
These are one of many data structures for artificial intelligence related knowledge. Frames describe object using explicit representation. Proposed by Marvin Minsky in 1974, they are considered as a primitive data structures to frame language. Hierarchical data can be easily represented using frames. A typical frame example is shown in table number II below. In the above example, the type 'parent frame' refers to another frame with details about a general predator class. This reference is the reason why frames are useful in hierarchical data representation. The major advantages of using frames in any reasoning study of artificial intelligence is the assumption of default values. These default values are already filled inside every frame slots. This is similar to the knowledge a human being can possess. For example, when we hear a sentence "I saw a white Mercedes", we can visualize a Mercedes which intern refers to an object 'car' with some default attributes like four set of tires and a body of certain shape. These attributes about a car itself is a default knowledge we have about any car. But it is difficult to use frames completely to their potential through a Student details table Academic details table programming language [7]. This major flaw could be the reason why frames are not dominating the knowledge representation techniques.

D. Semantic nets
It is another graphical knowledge representation form where an object is symbolized as a node and a link between nodes define a relation between the objects. Semantic nets can store propositional data [8]. Consider following figure I. The example shows a semantic net along with few of its intended representation. Following conclusions can be derived out of above semantic net representation, • Lion has claws • Lion is an animal • Lion is a carnivore • Bear is an animal • Bear has claws etc. Semantics nets are easy to understand and implement. Though the network may grow to a colossal size even for a small information set, it is still preferred ahead of other graphical models for data representation [9]. Moreover, semantic nets are closer to human way of understanding knowledge because we build connections between pieces of information to come to a decision or conclusion. To make semantic nets perform better, nodes representing category of things and nodes representing objects need to be distinguished using some definitions. Commonsense reasoning could make use of such derivations and if proved right, semantic nets can become the superlative technique for commonsense knowledge representation.
Some of these techniques can be used in one or the other artificial intelligence sub-fields as a data structure modules. Though commonsense reasoning doesn't have any specific demand regarding the provision of data structure, a technique that is efficient enough to allow the changes to be made in a timely manner could be of great use. Finding such method and proving its efficiency is possible only through practical implementation of commonsense reasoning model.

III. KNOWLEDGE REPRESENTATION ISSUES
On the first look it looks like the field of artificial intelligence has numerous options in representation techniques. But there are lot of issues associated with knowledge representation and the techniques used. Some of the main issues have been discussed in the following sections.
It is very difficult to find attributes of objects which are common for most of the problem domain. Among the above mentioned representation techniques, most of them use objects to characterize knowledge. It is not ideal to create a knowledge base with an object depiction for every possible real-world scenario. Are there any object attribute so basic that occurs almost in every problem domain? If yes, how to find and categorize them? The difficulty is not only limited to object attributes but is also applicable to relationship among the objects. The next issue is about the depth of knowledge representation. The level of knowledge representation doesn't have to be same for every problem domain. Then what should be the depth of knowledge representation? What level of detail is required to accomplish the goal?
The exertion of knowledge representation is not only limited to defining relevant objects and relationship among them. Once defined, there must be an efficient way to access those objects. An algorithm or a method that can reason with the help of these represented data is essential in building commonsense reasoning model. Such method has to take the burden of efficient access to every piece of knowledge which increases with increased data size. Predicate relations can be used to enhance the commonsense reasoning ability [10]. Only few studies have projected the use of predicates in that manner.

IV. CONCLUSION AND FUTURE SCOPE
The area of commonsense reasoning in artificial intelligence has seen a very few noticeable researches conducted over past few decades. This leaves a huge scope for exploration in this particular field. The first step towards the commonsense reasoning study has to be checking the feasibility of its implementation. The commonsense reasoning knowledge representation is a major challenge itself. So far the paper discusses few but top most contenders for a suitable knowledge representation technique and proposes a hybrid use of frames with semantic nets. Semantic network projects some noticeable advantages that can give a lead towards achieving one state of the art representation technique. Only a complete automation of commonsense reasoning using the selected technique will prove the rectitude of the selection.
Semantic nets have been identified with significant number of advantages leaving a few concerns about knowledge representation. But there are still unattended issues with semantic nets too. Each node representing the object can have more detail. This particular problem can be solved with the introduction of frames into a semantic net. Instead of considering every node as an individual object, replacing a node with a frame comprising of details of an object would provide a viable solution. Practicality and efficiency of such data structure need to have a concrete proof which can be left as a future scope of this problem statement.