J. Software Engineering & Applications, 2010, 3, 1047-1053 doi:10.4236/jsea.2010.311123 Published Online November 2010 (http://www.SciRP.org/journal/jsea) Copyright © 2010 SciRes. JSEA Semantic Analysis of Natural Language Queries for an Object Oriented Database Bentamar Hemerelain1, Hafida Belbachir2 1Oran University, Wilaya of Oran, Algeria; 2University of Science and Technologie of Oran (USTO), Wilaya of Oran, Algeria. Email: hemerelain@yahoo.fr; hemerelain@hotmail.com Received September 3rd, 2010; revised October 15th, 2010; accepted October 19th, 2010. ABSTRACT This paper presents the semantic analysis of queries written in natural language (French) and dedicated to the object oriented data bases. The studied queries include one or two nominal groups (NG) articulating around a verb. A NG consists of one or several keywords (application dependent noun or value). Simple seman tic filters are defined for iden- tifying these keyword s which can be of semantic value: class, simple a ttribute, composed a ttribute, key value or not key value. Coherence rules and coherence constraints are introduced, to check the validity of the co-occurrence of two consecutive nouns in complex NG. If a query is constituted of a single NG, no fu rther analysis is required. Otherwise, if a query covers two valid NG, it is a subject of studying the semantic coherence of the verb and both NG which are at- tached to it. Keywords: Query, Nominal Group, Natural Language, Object Oriented Data Ba se, Semantic Validation 1. Introduction On the earliest and most widely studied areas of natural language processing is the development of a Natural language interfaces to databases (NLIDB) [1-7]... A NLIDB allows users to input a query in a natural lan- guage such rather than in a formal query language and in conceptual terms particular to their understanding of the database application domain. In most works, the underly- ing database is assu med to be relational. In our work, we are interested in building a NLI for an object-oriented database (OODB). Unfortunately, the relational model and the object model are fundamentally different. Rela- tional database (RDB) systems are based on two- dimensional tables in which each item appears as a row. Relationships among the data are expressed by compar- ing the values stored in theses tables. The object model is based on the tight integration of code and data, flexible data types, hierarchical relationships among data types, and references [8]. This paper is concerned with the semantic validation of natural language query (NLQ) for an OODB. The natural language co nsidered here is French. A considerable amount of work has been published on the semantics of NLQ. Works, usually carried out by Computer Scientists, can be classified into two catego- ries: 1) work based on established linguistic theories which are modified and/or extended such as [9-12]; 2) new ad hoc but efficient semantics that are not based on established linguistic theories. Examples are quoted by [2]. Some recent works are [13-15]. Our approach falls into category 2) and is designed on the principle of [13] who introduce the idea of semanti- cally tractable (ST) questions. As their database is in the form of RDB, they define the ST questions as questions where the words correspond to relations (tables), attrib- utes and values. The nature of the OODB introduces some new challenges, beyond these addresses for RDB. In this paper, we deal with the concept of class to model complex data, simple attributes, complex (composite) attributes with classes as their domains, and two special kinds of associations between classes: 1) inheritance which is the most powerful con cept of object oriented. It is a mechanism of reusability: the news classes, known as sub-classes inherit attributes of the pre-existing classes, which are referred to as super classes; an inheritance relationship is created between the sub-class and the super-class. 2) reference: since a class C may have a complex attribute with domain C’, a reference relation- ship can be established between C and C’. Our center of interest is the analysis of NLQ consist- ing of one or two NGs articulating around a verb. At this
Semantic Analysis of Natural Language Queries for an Object Oriented Database 1048 step of analysis, we consider the NG constituted of one or several keywords and we ignore the DB independent words (article, relative pronoun,...). A keyword can be an application dependent noun or a value. The former matches a class name, a simple attribute name or a com- posite attribute name in an OODB. In a NLQ, the verb is created by the DB administrator. It expresses the link which exists between a class and another class or between a class and one of its attributes. The application dependent nouns and the verbs with their semantic features are stored in a lexicon. This last includes inflection forms of nouns and conjugated forms of verbs. It is also augmented with relevant synonyms. This addition makes it possible to the user to write a query in various natural ways. Heritage and reference relationships are added to lexi- con allowing the safeguarding of the heritage and refer- ence link of the OODB. These Heritage and reference relationships with the lexicon form the natural language database (NLDB). The semantic analysis of a query first deals with iden- tification of individual keywords in the NGs. It uses some simple semantic filters to determine their semantic value. If the NG is atomic and the single keyword identi- fied, no further analysis is required. On the co ntrast, it is necessary to verify if the complex NG respects the con- ceptual constraints of the domain DB. The conceptual constraints mainly refer to inheritance and reference relationships and are function of the semantic value of the keywords and their combination in the NG. If the NLQ is constituted of a single NG, no supplementary treatment is necessary. If the NLQ covered two valid NGs, it is a subject of studying the semantic coherence of the verb and both NGs which are attached to him. The paper is organized as follows: The Section 2 de- scribes the lexicon and defines the inheritance and refer- ence relationships in a NLDB. The Section 3 is divided into three parts. In the part 1, semantic filters are defined to identify keywords. With the introduction of the se- mantic coherence constraints of keywords, the part 2 discusses the process of NG’s validation. Part 3 concerns the semantic coherence of the verb with its subject and its object. In Section 4, an example of illustration is treated to simulate the tools developed in preceding section. To understand this example and those that are quoted in the text; we give an extract of the database prototype which is used in our experimentation. The results of the experimentation are reported in Section 5. A conclusion is given in Section 6. 2. Natural Language Database The natural language database (NLDB) is a translation of the object oriented database (OODB). The NLDB con- tains a lexicon and inheritance and reference relation- ships. 2.1. Lexicon A natural language query consists of two parts: an inter- rogative particle and a phrase. A phrase is a succession of nominal and verbal groups. A nominal group (NG) in the natural language query (NLQ) consists of one or several meaningful words. The latter can be an applica- tion depende nt noun, a verb or a value . 2.1.1. Defi ni ti ons Application dependent noun The former matches a class name, a simple attribute or a composite attribute name in an OODB. Each application dependent noun is represented in the OODB as a variable whose name might be meaningful according to the naming conventions but not necessarily the same word in natural language (NL) (e.g. ENS, X). Thus, we generate, for each variable declared in an OODB, a word in NL (NW) (e.g. NW (ENS) enseig- nant [teacher]; NW(X) personne [person]). Due to this, to each variable declared in the database, corresponds, a word family. It includes all of the inflec- tion forms of the word (masculine singular (ms), mascu- line plural (mp), feminine singular (fs),…) (e.g. enseig- nant [teacher] {enseignant (ms) [teacher], enseignants (mp) [teachers], enseignante (fs) [teacher], enseignantes (fp) [teachers]} and the set of its synonyms. (e.g. enseignant {maitre,…} [teacher {school- master,…}]). Verb The verb of the query expresses the link between two classes or a class and one of its attribute. Then, the verb is transitive. To each created verb , correspond s co njug ate forms (3rd person of the singular (s), 3rd person of the plural (p)) (e.g. habiter [to live] {habite (s) [lives], habitant (p) [live]} and the set of its synonyms (e.g. (habiter) {résider, demeurer,...} [to live {to reside, to dwell,…}]). All the nouns and verbs usually depend heavily on the application. They constitute the lexicon. The initial set of synonyms is created with electronic dictionaries such that Wolf and Crisco and then proposed to expert individual who can modify it to reflect the specific senses of the DB application domain. The sibling relation that exists between the words of the same family permits the database requester to use any of them without affecting the meaning of the query. Thus, a family of words is represented by a single term called the stem which can be the first generated word in natural language. Copyright © 2010 SciRes. JSEA
Semantic Analysis of Natural Language Queries for an Object Oriented Database 1049 Value On the other hand , a value in the query is an instance of a simple attribute. It is identified via a dialogue with the database requester. If an attribute is designated by the DB administrator as key then its value is said to be key and non-key otherwise. A key value can specify a class. For example, in the query “what is the salary of Linda”, Linda specifies the class “Employee” then it is a key value. However, in the query “what is the name of the module which has the coefficient 4”, the value ‘4’ is not key value because it specifies no class. 2.1.2. Descri ption Application dependent noun Depending on the relation of the word to the database being handled, an application dependent noun is de- scribed, in the lexicon, by its stem and its semantic valu e which can be ‘C’ if it is about a class, ‘SA’ of a simple attribute or ‘CA’ of a composite attribute. In the description of a simple attribute, we add the stem of the class containing it and in the case of a com- posite attribute, the stem of the referenced class by the composite attribute. For ex ample, the composite attribute ‘matières’ [matters] is described by its stem ‘matière’ [matter], its semantic value ‘AC’ and the stem of its referenced class ‘module’ [module]. Verb A verb is described by its subject which is the class that contains it and its object which is either a declared at- tribute in the subject class or a referenced class by a composite attribute of the subject class. It is formally described by its stem, the stem of the subject entity and the stem of the object entity. For example, the verb ‘habiter’ [to live] is described by its stem ‘habiter’ [to live], the stem of the subject entity ‘personne’ [person] and the stem of the object entity ‘ville’ [town]. 2.2. Inheritance Relationship The inheritance relationship in the NLDB is an extens ion of the traditional inheritance relationship ‘HERITE’ in an OODB and is given by the relation Herite*. It allows handling the NLQ on a given class using the properties of the class itself or those of its super-classes and sub- classes. The extended inheritance relationship allows moving in both directions up and down the hierarchy of the classes. The direct inheritance relationship ‘herite’ is defined as follows: Let CLASSE be classes stems of a NLDB. herite: CLASSExCLASSE 0,1} (x,y) herite (x,y) herite (x, y): = 1 if NW-1 (x) HERITE NW-1 (y)/* NW(v) = x/‘v’ is a variable in the OODB and ‘x’ is the word corresponding in natural language */ herite (x, y):= 0 otherwise; } The relation Herite* is defined as fo llows: Herite*: CLASSExCLASSE 0,1} (x,y) Herite* (x,y) Herite*: = 1 if (x = y) or (x y and (herite (x, y) or herite (y, x)) or (x y and C1, C2,... Cn CLASSE/ herite (x, C1) and (i [1, n–1] herite (Ci, Ci+1)) and herite (Cn, y) or (x y and C1, C2,... et Cn CLASSE/ herite (y, Cn) and (i [1, n–1] herite (Ci+1, Ci) and herite (C1, x)) Herite*: = 0 otherwise; } 2.3. Reference Relationship Let M1 be a class, M2 its composite attribute, M3 the referenced class and R1,2 a relation connecting M1 and M2. The relation R1,2 is also applicab le b etween the class of definition M1 and the referenced class M3. It represents a direct reference link between these two classes. This relation is called the reference relationship in a NLDB. It is an extension of the tradition al reference relationship in an OODB. It allows ge nerat i n g the ve r bs of the NL DB . We notice that the existence of a reference relationship, does not base itself on a criterion accord ing to th ese link s, but that it is random, thus the solutions in that case relay- ing on a linguistic analysis which indicates for all the roads of (direct) reference, the existence or the non- existence of a verb of relation. They translate direct reference links between the classes. In that case, the existence of the verb can create a indirect reference link (e.g. travailler (chercheur, projet) [to work (searcher, project)] and appartenir (projet, labo- ratoire) [to belong (project, Laboratory)] travailler (chercheur, laboratoire) [to work (searcher, Laboratory)]). NOTE. - The deducted relations can be calculated by combining the reference links and the links of inheri- tance (e.g. assurer (enseignant, module) [to ensure (teacher, module)] and Herite* (enseignant, personne) [Herite* (teacher, person)] assurer (personne, mod- ule)). Let Ref be an extension of the defined reference rela- tionship previously. This relation is defined as follows: Copyright © 2010 SciRes. JSEA
Semantic Analysis of Natural Language Queries for an Object Oriented Database 1050 Let ‘ac’ be a composite attribute. Ref: CLASSExCLASSE 0,1} (x, y) Ref (x, y) Ref (x, y): = 1 if/* exists ‘ac’/‘x’ is the class where ‘ac’ is defined or its sub or super-class and the class ‘y’ is the domain of ‘ac’ or a indirect reference link between th e classes ‘x’ and ‘y’ */ Ref (x, y): = 0 else; } 3. Query Semantic Validation A NLQ consists of one or two NGs articulating around a verb. We consider a NG constituted by one or several keywords. A keyword is an application dependent noun or a value. So, the process of the validation of the query consists in: keyword’s identification in the NG; In the case of a NG formed by an identified single keyword, no sup- plementary treatment is necessary since only one component is used: the NG is valid. If the NG is con- stituted by more than a keyword and that one of them is not identified, the NG is considered as erroneous. Should the opposite occur, it is necessary to carry out the NG’s semantic validation. If the query is constituted by a valid NG, no furthe r- analysis is required. If the query covered two valid NGs with an identified verb, it is a su bject of studying the semantic coherence of the verb with its arguments. 3.1. Keyword’s Identification The first step of the analysis is to determine if a word of the query is a keyword. For this, we define a simple semantic filter denoted SF<w> as the set of triplets {(*, *, )} associated with the semantic value . The first star in the triplet represents the lexical information while the second designates the syntactic information associated with the word. For an application dependent noun, a semantic filter is defined by: SFN = {(*, Noun, )/ {C (class), SA (simple attribute), CA (composite attribute)}} where the star represents the w o r d’s stem . For instance, to represent the word ‘students’ that matches the class ‘Student’; we would have the semantic filter SFN<C> including the triplet (student, Noun, C). Likewise, the semantic filter, for a value, has the same structure except that the category takes values from the set: = {VK (Value_as_Key), VNK (Value_None_Key)} and the tagging info rmation is the value in the first case, hence SFV<> = {(*, value, )}. For The number ‘4’ in the NG “coefficient 4”, we have the triplet (4, value, VNK). From the query “what is the salary of the teacher Linda”, salary SFNSA, teacher SFNC and Linda SFVVK then all words are semantically cor- rect. The process of identification of a keyword ‘mi’ con- sists mainly in determining the corresponding simple semantic filter. It is defined by the following function: Function Ident (mi): boolean ident: = 1 if\exist\{C, SA, CA, VK, VNK}/ (mi, *, *) SFN SFV ident:= 0 otherwise; } 3.2. NG’s Semantic Validation In the case of a NG formed by several identified key- words, it is necessary to verify if the complex NG re- spects the conceptual constraints (semantic coherence constraints) of the domain database which amounts to associate semantic relations between every two consecu- tive keywords in the NG. These relations mainly refer to inheritance or reference relationships. They are based on the semantic values of the keywords and their combina- tion in the NG. For example, the NG ‘salaire de l’enseignant’ [salary of the teacher] is valid because the class ’enseignant’ uses the attribute ‘salaire’ of its super class ‘employé’ [employee]. Thus, at the combination ‘simple attribute- class’ (SA-C), we must have an inheritance relationship between the class that contains the attribute (i.e. ‘em- ployé’) and the specified class in the NG (i.e. ‘enseig- nant’). Before giving the coherence constraints, we need to introduce some notations and notions: A part of a NG constituted by the succession of two keywords x an d y is noted x – y. if (m, *, *) FSX (w)/w {SA, C, CA, VK, VNK} and x {N, V}, the keyword ‘ m’ is resp ectiv ely no ted SA’, C’, CA’, VK’, VNK’. A class can be manipulated through its name, the name of the composite attribute which references it or a key value which is the v alue of its key attribute (e.g. ‘module’, ‘matter’ and ‘Compilation’ specify the same class ‘module’). For that, 'class’ will indicate these three information. In what follows we take: Xi: = Classe (mi) if mi = C’ Xi: = Class-ref (mi) if mi = CA’ Xi: = Class (Attrib (mi)) and Yi: = Attrib (mi) if mi {SA’, VK ’, VNK’} where Classe is a function which returns, for a class, thes tem of th is one and for a simp le at tribute that of the Copyright © 2010 SciRes. JSEA
Semantic Analysis of Natural Language Queries for an Object Oriented Database 1051 class where it is defined. Attrib gets, for a simple at- tribute or for a value, the stem of this attribute and Class-ref, for a composite attribute, the stem of its referenced class. 3.2.1. Semantic Coherence Constraints The combination (COMB) of two keywords according to their semantic value is governed by a set of rules called coherence rules (CR). Based on the patterns of combina- tion, we have formulated coherence constraints (CC) that express the semantic relation between these words. CR1: a class can be specified by either its super class or subclass. A class indicated by a key value cannot be specified by a class indicated by another key value. A key value can specify at most one class. The semantic rela- tion is an inheritan ce relationship. COMB1: mi {C’, CA’, VK’} and mi+1 {C’, CA’, VK’} /if mi = VK’ then mi+1 VK’ CC1 (mi – mi+1): Herite * (Xi, Xi+1) CR2: a simple attribute can be specified by its value. The attribute corresponding to the value must be identical to the specified attribute in the query and their class re- spective too. COMB2: mi {SA’} and mi+1 { VK’, VNK’} or mi {VK’, VNK’} and mi+1 {SA’}, CC2 (mi – mi+1): Yi = Yi+1; Xi = Xi+1 CR3: a simple attribute of a class can be used by its class, its super-classes or sub-classes. The semantic relation is an inheritance relationship. COMB3: mi {C’, CA’, VK’} and mi+1 {SA’} or mi {SA’} and mi+1 {C’, CA’, VK’}, CC3 (mi – mi+1): Herite* (Xi, Xi+1) CR4: a class is associated with another class if there exits a reference link between these classes. The seman- tic relation is a reference relationship. COMB4: mi {C’, CA’, VK’} and mi+1 {C’, CA’, VK’}, CC4 (mi – mi+1): Ref (Xi, Xi+1) 3.2.2. Algorit hm of NG Validati on The operation of validation of a NG constituted by sev- eral identified keywords m1-m2-...-mn consists in finding a pattern of the combination for every two consecutive words mi and mi+1 for i 1, n–1 and verifying the correspondent semantic relation CCj (mi – mi+1). The algorithm of validation is defined as follows: { i: = 1; if i = n then / * NG 1 keyword */ if Ident (mi) then ‘valid NG’ else ‘Erroneous NG’ else /* NG several keywords */ while (i n Ident (mi) Ident (mi+1) j [1,4]/ CCj (mi – mi+1)) do i: = i + 1; end; if i = n then ‘valid NG’ else ‘Erroneous NG’ } 3.3. Semantic Coherence of the Verb with Its Arguments In the lexicon, a verb is described with its real subject (RS) and its real object (RO). In a query, the subject of a verb is one of keywords of the subject NG which really carries out the action. It is noted (QS). The object is generally the first keyword of object NG which under- goes the action. It is noted (QO). A verb is compatible with its subject NG (QS) and its complement (QO) if: QS is identical to RS or it is its super or sub class because the subject is always a class; 1) The object is a class, then QO must be identical to QS or be its super or sub class; 2) The object is an attribute (or a value of an attribu te) then the attribute QO must be identical to QS. 4. Example of Query’s Validation To understand the following example and the examples of illustration quoted in the text, we give an extract of a NLDB on the University of Oran, in French and its equivalent in English. The adopted syntax is the follow- ing one: <class> (<mother class>}, <attribute1>, <attribute2>,... <attributen> , verb1, verb2,...) Personne (}, nom , ville, habiter) Employé (Personne}, salaire) Enseignant (Employé}, matière: Module) Chercheur (Enseigna nt }, pr ojet : Projet) Module (}, nom, coefficient) Projet (}, laboratoire: laboratoire) Laboratoire (} …) Person (}, name, town, to live) Employee (Person}, salary) Teacher (Employee}, matter: Module) Searcher (Teacher}, project: Project) Module (}, name, coefficient) Project (}, laboratory: laboratory) Laboratory(}…) Example: ‘Donner le salaire des enseignants de Compila- tion qui ha bi t e nt Oran’ [Give the salary of teachers of Compilation who live in Copyright © 2010 SciRes. JSEA
Semantic Analysis of Natural Language Queries for an Object Oriented Database 1052 Oran] Verb = habiter; NG1 = m1 – m2 – m 3 = noms – enseignant s – Compilati on; m1 SFNSA, m2 SFNC, m3 SFVVK, m1 – m2 = COMB3; CC3 = Herite* (Classe (Attrib (nom)), Classe (enseignants)) = Hérite* (employée, enseignant): = true; m2 – m3 = COMB4 = Ref (Classe (enseignants), Classe (Attrib (Compilation))) = Ref (enseignant, module): = true; NG2 = Oran; m SFVVNK, In the lexicon, we have: habiter (personne, ville) and in the query habiter (enseignant, Oran); Herite* (personne, enseignant): = true, Attrib (Oran) = ville. The keywords are identified, the CCj between them validated and the verb is coherent with its arguments, and then the query is valid. 5. Experimental Results To evaluate the performance of the system, we have tested our system on 120 significant queries collected from the students of computer department of university Oran. 7 queries were disregarded because they did not cover the BD application domain. Of the remaining qu e- ries, 102 queries were correctly analyzed (i.e. success rate 90, 26). The errors were mainly due to unregis- tered keywords in the lexicon. Our lexicon contains nouns, verbs and their various synonyms that typically are used in a particular domain. Their semi-automatic generation involves inevitably false results. A better solution for the interface is the integration of a learning system to enrich the lexicon. 6. Conclusions Our work proposes a method of query’s validation for OODB. Define a query key information to be analyzed semantically its structure from one part and its sense from another part, express the link which connects them and the method of handling them were the strong prob- lems which we tried to solve. There is not dependency between our system and the DB application domain. When changing one DB to an- other, the only chan ge occurs at the lexicon. Nevertheless, the study present limits relating to se- lected requests model (a request includes only one sub- ject, only one complement and only one verb). These limits carried out knowingly, into a qualitative aim, make that, the developed tools remain incomplete but can be wide to more complex queries. Also note that, the presented information is necessary in NLDB, to treat the second aspect of the semantics which is the translation of the NLQ to formal language query such as OQL [16]. REFERENCES [1] A.Copestake and K. S. Jones, “Natural Language Inter- faces to Databases,” The Knowledge Engineering Review, Vol. 5, No. 4, 1989, pp. 225-249. [2] I. Androutsopoulos, G. Ritchie and P. Thanisch, “Natural Language Interfaces to Databases – An Introduction,” Journal of Language Engineering, Vol. 1, No. 1, 1995, pp. 29-81. [3] J. Chae and S. Lee, “Natural Language Query Processing in Korean Interface for Object-Oriented Databa ses,” Pro- ceedings of First International Workshop on Applications of Natural Language to Databases (NLDB’95), Versailles, 1995, pp.81-94. [4] P. Reis, J. Matias and N. Mamede, “Edite – A Natural Language Interface to Databases: A New Dimension for an Old Approach,” Proceedings of the Fourth Interna- tional Conference on Information and Communication Technology in Tourism (ENTER’97), Edinburgh, 1997. [5] Y. Chandra and R. Mihalcea, “Natural Language Inter- faces to Databases,” Thesis (M. S.), University of North Texas, Denton, 2006. [6] M. Owda, Z. Bandar and K. Crockett, “Conversation- Based Natural Language Interface to Relational Data- bases,” International Conference on Web Intelli- gence/IAT Workshops, 2007, pp. 363-367. [7] M. Minock, P. Olofsson and A. N. Aslund, “Towards Building Robust Natural Language Interfaces to Data- bases,” Proceedings of the 13th International Conference on Natural Language and Information Systems, Berlin, 2008, pp 187-198. [8] J. Robie and D. Bartels, “A Comparison between Rela- tional and Object Oriented Databases for Object Oriented Application Development,” POET Software Corporation 800-950-8845, 1994. [9] J. Clifford and D. S. Warren, “Formal Semantics for Time in Databases,” ACM Transactions on Database Systems, Vol. 8, No. 2, June 1983, pp. 215-254. [10] R. A. Frost and P. Boulos, “An Efficient Compositional Semantics for Natural Language Database Queries with Arbitrarily-Nested Quantification and Negation,” Lecture Notes in Computer Science, Vol. 2338, 2002, pp. 252-267. [11] H. D. Lee and J. C. Park, “Interpretation of Natural Lan- guage Queries for Relational Database Access with Combinatory Categorial Grammar,” International Jour- nal of Computer Processing of Oriental Languages, Vol. 15, No. 3, 2002, pp. 281-304. [12] R. A. Frost and R. J. Fortier, “An Efficient Denotational Semantics for Natural Language Database Queries,” Natural Language Processing and Information Systems, Vol. 4592, 2007, pp. 12-24. [13] A. M. Popescu, O. Etzioni and H. Kautz, “Towards a Theory of Natural Language Interfaces to Databases,” Proceedings of the 8th International Conference on Intel- ligent User Interfaces, Miami, 2003, pp. 149-157. Copyright © 2010 SciRes. JSEA
Semantic Analysis of Natural Language Queries for an Object Oriented Database Copyright © 2010 SciRes. JSEA 1053 [14] J. Little, M. Ga, T. Ozyer and R. Alhajj, “Query Builder: A Natural Language Interface for Structured Databases,” Lecture Notes in Computer Science, Vol. 3280, 2004, pp. 470-479. [15] V. Boonjing and C. Hsu, “A New Feasible Natural Lan- guage Query Method,” International Journal on AI Tools, Vol. 15, No. 2, 2006, pp. 323-330. [16] G. G. R. Cattel, “ODMG-93 Standard des Bases de Données Objet,”Addison-Wesley, Boston, 1995.
|