# US 10,455,087 B2 · Information retrieval using natural language dialogue

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

- Number: US 10,455,087 B2
- Document ID: US10455087B2
- Status: Granted
- Kind: B2
- Application number: 15/624,698
- Filed: 2017-06-15
- Published: 2018-12-20
- Granted: 2019-10-22
- Earliest claimed: 2017-06-15
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Andreas Balzer; David Mowatt; Alan Noel Mulhall; Muiris Woulfe
- Web page: https://patentgrep.com/patent/US10455087B2

## CPC

- H04M 3/4936: {Speech interaction details (speech recognition per se G10L15/00)}
- G06F 16/30: of unstructured textual data (document management systems G06F16/93)
- G10L 15/26: Speech to text systems (G10L15/08 takes precedence)
- G06Q 30/0603: {Catalogue creation or management}
- G10L 15/22: Procedures used during a speech recognition process, e.g. man-machine dialogue
- H04M 2201/40: using speech recognition
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- 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

Methods and systems which perform information retrieval using natural language dialog for navigating an inventory of items are described. One example provides an information retrieval system to a user using natural language dialog. The system comprises a user input receiving device, an output device, a database comprising an inventory of items, and a processor. The processor is configured to retrieve one or more items from the inventory of items using an iterative process by: in response to receiving from the user input receiving device a user input, identifying a subset of the inventory based on the user input. The processor is configured to automatically process the subset of items to determine a classification for distinguishing between items of the subset, to generate an enquiry for a user using the classification and to transmit the enquiry to the output device. The user input and/or the enquiry may use natural language.

## Claims

### Claim 1

An information retrieval system using natural language dialogue, the system comprising:
a user input receiving device;
an output device;
a database comprising an inventory of items; and
a processor configured to retrieve one or more items from the inventory of items by:
in response to receiving from the user input receiving device a user input;
identify a subset of the inventory based on the user input;
automatically process the subset of items to determine a classification for distinguishing between items of the subset;
generate an enquiry for a user, wherein the enquiry comprises a plurality of different values, value ranges or classes of the classification;
transmit the enquiry to the output device, wherein at least one of the user input and the enquiry comprises natural language;
receive, from the user input receiving device, a user response to the enquiry;
identify a further subset of the inventory based on the user response;
process the further subset of items to determine a further classification for distinguishing between items of the further subset;
generate a further enquiry for the user, wherein the further enquiry comprises a plurality of different values, value ranges or classes of the further classification; and
transmit the further enquiry to the output device.

### Claim 2 (depends on 1)

The system of claim 1, wherein both the user input and the enquiry for the user comprise natural language.

### Claim 3 (depends on 1)

The system of claim 1, wherein the user input comprises natural language and wherein the processor is configured to interpret the user input using a speech grammar and/or framework.

### Claim 4 (depends on 3)

The system of claim 3, wherein the processor is configured to generate the speech grammar using the inventory or the subset of the inventory.

### Claim 5 (depends on 1)

The system of claim 1, wherein the user input comprises natural language and wherein the processor is configured to interpret the user input using a table of relation operators.

### Claim 6 (depends on 1)

The system of claim 1, wherein the user input comprises speech.

### Claim 7 (depends on 1)

The system of claim 1, wherein the user input comprises text and wherein the processor is configured to interpret the user input using a chatbot framework.

### Claim 8 (depends on 1)

The system of claim 1, wherein the enquiry comprises synthesised speech.

### Claim 9 (depends on 1)

The system of claim 1, wherein the enquiry comprises text.

### Claim 10 (depends on 1)

The system of claim 1, wherein the enquiry is constructed to prompt the user to indicate a preferred value or range of values of the classification from the user.

### Claim 11 (depends on 1)

The system of claim 1, wherein the processor is configured to determine the classification based on an ability of the classification to split up the subset of items.

### Claim 12 (depends on 1)

The system of claim 1, wherein the processor is configured to determine the classification based on an ability of the classification to enable the user to select a preferred value or range of values of the classification.

### Claim 13 (depends on 1)

The system of claim 1, wherein:
the user response comprises natural language; and
the processor is configured to interpret the user response using a speech grammar.

### Claim 14 (depends on 13)

The system of claim 13, wherein the processor is configured to generate the speech grammar using the inventory or the subset of the inventory.

### Claim 15 (depends on 13)

The system of claim 13, wherein the processor is configured to interpret the user input/response using a table of relation operators.

### Claim 16 (depends on 1)

The system of claim 1, wherein the processor is configured to determine the further classification based on an ability of the further classification to split up the further subset of items.

### Claim 17 (depends on 1)

The system of claim 1, wherein the processor is configured to determine the further classification based on an ability of the further classification to enable the user to select a preferred value or range of values of the further classification.

### Claim 18

A method of information retrieval using natural language dialogue, the method comprising:
receiving from a user input receiving device a user input identifying a subset of an inventory of items based on the user input;
automatically processing the subset of items to determine a classification for distinguishing between items of the subset;
generating an enquiry for a user, wherein the enquiry comprises a plurality of different values, value ranges or classes of the classification; and
transmitting the enquiry to an output device,
wherein at least one of the user input and the enquiry comprises natural language;
receiving, from the user input receiving device, a user response to the enquiry;
identifying a further subset of the inventory based on the user response;
processing the further subset of items to determine a further classification for distinguishing between items of the further subset;
generating a further enquiry for the user, wherein the further enquiry comprises a plurality of different values, value ranges or classes of the further classification; and
transmitting the further enquiry to the output device.

### Claim 19

An information retrieval device using natural language dialogue, the device providing:
a user input receiving device;
an output device;
a database comprising an inventory of items; and
a processor configured to:
receive from the user input receiving device a user input;
identify a subset of the inventory based on the user input;
process the subset of items to determine a classification for distinguishing between items of the subset;
generate an enquiry for a user, wherein the enquiry comprises a plurality of different values, value ranges or classes of the classification; and
transmit the enquiry to the output device,
wherein at least one of the user input and the enquiry comprises natural language;
receive, from the user input receiving device, a user response to the enquiry;
identify a further subset of the inventory based on the user response;
process the further subset of items to determine a further classification for distinguishing between items of the further subset;
generate a further enquiry for the user, wherein the further enquiry comprises a plurality of different values, value ranges or classes of the further classification; and
transmit the further enquiry to the output device.

### Claim 20 (depends on 19)

The information retrieval device of claim 19, the database further comprises a graph data structure linking related items in the inventory of items; and
wherein the processor is further configured to identify the subset of the inventory based on the user input by traversing the graph data structure.
