Foundations of logic programming
Foundations of logic programming
Theory of generalized annotated logic programming and its applications
Journal of Logic Programming
Tabled evaluation with delaying for general logic programs
Journal of the ACM (JACM)
An efficient context-free parsing algorithm
Communications of the ACM
Tabling for non-monotonic programming
Annals of Mathematics and Artificial Intelligence
Well-founded semantics for extended logic programs with dynamic preferences
Journal of Artificial Intelligence Research
Hi-index | 0.00 |
Data standardization is the commercially important process of extracting useful information from poorly structured textual data. This process includes correcting misspellings and truncations, extraction of data via parsing, and correcting inconsistencies in extracted data. Prolog programming offers natural advantages for standardizing: definite clause grammars can be used to parse data; Prolog rules can be used to correct inconsistencies; and Prolog's simple syntax allows rules to be generated to correct misspellings and truncations of keywords. These advantages can be seen as rudimentary mechanisms for knowledge representation and at least one commercial standardizer has exploited these advantages. However advances in implementation and in knowledge representation -- in particular the addition of preferences to logical formalisms -- allow even more powerful and declarative standardizers to be constructed. In this paper a simple preference logic, that of [7] is considered. A fixed point semantics is defined for this logic and its tabled implementation within XSB is described. Development of a commercial standardizer using the preference logic of [7] is then documented. Finally, detailed comparisons are made between the preference logic standardizer and the previous Prolog standardizer illustrating how an advance in knowledge representation can lead to improved commercial software.