# US 10,769,542 B1 · Generating weather data based on messaging system activity

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,769,542 B1
- Document ID: US10769542B1
- Status: Granted
- Kind: B1
- Application number: 15/989,967
- Filed: 2018-05-25
- Granted: 2020-09-08
- Earliest claimed: 2018-05-25
- Assignees: Snap Inc.
- Applicants: Snap Inc.
- Inventors: Anup Prabhakar Dhalwani; Walton Lin; Andrew Lin; Amer Shahnawaz; Leonid Gorkin; Amber Taylor; Lillian Zheng; Eric Wood
- Web page: https://patentgrep.com/patent/US10769542B1

## CPC

- G01W 1/02: Instruments for indicating weather conditions by measuring two or more variables, e.g. humidity, pressure, temperature, cloud cover or wind speed (G01W1/10 takes precedence)
- G06F 18/2148: {characterised by the process organisation or structure, e.g. boosting cascade}
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06N 20/00: Machine learning
- G06V 10/40: Extraction of image or video features
- G06V 10/7747: {Organisation of the process, e.g. bagging or boosting}
- G06V 20/35: {Categorising the entire scene, e.g. birthday party or wedding scene}
- G06V 20/36: {Indoor scenes}
- G06V 20/38: {Outdoor scenes}
- G01W: METEOROLOGY (radar, sonar, lidar or analogous systems, designed for meteorological use G01S13/95, G01S15/88, G01S17/95)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

Systems and methods are provided for analyzing messages generated by a plurality of computing devices associated with a plurality of users in a messaging system to generate training data to train a machine learning model to determine a probability that a media content item was generated inside an enclosed location or outside, receiving a media content item from a computing device, analyzing the media content item using the trained machine learning model to determine a probability that the media content item was generated inside an enclosed location or outside, determining, based on the probability generated by the trained machine learning model, that the media content item was generated inside an enclosed location, and determining an inside temperature associated with the venue based on messages generated by a plurality of computing devices in a messaging system comprising media content items and temperature information for the venue or a similar venue type.

## Claims

### Claim 1

A method comprising:
analyzing, by a computing system, messages generated by a plurality of computing devices associated with a plurality of users in a messaging system to extract media content items from the messages and generate training data;
training, by the computing system, a machine learning model using the generated training data comprising the media content items to determine a probability that a media content item was generated inside an enclosed location or outside;
receiving, by the computing system, a media content item from a computing device;
extracting image features from the media content item;
analyzing the extracted image features of the media content item to determine objects associated with each extracted image feature;
generating a feature vector based on the determined objects associated with each extracted image feature;
analyzing the feature vector using the trained machine learning model to determine a probability that the media content item was generated inside an enclosed location or outside;
determining, based on the probability generated by the trained machine learning model, that the media content item was generated inside an enclosed location;
determining a location of the computing device when the media content item was generated;
determining a venue associated with the location of the computing device;
determining an inside temperature associated with the venue based on the messages generated by a plurality of computing devices in a messaging system comprising media content items and temperature information for the venue or a similar venue type;
generating creative functionality associated with the inside temperature and the venue or similar venue type; and
providing the creative functionality to the computing device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the creative functionality is presented to a user of the computing device to use to augment the media content item or generate a new media content item.

### Claim 3 (depends on 1)

The method of claim 1, wherein the media content item is a first media content item and the computing device is a first computing device, and the method further comprises:
receiving a second media content item from a second computing device;
extracting image features from the second media content item;
analyzing the extracted image features of the second media content item to determine objects associated with each extracted image feature;
generating a feature vector based on the determined objects associated with each extracted image feature;
analyzing the feature vector using the trained machine learning model to determine a probability that the second media content item was generated inside an enclosed location or outside;
determining, based on the probability generated by the trained machine learning model, that the media content item was generated outside;
determining at least one outside weather condition associated with a location of the computing device;
generating creative functionality associated with the at least one outside weather condition and location of the computing device; and
providing the creative functionality to the computing device.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
requesting venue information and inside temperature information associated with a media content item from a plurality of computing devices generating messages; and
storing the venue information in one or more databases;
wherein determining an inside temperature associated with the venue based on messages generated by a plurality of computing devices in a messaging system comprising media content items and temperature information for the venue or a similar venue type comprises accessing the one or more databases to determine a venue or similar venue type in the one or more databases and determining an average temperature for the venue or similar venue type.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining the inside temperature associated with the venue is further based on a time of day.

### Claim 6 (depends on 1)

The method of claim 1, wherein generating the training data comprises selecting a first subset of the media content items representing media content items generated inside an enclosed location and a second subset of media content items representing media content items generated outside.

### Claim 7 (depends on 6)

The method of claim 6, wherein selecting the first subset of media content items and the second subset of media content items is based on an indication in each of the messages associated with each media content item indicating that the media content item was generated inside an enclosed location or outside.

### Claim 8 (depends on 7)

The method of claim 7, wherein the indication was input by a user sending the message.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
receiving an indication that the creative functionality was utilized by the computing device or was not used by the computing device;
storing the indication as validation data associated with the venue; and
using the validation data to determine if the inside temperature determined for the venue was correct.

### Claim 10

