building a personal knowledge recommendation system using agents, learning ontologies and web mining

6
Proceedings of the 10th International Conference on Computer Supported Cooperative Work in Design Building a Personal Knowledge Recommendation System using Agents, Learning Ontologies and Web Mining Juliana Lucas de Rezendel, Vinicios Batista Pereira', Geraldo Xexeo 2, Jano Moreira de Souza'2 'COPPE/UFRJ- Graduate School of Computer Science 2DCCIIM - Institute ofMathematics Federal University ofRio de Janeiro, PO Box 68.513, ZIP Code 21.945-970, Cidade Universitaria - Rha do Funddo, Rio de Janeiro, RJ, Brazil tjuliana, vinicios, xexeo, jano}@cos. ufrj. br Abstract In this paper we consider a process which complements the learning process for building personal knowledge through the exchange of knowledge chains. This approach consists in the partial automatization of the process of creating knowledge chains, through the use of the technology from agents, ontologies and data mining. The agents will monitor all media used by the learner, and will classify its content using an ontology. From there, we want to create and recommend a chain to the learner. This point became important when we observed that the learners weren't motivated to create their chains, which, normally, takes a lot of effort. Keywords: CSCW, Collaborative Knowledge Design, Recommendation System, Learning ontology, Web Mining. 1. Introduction Today people need to acquire new knowledge faster and in a much greater volume than in the past. To complement the learning process, there are communities of practice focused on learning, i.e., learning communities. These communities act as both a method to complement teaching in the traditional classroom, and to acquire knowledge in evolution. [1] Pawlowski [2] defined a learning community as being an informal group of individuals engaged in a common interest, which is, in this case, the improvement of the learner's performance using computer networks. One of the principles of Wenger [3] for cultivating communities of practice is the sharing of knowledge to improve personal knowledge. Another issue related to making a successful community should be intense communication between the members. Finally, a community should assist the members in building up their personal knowledge. [4] To complement the learning process, we considered a process to promote knowledge building, dissemination and exchange in learning communities. The need for a number of individuals to work together (on knowledge design) raises problems in the CSCW domain. [5] Knowledge design [6] is defined as a science of selecting, organizing and presenting the knowledge in a huge knowledge space in a proper way so that it can be sensed, digested and utilized by human beings efficiently and effectively. It aims to offer the right knowledge to the right person in the right manner at the right point of time. According to Xexeo [7], the design activity has been described as belonging to a class of problems that have no optimal solution, only satisfactory ones. They are complex, usually interdisciplinary in nature and require a group of people to solve it. Designing knowledge is similar in principle to designing computer software. It takes time, careful thought and creativity to do it well. The biggest difference is that you can't just load the knowledge into someone's brain like you can do with the software in a computer; you need an implementation procedure to build the knowledge in the learner's mind. [6] 1.1. Motivation To complement the learning process, a system has been developed to promote knowledge building, dissemination, and exchange in learning communities. This system is called Knowledge Chains Editor (KCE) and is based on a process for building personal knowledge through the exchange of knowledge chains (KCs) [1]. It is implemented on top of COPPEER'. The process differential is the addition of "how to use" the available knowledge to the triad "authors" (who), "localization" (where), and "content" (what), which are commonly used. The KC (shown in Figure 1) is a structure created to organize knowledge structure and organization. A KC is made up of a header (which contains basic information related to the chain) and a knowledge unit (KU) list. 1 COPPEER [7] is a framework for creating very flexible collaborative peer-to-peer (P2P) applications. It provides non-specific collaboration tools as plug-ins. 1-4244-0165-8/06/$20.00 C 2006 IEEE.

Upload: ufrj

Post on 26-Apr-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Proceedings of the 10th International Conference on Computer Supported Cooperative Work in Design

Building a Personal Knowledge Recommendation System using Agents, LearningOntologies and Web Mining

