IP Library Granted Patent US 12,210,518
Granted Patent B2
US 12,210,518 · App. 16/871,398 · Granted Jan 28, 2025

Personalized spelling correction

Inventor: Matt Barta (Seattle, WA)
G06F16/243G06F16/24578G06F40/205G06F40/232G06F40/237G06F40/289
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 12,210,518
App. No.
16/871,398
Granted
Jan 28, 2025
Kind
B2
Abstract

A content management system generates a personalized vocabulary for a user by analyzing content items associated with a namespace of the user. The content management system receives a query. The content management system determines that the at least one search term does not occur at least a threshold number of times in the personalized vocabulary. The content management system identifies a prefix of the at least one search term. The content management system parses the personalized vocabulary based on the prefix to identify a set of search term options. The content management system generates a personalized ranking of the search term options based on (a) an edit distance; (b) a frequency of each search term option's occurrence in the personalized vocabulary; or (c) a combination of (a) and (b). The content management system presents at least a top ranked search term option to the user.

Claims (63)

1. A method, comprising:

generating, by a content management system, a personalized vocabulary for a user account by analyzing content items associated with a file directory structure of the user account, wherein the personalized vocabulary comprises an indication of where each occurrence of each term is located within a hierarchy of the file directory structure;

receiving, by the content management system, a query comprising a first search term and a second search term;

determining, by the content management system, that the first search term does not occur at least a threshold number of times in the personalized vocabulary;

parsing, by the content management system, the personalized vocabulary based on each of the first search term and the second search term to identify first search term options and second search term options;

generating, by the content management system, a personalized ranking of the first search term options, wherein the personalized ranking is based on:

a location of each occurrence of each first search term option within the hierarchy of the file directory structure, and

one or more of: an edit distance between each first search term option and the first search term, and a frequency of occurrence of each first search term option in the personalized vocabulary; and

determining, by the content management system, that the second search term occurs at least the threshold number of times in the personalized vocabulary;

generating, by the content management system, a set of phrases by combining each second search term option with the second search term; and

comparing each phrase in the set of phrases to the personalized vocabulary; and

providing for display, by the content management system, at least one of the search term options based on the personalized ranking and at least one of the set of phrases.

2. The method of claim 1 , further comprising:

determining that the query was received via a graphical user interface dedicated to a specific file location.

3. The method of claim 2 , wherein the personalized ranking is weighted based on the location of each occurrence of each search term option in the personalized vocabulary.

4. The method of claim 1 , further comprising:

receiving, by the content management system, a second query comprising the first search term from a second user;

determining, by the content management system, that the first search term does not occur at least the threshold number of times in a second personalized vocabulary associated with the second user;

parsing, by the content management system, the second personalized vocabulary based on the first search term to identify second search term options, the second search term options being different from the search term options;

generating, by the content management system, a second personalized ranking of the second search term options; and

providing for display, by the content management system, at least a second one of the second search term options.

5. The method of claim 4 , wherein the at least second one of the second search term options is different from the search term options.

6. A non-transitory computer readable medium including one or more sequences of instructions that, when executed by one or more processors, cause a processor in communication with one or more input devices to perform operations comprising:

receiving, by a content management system, a query comprising a first search term and a second search term;

comparing, by the content management system, the first search term to a personalized vocabulary associated with a user account, the personalized vocabulary comprising an indexing of a plurality of terms contained in content items associated with the user account, wherein the index comprises an indication of where each occurrence of each term is located within a hierarchy of a file directory structure of an account of the user;

determining, by the content management system, that the first search term includes a first error;

parsing, by the content management system, the personalized vocabulary based on the first error in the first search term;

generating, by the content management system, first search term options by comparing the first search term to the personalized vocabulary and second search term options by comparing the second search term to the personalized vocabulary;

generating, by the content management system, a personalized ranking of the search term options, wherein the personalized ranking is based on:

a location of each occurrence of each search term option within the hierarchy of the file directory structure of the account, and

one or more of: an edit distance between each search term option and the first search term, and a frequency of each search term option's occurrence in the personalized vocabulary; and

determining, by the content management system, that the second search term does not include a second error;

generating, by the content management system, a set of phrases by combining each second search term option with the second search term;

comparing each phrase in the set of phrases to the personalized vocabulary; and

providing for display, by the content management system, at least one of the search term options based on the personalized ranking and at least one of the set of phrases.

7. The non-transitory computer readable medium of claim 6 , further comprising:

determining that the query was received via a graphical user interface dedicated to a specific file location.

8. The non-transitory computer readable medium of claim 6 , wherein the personalized ranking is weighted based on a location of each occurrence of each search term option in the personalized vocabulary.

9. The non-transitory computer readable medium of claim 6 , wherein the query comprises at least a second search term.

10. The non-transitory computer readable medium of claim 9 , further comprising:

determining, by the content management system, that at least the second search term does not include a typographical error.

11. The non-transitory computer readable medium of claim 10 , further comprising:

