# US 10,120,911 B2 · Real-time and adaptive data mining

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

- Number: US 10,120,911 B2
- Document ID: US10120911B2
- Status: Granted
- Kind: B2
- Application number: 14/960,305
- Filed: 2015-12-04
- Published: 2016-03-24
- Granted: 2018-11-06
- Earliest claimed: 2012-08-02
- Applicants: Rule 14
- Inventors: Sharon Gill Chadha; Xin Cheng; Parvinder Chadha
- Web page: https://patentgrep.com/patent/US10120911B2

## CPC

- G06F 16/2462: {Approximate or statistical queries}
- G06F 16/951: Indexing; Web crawling techniques
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/9538: Presentation of query results
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method of analyzing data is presented. The method includes generating a query based on a topic of interest, expanding search terms of the query, executing the query on one or more data sources, monitoring a specific data source selected from the one or more data sources. The monitoring is performed to monitor for matches to the query.

## Claims

### Claim 1

A method of analyzing data, comprising:
generating, by an entity, a query based at least in part on a topic of interest;
executing the query on a plurality of data sources, at least one of the plurality of data sources comprising at least one of customer information, health related information, or a combination thereof;
selecting, by the entity, a data source from the plurality of data sources for monitoring based on a correlation between the data source and the topic of interest, the correlation determined based on results of the executed query;
monitoring, based on a set schedule, the data source for matches to the query to extract data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
extracting data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
determining an extraction rate for extracting the data, the extraction rate indicating an amount of the data that is extracted over a first time period;
determining a first processing rate for processing the extracted data with a number of parallel processors, the first processing rate indicating an amount of extracted data that is processed over a second time period;
dynamically adjusting the number of parallel processors for analyzing the extracted data based on the extraction rate to obtain a second processing rate that is greater than the first processing rate;
analyzing, with the parallel processors, the extracted data to determine at least one of a sentiment, an index, a pattern, or a combination thereof;
establishing a two-way communication channel, between at least the entity that selected the data source for monitoring and a user device of a user that provided data to the data source, based on the analysis of the extracted data;
transmitting, from the entity via the two-way communication channel, a first message directed to the user device based on the analysis of the extracted data; and
receiving, from the user device via the two-way communication channel, a second message in response to the first message directed to the user device.

### Claim 2 (depends on 1)

The method of claim 1, further comprising visualizing the extracted data.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
refining search terms of the query based at least in part on the executed query, and in which the monitoring is performed to monitor for matches to a refined query.

### Claim 4 (depends on 1)

The method of claim 1, in which the plurality of data sources include open-source data sources that are publically available and closed-source data sources that are not publically accessible.

### Claim 5 (depends on 1)

The method of claim 1, in which the query is a natural language query, and
further comprising translating the query to a system understood language.

### Claim 6 (depends on 1)

The method of claim 1, further comprising expanding search terms of the query to include at least one of relevant terms, misspellings, or a combination thereof; and
in which the data source is selected when the correlation is greater than or equal to an accuracy threshold.

### Claim 7 (depends on 6)

The method of claim 6, in which expanding the query comprises expanding the search terms to include at least misspellings, synonyms, sub-topics, antonyms, or a combination thereof.

### Claim 8 (depends on 1)

The method of claim 1, in which the monitoring comprises deploying extractors to each data source, a number of extractors being dynamic based at least in part on a traffic volume of each data source.

### Claim 9 (depends on 1)

The method of claim 1, in which:
the customer information comprises a customer's location; and
the health related information comprises at least one of locations for health care providers, a customer's insurance information, a customer's health records, or a combination thereof.

### Claim 10 (depends on 1)

The method of claim 1, in which the two-way communication channel notifies the user device of at least one of a health care provider within a specific vicinity of the user device, an update to insurance information, an application for health care enrollment, or a combination thereof.

### Claim 11 (depends on 1)

The method of claim 1, in which the two-way communication channel comprises at least one of short message service (SMS), click-to-voice, interactive voice response (IVR), e-mail, phone, Internet protocol, message board, social media, digital communication, or a combination thereof.

### Claim 12 (depends on 1)

The method of claim 1, further comprising analyzing, by an entity user corresponding to the entity, the results of the query in view of the topic of interest and a sub-topic of interest; and
determining, by the entity user, the correlation between the data source and the topic of interest based on the analysis of the results of the query.

### Claim 13

