IP Library Granted Patent US 12,229,499
Granted Patent B1
US 12,229,499 · App. 18/478,907 · Granted Feb 18, 2025

Computer-implemented presentation of synonyms based on syntactic dependency

Inventors: Roman Guliak (San Francisco, CA); Stanislav Levental (San Francisco, CA); Yuriy Tanskiy (San Francisco, CA)
Assignee: Grammarly, Inc.
G06F40/166G06F3/0481G06F3/04886G06F40/211G06F40/247G06F40/284G06F40/30G06N3/045G06N3/08
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,229,499
App. No.
18/478,907
Granted
Feb 18, 2025
Kind
B1
Abstract

In an embodiment, the disclosed technologies are capable of identifying a target word within a text sequence; displaying a subset of candidate synonyms for the target word, determining a synonym selected from the subset of candidate synonyms, and replacing the target word with the selected synonym, where the subset of candidate synonyms has been created using syntactic dependency data for the target word.

Claims (39)

1. A computer-implemented method comprising:

in response to receiving a text sequence input of two or more words, determining and storing the text sequence and a target word of the text sequence;

inputting the text sequence including the target word into a dependency parser and outputting syntactic dependency data for the target word associated with a syntactic dependency relationship between the target word and at least one other word of the text sequence;

retrieving a target word vector indicating a semantic meaning of the target word, a set of candidate synonyms for the target word and a set of candidate word vectors indicating semantic meanings of the candidate synonyms;

inputting the syntactic dependency data into a trained neural network-based model and receiving as output a dependency context vector indicating a semantic meaning of the syntactic dependency data;

for each candidate synonym of the set of candidate synonyms using the target word vector, the candidate word vector, and the dependency context vector, computing a similarity score, wherein the similarity score indicates a semantic similarity of the candidate synonym to the target word;

when the similarity score for a candidate synonym satisfies a criterion, adding the candidate synonym to a subset of candidate synonyms; and

displaying the subset of candidate synonyms on a graphical user interface of a mobile computing device.

2. The computer-implemented method of claim 1 , further comprising:

executing the determining and storing, the inputting, and the outputting using a thesaurus subsystem hosted and executed using a server computer; and

displaying the subset of candidate synonyms using a browser of the mobile computing device.

3. The computer-implemented method of claim 1 , wherein receiving a text sequence input comprises a voice interface receiving audio signals containing speech and converting the audio signals to text representing words.

4. The computer-implemented method of claim 2 , wherein receiving a text sequence input comprises transcribing words spoken in a vicinity of a microphone.

5. The computer-implemented method of claim 1 , wherein receiving a text sequence input comprises extracting text from a digital content item.

6. The computer-implemented method of claim 4 , wherein extracting the text from a digital content item comprises extracting the text from a software application.

7. The computer-implemented method of claim 6 , wherein the software application comprises one of an email program, an instant messaging program or a social media program.

8. The computer-implemented method of claim 4 , wherein extracting the text from a digital content item comprises extracting the text from a document, a message, a social media posting, a list of search results, or a web page.

9. The computer-implemented method of claim 1 , wherein receiving a text sequence input including a target word comprises detecting a trigger signal and switching from displaying a virtual keyboard to displaying a thesaurus interface.

10. The computer-implemented method of claim 9 , wherein the trigger signal comprises one or more of a position of a cursor relative to a word in the text sequence input and a time elapsed from a last cursor movement.

11. A mobile computing device, comprising a display, a processor coupled to the display, a memory coupled to the processor, and one or more non-transitory computer-readable media coupled to the processor and storing one or more sequences of instructions which, when executed by the processor, cause the processor to perform:

displaying, on the display, a graphical user interface that includes an input area and an output area;

receiving a text sequence input including a target word;

displaying, in the output area, a subset of candidate synonyms for the target word, the subset of candidate synonyms being created by:

inputting the text sequence including the target word into a dependency parser and outputting syntactic dependency data for the target word associated with a syntactic dependency relationship between the target word and at least one other word of the text sequence;

inputting the syntactic dependency data into a trained neural network-based model and receiving as output a dependency context vector indicating a semantic meaning of the syntactic dependency data;

retrieving a set of candidate synonyms for the target word from a search engine;

for each candidate synonym of the set of candidate synonyms, using a target word vector indicating a semantic meaning of the target word, a set of candidate word vectors indicating semantic meanings of the candidate synonyms, and the dependency context vector, computing a similarity score, wherein the similarity score indicates a semantic similarity of the candidate synonym to the target word;

when the similarity score for a candidate synonym satisfies a criterion, adding the candidate synonym to a subset of candidate synonyms.

12. The mobile computing device of claim 11 , wherein the instructions for receiving a text sequence input further comprise sequences of instructions which, when executed by the processor, cause the processor to perform:

executing the inputting, and the outputting using a thesaurus subsystem hosted and executed using a server computer;

displaying the subset of candidate synonyms using a browser of the mobile computing device.

13. The mobile computing device of claim 11 , wherein the instructions for receiving a text sequence input further comprise sequences of instructions which, when executed by the processor, cause the processor to perform: a voice interface receiving audio signals containing speech and converting the audio signals to text representing words.

14. The mobile computing device of claim 13 , wherein the instructions for receiving a text sequence input further comprise sequences of instructions which, when executed by the processor, cause the processor to perform transcribing words spoken in a vicinity of a microphone.

15. The mobile computing device of claim 11 , wherein the instructions for receiving a text sequence input further comprise sequences of instructions which, when executed by the processor, cause the processor to perform extracting text from a digital content item.

16. The mobile computing device of claim 15 , wherein the instructions for extracting the text from a digital content item further comprise sequences of instructions which, when executed by the processor, cause the processor to perform extracting the text from a software application.