A system comprising:
a memory that stores instructions; and
one or more hardware processors configured by the instructions to perform operations comprising:
analyzing messages generated by a plurality of computing devices associated with a plurality of users in a messaging system to extract media content items from the messages and generate training data;
training a machine learning model using the generated training data comprising the media content items to determine a probability that a media content item was generated inside an enclosed location or outside;
receiving a media content item from a computing device;
extracting image features from the media content item;
analyzing the extracted image features of the media content item to determine objects associated with each extracted image feature;
generating a feature vector based on the determined objects associated with each extracted image feature;
analyzing the feature vector using the trained machine learning model to determine a probability that the media content item was generated inside an enclosed location or outside;
determining, based on the probability generated by the trained machine learning model, that the media content item was generated inside an enclosed location;
determining a location of the computing device when the media content item was generated;
determining a venue associated with the location of the computing device;
determining an inside temperature associated with the venue based on messages generated by a plurality of computing devices in a messaging system comprising media content items and temperature information for the venue or a similar venue type;
generating creative functionality associated with the inside temperature and the venue or similar venue type; and
providing the creative functionality to the computing device.

### Claim 11 (depends on 10)

The system of claim 10, wherein the creative functionality is presented to a user of the computing device to use to augment the media content item or generate a new media content item.

### Claim 12 (depends on 10)

The system of claim 10, wherein the media content item is a first media content item and the computing device is a first computing device, and the operations further comprise:
receiving a second media content item from a second computing device;
extracting image features from the second media content item;
analyzing the extracted image features of the second media content item to determine objects associated with each extracted image feature;
generating a feature vector based on the determined objects associated with each extracted image feature;
analyzing the feature vector using the trained machine learning model to determine a probability that the second media content item was generated inside an enclosed location or outside;
determining, based on the probability generated by the trained machine learning model, that the media content item was generated outside;
determining at least one outside weather condition associated with a location of the computing device;
generating creative functionality associated with the at least one outside weather condition and location of the computing device; and
providing the creative functionality to the computing device.

### Claim 13 (depends on 10)

The system of claim 10, the operations further comprising:
requesting venue information and inside temperature information associated with a media content item from a plurality of computing devices generating messages; and
storing the venue information in one or more databases;
wherein determining an inside temperature associated with the venue based on messages generated by a plurality of computing devices in a messaging system comprising media content items and temperature information for the venue or a similar venue type comprises accessing the one or more databases to determine a venue or similar venue type in the one or more databases and determining an average temperature for the venue or similar venue type.

### Claim 14 (depends on 10)

The system of claim 10, wherein determining the inside temperature associated with the venue is further based on a time of day.

### Claim 15 (depends on 10)

The system of claim 10, wherein generating the training data comprises selecting a first subset of the media content items representing media content items generated inside an enclosed location and a second subset of media content items representing media content items generated outside.

### Claim 16 (depends on 15)

The system of claim 15, wherein selecting the first subset of media content items and the second subset of media content items is based on an indication in each of the messages associated with each media content item indicating that the media content item was generated inside an enclosed location or outside.

### Claim 17 (depends on 16)

The system of claim 16, wherein the indication was input by a user sending the message.

### Claim 18 (depends on 10)

The system of claim 10, the operations further comprising:
receiving an indication that the creative functionality was used by the computing device or was not used by the computing device;
storing the indication as validation data associated with the venue; and
using the validation data to determine if the inside temperature determined for the venue was correct.

### Claim 19

A non-transitory computer-readable medium comprising instructions stored thereon that are executable by at least one processor to cause a computing device to perform operations comprising:
a memory that stores instructions; and
one or more hardware processors configured by the instructions to perform operations comprising:
analyzing messages generated by a plurality of computing devices associated with a plurality of users in a messaging system, to extract media content items from the messages and generate training data;
training a machine learning model using the generated training data comprising the media content items to determine a probability that a media content item was generated inside an enclosed location or outside;
receiving a media content item from a computing device;
extracting image features from the media content item;
analyzing the extracted image features of the media content item to determine objects associated with each extracted image feature;
generating a feature vector based on the determined objects associated with each extracted image feature;
analyzing the feature vector using the trained machine learning model to determine a probability that the media content item was generated inside an enclosed location or outside;
determining, based on the probability generated by the trained machine learning model, that the media content item was generated inside an enclosed location;
determining a location of the computing device when the media content item was generated;
determining a venue associated with the location of the computing device;
determining an inside temperature associated with the venue based on messages generated by a plurality of computing devices in a messaging system comprising media content items and temperature information for the venue or a similar venue type;
generating creative functionality associated with the inside temperature and the venue or similar venue type; and
providing the creative functionality to the computing device.

### Claim 20 (depends on 19)

The non-transitory computer-readable medium of claim 19, wherein the media content item is a first media content item and the computing device is a first computing device, and the operations further comprise:
receiving a second media content item from a second computing device;
extracting image features from the second media content item;
analyzing the extracted image features of the second media content item to determine objects associated with each extracted image feature;
generating a feature vector based on the determined objects associated with each extracted image feature;
analyzing the feature vector using the trained machine learning model to determine a probability that the second media content item was generated inside an enclosed location or outside;
determining, based on the probability generated by the trained machine learning model, that the media content item was generated outside;
determining at least one outside weather condition associated with a location of the computing device;
generating creative functionality associated with the at least one outside weather condition and location of the computing device; and
providing the creative functionality to the computing device.