Juliana Lucas de Rezendel, Vinicios Batista Pereira', Geraldo Xexeo 2, Jano Moreira de Souza'2'COPPE/UFRJ- Graduate School ofComputer Science

2DCCIIM - Institute ofMathematicsFederal University ofRio de Janeiro, PO Box 68.513, ZIP Code 21.945-970, Cidade Universitaria -

Rha do Funddo, Rio de Janeiro, RJ, Braziltjuliana, vinicios, xexeo, jano}@cos. ufrj. br

Abstract

In this paper we consider a process whichcomplements the learning process for building personalknowledge through the exchange of knowledge chains.This approach consists in the partial automatization ofthe process ofcreating knowledge chains, through the useof the technology from agents, ontologies and datamining. The agents will monitor all media used by thelearner, and will classify its content using an ontology.From there, we want to create and recommend a chain tothe learner. This point became important when weobserved that the learners weren't motivated to createtheir chains, which, normally, takes a lot ofeffort.

Keywords: CSCW, Collaborative Knowledge Design,Recommendation System, Learning ontology, WebMining.

1. Introduction

Today people need to acquire new knowledge fasterand in a much greater volume than in the past. Tocomplement the learning process, there are communitiesof practice focused on learning, i.e., learning communities.These communities act as both a method to complementteaching in the traditional classroom, and to acquireknowledge in evolution. [1] Pawlowski [2] defined alearning community as being an informal group ofindividuals engaged in a common interest, which is, inthis case, the improvement of the learner's performanceusing computer networks. One of the principles ofWenger [3] for cultivating communities of practice is thesharing of knowledge to improve personal knowledge.Another issue related to making a successful communityshould be intense communication between the members.Finally, a community should assist the members inbuilding up their personal knowledge. [4]

To complement the learning process, we considered aprocess to promote knowledge building, dissemination

and exchange in learning communities. The need for anumber of individuals to work together (on knowledgedesign) raises problems in the CSCW domain. [5]

Knowledge design [6] is defined as a science ofselecting, organizing and presenting the knowledge in ahuge knowledge space in a proper way so that it can besensed, digested and utilized by human beings efficientlyand effectively. It aims to offer the right knowledge to theright person in the right manner at the right point of time.According to Xexeo [7], the design activity has beendescribed as belonging to a class of problems that have nooptimal solution, only satisfactory ones. They arecomplex, usually interdisciplinary in nature and require agroup of people to solve it. Designing knowledge issimilar in principle to designing computer software. Ittakes time, careful thought and creativity to do it well.The biggest difference is that you can't just load theknowledge into someone's brain like you can do with thesoftware in a computer; you need an implementationprocedure to build the knowledge in the learner's mind. [6]

1.1. Motivation

To complement the learning process, a system hasbeen developed to promote knowledge building,dissemination, and exchange in learning communities.This system is called Knowledge Chains Editor (KCE)and is based on a process for building personalknowledge through the exchange of knowledge chains(KCs) [1]. It is implemented on top of COPPEER'. Theprocess differential is the addition of "how to use" theavailable knowledge to the triad "authors" (who),"localization" (where), and "content" (what), which arecommonly used.

The KC (shown in Figure 1) is a structure created toorganize knowledge structure and organization. A KC ismade up of a header (which contains basic informationrelated to the chain) and a knowledge unit (KU) list.

1 COPPEER [7] is a framework for creating very flexible collaborativepeer-to-peer (P2P) applications. It provides non-specific collaborationtools as plug-ins.

1-4244-0165-8/06/$20.00 C 2006 IEEE.

Proceedings of the 10th International Conference on Computer Supported Cooperative Work in Design

a) Knowledge Chain b) KnowledgeComposition

Figure 1. Knowledge organization

Conceptually, knowledge can be decomposed intosmaller units of knowledge (recursive decomposition).For the sake of simplification, it was considered that thereis a basic unit which can be represented as a KU (astructure formed using a set of attributes).