17. The mobile computing device of claim 16 , wherein the software application comprises one of an email program, an instant messaging program or a social media program.

18. The mobile computing device of claim 15 , wherein the instructions for extracting the text from a digital content item further comprise sequences of instructions which, when executed by the processor, cause the processor to perform extracting the text from a document, a message, a social media posting, a list of search results, or a web page.

19. The mobile computing device of claim 11 , wherein the instructions for receiving a text sequence input including a target word further comprise sequences of instructions which, when executed by the processor, cause the processor to perform detecting a trigger signal and switching from displaying a virtual keyboard to displaying a thesaurus interface.

20. The mobile computing device of claim 19 , wherein the trigger signal comprises one or more of a position of a cursor relative to a word in the text sequence input and a time elapsed from a last cursor movement.

Assignments (2)
CHANGE OF NAME Recorded Nov 21, 2025
From: GRAMMARLY, INC.
To: SUPERHUMAN PLATFORM INC.
Reel/Frame 073655/0099 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2023
From: GULIAK, ROMAN; LEVENTAL, STANISLAV; TANSKIY, YURIY
To: GRAMMARLY, INC.
Reel/Frame 065361/0461 →
Continuity (3)
Continuation 18068164 · Dec 19, 2022
Continuation 17160193 · Jan 27, 2021
Continuation 16945453 · Jul 31, 2020
References Cited (47)
US 7890526B1 · Brewer · 2011 [cited by examiner]
US 8463591B1 · Chang · 2013 [cited by applicant]
US 9183297B1 · Baker · 2015 [cited by examiner]
US 10095784B2 · Gupta et al. · 2018 [cited by applicant]
US 10936635B2 · Kumbhar · 2021 [cited by applicant]
US 20110201387A1 · Paek et al. · 2011 [cited by applicant]
US 20110202836A1 · Badger · 2011 [cited by applicant]
US 20130002553A1 · Colley · 2013 [cited by applicant]
US 20160142787A1 · Mohamed · 2016 [cited by examiner]
US 20160321541A1 · Liu · 2016 [cited by examiner]
US 20160328383A1 · Cross, III · 2016 [cited by applicant]
US 20160328386A1 · Cross, III · 2016 [cited by applicant]
US 20160350395A1 · Gupta · 2016 [cited by examiner]
US 20180075368A1 · Brennan · 2018 [cited by applicant]
US 20180107654A1 · Jung · 2018 [cited by applicant]
US 20180157644A1 · Mandt · 2018 [cited by applicant]
US 20180173690A1 · Smith · 2018 [cited by applicant]
US 20180336183A1 · Lee · 2018 [cited by applicant]
US 20190087084A1 · Badger et al. · 2019 [cited by applicant]
US 20190147083A1 · Milligan · 2019 [cited by applicant]
US 20190197105A1 · Tagra · 2019 [cited by applicant]
US 20190220767A1 · Vigoda et al. · 2019 [cited by applicant]
US 20190370272A1 · Chen · 2019 [cited by examiner]
US 20190370337A1 · Lee et al. · 2019 [cited by applicant]
US 20200027446A1 · Ture · 2020 [cited by examiner]
US 20200058298A1 · Ban · 2020 [cited by applicant]
US 20200073996A1 · Wright · 2020 [cited by applicant]
US 20200089765A1 · Jayaraman · 2020 [cited by applicant]
US 20200110836A1 · Kumbhar et al. · 2020 [cited by applicant]
US 20200133967A1 · Shukla · 2020 [cited by applicant]
US 20200177942A1 · Wu · 2020 [cited by applicant]
US 20200327170A1 · Boxwell · 2020 [cited by applicant]
US 20200356637A1 · An · 2020 [cited by applicant]
US 20200379989A1 · Milligan · 2020 [cited by applicant]
US 20210089715A1 · Asano et al. · 2021 [cited by applicant]
US 20210149963A1 · Agarwal · 2021 [cited by applicant]
US 20210398693A1 · Dai · 2021 [cited by applicant]
CN 108491462A · 2018 [cited by applicant]
CN 109388801A · 2019 [cited by applicant]
Grzegorczyk K., “Vector representations of text data in deep learning,” Doctoral dissertation, Computation and Language (cs.CL), Machine Learning cs.LG), DOI: 10.48550/arXiv.1901.01695, Jan. 7, 2019, pp. 1-102, 105 page… [cited by applicant]
Ding, Jenny, Intellectual Property Office Singapore, Examination Report/Notice of Allowance for Application No. SG11202300599U, May 31, 2024, 5 pages, Singapore. [cited by applicant]
International Searching Authority, International Search Report and Written Opinion of the International Searching Authority for PCT/US2021/044006 mailed Sep. 28, 2021. 11 pages. [cited by applicant]
TensorFlow Core, “Word Embeddings”, https://www.tensorflow.org/tutorials/text/word_embeddings, last viewed on Aug. 2, 2020, 2 pages. [cited by applicant]
Mikolov et al., “Distributed Representations of Words and Phrases and their Compositionality”, dated Oct. 16, 2013, 9 pages. [cited by applicant]
Melamud et al., “A Simple Word Embedding Model for Lexical Substitution”, Proceedings of the 1st Workshop on Vector Space Modeling for Natural Language Processing, dated Jun. 2015, 7 pages. [cited by applicant]
McCormick, Chris, “Word2Vec Tutorial—The Skip-Gram Model”, http://mccormickml.com/2016/04/19/word2vec-tutorial-the-skip-gram-, dated Apr. 19, 2016, 12 pages. [cited by applicant]
Levy et al., “Dependency-Based Word Embeddings”, ACL, dated 2014, 7 pages. [cited by applicant]