Towards Fuzzy Linguistic Logic Programming
Abstract
Knowledge representation is one of the central concepts in Artificial Intelligence. It is very common that knowledge about a field is expressed in natural language. Therefore, most of the times, knowledge representation using a logic programming language derives into a translation problem. This translation consists in the formalization of the statements, belonging to the knowledge level, which are converted into formulas of the so called symbolic level. Knowledge may be imprecise or vague and, in order to deal with vagueness using declarative techniques, fuzzy logic programming amalgamates classical logic programming and fuzzy logic. Fuzzy logic programming has mainly led to programming languages that use annotations to represent vagueness. But vagueness is a linguistic phenomenon which is implicit in the statements of the knowledge level. Hence, the natural connection existing between these two levels is broken when annotations are employed, since they introduce weights in a symbolic level which are not present in the knowledge level and converts knowledge representation in a more complex, counterintuitive task. In order to overcome this problem, we propose a fuzzy linguistic logic framework which allows the treatment of imprecision through linguistic resources. This framework makes a clean separation between precise knowledge and vague knowledge. In this paper, we argue that this separation is more declarative than the one dispensed by the approach based on annotations, and can be beneficial for modeling a problem.