To build his KC the learner can use the KCE. In thecase of questioning he must create a KU whose state is"question". At this moment the system starts the search. Itsends messages to other peers and waits for an answer.

Each peer performs an internal search. This searchconsists of verifying if there are any KUs similar to theone in the search. All KUs found are returned to therequesting party, as shown in Figure 2.

Figure 2. KCE architecture

The creation of a KU of type 'question' is obviouslymotivated by the learner's need to obtain that knowledge.So far, we have considered the existence of twomotivating factors for the creation of available KCs. Thefirst would be a matter of recognition by the communities,since each KU created has a registered author. Thesecond would be the case where the professor makesthem available "as a job", with the intention of guidinghis students' studies.

However, we were aware that the learner needs more

motivation to create new KCs. In the attempt to solve thisproblem, in this work we present a proposal for an

evolution of the KCE. The main goal is to recommendpotential KCs that can be accepted, modified or even

discarded by the learner. These KCs will be created fromthe data collected by monitoring (carried out by a

software agent2) learner navigation.

2 A Software Agent [8] can be defined as a complex object with attitude.

1.2. Related Work

Apart from KCE, there are other tools that stimulateknowledge sharing in communities. These include:WebWatcher [16], which is a search tool where thelearner specifies his interests and receives the relatedpages navigated by the other community members.OntoShare [17] uses software agents which allow the userto share relevant pages. MILK [18] allows thecommunities to manage knowledge produced frommetadata. The main difference between these tools andthe KCE is that they are focused on sharing "where"and/or "with whom" the knowledge can be found. KCEadds the sharing of "what" and "how to use" thisknowledge.

The remainder of this paper is organized as follows.The main concepts of web mining and learning ontologiesare presented in the next two sections. Section 4 presentsthe proposed idea and the prototype developed.Conclusions are given in section 5.

2. Web Mining

In a simplified way, we can say that web mining canbe used to specify the path taken by the user while he isnavigating on the web (Web Usage Mining) and toclassify navigated pages (Web Content Mining). [9, 10]However, there is a problem that cannot be solved onlyusing web mining, and this is the difficulty in calculatingthe information hierarchy. This problem can be solvedwith the use of ontologies3.

In addition to the availability of little (maybe any)structure in the text, there are other reasons why textmining is so difficult. The existing concepts of a text areusually rather abstract and can hardly be modeled byusing conventional knowledge representation structures.Furthermore, the occurrence of synonyms (differentwords with the same meaning) and homonyms (wordswith the same spelling but with distinct meanings) makesit difficult to detect valid relationships between differentparts of the text. [12]

2.1. Web Usage Mining

We use web usage mining when the data is related touser navigation, this means, when we store and analyzethe order of the navigation pages, the visit length for eachpage and the exit page. This information will be importantfor verifying, respectively, what the order of thenavigated concepts is, after page classification; and which

3Ontology [11] is a formal specification of concepts and theirrelationships. By defining a common vocabulary, ontologies reduceconcept definition mistakes, allowing for shared understanding,improved communications, and a more detailed description of resources.

Proceedings of the 10th International Conference on Computer Supported Cooperative Work in Design

pages are relevant when the user doesn't follow thestructure of a site and goes to a new site on the samesubject, or stops studying the subject. [9]

2.2. Web Content Mining

Once the relevant pages are selected using web usagemining, web content mining can be used to analyze and toclassify the page content. [9] In this kind of mining theinput data is the HTML code of the page and the outputdata is one or more possibilities for classification of thepage in accordance with the used ontology.

In order to simplify the page classification we used anautomatic summarization technique (AST) to extract themost relevant sentences from the page. [12] First, theAST applies several preprocessing methods to the inputpage, namely case folding, stemming and removal of stopwords. The next step is to separate the sentences. The endof a sentence can be defined as a "." (full stop), a "!"(exclamation mark), a "?" (question mark), etc. In HTMLtexts we can also consider tags of the language.