generating, by the content management system, a set of phrases by combining each search term option with at least the second search term.

12. The non-transitory computer readable medium of claim 11 , further comprising:

comparing each phrase in the set of phrases to the personalized vocabulary.

13. A system comprising:

one or more processors; and

a memory having programming instructions stored thereon, which, when executed by the one or more processors, cause the system to perform operations comprising:

receiving, from a user, a query comprising at least a first search term and a second search term;

comparing the first search term and the second search term to a personalized vocabulary associated with the user, the personalized vocabulary comprising an indexing of a plurality of terms contained in content items associated with the user, wherein the indexing comprises an indication of where each occurrence of each term is located within a hierarchy of a file directory structure associated with an account of the user;

determining that the first search term includes a typographical error;

determining that the second search term does not include a typographical error;

parsing the personalized vocabulary based on the first search term;

generating search term options by comparing the first search term to the personalized vocabulary;

generating a set of phrases by combining each search term option with the second search term;

comparing each phrase in the set of phrases to the personalized vocabulary;

generating a personalized ranking of phrases, wherein the personalized ranking is based on:

a location of each occurrence of each search term option within the hierarchy of the file directory structure of the account, and

one or more of: an edit distance between each phrase and the first search term and the second search term, and a frequency of each phrase's occurrence in the personalized vocabulary; and

providing for display at least one of the set of phrases based on the personalized ranking of phrases.

14. The system of claim 13 , further comprising:

determining that the user submitted the query via a graphical user interface dedicated to a specific file location.

15. The system of claim 14 , wherein the personalized ranking is weighted based on a location of each occurrence of each phrase in the personalized vocabulary.

Assignments (4)
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 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2020
From: BARTA, MATT
To: DROPBOX, INC.
Reel/Frame 052624/0570 →
Continuity (1)
Related Publication 20210349888A1 · Nov 11, 2021
References Cited (37)
US 3670310A · Bharwani · 1972 [cited by examiner]
US 5050218A · Ikeda · 1991 [cited by examiner]
US 5604897A · Travis · 1997 [cited by applicant]
US 6665662B1 · Kirkwood et al. · 2003 [cited by applicant]
US 7099937B1 · Ochiai · 2006 [cited by examiner]
US 8386728B1 · Ionescu · 2013 [cited by examiner]
US 8554873B1 · Ganesh · 2013 [cited by examiner]
US 20020143828A1 · Montero et al. · 2002 [cited by applicant]
US 20050165777A1 · Hurst-Hiller · 2005 [cited by examiner]
US 20050267871A1 · Marchisio · 2005 [cited by examiner]
US 20060031197A1 · Oral · 2006 [cited by examiner]
US 20060241944A1 · Potter · 2006 [cited by examiner]
US 20090012956A1 · Wen · 2009 [cited by examiner]
US 20100082570A1 · Altaf · 2010 [cited by examiner]
US 20100205172A1 · Luk · 2010 [cited by examiner]
US 20110264461A1 · Benja-Athon · 2011 [cited by examiner]
US 20120030201A1 · Pickering · 2012 [cited by examiner]
US 20130024459A1 · Bodd · 2013 [cited by examiner]
US 20130066896A1 · Mehanna · 2013 [cited by examiner]
US 20130124492A1 · Gao · 2013 [cited by examiner]
US 20130144592A1 · Och · 2013 [cited by examiner]
US 20130185277A1 · Hampole · 2013 [cited by examiner]
US 20130238629A1 · Kosuri · 2013 [cited by examiner]
US 20180060180A1 · Tan · 2018 [cited by examiner]
US 20180067957A1 · Paterson · 2018 [cited by examiner]
US 20190005089A1 · Kempf · 2019 [cited by examiner]
US 20190259387A1 · Mertens et al. · 2019 [cited by applicant]
US 20190362003A1 · Zhang et al. · 2019 [cited by applicant]
US 20190370393A1 · Finch · 2019 [cited by examiner]
US 20200265011A1 · Liu · 2020 [cited by examiner]
US 20210036927A1 · Mantri · 2021 [cited by examiner]
JP H08221427A · 1996 [cited by examiner]
Non Patent Literature “Personalized Online Spell Correction for Personal Search”, published proceedings of 2019 World Wide Web Conference (Year: 2019). [cited by examiner]
Non Patent Literature “Personalized Online Spell Correction for Personal Search”; published proceedings of 2019 World Wide Web. (Year: 2019). [cited by examiner]
Learning Phrase-Based Spelling Error Models from Clickthrough Data (Year: 2010). [cited by examiner]
“Personalized Online Spell Correction for Personal Search”, published proceedings of 2019 World Wide Web Conference (Year: 2019). [cited by examiner]
Gupta J., et al., “Personalized Online Spell Correction for Personal Search,” retrieved from https://dl.acm.org/doi/fullHtml/10.1145/3308558.3313706, located via Google, May 2019, 16 pages. [cited by applicant]