Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud

710 views

Published on

Speaker: Jane Fine, Director of Product Marketing, Analytics, MongoDB

Published in: Technology
  • A very good resource can do the writings for ⇒ HelpWriting.net ⇐ But use it only if u rly cant write anything down.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

MongoDB World 2018: Building Intelligent Apps with MongoDB & Google Cloud

  1. 1. Building Intelligent Apps with MongoDB and Google Cloud
  2. 2. JANE FINE Director of Product Marketing, Analytics @janeuyvova
  3. 3. Analytics is a Constant Underachiever 2000 Business Intelligence Data Warehouse, OLAP, Ad-hoc, Reporting, Dashboards Big Data Hadoop, MapReduce, Predictive, ML, Real-time 2010 AI Intelligent Things, IoT, Systems of Engagement 2017 “In 2018, 75% of AI projects will underwhelm because they fail to model operational considerations, causing business leaders to reset the scope of AI investments.” FORRESTER.COM/PREDICTIONS
  4. 4. Applications Change Our World $40B+ eCommerce platform experience of millions of mobile gamers metadata for every single item for sale on eBay.com world’s leading design collaboration platform 20M+ users $150B+ traded reinvent travel for millions of customers lab and clinical analysis for innovative medicines personal and business finance management worldwide
  5. 5. Operational AI ML What We Set Out To Do ecommerceapp shop for products online Intelligent App mobileshoppingchatbot get personalized product recommendations shop over MMS/WhatsApp on mobile device rec engine
  6. 6. What’s an Intelligent App? Applications are increasingly combining real-time analytics, machine learning and AI to provide understand the customer, automate their tasks and provide knowledge and decision support
  7. 7. Why Is This Hard? Intelligent App Developers Data Scientists uses: live data guided by: user stories produces: functionality uses: prepared data guided by: question produces: insight RELEASE DEFINE BUILD AGILE DATA PREP BUILD MODEL GET INSIGHT VIZ DEPLOY TRAIN/EVAL
  8. 8. eCommerce App: SwagStore
  9. 9. eCommerce App: SwagStore Get notified when a sold-out item is restocked Browse for your favorite MongoDB swag Put items in cart and checkout View your orders
  10. 10. MongoDB Stitch Serverless Platform Streamlines app development with simple, secure access to data and services from the client with thousands of lines less code to write and no infrastructure to manage. Getting your apps to market faster while reducing operational costs.
  11. 11. SwagStore: How We Built It UI components Routes Application Flow Control Google Authentication Twilio Notifications Functions Rules Triggers Service Integrations Flexible Document Model Easy to Work With Data
  12. 12. DEMO: SwagStore
  13. 13. SwagStore + RecEngine
  14. 14. Intelligent eCommerce App: SwagStore + Receive personalized product recommendations based on ML algorithm Recommendation Engine
  15. 15. Intelligent SwagStore: How We Built It SwagStore Google Cloud ML Trains and Tunes Model TensorFlow WALS Algorithm Google Cloud Endpoints Serves Recommendations Stitch Initiates Recommendations developer data scientist developer data engineer
  16. 16. Google Cloud ML Placeholder
  17. 17. Training Recommendation Model 1. install the model code 2. place data into your Cloud Storage Bucket 3. run training script When the training is finished, the model data is saved in a subdirectory named model under the job directory of the training task. This data consists of several arrays, all saved in numpy format ./mltrain.sh train gs://recserve_jfmlrecengine/swag_pageviews.csv --data-type web_views
  18. 18. Tuning Recommendation Model Hyperparameter tuning optimizes your machine learning model for most accuracy Typically data scientists experimenting with various values, testing the resulting performance of the model, and then picking a combination of parameters with the best performance. But you can test every possible combination of parameters…. it would take a very very long time Each hyperparameter is passed as an argument to the hyperparameter tuning job on Cloud ML Engine. The model writes a TensorFlow summary with a special tag that's set to the metric that evaluates the quality of the model. This summary metric enables the search process of the Cloud ML Engine hyperparameter tuning service to rank the trials. ./mltrain.sh tune gs://recserve_jfmlrecengine/swag_pageviews.csv --data-type web_views
  19. 19. Generate Recommendations model.py : generate_recommendations input user: row index of the user in the rating matrix items: list of indexes for items that the user has rated / viewed latent factors: row and column factors generated by training / tuning the model number of desired recommendations https://jfmlrecengine.appspot.com/recommendation ?userId=5448543647176335931&numRecs=6 {"articles": ["299824032", "299935287", "299865757", "299959410", "298157062", "299816215"] }
  20. 20. Serving Recommendations with Stitch MongoDB Stitch send a HTTP GET request to Google Cloud Endpoint to obtain recommendation For user who is logged in Get list of product recommendation Update user profile with that list Service Integrations make it simple for your app to use leading third party services Functions let you build complex logic and orchestrate data between clients, services, and MongoDB with server-side JavaScript functions. Stitch scales precisely to meet your usage.
  21. 21. DEMO: SwagStore + RecEngine
  22. 22. SwagStore + ChatBot
  23. 23. Intelligent eCommerce App: SwagStore + Shop for products via chat interface AI Chatbot
  24. 24. Intelligent SwagStore: How We Built It SwagStore Google DialogFlow: Intent, Entities, Webhooks Stitch - Intent Fulfilment Slack - Front End developer data scientist developer data engineer
  25. 25. DialogFlow + Stitch Architecture Stitch HTTP Service Webhook Stitch Functions to retrieve products from MongoDB
  26. 26. Me: “Can you help me find a jacket?” ChatBot: “What color would you like?” Me: “White, please” ChatBot: “I found you a white Egmont Jacket” DialogFlow: Rich and Natural Conversational Experiences Our ChatBot understands and responds to requests such as: Stitch Service Integration
  27. 27. Enabling DialogFlow Fulfillment With Stitch Stitch security enabled by default
  28. 28. Enabling DialogFlow Fulfillment With Stitch return item from SwagStore Catalog to DialogFlow { "fulfillmentText": "I found you a white Egmont Packable Jacket. Check it out here: https://mdb-swag-store.netlify.com/products/299824032" } perform $find given parameters requested by DialogFlow: product type and product color
  29. 29. DEMO: SwagStore + ChatBot
  30. 30. Stitch Makes this Easy Intelligent App Developers Data Scientists RELEASE DEFINE BUILD AGILE DATA PREP BUILD MODEL GET INSIGHT VIZ DEPLOY TRAIN/EVAL NEED NEW STITCH COLLATERAL
  31. 31. Build. Plug In. Innovate Intelligent App RELEASE DEFINE BUILD AGILE
  32. 32. Close you use this methodology to build an intelligent app → chances are you are already being tasked to do that as developers use stitch to consume services, like GCP or others you don’t need to learn NLP, or build from scratch finally get analytics to drive value, utilize your data scientist get your analytics to change to world, not just your app...
  33. 33. Resources and Credits MongoDB Stitch: Google Cloud ML Tutorials: https://cloud.google.com/solutions/machine-learning/recommendation-system-tensorflow-train-cloud-ml-engine GitHub: https://github.com/GoogleCloudPlatform/tensorflow-recommendation-wals DialogFlow https://dialogflow.com/docs/getting-started
  34. 34. Thank you!
  35. 35. Title and bullet content slide • Bullet level one • Bullet level two • Bullet level three
  36. 36. Thesis (long) Analytics is a constant underachiever. Elusive, shiny and never delivers. Analytics has been positioned for decades as the next frontier that will help companies gain competitive advantage and drive the top line growth but it always seems to fall short. Generations of analytics solutions: BI (2000), dashboards (2005), data science (2010), machine learning (2015)… now AI (2017). Applications on the other hand provide real, measurable value. They have fundamentally changed how we do things. We interact with them daily and companies we buy products and services from run their business on applications. It’s visible, measureable, proven. Full stop. How can we make analytics more impactful? How can you make analytics finally deliver something meaningful the way applications already have? By embedding your analytics into something your customers use every day. Like your app. Enter intelligent apps. MongoDB can help you create intelligent apps where operational and analytic workloads merge for the benefit of end customer. MongoDB is creating tools and approaches that are native to your data and its shape. You can finally do something meaningful with the insight your data scientists find - use it to capture and delight your customers! So what: make your data science meaningful, make your developers and data scientists work together and make them both more productive; build more impactful and interesting applications, delight your customers
  37. 37. abstract Intelligent apps are emerging as the next frontier in analytics and application development. Learn how to build intelligent apps on MongoDB powered by Google Cloud with TensorFlow for machine learning and DialogFlow for artificial intelligence. Get your developers and data scientists to finally work together to build applications that understand your customer, automate their tasks, and provide knowledge and decision support. enables data scientists to build and bring superior machine learning models to production. Google DialogFlow helps developers build natural and rich conversational experiences quickly and easily to enage customers in a new way.
  38. 38. general feedback - dry run 1 show more code make it obvious: 1, 2,3 - especially around building the model talk about getting devs and data scientists to work together twiggle.com - check this out need to set intelligent apps in the context - forrester, g2crowd are talking about them, use examples of companies using AI… but maybe you are not a google, or an ebay - how do you make this easy ? use this methodology; don’t need to learn NLP, build from scratch
  39. 39. Outline Setup: analytics contact underachiever/ apps change the world / data scientists are frustrated / both devs and data scientists cost $$$! building blocks: first you have ecommerce app then you have ecommerce app + rec engine then you enable you users to shop for products via chat then you push recommendations back to cloud ML how to we make this easy how to we get dev and data scientists to work together
  40. 40. Title and bullet two content slide • Bullet level one • Bullet level two • Bullet level three • Bullet level one • Bullet level two • Bullet level three
  41. 41. Short title with caption and photo or graphic slide A caption or a quote for a photo, logo, graphic, social medial screenshot, etc. can go here.
  42. 42. Short title with caption and content slide A caption or subhead for the right content can go here. Content can be table, chart, diagram, smart object, photo or multimedia.
  43. 43. Bar Graph
  44. 44. Title and table slide Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 1 Column 2 Column 3 Column 4 Column 5 Column 6
  45. 45. Sample single column code slide { "_id" : 5, "line_items" : [ { "id": 123, "title": "USB Battery", "price": 15.0, "notify_when_ship": [{"name": "eliot", "phone": "123-456-7890"}], "shipped": true }, { "id": 512, "title": "Hip T-shirt", "price": 45.0, "shipped": false } ] }
  46. 46. Sample two column code slide orders: { _id: 5, line_items : [ { id: 123, title : "USB Battery", price: 15.0 }, shipped: true { id: 512, title : "Hip T-shirt", price : 45.0, shipped: false } ], } db.orders.update( { _id: 5 }, { $mul: { "line_items.$[li].price": 0.8}}, {arrayFilters:[ {"li.shipped":{$ne:true}} ]} )
  47. 47. Application Driver Query Router Query Router••• Query Router Query Router Query Router Query Router Query Router Query Router Query Router Query Router Query Router Query Router Query Router Query Router ••• Shard 1 Shard 2 Shard 2 Shard N
  48. 48. Active/active data center Secondary – A Secondary – B Secondary – C Secondary – B Secondary – C Secondary – A Data Center – EastData Center – Central Arbiter – B Arbiter – CArbiter – A Data Center – West Primary – B Secondary – B Primary – A Primary – C Secondary – C Secondary – A
  49. 49. Active/standby data center Data Center – West Primary – BPrimary – A Primary – C Secondary – B Secondary – C Secondary – A Data Center – East Secondary – B Secondary – CSecondary - A
  50. 50. SPEAKER NAME Speaker title, company and handle
  51. 51. SPEAKER NAME Speaker title, Company Handle SPEAKER NAME Speaker title, Company Handle
  52. 52. SPEAKER NAME Speaker title, Company Handle SPEAKER NAME Speaker title, Company Handle SPEAKER NAME Speaker title, Company Handle
  53. 53. SPEAKER NAME Speaker title, Company Handle SPEAKER NAME Speaker title, Company Handle SPEAKER NAME Speaker title, Company Handle SPEAKER NAME Speaker title, Company Handle
  54. 54. Title only with footer
  55. 55. Divider Slide Green
  56. 56. Divider Slide Black
  57. 57. Divider Slide White
  58. 58. Icons
  59. 59. Icon Library (PDF) https://www.dropbox.com/sh/28kkukpfjjgxzhs/AACJZlTs4g7WX7L6WAfvV5Oea?dl=0
  60. 60. Icon Library (PDF) https://www.dropbox.com/sh/28kkukpfjjgxzhs/AACJZlTs4g7WX7L6WAfvV5Oea?dl=0
  61. 61. Icon Library (PDF) https://www.dropbox.com/sh/28kkukpfjjgxzhs/AACJZlTs4g7WX7L6WAfvV5Oea?dl=0

×