Presentation is loading. Please wait.

Presentation is loading. Please wait.

AgentMatcher Search in Weighted, Tree-Structured Learning Object Metadata H. Boley, V.C. Bhavsar, D. Hirtle, A. Singh, Z. Sun and L. Yang National Research.

Similar presentations


Presentation on theme: "AgentMatcher Search in Weighted, Tree-Structured Learning Object Metadata H. Boley, V.C. Bhavsar, D. Hirtle, A. Singh, Z. Sun and L. Yang National Research."— Presentation transcript:

1 AgentMatcher Search in Weighted, Tree-Structured Learning Object Metadata H. Boley, V.C. Bhavsar, D. Hirtle, A. Singh, Z. Sun and L. Yang National Research Council and University of New Brunswick Learning Objects Summit Fredericton, NB, Canada, March 29-30, 2004

2 1 Outline AgentMatcher Overview User Interface Translator Similarity Engine LOM Generator Conclusion

3 2 AgentMatcher Overview AgentMatcher developed for –match-making between –buyer and seller agents Instantiated to –learners in search for –procurable learning objects (LOs) described by Learning Object Metadata (LOM)

4 3 Indexing Components Architecture Similarity Engine (Java) Translator (XSLT) CANLOM (XML) Prefilter (SQL) LOMGen (Java) LOR (HTML) End user Administrator user input prefilter parameters (Query URI) WOO RuleML file Recommended results HTML files partial CanCore files CanCore files prefiltered CanCore files WOO RuleML files DATABASE (Access) UI (Java) Keyword Table Administrator input (1) (2) (4) (5) (6) (7) (3) (8) (a) (b) (c) Search Results Components developed by TeleEd or a third party Dataflow between TeleEd and UNB/NRC Dataflow realized by UNB Dataflow realized by TeleEd Components developed by UNB/NRC Retrieval Components

5 4 AgentMatcher Components User Interface Generates prefilter parameters (Query URIs) Generates query trees Communicates between internal and external components Translator Transforms LOM from Prefilter to WOO RuleML

6 5 Similarity Engine Computes the similarity between query and LOM trees Presents ranked search results as HTML table LOMGen (Learning Object Metadata Generator) Semi-automatically extracts information from LOs (in HTML) Constructs keyword/key phrase database Posts to CANLOM Metadata Repository AgentMatcher Components (Cont’d)

7 6 Interacts between user and the advanced search components User Interface (ZhongWei Sun) Overview Similarity Engine (Java) Translator (XSLT) CANLOM (XML) Prefilter (SQL) LOMGen (Java) LOR (HTML) Administrator user input WOO RuleML file Recommended results HTML files partial CanCore files CanCore files prefiltered CanCore files WOO RuleML files DATABASE (Access) UI (Java) Keyword Table Administrator input Search Results prefilter parameters (Query URI) End user

8 7 User Interface Retrieves keywords from LOMGen database Allows convenient input of tree structured features as well as corresponding weights for them Generates a Weighted Object-Oriented RuleML document Sends prefiltering query to, and retrieves LOM response stream from, KnowledgeAgora Splits the returned response LOM document Invokes Translator and Similarity Engine — Actions

9 8 Overview of User Interface Features within the same CanCore schema category are grouped within one box “Don’t care” is in green to tell the user it will match arbitrary values Default values except for “Don’t care” are in red to remind the user of potential need for change The relative importance of each feature is entered via sliders from 0.0 to 1.0, summing up to 1.0

10 9 User Interaction User inputs tree structured features and assigns a weight to each of them This weight indicates the feature’s importance to the user relative to other features within the same category Weights can be entered with sliders, where all other weights of that group self-adjust to keep their sum at 1.0 User inputs a threshold as a cut-off line for the final result recommendation The learning objects with similarities above the threshold are considered as recommended

11 10 User Interface (Screenshot 1) cannot be changed, hence grayed out “database” (not visible here) and “Oracle” are chosen as Keywords

12 11 Corresponding Query Tree (1) 0.16665 generalclassification lom 0.16667 0.3 0.2 title language en Introduction to Oracle general-set taxonpath 1.0 taxon Applied Sciences, Technology classification-set taxon-set 1.0 keyword 0.5 keyword- set database 0.5  …  oracle 0.5 lexicographically ordered subtrees

13 12 kept empty since not standardized and not important to students non-CanCore element, hence not filled out User Interface (Screenshot 2)

