Patentable/Patents/US-10742577
US-10742577

Real-time search and validation of phrases using linguistic phrase components

PublishedAugust 11, 2020
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A method and system is disclosed for evaluating a chat message sent between users of an online environment. The method may include receiving a chat message and parsing the message into words. The method determines the acceptability of the message by matching the message to a plurality of acceptable messages stored in a data structure. Upon determining the message does not match any acceptable messages, the method replaces each word in the message with grammatical metadata. The method may use templates to determine if the message has acceptable word combinations based on the metadata. The method may also compare the metadata to rules wherein the rules determine if the message has unacceptable word combinations based on the metadata. The method may send the message to a user upon determining words in the message do not match any word in a list of unacceptable words.

Patent Claims
24 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method for evaluating a chat message sent between users of an online environment, comprising: traversing a prefix trie based on the chat message, wherein each node within the prefix trie corresponds to a respective term, and wherein traversing the prefix trie further comprises: matching a first term in the chat message to a root node of the prefix trie; and matching one or more successive terms in the chat message, to a child node of a node corresponding to a preceding term in the chat message; and upon determining the chat message does not correspond to at least one traversable path in the prefix trie, based on a first node within the prefix trie not having a child node corresponding to a next term within the chat message: identifying a plurality of binary bitmaps corresponding to the chat message and relating to a plurality of templates; identifying at least one template of the plurality of templates based on the plurality of binary bitmaps, wherein each template specifies a pattern for an allowed chat message based on metadata specifying word type and word usage; and determining the chat message is valid based on the identified at least one template, and in response transmitting the chat message to a message recipient.

2

2. The method of claim 1 , wherein an equivalence node links two nodes in the traversable path, and wherein the equivalence node provides an optional path between the two nodes for traversing the prefix trie.

3

3. The method of claim 1 , wherein the plurality of binary bitmaps includes a binary bitmap for each term in the chat message, wherein bits set to one correspond to templates which include the pattern for the term in the chat message and bits set to zero correspond to templates which do not include the pattern for the term in the chat message, wherein identifying the one or more templates comprises performing a logical AND operation on the identified binary bitmaps to obtain a resultant bitmap, and wherein determining the chat message is valid comprises determining at least one bit in the resultant bitmap is set to one.

4

4. The method of claim 1 , wherein traversing the prefix trie comprises: matching a first term in the chat message to a root node in the prefix trie; and matching the successive term in the chat message to a child node of the root node.

5

5. The method of claim 4 , further comprising: traversing the prefix trie while a sender composes the chat message, term-by term; and presenting, for a current node of the prefix trie, terms associated with one or more linked nodes of the current node as suggestions for a next term in the chat message.

6

6. The method of claim 1 , wherein the metadata further includes links to a rule, describing prohibited combinations of terms in the chat message.

7

7. The method of claim 6 , further comprising: identifying the rule based on a first term of the chat message, wherein the first term is in a first set of terms associated with the rule; determining whether a second term in the chat message is present in a second set of terms in the rule; and upon determining the second term is not present in the second set of terms in the rule, locating a second rule based on the second term of the chat message wherein the second term is present in a first set of terms of the second rule.

8

8. The method of claim 7 , further comprising: upon determining a third term in the chat message is not present in a second set of terms of the second rule, determining the chat message is valid.

9

9. The method of claim 1 , further comprising: upon matching each term in the chat message to nodes in the prefix trie, thereby identifying a traversable path in the prefix trie corresponding to the chat message, transmitting the chat message to a message recipient.

10

10. A non-transitory computer-readable storage medium storing a program, which, when executed by a processor performs an operation for evaluating a chat message sent between users of an online environment, the operation comprising: traversing a prefix trie based on the chat message, wherein each node within the prefix trie corresponds to a respective term, and wherein traversing the prefix trie further comprises: matching a first term in the chat message to a root node of the prefix trie; and matching one or more successive terms in the chat message, to a child node of a node corresponding to a preceding term in the chat message; and upon determining the chat message does not correspond to at least one traversable path in the prefix trie, based on a first node within the prefix trie not having a child node corresponding to a next term within the chat message: identifying a plurality of binary bitmaps corresponding to the chat message and relating to a plurality of templates; identifying at least one template of the plurality of templates based on the plurality of binary bitmaps, wherein each template specifies a pattern for an allowed chat message based on metadata specifying word type and word usage; and determining the chat message is valid based on the identified at least one template, and in response transmitting the chat message to a message recipient.

11

11. The computer-readable storage medium of claim 10 , wherein an equivalence node links two nodes in the traversable path, and wherein the equivalence node provides an optional path between the two nodes.

