# US 10,373,614 B2 · Web portal declarations for smart assistants

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

- Number: US 10,373,614 B2
- Document ID: US10373614B2
- Status: Granted
- Kind: B2
- Application number: 15/373,458
- Filed: 2016-12-08
- Published: 2018-06-14
- Granted: 2019-08-06
- Earliest claimed: 2016-12-08
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Kiril Seksenov; Avishek Mazumder; Kevin Hill; Aditya Pruthi
- Web page: https://patentgrep.com/patent/US10373614B2

## CPC

- G10L 15/22: Procedures used during a speech recognition process, e.g. man-machine dialogue
- G06F 16/9558: {Details of hyperlinks; Management of linked annotations}
- H04L 63/0815: {providing single-sign-on or federations}
- H04L 63/083: {using passwords (cryptographic mechanisms or cryptographic arrangements for entity authentication using a predetermined code H04L9/3226)}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- G10L 2015/223: {Execution procedure of a spoken command}
- H04L 63/168: {above the transport layer}
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In one example, an assistant support server may maintain a web portal to crowdsource responses to a user input. The assistant support server may maintain a web portal accessible by a developer device. The assistant support server may store an assistant rule based on a developer input associating an input word set describing a hypothetical user input with a deep link for a website. The assistant support server may receive in the web portal the developer input. The assistant support server may direct a smart assistant module executed by a user device to connect to the deep link in response to receiving a user input from the smart assistant module matching the input word set.

## Claims

### Claim 1

An assistant support server, comprising:
a processing core having at least one processor configured to maintain a web portal accessible by a developer device, and authenticate, via the web portal, the developer device based on a login credential received from the developer device;
memory configured to store, via the web portal and based on authenticating the developer device, an assistant rule based on an input, from a developer device, associating an input word set describing a hypothetical user input with a deep link for a website; and
a communication interface configured to receive the login credential from the developer device, receive, in the web portal and based on authenticating the developer device, the input from the developer device, and to instruct a smart assistant module executed by a user device to connect to the deep link in response to receiving a user input from the smart assistant module matching the input word set,
wherein the at least one processor is further configured to:
track an action performed, in response to the user input, by a domain of the website; and
update the assistant rule to reflect the action so that the action is performed in response to the user input.

### Claim 2 (depends on 1)

The assistant support server of claim 1, wherein the communication interface is configured to receive the login credential, which is associated with the website, from the developer device.

### Claim 3 (depends on 1)

The assistant support server of claim 1, wherein the processing core is configured to authenticate a developer identifier associated with the website.

### Claim 4 (depends on 1)

The assistant support server of claim 1, wherein the memory is configured to associate a domain for the website with a developer identity.

### Claim 5 (depends on 1)

The assistant support server of claim 1, wherein the processing core is configured to convert a verbal user input from the user device to a text user input.

### Claim 6 (depends on 1)

The assistant support server of claim 1, wherein the processing core is configured to parse a domain identified in the user input.

### Claim 7 (depends on 1)

The assistant support server of claim 1, wherein the processing core is configured to calculate a confidence score based on a comparison of the user input and the input word set.

### Claim 8 (depends on 1)

The assistant support server of claim 1, wherein the communication interface is configured to track at the deep link a network-enhanced action performed in response to the user input.

### Claim 9 (depends on 1)

The assistant support server of claim 1, wherein the memory is configured to associate a network-enhanced action performed by the deep link with the input word set in the assistant rule.

### Claim 10 (depends on 1)

The assistant support server of claim 1, wherein the communication interface is configured to instruct the smart assistant module to perform a network-enhanced action in response to the user input.

### Claim 11 (depends on 1)

The assistant support server of claim 1, wherein the at least one processor is further configured to:
receive, from a second developer device, a second input associating the input word set with the deep link for the web site; and
update, based on receiving the second input, a rule weight associated with the assistant rule.

### Claim 12

A computing device, having a memory to store a series of instructions that are executed by at least one processor to implement a web portal for an assistant support server, the computing device configured to:
authenticate, via the web portal, a developer device based on a login credential received from the developer device;
receive, in the web portal and based on authenticating the developer device, an input, from the developer device, associating an input word set describing a hypothetical user input with a network-enhanced action implemented by a smart assistant module at a deep link of a website and executed by a user device in response to the input word set;
generate an assistant rule associating the input word set with the network-enhanced action;
generate a user directive instructing the smart assistant module to perform the network-enhanced action in response to receiving a user input from the smart assistant module matching the input word set; and
send the user directive to the smart assistant module,
wherein the computing device is further configured to:
track an action performed, in response to the user input, by a domain of the website; and
update the assistant rule to reflect the action so that the action is performed in response to the user input.

### Claim 13 (depends on 12)

The computing device of claim 12, wherein the computing device is further configured to
receive the login credential, which is associated with a website for performing the network-enhanced action.

### Claim 14 (depends on 12)

The computing device of claim 12, wherein the computing device is further configured to
authenticate a developer identifier associated with a website for performing the network-enhanced action.

### Claim 15 (depends on 12)

The computing device of claim 12, wherein the computing device is further configured to
convert a verbal user input from the user device to a text user input.

### Claim 16 (depends on 12)

The computing device of claim 12, wherein the computing device is further configured to
parse a domain identified in the user input.

### Claim 17 (depends on 12)

The computing device of claim 12, wherein the computing device is further configured to
calculate a confidence score based on a comparison of the user input and the input word set.

### Claim 18 (depends on 12)

The computing device of claim 12, wherein the computing device is further configured to
track a deep link of a web site performing the network-enhanced action in response to the user input.

### Claim 19 (depends on 12)

The computing device of claim 12, wherein the computing device is further configured to
update the assistant rule to associate a deep link of the website with the network-enhanced action.

### Claim 20

A machine-implemented method, comprising:
executing a smart assistant module on a user device;
receiving a user input in the smart assistant module;
sending the user input to an assistant support server;
receiving a user directive from the assistant support server based on a comparison of the user input to an input word set of an assistant rule provided by a developer input; connecting to a deep link of a web site based on the user directive;
tracking an action performed, in response to the user input, by a domain of the website; and
updating the assistant rule to reflect the action so that the action is performed in response to the user input,
wherein the input word set and the deep link of the website are received, via a web portal, from a developer device authenticated to specify the input word set and the deep link of the website in the web portal.

### Claim 21 (depends on 20)

The method of claim 20, further comprising:
accessing a search engine to search for a representative deep link for the user input upon receiving a null user directive.
