IP Library Granted Patent US 9,870,422
Granted Patent B2
US 9,870,422 · App. 13/869,930 · Granted Jan 16, 2018

Natural language search

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 9,870,422
App. No.
13/869,930
Granted
Jan 16, 2018
Kind
B2
Abstract

Embodiments are provided for natural language search. In some embodiments, a content search request for content items related to an account with a content management system may be received, at least one filter from the content search query request may be determined to identify content items based on at least one of a management function and a content interaction function performed with a content item for the account, and the at least one filter may be applied to accessible content items for the account to identify content items.

Claims (81)

1. A method for natural language search, comprising:

at a content management system comprising one or more processors and one or more programs executed by the one or more processors to perform the method, performing operations comprising:

receiving a content item search request for searching content items associated with a particular user account held with the content management system;

parsing the content item search request according to rules of a grammar to identify a plurality of keywords of the content item search request;

identifying a first keyword, of the plurality of keywords, which specifies a type of content item that is a subject of the content item search request;

identifying a second additional keyword, of the plurality of keywords, which specifies a particular content item management function, of a plurality of predefined content item management functions, that is a subject of the content item search request;

based, at least in part, on the identifying the second additional keyword, selecting, from among the plurality of predefined content item management functions, the particular content item management function as a subject of the content item search request;

wherein the particular content item management function is selected from the group consisting of:

sharing a content item with a target user account held with the content management system,

organizing a content item into a target cluster of similar content items,

determining a similarity between a content item and a target content item, and

synchronizing a content item to a target computing device;

identifying one or more additional keywords, of the plurality of keywords, which specifies a target of the particular content item management function;

wherein the identifying the first keyword, the identifying the second additional keyword, and the identifying the one or more additional keywords are based, at least in part, on the parsing the content item search request according to the rules of the grammar;

verifying one or more content items, of the content items associated with the particular user account, each satisfy both of the following conditions:

(a) the each content item is of the type of content item that is the subject of the content item search request specified by the first keyword, and

(b) the particular content item management function specified by the second additional keyword has been performed on the each content item for the target specified by the one or more additional keywords;

and

based, at least in part, on the verifying that each of the one or more content items satisfy both conditions (a) and (b), providing, in a response to the content item search request, a search result that identifies the one or more content items, of the content items associated with the particular user account, that each satisfy both conditions (a) and (b).

2. The method of claim 1 , wherein the content items comprise content items stored at least one of locally or remotely.

3. The method of claim 1 , wherein at least a portion of the content item search request comprises a string datatype.

4. The method of claim 1 wherein the content item search request comprises at least one of submitting text, selecting text, or providing voice commands.

5. The method of claim 1 , wherein the content items are selectively synchronized with the particular user account.

6. The method of claim 1 , wherein identifying the second additional keyword comprises applying one or more regular expressions to the content item search request.

7. The method of claim 1 , wherein determining which, if any, of the content items associated with the particular user account satisfy both of the conditions (a) and (b) comprises performing an iterative filtering operation comprising:

identifying a first set of one or more content items, of the content items associated with the particular user account, that satisfy condition (a); and

identifying, among the first set of one or more content items, a second set of one or more content items that satisfy condition (b).

8. One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving a content item search request for searching content items associated with a particular user account held with a content management system;

parsing the content item search request according to rules of a grammar to identify a plurality of keywords of the content item search request;

identifying a first keyword, of the plurality of keywords, which specifies a type of content item that is a subject of the content item search request;

identifying a second additional keyword, of the plurality of keywords, which specifies a particular content item management function, of a plurality of predefined content item management functions, that is a subject of the content item search request;

based, at least in part, on the identifying the second additional keyword, selecting, from among the plurality of predefined content item management functions, the particular content item management function as a subject of the content item search request;

wherein the particular content item management function is selected from the group consisting of:

sharing a content item with a target user account held with the content management system,

organizing a content item into a target cluster of similar content items,

determining a similarity between a content item and a target content item, and

synchronizing a content item to a target computing device;

identifying one or more additional keywords, of the plurality of keywords, which specifies a target of the particular content item management function;

wherein the identifying the first keyword, the identifying the second additional keyword, and the identifying the one or more additional keywords are based, at least in part, on the parsing the content item search request according to the rules of the grammar;

