A Survey on Knowledge Transfer between Knowledge-based Systems

The paper aims to clarify differences in knowledge sharing mechanisms between Knowledge-based Systems, including knowledge management system, web page-based knowledge, and expert system, in the hope that we can establish an automatic knowledge transfer between autonomous systems. This study lays the foundation for knowledge transfer mechanism where an autonomous Knowledge-based System may enhance its knowledge by using other system's knowledge. To design a knowledge transfer mechanism, the paper do a literature study by comparing three well-known protocols for knowledge sharing, OAI-PMH for knowledge management system, SPARQL for web page-based knowledge, and KQML for the expert system. The object of comparison is within three aspects, first is the ability to find another system, the second is knowledge retrieval from chosen system and third is how to add new knowledge into the system. The paper suggests that each protocol has its own strength and weakness, but when it comes to knowledge transfer, KQML covers more features. Therefore, based on this finding, the paper proposes a new model for autonomous knowledge transfer using KQML to enhance one Knowledge-based System's own knowledge.


Introduction
Knowledge-based System (KBS) is a system that benefits from its own knowledge to provide solution or recommendation for a specific problem [1,2]. Just like KBS, every intelligent system has the ability to learn and remember. In respect of human, the ability to remember identifies thinking process, which is how we use experiences stored in our memory [3]. Knowledge engineer designs each KBS for a specific purpose by assimilating certain expert's knowledge, which makes it applicable only in a specific knowledge domain. Although each KBS has a specific knowledge domain, some are on a similar domain, which means these KBS have the opportunity to transfer its content to enhance other system's knowledge. To provide ability in knowledge transfer, this research studies and compares several knowledge-sharing protocols, to enable a platform where KBS can share autonomously and automatically [4].
There are three characteristics that defines a KBS, (1) learning (knowledge acquisition), (2) retaining (knowledge organization), and (3) recalling (knowledge retrieval). Learning explains how any external knowledge re-engineered to fulfill KBS's purpose. Retaining explains how to represent the knowledge for KBS still able to read them. Recalling explains how KBS able to understand and conclude from its knowledge [2][3], [5]. Figure 1 describes this three processes. In term of knowledge sharing, this paper highlights several characteristics on KBS including ability to identify its own knowledge limitation on a specific subject area, know where to obtain further advice, and ability to improve its own knowledge by learning [5,6]. This means a knowledge sharing mechanism is needed to ensure knowledge enhancement via machine-tomachine communication. However, discussion on knowledge sharing between KBSs is not deep enough to allow knowledge become transportable autonomously from machine to machine without human interference [7]. The ability to transport knowledge, in return provides additional functionality where a KBS can enhance its own knowledge base from other KBS [4,8]. To support transportable knowledge, this research proposes protocol for knowledge transfer between KBSs. From author perspective, there are three systems, which fall into KBS definition [4], they are: 1. Knowledge Management System provides a specific area of knowledge, although unstructured and unrelated, human can gain information from it and use it to create knowledge through a thinking process; 2. Web Page provides any type of knowledge, although usually unstructured, human can gain information from it and use it to create knowledge through a thinking process; 3. Expert System provides recommendation by using its knowledge for a specific type of problem through a question and answering mechanism between human and system.  2) human side human side within system Thinking process 3) manually manually automatically 1. Information structure explains how the system stores its knowledge. Unstructured means the information (i.e. metadata or knowledge symbolism) has no relationship between them, while structured means there are links to explain specific relationship between information. 2. Reasoning location explains location of inference engine. Within system means the location of the inference engine is inside the KBS and human side means user does the reasoning. 3. Thinking process explains how the system conducts the reasoning to propose new knowledge. Manually thinking process means that the process is done by human, while automatically means that the process is done solely by the system.

Related Works
Establishment of three protocols for knowledge sharing marked the momentum in this domain. These three protocols are KQML, Semantic Web, and OAI-PMH. They establish an interoperability protocol to ensure knowledge sharing between knowledge-bases systems, i.e. expert systems, intelligent agents of web pages, and knowledge management systems. Three researchers also elaborate on knowledge sharing. Snowden [9] emphasizes the third generation of knowledge management, which requires the clear separation of context, narrative and content management. Implicitly, this requires knowledge sharing capability to support codification and creating relation. The last two researchers discuss the importance of knowledge sharing [10] and the difference between knowledge sharing and knowledge transfer [11].

