IP Library Granted Patent US 10,671,816
Granted Patent B1
US 10,671,816 · App. 15/968,983 · Granted Jun 2, 2020

Language independent representations

Inventors: Ying Zhang (Palo Alto, CA); Fei Huang (Chatham, NJ); Xiaolong Wang (Mountain View, CA)
Assignee: FACEBOOK, INC.
G06F40/58G06F40/211G06F40/30G06F40/42
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 10,671,816
App. No.
15/968,983
Granted
Jun 2, 2020
Kind
B1
Abstract

Snippets can be represented in a language-independent semantic manner. Each portion of a snippet can be represented by a combination of a semantic representation and a syntactic representation, each in its own dimensional space. A snippet can be divided into portions by constructing a dependency structure based on relationships between words and phrases. Leaf nodes of the dependency structure can be assigned: A) a semantic representation according to pre-defined word mappings and B) a syntactic representation according to the grammatical use of the word. A trained semantic model can assign to each non-leaf node of the dependency structure a semantic representation based on a combination of the semantic and syntactic representations of the corresponding lower-level nodes. A trained syntactic model can assign to each non-leaf node a syntactic representation based on a combination of the syntactic representations of the corresponding lower-level nodes and the semantic representation of that node.

Claims (59)

1. A method comprising:

receiving a snippet, wherein the snippet comprises a digital representation of one or more words or groups of characters from a first natural language;

transforming the received snippet into a first semantic vector in a virtual language independent vector space;

determining whether a second semantic vector exists in the virtual language independent space that is within a threshold difference of the first semantic vector; and

providing, as a translation of the snippet, content in an output domain that corresponds to a second semantic vector when a second semantic vector within the threshold difference has been identified.

2. The method of claim 1 further comprising:

providing, as a translation of the snippet, a translation from one or more alternate language processing systems when it is determined that no second semantic vector exists in the virtual language independent vector space that is within the threshold difference of the first semantic vector.

3. The method of claim 2 further comprising:

locating a second semantic vector that is the closest in the virtual language independent vector space, to the first semantic vector; and

using the second semantic vector to resolve ambiguities between multiple possible machine translation results.

4. The method of claim 1 , further comprising building a dependency structure by:

dividing the received snippet into groups of one or more words;

assigning each group of one or more words as a leaf node in the structure;

creating intermediate nodes in the dependency structure by identifying relationships between word groups and combining the related word groups into an intermediate node having the nodes containing the combined word groups as children; and

iteratively creating intermediate nodes until a single root node is obtained representing the snippet.

5. The method of claim 4 further comprising:

obtaining pre-defined semantic and syntactic representations for the word groups in the leaf nodes; and

obtaining semantic and syntactic representations for each intermediate node by applying a learned function to the semantic and syntactic representations of the lower-level nodes that were combined to create the intermediate node.

6. The method of claim 5 further comprising:

using the semantic representation of the root node as the first semantic vector; and

mapping the first semantic vector into the virtual language independent vector space.

7. The method of claim 5 wherein the virtual language independent vector space includes output vectors corresponding to snippets in the output domain.

8. The method of claim 1 wherein the output domain is a second natural language or a correction of the first natural language.

9. A system comprising:

a processor;

memory, in communication with the processor, the memory containing instructions that, when executed, cause the processor to:

receive a snippet, wherein the snippet comprises a digital representation of one or more words or groups of characters from a first natural language;

transform the received snippet into a first semantic vector in a virtual language independent vector space;

determine whether a second semantic vector exists in the virtual language independent space that is within a threshold difference of the first semantic vector; and

provide, as a translation of the snippet, content in an output domain that corresponds to a second semantic vector when a second semantic vector within the threshold difference has been identified.

10. The system of claim 9 , the instructions further causing the processor to:

provide, as a translation of the snippet, a translation from one or more alternate language processing systems when it is determined that no second semantic vector exists in the virtual language independent vector space that is within the threshold difference of the first semantic vector.

11. The system of claim 10 , the instructions further causing the processor to:

locate a second semantic vector that is the closest in the virtual language independent vector space, to the first semantic vector; and

use the second semantic vector to resolve ambiguities between multiple possible machine translation results.

12. The system of claim 9 , further comprising building a dependency structure by:

dividing the received snippet into groups of one or more words;

assigning each group of one or more words as a leaf node in the structure;

creating intermediate nodes in the dependency structure by identifying relationships between word groups and combining the related word groups into an intermediate node having the nodes containing the combined word groups as children; and

iteratively creating intermediate nodes until a single root node is obtained representing the snippet.

13. The system of claim 12 further comprising:

obtaining pre-defined semantic and syntactic representations for the word groups in the leaf nodes;

obtaining semantic and syntactic representations for each intermediate node by applying a learned function to the semantic and syntactic representations of the lower-level nodes that were combined to create the intermediate node;

using the semantic representation of the root node as the first semantic vector; and

mapping the first semantic vector into the virtual language independent vector space.

14. The system of claim 9 wherein the virtual language independent vector space includes output vectors corresponding to snippets in the output domain.

15. The system of claim 14 wherein the output domain is a second natural language or a correction of the first natural language.

16. A non-transitory, computer-readable storage medium containing instructions that, when executed by a processor, cause the processor to:

receive the snippet, wherein the snippet comprises a digital representation of one or more words or groups of characters from a first natural language;

transform the received snippet into a first semantic vector in a virtual language independent vector space;

determine whether a second semantic vector exists in the virtual language independent space that is within a threshold difference of the first semantic vector; and

provide, as a translation of the snippet, content in an output domain that corresponds to a second semantic vector when a second semantic vector within the threshold difference has been identified.

17. The non-transitory, computer-readable storage medium of claim 16 , the instructions further causing the processor to:

provide, as a translation of the snippet, a translation from one or more alternate language processing systems when it is determined that no second semantic vector exists in the virtual language independent vector space that is within the threshold difference of the first semantic vector.

18. The non-transitory, computer-readable storage medium of claim 17 , the instructions further causing the processor to:

locate a second semantic vector that is the closest in the virtual language independent vector space, to the first semantic vector; and

use the second semantic vector to resolve ambiguities between multiple possible machine translation results.

19. The non-transitory, computer-readable storage medium of claim 16 , wherein the virtual language independent vector space includes output vectors corresponding to snippets in the output domain.

20. The non-transitory, computer-readable storage medium of claim 19 wherein the output domain is a second natural language or a correction of the first natural language.

Assignments (1)
CHANGE OF NAME Recorded May 3, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 059849/0161 →
Continuity (1)
Continuation 14878794 · Oct 8, 2015
Cited By (1)
US 12,321,698