IP Library › Granted Patent US 10,635,462
Granted Patent B2
US 10,635,462 · App. 15/987,837 · Granted Apr 28, 2020

Skill discovery for computerized personal assistant

Inventors: Vipindeep Vangala (Hyderabad, IN); Swati Valecha (Hyderabad, IN); Suryanarayana Shastri (Hyderabad, IN); Nitin Pande (Hyderabad, IN); Tulasi Menon (Hyderabad, IN); Madan Gopal Jhanwar (Hyderabad, IN); Nishchay Kumar (Hyderabad, IN)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F9/453G06F3/167G06F16/243G06F16/24578
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 10,635,462
App. No.
15/987,837
Granted
Apr 28, 2020
Kind
B2
Abstract

A computerized personal assistant communicatively couples to a computer database including a plurality of available skills for the computerized personal assistant. The computerized personal assistant recognizes a current context of the user. The computerized personal assistant operates a previously-trained machine learning classifier to assess a match confidence for a candidate skill, the match confidence indicating a quality of match between the current context and a reference context previously associated with the candidate skill. The computerized personal assistant executes instructions defining an assistive action associated with the candidate skill responsive to the match confidence exceeding a predefined match confidence threshold. The computerized personal assistant executes the instructions defining a complementary help action associated with the candidate skill responsive to the match confidence not exceeding the predefined match confidence threshold.

Claims (84)

1. A computerized personal assistant, comprising:

a natural language user interface (NLUI) including a microphone and a speaker;

a skill discovery machine configured to communicatively couple to a computer database including a plurality of available skills for the computerized personal assistant, wherein the computer database defines, for a candidate skill:

an assistive action defined by instructions executable by the computerized personal assistant to perform an operation to assist a user;

a reference query previously associated with the assistive action; and

a complementary help action previously associated with the assistive action, wherein the complementary help action is defined by instructions executable by the computerized personal assistant to output a predefined response to educate the user about the assistive action; and

a skill execution machine configured to:

receive, from the NLUI, a current query captured by the microphone;

responsive to receiving the current query, operate the skill discovery machine to assess a match confidence for the candidate skill, the match confidence indicating a quality of match between the current query and the reference query, including assessing a higher match confidence for the candidate skill based on the candidate skill having a relatively lower utilization frequency by the user, compared to other available skills of the plurality of available skills;

execute the instructions defining the assistive action responsive to the match confidence exceeding a predefined match confidence threshold; and

execute the instructions defining the complementary help action responsive to the match confidence not exceeding the predefined match confidence threshold, and output the predefined response via the speaker.

2. A method of facilitating the discovery of a skill of a computerized personal assistant, the method comprising:

communicatively coupling the computerized personal assistant to a computer database including a plurality of available skills for the computerized personal assistant, wherein the computer database defines, for a candidate skill:

an assistive action defined by instructions executable by the computerized personal assistant to perform an operation to assist a user;

a reference context previously associated with the assistive action; and

a complementary help action previously associated with the assistive action, wherein the complementary help action is defined by instructions executable by the computerized personal assistant to output a predefined response to educate the user about the assistive action;

recognizing a current context of the user;

operating a previously-trained machine learning classifier to assess a match confidence for the candidate skill, the match confidence indicating a quality of match between the current context and the reference context, including assessing a higher match confidence for the candidate skill based on the candidate skill having a relatively lower utilization frequency by the user, compared to other available skills of the plurality of available skills;

executing the instructions defining the assistive action responsive to the match confidence exceeding a predefined match confidence threshold; and

executing the instructions defining the complementary help action responsive to the match confidence not exceeding the predefined match confidence threshold.

3. The method of claim 2 , wherein:

the reference context includes a seed query defined by an exemplary natural language sentence;

the operation to assist the user pertains to the seed query; and

the current context of the user includes a user query received via a natural language user interface.

4. The method of claim 2 , wherein:

the reference context includes a historical activity context including state data of a computer service, the state data associated with a recognized activity of a historical user of the computer service;

the operation to assist the user pertains to the recognized activity; and

the current context of the user includes a current activity context including state data of the computer service, the state data indicating the user is using the computer service to engage in the recognized activity.

5. The method of claim 2 , wherein executing the instructions defining the complementary help action of the candidate skill is performed proactively, responsive to assessing a match confidence for the candidate skill.

6. The method of claim 2 , wherein:

the current context of the user includes a user preference; and assessing the match confidence includes assessing a higher match confidence for the candidate skill based on the assistive action satisfying the user preference.

7. The method of claim 2 , wherein:

the current context of the user includes, for each available skill of the plurality of available skills, a utilization frequency indicating a degree of past utilization of the available skill by the user; and

assessing the match confidence includes assessing a higher match confidence for the candidate skill based on the candidate skill having a relatively lower utilization frequency.

8. The method of claim 2 , the method further comprising:

operating the previously-trained machine learning classifier to assess, for each available skill of the plurality of available skills, a candidate match confidence for the available skill;

ranking the plurality of available skills by candidate match confidence; and

wherein the candidate skill is an available skill having a highest candidate match confidence.

9. The method of claim 2 , wherein the computer database further includes an unavailable skill, the method further comprising:

operating the previously-trained machine learning classifier to assess an unavailable skill match confidence indicating a quality of match between the current context and a reference context previously associated with the unavailable skill; and

responsive to the unavailable skill match confidence exceeding the predefined match confidence threshold, outputting a response describing the unavailable skill and educating the user about configuring the computerized personal assistant to cause the unavailable skill to become available.

10. The method of claim 2 , wherein outputting the predefined response to educate the user about the assistive action includes outputting, via a NLUI, a natural language description of the assistive action.

11. The method of claim 2 , wherein the predefined response to educate the user about the assistive action includes an exemplary query for which the previously-trained machine learning classifier is configured to output a match confidence value greater than the predefined match confidence threshold, so that the computerized personal assistant is configured to perform the operation to assist the user responsive to receiving the exemplary query.

12. The method of claim 2 , wherein the complementary help action further defines a disambiguating question, the method further comprising:

outputting, via a natural language user interface (NLUI), the disambiguating question;

receiving, via the NLUI, an answer to the disambiguating question; and

responsive to receiving the answer, operating the computerized personal assistant to execute the instructions defining the assistive action of the candidate skill.

13. The method of claim 2 , further comprising:

receiving a training example context;

for an available skill of the plurality of available skills:

operating the previously-trained machine learning classifier to assess a training confidence indicating a quality of match between the training example context and a first training reference context previously associated with the available skill, wherein the training confidence does not exceed the predefined match confidence threshold;

receiving, from a trainer, a second training reference context; and

updating the computer database to associate the second training reference context with the assistive action of the available skill.

14. The method of claim 2 , further comprising:

receiving a training example context;

for an available skill of the plurality of available skills:

operating the previously-trained machine learning classifier to assess a training confidence indicating a quality of match between the training example context and a training reference context previously associated with the available skill, wherein the training confidence does not exceed the predefined match confidence threshold;

receiving, from a trainer, an indication that the training example context matches the training reference context; and

training the previously-trained machine learning classifier, so that a further-trained machine learning classifier is configured to assess an updated confidence, wherein the updated confidence exceeds the predefined match confidence threshold.

15. A computer system, comprising:

a logic machine; and

a storage machine holding instructions executable by the logic machine to:

communicatively couple to a computer database including a plurality of available skills for the computer system, wherein the computer database defines, for a candidate skill:

an assistive action defined by instructions executable by the computerized personal assistant to perform an operation to assist a user;

a reference context previously associated with the assistive action; and

a complementary help action previously associated with the assistive action, wherein the complementary help action is defined by instructions executable by the computerized personal assistant to output a predefined response to educate the user about the assistive action;

recognize a current context of the user;

operate a previously-trained machine learning classifier to assess a match confidence for the candidate skill, the match confidence indicating a quality of match between the current context and the reference context, including assessing a higher match confidence for the candidate skill based on the candidate skill having a relatively lower utilization frequency by the user, compared to other available skills of the plurality of available skills;

perform the assistive action responsive to the match confidence exceeding a predefined match confidence threshold; and

perform the complementary help action responsive to the match confidence not exceeding the predefined match confidence threshold.

16. The computer system of claim 15 , wherein:

the reference context includes a seed query defined by an exemplary natural language sentence;

the operation to assist the user pertains to the seed query; and

the current context of the user includes a user query received via a natural language user interface.

17. The computer system of claim 15 , wherein:

the reference context includes a historical activity context including state data of a computer service, the state data associated with a recognized activity of a historical user of the computer service;

the operation to assist the user pertains to the recognized activity; and

the current context of the user includes a current activity context including state data of the computer service, the state data indicating the user is using the computer service to engage in the recognized activity.

18. The computer system of claim 15 , wherein the complementary help action of the candidate skill is performed proactively, responsive to assessing a match confidence for the candidate skill.

19. The computer system of claim 15 , wherein:

the current context of the user includes a user preference; and

assessing the match confidence includes assessing a higher match confidence for the candidate skill based on the assistive action satisfying the user preference.

20. The computer system of claim 15 , wherein:

the current context of the user includes, for each available skill of the plurality of available skills, a utilization frequency indicating a degree of past utilization of the available skill by the user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2018
From: VANGALA, VIPINDEEP; VALECHA, SWATI; SHASTRI, SURYANARAYANA; PANDE, NITIN; MENON, TULASI; JHANWAR, MADAN GOPAL; KUMAR, NISHCHAY
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 045887/0568 →
Continuity (1)
Related Publication 20190361719A1 · Nov 28, 2019