Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Entendendo seu usuário com Intel Context Sensing

Entendendo seu usuário com Intel Context Sensing

Palestra ministrada na edição 2015 do Intel Software Day (Salvador) e na edição #27 do Android Meetup em São Paulo

Ubiratan Soares
PRO

June 12, 2015
Tweet

More Decks by Ubiratan Soares

Other Decks in Programming

Transcript

  1. ENTENDENDO SEU
    USUÁRIO COM
    INTEL CONTEXT SENSING
    Intel Software Day
    Junho de 2015

    View Slide

  2. @ubiratanfsoares
    +UbiratanSoares
    ubiratansoares
    gdgsp.org
    ubiratansoares.github.io

    View Slide

  3. MOTIVAÇÃO
    Em um cenário no qual o entendimento
    de cada usuário singular é cada vez mais
    importante, como obter dados de
    contexto e executar ações de forma
    automatizada ?

    View Slide

  4. INTEL CONTEXT SENSING
    Framework de alto nível no topo da API do
    Android para obtenção de dados contextuais
    do usuário, bem como aprendizado e ações
    com base nesse contexto

    View Slide

  5. Android App
    Context Sensing
    Historical Context
    Context States
    Intel Cloud
    Services

    View Slide

  6. CONTEXT HISTORY
    Dados armazenados localmente no aparelho,
    com possibilidade de sincronização na nuvem,
    que podem ser capturados pelos mais diversos
    meios e utilizados para aprendizado do usuário
    posteriormente

    View Slide

  7. BUILT-IN HISTORY ITEMS
    Location History
    Location Visits
    User Routes
    User Searches

    View Slide

  8. CONTEXT STATES
    Dados obtidos em um determinado instante,
    e que apenas fazem sentido se consumidos
    em um curto período de tempo. Esses
    estados podem ser “sentidos" pela aplicação,
    que será notificada periodicamente sobre
    alterações nesse contexto

    View Slide

  9. BUILT-IN CONTEXT STATES
    Activity Recogition
    Audio Classification
    Pedometer
    Location
    Installed Applications
    Running Applications
    Battery
    Calendar
    Call
    Contacts
    Device Information
    Music
    Network Information
    Device Position
    Motion Detectors

    View Slide

  10. DEMO

    View Slide

  11. CONTEXT STATE DETAILS
    Item Identifider ContextType.AUDIO
    State Information Audio Classification (Speech, Motion, Mechanical, Music)
    Probability
    Sensing Settings Mode (Fast, Every Minute, OnChange)
    Continuous Flag (Pause / Dont Pause on Sleep)
    Android Permissions android.permission.RECORD_AUDIO
    intel.aware.permission.ACCESS_AWARESERVICE
    Cloud Services Scopes context:device:sensor (to read from cloud services)
    context:post:device:sensor (to push to cloud services)

    View Slide

  12. MAIS SOBRE CONTEXT STATES
    Existem vários estados de contexto que são
    cloud-powered (ex. condições do tempo)
    É possível criar estados de contexto
    customizados e consumí-los
    Aparelhos Intel são capazes de agregar mais
    informação para determinados contextos

    View Slide

  13. RULES ENGINE
    Motor de regras para avaliar dados de
    acordo com o contexto, disparando
    ações de acordo com o resultado do
    avaliação

    View Slide

  14. “Quando
    eu estou dirigindo, e
    eu perdi uma ligação,
    enviar um SMS
    dizendo que eu ligo
    depois”
    Rules Engine

    View Slide

  15. RuleManager ruleManager = new RuleManager();
    ruleManager.setOperationMode(RULE_OPERATION_MODE.FAST);
    List onTrueActionsList = new ArrayList();
    onTrueActionsList.add(new IRuleAction() {
    public void execute(Context context) {
    Log.i("Info", "You made 30 steps!");
    }});
    String ruleName = "stepsAdvice";
    String ruleDescription = "Advice me when I do 30 or more steps.";
    String condition = "Pedometer.steps >= 30";
    Rule rule = new Rule(ruleName,
    ruleDescription,
    condition,
    onTrueActionsList,
    null);
    rule.activate();

    View Slide

  16. RULES LEARNER
    Motor de inferência para aprender novas
    regras a partir de estados de contexto :
    machine learning on-device

    View Slide

  17. Rules Learner
    Suggested Rule
    Suggested Rule
    User Behavior

    View Slide

  18. RuleLearner ruleLearner = new RuleLearner(
    "My Learned Rule”,
    "When the WiFi status changes, is because [?] happens.",
    new FullLikelyHood(
    0.33f,
    10,
    Action.WifiChange,
    Arrays.asList("Place.type", “Date.partOfWeek"))
    );
    ruleManager.setOperationMode(RULE_OPERATION_MODE.FAST);

    View Slide

  19. ruleLearner.start();
    List suggestedRules = ruleLearner.getSuggestedRules();
    if (suggestedRules.size() == 0) {
    Log.i("APP", "No suggested rules yet...");
    } else {
    for (SuggestedRule rule : suggestedRules) {
    StringBuilder sb = new StringBuilder();
    sb.append("Action Value: " + rule.getActionValue());
    for (Entry e : rule.getConditionValues().entrySet()) {
    sb.append("\n> When: " + e.getKey() + " --> " + e.getValue());
    }
    Log.i("APP", "Suggested Rule:\n" + sb.toString());
    }
    }
    ruleLearner.stop();

    View Slide

  20. SAIBA MAIS
    http://bit.ly/context-sdk-api
    https://github.com/ubiratansoares/context-sdk-playground
    https://software.intel.com/en-us/context-sensing-sdk
    http://bit.ly/context-sdk-get-started
    http://bit.ly/context-rules-engine
    http://bit.ly/context-rules-learner

    View Slide

  21. OBRIGADO

    View Slide