verifying one or more content items, of the content items associated with the particular user account, each satisfy both of the following conditions:

(a) the each content item is of the type of content item that is the subject of the content item search request specified by the first keyword, and

(b) the particular content item management function specified by the second additional keyword has been performed on the each content item for the target specified by the one or more additional keywords;

and

based, at least in part, on the verifying that each of the one or more content items satisfy both conditions (a) and (b), providing, in a response to the content item search request, a search result that identifies the one or more content items, of the content items associated with the particular user account, that each satisfy both conditions (a) and (b).

9. The one or more non-transitory computer-readable media of claim 8 , wherein the content items comprise content items stored at least one of locally or remotely.

10. The one or more non-transitory computer-readable media of claim 8 , wherein at least a portion of the content item search request comprises a string datatype.

11. The one or more non-transitory computer-readable media of claim 8 , wherein the content item search request comprises at least one of submitting text, selecting text, or providing voice commands.

12. The one or more non-transitory computer-readable media of claim 8 , wherein the operations further comprise the operation of selectively synchronizing the content items with the particular user account.

13. The one or more non-transitory computer-readable media of claim 8 , wherein identifying the second additional keyword comprises applying regular expressions to the content item search request.

14. The one or more non-transitory computer-readable media of claim 8 , wherein determining which, if any, of the content items associated with the particular user account satisfy both of the conditions (a) and (b) comprises performing an iterative filtering operation comprising:

identifying a first set of one or more content items, of the content items associated with the particular user account, that satisfy condition (a); and

identifying, among the first set of one or more content items, a second set of one or more content items that satisfy condition (b).

15. A system comprising:

one or more processors;

one or more non-transitory computer-readable media storing one or more computer programs for execution by the one or more processors, the one or more computer programs comprising instructions configured for:

receiving a content item search request for searching content items associated with a particular user account held with a content management system;

parsing the content item search request according to rules of a grammar to identify a plurality of keywords of the content item search request;

identifying a first keyword, of the plurality of keywords, which specifies a type of content item that is a subject of the content item search request;

identifying a second additional keyword, of the plurality of keywords, which specifies a particular content item management function, of a plurality of predefined content item management functions, that is a subject of the content item search request;

based, at least in part, on the identifying the second additional keyword, selecting, from among the plurality of predefined content item management functions, the particular content item management function as a subject of the content item search request;

wherein the particular content item management function is selected from the group consisting of:

sharing a content item with a target user account held with the content management system,

organizing a content item into a target cluster of similar content items,

determining a similarity between a content item and a target content item, and

synchronizing a content item to a target computing device;

identifying one or more additional keywords, of the plurality of keywords, which specifies a target of the particular content item management function;

wherein the identifying the first keyword, the identifying the second additional keyword, and the identifying the one or more additional keywords are based, at least in part, on the parsing the content item search request according to the rules of the grammar;

verifying one or more content items, of the content items associated with the particular user account, each satisfy both of the following conditions:

(a) the each content item is of the type of content item that is the subject of the content item search request specified by the first keyword, and

(b) the particular content item management function specified by the second additional keyword has been performed on the each content item for the target specified by the one or more additional keywords;

and

based, at least in part, on the verifying that each of the one or more content items satisfy both conditions (a) and (b), providing, in a response to the content item search request, a search result that identifies the one or more content items, of the content items associated with the particular user account, that each satisfy both conditions (a) and (b).

16. The system of claim 15 , wherein the content items comprise content items stored at least one of locally or remotely.

17. The system of claim 15 , wherein at least a portion of the content item search request comprises a string datatype.

18. The system of claim 15 , wherein the content item search request comprises at least one of submitting text, selecting text, or providing voice commands.

19. The system of claim 15 , wherein the instructions are further configured for selectively synchronizing the content items with the particular user account.

20. The system of claim 15 , wherein identifying the second additional keyword comprises applying regular expressions to the content item search request.

21. The system of claim 15 , wherein determining which, if any, of the content items associated with the particular user account satisfy both of the conditions (a) and (b) comprises performing an iterative filtering operation comprising:

identifying a first set of one or more content items, of the content items associated with the particular user account, that satisfy condition (a); and

identifying, among the first set of one or more content items, a second set of one or more content items that satisfy condition (b).

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
SECURITY INTEREST Recorded Mar 24, 2014
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 032510/0890 →