Once all the sentences of the page are identified, it isnecessary to give a "weight" to each remaining wordbased on its HTML tag [Tablet] and to compute the valueof a TF-ISF (term frequency - inverse sentence frequency)measure for each word. For each sentence s, the averageTF-ISF weight of the sentence denoted Avg-TF-ISF(s) iscomputed by calculating the arithmetic average of the TF-ISF(w,s) weight over all the words w in the sentence.Sentences with high values of TF-ISF are consideredrelevant.

Once the value of the Avg-TF-ISF(s) measure iscomputed for each sentence s, the final step is to selectthe most relevant sentences, i.e. the ones with the largestvalues of the Avg-TFISF(s) measure. In the currentversion of our system this is done as follows: the systemfinds the sentence with the largest Avg-TF-ISF(s) value,called the Max-Avg-TF-ISF value; the user specifies athreshold on the percentage of this value, denotedpercentage-threshold. Sentences with high values of TF-ISF are selected to produce a summary of the source text.According to Larocca [12] this technique has beenevaluated on real-world documents, and the results aresatisfactory.

3. Building and Using Ontologies

According to Guarino [13] the ontologies can becategorized in 4 types: top-level, domain, task andapplication. Top-level ontologies describe very generalconcepts like space, time, object, etc., which areindependent of a particular problem or domain. Domainontologies and task ontologies describe, respectively, thevocabulary related to a generic domain (like medicine, orautomobiles) or a generic task or activity (like diagnosingor selling), by specializing the terms introduced in the

top-level ontology. Application ontologies describeconcepts depending both on a particular domain and task,which are often specializations of both the relatedontologies.A more generic ontology can become without great

effort, more specific in accordance with the necessity.However, to transform a specific ontology into a moregeneric one can be a difficult task. Therefore, in this workwe first created a domain ontology and from this wecreated a more specific ontology which was moreappropriate to our needs.

The prototype developed has been created to the Javalearning community and the first ontology created was adomain ontology which describes the object oriented (00)language concepts. After this, specific properties wereadded to the created ontology to incorporate thesaurusfunctionalities. This way, the software agent can search inthe ontology for words found in the text and correlateweb pages with ontology concepts, transforming thedomain ontology.

All classes that symbolize concepts from an 00language inherit of a superclass called Concept. In ourcase, this superclass contains a property named keyword,which is used on the page classification, and ifwe need toadd new properties related to the classification it isenough to make it in the Concept class. To transform thenew ontology in the domain ontology it is enough toremove the Concept class.

The 00 language ontology was instantiated to Java tobe used as a specific base of knowledge by theapplication. With the concepts and relations instantiated,it's possible to compare the keywords found in the pagemining process with the ontology keywords. Theattribution of weights to the page keywords makespossible the probabilistic classification of the pageaccording to the ontology concept.

The relationship between the ontology concepts can beused to support decisions about the concept representedby a page. When the page has the occurrence of keywordsthat are concepts related to the same concept, the pagecan be classified as a representation of the commonconcept.

Con, ept

ClassLibrary -

DataTyp e \

Class _ -

InnerClass

-contams

Superclass

f subclass l..* instance

Figure 3. Example of ontology

Proceedings of the 10th International Conference on Computer Supported Cooperative Work in Design

For example, in Figure 3, we have an ontology that hasthe concept Package related to the concept Class, andPackage java.util related to Class, Vector and HashTable.If a page has keywords with the same weight referring tothe java classes Vector and HashTable, the system canconsider that both are related to Package java.util and canclassify the page as a reference to Package.

3.1. Learning Ontologies

As has been said before, the addition of the collectedinformation during web mining to the existing ontologymakes the creation of learning ontology possible.

