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.
Legal claims defining the scope of protection, as filed with the USPTO.
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. 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. 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. 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. 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. The method of claim 1 , wherein the metadata further includes links to a rule, describing prohibited combinations of terms in the chat message.
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. The system of claim 18 , wherein the metadata further includes links to a rule, describing prohibited combinations of terms in the chat message.
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.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 21, 2013
August 11, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.