SYMPOSIUM ON BIAS AND DIVERSITY IN IRA TESTBED FOR DIVERSIFICATON IN SEARCH<br />Koblenz, August 31, 2011<br />Michael Mat...
OVERVIEW<br />Introduction to LivingKnowledge Testbed – The Diversity Engine<br />Getting started – Our first application!...
DIVERSITY ENGINE<br />Provide collections, annotation tools and an evaluation framework to allow for collaborative and com...
ARCHITECTURE<br />Document<br />Collections<br />Analysis<br />Pipeline<br />Index/<br />Search<br />Application<br />Deve...
 DESIGN DECISIONS<br />Use Open Source tools when available<br />Programming Language - Java 1.6<br />Data format – LK XML...
LK-XML format.<br />
 DOCUMENT COLLECTIONS<br />Supported Formats -ARC (Internet Memory Crawls) ,Text, HTML. Kyoto, BBN, NYT<br />Collections<b...
 ANALYSIS MODULES<br />8<br />
 INDEXING/SEARCH<br />Solr<br />Enterprise search platform built on top of Lucene<br />Xml input and output allows for eas...
 APPLICATION DEVELOPMENT<br /><ul><li>Basis for LivingKnowledge Applications
Future Predictor
Media Content Analysis
Support development – coding required!
Real World Problems
HTML Extraction
Scaling to Large Collections
Provenance
Some pluggable GUI components
Examples to ease learning curve</li></ul>10<br />
 APPLICATION DEVELOPMENT<br />11<br />
 APPLICATION DEVELOPMENT<br />12<br />
EVALUATION FRAMEWORK<br /><ul><li>Framework for the evaluation of analysis tools
Evaluates any possible annotation pipeline
Measures correctness and quality
Outputs Precision + Recall
Compares annotation output of pipeline with ground truth data</li></ul>13<br />
 OUR FIRST APPLICATION<br />Download Diversity Engine release from SourceForge <br />tar xzvf [release file]<br />cd testb...
 EXAMPLE SOLR OUTPUT<br />http://localhost:8983/solr/select/?q=putin<br />15<br />
 EXAMPLE APPLICATION<br />http://localhost:8983/testbed/results.jsp?query=putin<br />16<br />
 EXAMPLE DOCUMENT<br />17<br />
 CONFIGURATION FILE<br /><lk-applicationlogDir="log"appDir="devapps/example"><br />	<corpusdir="corpora/examples/smallarc"...
 TEXT ANALYSIS<br />	<pipeline><br />		<annotators><br />			<annotatorexec="./opennlp"/><br />			<annotatorexec="./sst"/><...
 TEXT ANALYSIS - FACTS<br />devapps/example/data/lkxml/EA-EUElections2009-euobserver-0729-20090729085530-00000.arc.1552171...
 TEXT ANALYSIS - FACTS<br />devapps/example/data/html/EA-EUElections2009-euobserver-0729-20090729085530-00000.arc.15521713...
 IMAGE ANALYSIS<br />	<image-pipeline><br />		<annotators><br />			<annotatorexec="./soton_haarfacedetector"/><br />		</an...
 ANALYSIS API<br />Documents in LK XML format <br />Annotators passed a single document directory –They should add annotat...
 ANALYSIS API – JAVA<br />Extend class org.diversityengine.annotator.AbstractAnnotator<br />Implement Methods<br />getName...
