IP Library Granted Patent US 11,501,211
Granted Patent B2
US 11,501,211 · App. 16/818,702 · Granted Nov 15, 2022

Chatbot system with model lifecycle management

Inventors: Chi Kong Wu (Tsuen Wan, HK); Ka Wing Ho (Tai Po, HK)
Assignee: HONG KONG APPLIED SCIENCE AND TECHNOLOGY RESEARCH INSTITUTE CO., LTD
G06N20/00G06F16/2379G06F40/205G06N3/004H04L51/02
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 11,501,211
App. No.
16/818,702
Granted
Nov 15, 2022
Kind
B2
Abstract

The present disclosure describes methods, devices, and non-transitory computer readable storage medium for managing lifecycle of a knowledge base (KB) in chatbot systems. The method includes receiving an update request and updating a current-version KB as a new current-version KB. The method also includes receiving a first test request from a knowledge point (KP) operator and determining whether the new current-version KB passes a first test; and in response to the determination that the new current-version KB passes the first test, submitting the new current-version KB as a new submit-version KB. The method further includes receiving a second test request from a KP manager and determining whether the new submit-version KB passes a second test; and in response to the determination that the new submit-version KB passes the second test, storing an original production-version KB as a pervious-version KB and submitting the new submit-version KB as a new production-version KB.

Claims (172)

1. A method for managing lifecycle of a knowledge base (KB) in a chatbot system, the method comprising:

receiving, by a device comprising a memory storing instructions and a processor in communication with the memory, an update request and updating a current-version KB as a new current-version KB;

receiving, by the device, a first test request from a knowledge point (KP) operator and determining whether the new current-version KB passes a first test;

in response to the determination that the new current-version KB passes the first test, submitting, by the device, the new current-version KB as a new submit-version KB;

receiving, by the device, a second test request from a KP manager and determining whether the new submit-version KB passes a second test; and

in response to the determination that the new submit-version KB passes the second test, storing, by the device, an original production-version KB as a pervious-version KB and submitting the new submit-version KB as a new production-version KB.

2. The method according to claim 1 , wherein the new current-version KB comprises one or more knowledge points.

3. The method according to claim 1 , further comprising:

determining, by the device, whether the new production-version KB has an issue; and

in response to the determination that the new production-version KB has the issue, replacing, by the device, the new production-version KB by the stored previous-version KB.

4. The method according to claim 1 , wherein receiving the update request and updating the current-version KB as the new current-version KB comprises:

receiving, by the device, a raw dataset;

building, by the device, a first set of knowledge points based on the raw dataset according to at least one of a jargon, a question and answer, and a tag;

sending, by the device, the first set of knowledge points to a natural language processing (NLP) server for a domain learning and argumentation so that the NLP server is configured to obtain an extraction result based on the first set of knowledge points;

updating, by the device, the first set of knowledge points based on the extraction result to obtain a second set of knowledge points;

updating, by the device, a metadata of each question and answer in the second set of knowledge points;

storing, by the device, the second set of knowledge points and corresponding metadata to a database; and

updating, by the device based on the second set of knowledge points, the current-version KB as the new current-version KB.

5. The method according to claim 1 , wherein determining whether the new current-version KB passes the first test comprises:

receiving, by the device, a question from the KP operator;

returning, by the device, an answer to the question based on the new current-version KB;

receiving, by the device, a first determination whether it is necessary to change the answer from the KP operator;

in response to receiving the first determination that it is necessary to change the answer, locating, by the device, a related question as the question;

receiving, by the device, a second determination whether it is necessary to add the question to the answer from the KP operator;

in response to receiving the second determination that it is necessary to add the question to the answer, adding, by the device, the question to the answer;

determining, by the device, whether it is necessary to continue the first test;

in response to determining that it is necessary to continue the first test, repeating, by the device, the step of receiving a question from the KP operator; and

in response to determining that it is not necessary to continue the first test, determining, by the device, that the new current-version KB passes the first test.

6. The method according to claim 5 , wherein returning the answer to the question based on the new current-version KB comprises:

determining, by the device, whether the question has foul or is negative;

