IP Library Granted Patent US 11,216,437
Granted Patent B2
US 11,216,437 · App. 16/659,350 · Granted Jan 4, 2022

System and method for representing query elements in an artificial neural network

Inventor: Nir Regev (Beit Guvrin, IL)
Assignee: Sisense Ltd.
G06F16/2282G06F16/2237G06F16/258G06N3/04
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 11,216,437
App. No.
16/659,350
Granted
Jan 4, 2022
Kind
B2
Abstract

A system and method for representing query elements in an artificial neural network. The method includes generating a translation table based on a plurality of query elements, wherein the translation table maps a plurality of vectors to the plurality of query elements, wherein each of the plurality of vectors is mapped to at least one query element of the plurality of query elements, wherein a number of distinct query elements among the plurality of query elements is greater than a number of distinct vectors among the plurality of vectors.

Claims (70)

1. A method for representing query elements in an artificial neural network, comprising:

generating a first translation table based on a plurality of query elements, wherein the first translation table maps the plurality of query elements to a plurality of vectors, wherein at least two first query elements of the plurality of query elements are mapped to a first vector of the plurality of vectors such that a number of distinct query elements among the plurality of query elements is greater than a number of distinct vectors among the plurality of vectors;

reducing a representation size, wherein reducing the representation size includes determining at least two second query elements of the plurality of query elements to be represented by a second vector of the plurality of vectors;

generating a second translation table based on the reduced representation size, wherein the at least two second query elements are mapped to the second vector in the second translation table;

converting a plurality of input query elements into respective numerical representations using the second translation table; and

generating a result for a database query by sending the database query to a neural network, wherein the database query is based on the numerical representations.

2. The method of claim 1 , further comprising:

determining a representation size based on the number of distinct query elements, wherein the representation size indicates a number of vectors to which the plurality of query elements can be mapped, wherein the translation table is generated based further on the representation size.

3. The method of claim 2 , wherein each of the plurality of query elements has an occurrence probability, wherein the representation size is determined based further on the occurrence probabilities of the plurality of query elements.

4. The method of claim 3 , further comprising:

determining the occurrence probability for each of the plurality of query elements based on a set of training query elements.

5. The method of claim 1 , further comprising:

translating a plurality of queries and a plurality of query results into the plurality of vectors, wherein each query corresponds to one of the plurality of query results, wherein each query and its corresponding query result is translated into one of the plurality of vectors.

6. The method of claim 1 , wherein each of the plurality of query elements has an occurrence probability, wherein one of the at least two first query elements has a lowest occurrence probability among the occurrence probabilities of the plurality of query elements.

7. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising:

generating a first translation table based on a plurality of query elements, wherein the first translation table maps the plurality of query elements to a plurality of vectors, wherein at least two first query elements of the plurality of query elements are mapped to a first vector of the plurality of vectors such that a number of distinct query elements among the plurality of query elements is greater than a number of distinct vectors among the plurality of vectors;

reducing a representation size, wherein reducing the representation size includes determining at least two second query elements of the plurality of query elements to be represented by a second vector of the plurality of vectors;

generating a second translation table based on the reduced representation size, wherein the at least two second query elements are mapped to the second vector in the second translation table;

converting a plurality of input query elements into respective numerical representations using the second translation table; and

generating a result for a database query by sending the database query to a neural network, wherein the database query is based on the numerical representations.

8. A system for representing query elements in an artificial neural network, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

generate a first translation table based on a plurality of query elements, wherein the first translation table maps the plurality of query elements to a plurality of vectors, wherein at least two first query elements of the plurality of query elements are mapped to a first vector of the plurality of vectors such that a number of distinct query elements among the plurality of query elements is greater than a number of distinct vectors among the plurality of vectors;

reduce a representation size, wherein reducing the representation size includes determining at least two second query elements of the plurality of query elements to be represented by a second vector of the plurality of vectors;

generate a second translation table based on the reduced representation size, wherein the at least two second query elements are mapped to the second vector in the second translation table;

convert a plurality of input query elements into respective numerical representations using the second translation table; and

generate a result for a database query by sending the database query to a neural network, wherein the database query is based on the numerical representations.

9. The system of claim 8 , wherein the system is further configured to:

determine a representation size based on the number of distinct query elements, wherein the representation size indicates a number of vectors to which the plurality of query elements can be mapped, wherein the translation table is generated based further on the representation size.

10. The system of claim 9 , wherein each of the plurality of query elements has an occurrence probability, wherein the representation size is determined based further on the occurrence probabilities of the plurality of query elements.

11. The system of claim 10 , wherein the system is further configured to:

determine the occurrence probability for each of the plurality of query elements based on a set of training query elements.

12. The system of claim 8 , wherein the system is further configured to:

translate a plurality of queries and a plurality of query results into the plurality of vectors, wherein each query corresponds to one of the plurality of query results, wherein each query and its corresponding query result is translated into one of the plurality of vectors.

13. The system of claim 8 , wherein each of the plurality of query elements has an occurrence probability, wherein one of the at least two first query elements has a lowest occurrence probability among the occurrence probabilities of the plurality of query elements.

14. A method for representing query elements in an artificial neural network, comprising:

generating a first translation table based on a plurality of query elements, wherein the first translation table maps the plurality of query elements to a plurality of vectors, wherein at least one first query element of the plurality of query elements is unrepresented in the first translation table such that a number of distinct query elements among the plurality of query elements is greater than a number of distinct vectors among the plurality of vectors;

