SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Towards Building a Global Oracle:
A Physical Mashup using Artificial
    Intelligence Technology


 Carolina Fortuna, Blaz Fortuna, Matevz Vucnik,
     Klemen Kenda, Alexandra Moraru and
                 Dunja Mladenic
              http://sensorlab.ijs.si/
               http://sensors.ijs.si/

        Web of Things Workshop, June 19, 2012.
Outline
• The big picture
• System architecture
• System Implementation
  • Sensor Data Acquisition
  • SenseStream
  • The Videk mash-up server
  • Videk API and GUI
• External data sources
  • ResearchCyc
  • Web Services
• Conclusions
The big picture




    Analogy between humans and WoT
The big picture – AI technologies for
physical mash-ups




• WoT mashups can take and use the data at any of these
 stages.
System architecture




• Mashup server containing a stream storing and
  processing engine
• Sensor data
• External web services
• GUI/API
System implementation
 Integrating in
the ecosystem                Stream
                           processing




           Physical data
            acquisition        Contextualization
Sensor data acquisition




    Device Identification Protocol (DIP) sequence diagram
SenseStream




• stream mining and event detection engine
• The central part of the system
   • Data Layer and
   • Mining Algorithms
SenseStream data layer schema
Current State & Aggregates
                                   Calculate on-line (update with
•   CurrentState is partly         last measurement)
    stand-alone object             • Count
    (configuration),               • Average
•   partly included (distributed   • Sum
    within) in Sensor store        • Min
                                   • Max
    records.
                                   • Standard deviation*
•   Stores current aggregates
    – state of the system          Calculate directly on the series
•   Saves aggregates to the        • Median
    aggregate store after          • 1st Quartile
    transition into a new time     • 3rd Quartile
    window
Aggregates
                                     <?xml version="1.0" encoding="utf-8"?>
Primary aggregates                   <configuration>
                                       <timespans>
                                         <timespan id="1" timewindow="3600" />
Calculated from raw                      <timespan id="2" pid="1" timewindow="24" interval="1"/>
                                         <timespan id="3" pid="2" timewindow="7" interval="1"/>
measurements, fine grained.              <timespan id="3" pid="2" timewindow="30" interval="1"/>
                                         <timespan id="4" pid="2" timewindow="365" interval="1"/>
                                       </timespans>
                                       <aggregates>
                                         <aggregate type="MAX"/>
                                         <aggregate type="MIN">

Secondary aggregates                       <timespan id="1" timewindow="3600">
                                           <timespan id="2" pid="1" timewindow="48" interval="24"/>
                                         </aggregate>

Calculated from other aggregates         <aggregate type="AVG"/>
                                         <aggregate type="SUM"/>
                                         <aggregate type="STD"/>
(only possible to use with on-line       <aggregate type="MED"/>
                                         <aggregate type="1QU"/>
type).                                   <aggregate type="3QU"/>
                                         <aggregate type="CNT"/>
                                       </aggregates>
                                       <sensortypes>
                                         <sensortype id="1">
Configure time spans, aggregate            <aggregate type="MAX"/>
                                           <aggregate type="SUM"/>
types, aggregates for certain            </sensortype>
                                       </sensortypes>

sensor types, aggregates for           <sensors>
                                         <sensor id="1">
                                           <aggregate type="MAX"/>
certain sensor.                            <aggregate type="SUM"/>
                                         </sensor>
                                       </sensors>
                                     </configuration>
Time windows & intervals
                                            <timespan id="1" timewindow="3600" />
•   Time windows of aggregates can
    overlap                                 <timespan id="2" pid="1"
                                             timewindow="24" interval="1"/>
•   Overlapping interval is set in
    configuration file (interval)           <timespan id="3" pid="2"
                                             timewindow="7" interval="1"/>
•   For example:
        •   Weekly aggregates can be
            calculated from Monday to                               Overlap/update
            Monday, from Tuesday to         7-day time              interval is 1 day
                                            window
            Tuesday, etc.




    M       T       W      T       F    S      S         M      T          W            time
Event Detection
•   Easy and fast detection of     Fog forming example
                                   If
    events on current state data       (humidity[AVG,1h] < 90%) &
    (very simple rules)                (humidity[AVG,10m] > 95%)
                                   Then
                                       trigger fog forming risk event.
•   Simple validation of more
    complex event queries (using   Road Icing example
    current state and previous     If
                                       (precipitation[SUM,12h,6h ago] > X) &
    aggregates)                        (temparature[MAX,12h,6h ago] > 0) &
                                       (temperature[MIN, 6h]) < 0)
                                   Then