12

12. The computer-readable storage medium of claim 10 , wherein the plurality of binary bitmaps includes a binary bitmap for each term in the chat message, wherein bits set to one correspond to templates which include the pattern for the term in the chat message and bits set to zero correspond to templates which do not include the pattern for the term in the chat message, wherein identifying the one or more templates comprises performing a logical AND operation on the identified binary bitmaps to obtain a resultant bitmap, and wherein determining the chat message is valid comprises determining at least one bit in the resultant bitmap is set to one.

13

13. The computer-readable storage medium of claim 10 , wherein traversing the prefix trie, comprises: matching a first term in the chat message to a root node in the prefix trie; and matching the successive term in the chat message to a child node of the root node.

14

14. The computer-readable storage medium of claim 13 , wherein traversing the prefix trie further comprises: traversing the prefix trie while a sender composes the chat message, term-by term; and presenting, for a current node of the prefix trie, terms associated with one or more linked nodes of the current node as suggestions for a next term in the chat message.

15

15. The computer-readable storage medium of claim 10 , wherein the metadata further includes links to a rule, describing prohibited combinations of terms in the chat message.

16

16. The computer-readable storage medium of claim 15 , the operation further comprising: identifying the rule based on a first term of the chat message, wherein the first term is in a first set of terms associated with the rule; determining whether a second term in the chat message is present in a second set of terms in the rule; and upon determining the second term is not present in the second set of terms in the rule, locating a second rule based on the second term of the chat message wherein the second term is present in a first set of terms of the second rule.

17

17. The computer-readable storage medium of claim 16 , the operation further comprising: upon determining a third term in the chat message is not present in a second set of terms of the second rule, determining the chat message is valid.

18

18. A system, comprising: a processor; and a memory, wherein the memory includes an application program configured to perform an operation for evaluating a chat message sent between users of an online environment, comprising: traversing a prefix trie based on the chat message, wherein each node within the prefix trie corresponds to a respective term, and wherein traversing the prefix trie further comprises: matching a first term in the chat message to a root node of the prefix trie; and matching one or more successive terms in the chat message, to a child node of a node corresponding to a preceding term in the chat message; and upon determining the chat message does not correspond to at least one traversable path in the prefix trie, based on a first node within the prefix trie not having a child node corresponding to a next term within the chat message: identifying a plurality of binary bitmaps corresponding to the chat message and relating to a plurality of templates; identifying at least one template of the plurality of templates based on the plurality of binary bitmaps, wherein each template specifies a pattern for an allowed chat message based on metadata specifying word type and word usage; and determining the chat message is valid based on the identified at least one template, and in response transmitting the chat message to a message recipient.

19

19. The system of claim 18 , wherein an equivalence node links two nodes in the traversable path, and wherein the equivalence node provides an optional path between the two nodes.

20

20. The system of claim 18 , wherein the plurality of binary bitmaps includes a binary bitmap for each term in the chat message, wherein bits set to one correspond to templates which include the pattern for the term in the chat message and bits set to zero correspond to templates which do not include the pattern for the term in the chat message, wherein identifying the one or more templates comprises performing a logical AND operation on the identified binary bitmaps to obtain a resultant bitmap, and wherein determining the chat message is valid comprises determining at least one bit in the resultant bitmap is set to one.

21

21. The system of claim 18 , wherein traversing the prefix trie, comprises: matching a first term in the chat message to a root node in the prefix trie; and matching the successive term in the chat message to a child node of the root node.

22

22. The system of claim 21 , wherein traversing the prefix trie further comprises: traversing the prefix trie while a sender composes the chat message, term-by term; and presenting, for a current node of the prefix trie, terms associated with one or more linked nodes of the current node as suggestions for a next term in the chat message.

23

23. The system of claim 18 , wherein the metadata further includes links to a rule, describing prohibited combinations of terms in the chat message.

24

24. The system of claim 23 , the operation further comprising: identifying the rule based on a first term of the chat message, wherein the first term is in a first set of terms associated with the rule; determining whether a second term in the chat message is present in a second set of terms in the rule; upon determining the second term is not present in the second set of terms in the rule, locating a second rule based on the second term of the chat message wherein the second term is present in a first set of terms of the second rule; and upon determining a third term in the chat message is not present in a second set of terms of the second rule, determining the chat message is valid.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

October 21, 2013

Publication Date

August 11, 2020

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Real-time search and validation of phrases using linguistic phrase components” (US-10742577). https://patentable.app/patents/US-10742577

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.