14 13 Corresponding Query Tree (2) 0.16665 lifeCycle educational lom 0.16667 language contribute-set contribute lifeCycle- set learning Resource Type 0.0 context 0.1 educational-set intende dEndUs erRole 0.3 typicalAge Range 0.0 CourseLearner 0.6 … entity 18-25    1.0

15 14 User Interface (Screenshot 3) Threshold

16 15 Corresponding Query Tree (3) 0.16665 technicalrights lom 0.16667 format technical-set 0.8 copyrightAnd OtherRestrictions 0.2 rights-set descriptions … 0.6 0.4  YesHTML otherPlatform Requirements

17 16 —From User Interface Overall Query Tree classification lom 0.16667 taxonpath 1.0 taxon Applied Sciences, Technology classification-set taxon-set 1.0 0.16667 general 0.3 0.2 title language enIntroduction To Oracle general-set keyword 0.5 keyword-set database 0.5 0.16667 lifeCycle Contribute -set 1.0 educational 0.16667 language learning Resource Type 0.0 context 0.1 educational-set intende dEndUs erRole 0.3 typicalAge Range 0.0 courseLearner 0.6 18-25    lifeCycle-set contribute entity  0.16665 technicalrights 0.16667 format technical-set 0.6 copyrightAnd Other Restrictions 0.4 rights-set descriptions 0.8 0.2  otherPlatform Requirements  oracle 0.5 Yes HTML different weights

18 17 User Interface Outputs Query URI sent to Prefilter: http://www.knowledgeagora.com/unb_search/search_results.cfm?req uestTimeOut=300&query=database+oracle&selectedLanguageID= 1&selectedgranID=1&maxPrice=&UpperCategory=184&publisherQ uery=&selectedEduContext=&selectedCopyRightValue=Yes&selecte dSoftwareRequirements=&selectedTechFormat=HTML encodes “en” encodes “course” encodes “Applied Science, Technology” XML document sent to Similarity EngineXML document both tree structure and branch weights Threshold sent to Similarity Engine (0.7 is sent in this example)

19 18 Communicates between the internal components and the external KnowledgeAgora website Invokes both internal and external components User Interface Summary Enables convenient interaction between user and the internal components

20 19 Translator (David Hirtle) Similarity Engine (Java) Translator (XSLT) CANLOM (XML) Prefilter (SQL) LOMGen (Java) LOR (HTML) End user Administrator user input WOO RuleML file Recommended results HTML files partial CanCore files CanCore files prefiltered CanCore files WOO RuleML files DATABASE (Access) UI (Java) Keyword Table Administrator input Search Results prefilter parameters (Query URI) Overview

21 20 Translator Overview XSLT Stylesheet XSLT Processor Output file Input file CANLOM XML WOO RuleML Input: CANLOM XML (from Prefilter) Output: Weighted Object-Oriented RuleML (to Similarity Engine) Tool: Extensible Stylesheet Language Transformations (XSLT) Language for transforming XML to XML (W3C Rec) Similarity EnginePrefilter

22 21 Sample Translation lom... general_set... Introduction to Databases......... Introduction to Databases...... WOO RuleMLCANLOM XML

23 22 Translated Weighted LOM Tree classification lom 0.16667 taxonpath 1.0 taxon Applied Sciences, Technology classification-set taxon-set 1.0 0.16667 general 0.340.33 title language enIntroduction to Databases general-set keyword 0.33 keyword-set database 0.5 0.16667 lifeCycle Contribute -set 1.0 educational 0.16667 language learning ResourceTy pe 0.2 context 0.2 educational-set intende dEndUs erRole 0.2 typicalAge Range 0.2 courseLearner 0.2 18-25   lifeCycle-set contribute entity  0.16665 technicalrights 0.16667 format technical-set 0.5 copyrightAnd Other Restrictions 0.5 rights-set descriptions 0.5  otherPlatform Requirements database administration 0.5   Yes HTML same weights Different weights possible in LOM Tree, like in Query Tree

24 23 Translator Summary Uses XSLT engine embedded in main program Transforms CANLOM XML returned from Prefilter into WOO RuleML Resulting WOO RuleML then used by Similarity Engine