•   Time can be handled with           trigger road icing risk event.

    ease ...                       Time example
                                   If
                                       (temperature[AVG,1w,3d ago] <-5) &
                                       (temperature[AVG,24h,2d ago] < 5) &
                                       (temperature[AVG,24h,1d ago] < 5) &
                                   Then
                                       trigger lake still frozen event.
Rule generation and export
<And> <Atom>
  <op> <Rel iri="cyc:sensorObservation"/> </op>
  <Var> sensor </Var>
  <Ind iri="cyc:Raindrop"/> </Atom>
<Atom>
  <op> <Rel iri="cyc:doneBy"/> </op>
  <Var> sensor </Var>
  <Var> measurement </Var> </Atom>
<Atom>
  <op> <Rel iri="cyc:measurementResult"/>
</op>
  <Var> measurement </Var>
  <Var> val1 </Var> </Atom>
<Atom>
  <op> <Rel iri="cyc:duration"/> </op>
  <Var> measurement </Var>
               <Ind
type="xs:time">24:00:00</Ind> </Atom>
<Atom>
  <op> <Rel iri="cyc:greaterThan"/> </op>
  <Var> val1 </Var>
  <Ind type="xs:float">250</Ind>
</Atom> </And>
The Videk mash-up server
• acts as a glue between different components and services
  used
• it interfaces with sensors receiving data from these
• parses and multiplexes the data
  • to the back-up database,
  • to SenseStream,
  • to ResearchCyc,
  • to the triple store.
• it exposes the API to be used by external applications
• provides a GUI with widgets which mashes up the data
 and resulting knowledge
Videk API
• http://sensors.ijs.si/xml/current-state the XML structured
  answer includes:
• nodes
  • records (int) - number of nodes
  • node
    •   id (int) - internal id of the node
    •   name (string) - identifier of the node
    •   latitude (double) - latitude of the node
    •   longitude (double) - longitude of the node
    •   sensor
        •   id (int) - internal id of the sensor
        •   sensortypeid (int) - internal id of the type of the sensor
        •   featureofmeasurement (string) - human readable feature of measurement
        •   unitofmeasurement (string) - human readable unit of measurement
        •   lastmeasurement (double) - value of the last measurement from the sensor
        •   measurementtime (time) - MySQL fromatted timestamp of the measurement
Videk GUI




            http://sensors.ijs.si/
External data sources
• Research Cyc for structured knowledge representation
  and reasoning
• Open web services for additional context collection
  • Based on the sensor nodes’ GPS coordinates, Google maps are
    used as the GUI’s background and the right focus on the
    deployment locations is presented.
  • Based on the GPS coordinates, the Geonames service is used to
    retrieve the name of the place where the sensors are deployed and
    relevant information from Wikipedia.
  • Finally, the Panoramio service is invoked to retrieve and render
    pictures of the surrounding area.
ResearchCyc
• the research release of Cyc, an artificial intelligence system
   • comprised of a knowledge base and a reasoning engine
• the idea behind it is to encode knowledge in a structured way
 and reason about it similar to the way the human mind does it.
  • each of us learns the concept of a tree, branch, leaf and fruit.
  • we learn relationships between these concepts: that a tree has
    branches, on a branch grow leaves and fruit.
  • we are able to recognize instances of these: this apple tree, this apple,
    this apple leaf.
• This knowledge builds up in our brains over years and makes it
 possible to understand, communicate and reason.
ResearchCyc



              • We inserted the
                collected meta-data in
                the KB
              • Using NL generation
                rules we provide
                transliteration of the
                logical structures.
Summary
• made an analogy between human senses and sensors; and
 between human brain and artificial intelligence technology
  • this analogy leads to the concept of Global Oracle.
• described Videk - a physical mashup which uses artificial
 intelligence technology
  • Videk automatically collects data from sensors.
  • the data is processed and stored by SenseStream while the meta-data
    is fed into ResearchCyc.
  • SenseStream indexes aggregates, performs clustering and learns
    rules which then it exports as RuleML.
  • ResearchCyc performs logical inference on the meta-data and
    transliterates logical sentences.
  • The GUI mashes up sensor data with SenseStream output,
    ResearchCyc output and other external data sources: GoogleMaps,
    Geonames, Wikipedia and Panoramio.
Future work
• extend SenseStream and couple it with ResearchCyc.
• StreamSense
  • add additional mining and learning algorithms which make sense of
    the input sensor data.
  • implement detection of events that comply with the learned rules
    that are currently exported as RuleML.
  • the learned rules, together with richer meta-data automatically
    collected from upcoming sensor deployments will be also be
    inserted into ResearchCyc for reasoning and transliteration.
• all developments will reflect on the GUI and API in time.
Lab: http://sensorlab.ijs.si/
WoT Mash-up: http://sensors.ijs.si/
      Tutorial: http://carolinafortuna.com/web-of-things-tutorial/
      Contact: carolina.fortuna@ijs.si

Más contenido relacionado

Similar a Fortuna 2012 physical_mashup_artificial_intelligence

MongoDB for Time Series Data
MongoDB for Time Series DataMongoDB for Time Series Data
MongoDB for Time Series DataMongoDB
 
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...InfluxData
 
MongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB
 
Become a GC Hero
Become a GC HeroBecome a GC Hero
Become a GC HeroTier1app
 
Remote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJSRemote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJSSumant Tambe
 
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016DataStax
 
Storing Cassandra Metrics
Storing Cassandra MetricsStoring Cassandra Metrics
Storing Cassandra MetricsChris Lohfink
 
Amazon CloudWatch - Observability and Monitoring
Amazon CloudWatch - Observability and MonitoringAmazon CloudWatch - Observability and Monitoring
Amazon CloudWatch - Observability and MonitoringRick Hwang
 
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016DataStax
 
Time Series Analysis
Time Series AnalysisTime Series Analysis
Time Series AnalysisQAware GmbH
 
Time Series Processing with Solr and Spark
Time Series Processing with Solr and SparkTime Series Processing with Solr and Spark
Time Series Processing with Solr and SparkJosef Adersberger
 
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...Lucidworks
 
Api Statistics- The Scalable Way
Api Statistics- The Scalable WayApi Statistics- The Scalable Way
Api Statistics- The Scalable WayWSO2
 
MongoDB for Time Series Data: Schema Design
MongoDB for Time Series Data: Schema DesignMongoDB for Time Series Data: Schema Design
MongoDB for Time Series Data: Schema DesignMongoDB
 
Lesson 05 - Time in Distrributed System.pptx
Lesson 05 - Time in Distrributed System.pptxLesson 05 - Time in Distrributed System.pptx
Lesson 05 - Time in Distrributed System.pptxLagamaPasala
 
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...Anne Nicolas
 
Class5_DataloggerProgrammingArduino.pptx
Class5_DataloggerProgrammingArduino.pptxClass5_DataloggerProgrammingArduino.pptx
Class5_DataloggerProgrammingArduino.pptxHebaEng
 
Infrastructure Monitoring with Postgres
Infrastructure Monitoring with PostgresInfrastructure Monitoring with Postgres
Infrastructure Monitoring with PostgresSteven Simpson
 

Similar a Fortuna 2012 physical_mashup_artificial_intelligence (20)

MongoDB for Time Series Data
MongoDB for Time Series DataMongoDB for Time Series Data
MongoDB for Time Series Data
 
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
 
MongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor Management
 
Become a GC Hero
Become a GC HeroBecome a GC Hero
Become a GC Hero
 
Remote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJSRemote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJS
 
Android Sensor System
Android Sensor SystemAndroid Sensor System
Android Sensor System
 
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
 
Storing Cassandra Metrics
Storing Cassandra MetricsStoring Cassandra Metrics
Storing Cassandra Metrics
 
Amazon CloudWatch - Observability and Monitoring
Amazon CloudWatch - Observability and MonitoringAmazon CloudWatch - Observability and Monitoring
Amazon CloudWatch - Observability and Monitoring
 
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
 
Time Series Analysis
Time Series AnalysisTime Series Analysis
Time Series Analysis
 
Time Series Processing with Solr and Spark
Time Series Processing with Solr and SparkTime Series Processing with Solr and Spark
Time Series Processing with Solr and Spark
 
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
 
Api Statistics- The Scalable Way
Api Statistics- The Scalable WayApi Statistics- The Scalable Way
Api Statistics- The Scalable Way
 
MongoDB for Time Series Data: Schema Design
MongoDB for Time Series Data: Schema DesignMongoDB for Time Series Data: Schema Design
MongoDB for Time Series Data: Schema Design
 
Lesson 05 - Time in Distrributed System.pptx
Lesson 05 - Time in Distrributed System.pptxLesson 05 - Time in Distrributed System.pptx
Lesson 05 - Time in Distrributed System.pptx
 
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...
 
Analytics with Spark
Analytics with SparkAnalytics with Spark
Analytics with Spark
 
Class5_DataloggerProgrammingArduino.pptx
Class5_DataloggerProgrammingArduino.pptxClass5_DataloggerProgrammingArduino.pptx
Class5_DataloggerProgrammingArduino.pptx
 
Infrastructure Monitoring with Postgres
Infrastructure Monitoring with PostgresInfrastructure Monitoring with Postgres
Infrastructure Monitoring with Postgres
 

Último

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Fortuna 2012 physical_mashup_artificial_intelligence

  • 1. Towards Building a Global Oracle: A Physical Mashup using Artificial Intelligence Technology Carolina Fortuna, Blaz Fortuna, Matevz Vucnik, Klemen Kenda, Alexandra Moraru and Dunja Mladenic http://sensorlab.ijs.si/ http://sensors.ijs.si/ Web of Things Workshop, June 19, 2012.
  • 2. Outline • The big picture • System architecture • System Implementation • Sensor Data Acquisition • SenseStream • The Videk mash-up server • Videk API and GUI • External data sources • ResearchCyc • Web Services • Conclusions
  • 3. The big picture Analogy between humans and WoT
  • 4. The big picture – AI technologies for physical mash-ups • WoT mashups can take and use the data at any of these stages.
  • 5. System architecture • Mashup server containing a stream storing and processing engine • Sensor data • External web services • GUI/API
  • 6. System implementation Integrating in the ecosystem Stream processing Physical data acquisition Contextualization
  • 7. Sensor data acquisition Device Identification Protocol (DIP) sequence diagram
  • 8. SenseStream • stream mining and event detection engine • The central part of the system • Data Layer and • Mining Algorithms
  • 10. Current State & Aggregates Calculate on-line (update with • CurrentState is partly last measurement) stand-alone object • Count (configuration), • Average • partly included (distributed • Sum within) in Sensor store • Min • Max records. • Standard deviation* • Stores current aggregates – state of the system Calculate directly on the series • Saves aggregates to the • Median aggregate store after • 1st Quartile transition into a new time • 3rd Quartile window
  • 11. Aggregates <?xml version="1.0" encoding="utf-8"?> Primary aggregates <configuration> <timespans> <timespan id="1" timewindow="3600" /> Calculated from raw <timespan id="2" pid="1" timewindow="24" interval="1"/> <timespan id="3" pid="2" timewindow="7" interval="1"/> measurements, fine grained. <timespan id="3" pid="2" timewindow="30" interval="1"/> <timespan id="4" pid="2" timewindow="365" interval="1"/> </timespans> <aggregates> <aggregate type="MAX"/> <aggregate type="MIN"> Secondary aggregates <timespan id="1" timewindow="3600"> <timespan id="2" pid="1" timewindow="48" interval="24"/> </aggregate> Calculated from other aggregates <aggregate type="AVG"/> <aggregate type="SUM"/> <aggregate type="STD"/> (only possible to use with on-line <aggregate type="MED"/> <aggregate type="1QU"/> type). <aggregate type="3QU"/> <aggregate type="CNT"/> </aggregates> <sensortypes> <sensortype id="1"> Configure time spans, aggregate <aggregate type="MAX"/> <aggregate type="SUM"/> types, aggregates for certain </sensortype> </sensortypes> sensor types, aggregates for <sensors> <sensor id="1"> <aggregate type="MAX"/> certain sensor. <aggregate type="SUM"/> </sensor> </sensors> </configuration>
  • 12. Time windows & intervals <timespan id="1" timewindow="3600" /> • Time windows of aggregates can overlap <timespan id="2" pid="1" timewindow="24" interval="1"/> • Overlapping interval is set in configuration file (interval) <timespan id="3" pid="2" timewindow="7" interval="1"/> • For example: • Weekly aggregates can be calculated from Monday to Overlap/update Monday, from Tuesday to 7-day time interval is 1 day window Tuesday, etc. M T W T F S S M T W time
  • 13. Event Detection • Easy and fast detection of Fog forming example If events on current state data (humidity[AVG,1h] < 90%) & (very simple rules) (humidity[AVG,10m] > 95%) Then trigger fog forming risk event. • Simple validation of more complex event queries (using Road Icing example current state and previous If (precipitation[SUM,12h,6h ago] > X) & aggregates) (temparature[MAX,12h,6h ago] > 0) & (temperature[MIN, 6h]) < 0) Then • Time can be handled with trigger road icing risk event. ease ... Time example If (temperature[AVG,1w,3d ago] <-5) & (temperature[AVG,24h,2d ago] < 5) & (temperature[AVG,24h,1d ago] < 5) & Then trigger lake still frozen event.
  • 14. Rule generation and export <And> <Atom> <op> <Rel iri="cyc:sensorObservation"/> </op> <Var> sensor </Var> <Ind iri="cyc:Raindrop"/> </Atom> <Atom> <op> <Rel iri="cyc:doneBy"/> </op> <Var> sensor </Var> <Var> measurement </Var> </Atom> <Atom> <op> <Rel iri="cyc:measurementResult"/> </op> <Var> measurement </Var> <Var> val1 </Var> </Atom> <Atom> <op> <Rel iri="cyc:duration"/> </op> <Var> measurement </Var> <Ind type="xs:time">24:00:00</Ind> </Atom> <Atom> <op> <Rel iri="cyc:greaterThan"/> </op> <Var> val1 </Var> <Ind type="xs:float">250</Ind> </Atom> </And>
  • 15. The Videk mash-up server • acts as a glue between different components and services used • it interfaces with sensors receiving data from these • parses and multiplexes the data • to the back-up database, • to SenseStream, • to ResearchCyc, • to the triple store. • it exposes the API to be used by external applications • provides a GUI with widgets which mashes up the data and resulting knowledge
  • 16. Videk API • http://sensors.ijs.si/xml/current-state the XML structured answer includes: • nodes • records (int) - number of nodes • node • id (int) - internal id of the node • name (string) - identifier of the node • latitude (double) - latitude of the node • longitude (double) - longitude of the node • sensor • id (int) - internal id of the sensor • sensortypeid (int) - internal id of the type of the sensor • featureofmeasurement (string) - human readable feature of measurement • unitofmeasurement (string) - human readable unit of measurement • lastmeasurement (double) - value of the last measurement from the sensor • measurementtime (time) - MySQL fromatted timestamp of the measurement
  • 17. Videk GUI http://sensors.ijs.si/
  • 18. External data sources • Research Cyc for structured knowledge representation and reasoning • Open web services for additional context collection • Based on the sensor nodes’ GPS coordinates, Google maps are used as the GUI’s background and the right focus on the deployment locations is presented. • Based on the GPS coordinates, the Geonames service is used to retrieve the name of the place where the sensors are deployed and relevant information from Wikipedia. • Finally, the Panoramio service is invoked to retrieve and render pictures of the surrounding area.
  • 19. ResearchCyc • the research release of Cyc, an artificial intelligence system • comprised of a knowledge base and a reasoning engine • the idea behind it is to encode knowledge in a structured way and reason about it similar to the way the human mind does it. • each of us learns the concept of a tree, branch, leaf and fruit. • we learn relationships between these concepts: that a tree has branches, on a branch grow leaves and fruit. • we are able to recognize instances of these: this apple tree, this apple, this apple leaf. • This knowledge builds up in our brains over years and makes it possible to understand, communicate and reason.
  • 20. ResearchCyc • We inserted the collected meta-data in the KB • Using NL generation rules we provide transliteration of the logical structures.
  • 21. Summary • made an analogy between human senses and sensors; and between human brain and artificial intelligence technology • this analogy leads to the concept of Global Oracle. • described Videk - a physical mashup which uses artificial intelligence technology • Videk automatically collects data from sensors. • the data is processed and stored by SenseStream while the meta-data is fed into ResearchCyc. • SenseStream indexes aggregates, performs clustering and learns rules which then it exports as RuleML. • ResearchCyc performs logical inference on the meta-data and transliterates logical sentences. • The GUI mashes up sensor data with SenseStream output, ResearchCyc output and other external data sources: GoogleMaps, Geonames, Wikipedia and Panoramio.
  • 22. Future work • extend SenseStream and couple it with ResearchCyc. • StreamSense • add additional mining and learning algorithms which make sense of the input sensor data. • implement detection of events that comply with the learned rules that are currently exported as RuleML. • the learned rules, together with richer meta-data automatically collected from upcoming sensor deployments will be also be inserted into ResearchCyc for reasoning and transliteration. • all developments will reflect on the GUI and API in time.
  • 23. Lab: http://sensorlab.ijs.si/ WoT Mash-up: http://sensors.ijs.si/ Tutorial: http://carolinafortuna.com/web-of-things-tutorial/ Contact: carolina.fortuna@ijs.si