# US 12,182,184 B2 · Method and apparatus for question-answering using a database consist of query vectors

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

- Number: US 12,182,184 B2
- Document ID: US12182184B2
- Status: Granted
- Kind: B2
- Application number: 18/130,164
- Filed: 2023-04-03
- Published: 2023-07-27
- Granted: 2024-12-31
- Earliest claimed: 2019-11-29
- Assignees: 42Maru Inc.
- Applicants: 42Maru Inc.
- Inventors: Dong Hwan Kim; Kibong Sung; You Kyung Kwon; SeongYeop Jeong
- Web page: https://patentgrep.com/patent/US12182184B2

## CPC

- G06F 16/3329: Natural language query formulation
- G06F 16/3347: {using vector based model}
- G06F 16/90348: {by searching ordered data, e.g. alpha-numerically ordered data}
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06N 3/045: Combinations of networks
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/09: Supervised learning
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/082: modifying the architecture, e.g. adding, deleting or silencing nodes or connections
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Disclosed herein is a search method performed by a server, including: receiving a user question from a user terminal; generating a user question vector for the user question; selecting similar question candidates based on a similarity to the user question vector; generating an answer to the user question based on the similar question candidates; and transmitting the answer to the user question to the user terminal.

## Claims

### Claim 1

A search method performed by an electronic device, the search method comprising:
acquiring a user question from a user;
when an answer to the user question is not stored in a database of the electronic device, generating a user question vector for the user question;
transmitting the user question vector to a server, wherein a database of the server stores one or more question-answer-question vector including a question, a response to the question and a question vector for the question;
when a plurality of similar question candidates are selected by the server using a first similarity analysis model for determining first similarities between question vectors stored in the server and the user question vector, receiving the plurality of similar question candidates and question vectors corresponding to the plurality of similar question candidates from the server;
selecting a similar question from among the plurality of similar question candidates by the electronic device using a second similarity analysis model for determining second similarities between the received question vectors and the user question vector;
requesting a response to the similar question from the server;
receiving the response to the similar question from the server; and
providing the similar question and the response to the similar question together to the user,
wherein the first similarity analysis model and the second similarity analysis model are different analysis models,
the first similarity analysis model and the second similarity analysis model have different configurations of neural network models or different values of variables included in hidden layers, and
one of the first similarity analysis model and the second similarity analysis model determines a similarity to the user question vector based on a distance from the user question vector in a Euclidean space.

### Claim 2 (depends on 1)

The search method of claim 1, further comprising, when the answer to the user question is stored in the database of the electronic device, providing the answer stored in the database to the user.

### Claim 3 (depends on 1)

The search method of claim 1, wherein the generating of the user question vector for the user question comprises vectorizing the user question using an encoder of the electronic device to generate the user question vector, and
the encoder of the electronic device includes one of bag of words (BOW), term frequency-inverse document frequency (TF-IDF), document to vector (Doc2Vec), a text embedding encoder, and word to vector (Word2Vec).

### Claim 4 (depends on 1)

The search method of claim 1, wherein the other of the first similarity analysis model and the second similarity analysis model determines a similarity to the user question vector based on a cosine similarity.

### Claim 5 (depends on 1)

The search method of claim 1, wherein the second similarity analysis model includes a paraphrase model generated by learning a Siamese neural network with first learning data and second learning data,
the first learning data includes a first pair of questions and a label indicating that the first pair of questions are similar to each other, wherein the first pair of questions have similar sentence formats due to similar words and structures and include questions having similar meanings, and
the second learning data includes a second pair of questions and a label indicating that the second pair of questions are dissimilar from each other, wherein the second pair of questions have similar sentence formats due to similar words and structures but include questions having different meanings.

### Claim 6 (depends on 5)

The search method of claim 5, wherein learning of the neural network with the first learning data and learning of the neural network with the second learning data are performed without distinguishment by mixing the first learning data and the second learning data.

### Claim 7

An electronic device comprising:
a processor; and
a non-transitory memory configured to store instructions executed by the processor,
wherein the processor executes the instructions to:
acquire a user question from a user;
when an answer to the user question is not stored in a database of the electronic device, generate a user question vector for the user question;
transmit the user question vector to a server, wherein a database of the server stores one or more question-answer-question vector including a question, a response to the question and a question vector for the question;
when a plurality of similar question candidates are selected by the server using a first similarity analysis model for determining first similarities between question vectors stored in the server and the user question vector, receive the plurality of similar question candidates and question vectors corresponding to the plurality of similar question candidates from the server;
select a similar question from among the plurality of similar question candidates by the electronic device using a second similarity analysis model for determining second similarities between the received question vectors and the user question vector;
request a response to the similar question from the server;
receive the response to the similar question from the server; and
provide the similar question and the response to the similar question together to the user,
wherein the first similarity analysis model and the second similarity analysis model are different analysis models,
the first similarity analysis model and the second similarity analysis model have different configurations of neural network models or different values of variables included in hidden layers, and
one of the first similarity analysis model and the second similarity analysis model determines a similarity to the user question vector based on a distance from the user question vector in a Euclidean space.

### Claim 8

A computer-readable recording non-transitory medium in which a computer program executed by an electronic device is recorded, the computer program comprising:
acquiring a user question from a user;
when an answer to the user question is not stored in a database of the electronic device, generate a user question vector for the user question;
transmitting the user question vector to a server, wherein a database of the server stores one or more question-answer-question vector including a question, a response to the question and a question vector for the question;
when a plurality of similar question candidates are selected by the server using a first similarity analysis model for determining first similarities between question vectors stored in the server and the user question vector, receiving the plurality of similar question candidates and question vectors corresponding to the plurality of similar question candidates from the server;
selecting a similar question from among the plurality of similar question candidates by the electronic device using a second similarity analysis model for determining second similarities between the received question vectors and the user question vector;
requesting a response to the similar question from the server;
receiving the response to the similar question from the server; and
providing the similar question and the response to the similar question together to the user,
wherein the first similarity analysis model and the second similarity analysis model are different analysis models,
the first similarity analysis model and the second similarity analysis model have different configurations of neural network models or different values of variables included in hidden layers, and
one of the first similarity analysis model and the second similarity analysis model determines a similarity to the user question vector based on a distance from the user question vector in a Euclidean space.