Knowledge Management System
The history of Knowledge Management (KM) has passed for three decades. Although there is still no universally accepted definition, in technical perspective KM is the process through which organizations generate value from their intellectual and knowledge-based assets.

267
It becomes apparent that KM is concerned with the process of identifying, acquiring, distributing and maintaining knowledge that is essential to the organization [4], [12][13][14]. There are five processes identified to generate value from knowledge: 1. Collecting knowledge; 2. Organizing knowledge; 3. Summarizing knowledge; 4. Analysing knowledge; 5. Synthesizing knowledge.
In the second process of organizing knowledge, a Knowledge Management System (KMS) may stores knowledge in PDF softcopy document. There is no relation between documents except a classification based on the knowledge's subject [13]. One classification method comes from librarian, which is Dewey Decimal Classification (DDC). DDC helps KMS to classify documents, although in order to simplify the classification we need to excerpt some information using metadata from each of the document [13]. To help metadata creation, KMS has the option to use resource description such as Dublin Core®. Using Dublin Core® and DDC, KMS may provide abilities such as organizing knowledge within KMS, similarity measurement between knowledge, and create relation between knowledge. All these benefits provide support for knowledge sharing mechanism between KMSs [15].
Open Archive Initiatives offer knowledge sharing between KMSs using OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting). OAI-PMH provides client-server messaging transaction, using request and response messages between harvester (client) and repository (server). There are six request messages in OAI-PMH [16]: 1. Verb=Identify, used to check an identity of a repository and how to retrieve its metadata; 2. Verb=ListIdentifiers, used to list all possible identifiers (header of record) in a repository; 3. Verb=ListMetadataFormats, used to list all possible metadata formats in a repository; 4. Verb=ListRecords, used to list all possible records in a repository using filtering; 5. Verb=ListSets, use to list all possible sets in a repository using filtering as parameter; 6. Verb=GetRecord, use to get all records from specific identifier

Web-paged Knowledge
A web page contains information from a simple and focus information such as a personal blog to a broad range of information such as Wikipedia. Due to the unstructured and high possibility of informal narration, World Wide Web Consortium (W3C) provides Semantic Web so a web page may have higher readability for a machine. Semantic Web uses metadata to identify the content of a web page. As Semantic Web arising, we can extend the metadata in RDF format to leverage the machine readability, which in return support knowledge sharing. RDF (Resource Description Framework) stores metadata within a web page and SPARQL Protocol and RDF Query Language provides the tool to retrieve this information. The result of a SPARQL query is an RDF graph (RDF triples) provided in SPO structure (Subject-Predicate-Object) as described in Figure 2. SPARQL distinguishes two systems in client-server interaction, they are SPARQL Protocol Service and SPARQL Protocol client. As a query language, SPARQL provides four types of queries, SELECT, CONSTRUCT, ASK, and DESCRIBE. A request and response pair in SPARQL can only interact with RDF and not on the metadata of a web page. To use the metadata as an RDF, we need to reformat the metadata into SPO structure. This gap can be minimized by using Open Graph protocol, where several metadata already provided in RDFa format, such as og:title, og:type, og:image and og:url [17].

Expert System
The Stanford Heuristic Programming Project led by Edward Feigenbaum introduced this expert system, followed by Edward Shortliffe who tried to identify domains where expertise was highly valued and complex, such as diagnosing infectious diseases, in which they developed MYCIN in the early 1970s using IF-THEN mechanism. Later on, ARPA (Advanced Research Projects Agency) assembled a team and initiate Knowledge Sharing Effort to further extend the capability of expert system. One of the working groups in ARPA KSE, the External Interfaces Group, proposed KQML (Knowledge Query and Manipulation Language) document. This document defines the interaction including communication between two KBS [7,18]. KQML uses pragmatic approaches that include two processes: 1. Knowing who to talk to and how to find them, and 2. Knowing how to initiate and maintain an exchange Using KQML, a KBS can exchange knowledge base with other KBS. Knowledge exchange in KQML is defined using sequence of messages including query, reply, subscribe, handle, and next. There are several basic communication protocols defined in KQML, and three of them are described in Figure 3. All communication may use KIF (Knowledge Interchange Format) to transfer a specific knowledge [19].  Figure 3, KQML provides three communication protocols between sender and receiver agent [20]. In A-B interaction, B sends a query to obtain a spesific knowledge and A reply with all requested knowledge in one delivery. In A-C interaction, C sends a query to obtain a specific knowledge, A request a handshake through handle before replying with all requested knowledge in one delivery. In A-D interaction, A sends a subscription message to obtain a specific knowledge, D reply with all requested knowledge in several deliveries.