Collaborative learning ontology [14] is the system ofconcepts for modeling the collaborative learning process,such as 'learning goal', 'learning group type' and'learning scenario'. When the ontologies are in use theyare usually arranged in three layers. The top layer is thenegotiation level that corresponds to negotiation ontology.The intermediate layer corresponds to the collaborativelearning ontology. Here, only important abstracts fornegotiation from agent level remain as the necessaryscope of information at an abstract level. The negotiationlevel is the level that represents the important informationfor negotiation at an abstract level. The bottom layer isthe agent level that corresponds to individual learningontology.

This work contemplates only the two lower layers of acollaborative learning ontology, as it captures thelearner's personal learning process, which supports thelowest layer; and allows the exchange of learningprocesses, creating the necessary information for thehighest layer.

all this information, the agent can build a potential KCthat will be recommended to the learner.

1. Moitoh 2 Select pagesiiavigated1pages 111111 gl'anId

Softwrare Agent store it

kiiow1ed'eh ee to 3 Get stoied6. RecoiiiiendtK W pa=Ies

1! j AlToh Tot I~~~~~~

laiowvledc,e tr-ee tobenurner

,rb

4. Ca sasifiv pagesSofafe A.eit witlh oitologT,Z9-sFeveted2 0 c oiic epts

". i

p oncepts;

Figure 4. KCE personal knowledgerecommendation architecture

It is necessary to point out that the new KC will berecommended to the same learner that is navigating onthe web. He will decide if he wants to add (or not) therecommended KC to his personal knowledge. From thispoint onwards, if the learner accepts the KC, it can beexchanged between the community members using theKCE.

4. Automatic Building of PersonalKnowledge Chains

The main target of this work is to automatically buildknowledge chains to be recommended to the learners. Ashas been previously stated, the learner can accept, modifyor even discard these KCs. For this to be possible, theproposal is to extend the Knowledge Chains Editor (KCE)[1] to automatically build personal KCs.

In order for this to occur, it is necessary to have an

ontology of the considered domain. The goal is todetermine the sub-groups of navigated concepts (conceptsfound in the navigated pages), and relate them to thepages.

The software agent will observe the learner'snavigation through web pages (of the considered domain),and then it will store the page content and the time spenton each page (as shown in Figure 4).

After this, another agent has the responsibility formining the navigation and the page content to determinethe sub-group of ontology navigated concepts related tothe navigated pages and to create a graph from this. With

4.1. Knowledge Chains Recommendation System

The learner software agent is responsible forobserving the learner's navigation and storing thenavigated page content, visit length and the times that ithas been accessed. In this first stage the agent onlycreates a database of web pages and access information(Web Usage Mining). At a later stage, with a frequencydetermined by the user, another software agent will select,from the stored pages, the pages that are related to thesubject discussed by the community (The subject must beknown because it is necessary to have an ontology on it inthe community). This will be made by comparing thecontent of the web page with a set of keywords (ontologyconcepts) related to the subject in question. In this waythe stored pages are filtered, with only the ones that are infact of interest to the community remaining. This alsosolves any problems related to user privacy, since thosepages that are not related to a community subject arediscarded.

With this set of stored pages the system has a guidedgraph, because the navigation order has been stored. As

Proceedings of the 10th International Conference on Computer Supported Cooperative Work in Design

the system objective is to make a KC with the conceptsstudied by the learner, it is necessary to use text miningtechniques to classify the pages in accordance with thedescribed concepts of the ontology. This classification isbased on the proposals of Desmontils [15] and Jacquin[16]. However, instead of using a thesaurus with anontology, we have improved our ontology by adding, inall concepts, a vector of attributes with the keywordsrelated to the concept. Thus, we can do the mining andthe classification only using the ontology.

At this time, the system needs to remove all the stopwords from the text on a page. Then it is necessary togive a "weight" to each remaining word, based on itsHTML tag. The weights are given in accordance with thevalues given in Table 1.

Table 1. Higher coefficients associated with HTMLmarkers [15, 16]

HTML marker HTML marker WeigthdescriptionDocument Title <title></title> 10