An apparatus for analyzing data, the apparatus comprising:
a memory; and
at least one processor coupled to the memory, the at least one processor being configured:
to generate, by an entity, a query based at least in part on a topic of interest;
to execute the query on a plurality of data sources, at least one of the plurality of data sources comprising at least one of customer information, health related information, or a combination thereof;
to select, by the entity, a data source from the plurality of data sources for monitoring based on a correlation between the data source and the topic of interest, the correlation determined based on results of the executed query;
to monitor, based on a set schedule, the data source for matches to the query to extract data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
to extract data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
to determine an extraction rate for extracting the data, the extraction rate indicating an amount of the data that is extracted over a first time period;
to determine a first processing rate for processing the extracted data with a number of parallel processors, the first processing rate indicating an amount of extracted data that is processed over a second time period;
to dynamically adjust the number of parallel processors for analyzing the extracted data based on the extraction rate to obtain a second processing rate that is greater than the first processing rate;
to analyze, with the parallel processors, the extracted data to determine at least one of a sentiment, an index, a pattern, or a combination thereof;
to establish a two-way communication channel, between at least the entity that selected the data source for monitoring and a user device of a user that provided data to the data source, based on the analysis of the extracted data;
to transmit, from the entity via the two-way communication channel, a first message directed to the user device based on the analysis of the extracted data; and
to receive, from the user device via the two-way communication channel, a second message in response to the first message directed to the user device.

### Claim 14 (depends on 13)

The apparatus of claim 13, in which:
the customer information comprises a customer's location; and
the health related information comprises at least one of locations for health care providers, a customer's insurance information, a customer's health records, or a combination thereof.

### Claim 15 (depends on 13)

The apparatus of claim 13, in which the two-way communication channel notifies the user device of at least one of a health care provider within a specific vicinity of the user device, an update to insurance information, an application for health care enrollment, or a combination thereof.

### Claim 16 (depends on 13)

The apparatus of claim 13, in which the two-way communication channel comprises at least one of short message service (SMS), click-to-voice, interactive voice response (IVR), e-mail, phone, Internet protocol, message board, social media, digital communication, or a combination thereof.

### Claim 17

A non-transitory computer-readable medium having program code recorded thereon for analyzing data, the program code being executed by a processor and comprising:
program code to generate, by an entity, a query based at least in part on a topic of interest;
program code to execute the query on a plurality of data sources, at least one of the plurality of data sources comprising at least one of customer information, health related information, or a combination thereof;
program code to select, by the entity, a data source from the plurality of data sources for monitoring based on a correlation between the data source and the topic of interest, the correlation determined based on results of the executed query;
program code to monitor, based on a set schedule, the data source for matches to the query to extract data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
program code to extract data from the data source when at least an update to stored data matches the query, newly added data matches the query, or a combination thereof;
program code to determine an extraction rate for extracting the data, the extraction rate indicating an amount of the data that is extracted over a first time period;
program code to determine a first processing rate for processing the extracted data with a number of parallel processors, the first processing rate indicating an amount of extracted data that is processed over a second time period;
program code to dynamically adjust the number of parallel processors for analyzing the extracted data based on the extraction rate to obtain a second processing rate that is greater than the first processing rate;
program code to analyze, with the parallel processors, the extracted data to determine at least one of a sentiment, an index, a pattern, or a combination thereof;
program code to establish a two-way communication channel, between at least the entity that selected the data source for monitoring and a user device of a user that provided data to the data source, based on the analysis of the extracted data;
program code to transmit, from the entity via the two-way communication channel, a first message directed to the user device based on the analysis of the extracted data; and
program code to receive, from the user device via the two-way communication channel, a second message in response to the first message directed to the user device.

### Claim 18 (depends on 17)

The non-transitory computer-readable medium of claim 17, in which:
the customer information comprises a customer's location; and
the health related information comprises at least one of locations for health care providers, a customer's insurance information, a customer's health records, or a combination thereof.

### Claim 19 (depends on 17)

The non-transitory computer-readable medium of claim 17, in which the two-way communication channel notifies the user device of at least one of a health care provider within a specific vicinity of the user device, an update to insurance information, an application for health care enrollment, or a combination thereof.

### Claim 20 (depends on 17)

The non-transitory computer-readable medium of claim 17, in which the two-way communication channel comprises at least one of short message service (SMS), click-to-voice, interactive voice response (IVR), e-mail, phone, Internet protocol, message board, social media, digital communication, or a combination thereof.