EVALUATION<br />Evaluation works with same configuration file. Simply add evaluation element<br /><lk-applicationlogDir="l...
EVALUATION RESULTS<br /><evaluationgoldDir="/home/mikemat/code/livingknowledge/WP6/testbed/corpora/evaluation/sst/gold/"lk...
 INDEXING AND SEARCH<br />Search Engines - Traditional<br />Bag-of-words representation<br />Inverted index (words -> docu...
 APACHE LUCENE/SOLR<br />Lucene/Solr<br />28<br />
 FACETED SEARCH<br />Diagram by Yonik Seeley<br />29<br />
FACETED SEACH<br /><ul><li>Summarize query results aggregation properties of returned pages
price ranges for product query
related people or locations for news query
Exploratory Search
Show documents that matching the query term and a selected facet
Make inferences not clear from simple document list
Living Knowledge Analysis is modeled very well by facets
Topics as determined by entity and fact extraction
Location and Time diversity dimensions
Opinions as determined by opinion extraction</li></ul>30<br />
LK XML TO SOLR<br /><ul><li>Solr has well defined XML input format for adding new documents
Upcoming SlideShare
Loading in...5
×

ESSIR LivingKnowledge DiversityEngine tutorial

719

Published on

Mike's testbed tutorial

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
719
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ESSIR LivingKnowledge DiversityEngine tutorial

  1. 1. SYMPOSIUM ON BIAS AND DIVERSITY IN IRA TESTBED FOR DIVERSIFICATON IN SEARCH<br />Koblenz, August 31, 2011<br />Michael Matthews, Barcelona Media/Yahoo! Research<br />1<br />
  2. 2. OVERVIEW<br />Introduction to LivingKnowledge Testbed – The Diversity Engine<br />Getting started – Our first application!<br />Adding text analysis<br />Adding multimedia analysis<br />Evaluation<br />Indexing and search<br />Developing applications<br />Future work<br />2<br />
  3. 3. DIVERSITY ENGINE<br />Provide collections, annotation tools and an evaluation framework to allow for collaborative and comparable research<br />Supports indexing and searching on a wide variety of document annotations including entities, bias, trust, polarity, and multimedia features <br />Support development of bias and diversity aware applications<br />
  4. 4. ARCHITECTURE<br />Document<br />Collections<br />Analysis<br />Pipeline<br />Index/<br />Search<br />Application<br />Development<br />NYT<br />Yahoo! News<br />ARC Crawls<br />Evaluation Framework<br />
  5. 5. DESIGN DECISIONS<br />Use Open Source tools when available<br />Programming Language - Java 1.6<br />Data format – LK XML<br />Analysis tools Operating System – Linux (any software language)<br />Indexing/Search - Solr<br />GUI – JSP, HTML, JavaScript, CSS<br />5<br />
  6. 6. LK-XML format.<br />
  7. 7. DOCUMENT COLLECTIONS<br />Supported Formats -ARC (Internet Memory Crawls) ,Text, HTML. Kyoto, BBN, NYT<br />Collections<br />Testing Examples included with Diversity Engine<br />Large ARCs available from Internet Memory<br />Converters provided for other collections (MPQA, BBN, NYT) that have licensing restrictions<br />7<br />
  8. 8. ANALYSIS MODULES<br />8<br />
  9. 9. INDEXING/SEARCH<br />Solr<br />Enterprise search platform built on top of Lucene<br />Xml input and output allows for easy integration with Diversity Engine<br />Plug-in framework allows customization<br />Built-in facet capabilities support indexing and searching on annotations<br />Integration<br />Converter from LK XML – Solr XML<br />Plug-in for facet ranking and speed improvements<br />9<br />
  10. 10. APPLICATION DEVELOPMENT<br /><ul><li>Basis for LivingKnowledge Applications
  11. 11. Future Predictor
  12. 12. Media Content Analysis
  13. 13. Support development – coding required!
  14. 14. Real World Problems
  15. 15. HTML Extraction
  16. 16. Scaling to Large Collections
  17. 17. Provenance
  18. 18. Some pluggable GUI components
  19. 19. Examples to ease learning curve</li></ul>10<br />
  20. 20. APPLICATION DEVELOPMENT<br />11<br />
  21. 21. APPLICATION DEVELOPMENT<br />12<br />
  22. 22. EVALUATION FRAMEWORK<br /><ul><li>Framework for the evaluation of analysis tools
  23. 23. Evaluates any possible annotation pipeline
  24. 24. Measures correctness and quality
  25. 25. Outputs Precision + Recall
  26. 26. Compares annotation output of pipeline with ground truth data</li></ul>13<br />
  27. 27. OUR FIRST APPLICATION<br />Download Diversity Engine release from SourceForge <br />tar xzvf [release file]<br />cd testbed<br />ant build<br />apps/testbed conf/testbed/tutorial-application.xml<br />What happened?<br />197 text files and 127 images files converted from arc format to LK XML and stored in devapps/example/data/lkxml<br />2 annotators were run over collection<br />OpenNLP for tokenization, sentence splitting, Pos tags<br />SST named entity recognizer<br />Results stored in devapps/example/data/lkxml<br />Files were converted to Solr xml format and indexed using solr<br />Solr XML stored to devapps/example/data/solr<br />HTML Visualization Files stored in devapps/example/data/html<br />ant deploy-testbed<br />Solr running at http://localthost:8983/solr/<br />Example app running at http://localhost:8983/testbed/<br />14<br />
  28. 28. EXAMPLE SOLR OUTPUT<br />http://localhost:8983/solr/select/?q=putin<br />15<br />
  29. 29. EXAMPLE APPLICATION<br />http://localhost:8983/testbed/results.jsp?query=putin<br />16<br />
  30. 30. EXAMPLE DOCUMENT<br />17<br />
  31. 31. CONFIGURATION FILE<br /><lk-applicationlogDir="log"appDir="devapps/example"><br /> <corpusdir="corpora/examples/smallarc"format="arc"/><br /> <image-pipeline><br /> <annotators><br /> </annotators><br /> </image-pipeline><br /> <pipeline><br /> <annotators><br /> <annotatorexec="./opennlp"/><br /> <annotatorexec="./sst"/><br /> </annotators><br /> </pipeline><br /> <visualize/><br /> <indexersolrHomeDir="solr/solr“<br /> solrDataDir="solr/solr/data“<br /> converter="conf/testbed/tutorial-lk2solr.xml"/><br /> <searcherappTitle="LivingKnowledge - Example Application"<br />appShortTitle="Example Application"<br />appUrl="http://localhost:8983/solr/"><br /> <facets><br /> <facetfield="per"description="Person"/><br /> <facetfield="loc"description="Location"/><br /> </facets><br /> </searcher><br /></lk-application><br />18<br />
  32. 32. TEXT ANALYSIS<br /> <pipeline><br /> <annotators><br /> <annotatorexec="./opennlp"/><br /> <annotatorexec="./sst"/><br /> </annotators><br /> </pipeline><br /> <pipeline><br /> <annotators><br /> <annotatorexec="./opennlp"/><br /> <annotatorexec="./sst"/><br /> <annotatorexec="./facts"/><br /> <annotatorexec="./unitn_tagger"/><br /> <annotatorexec="./unitn_subjexpr"/><br /> </annotators><br /> </pipeline><br />apps/testbed –run pipeline conf/testbed/tutorial-application.xml<br />apps/testbed –run visualization conf/testbed/tutorial-application.xml<br />19<br />
  33. 33. TEXT ANALYSIS - FACTS<br />devapps/example/data/lkxml/EA-EUElections2009-euobserver-0729-20090729085530-00000.arc.15521713.facts.xml<br />20<br />
  34. 34. TEXT ANALYSIS - FACTS<br />devapps/example/data/html/EA-EUElections2009-euobserver-0729-20090729085530-00000.arc.15521713.html<br />21<br />
  35. 35. IMAGE ANALYSIS<br /> <image-pipeline><br /> <annotators><br /> <annotatorexec="./soton_haarfacedetector"/><br /> </annotators><br /> </pipeline><br /> <pipeline><br /> <annotators><br /> <annotatorexec="./opennlp"/><br /> <annotatorexec="./sst"/><br /> <annotatorexec="./facts"/><br /> <annotatorexec="./unitn_tagger"/><br /> <annotatorexec="./unitn_subjexpr"/><br /> <annotatorexec="./imageannots"/><br /> </annotators><br /> </pipeline><br />apps/testbed –run pipeline,image-pipeline –pipeline imageannotsconf/testbed/tutorial-application.xml<br />ls devapps/example/data/lkxml/img/*<br />22<br />
  36. 36. ANALYSIS API<br />Documents in LK XML format <br />Annotators passed a single document directory –They should add annotations for each document in directory<br />Files will have consistent naming convention<br />LkText file = id + “.lktext.xml”<br />LkMedia = id + “.lkmedia.xml”<br />LkAnnotation = id + “.” + annotatorId + “.xml”<br />Annotators will be processed sequentially in the order listed in the XML file<br />Annotators can be written in any language but must run on Linux – Helper classes will exist for Java, but there is no obligation to use them.<br />Add application calling your new annotator to apps directory<br />Add your application to the configuration file as before<br />23<br />
  37. 37. ANALYSIS API – JAVA<br />Extend class org.diversityengine.annotator.AbstractAnnotator<br />Implement Methods<br />getName()<br />getType() - TEXT OR IMAGE<br />For Image Analysis implement<br />LkAnnotation getLkAnnotation(ImageDocument document)<br />For Text Analysis implement<br />LkAnnotation getLkAnnotation(TextDocument document)<br />In main, instantiate and call annotator<br />NewAnnotator annotator = new NewAnnotator()<br />annotator.processDirectory(args[0]);<br />Add application calling your new annotator to apps directory<br />Add your application to the configuration file as before<br />24<br />
  38. 38. EVALUATION<br />Evaluation works with same configuration file. Simply add evaluation element<br /><lk-applicationlogDir="log"appDir="devapps/evaluation"><br /> <corpusdir="corpora/evaluation/sst/text/"format="bbn"/><br /> <pipeline><br /> <annotators><br /> <annotatorexec="./sst"/><br /> </annotators><br /> </pipeline><br /> <evaluationevalDir="evaluation/sst/"><br /> <evaluatorprovides="ENTITIES"<br />goldDir="corpora/evaluation/sst/gold/"<br />goldAnnotator="sstgold"<br />annotator="sst" /><br /> </evaluation><br /></lk-application><br />apps/testbed conf/evaluation/sst.xml<br />25<br />
  39. 39. EVALUATION RESULTS<br /><evaluationgoldDir="/home/mikemat/code/livingknowledge/WP6/testbed/corpora/evaluation/sst/gold/"lkDir="/home/mikemat/code/livingknowledge/WP6/testbed/devapps/evaluation/data/lkxml"annotation="sst"goldAnnotation="sstgold"provides="ENTITIES"><br /><docs><br /><docid="WSJ0375"N="19"tp="18"fp="1"fn="1" /><br /><docid="WSJ0380"N="19"tp="15"fp="4"fn="1" /><br /><docid="WSJ0376"N="72"tp="61"fp="11"fn="7" /><br /><docid="WSJ0377"N="26"tp="17"fp="9"fn="6" /><br /><docid="WSJ0378"N="10"tp="10"fp="0"fn="0" /><br /><docid="WSJ0379"N="24"tp="19"fp="5"fn="2" /><br /></docs><br /><totalsN="170"tp="140"fp="30"fn="17"p="0.8235294117647058"r="0.89171974522293"f="0.8562691131498471" /><br /></evaluation><br />cat evaluation/sst/sst.ENTITIES.xml<br />26<br />
  40. 40. INDEXING AND SEARCH<br />Search Engines - Traditional<br />Bag-of-words representation<br />Inverted index (words -> documents) for efficiency<br />10 docs ranked according tf-idf similarity with query<br />Search Engines – Today<br />Much metadata associated with documents<br />Ranking based on 100s of features (date, location, pagerank, click data, etc, personalization)<br />Richer display<br />Facets for exploratory search<br />Answers when appropriate<br />etc..<br />Many open source options - Lucene/Solr most widely used<br />27<br />
  41. 41. APACHE LUCENE/SOLR<br />Lucene/Solr<br />28<br />
  42. 42. FACETED SEARCH<br />Diagram by Yonik Seeley<br />29<br />
  43. 43. FACETED SEACH<br /><ul><li>Summarize query results aggregation properties of returned pages
  44. 44. price ranges for product query
  45. 45. related people or locations for news query
  46. 46. Exploratory Search
  47. 47. Show documents that matching the query term and a selected facet
  48. 48. Make inferences not clear from simple document list
  49. 49. Living Knowledge Analysis is modeled very well by facets
  50. 50. Topics as determined by entity and fact extraction
  51. 51. Location and Time diversity dimensions
  52. 52. Opinions as determined by opinion extraction</li></ul>30<br />
  53. 53. LK XML TO SOLR<br /><ul><li>Solr has well defined XML input format for adding new documents
  54. 54. Diversity Engine provides a simple language to map LX XML to Solr XML</li></ul>31<br />
  55. 55. LK2SOLR CONVERSION<br /> <indexersolrHomeDir="solr/solr“<br /> solrDataDir="solr/solr/data“<br /> converter="conf/testbed/tutorial-lk2solr.xml"/><br /><lktosolr><br /> <fieldsolr="per"annotation="ENTITIES_CLEAN"value="$text“<br />filter="org.diversityengine.solr.converter.filters.PerValueFilter"/><br /> <fieldsolr="loc"annotation="ENTITIES_CLEAN"value="$text“<br /> filter="org.diversityengine.solr.converter.filters.LocValueFilter"/><br /> <fieldsolr="keywords"annotation="TOP_ENTITIES"value="$text" /><br /> <fieldsolr="pubdate"annotation="metainfo:lktext"value="date“<br /> type="date"/><br /></lktosolr><br />solr – Name of the field in solr<br />annotation – Name of the LKXML Annotation<br />value – Value of annotation<br />filter – Allows post processing on annotation<br />type – Only Date supported currently<br />32<br />
  56. 56. ADDING FACTS TO INDEX<br /><lktosolr><br /> <fieldsolr="per"annotation="ENTITIES_CLEAN"value="$text“<br />filter="org.diversityengine.solr.converter.filters.PerValueFilter"/><br /> <fieldsolr="loc"annotation="ENTITIES_CLEAN"value="$text“<br /> filter="org.diversityengine.solr.converter.filters.LocValueFilter"/><br /> <fieldsolr="keywords"annotation="TOP_ENTITIES"value="$text" /><br /> <fieldsolr="pubdate"annotation="metainfo:lktext"value="date“<br /> type="date"/><br /> <fieldsolr="yago"annotation="yago-entities"value="$text" /><br /> <fieldsolr="yago-country"annotation="facts"<br /> value="xpath:/entity-information[facts/type/text()=<br /> 'wordnet_country_108544813']/id/text()" /><br /></lktosolr><br />apps/testbed –run convert-solr conf/testbed/tutorial-application.xml<br />ls devapps/example/data/solr/*<br />apps/testbed –run index conf/testbed/tutorial-application.xml<br />33<br />
  57. 57. FACTS TO SOLR<br /> <fieldsolr="yago"annotation="yago-entities"value="$text" /><br />34<br />
  58. 58. FACTS TO SOLR<br /> <fieldsolr="yago-country"annotation="facts"<br /> value="xpath:/entity-information[facts/type/text()=<br /> 'wordnet_country_108544813']/id/text()" /><br />35<br />
  59. 59. ADDING IMAGES TO INDEX<br /><lktosolr><br /> <fieldsolr="per"annotation="ENTITIES_CLEAN"value="$text“<br /> filter="org.diversityengine.solr.converter.filters.PerValueFilter"/><br /> <fieldsolr="loc"annotation="ENTITIES_CLEAN"value="$text“<br /> filter="org.diversityengine.solr.converter.filters.LocValueFilter"/><br /> <fieldsolr="keywords"annotation="TOP_ENTITIES"value="$text" /><br /> <fieldsolr="yago"annotation="yago-entities"value="$text" /><br /> <fieldsolr="yago-country"annotation="facts"<br />value="xpath:/entityinformation[facts/type/text()<br /> ='wordnet_country_108544813']/id/text()" /><br /> <fieldsolr="pubdate"annotation="metainfo:lktext"value="date“<br />type="date"/><br /> <fieldsolr="image"annotation="IMAGE_ANNOTS"value="$text" /><br /> <fieldsolr="bestimage"annotation="BEST_IMAGES"value="$text" /><br /></lktosolr><br />apps/testbed –run convert-solr conf/testbed/tutorial-application.xml<br />ls devapps/example/data/solr/*<br />apps/testbed –run index conf/testbed/tutorial-application.xml<br />36<br />
  60. 60. APPLICATION DEVELOPMENT<br />Examples<br />HTML Extraction<br />Scaling to Large Collections<br />Provenance<br />Some pluggable GUI components<br />37<br />
  61. 61. FACT/IMAGE APPLICATION<br /> <searcherappTitle="LivingKnowledge - Example Application"<br />appShortTitle="Example Application"<br />appUrl="http://localhost:8983/solr/"><br /> <facets><br /><facetfield=“yago"description=“Yago"/> <facetfield=“yago-country"description=“Country"/><br /> <facetfield="per"description="Person"/><br /> <facetfield="loc"description="Location"/> <facetfield=“image"description=“Images"/> </facets><br /> </searcher><br />ant deploy-testbed<br />38<br />
  62. 62. FACT/IMAGE APPLICATION<br />http://localhost:8983/testbed/results.jsp?query=putin<br />39<br />
  63. 63. OPINION APPLICATION<br />Opinions are at sentence level, not document level – same analysis, but different indexing<br />cat conf/testbed/tutorial-lk2solr-sentence.xml<br /><lktosolrsolrDoc="SENTENCES"contextSize="1"><br /> <fieldsolr="per"annotation="ENTITIES_CLEAN"value="$text“<br /> filter="org.diversityengine.solr.converter.filters.PerValueFilter“ source="solrdoc" /><br /> <fieldsolr="loc"annotation="ENTITIES_CLEAN"value="$text“<br /> filter="org.diversityengine.solr.converter.filters.LocValueFilter“<br /> source="solrdoc" /><br /> <fieldsolr="keywords"annotation="TOP_ENTITIES"value="$text" /><br /> <fieldsolr="yago"annotation="yago-entities"value="$text“<br /> source="solrdoc" /><br /> <fieldsolr="image"annotation="IMAGE_ANNOTS"value="$text" /><br /> <fieldsolr="bestimage"annotation="BEST_IMAGES"value="$text" /><br /> <fieldsolr="pubdate"annotation="metainfo:lktext"value="date“<br /> type="date"/><br /> <fieldsolr="polarity"<br />annotation="MPQA-expressive-subjectivity,MPQA-direct-subjective“<br /> value="xpath:/node()[@pol]/@pol"source="solrdoc“<br /> filter="org.diversityengine.solr.converter.filters.PolarityValueFilter"/><br /> <fieldsolr="pol-int“<br /> annotation="MPQA-expressive-subjectivity,MPQA-direct-subjective“<br /> value="xpath:concat(/node()[@pol and @int]/@pol,/node()[@int and @pol]/@int)“<br /> source="solrdoc"/><br /></lktosolr><br />apps/testbed –run convert-solr,index <br /> conf/testbed/tutorial-application-sentence.xml<br />ls devapps/example/data/solr/*<br />40<br />
  64. 64. SOLR XML – SENTENCE<br />41<br />
  65. 65. OPINION APPLICATION<br />modify webappWEB-INFweb.xml<br /><web-appxmlns="http://java.sun.com/xml/ns/javaee"<br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"<br />version="2.5"><br /><description><br /> LivingKnowledge Testbed Example Application<br /></description><br /><display-name>Testbed Examples</display-name><br /> <context-param><br /> <param-name>applicationDef</param-name><br /><param-value>conf/testbed/tutorial-application-sentence.xml</param-value><br /> <description>The Living Knowledge application description XML file </description><br /></context-param><br /></web-app><br />ant deploy-testbed<br />42<br />
  66. 66. OPINION APPLICATION<br />http://localhost:8983/testbed/results.jsp?query=putin<br />43<br />
  67. 67. HTML EXTRACTION<br />44<br />
  68. 68. HTML EXTRACTION<br />Boilerplate can lead to false positive results and inaccurate facet aggregation<br />Real example – before extraction developed, most common person for most queries was in a top story title (on all pages) the day of the crawl!<br />Titles, Authors and Dates are important for bias and diversity aware search<br />45<br />
  69. 69. PROVENANCE<br />How an annotation is derived is often as important as the annotation itself<br />Users want to verify results<br />Developers need to validate results<br />Open Provenance provides an open source solution<br />Testbed annotations can be extended with Open Provenance chains<br />46<br />
  70. 70. Provenance Diagram<br />47<br />
  71. 71. SCALING TO LARGE COLLECTIONS<br />In the real world, even “small” datasets have million of documents<br />NLP/Image processing is expensive – 1 doc/sec = 11 days for 1 million docs!<br />Hadoop Mapper allows for scaling – scales linearly with number of machines<br />ZipCollection writer allows partitioning data into subsets for processing<br />48<br />
  72. 72. COMPONENTS- OPINIONS<br />49<br />
  73. 73. COMPONENTS - TIME<br />50<br />
  74. 74. COMPONENTS - GEO<br />51<br />
  75. 75. FUTURE WORK<br />More components <br />Maven to manage dependencies<br />Better integration of Timeline and Geo visualization components<br />Integration of ranking algorithms<br />Better Documentation <br />52<br />
  76. 76. Thanks!<br />LivingKnowledge Partners!<br />You for coming!!<br />Questions?<br />53<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×