# US 2021/0241072 A1 · Systems and methods of business categorization and service recommendation

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0241072 A1
- Document ID: US20210241072A1
- Status: Published application
- Kind: A1
- Application number: 16/779,785
- Filed: 2020-02-03
- Published: 2021-08-05
- Earliest claimed: 2020-02-03
- Assignees: Intuit Inc.
- Applicants: Intuit Inc.
- Inventors: Erez Katzenelson; Elik Sror; Shlomi Medalion; Shimon Shahar; Shir Meir Lador; Sigalit Bechler; Alexander Zhicharevich; Onn Bar
- Web page: https://patentgrep.com/patent/US20210241072A1

## CPC

- G06N 3/042: Knowledge-based neural networks; Logical representations of neural networks
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/045: Combinations of networks
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/09: Supervised learning
- G06N 20/00: Machine learning
- G06N 3/048: Activation functions
- G06Q 30/04: Billing or invoicing
- G06Q 40/12: Accounting
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

A method for recommending offerings to a business may include: receiving a request for recommended business offerings from a device; receiving business data associated with a business from the device, the business data comprising invoice data associated with the business; embedding the business data to a vector space to obtain a business vector, the vector space comprising a plurality of other vectors associated with other businesses; calculating a relation metric between the business vector and a vector of the plurality of other vectors, the vector being associated with a second business, the relation metric representing a degree of relation between the business and the second business; determining that the relation metric is above a pre-defined threshold value; and responsive to the determining, sending business data associated with the second business to the device, the business data associated with the second business comprising invoice data associated with the second business.

## Claims

### Claim 1

A method for recommending offerings to a business performed by a server, said method comprising:
receiving a request for recommended business offerings from a device;
receiving business data associated with a business from the device, the business data comprising invoice data associated with the business;
embedding the business data to a vector space to obtain a business vector, the vector space comprising a plurality of other vectors associated with other businesses;
calculating a relation metric between the business vector and a vector of the plurality of other vectors, the vector being associated with a second business, the relation metric representing a degree of relation between the business and the second business;
determining that the relation metric is above a pre-defined threshold value; and
responsive to the determining, sending business data associated with the second business to the device, the business data associated with the second business comprising invoice data associated with the second business.

### Claim 2 (depends on 1)

The method of claim 1 further comprising:
detecting stop words in the business data associated with the business from a pre-defined list of stop words;
removing the detected stop words from the business data associated with the business;
lemmatizing the business data associated with the business; and
embedding the lemmatized business data to the vector space to obtain the business vector.

### Claim 3 (depends on 2)

The method of claim 2 further comprising:
calculating a term frequency-inverse document frequency (TFIDF) value for each word of the lemmatized business data;
ranking the calculated TFIDF values;
identifying a top pre-defined number of words with a highest rank; and
embedding the identified words to obtain the business vector.

### Claim 4 (depends on 2)

The method of claim 2 further comprising:
calculating a term frequency-inverse document frequency (TFIDF) value for each word of the lemmatized business data;
identifying a pre-defined number of words with TFIDF values above a certain threshold; and
embedding the identified words to obtain the business vector.

### Claim 5 (depends on 1)

The method of claim 1, wherein embedding the business data associated with the business comprises:
applying a word2vec model, the applying comprising:
creating a bag-of-words representing the business data, the bag-of-words including each word in the business data and an associated multiplicity of each word; and
converting each word in the business data into a vector based on the bag of words and not based on grammar and word order.

### Claim 6 (depends on 1)

The method of claim 1, wherein calculating the relation metric comprises calculating an inner product between the business vector and the vector of the plurality of other vectors.

### Claim 7 (depends on 6)

The method of claim 6 further comprising using a sigmoid function on the inner product to keep the relation metric between zero and one, wherein a one corresponds to a related pair of vectors and a zero corresponds to an unrelated pair of vectors.

### Claim 8 (depends on 7)

The method of claim 7, wherein the server comprises a neural network trained on related and non-related pairs of invoices and business descriptions to:
embed related business descriptions to similar regions in the vector space; and
embed unrelated business descriptions to different regions in the vector space.

### Claim 9 (depends on 8)

The method of claim 8, wherein the neural network is a first neural network, wherein the server comprises a second neural network trained on related and non-related pairs of invoices and business descriptions to:
embed related invoices to similar regions in the vector space; and
embed unrelated invoices to different regions in the vector space.

### Claim 10