25 24 Computes similarity between query and LOM trees Displays ranking search results in a browser Similarity Engine (Lu Yang) Overview Similarity Engine (Java) Translator (XSLT) CANLOM (XML) Prefilter (SQL) LOMGen (Java) LOR (HTML) End user Administrator user input WOO RuleML file Recommended results HTML files partial CanCore files CanCore files prefiltered CanCore files WOO RuleML files DATABASE (Access) UI (Java) Keyword Table Administrator input Search Results prefilter parameters (Query URI)

26 25 Similarity Engine Inputs Similarity Engine LOM 1 Query Prefiltered LOMs: Query from User Interface: LOM 2 LOM n

27 26 Tree representations Arcs at the same level of a (sub)tree are in lexicographic order For linear left-to-right traversal Arc weights at the same level of a (sub)tree add up to 1.0 No limit on tree breadth and depth Don’t care nodes allowed Similarity Engine Tree Similarity Algorithm Tree similarity algorithm [1,2] Similarity values fall into [0.0,1.0] Top-down tree traversal Bottom-up value propagation

28 27 0.9876 Similarity Engine Similarity Computation (example) 0.3 general classification lom 0.1 0.7 0.2 title language en Introduction to Oracle general- set taxonpath 1.0 taxon Applied Sciences, Technology classification- set taxon-set 1.0 keyword 0.1 keyword- set oracle 1.0  … 0.16665 generalclassification lom 0.16667 0.5 title Introduction to Oracle general-set taxonpath 1.0 taxon Applied Sciences, Technology classification-set taxon-set 1.0 keyword 0.5 keyword-set oracle 1.0  A Query Tree (user.xml) A LOM Tree (WOORuleML2.xml) …

29 28 Similarity Engine Results (low threshold)

30 29 Similarity Engine Results (high threshold)

31 30 The core of Similarity Engine Tree similarity algorithm Threshold for cut-off Ranking and HTML output of LOMs and LOs Similarity Engine Summary Functionality of Similarity Engine: Similarity computation Ranked result display

32 31 Similarity Engine Reference [1] Bhavsar, V.C., H. Boley, L. Yang, “A Weighted-Tree Similarity Algorithm for Multi-Agent Systems in E-Business Environments”, In Proceedings of 2003 Workshop on Business Agents and the Semantic Web, Halifax, June 14, 2003, National Research Council of Canada, Institute for Information Technology, Fredericton, pp. 53-72, 2003. To appear in Computational Intelligence, November 2004.

33 32 LOM Generation (Anurag Singh) Similarity Engine (Java) Translator (XSLT) CANLOM (XML) Prefilter (SQL) LOMGen (Java) LOR (HTML) End user Administrator user input WOO RuleML file Recommended results HTML files partial CanCore files CanCore files prefiltered CanCore files WOO RuleML files DATABASE (Access) UI (Java) Keyword Table Administrator input Search Results prefilter parameters (Query URI) LOMGen Overview

34 33 LOMGen Extracts keywords and keyphrases from an HTML document Derives a dictionary of “surface terms” and “deep terms” from Free Online Dictionary of Computing (FOLDOC) Provides a GUI for metadata administrator Makes up-to-date list of keyphrases and keywords available to the AgentMatcher UI Makes similarity computation more accurate Automates metadata (XML) posting to LOM repository Functionality

35 34 LOMGen The keywords and keyphrases extracted from the HTML file are presented to the metadata administrator The administrator can select and add any additional terms they find are important The administrator is also prompted to select a category for the LO Administrator GUI

36 35 LOMGen LOs analyzed for LOM content: –Meta tags title, description, keywords of HTML head turned out to be directly usable for dictionary –Shallow parsing of natural language HTML body further processed interactively with the user Dual use of LOMGen: –AgentMatcher UI keywords –KnowledgeAgora metadata repository Summary

37 36 AgentMatcher Conclusion UI to input LO search features structured as LOM-like trees with relative branch weights LOs prefiltered from CANLOM repository, then translated for use by Similarity Engine Similarity Engine computes similarity between query and prefiltered results using weighted tree similarity algorithm LOs ranked and displayed to user in HTML LOMGen generates metadata from a Learning Object Repository and posts them to the CANLOM database Demo’s next, as time permits


Download ppt "AgentMatcher Search in Weighted, Tree-Structured Learning Object Metadata H. Boley, V.C. Bhavsar, D. Hirtle, A. Singh, Z. Sun and L. Yang National Research."

Similar presentations


Ads by Google