Keyword <meta name="keywords"... 9content= ... >

Hyper-link <a href= ...></a> 8Font size 7 <font size="7"></font> 5Font size +4 <font size="+4"></font> 5

Heading level I <hl></hlI> 3Image title <img ... alt=".. "> 2

Underline font <u></u> 2Italic font <i></i> 2Bold font <b></b> 2

Once the frequency and the weight of the keywords ona page are compared with the ontology concepts, the pagereceives degrees of relevance. With this relationshipbetween pages and ontology concepts, the graph of pagescan be transformed into a knowledge chain. This KC willbe recommended to the learner, and he can decide what todo with it.

As there are many software agents "working" for thelearners, a lot of KCs will be created. Therefore, it ispossible to identify absent concepts in the navigation ofone learner that have already been studied by another, andrecommend KUs, concepts, pages and even the users whoknow the concepts the learner doesn't know.

4.2. Example

The following example shows how a KC is createdfrom the learner's navigation through web pages.

Figure 5 shows the web pages navigated by the learnerand Figure 6 shows the ontology of the community wherearrows represent a non hierarchical relationship.

In the first stage, web mining will be performed, andaccording to the keywords found on the web page, it may

match partly with one concept from ontology and partlywith another.

Figure 5. Web pagenavigation

Figure 6. Communityontology

In this case, there is a relevance degree for eachconcept relating to the page. Therefore, for each page, theresult is:

Page 1: a 60%; b 10%-; c 30%-;*-Page 2: a 0%; b 0%. c 100%-; *-

After relating the web pages to the most relevant ontologyconcepts, the software agent will create a learning path inthe ontology, which is a learning ontology,

a c d e

and the creation of the KU is initiated, mapping the webpages on the learning ontology.

a.ui or

At this time the KUs are created using the learningontology and all the information on the learner'snavigation through web pages. In this example it isnecessary to study "attribute", then study "class", to study"object".

As has been said before, a KU is a structure formed byan attribute set. These attributes are grouped intocategories: General (name, description, keywords, author,creation date, last use date, etc), Life Cycle (history,current state, and contributors), Rights (intellectualproperty rights and conditions of use), Relation (therelationship between knowledge resources), Classification(the KU in relation to a classification system) andAnnotation (comments and evaluations of the KUs andtheir creators). Many of these attributes can beautomatically filled, which facilitates the creation of newKCs.

atn-bi ft.- I h-h- Fobip,P- P-i i

Proceedings of the 10th International Conference on Computer Supported Cooperative Work in Design

5. Conclusions and Future Work

The growing number of learning communities whichcommunicate online makes it possible to exchange, anduse chains of explicit knowledge as a strategy for creatingpersonal knowledge. Today, we have the WWW (who,what, where) triad, where "who" is the people who havethe knowledge, "what" is the knowledge itself, and"where" is its location - in our case, the peer in which it islocated. Using knowledge chains, we hope to add "how touse" the available knowledge to the existing triad.

As has been previously stated, to motivate the learnerin the creation of new KCs, we propose a personalknowledge recommendation system that uses softwareagents technology to monitor learner navigation; usesweb mining to plot the path taken by the user while he isnavigating on the web and to classify the navigated pages;and uses learning ontologies in addition to all theinformation collected for the cration ofnew KCs.

The experimental use of the extended KCE showsevidence that, when used by a learner to build a personalKC, the hypothesis that he/she creates more new KCs,that he will achieve a reduction in the time dedicated tostudying a specific subject as well as gaining a morecomprehensive knowledge of the subject studied has beenconfirmed. In order to evaluate whether the KCE'sobjective has been reached, experiments aimed atobtaining qualitative and quantitative data that wouldmake the verification of the hypothesis underconsideration possible must be carried out.

It is necessary to emphasize that it is not the goal ofthis work to ensure that the learner has assimilatedeverything in his KCs. Our goal is to stimulate thecreation of new KCs, so that the knowledge network canexpand, and better assist the community members.

