IP Library › Granted Patent US 10,154,054
Granted Patent B2
US 10,154,054 · App. 15/640,266 · Granted Dec 11, 2018

Emoji frequency detection and deep link frequency

Inventors: Abhradeep Guha Thakurta (San Jose, CA); Andrew H. Vyrros (San Francisco, CA); Umesh S. Vaishampayan (Santa Clara, CA); Gaurav Kapoor (Santa Clara, CA); Julien Freudinger (Mountain View, CA); Vipul Ved Prakash (San Francisco, CA); Arnaud Legendre (San Fracisco, CA); Steven Duplinsky (San Francisco, CA)
Assignee: Apple Inc.
H04L63/1425G06F17/2235G06F17/2735G06F21/6254G06N99/005G06F17/276H04L63/0421
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,154,054
App. No.
15/640,266
Granted
Dec 11, 2018
Kind
B2
Abstract

Systems and methods are disclosed for generating term frequencies of known terms based on crowdsourced differentially private sketches of the known terms. An asset catalog can be updated with new frequency counts for known terms based on the crowdsourced differentially private sketches. Known terms can have a classification. A client device can maintain a privacy budget for each classification of known terms. Classifications can include emojis, deep links, locations, finance terms, and health terms, etc. A privacy budget ensures that a client does not transmit too much information to a term frequency server, thereby compromising the privacy of the client device.

Claims (30)

1. A computer-implemented method practiced on a set of one or more servers each comprising at least one hardware processor, the method comprising:

receiving a batch of rows of differentially private term sketches comprising differentially private sketches of terms known to the set of one or more servers, the differentially private sketches received from a plurality of client devices;

generating, or retrieving, a differentially private sketch of each of a set of known terms on the set of one or more servers, thereby generating a set of differentially private sketches of known terms;

selecting a row of a differentially private sketch from the batch;

querying, by the set of one or more servers, the set of differentially private sketches of known terms to find a match to the selected row of a differentially private sketch; and

adding, by the set of one or more servers, the selected row of the differentially private sketch to the matching differentially private sketch.

2. The method of claim 1 , further comprising:

determining a frequency of the term corresponding to the selected sketch.

3. The method of claim 2 , further comprising:

updating an asset catalog having frequencies of known terms with the determined frequencies of known terms generated from the received batch of rows of differentially private sketches, thereby generating an updated asset catalog; and

transmitting the updated asset catalog to at least one client device.

4. The method of claim 2 , wherein determining the frequency of a known term comprises:

generating a vector, V, comprising k values, each value obtained from a different one of k rows in the matching differentially private sketch for the term;

determining a sketch count value, C, wherein C is one of: a median of all values in vector V, or a minimum of all values in vector V; and

determining the frequency of the term by multiplying C by k.

5. A non-transitory machine readable media storing executable instructions which when executed by a set of one or more servers cause the set to perform a method, the method comprising:

receiving a batch of rows of differentially private term sketches comprising differentially private sketches of terms known to the set of one or more servers, the differentially private sketches received from a plurality of client devices;

generating, or retrieving, a differentially private sketch of each of a set of known terms on the set of one or more servers, thereby generating a set of differentially private sketches of known terms;

selecting a row of a differentially private sketch from the batch;

querying, by the set of one or more servers, the set of differentially private sketches of known terms to find a match to the selected row of a differentially private sketch; and

adding, by the set of one or more servers, the selected row of the differentially private sketch to the matching differentially private sketch.

6. The media of claim 5 , further comprising:

determining a frequency of the term corresponding to the selected sketch.

7. The media of claim 6 , further comprising:

updating an asset catalog having frequencies of known terms with the determined frequencies of known terms generated from the received batch of rows of differentially private sketches, thereby generating an updated asset catalog; and

transmitting the updated asset catalog to at least one client device.

8. The media of claim 6 , wherein determining the frequency of a known term comprises:

generating a vector, V, comprising k values, each value obtained from a different one of k rows in the matching differentially private sketch for the term;

determining a sketch count value, C, wherein C is one of: a median of all values in vector V, or a minimum of all values in vector V; and

determining the frequency of the term by multiplying C by k.

Continuity (4)
Continuation 15275358 · Sep 24, 2016
Provisional Application 62348992 · Jun 12, 2016
Provisional Application 62371659 · Aug 5, 2016
Related Publication 20170359364A1 · Dec 14, 2017