The present invention is directed to concepts for a Semantic Adaptive Framework (SAF) that defines system behavior through selection of optimal actions by a process of reasoning about its self knowledge, considering the environmental state, system state, user situation, available system capabilities and network accessible functions and services and knowledge represented as ontologies. The SAF though capable of operating as a self contained system is also capable of operating in a Network Centric Environment where the SAF system is distributed across multiple SAF nodes, all capable of sharing knowledge with each other with respect to the overall environment and capabilities of each node. With the distributed SAF system using network communications and knowledge sharing the overall capabilities are expanded by the networked set of SAF nodes. The SAF has a structure that enables reasoning across its self knowledge, whether self contained or also accessed through a network, or whether knowledge derived from sharing of knowledge between SAF nodes, for action selection through a common process, while enabling the customization of its self knowledge for unique application domains, problem specific contexts, and different sets of available actions. For purposes of explanation, a universal popular application is described herein: the web content and services environment. It is utilized to explore and describe the concepts underlying the SAF framework.
This invention sets forth a conceptual framework for using meta knowledge in the form of ontologies for the purpose of defining system responses considering problem context, user context, environment knowledge, and available responses. Multiple applications appear to be suitable for this approach, and a combination of a priori knowledge and machine learning can enhance the accuracy and flexibility of the adaptive behavior. In addition an overall framework is described at a high level to enable an SAF reasoning control program to utilize a common SAF structure description to make about potential interim classification results.
Current research indicates that a combination of inductive learning and analytic learning can be used for the SAF system. Example Applications include but are not limited to User Context and Domain Meta Specifications for Web Networked Information Content and Services
The key SAF concepts include the ability to infer the appropriate system action or response from deliberation and reasoning about the user or system environment, the problem context, and the set of available system responses. Each of these three SAF aspects is defined as knowledge elements in the SAF structure. The flow of dependency is illustrated in See
SAF knowledge is sharable among a set of SAF nodes through Web Services where each SAF node makes its knowledge and reasoning results available to other SAF nodes. The approach enables a networked SAF systems with local reasoning appropriate to the system capabilities of each node, while enabling influence of its selection through the shared knowledge among them. The use of standard Web Services standards such as UDDI and WSDL enable a common platform independent network of SAF system within a heterogeneous network.
A common aspect of the following SAF applications is the desire to define and evolve system behavior through reasoning and the acquisition of knowledge, rather than requiring the development of new software programs. There also is a sense of a client and problem context. The client may be a system, a human, or a program, while the problem context defines the specific intent and purpose of the reasoning and response selection from a particular problem viewpoint. Thus in some of the applications below the problem context may be defined from a human client perspective, while in others the client and problem perspective may be associated with a system or program.
The model shown in
The key concepts of the SAF model include the following:
It is expected that a user's context is always in a state of flux and that different contexts can be used to infer different web services and information content that would be relevant to the user in that context.
Ontology meta specifications are the proposed method for specifying user relevant problem contexts and in the case of the Semantic Web meta specifications will also be available for web services and web content. The means for specifying, discovering and using the relationships between the user problem context and web content and services is focus of this SAF solution. For the web example the following simple inference reasoning expression holds.
Recent trends in computer science are emphasizing the use of meta-data associated with information documents as a means for enabling interoperability between systems. This meta-data, for example an XML schema, at a minimum defines a data structure, the data elements, and the allowed values for the data elements. Though this enables a description of the syntax for information in a domain, it was determined that more expressive languages layered on top of XML could provide the semantic knowledge associated with this data for a specific knowledge domain, expressed as a domain ontology. This would then enable agents or programs committed to specific domain ontologies to collaborate and share knowledge with a specific semantic interpretation, even though they were not originally designed to interact with each other. The relationships between the domain ontologies, web sites, web services and web context can be defined in directory based services, where the web services are published via meta specifications such as WSDL and where UDDI provides the director publish and discovery capability. Web pages marked up with OWL, a web ontology language, defining an appropriate ontology for that web page, will enable better discovery and query of web content by applications.
If a networked system such as the WWW had directories for domain ontologies, e.g., a means for publishing web sites consistent with specific ontologies, and a protocol defined for searching for web sites consistent with domain ontologies, than clients could search and use web content and web services more relevant to their purpose.
User Context and Semantic Web
With the above model, it is clear that special proxies, and/or agents could be used to automate the search and discovery process if there were better information concerning the needs and desires of the user. Thus we could expand the above model to also include ontologies not only about web sites, but ontologies defining attributes associated with user problem context, and then define relationships between web site domain ontologies and these problem context ontologies. Common user domain ontologies could be published in a public directory, from which user clients and agents could search for appropriate user ontologies relevant to the user context as illustrated in
The inference chain relationship would now entail the following:
With this view there are ontologies defining specific user problem context types and associated application domain ontologies, which have references to specific web sites. These relationships can be predefined, where a web site provider would as part of the publishing process, also select the relevant domain ontologies that the site is consistent with, and also the user context that might be associated with this domain. The former is probably more accurate, while the latter relationship between user context and desired domain ontology is not easily discernible to the web site publisher.
In the case of a predefined environment where users, web sites and services are part of an narrower business model, where user roles and interests can easily be predefined, we can define the user context quite simply and associate application domain ontologies more appropriately. In the more general case it is not easily determined what the user problem context is, and the associated ontology domain and web services. In both cases it may be advantageous to enable the user to define the relationship between a user problem context definition and associated domain ontologies. It may also be advantageous for the system to aid in the creation of this relationship through machine learning of user session history.
User Problem Context Ontology
Each user situation can be defined through the use of a context ontology, where each context ontology could have the following information. Where a context attribute is defined as a set it is possible that a particular context may be valid for a user with only a sub set of values for that attribute. The context attributes in bold should be specified for every user problem context ontology, while other context attributes can be selected from below or specified as appropriate for the context as <Context Attribute i>. In this way the context definition itself can be extended.
A context is thus defined at a minimum as a set of <attribute, value> pairs contained within a context ontology. Other expressions may be part of the context meta specification that further defines relationships between the attributes and any constraints. This could take the form of typical ontology expression triples such as <subject predicate object>. For example a set of context expressions might relate a specific <User Role> with a specific <User Intent>. Using modus ponens, e.g., A, A→B: B.
The above expression states that if the user role is that of provider, the user is creating information, that the Publish Information is the likely consequence given the Role and Business Process values; then we can say that Intent is to Publish Information inferred result.
Context Ontology Specification
A context ontology will have UML like properties of inheritance. Each context can inherit attributes of a parent context, and specialize it by adding more attributes, or by constraining the values for inherited attributes. In this way it is possible ultimately for users to customize their own contexts from other context definitions. A context can only have one parent, otherwise there is the possibility of inconsistent context definitions. Context aggregation, where a context is created from other contexts, is supported by a process similar to ontology aggregation.
Creation
It is proposed that a set of common user context ontologies can be created for a web business model by the information system manager; then customization of these a'priori context ontologies can be accomplished by specialization as in UML class specialization discussed previously. Of course we must separate the creation of a specific context ontology, from the creation of a context knowledge base instance formed from evaluation of user and other information data.
Selection
From the attributes of the universally defined context ontology, a set of current data values for a user are collected for each attribute. Then these are matched according to a classification algorithm with a set of context ontologies to identify candidate context ontologies that potentially match the user data. Then an optimal classification algorithm is used to select the most likely hypothesis that fits the user's context. This may involve additional data once the candidates are selected to help determine which candidate is the optimal match. One approach is that a form of Naïve Bayesian classifier be used to calculate the probability of the most likely context hypothesis. In this inductive learning model the classifier is given a set of training examples {<xi, f(xi)>}, where xi is the set of context attribute values, and f(xi) is the context classification for that set of values. The Bayesian classifier algorithm is then used to learn a hypothesis that correctly classifies each training example's context. It then can be used after training to classify candidates and the optimal context ontology.
There are many different machine learning algorithms that can be used to learn how to select the context candidates and the optimal context ontology hypothesis. What is important in this paper is the relationship between the user context and the set of web domain ontologies and their associated web sites having semantic content and semantic web services. See
Modes for Creation of User Context Relation with Application Domain Ontologies
Static User Context—No Machine Learning
The static user context is defined from a directory of predefined contexts and their associated domain ontology relationships. For a particular system, application context relationships and context ontologies could be defined for the most common situations among the typical community of users for that environment. Ideally they would satisfy most users and the predefined set could be extended as the system information manages learns more about common context needs and situations.
The system would only have a predefined set of contexts and relationships to domain ontologies, established by the system information manger. For any specific session the user would browse a directory or a cache of recently used contexts for selection purposes.
Dynamic User Context
The user context relationship to application ontologies is defined manually by the user over time, and is customized from the preexisting set of predefined relationships. Each user is thus able to customize and personalize the static context environment described previously.
Static User Context—Machine Learning
In this situation machine learning learns to classify the context relationship from a directory of available context-application domain relationships. This removes the need for manual selection by the user over time as the classifier learns from experience. A certain number of user manual sessions can be selected as training examples for the classifier learning algorithm.
Dynamic User Context—Machine Learning
In this situation machine learning not only classifies the context, and the context-application relation, but also chooses the optimal selected responses.
SAF Application Environment Models
User, External System and SAF
Another view is that the SAF system interacts with an external system on behalf of a user/client, and uses self knowledge of the environment, user context, and external system services to select the optimal services for the user. See
SAF within a System
In this model
Imagine an environment consisting of multiple users, multiple shared information objects, and services\providers; SAF could perform the function of associating users, information objects, and service providers in this distributed environment.
This environment,
As described herein, the SAF has the dependence upon a set of interrelated ontologies. The diagram shown in
Model Concepts
The above ontology model of
Additional Context_Metadata is also defined to enable management of context ontologies. The present invention may also be used in connection with
The present invention may be used in a variety of different situations. One example is a network system The network includes a network cable or wireless communication means to which a server and one or more clients are connected. The cable or wireless communication means may be also connected to the internet and/or public or private databases preferably through a firewall. The network may be any one of a number of conventional network systems, including a local area network (LAN) or a wide area network (WAN), as is known in the art. The server includes hardware necessary for running software to access data for processing user requests and provide an interface for serving information to client machines. In a preferred embodiment, the software running on the server machine supports the World Wide Web (web) protocol for providing page data between a web server and a client as illustrated in
The invention can provide a number of advantages for the web system described, especially where the user desires to have adaptation of visible and accessible web services and web site content adapted to the user particular situation or context as illustrated in
This is a conversion of U.S. Provisional Patent Application Ser. No. 60/566,018 filed Apr. 28, 2004 the disclosures of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60566018 | Apr 2004 | US |