Due to the fact that this work is still in progress, manyfuture projects are expected to take place. The mostimportant are: improving the algorithm used to map theweb page on the ontology nodes, and extending themonitored domain, considering any media manipulated bythe learner, instead of only the navigated web pages.

Acknowledgement

This work was partially supported by CAPES andCNPq.

References

[3] E. Wenger et al., Cultivating Communities of Practice: Aguide to Managing Knowledge, Harvard Business SchoolPress, 2002.

[4] J.M. Souza, A. Tornaghi and A. Vivacqua, "Creatingeducator communities", Int. Journal Web BasedCommunitie, Grd-Bretanha, 2005, pp. 1-15.

[5] J.L. Rezende, J.M. Souza, J.F. Souza and G.B. Xexeo,"Peer-to-Peer collaborative integration of dynamicontologies", Proc. of the 9th Int. Conf on CSCWD,Coventry, UK, 2005.

[6] M. Leitch, Human Knowledge Design, An undergraduateproject, February 1986. (Published on the web on 31 July2002)

[7] J.M. Souza, et al, "COE: A Collaborative Ontology Editorbased on a Peer-to-Peer framework", Int. Journal ofAdvanced Engineering Informatics, Germany, pp. 1-15.

[8] J.M. Bradshaw, "An introduction to software agents", inJ.M. Bradshaw (eds), Software Agents, MIT Press, 1997.

[9] O.R. ZaYane, "Web Mining: Concepts, Practices andResearch", Conference Tutorial Notes, XIV SBBD, JoaoPessoa, Paraiba, Brazil, Oct 2000.

[10] R. Cooley, B. Mobasher and J. Srivastava, "Web Mining:Information and Pattern Discovery on the World WideWeb". Proc. of the 9th IEEE Int. Conf on Tools withArtificial Intelligence, Newport Beach, CA, USA, Nov1997.

[11] T.R. Gruber, "Toward principles for the design ofontologies used for knowledge sharing", Int. Workshop onFormal Ontology, 1993.

[12] J. Larocca Neto, et al, "Document clustering and textsummarization", Proc. of the 4th Int. Conf on PracticalApplications of Knowledge Discovery and Data Mining,2000.

[13] N. Guarino, "Formal ontology in information systems",Proc. ofFOIS'98, Trento, Italy, IOS Press, June 1998.

[14] T. Supnithi, et al, "Learning goal ontology supported bylearning theories for opportunistic group formation", inS.P.Lajoie and M.Vivet (eds), Artificial Intelligence inEducation, IOS Press, 1999.

[15] E. Desmontils and C. Jacquin, "Indexing a web site with aterminology oriented ontology", SWWS, 2001, pp.549-565.

[16] T. Joachims, D. Freitag and T. Mitchell, "Webwatcher: Atour guide for the world wide web", Proc. of the 15th Int.Joint Conf on Artificial Intelligence (IJCAI97), Nagoya,Japan, Aug 1997, pp. 770-775.

[17] J. Davies, A. Duke Y. Sure, "OntoShare - A knowledgemanagement environment for virtual communities ofpractice". Proc. of the Int. Conf on Knowledge Capture(K-CAP03), Sanibel Island, Florida, USA, 2003.

[18] A. Agostini et al., "Stimulating knowledge discovery andsharing", Proc of Int. ACM Conf on Supporting GroupWork, Sanibel, Florida, 2003, pp.248-257.

[1] J.L. Rezende, et al, "Building personal knowledge throughexchanging knowledge chains", Proc. of IADIS Int. Confon WBC, Algarve, Portugal, 2005, pp. 87-94.

[2] S. Pawlowski et al., "Supporting shared information systems:boundary objects, communities, and brokering", Proc. ofthe 21th Int. Conf on Information Systems, Brisbane,Australia, 2000, pp. 329-338.