in response to determining that the question has foul or is negative, obtaining, by the device, a response to a foul question;

in response to determining that the question does not have foul and is not negative:

determining, by the device, whether an exact match to the question is found based on the new current-version KB,

in response to determining that the exact match to the question is not found, determining, by the device, whether a related context to the question is found based on the new current-version KB,

in response to determining that the related context to the question is not found, determining, by the device, whether a matched tag to the question is found based on the new current-version KB,

in response to determining that the matched tag to the question is not found, determining, by the device, whether a matched domain to the question is found based on the new current-version KB,

in response to determining that the matched domain to the question is found, matching, by the device, the question based on the new current-version KB, and

in response to determining that the matched domain to the question is not found, finding, by the device, a related topic to the question based on the new current-version KB; and

constructing, by the device, the answer to the question.

7. The method according to claim 1 , wherein determining whether the new submit-version KB passes the second test comprises:

receiving, by the device, a question from the KP manager;

returning, by the device, an answer to the question based on the new submit-version KB;

receiving, by the device, a first determination whether it is necessary to change the answer from the KP manager;

in response to receiving the first determination that it is necessary to change the answer from the KP manager, changing, by the device, the answer;

receiving, by the device, a second determination whether it is necessary to add the question to the answer from the KP manager;

in response to receiving the second determination that it is necessary to add the question to the answer from the KP manager, adding, by the device, the question to the answer;

determining, by the device, whether it is necessary to continue the second test;

in response to determining that it is necessary to continue the second test, repeating, by the device, the step of receiving a question from the KP manager; and

in response to determining that it is not necessary to continue the second test, determining, by the device, that the new submit-version KB passes the second test.

8. A device for managing lifecycle of a knowledge base (KB) in a chatbot system, the device comprising:

a memory storing instructions; and

a processor in communication with the memory, wherein, when the processor executes the instructions, the processor is configured to cause the device to:

receive an update request and update a current-version KB as a new current-version KB,

receive a first test request from a knowledge point (KP) operator and determine whether the new current-version KB passes a first test,

in response to the determination that the new current-version KB passes the first test, submit the new current-version KB as a new submit-version KB;

receive a second test request from a KP manager and determine whether the new submit-version KB passes a second test; and

in response to the determination that the new submit-version KB passes the second test, store an original production-version KB as a pervious-version KB and submit the new submit-version KB as a new production-version KB.

9. The device according to claim 8 , wherein the new current-version KB comprises one or more knowledge points.

10. The device according to claim 8 , wherein, when the processor executes the instructions, the processor is configured to further cause the device to:

determine whether the new production-version KB has an issue; and

in response to the determination that the new production-version KB has the issue, replace the new production-version KB by the stored previous-version KB.

11. The device according to claim 8 , wherein, when the processor is configured to cause the device to receive the update request and update the current-version KB as the new current-version KB, the processor is configured to cause the device to:

receive a raw dataset;

build a first set of knowledge points based on the raw dataset according to at least one of a jargon, a question and answer, and a tag;

send the first set of knowledge points to a natural language processing (NLP) server for a domain learning and argumentation so that the NLP server is configured to obtain an extraction result based on the first set of knowledge points;

update the first set of knowledge points based on the extraction result to obtain a second set of knowledge points;

update a metadata of each question and answer in the second set of knowledge points;

store the second set of knowledge points and corresponding metadata to a database; and

update, based on the second set of knowledge points, the current-version KB as the new current-version KB.

12. The device according to claim 8 , wherein, when the processor is configured to cause the device to determine whether the new current-version KB passes the first test, the processor is configured to cause the device to:

receive a question from the KP operator;

return an answer to the question based on the new current-version KB;

receive a first determination whether it is necessary to change the answer from the KP operator;

in response to receiving the first determination that it is necessary to change the answer, locate a related question as the question;

receive a second determination whether it is necessary to add the question to the answer from the KP operator;

in response to receiving the second determination that it is necessary to add the question to the answer, add the question to the answer;

determine whether it is necessary to continue the first test;

in response to determining that it is necessary to continue the first test, repeat the step to receive a question from the KP operator; and