A method of training a network to identify related business-invoice pairs performed by a server comprising a first encoder and a second encoder, said method comprising:
embedding, by the first encoder, a plurality of business descriptions to a vector space to obtain a plurality of business vectors, each business description corresponding to an invoice;
embedding, by the second encoder, each corresponding invoice to the vector space to obtain a plurality of invoice vectors;
calculating a relation metric for each description-invoice pair;
training a neural network with the description-invoice pairs and the corresponding relation metrics to predict whether a new invoice and a new business description are related;
training the first encoder to embed related business descriptions to similar regions in the vector space; and
training the second encoder to embed related invoices to similar regions in the vector space.

### Claim 11 (depends on 10)

The method of claim 10 further comprising training the neural network, the first encoder, and the second encoder jointly in an end-to-end process, the process including:
receiving a plurality of description-invoice pairs and a plurality of relation metrics as labelled training data, each description-invoice pair including an associated relation metric and a label indicating whether the description-invoice pair is related; and
applying a back-propagation algorithm to train each of the neural network, first encoder, and second encoder based on the received description-invoice pairs and associated relation metrics.

### Claim 12 (depends on 10)

The method of claim 10 further comprising:
detecting stop words in the plurality of business descriptions from a pre-defined list of stop words;
removing the detected stop words from the plurality of business descriptions;
lemmatizing the plurality of business descriptions to obtain lemmatized business descriptions; and
embedding, by the first encoder, the lemmatized business descriptions to the vector space to obtain the plurality of business vectors.

### Claim 13 (depends on 12)

The method of claim 12 further comprising:
calculating a term frequency-inverse document frequency (TFIDF) value for each word of each lemmatized business description;
ranking the calculated TFIDF values;
identifying a top pre-defined number of words with a highest rank; and
embedding, by the first encoder, the identified words to obtain the business vector.

### Claim 14 (depends on 12)

The method of claim 12 further comprising:
calculating a term frequency-inverse document frequency (TFIDF) value for each word of each lemmatized business description;
identifying a pre-defined number of words with TFIDF values above a certain threshold; and
embedding, by the first encoder, the identified words to obtain the business vector.

### Claim 15 (depends on 10)

The method of claim 10, wherein embedding, by the second encoder, each corresponding invoice to the vector space comprises:
embedding each word of each line item of the invoice to create a plurality of word vectors for each line item;
feeding the plurality of word vectors for each line item to a long short-term memory (LSTM) layer;
combining, via the LSTM layer, the plurality of word vectors to obtain a line item vector representing each invoice line item; and
combining, using a neural network, the plurality of line item vectors to obtain an invoice vector;
wherein combining includes at least one of vector addition, vector subtraction, scalar multiplication, sigmoid function multiplication, or hyperbolic function multiplication.

### Claim 16 (depends on 10)

The method of claim 10, wherein calculating the relation metric comprises calculating an inner product between a business vector and an associated invoice vector.

### Claim 17 (depends on 16)

The method of claim 16 further comprising using a sigmoid function on the inner product to keep the relation metric between zero and one, wherein a one corresponds to a related pair of vectors and a zero corresponds to an unrelated pair of vectors.

### Claim 18

A system for recommending offerings to a business comprising:
a user device;
one or more processors;
a server; and
a non-transitory computer-readable medium for recommending offerings to a business comprising instructions stored on the server that, when executed by the one or more processors, cause the server to perform a process operable to:
receive a request for recommended business offerings from the user device;
receive business data associated with a business from the user device, the business data comprising invoice data associated with the business;
embed the business data to a vector space to obtain a business vector, the vector space comprising a plurality of other vectors associated with other businesses;
calculate a relation metric between the business vector and a vector of the plurality of other vectors, the vector being associated with a second business, the relation metric representing a relation between the business and the second business;
analyze the relation metric with a neural network trained to determine whether the business vector and the vector of the plurality of other vectors are related; and
responsive to the determining, send business data associated with the second business to the user device, the business data associated with the second business comprising invoice data associated with the second business.

### Claim 19 (depends on 18)

The system of claim 18, wherein the server is configured to apply a word2vec model, the applying comprising:
creating a bag-of-words representing the business data associated with the business, the bag-of-words including each word in the business data associated with the business and an associated multiplicity of each word; and
converting each word in the business data associated with the business into a vector based on the bag of words and not based on grammar and word order.

### Claim 20 (depends on 18)

The system of claim 18, wherein sending business data associated with the second business to the user device comprises:
identifying an invoice associated with the second business;
anonymizing text of the invoice to create anonymized text;
removing stop words from the anonymized text;
lemmatizing the anonymized text to create lemmatized text; and
sending the lemmatized and anonymized text to the user device.