Comparison among Protocols
This research surveys among protocols that support knowledge sharing [15] between KBS. They are OAI-PMH, originally designed for document in digital catalog, SPARQL, originally designed for Semantic Web, and KQML, originally designed for expert system. In term of knowledge sharing, a KBS is said to support knowledge sharing when they have the ability to do three tasks: 1. How to find the right KBS that can provide knowledge needed by origin system; 2. How to retrieve a specific knowledge from previously chosen KBS; 3. How to use previously retrieved knowledge to enhance origin system's knowledge.
All three protocols are compared base on above three tasks, in the hope that an extension from those protocols can be proposed for future enhancement. This extension will enable automatic knowledge enhancement using machine-to-machine communication. As an example of application of this enhancement, say there are two KBS with knowledge domain on diabetes mellitus treatment, one with knowledge on medical treatment approach and one with knowledge on herbal treatment approach. Using automatic knowledge enhancement, KBS with medical treatment approach can also have the knowledge about herbal treatment, thus it can provide recommendation with both medical and herbal approach.

Finding the Right System
Finding the right system means every KBS should provide information about its knowledge domain. Providing information about knowledge domain can be done as per request by origin KBS (pull mechanism) or by broadcasting to a specific aggregator service (push mechanism). Besides knowledge domain, KBS is necessary to provide other information, like how to retrieve its content and in what format the information would be delivered.
To support finding another system, OAI-PMH provides eprints record to store information that describes the KBSs knowledge domain. To extract this information, harvester should send an Identify request to the repository. Repository should respond with an XML contains three description containers, oai-identifier, eprints and friends. However, the eprints and friends record is optional. The only mandatory description container is the oai-identifier. Therefore, there is a probability that a harvester could not find a repository with eprints description container. Figure 4 shows an Identify request to CiteSeerX. The response contains a text message "Computer and Information Science Publications collected by CiteSeerX.PSU" in eprints record. This text might be used to explain the knowledge domain of the repository. To support finding another system, a simple SELECT query in SPARQL is enough to find the right web page that contains needed knowledge; however, SPARQL Protocol is not much for a job here since the information needed is already there within the metadata of the web page. Information regarding the knowledge domain of a web page is available in the subject description in Dublin Core® metadata dc.subject. Figure 5 shows an example of dc.subject as a result of HTTP GET from a journal of Emerald Group Publishing. This request provides response from the web page where in dc.subject contains the knowledge domain of the page "Knowledge Management; Experience; Return on investment; Investment appraisal; Investment in knowledge management; Knowledge management value". This information can be further explained using dc.description metadata.   Computer and Information Science Publications collected by CiteSeerX.PSU </text> </content> </eprints> </description> </Identify> <meta name="dc.Title" content="Does knowledge management produce practical outcomes?" /> <meta name="citation_journal_title" content="Journal of Knowledge Management" /> <meta name="dc.Creator" content=" Peter Rex Massingham " /> <meta name="dc.Creator" content=" Rada K Massingham " /> <meta name="dc.Subject" content="Knowledge Management; Experience; Return on investment; Investment appraisal; Investment in knowledge management; Knowledge management value" /> <meta name="dc.Description" content="Purpose -The paper examines ways that..." /> Differ with OAI-PMH and SPARQL, KQML does not provide language to ask knowledge domain. By using KQML, an agent should know which agent would be queried prior sending the query itself. Therefore, KQML provides a special class of agent called communication facilitator. Figure 6 describes facilitator functionality to find a specific knowledge from an agent. An agent A is trying to find an agent that holds sentence X by sending subscribe message to communication facilitator. Knowing that agent A is looking for sentence X, agent B tell the facilitator about X to be forwarded to agent A by a facilitator. Figure 6. Sample mechanism for finding correct agent in KQML

Finding Correct Knowledge
Finding correct knowledge means a KBS should understand how to retrieve specific knowledge from other KBS. This is the second step after a KBS found the correct KBS. This step is crucial for knowledge sharing so a KBS can use other KBS's knowledge. Therefore, in this step, a simple pull mechanism is needed to allow a KBS retrieves the intended knowledge.
Using OAI-PMH, we can use GetRecord request and obtain the information from the response. This information is in dc:title, which describes the title of knowledge, dc:creator, which describes the author of the knowledge, dc:subject, which describes the subject of knowledge, and dc:description, which can be used to describes the abstract of the knowledge. Applying GetRecord request on CiteSeerX gives response like in Figure 7.

271
Sending HTTP GET to a page in Emerald Group Publishing, we can find knowledge based on dc:description. Like Figure 8, in dc.description we can expect to have excerpt of the knowledge within the page "Purpose -The paper examines ways that Knowledge Management (KM) can demonstrate practical value for organizations. It begins by... (etc.)". In term of expert system, KQML provides communication language for retrieving knowledge from other expert system. The knowledge can be retrieved in any format because KQML only manages the communication between expert systems. As described in Figure 9, we can use query performatives like ask-one. Figure 9. Using specific performative to retrieve knowledge from an expert system

Adding New Knowledge
The third mechanism is the last step in knowledge sharing between two KBSs. When a KBS found out that it does not have the necessary knowledge to answer user's question, it should find another KBS that withheld such knowledge and retrieve that necessary knowledge. The last step should explain how the first KBS uses the retrieved knowledge. For this last step, there are three possible mechanisms for knowledge manipulation, add the new knowledge, delete existing knowledge, and modify existing knowledge.
For this last step, using the retrieved knowledge to enhance the original knowledge base is not the scope of the OAI-PMH, SPARQL, and KQML. However, dealing with KMS and web page that has no relation between knowledge, adding new knowledge and deleting existing knowledge can be straightforward. While adding and deleting knowledge can be straightforward, modifying an existing knowledge is not. Some restrictions should be considered before modifying an existing knowledge, like which knowledge in the knowledge base should be modified and is the new knowledge contains better knowledge?
Although working on KMS and web page can be straightforward, unfortunately, this does not happen in Expert System (ES). This is due to the knowledge structure within ES that has a locked relation among knowledge that makes it difficult to alter. As an example, an Expert System implementation called CLIPS (C Language Integrated Production System) provide an example to determine a type of animal based on user's answers. Figure 10 explains a portion of <meta name="dc.Title" content="Does knowledge management produce practical outcomes?" /> <meta name="citation_journal_title" content="Journal of Knowledge Management" /> <meta name="dc.Creator" content=" Peter Rex Massingham " /> <meta name="dc.Creator" content=" Rada K Massingham " /> <meta name="dc.Subject" content="Knowledge Management; Experience; Return on investment; Investment appraisal; Investment in knowledge management; Knowledge management value" /> <meta name="dc.Description" content="Purpose -The paper examines ways that Knowledge Management (KM) can demonstrate practical value for organizations. It begins by..."/> <meta name="keywords" content="Knowledge Management, Experience, Return on investment, Investment appraisal, Investment in knowledge management, Knowledge management value" /> ask-one :content <expression> :aspect <expression> :language <word> :ontology <word> :reply-with <expression> :sender <word> :receiver <word>

Conclusion and Future Work
This research tries to explore the linkage among the family of KBS, which are KMS, web page, and ES. The exploration is done on knowledge sharing capability perspective, using specific protocol originally designed for each of the system, OAI-PMH, SPARQL, and KQML. The knowledge sharing in this term includes three steps, finding a correct system, finding correct knowledge and adding new knowledge.
Based on the previously discussion, all OAI-PMH, SPARQL, and KQML provide support for the first and second steps of knowledge sharing. However, for the third step, only KMS and web page provide the possibility of knowledge manipulation. This is due to the loosely coupled between knowledge entities, which make an insertion of new knowledge or modification of existing knowledge is possible. However, this is not the same case with Expert System, where there is a relation between knowledge entities. This relation exists for reasoning purposes, so there is no simple way to alter the existing knowledge inside the Expert System. To solve this problem, an intelligent agent is added as a patch to an Expert System to provide knowledge sharing capability. An intelligent agent is supposed to understand KQML and has the ability to enhance the origin Expert System by addition, deletion and updating knowledge [5].