in response to determining that it is not necessary to continue the first test, determine that the new current-version KB passes the first test.

13. The device according to claim 12 , wherein, when the processor is configured to cause the device to return the answer to the question based on the new current-version KB, the processor is configured to cause the device to:

determine whether the question has foul or is negative;

in response to determining that the question has foul or is negative, obtain a response to a foul question;

in response to determining that the question does not have foul and is not negative:

determine whether an exact match to the question is found based on the new current-version KB,

in response to determining that the exact match to the question is not found, determine whether a related context to the question is found based on the new current-version KB,

in response to determining that the related context to the question is not found, determine whether a matched tag to the question is found based on the new current-version KB,

in response to determining that the matched tag to the question is not found, determine whether a matched domain to the question is found based on the new current-version KB,

in response to determining that the matched domain to the question is found, match the question based on the new current-version KB, and

in response to determining that the matched domain to the question is not found, find a related topic to the question based on the new current-version KB; and

construct the answer to the question.

14. The device according to claim 8 , wherein, when the processor is configured to cause the device to determine whether the new submit-version KB passes the second test, the processor is configured to cause the device to:

receive a question from the KP manager;

return an answer to the question based on the new submit-version KB;

receive a first determination whether it is necessary to change the answer from the KP manager;

in response to receiving the first determination that it is necessary to change the answer from the KP manager, change the answer;

receive a second determination whether it is necessary to add the question to the answer from the KP manager;

in response to receiving the second determination that it is necessary to add the question to the answer from the KP manager, add the question to the answer;

determine whether it is necessary to continue the second test;

in response to determining that it is necessary to continue the second test, repeat the step to receive a question from the KP manager; and

in response to determining that it is not necessary to continue the second test, determine that the new submit-version KB passes the second test.

15. The device according to claim 14 , wherein, when the processor is configured to cause the device to return the answer to the question based on the new submit-version KB, the processor is configured to cause the device to:

determine whether the question has foul or is negative;

in response to determining that the question has foul or is negative, obtain a response of a foul question;

in response to determining that the question does not have foul and is not negative:

determine whether an exact match to the question is found based on the new submit-version KB,

in response to determining that the exact match to the question is not found, determine whether a related context to the question is found based on the new submit-version KB,

in response to determining that the related context to the question is not found, determine whether a matched tag to the question is found based on the new submit-version KB,

in response to determining that the matched tag to the question is not found, determine whether a matched domain to the question is found based on the new submit-version KB,

in response to determining that the matched domain to the question is found, match the question based on the new submit-version KB, and

in response to determining that the matched domain to the question is not found, find a related topic to the question based on the new submit-version KB; and

construct the answer to the question.

16. A non-transitory computer readable storage medium storing instructions, wherein the instructions, when executed by a processor, cause the processor to perform:

receiving an update request and updating a current-version KB as a new current-version KB;

receiving a first test request from a knowledge point (KP) operator and determining whether the new current-version KB passes a first test;

in response to the determination that the new current-version KB passes the first test, submitting the new current-version KB as a new submit-version KB;

receiving a second test request from a KP manager and determining whether the new submit-version KB passes a second test; and

in response to the determination that the new submit-version KB passes the second test, storing an original production-version KB as a pervious-version KB and submitting the new submit-version KB as a new production-version KB.

17. The non-transitory computer readable storage medium according to claim 16 , wherein:

the new current-version KB comprises one or more knowledge points;

the instructions, when executed by the processor, cause the processor to further perform:

determining whether the new production-version KB has an issue, and

in response to the determination that the new production-version KB has the issue, replacing the new production-version KB by the stored previous-version KB.

18. The non-transitory computer readable storage medium according to claim 16 , wherein, when the instructions cause the processor to perform receiving the update request and updating the current-version KB as the new current-version KB, the instructions cause the processor to perform:

receiving a raw dataset;

building a first set of knowledge points based on the raw dataset according to at least one of a jargon, a question and answer, and a tag;

sending the first set of knowledge points to a natural language processing (NLP) server for a domain learning and argumentation so that the NLP server is configured to obtain an extraction result based on the first set of knowledge points;