reducing a representation size, wherein reducing the representation size includes determining at least two second query elements of the plurality of query elements to be represented by a second vector of the plurality of vectors;

generating a second translation table based on the reduced representation size, wherein the at least two second query elements are mapped to the second vector in the second translation table;

converting a plurality of input query elements into respective numerical representations using the second translation table; and

generating a result for a database query by sending the database query to a neural network, wherein the database query is based on the numerical representations.

15. The method of claim 14 , further comprising:

determining a representation size based on the number of distinct query elements, wherein the representation size indicates a number of vectors to which the plurality of query elements can be mapped, wherein the translation table is generated based further on the representation size.

16. The method of claim 15 , wherein each of the plurality of query elements has an occurrence probability, wherein the representation size is determined based further on the occurrence probabilities of the plurality of query elements.

17. The method of claim 16 , further comprising:

determining the occurrence probability for each of the plurality of query elements based on a set of training query elements.

18. The method of claim 14 , further comprising:

translating a plurality of queries and a plurality of query results into the plurality of vectors, wherein each query corresponds to one of the plurality of query results, wherein each query and its corresponding query result is translated into one of the plurality of vectors.

19. A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising:

generating a first translation table based on a plurality of query elements, wherein the first translation table maps the plurality of query elements to a plurality of vectors, wherein at least one first query element of the plurality of query elements is unrepresented in the first translation table such that a number of distinct query elements among the plurality of query elements is greater than a number of distinct vectors among the plurality of vectors;

reducing a representation size, wherein reducing the representation size includes determining at least two second query elements of the plurality of query elements to be represented by a second vector of the plurality of vectors;

generating a second translation table based on the reduced representation size, wherein the at least two second query elements are mapped to the second vector in the second translation table;

converting a plurality of input query elements into respective numerical representations using the second translation table; and

generating a result for a database query by sending the database query to a neural network, wherein the database query is based on the numerical representations.

20. A system for representing query elements in an artificial neural network, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

generate a first translation table based on a plurality of query elements, wherein the first translation table maps the plurality of query elements to a plurality of vectors, wherein at least one first query element of the plurality of query elements is unrepresented in the first translation table such that a number of distinct query elements among the plurality of query elements is greater than a number of distinct vectors among the plurality of vectors;

reduce a representation size, wherein reducing the representation size includes determining at least two second query elements of the plurality of query elements to be represented by a second vector of the plurality of vectors;

generate a second translation table based on the reduced representation size, wherein the at least two second query elements are mapped to the second vector in the second translation table;

convert a plurality of input query elements into respective numerical representations using the second translation table; and

generate a result for a database query by sending the database query to a neural network, wherein the database query is based on the numerical representations.

21. The system of claim 20 , wherein the system is further configured to:

determine a representation size based on the number of distinct query elements, wherein the representation size indicates a number of vectors to which the plurality of query elements can be mapped, wherein the translation table is generated based further on the representation size.

22. The system of claim 21 , wherein each of the plurality of query elements has an occurrence probability, wherein the representation size is determined based further on the occurrence probabilities of the plurality of query elements.

23. The system of claim 22 , wherein the system is further configured to:

determine the occurrence probability for each of the plurality of query elements based on a set of training query elements.

24. The system of claim 20 , wherein the system is further configured to:

translate a plurality of queries and a plurality of query results into the plurality of vectors, wherein each query corresponds to one of the plurality of query results, wherein each query and its corresponding query result is translated into one of the plurality of vectors.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jun 16, 2023
From: TRIPLEPOINT VENTURE GROWTH BDC CORP
To: SISENSE SF, INC.; SISENSE LTD.
Reel/Frame 063980/0047 →
SECURITY INTEREST Recorded Jun 14, 2023
From: SISENSE LTD; SISENSE SF INC.
To: HERCULES CAPITAL, INC.
Reel/Frame 063948/0662 →
RELEASE OF SECURITY INTEREST Recorded Jun 9, 2023
From: COMERICA BANK
To: SISENSE LTD.
Reel/Frame 063915/0257 →
RELEASE OF SECURITY INTEREST Recorded Sep 24, 2021
From: SILICON VALLEY BANK
To: SISENSE LTD
Reel/Frame 057594/0867 →
SECURITY INTEREST Recorded Sep 24, 2021
From: SISENSE LTD.
To: COMERICA BANK
Reel/Frame 057588/0698 →
RELEASE OF SECURITY INTEREST Recorded Sep 24, 2021
From: SILICON VALLEY BANK, AS AGENT
To: SISENSE LTD
Reel/Frame 057594/0926 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Mar 30, 2020
From: SISENSE LTD
To: SILICON VALLEY BANK, AS AGENT
Reel/Frame 052267/0325 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Mar 30, 2020
From: SISENSE LTD
To: SILICON VALLEY BANK
Reel/Frame 052267/0313 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2020
From: REGEV, NIR
To: SISENSE LTD.
Reel/Frame 051919/0751 →
Continuity (7)
Continuation In Part 15858957 · Dec 29, 2017
Provisional Application 62748469 · Oct 21, 2018
Provisional Application 62545053 · Aug 14, 2017
Provisional Application 62545050 · Aug 14, 2017
Provisional Application 62545058 · Aug 14, 2017
Provisional Application 62545046 · Aug 14, 2017
Related Publication 20200104287A1 · Apr 2, 2020