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

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 

Último (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 

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