updating the first set of knowledge points based on the extraction result to obtain a second set of knowledge points;

updating a metadata of each question and answer in the second set of knowledge points;

storing the second set of knowledge points and corresponding metadata to a database; and

updating, based on the second set of knowledge points, the current-version KB as the new current-version KB.

19. The non-transitory computer readable storage medium according to claim 16 , wherein, when the instructions cause the processor to perform determining whether the new current-version KB passes the first test, the instructions cause the processor to perform:

receiving a question from the KP operator;

returning an answer to the question based on the new current-version KB;

receiving a first determination whether it is necessary to change the answer from the KP operator;

in response to receiving the first determination that it is necessary to change the answer, locating a related question as the question;

receiving a second determination whether it is necessary to add the question to the answer from the KP operator;

in response to receiving the second determination that it is necessary to add the question to the answer, adding the question to the answer;

determining whether it is necessary to continue the first test;

in response to determining that it is necessary to continue the first test, repeating the step of receiving a question from the KP operator; and

in response to determining that it is not necessary to continue the first test, determining that the new current-version KB passes the first test.

20. The non-transitory computer readable storage medium according to claim 19 , wherein, when the instructions cause the processor to perform returning the answer to the question based on the new current-version KB, the instructions cause the processor to perform:

determining whether the question has foul or is negative;

in response to determining that the question has foul or is negative, obtaining a response to a foul question;

in response to determining that the question does not have foul or is not negative:

determining whether an exact match to the question is found based on the new current-version KB,

in response to determining that the exact match to the question is not found, determining whether a related context to the question is found based on the new current-version KB,

in response to determining that the related context to the question is not found, determining whether a matched tag to the question is found based on the new current-version KB,

in response to determining that the matched tag to the question is not found, determining whether a matched domain to the question is found based on the new current-version KB,

in response to determining that the matched domain to the question is found, matching the question based on the new current-version KB, and

in response to determining that the matched domain to the question is not found, finding a related topic to the question based on the new current-version KB; and

constructing the answer to the question.

21. The non-transitory computer readable storage medium according to claim 16 , wherein, when the instructions cause the processor to perform determining whether the new submit-version KB passes the second test, the instructions cause the processor to perform:

receiving a question from the KP manager;

returning an answer to the question based on the new submit-version KB;

receiving a first determination whether it is necessary to change the answer from the KP manager;

in response to receiving the first determination that it is necessary to change the answer from the KP manager, changing the answer;

receiving a second determination whether it is necessary to add the question to the answer from the KP manager;

in response to receiving the second determination that it is necessary to add the question to the answer from the KP manager, adding the question to the answer;

determining whether it is necessary to continue the second test;

in response to determining that it is necessary to continue the second test, repeating the step of receiving a question from the KP manager; and

in response to determining that it is not necessary to continue the second test, determining that the new submit-version KB passes the second test.

22. The non-transitory computer readable storage medium according to claim 21 , wherein, when the instructions cause the processor to perform returning the answer to the question based on the new submit-version KB, the instructions cause the processor to perform:

determining whether the question has foul or is negative;

in response to determining that the question has foul or is negative, obtaining a response of a foul question;

in response to determining that the question does not have foul and is not negative:

determining whether an exact match to the question is found based on the new submit-version KB,

in response to determining that the exact match to the question is not found, determining whether a related context to the question is found based on the new submit-version KB,

in response to determining that the related context to the question is not found, determining whether a matched tag to the question is found based on the new submit-version KB,

in response to determining that the matched tag to the question is not found, determining whether a matched domain to the question is found based on the new submit-version KB,

in response to determining that the matched domain to the question is found, matching the question based on the new submit-version KB, and

in response to determining that the matched domain to the question is not found, finding a related topic to the question based on the new submit-version KB; and

constructing the answer to the question.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2020
From: WU, CHI KONG; HO, KA WING
To: HONG KONG APPLIED SCIENCE AND TECHNOLOGY RESEARCH INSTITUTE CO., LTD
Reel/Frame 052112/0489 →
Continuity (1)
Related Publication 20210287132A1 · Sep 16, 2021
Cited By (1)
US 12,284,148