CN111723183A - 智能问答中对话流程的调整方法及装置 - Google Patents

智能问答中对话流程的调整方法及装置 Download PDF

Info

Publication number
CN111723183A
CN111723183A CN201910213316.1A CN201910213316A CN111723183A CN 111723183 A CN111723183 A CN 111723183A CN 201910213316 A CN201910213316 A CN 201910213316A CN 111723183 A CN111723183 A CN 111723183A
Authority
CN
China
Prior art keywords
knowledge
knowledge block
block
condition
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910213316.1A
Other languages
English (en)
Other versions
CN111723183B (zh
Inventor
李波
王慧
曾永梅
刘嘉
王义松
朱频频
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Xiaoi Robot Technology Co Ltd
Original Assignee
Shanghai Xiaoi Robot Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Xiaoi Robot Technology Co Ltd filed Critical Shanghai Xiaoi Robot Technology Co Ltd
Priority to CN201910213316.1A priority Critical patent/CN111723183B/zh
Publication of CN111723183A publication Critical patent/CN111723183A/zh
Application granted granted Critical
Publication of CN111723183B publication Critical patent/CN111723183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种智能问答中对话流程的调整方法及装置,所述方法包括:获取待修改对话流程对应的流程图,流程图包括多个步骤节点,至少部分数目的步骤节点对应知识块,步骤节点之间通过执行逻辑进行关联;知识块包括一个或多个具有并列关系的知识块值,知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;知识块具有接入条件和接出条件;将待处理的知识块作为目标知识块,选中目标知识块;当需要新增或移动目标知识块时,根据目标知识块的接入条件和接出条件判断目标知识块在所述流程图中一个或多个可插入位置,根据修改需求将目标知识块移动至一个可插入位置;补全移动后流程图中各步骤节点之间的执行逻辑。

Description

智能问答中对话流程的调整方法及装置
技术领域
本发明涉及人工智能技术领域,尤其涉及一种智能问答中对话流程的调整方法、知识块库、知识系统、智能问答中对话流程的调整装置、智能问答中对话流程的调整系统、电子设备和计算机可读存储介质。
背景技术
随着人工智能技术的发展,智能问答技术已日渐成熟。为了更好地提高用户的体验效果,智能问答系统中可以包括多个对话流程,而每个对话流程可以采用流程图的表达方式以便更好进行可视化管理。每个对话流程可以包括多个步骤节点,步骤节点之间通过执行逻辑(执行逻辑可以包括执行顺序,如“箭头”;执行逻辑还可以包括执行条件判断,如“Y(即:是)”或“N”(即:否))进行关联。至少部分数目的步骤节点与知识点相对应,每个知识点包括问题和答案,所述问题包括:一个标准问和多个扩展问,同一知识点中扩展问与标准问的含义相同,问题可以采用语义表达式形式或普通问句。
当一对话流程需要进行调整,如:新增步骤节点、移动步骤节点、删除步骤节点或修改步骤节点的内容时,现有技术中一般都是通过文字描述、表单选择或者类似visio等软件勾画流程线等方式进行修改,从而调整过程比较复杂,且可能存在多处重复操作,而在重复操作过程中就可能产生错误。
发明内容
本发明解决的问题是如何简化智能问答中对话流程的调整过程,且防止误修改。
为解决上述问题,本发明实施例提供一种智能问答中对话流程的调整方法,包括:
获取待修改对话流程对应的流程图,所述流程图包括多个步骤节点,至少部分数目的步骤节点对应知识块,所述步骤节点之间通过执行逻辑进行关联;所述知识块包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件;
将待处理的知识块作为目标知识块,选中目标知识块;
当需要新增或移动目标知识块时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,根据修改需求将所述目标知识块移动至一个可插入位置;补全移动后流程图中各步骤节点之间的执行逻辑。
可选地,所述方法还包括:
当需要删除目标知识块时,删除所述目标知识块;补全删除后的流程图中各步骤节点之间的执行逻辑;
当需要修改所述目标知识块的知识块值时,直接修改所述目标知识块的知识块值;
当需要修改所述目标知识块的接入条件和/或接出条件时,修改所述目标知识块的接入条件和/或接出条件,并在修改后的目标知识块与前后步骤节点不匹配时,进行提醒。
可选地,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中多个可插入位置后,从多个可插入位置中计算出与优化要求最匹配的一个可插入位置作为推荐位置;或者通过统计历史数据从多个可插入位置中选择出频次最高的一个可插入位置作为推荐位置,所述多个可插入位置和所述推荐位置采用不同方式进行显示。
为解决上述问题,本发明实施例还提供了一种知识块库,包括多个知识块,所述知识块包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件。
可选地,至少部分数目的所述知识块还包括:自身条件,所述自身条件为与所述知识块对应的判断步骤。
可选地,所述知识块包括多个接出条件。
可选地,所述接入条件为空或/和所述接出条件为空。
为解决上述问题,本发明实施例还提供了一种知识系统,包括:上述的知识块库以及以下一种或多种组合:词库、语义库、知识图谱库和实体库。
为解决上述问题,本发明实施例还提供了一种智能问答中对话流程的调整装置,包括:
信息提供模块,用于获取待修改对话流程对应的流程图,所述流程图包括多个步骤节点,至少部分数目的步骤节点对应知识块,所述步骤节点之间通过执行逻辑进行关联;所述知识块包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件;
选择模块,用于将待处理的知识块作为目标知识块,选中目标知识块;
处理模块,用于当需要新增或移动目标知识块时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,根据修改需求将所述目标知识块移动至一个可插入位置;补全移动后流程图中各步骤节点之间的执行逻辑。
为解决上述问题,本发明实施例还提供了一种智能问答中对话流程的调整系统,包括:上述的智能问答中对话流程的调整装置以及上述的知识系统。
为解决上述问题,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的智能问答中对话流程的调整方法。
为解决上述问题,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的智能问答中对话流程的调整方法。
与现有技术相比,本发明的技术方案具有以下优点:
本发明实施例在对智能问答中对话流程的调整过程中采用了知识块,即将原本一个知识点转化为数个知识块,并可以通过排列组合知识块来编辑对话逻辑和管理,且避免了使用模板,信息兼容更加广泛;知识块可以被不同知识点或流程共享,因此可以统一存储和编辑,节省存储空间,且避免重复编辑劳动;知识块还具有接入条件和接出条件,在调整目标知识块时,可以通过接入条件和接出条件在流程图中判断出一个或多个可插入位置,即自动判断可以移动的位置,防止误修改,从而提高了调整的准确率。
进一步地,当可插入位置为多个时,从多个可插入位置中计算出与优化要求最匹配的一个可插入位置作为推荐位置;或者通过统计历史数据从多个可插入位置中选择出频次最高的一个可插入位置作为推荐位置,多个可插入位置和推荐位置可以采用不同方式进行显示,这样可以给用户提供更确定的唯一位置推荐,推荐位置可以为用户提供更多的参考信息,从而进一步提高用户的体验效果。
本发明实施例提供的知识块库中,知识块除了接入条件和接出条件之外,还可以包括自身条件,自身条件为与知识块对应的判断步骤,判断步骤包括一个或多个接出条件,从而更便于对话流程图的建立和调整。
附图说明
图1是本发明实施例一提供的一个知识块的示意图;
图2是本发明实施例一提供的另一个知识块的示意图;
图3是本发明实施例三提供的智能问答中对话流程的调整方法的流程示意图;
图4是本发明实施例三中一个对话流程的示意图;
图5是本发明实施例四提供的智能问答中对话流程的调整装置的结构示意图。
具体实施方式
现有技术中当对智能问答的对话流程图进行逻辑顺序调整时,需要通过文字描述、表单选择或者类似visio软件等勾画流程线等方式进行修改,从而调整过程比较复杂,且可能存在多处重复操作,而在重复操作过程中就可能产生错误。
针对上述问题,本发明首先提供了一种新的知识存储方式,即知识块库,包括多个知识块,所述知识块包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件,从而将原本一个知识点转化为数个知识块,并可以通过排列组合知识块来编辑对话逻辑和管理,且避免了使用模板,信息兼容更加广泛;知识块可以被不同知识点或流程共享,因此可以统一存储和编辑,节省存储空间,且避免重复编辑劳动。
针对上述问题,本发明还提供了一种智能问答中对话流程的调整方法及装置,其在上述知识块的基础上,当需要新增或移动目标知识块时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,根据修改需求将所述目标知识块移动至一个可插入位置;补全移动后流程图中各步骤节点之间的执行逻辑,从而在实现可视化管理的同时,由于知识块还具有接入条件和接出条件,在调整目标知识块时,可以通过接入条件和接出条件在流程图中判断出一个或多个可插入位置,即自动判断可以移动的位置,防止误修改,从而提高了调整的准确率。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
实施例一
本实施例提供了一种知识块库(slot box),包括多个知识块(slot),所述知识块包括一个或多个具有并列关系的知识块值(slot value),所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件。
在一个具体例子中,如图1所示,一个知识块包括知识块值a(Slot value a)、知识块值b(Slot value b)和知识块值c(Slot value c),三个知识块值之间都是并列(or)关系,该知识块还包括一个接入条件和一个接出条件。
知识块的构建是基于一定知识体系的,可以是词库、语义库、知识图谱库和实体库的一种或多种,根据选择的知识体系不同,知识块的构建方式可以有所不同。
所述逻辑组合可以包括:与(and)、或(or)、非(not)等,各逻辑代表的意义对于本领域技术人员是熟知的。如:A与B,表示同时满足A和B;A或B,表示满足A或B;非A,表示不是A。
词库用于提供词和词类,其是按照词的语义进行划分的,把一组相关的词组织在一起形成一个树状结构的词类数据库。词类是对一组相关词的汇总,由词类名称和一组相关词所组成。相关词可以为同义词,也可以为语义不相似的同一集合词。词类名是在这组相关词中具有标签作用的词,即词类的代表。一个词类中至少包含两个词。当一个词语不属于任何词类时,则为词,如:的。需要说明的是,词库中的词或词类不具有语义结构。当知识块包括词或词类时,可以选择多个词或/和词类进行逻辑组合(如:交集关系,and)得到一个知识块值,一个知识块可以有多个知识块值,每个知识块值之间为并集(or,即:或者)关系。
语义库用于提供语义,所述语义主要由词、词类以及他们的语义关系构成,其核心依赖于“词类”(如用[]表示)。所述语义关系可以包括:或的关系(如用|表示,[方法|步骤]即表示词类方法或者词类步骤)、非必要的表示(如用?表示,[业务?]即表示词类业务可有可无)、有顺序的表示(如用()表示,([美元][兑换][人民币])即表示美元兑换人民币,而不能是人民币兑换美元)等。当知识块包括语义时,选择多个语义进行组合得到一个知识块值,一个知识块可以有多个知识块值,每个知识块值之间为并集关系。需要说明的是,语义关系也可以传递给对应的知识块值。
知识图谱库用于提供知识图谱,知识图谱是具有语义关系的词网络结构,其包含了词组的语义信息。当知识块包括知识图谱时,选择多个节点进行组合得到一个知识块值,一个知识块可以有多个知识块值,每个知识块值之间为并集(or)关系。需要说明的是,网络结构中的语义信息也可以传递给对应的知识块值。
实体库用于提供实体和实体属性。实体是一种特殊的词类,但这种词类一般都是一个无限集合,比如时间、地点、手机号码等。当知识块包括实体时,一个知识值一般有一个实体,但为了实行特殊功能,也可以将多个实体作为一个知识块值,如:时间or时间+地点。实体属性用于提供实体所具有的要素,可以具有实体属性值。比如:书本可以具有书名,作者,出版社等,这些都是实体“书”的属性,而具体的书名,作者名字,出版社名字是实体属性值。
每个所述知识块除了具有一个或多个知识块值之外,所述知识块还具有接入条件和接出条件,其中:所述接入条件可以是任意预设的具体条件,也可以是空(即任意条件均满足该接入条件);所述接出条件可以是任意预设的具体条件,也可以是空(即任意条件均满足该接出条件)。
在其它例子中,所述知识块可以有一个或多个不同的接入条件,也可以有一个或多个不同的接出条件。如:知识块A具有一个知识块值,该知识块值包括一个实体——时间,即该知识块包括一个接入条件和两个接出条件,两个接出条件可以分别为:if time=AM,jump to Slot B(即如果是上午,则执行知识块B);if time=PM,jump to Slot C(即如果是下午,则执行知识块C)。
除此之外,有些知识块除了具有一个或多个知识块值、接入条件和接出条件之外,所述知识块还可以包括:自身条件,所述自身条件为与所述知识块对应的判断步骤,所述判断步骤包括一个或多个接出条件,此时该知识块的输出条件与自身条件。如:参考图2所示,知识块A’包括:三个知识块值Slot value a、Slot value b和Slot value c,一个接入条件、一个自身条件和两个接出条件,其中:自身条件为Condition SlotA’=a?(即判断SlotA’是否等于a),两个接出条件均连接自身条件的输出,第一接出条件为Y(即当Slot A’等于a),第二接出条件为N(即当Slot A’不等于a)。此时的自身条件的判断步骤是与该知识块相关的。
需要说明的是,所述自身条件中还可以包括其它知识块,其都在本发明的保护范围中。
此外,所述自身条件也可以作为对话流程对应的流程图中单独的一个步骤节点,此时该知识块则不包括自身条件。
每个知识块对应的知识块值、接入条件、接出条件和自身条件(如果有的话)作为一个整体存储在所述知识块库中,而所述接入条件和所述接出条件就作为是否可以在对话流程的步骤节点中使用该知识块的使用条件。
每个知识块均具有名称(如:Slot A),且知识块库中每个知识块的名称均不同,即知识块与名称具有一一对应关系,即使两个知识块中知识块值相同,但只要接入条件和接出条件中至少存在一个不同时,则这两个知识块的名称也不同。
本实施例将原本一个知识点转化为数个知识块,并可以通过排列组合知识块来编辑对话逻辑和管理,且避免了使用模板,信息兼容更加广泛;知识块可以被不同知识点或流程共享,因此可以统一存储和编辑,节省存储空间,且避免重复编辑劳动;知识块还具有接入条件和接出条件,在调整目标知识块时,可以通过接入条件和接出条件在流程图中判断出一个或多个可插入位置,即自动判断可以移动的位置,防止误修改,从而提高了调整的准确率。
实施例二
本实施例提供一种知识系统,包括:知识块库以及以下一种或多种组合:词库、语义库、知识图谱库和实体库。
所述知识块库括多个知识块,所述知识块包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件。
关于知识块库的具体描述可以参考实施例一,在此不再赘述。
在一个具体例子中,所述知识系统可以同时包括:知识块库、词库、语义库、知识图谱库和实体库,其中:所述知识块库分别与词库、语义库、知识图谱库和实体库具有对应关系。
在另一个具体例子中,所述知识系统还可以包括:知识块库、词库、语义库、知识图谱库、实体库和知识库,其中:所述知识块库分别与词库、语义库、知识图谱库和实体库具有对应关系,而所述知识块包括一个或多个知识点,每个知识点包括问题和答案,所述答案既可以是回复给用户的信息,也可以是对用户的反问、运算等其它执行操作。所述问题包括:一个标准问和多个扩展问,同一知识点中所述标准问和所述扩展问所表达的语义相同,所述标准问和所述扩展问可以采用语义表达式也可以采用普通问句。当采用语义表达式形式时,所述知识库可以与所述词库、语义库和实体库之间具有对应关系。
所述知识系统共同作用于智能问答系统中,而知识库主要用于前端——理解用户的意思以获取用户的信息,知识块库作用于对话流程中,而对话流程主要用于后端——根据获取的用户信息指引用户(即:人)或问答系统(即:机器)后续的信息交互或动作执行。
实施例三
参考图3所示,本实施例提供一种智能问答中对话流程的调整方法,可以包括以下步骤:
步骤S1,获取待修改对话流程对应的流程图;
步骤S2,将待处理的知识块作为目标知识块,选中目标知识块;
步骤S3,当需要新增或移动目标知识块时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,根据修改需求将所述目标知识块移动至一个可插入位置;补全移动后流程图中各步骤节点之间的执行逻辑。
本实施例在调整目标知识块时,可以通过接入条件和接出条件在流程图中判断出一个或多个可插入位置,即自动判断可以移动的位置,防止误修改,从而提高了调整的准确率。
在智能问答中,为了提高用户的体验效果,可以与用户进行多轮交互,且根据应用场景不同进行对应的场景交互,为此可以预先建立多个对话流程,而每个对话流程可以对应一个用户需求,如:办理信用卡、申请带薪年假等。
所述对话流程可以通过人工方式建立,也可以通过深度学习等方式自动建立,本发明的改进点主要在于如何调整对话流程,对于对话流程的建立不做限制。各个对话流程可以分别对应不同的主题名称以做对话流程之间的区分,还可以使第一个步骤节点兼具主题名称的作用以做对话流程之间的区分,也可以采用其它方式,其都在本发明的保护范围内。
本实施例中所述对话流程可以采用可视化的流程图进行表示,所述流程图包括多个步骤节点,至少部分数目的步骤节点对应知识块,所述步骤节点之间通过执行逻辑(如:箭头)进行关联;所述知识块包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件。
需要说明的是,所述流程图中的知识块可以直接选自实施例一中的知识块库,也可以直接在当前步骤节点中建立该知识块,还可以对来自知识块库中的知识块进行修改后作为流程中当前步骤节点的知识块。无论知识块采用何种方式建立,其均包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件。
此外,在应用对话流程对应的流程图时,通过与用户前期的问答交互,已经确定进入当前对话流程,即:需要执行当前对话流程对应的流程图,而具体如何进入当前对话流程也不在本发明的限制之内。比如:用户输入“我想申请带薪病假”,则进入“申请带薪病假”对话流程对应的流程图。
图4示出了申请带薪病假的对话流程示意图,其包括5个知识块,分别为:Slot A、Slot B、Slot C、Slot D和Slot E,其中:Slot A不仅具有接入条件和接出条件,还具有自身条件Condition:是否尚未注册Slot A=a?,即Slot A和Slot A=a?可以共同作为一个知识块存储在知识块库中,而Condition:年限是否大于等于1年Slot D>=d?是作为一个判断步骤节点,即Slot D不具有自身条件,只有接入条件和接出条件。该对话流程包括三个执行步骤节点,分别为:Solution X、Solution Y和Solution Z。
需要说明的是,在其它例子中,Slot A也可以不具有自身条件,此时Slot A=a?作为一个判断步骤节点;而Slot D也可以具有自身条件,即Slot D>=d?,可以根据需要进行不同的设置。当将判断步骤节点作为知识块的自身条件(如将Slot A=a?作为Slot A的自身条件)且存储在知识块库中时,则利用该知识块时可以省略与判断步骤之间的条件判断,即两者始终结合在一起使用;当将判断步骤节点不作为知识块的自身条件且知识块存储在知识块库中时,则该知识块在流程图的应用更灵活,可以连接除判断步骤节点之外的其它节点。
从一流程图中各步骤节点的作用而言,包括知识块的步骤节点一般是完成获取用户信息以及理解用户意图的作用,判断的步骤节点一般是完成决策的作用,结束的步骤节点一般是完成执行的作用,结束的步骤节点一般是非知识块的步骤节点,而判断的步骤节点至少分两种情况:一种是非知识块的步骤节点,另一种是一知识块的自身条件(即知识块的一部分)。
当一个知识块的输入与一个非知识块的步骤节点相连接时,则可以认为该非知识块的步骤节点的接出条件与该知识块的接入条件相对应或相同;而当一个知识块的输出与一个非知识块的步骤节点相连接时,则可以认为该非知识块的步骤节点的接入条件与该知识块的接出条件相对应或相同。
下面对本实施例的步骤进行详细说明。
首先执行步骤S1,获取待修改对话流程对应的流程图。
当一对话流程对应的流程图需要进行调整时,如:删除步骤节点、修改步骤节点、移动步骤节点或新增步骤节点时,则调取该流程图。
本实施例中的修改主要指的是包括知识块的步骤节点的删除、修改、移动和新增等,即对流程图中的知识块进行调整。
接着执行步骤S2,将流程图中待处理的知识块作为目标知识块,并选中目标知识块。
当所述修改是删除、修改或移动时,则说明当前流程图中包括该目标知识块,因此选中目标知识块即从当前的流程图中进行选中,比如:可以通过点击或双击鼠标的方式选中某个步骤节点对应的知识块;当所述修改为新增时,则当前流程图中很可能没有该目标知识块,因此此时的选中目标知识块可以参考新建步骤节点(如:可以直接选自实施例一中的知识块库,也可以直接在当前步骤节点中建立该知识块,还可以对来自知识块库中的知识块进行修改后作为流程中当前步骤节点的知识块)。
接着执行步骤S31(图中未示出),当需要新增目标知识块时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,根据修改需求将所述目标知识块移动至一个可插入位置;补全移动后流程图中各步骤节点之间的执行逻辑。
由于知识块具有接入条件和接出条件,而与其连接的非知识块的步骤节点也就相当于具有了相对应或相同的接出条件和接入条件,因此所述流程图中全部或大部分数目的步骤节点就都具有接入条件和接出条件。
当需要增加目标知识块时,则需要先根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,具体地:判断在所述流程图中任意相连的两个步骤节点之间增加所述目标知识块的可能性,如:待处理的流程图中第一步骤节点与第二步骤节点相连(即执行完第一步骤节点后即执行第二步骤节点),待增加的目标知识块的接入条件与第一步骤节点的接出条件相对应或相同,待增加的目标知识块的接出条件与第二步骤节点的接入条件相对应或相同时,则第一步骤节点与第二步骤节点之间的位置就作为一个可插入位置。
对于一个目标知识块,一个待处理的流程图中可以有一个或多个可插入位置。对于所述可插入位置,可以在待处理的流程图中进行区别显示,如:通过虚框、虚线、线条加粗以及不同颜色中的一种或多种组合进行显示。
当确定可插入位置后,就可以根据修改需求将所述目标知识块通过点击、拖动或其它操作移动至一个可插入位置(如:虚框处)。具体进行移动的步骤可以通过人工方式进行确认。
需要说明的是,当用户选中目标知识块后,如果系统根据其接入条件和接出条件自动判断当前流程并没有可以任其移动的其它位置(即没有可插入位置),则无论用户做出如何点击或拖动操作,都不会允许,从而避免误操作。
在一个例子中,当存在多个可插入位置时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中多个可插入位置后,从多个可插入位置中计算出与优化要求最匹配的一个可插入位置作为推荐位置;或者通过统计历史数据从多个可插入位置中选择出频次最高的一个可插入位置作为推荐位置,此时所述多个可插入位置和所述推荐位置采用不同方式进行显示,如:可插入位置与推荐位置采用不同的颜色进行显示。此时,在获取推荐位置后,可以由人工确认是否将目标知识块新增至推荐位置,从而省却了人工进行计算的步骤。
具体地,所述优化要求可以为:流程图中分支最少、流程图中分支最多、流程图中步骤节点最少、流程图中步骤节点最多、流程图中转折最少或流程图中转折最多。
具体地,所述频次最高的一个可插入位置是指通过统计历史数据(既可以是当前用户的历史数据或者所有用户的历史数据)该目标知识块与其它步骤节点的连接数据,从而在待处理的流程图中找出与目标知识块存在连接关系最多的位置作为推荐位置。
当将目标知识块移动至一个可插入位置之后,接着就是补全移动后流程图中各步骤节点之间的执行逻辑,具体地:由于此时是新增目标知识块的步骤,因此只要新增目标知识块可以移动至选定的可插入位置,就不会影响其它步骤节点,可以直接进行补全。如:待处理的流程图中第一步骤节点与第二步骤节点相连,需要新增的第三步骤节点是目标知识块,经判断第一步骤节点与第二步骤节点是目标知识块的一个可插入位置,且该可插入位置满足修改需求,故此时的自动补全为:断开第一步骤节点与第二步骤节点的连接,使第一步骤节点的接出条件连接第三步骤节点的接入条件,第三步骤节点的接出条件连接第二步骤节点的接入条件。
接着执行步骤S32(图中未示出),当需要移动目标知识块时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,根据修改需求将所述目标知识块移动至一个可插入位置;补全移动后流程图中各步骤节点之间的执行逻辑。
当需要移动目标知识块时,则需要先根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,具体地:判断除目标知识块当前位置之外在所述流程图中任意相连的两个步骤节点之间增加所述目标知识块的可能性,如:待处理的流程图中第一步骤节点与第二步骤节点相连(即执行完第一步骤节点后即执行第二步骤节点),待移动的目标知识块的接入条件与第一步骤节点的接出条件相对应或相同,待移动的目标知识块的接出条件与第二步骤节点的接入条件相对应或相同时,则第一步骤节点与第二步骤节点之间的位置就作为一个可插入位置。
需要说明的是,当用户选中目标知识块后,如果系统根据其接入条件和接出条件自动判断当前流程并没有可以任其移动的其它位置(即没有可插入位置),则无论用户做出如何点击或拖动操作,都不会允许,从而避免误操作。
对于一个目标知识块,一个待处理的流程图中可以有一个或多个可插入位置。对于所述可插入位置,可以在待处理的流程图中进行区别显示,如:通过虚框、虚线、线条加粗以及不同颜色中的一种或多种组合进行显示。
当确定可插入位置后,就可以根据修改需求将所述目标知识块通过点击、拖动或其它操作移动至一个可插入位置(如:虚框处)。具体进行移动的步骤可以通过人工方式进行确认。
在一个例子中,当存在多个可插入位置时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中多个可插入位置后,从多个可插入位置中计算出与优化要求最匹配的一个可插入位置作为推荐位置;或者通过统计历史数据从多个可插入位置中选择出频次最高的一个可插入位置作为推荐位置,此时所述多个可插入位置和所述推荐位置采用不同方式进行显示,如:可插入位置与推荐位置采用不同的颜色进行显示。此时,在获取推荐位置后,可以由人工确认是否将目标知识块移动至推荐位置,从而省却了人工进行计算的步骤。
具体地,所述优化要求可以为:流程图中分支最少、流程图中分支最多、流程图中步骤节点最少、流程图中步骤节点最多、流程图中转折最少或流程图中转折最多。
具体地,所述频次最高的一个可插入位置是指通过统计历史数据(既可以是当前用户的历史数据或者所有用户的历史数据)该目标知识块与其它步骤节点的连接数据,从而在待处理的流程图中找出与目标知识块存在连接关系最多的位置作为推荐位置。
当将目标知识块移动至一个可插入位置之后,接着就是补全移动后流程图中各步骤节点之间的执行逻辑,具体地:由于此时是移动目标知识块的步骤,因此不仅目标知识块可以移动至选定的可插入位置,而且还需要判断目标知识块移动后对其先前连接的步骤节点的影响。如:待处理的流程图中第一步骤节点、第二步骤节点和第三步骤节点依次相连,需要移动的第二步骤节点是目标知识块,经判断相互连接的第四步骤节点和第五步骤节点的中间位置是目标知识块的一个可插入位置,且该可插入位置满足修改需求,故此时的补全包括:断开第一步骤节点与第二步骤节点的连接,并断开第二步骤节点与第三步骤节点的连接,将第二步骤节点移动至第四步骤节点和第五步骤节点之间(即第二步骤节点的接入条件连接第四步骤节点的接出条件,第二步骤节点的接出条件连接第五步骤节点的接入条件),并判断第一步骤节点的接出条件与第三步骤节点的接入条件是否相对应或相同,当第一步骤节点的接出条件与第三步骤节点的接入条件相对应或相同时,则直接自动将第一步骤节点的接出条件连接第三步骤节点的接入条件;当第一步骤节点的接出条件与第三步骤节点的接入条件不对应或不同时,则进行提醒,用户据此进行调整,如:新增步骤节点、移动步骤节点、删除步骤节点、修改接入条件、修改接出条件等操作使调整后流程图中相互连接的步骤节点的接入条件与接出条件均相对应或相同。
本实施例中还可以包括以下步骤:
接着执行步骤S33(图中未示出),当需要删除目标知识块时,删除所述目标知识块;补全删除后的流程图中各步骤节点之间的执行逻辑。
当需要删除目标知识块时,则直接删除该目标知识块,进而补全删除后的流程图中各步骤节点之间的执行逻辑,具体地:由于此时是删除目标知识块的步骤,因此只要原先与目标知识块连接的步骤节点在删除目标知识块后的连接仍满足接入条件与接出条件的对应关系即可。如:待处理的流程图中第一步骤节点、第二步骤节点和第三步骤节点依次相连,需要删除的第二步骤节点是目标知识块,在删除目标知识块后的补全包括:断开第一步骤节点与第二步骤节点的连接,并断开第二步骤节点与第三步骤节点的连接,并判断第一步骤节点的接出条件与第三步骤节点的接入条件是否相对应或相同,当第一步骤节点的接出条件与第三步骤节点的接入条件相对应或相同时,则直接自动将第一步骤节点的接出条件连接第三步骤节点的接入条件;当第一步骤节点的接出条件与第三步骤节点的接入条件不对应或不同时,则进行报警提醒,用户据此进行调整,如:新增步骤节点、移动步骤节点、删除步骤节点、修改接入条件、修改接出条件等操作使调整后流程图中相互连接的步骤节点的接入条件与接出条件均相对应或相同。
接着执行步骤S34(图中未示出),当需要修改所述目标知识块的知识块值时,直接修改所述目标知识块的知识块值。
当需要修改所述目标知识块的知识块值时,由于此时不涉及对该知识块的接入条件或接出条件的修改,因此可以直接进行修改。
接着执行步骤S35(图中未示出),当需要修改所述目标知识块的接入条件和/或接出条件时,修改所述目标知识块的接入条件和/或接出条件,并在修改后的目标知识块与前后步骤节点不匹配时,进行提醒。
在一个例子中,待处理的流程图中第一步骤节点、第二步骤节点和第三步骤节点依次相连,需要修改的第二步骤节点是目标知识块,在根据修改需求修改目标知识块的接入条件和接出条件后,需要判断第二步骤节点新的接入条件是否与第一步骤节点的接出条件相对应或相同,并判断第二步骤节点新的接出条件是否与第三步骤节点的接入条件相对应或相同,当两个判断均相对应或相同时,则原来的执行逻辑不变;当两个判断中任一或均不相对应或相同时,则进行提醒,用户据此进行调整,如:新增步骤节点、移动步骤节点、删除步骤节点、修改接入条件、修改接出条件等操作使调整后流程图中相互连接的步骤节点的接入条件与接出条件均相对应或相同。
至此,完成对智能问答中对话流程的调整。
本实施例中对对话流程的操作不仅可视化,而且很简便,且可以自动判断可以移动的位置,防止误修改。
实施例四
如图5所示,本实施例提供了一种智能问答中对话流程的调整装置,包括:
信息提供模块100,用于获取待修改对话流程对应的流程图,所述流程图包括多个步骤节点,至少部分数目的步骤节点对应知识块,所述步骤节点之间通过执行逻辑进行关联;所述知识块包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件;
选择模块200,用于将待处理的知识块作为目标知识块,选中目标知识块;
处理模块300,用于当需要新增或移动目标知识块时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,根据修改需求将所述目标知识块移动至一个可插入位置;补全移动后流程图中各步骤节点之间的执行逻辑。
本实施例中装置的具体工作原理、工作方式、工作过程以及有益效果可以参见实施例一中对应方法步骤的描述,在此不再赘述。
实施例五
本实施例提供了一种智能问答中对话流程的调整系统,包括:
智能问答中对话流程的调整装置以及知识系统。
其中,所述智能问答中对话流程的调整装置具体可以参考实施例四,在此不再赘述。
其中,所述知识系统具体可以参考实施例二,在此不再赘述。
实施例六
本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如实施例三所述的智能问答中对话流程的调整方法的步骤,具体请参见上面方法部分,在此不再赘述。
存储器作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的智能问答中对话流程的调整方法以及智能问答中对话流程的调整方法对应的程序指令/模块。处理器通过运行存储在存储器中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的智能问答中对话流程的调整方法。
存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例七
相应地,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例三所述的智能问答中对话流程的调整方法的步骤,具体请参见上面方法部分,在此不再赘述。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述智能问答中对话流程的调整装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (12)

1.一种智能问答中对话流程的调整方法,其特征在于,包括:
获取待修改对话流程对应的流程图,所述流程图包括多个步骤节点,至少部分数目的步骤节点对应知识块,所述步骤节点之间通过执行逻辑进行关联;所述知识块包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件;
将待处理的知识块作为目标知识块,选中目标知识块;
当需要新增或移动目标知识块时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,根据修改需求将所述目标知识块移动至一个可插入位置;补全移动后流程图中各步骤节点之间的执行逻辑。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当需要删除目标知识块时,删除所述目标知识块;补全删除后的流程图中各步骤节点之间的执行逻辑;
当需要修改所述目标知识块的知识块值时,直接修改所述目标知识块的知识块值;
当需要修改所述目标知识块的接入条件和/或接出条件时,修改所述目标知识块的接入条件和/或接出条件,并在修改后的目标知识块与前后步骤节点不匹配时,进行提醒。
3.如权利要求1所述的方法,其特征在于,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中多个可插入位置后,从多个可插入位置中计算出与优化要求最匹配的一个可插入位置作为推荐位置;或者通过统计历史数据从多个可插入位置中选择出频次最高的一个可插入位置作为推荐位置,所述多个可插入位置和所述推荐位置采用不同方式进行显示。
4.一种知识块库,其特征在于,包括多个知识块,所述知识块包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件。
5.如权利要求4所述的知识块库,其特征在于,至少部分数目的知识块还包括:自身条件,所述自身条件为与所述知识块对应的判断步骤。
6.如权利要求4所述的知识块库,其特征在于,所述知识块包括多个接出条件。
7.如权利要求4所述的知识块库,其特征在于,所述接入条件为空或/和所述接出条件为空。
8.一种知识系统,其特征在于,包括:如权利要求4-7中任一项所述的知识块库以及以下一种或多种组合:词库、语义库、知识图谱库和实体库。
9.一种智能问答中对话流程的调整装置,其特征在于,包括:
信息提供模块,用于获取待修改对话流程对应的流程图,所述流程图包括多个步骤节点,至少部分数目的步骤节点对应知识块,所述步骤节点之间通过执行逻辑进行关联;所述知识块包括一个或多个具有并列关系的知识块值,所述知识块值包括以下一种或多种的逻辑组合:词、词类、语义、知识图谱、实体属性和实体;所述知识块具有接入条件和接出条件;
选择模块,用于将待处理的知识块作为目标知识块,选中目标知识块;
处理模块,用于当需要新增或移动目标知识块时,根据所述目标知识块的接入条件和接出条件判断所述目标知识块在所述流程图中一个或多个可插入位置,根据修改需求将所述目标知识块移动至一个可插入位置;补全移动后流程图中各步骤节点之间的执行逻辑。
10.一种智能问答中对话流程的调整系统,其特征在于,包括:如权利要求9所述的智能问答中对话流程的调整装置以及如权利要求8所述的知识系统。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至3中任一项所述的智能问答中对话流程的调整方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至3中任一项所述的智能问答中对话流程的调整方法。
CN201910213316.1A 2019-03-20 2019-03-20 智能问答中对话流程的调整方法及装置 Active CN111723183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910213316.1A CN111723183B (zh) 2019-03-20 2019-03-20 智能问答中对话流程的调整方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910213316.1A CN111723183B (zh) 2019-03-20 2019-03-20 智能问答中对话流程的调整方法及装置

Publications (2)

Publication Number Publication Date
CN111723183A true CN111723183A (zh) 2020-09-29
CN111723183B CN111723183B (zh) 2023-05-23

Family

ID=72563078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910213316.1A Active CN111723183B (zh) 2019-03-20 2019-03-20 智能问答中对话流程的调整方法及装置

Country Status (1)

Country Link
CN (1) CN111723183B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1704934A (zh) * 2004-05-31 2005-12-07 国际商业机器公司 流程图的编辑、重组验证、创建和转换的方法和装置
CN101650798A (zh) * 2009-09-14 2010-02-17 中国科学院计算技术研究所 流程建模方法
JP2010267229A (ja) * 2009-05-18 2010-11-25 Fujitsu Ltd 対応付け処理方法及びフロー比較処理装置
CN102004974A (zh) * 2010-12-30 2011-04-06 用友软件股份有限公司 流程展现方法和装置
CN105467953A (zh) * 2015-11-11 2016-04-06 中国科学院软件研究所 一种面向工业大数据的知识表示及其自动化应用方法
CN106776649A (zh) * 2015-11-24 2017-05-31 镇江诺尼基智能技术有限公司 一种基于可视化流程图的智能问答多轮交互方法和系统
CN107798123A (zh) * 2017-11-10 2018-03-13 上海智臻智能网络科技股份有限公司 知识库及其建立、修改、智能问答方法、装置及设备
CN108090177A (zh) * 2017-12-15 2018-05-29 上海智臻智能网络科技股份有限公司 多轮问答系统的生成方法、设备、介质及多轮问答系统
CN108509591A (zh) * 2018-03-29 2018-09-07 上海智臻智能网络科技股份有限公司 信息问答交互方法及系统、存储介质、终端、智能知识库

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1704934A (zh) * 2004-05-31 2005-12-07 国际商业机器公司 流程图的编辑、重组验证、创建和转换的方法和装置
JP2010267229A (ja) * 2009-05-18 2010-11-25 Fujitsu Ltd 対応付け処理方法及びフロー比較処理装置
CN101650798A (zh) * 2009-09-14 2010-02-17 中国科学院计算技术研究所 流程建模方法
CN102004974A (zh) * 2010-12-30 2011-04-06 用友软件股份有限公司 流程展现方法和装置
CN105467953A (zh) * 2015-11-11 2016-04-06 中国科学院软件研究所 一种面向工业大数据的知识表示及其自动化应用方法
CN106776649A (zh) * 2015-11-24 2017-05-31 镇江诺尼基智能技术有限公司 一种基于可视化流程图的智能问答多轮交互方法和系统
CN107798123A (zh) * 2017-11-10 2018-03-13 上海智臻智能网络科技股份有限公司 知识库及其建立、修改、智能问答方法、装置及设备
CN108090177A (zh) * 2017-12-15 2018-05-29 上海智臻智能网络科技股份有限公司 多轮问答系统的生成方法、设备、介质及多轮问答系统
CN108509591A (zh) * 2018-03-29 2018-09-07 上海智臻智能网络科技股份有限公司 信息问答交互方法及系统、存储介质、终端、智能知识库

Also Published As

Publication number Publication date
CN111723183B (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
CN105549982B (zh) 一种基于模型配置的自动化开发平台
CN108733713B (zh) 数据仓库中的数据查询方法及装置
CN110908997B (zh) 数据血缘构建方法、装置、服务器及可读存储介质
KR101794373B1 (ko) 선택된 데이터의 일시적인 포맷팅 및 도표화 기법
WO2021036448A1 (zh) 一种网页编辑方法及装置
US11461317B2 (en) Method, apparatus, system, device, and storage medium for answering knowledge questions
CN109740139A (zh) 文档标题自定义样式控制方法、装置、计算机设备及存储介质
CN111008521A (zh) 生成宽表的方法、装置及计算机存储介质
US20200342029A1 (en) Systems and methods for querying databases using interactive search paths
CN110633959A (zh) 基于图结构的审批任务创建方法、装置、设备及介质
CN111401849B (zh) 一种流程工具自定义节点配置方法
CN108920566A (zh) 一种对SQLite数据库的操作方法、装置及设备
US20220019592A1 (en) Data annotation method and apparatus, electronic device and storage medium
CN108766513B (zh) 一种智慧健康医疗数据结构化处理系统
US11328263B2 (en) User interfaces for filtering electronic calendar data sets
CN109753557B (zh) 问答系统的答案输出方法、装置、设备及存储介质
CN111723183A (zh) 智能问答中对话流程的调整方法及装置
CN115543428A (zh) 一种基于策略模板的模拟数据生成方法和装置
CN111046247B (zh) 基于有向图的深度搜索方法、装置、计算机设备及存储介质
CN108334621B (zh) 数据库操作方法、装置、设备及计算机可读存储介质
CN112860725A (zh) Sql自动生成方法和装置、存储介质及电子设备
CN113128184A (zh) 针对多人协同编辑文档的文档内容筛选方法及装置
US20210141777A1 (en) Information management apparatus, information processing apparatus, and non-transitory computer readable medium
CN112632036B (zh) 一种数据交换体系的管理平台、方法及相关设备
CN118210809B (zh) 一种基于er信息的对象定义方法、系统、设备以及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant