买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于矩阵的人机互动结果生成方法及系统_广州多益网络股份有限公司;多益网络有限公司;广东利为网络科技有限公司_201810326047.5 

申请/专利权人:广州多益网络股份有限公司;多益网络有限公司;广东利为网络科技有限公司

申请日:2018-04-12

公开(公告)日:2021-04-27

公开(公告)号:CN108536299B

主分类号:G06F3/01(20060101)

分类号:G06F3/01(20060101);G06F16/332(20190101)

优先权:

专利状态码:有效-授权

法律状态:2021.04.27#授权;2018.10.16#实质审查的生效;2018.09.14#公开

摘要:本发明涉及一种基于矩阵的人机互动结果生成方法及系统,通过存储有答案的矩阵记录问题与结果的分布关系,清楚地反映出各问题与各结果之间的依赖性,从而不需要进行模型重建而占用大量的运算空间,大大加快运算效率,同时也提高最终得到的结果的准确性。并经过实验证明,本发明利用8422个结果和1860个问题去进行人机互动,在0.1秒内即可将结果返回用户。

主权项:1.一种基于矩阵的人机互动结果生成方法,其特征在于:包括以下步骤:S1:检测是否有问答开启指令输入,是则执行步骤S2,否则保持待机状态;S2:初始化当前已提出的问题总数N;S3:调用预存的问题集合、结果集合和答案矩阵,从问题集合中获取一问题并发出提问;其中,所述问题集合由n个不同的问题组成,所述结果集合由m个不同的结果组成;所述答案矩阵为m×n矩阵,且答案矩阵中的元素Aij为第i个结果对于第j个问题的答案系数;或者,所述答案矩阵为n×m矩阵,且答案矩阵中的元素Aij为第j个结果对于第i个问题的答案系数;其中答案系数的值为-1或0或1;当答案系数的值为-1时,表示答案系数对应的结果对于相应的问题的回答为否定回答;当答案系数的值为0时,表示答案系数对应的结果对于相应的问题的回答为不确定性回答;当答案系数的值为1时,表示答案系数对应的结果对于相应的问题的回答为肯定回答;S4:获取用户对当前提问的回答信息,并根据当前回答信息和答案矩阵,于结果集合中获取合格的候选结果,生成候选结果集合;S5:对问题总数进行赋值运算,得到当前已提出的问题总数N=N+1;并判断当前已提问题总数是否大于或等于预设的问题数量阈值Nmax,是则执行步骤S9;否则,执行步骤S6;S6:根据候选结果集合和答案矩阵,从问题集合中获取一问题并继续发出提问;S7:获取用户对当前提问的回答信息,根据当前回答信息和答案矩阵,于候选结果集合中获取合格的候选结果,更新候选结果集合;S8:判断步骤S7中的候选结果集合中的候选结果的个数是否小于或等于结果数量阈值T,是则执行步骤S10,否则返回步骤S5;S9:根据用户的所有回答信息和答案矩阵,计算得到候选结果集合的各个候选结果对已提问题的匹配系数;依照由大到小的顺序对所有匹配系数进行排序,并获取匹配系数位于前T位的T个候选结果,生成新的候选结果集合;S10:从候选结果集合中选取一候选结果,并输出。

全文数据:基于矩阵的人机互动结果生成方法及系统技术领域[0001]本发明涉及人机交互技术领域,特别是涉及一种基于矩阵的人机互动结果生成方法及系统。背景技术[0002]人机互动过程实质上是一个输入和输出的过程,人通过人机界面向计算机输入指令,计算机经过处理后把输出结果呈现给用户。人和计算机之间输入和输出的形式是多种多样的,因此互动的形式也是多样化的。其中一种人机互动方式是:通过机器不断对用户进行提问,并根据用户对提问的每一次的回答,而最终确定用户心中所想的答案,从而实现对用户内心答案的读取,可以理解为是机器的一种“读心术”功能;由此增加了人机交互的趣味性。[0003]目前,现有技术中通常都是利用决策树模型实现机器与用户之间的读心式人机交互,使得机器能够根据用户的回答而获取用户心中的答案。而决策树模型分为动态建模和静态建模,其中,动态建模指的是模型在读心交互过程中创建完成,也即,机器向用户提出的每个问题的选择取决于用户对其上一个问题的回答,也即机器提出的问题只有在该问题被需要时才会进行。动态建模的优点是:主动地去创建模型,用户对同一问题的不同的回答和问题提出的不同的过程都会衍生出不同的结果,能够保证形态的多样性。而静态建模指的是模型在读心交互之前已经创建完成,也即,在进行读心交互之前,已经创建好一系列的模型供机器选择及使用,机器系统会根据用户对问题的答案,不断地调整适用模型,在多个模型之中跳转寻找下一个最恰当的问题,以向用户继续提问。静态建模的优点是:由于是预先生成结果,故能使得读心交互过程中的实际计算量不大,机器系统的运算速度快。但是,利用动态建模和静态建模的方式实现读心交互,仍然存在以下不可忽视的缺陷:[0004]1对于动态建模,由于机器系统在根据用户的每一次回答生成相应的问题时,都会对数据进行一次计算,当并行访问量比较大时,这种运行消耗便会变得无法忽视,最终导致系统的运行效率大大降低;同时由于需要对每个用户构建对应的决策树,会导致机器内存占用陡增。[0005]2对于静态建模,由于在启动服务之间,其所有结果都是已经确定的,则读心交互过程的多样性便会受到限制,最终导致得到的结果的准确性不高,容易受限。[0006]并且,动态建模与静态建模这两者实现上下文问题的依赖皆需要人为地标注问题之间的关系,当数据量大时,这两种实现读心交互的方式都不具有可行性,无法合理地实现问题去重和解决问题依赖性的问题。发明内容[0007]为解决上述现有技术的缺点和不足,本发明其中一目的是提供一种基于矩阵的人机互动结果生成方法,通过基于矩阵实现问题与答案的分布关系,根据对每个答案描述的分布反映出各问题之间的依赖,从而提高最终得到的结果的准确性,且不需要进行模型重建而占用大量的运算空间,有利于大大提高运算效率。本发明的另一目的是提供一种包含上述基于矩阵的人机互动结果生成方法的基于矩阵的人机互动结果生成系统。[0008]为实现本发明的第一目的,本发明首先提供了一种基于矩阵的人机互动结果生成方法,其包括以下步骤:[0009]SI:检测是否有问答开启指令输入,是则执行步骤S2,否则保持待机状态;[0010]S2:初始化当前已提出的问题总数N;[0011]S3:调用预存的问题集合、结果集合和答案矩阵,从问题集合中获取一问题并发出提问;其中,所述问题集合由η个不同的问题组成,所述结果集合由m个不同的结果组成;所述答案矩阵为mXn矩阵,且答案矩阵中的元素Aij为第i个结果对于第j个问题的答案系数;或者,所述答案矩阵为nXm矩阵,且答案矩阵中的元素Aij为第j个结果对于第i个问题的答案系数;[0012]S4:获取用户对当前提问的回答信息,并根据当前回答信息和答案矩阵,于结果集合中获取合格的候选结果,生成候选结果集合;[0013]S5:对问题总数进行赋值运算,得到当前已提出的问题总数N=N+1;并判断当前已提问题总数是否大于或等于预设的问题数量阈值Nmax,是则执行步骤S9;否则,执行步骤S6;[0014]S6:根据候选结果集合和答案矩阵,从问题集合中获取一问题并继续发出提问;[0015]S7:获取用户对当前提问的回答信息,根据当前回答信息和答案矩阵,于候选结果集合中获取合格的候选结果,更新候选结果集合;[0016]S8:判断步骤S7中的候选结果集合中的候选结果的个数是否小于或等于结果数量阈值T,是则执行步骤S10,否则返回步骤S5;[0017]S9:根据用户的所有回答信息和答案矩阵,计算得到候选结果集合的各个候选结果对已提问题的匹配系数;依照由大到小的顺序对所有匹配系数进行排序,并获取匹配系数位于前T位的T个候选结果,生成新的候选结果集合;[0018]SlO:从候选结果集合中选取一候选结果,并输出。[0019]由此,本发明通过存储有答案的矩阵记录问题与结果的分布关系,清楚地反映出各问题与各结果之间的依赖性,从而不需要进行模型重建而占用大量的运算空间,大大加快运算效率,同时也提高最终得到的结果的准确性。经过实验证明,本发明利用8422个结果和1860个问题去进行人机互动,在0.1秒内即可将结果返回用户。[0020]进一步,答案系数的值为-1或0或1;当答案系数的值为-1时,表示答案系数对应的结果对于相应的问题的回答为否定回答;当答案系数的值为0时,表示答案系数对应的结果对于相应的问题的回答为不确定性回答;当答案系数的值为1时,表示答案系数对应的结果对于相应的问题的回答为肯定回答。通过此处限定,利用-1、〇和1表示不同回答信息,进一步简化对答案信息的记录,也减少答案矩阵所占用的内存空间,有利于运算效率的进一步提尚。[0021]进一步,所述步骤S3中,在调用预存问题集合的同时,还调用预存初始熵值集合;所述初始熵值集合的建立步骤包括:根据预存的结果集合和答案矩阵,计算得到预存的问题集合的各问题对结果集合的信息熵的熵值,并记录各问题与其熵值的对应关系;将所有熵值由小到大或由大到小依次排列,形成初始熵值集合;[0022]以及,所述步骤S3中,从问题集合中获取并发出提问的问题为一具有最大熵值的问题。[0023]通过此处限定,有利于提高首次选取的问题对结果的筛选度,也即,通过首次提问的是具有最大熵值的问题,就可以提高对结果分布的影响力,例如,有两个问题,100个结果,第一个问题可以将100个结果分类成对该第一问题具有否定回答的80个结果和肯定回答的20个结果,而第二个问题可以将100个结果分类成对该第二问题具有否定回答的60个结果和肯定回答的40个结果,则可知,第一个问题对100个结果的分类更具影响力,具有更大的区分度,也即第一个问题能够更加快速地实现对结果的筛选,具有更大的信息熵值,故会选取第一个问题优先提问。由此可以进一步提高结果的生成效率。[0024]进一步,所述步骤S4包括以下步骤:[0025]获取用户对当前提问的回答信息,并根据回答信息处理得到用户回答系数;[0026]判断用户回答系数是否为非零值,如果是,则于答案矩阵中选定对应于当前问题且与用户回答系数一致的合格答案系数,并于答案矩阵中选定对应于当前问题且答案系数为〇的待定答案系数;然后于结果集合中获取与各合格答案系数和各待定答案系数对应的候选结果,生成候选结果集合;如果不是,则获取结果集合中的所有结果,生成候选结果集合。[0027]通过对步骤S4的进一步限定,有利于进一步完善候选结果的筛选,使得数据库中保存的对某些问题不具备答案或答案不确定或暂时未保存有相应答案的一些结果能够先保留下来,避免一律筛除而导致忽视可能存在的准确的结果,有利于进一步提高结果生成的准确率。[0028]进一步,所述步骤S6包括以下步骤:[0029]根据候选结果集合和答案矩阵,计算得到问题集合的各问题对候选结果集合的信息熵的熵值,并记录各问题与其熵值的对应关系;[0030]将问题集合的各问题对候选结果集合的所有熵值由小到大或由大到小依次排列,形成候选熵值集合;[0031]从问题集合中选取与候选熵值集合中最大熵值对应的问题,并继续发出提问。[0032]通过对步骤S6的进一步限定,有利于提高每次提出的问题对结果分布的影响力,能够更加快速地实现对结果的筛选,可以进一步提高结果的生成效率。[0033]进一步,所述步骤S7包括以下步骤:[0034]获取用户对当前提问的回答信息,并根据回答信息处理得到用户回答系数;[0035]判断用户回答系数是否为非零值,如果是,则于答案矩阵中选定对应于当前问题且与用户回答系数一致的合格答案系数,并于答案矩阵中选定对应于当前问题且答案系数为0的待定答案系数;然后于候选结果集合中获取与各合格答案系数和各待定答案系数对应的候选结果,生成候选结果集合;如果不是,则不更新候选结果集合。[0036]通过对步骤S7的进一步限定,有利于进一步完善候选结果的筛选,使得数据库中保存的对某些问题不具备答案或答案不确定或暂时未保存有相应答案的一些结果能够先保留下来,避免一律筛除而导致忽视可能存在的准确的结果,有利于进一步提高结果生成的准确率。[0037]进一步,所述步骤S9包括以下步骤:[0038]按照已提问题的提问顺序,对所有用户回答系数进行排序,生成用户系数集合U,U=IU1,…,U1,…,UNmax},其中U1表示用户系数集合中的第I个用户回答系数,1彡KNmax,且I为整数,Nmax为问题数量阈值;并按照已提问题的提问顺序,分别对各个候选结果的所有合格答案系数和所有待定系数进行排序,分别生成各个候选结果的已选系数集合Ia,Ia=Ual,…,Ial,…,IaNmax},其中,a表不候选结果集合中的第a个候选结果,Ia表不候选结果集合中的第a个候选结果的已选系数集合,Ial表示已选系数集合Ia中的第I个答案系数,彡Nmax,I为整数,Nmax为问题数量阈值;且用户系数集合中的用户回答系数分别与各个已选系数集合中的答案系数一一映射;[0039]根据用户系数集合U,计算各已选系数集合Ia中与具有映射关系的U1的值相同的Iai的个数,分别得到各候选结果的匹配系数;[0040]依照由大到小的顺序对所有匹配系数进行排序,并获取匹配系数位于前T位的T个候选结果,生成新的候选结果集合。[0041]通过对步骤S9的进一步限定,实现在剩余的候选结果的数量过多时,利用候选结果的答案系数与用户对已经提出的提问的回答系数的一致的数量的多少,来选择最终需要选取的结果,从而保证选取的结果更加贴切用户所想结果,也简化了结果与用户回答匹配度的运算过程,进一步提高结果的生成效率;并通过备选T个候选结果,有利于在输出的一个结果不准确时,还可以选择其它结果输出,提高结果输出的可选择性和准确性。[0042]进一步,所述步骤SlO包括步骤:判断跳转至本步骤的上一步骤是否为步骤S8,是则从候选结果集合中随机选取一候选结果,并输出;否则,从候选结果集合中选取具有最大匹配系数的一候选结果,并输出。[0043]通过对步骤SlO的进一步限定,有利于进一步提高正确的结果的输出效率。[0044]进一步,所述步骤S5中,问题数量阈值Nmax为10〜20;所述步骤S8中,结果数量阈值T为3。通过对问题数量阈值的限定,避免了还未得到所需数量的结果时,因提问次数过多而导致用户回答疲劳的状况发生,以进一步提高用户体验和游戏兴致。而通过对结果数量阈值的限定,实现在结果有待考证时的,保留可能性最大的几个结果,在一个结果输出有误后,还可以输出另一个结果,一方面可以更好地贴合用户所想的结果,在一方面也增强了与用户之间的交互。[0045]为实现本发明的另一目的,本发明还提供了能够实现上述基于矩阵的人机互动结果生成方法的一种基于矩阵的人机互动结果生成系统,该系统包括可读存储介质、处理器和输出设备;所述可读存储介质存储有若干指令;所述处理器根据所述若干指令加载并执行上述任一项所述的基于矩阵的人机互动结果生成方法;所述输出设备输出由处理器处理得到的结果。由于本发明基于矩阵的人机互动结果生成系统能够实现本发明基于矩阵的人机互动结果生成方法,故本发明基于矩阵的人机互动结果生成系统也具有本发明基于矩阵的人机互动结果生成方法所产生的有益技术效果,在此不再赘述。[0046]为了更好地理解和实施,下面结合附图详细说明本发明。附图说明[0047]图1为本发明基于矩阵的人机互动结果生成方法的方法流程图。具体实施方式[0048]为解决现有技术中利用动态建模和静态建模的方式实现读心交互存在的缺陷一一实现上下文问题的依赖皆需要人为地标注问题之间的关系,当数据量大时,都不具可行性,无法合理地实现问题去重和解决问题之间的依赖性,且运行效率低、准确性不高等问题;本发明研发出了一种基于矩阵的人机互动结果生成方法及系统,具体的技术方案如下所示:[0049]请参阅图1,本发明基于矩阵的人机互动结果生成方法包括以下步骤:[0050]Sl:检测是否有问答开启指令输入,是则执行步骤S2,否则保持待机状态;也即,如果利用具现化结构体现出该步骤的功能,假设为一个处理设备赋予能够实现本发明的基于矩阵的人机互动结果生成方法的功能,则此时,处理设备的一个输入接口为指令监听接口,可以通过与该指令监听接口信号连接的输入设备,通过输入设备实现对指令的监听一一当用户通过输入设备输入信号时,处理器会根据输入信号判断是否为问答开启指令,如果是,则执行步骤S2,如果不是,则保持待机状态;[0051]S2:初始化当前已提出的问题总数N;在该步骤S2中,初始化后的问题总数N=O;[0052]S3:调用预存的问题集合、结果集合和答案矩阵,从问题集合中获取一问题并发出提问;[0053]其中,所述问题集合由η个不同的问题组成,所述结果集合由m个不同的结果组成;所述答案矩阵为mXn矩阵,且答案矩阵中的元素Aij为第i个结果对于第j个问题的答案系数;或者,所述答案矩阵为nXm矩阵,且答案矩阵中的元素Aij为第j个结果对于第i个问题的答案系数;本实施例中,为更好地减少答案矩阵所占用的内存空间,进一步提高运算效率,答案系数的值为-1或0或1;当答案系数的值为-1时,表示答案系数对应的结果对于相应的问题的回答为否定回答,;当答案系数的值为0时,表示答案系数对应的结果对于相应的问题的回答为不确定性回答;当答案系数的值为1时,表示答案系数对应的结果对于相应的问题的回答为肯定回答;其中,否定回答指的是用户回答信息为“不是”或“不”或“非”或“N0”或“否”,不确定性回答指的是用户回答信息为“不知道”或“不了解”或“不清楚”或“可能是”或“可能不是”,肯定回答指的是用户回答信息为“是”或“对”;在本实施例中,为了方便对回答信息的解析和提高解析效率,每个问题的答案只为用户提供“是”、“不是”和“不确定”这三个选项;[0054]为方便对问题集合、结果集合和答案矩阵的理解,以下以结果集合为人名集合为例进行说明,也即,问题集合中的问题是与人名集合中的人名相关的,此时人机互动的表现形式为提问猜人名的形式,也即,通过向用户提出多个问题而猜出用户当前所想的人名,可以视为一种读心。请见表1,为问题、人名(即结果和答案矩阵中各答案系数之间的关系示,~iV.思霍;[0055]表1问题、人名(即结果)、各答案系数三者之间的关系示意表[0056][0057]由此,通过表1可知,刘某人不是内地出生,是歌手,是演员,不知道是不是企业家,已经结婚,以及未去世;而张某人不是内地出生,是歌手,是演员,不是企业家,不知道是否已经结婚,以及已经去世。此时,根据这些信息预存的问题集合为{是否内地出生,是否为歌手,是否为演员,是否为企业家,是否已结婚,是否已去世},此时问题的数量11=6,人名集合为{刘某人,张某人},此时结果的数量为m=2,答案矩阵为,此时的答案矩阵为2X6矩阵,S卩,答案矩阵中,同一行上的所有答案系数对应着同一个人名,而同一列上的所有答案系数对应着同一个问题。另外,还可以转换矩阵的形式,变成6X2矩阵,如即,该6X2答案矩阵中,同一行上的所有答案系数对应着同一个问题,而同一列上的所有答案系数对应着同一个人名。[0058]以上是为了方便对答案矩阵、问题集合和结果集合的理解的一个例子,而本发明并不限于上述应用,如还可以将结果集合以景点集合或动画集合或音乐集合或科学方面的竞猜集合的形式表现,此时问题也需要适应性地改变,以能够通过有限次提问而得到用户心中所想的结果如景点或动画名称或音乐名称或星球名称等;并且,问题数量和结果数量也不限定,如,可以有100个问题,20个结果,也可以具有更多数量或更少数量的问题和结果,但是,问题数量要大于或等于结果数量。在本实施例中,后文以答案矩阵为mXn矩阵为例进行说明,也即,答案矩阵中的同一行上的所有答案系数对应着同一个结果,而同一列上的所有答案系数对应着同一个问题。[0059]S4:获取用户对当前提问的回答信息,并根据当前回答信息和答案矩阵,于结果集合中获取合格的候选结果,生成候选结果集合;本实施例中,所述步骤S4包括以下步骤:[0060]S41:获取用户对当前提问的回答信息,并根据回答信息处理得到用户回答系数;也即,如果用户的回答信息为“是”,则根据“是”这一回答信息处理得到的用户回答系数为1,如果用户的回答信息为“不是”,则根据“不是”这一回答信息处理得到的用户回答系数为-1,如果用户回答信息为“不确定”,则根据“不确定”这一回答信息处理得到的用户回答系数为0;[0061]S42:判断用户回答系数是否为非零值,如果是,则于答案矩阵中选定对应于当前问题且与用户回答系数一致的合格答案系数,并于答案矩阵中选定对应于当前问题且答案系数为〇的待定答案系数;然后于结果集合中获取与各合格答案系数和各待定答案系数对应的候选结果,生成候选结果集合;如果不是,则获取结果集合中的所有结果,生成候选结果集合;也即,在用户回答系数为1非零值或-1非零值时,假设此时用户的回答系数为1,则将答案矩阵中对应着当前问题且值为1和值为O的答案系数都记录下来,其中,值为1的答案系数为合格答案系数,而值为O的答案系数为待定答案系数;再根据记录的答案系数分别选取其对应的结果,将这些结果整理起来并以集合的方式保存,即为候选结果集合;而在用户回答系数为O时,则表示当前问题的答案用户无法确定,所以会将所有结果都保留下来,此时所有结果形成的集合为候选结果集合;其中,需要说明的是,用户回答系数为O这一情况出现的概率是比较小的。[0062]由此,通过步骤S42,使得对某些问题不具备答案或答案不确定或暂时未保存有相应答案的一些结果能够先保留下来,避免一律筛除而导致忽视可能存在的准确的结果,有利于进一步提高结果生成的准确率。[0063]S5:对问题总数进行赋值运算,得到当前已提出的问题总数N=N+1;并判断当前已提问题总数是否大于或等于预设的问题数量阈值Nmax,是则执行步骤S9;否则,执行步骤S6;在本实施例中,为避免因提问次数过多而导致用户回答疲劳的状况发生,并提高用户体验和游戏兴致,优选地,所述问题数量阈值Nmax为10〜20;而在避免用户发生回答疲劳的同时,进一步提高结果输出的准确率,更优选地,所述问题数量阈值Nmax为15;[0064]S6:根据候选结果集合和答案矩阵,从问题集合中获取一问题并继续发出提问;[0065]S7:获取用户对当前提问的回答信息,根据当前回答信息和答案矩阵,于候选结果集合中获取合格的候选结果,更新候选结果集合;在本实施例中,所述步骤S7包括以下步骤:[0066]S71:获取用户对当前提问的回答信息,并根据回答信息处理得到用户回答系数;在步骤S71中,如果用户的回答信息为“是”,则根据“是”这一回答信息处理得到的用户回答系数为1,如果用户的回答信息为“不是”,贝帳据“不是”这一回答信息处理得到的用户回答系数为-1,如果用户回答信息为“不确定”,则根据“不确定”这一回答信息处理得到的用户回答系数为0;[0067]S72:判断用户回答系数是否为非零值,如果是,则于答案矩阵中选定对应于当前问题且与用户回答系数一致的合格答案系数,并于答案矩阵中选定对应于当前问题且答案系数为〇的待定答案系数;然后于候选结果集合中获取与各合格答案系数和各待定答案系数对应的候选结果,生成候选结果集合;如果不是,则不更新候选结果集合;也即,在用户回答系数为1非零值或_1非零值时,假设此时用户的回答系数为1,则将答案矩阵中对应着当前问题且值为1和值为0的答案系数都记录下来,其中,值为1的答案系数为合格答案系数,而值为〇的答案系数为待定答案系数;再根据记录的答案系数分别在候选结果集合中选取其对应的结果,将这些结果整理起来并以集合的方式重新保存,即实现了候选结果集合的更新,此时可进一步删除原候选结果集合,减小对内存的占用;或者,将候选结果集合中将不符合当前用户答案系数的结果删除,也可实现候选结果集合的更新。而在用户回答系数为〇时,则表示当前问题的答案用户无法确定,所以会将所有候选结果都保留下来,此时就没必要更新候选结果集合;其中,需要说明的是,用户回答系数为〇这一情况出现的概率是比较小的。[0068]由此,通过步骤S72,使得对某些问题不具备答案或答案不确定或暂时未保存有相应答案的一些结果能够先保留下来,避免一律筛除而导致忽视可能存在的准确的结果,有利于进一步提高结果生成的准确率。[0069]S8:判断步骤S7中的候选结果集合中的候选结果的个数是否小于或等于结果数量阈值T,是则执行步骤SlO,否则返回步骤S5;在本实施例中,结果数量阈值T优选为3,从而实现在结果有待考证时的,保留可能性最大的几个结果,在一个结果输出有误后,还可以输出另一个结果,一方面可以更好地贴合用户所想的结果,在一方面也增强了与用户之间的交互。[0070]S9:根据用户的所有回答信息和答案矩阵,计算得到候选结果集合的各个候选结果对已提问题的匹配系数;依照由大到小的顺序对所有匹配系数进行排序,并获取匹配系数位于前T位的T个候选结果,生成新的候选结果集合;本实施例中,所述步骤S9包括以下步骤:[0071]S91:按照已提问题的提问顺序,对所有用户回答系数进行排序,生成用户系数集合u,u=IU1,…,U1,…,UNmax},其中U1表示用户系数集合中的第I个用户回答系数,1彡I彡Nmax,且I为整数,Nmax为问题数量阈值;并按照已提问题的提问顺序,分别对各个候选结果的所有合格答案系数和所有待定系数进行排序,分别生成各个候选结果的已选系数集合Ia,Ia={Ial,…,Ial,…,IaNmax},其中,a表不候选结果集合中的第a个候选结果,Ia表不候选结果集合中的第a个候选结果的已选系数集合,Ial表示已选系数集合Ia中的第I个答案系数,lINmax,I为整数,Nmax为问题数量阈值;且用户系数集合中的用户回答系数分别与各个已选系数集合中的答案系数一一映射;[0072]S92:根据用户系数集合U,计算各已选系数集合Ia中与具有映射关系的也的值相同的Ial的个数,分别得到各候选结果的匹配系数;也即,从候选结果集合中的第一个候选结果开始计算匹配系数,直到候选结果集合中的所有候选结果的匹配系数都计算完毕;其中,每个候选结果的匹配系数的计算过程为:假设Nmax=15,a=l,则从I=I到1=15,逐个进行判断111是否等于Ul,112是否等于U2,......1114是否等于Ul4,1115是否等于Ul5,判断完毕后,如果其中有14对相等,则匹配系数即为14;如果有8对相等,则匹配系数即为8;[0073]S93:依照由大到小的顺序对所有匹配系数进行排序,并获取匹配系数位于前T位的T个候选结果,生成新的候选结果集合;在本实施例中,结果数量阈值T优选为3,则该步骤S93可以理解为:从所有匹配系数中确定值最大的3个匹配系数,从而选取出这3个匹配系数分别一一对应的3个候选结果,将这3个候选结果以集合的方式保存,即为新的候选结果集合,此时可以删除原候选结果集合;或者,在原候选结果集合中删除除了这3个候选结果外的其它候选结果,而不需要另外生成新的候选结果集合。[0074]S10:从候选结果集合中选取一候选结果,并输出。在本实施例中,为了提高最终输出的候选结果的准确性,对步骤SlO进行完善,完善后的所述步骤SlO包括步骤:判断跳转至本步骤的上一步骤是否为步骤S8,是则从候选结果集合中随机选取一候选结果,并输出;否贝1J,从候选结果集合中选取具有最大匹配系数的一候选结果,并输出。[0075]为提高输出的结果的准确性,作为一种更优的技术方案,在输出候选结果后,还包括以下步骤:[0076]S11:接收用户对当前输出结果的反馈信息;在本实施例中,反馈信息指的是,输出结果后,用户会对该结果进行确认,确认正确或确认不正确,从而会生成相应的反馈信息;[0077]S12:根据反馈信息判断当前输出结果是否正确;如果是,则保持当前运行状态;如果不是,则从步骤SlO中的候选结果集合中选取剩余的候选结果中的一个输出,并返回步骤Sllo[0078]为提高首次选取的问题对结果的筛选度,提高对结果分布的影响力,加快结果的生成生成可以理解为获取效率,作为一种更优的技术方案,所述步骤S3中,在调用预存问题集合的同时,还调用预存初始熵值集合;也即,数据库中不仅保存有问题集合、结果集合和答案矩阵,还保存有初始熵值集合。其中,所述初始熵值集合的建立步骤包括:根据预存的结果集合和答案矩阵,计算得到预存的问题集合的各问题对结果集合的信息熵的熵值,并记录各问题与其熵值的对应关系;将所有熵值由小到大或由大到小依次排列,形成初始熵值集合。则在所述步骤S3中,从问题集合中获取并发出提问的问题为一具有最大熵值的问题。[0079]以下,说明一下本实施例中对问题的信息熵的熵值的计算方法:[0080]由于熵的本质是一个系统内在的混乱程度,信息熵的熵值越大,表明变量的不确定性越大,则在本实施例中,为实现每次提问都能尽可能地剔除掉比较多的候选结果,使得在叶节点上的结果离根节点的路径更短,并更好地结合答案矩阵,大大减小运算复杂度和运算耗时,应用了信息熵实现对每次提问问题的选取。首先,信息熵熵值计算公式为;假设问题分别为qi,···^:,…,qn;则需要计算每个问题对于结果集合的熵值,假设结果集合有100个结果,在问题啦下,有10个结果对该问题啦的答案系数为1,60个结果对该问题9:的答案系数为_1,30个结果对该问题取的答案系数为0,则该问题取的信息熵为:[0082]由此,根据上述问题q1的信息熵计算方式,计算出所有问题的信息熵的熵值。[0083]同理,为提高每一次选取的问题对结果的筛选度,提高对结果分布的影响力,加快结果的生成生成可以理解为获取效率,作为一种更优的技术方案,所述步骤S6包括以下步骤:[0084]S61:根据候选结果集合和答案矩阵,计算得到问题集合的各问题对候选结果集合的信息熵的熵值,并记录各问题与其熵值的对应关系;在该步骤S61中,熵值的计算方式上述熵值的计算方法相同,在此不进行赘述;[0085]S62:将问题集合的各问题对候选结果集合的所有熵值由小到大或由大到小依次排列,形成候选熵值集合;[0086]S63:从问题集合中选取与候选熵值集合中最大熵值对应的问题,并继续发出提问。[0087]另外,本发明还提供了能够实现上述基于矩阵的人机互动结果生成方法的一种基于矩阵的人机互动结果生成系统,该系统包括可读存储介质、处理器、输入设备和输出设备。[0088]所述可读存储介质存储有若干指令;所述处理器根据所述若干指令加载并执行所述的基于矩阵的人机互动结果生成方法;所述输入设备用于输入问答开启指令和用户反馈信息至处理器;所述输出设备输出由处理器处理得到的结果。[0089]另外,为了方便携带和外形的美观,优选地,本发明基于矩阵的人机互动结果生成系统还包括壳体;所述存储介质、处理器和输出设备安装于所述壳体内,其中,输出设备的输出端和输入设备的输入端外露于壳体。而进一步地,壳体可以以机器人的方式进行制造,也可以以其它形状进行制造。[0090]本发明的基于矩阵的人机互动结果生成系统的工作原理可从本发明的基于矩阵的人机互动结果生成方法得知,故在此不赘述。[0091]虽然本发明没有提及具体的系统结构,但是为支持本系统正常工作,需要的供电模块、处理器外围电路等都是必须部分,而这些必须部分为现有技术部分,故不进行赘述。[0092]相对于现有技术,本发明基于矩阵的人机互动结果生成方法及系统,通过存储有答案的矩阵记录问题与结果的分布关系,清楚地反映出各问题与各结果之间的依赖性,从而不需要进行模型重建而占用大量的运算空间,大大加快运算效率,同时也提高最终得到的结果的准确性。并经过实验证明,本发明利用8422个结果和1860个问题去进行人机互动,在0.1秒内即可将结果返回用户。[0093]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

权利要求:1.一种基于矩阵的人机互动结果生成方法,其特征在于:包括以下步骤:SI:检测是否有问答开启指令输入,是则执行步骤S2,否则保持待机状态;S2:初始化当前已提出的问题总数N;S3:调用预存的问题集合、结果集合和答案矩阵,从问题集合中获取一问题并发出提问;其中,所述问题集合由η个不同的问题组成,所述结果集合由m个不同的结果组成;所述答案矩阵为mXn矩阵,且答案矩阵中的元素Aij为第i个结果对于第j个问题的答案系数;或者,所述答案矩阵为nXm矩阵,且答案矩阵中的元素Aij为第j个结果对于第i个问题的答案系数;S4:获取用户对当前提问的回答信息,并根据当前回答信息和答案矩阵,于结果集合中获取合格的候选结果,生成候选结果集合;S5:对问题总数进行赋值运算,得到当前已提出的问题总数N=N+1;并判断当前已提问题总数是否大于或等于预设的问题数量阈值Nmax,是则执行步骤S9;否则,执行步骤S6;S6:根据候选结果集合和答案矩阵,从问题集合中获取一问题并继续发出提问;S7:获取用户对当前提问的回答信息,根据当前回答信息和答案矩阵,于候选结果集合中获取合格的候选结果,更新候选结果集合;S8:判断步骤S7中的候选结果集合中的候选结果的个数是否小于或等于结果数量阈值T,是则执行步骤S10,否则返回步骤S5;S9:根据用户的所有回答信息和答案矩阵,计算得到候选结果集合的各个候选结果对已提问题的匹配系数;依照由大到小的顺序对所有匹配系数进行排序,并获取匹配系数位于前T位的T个候选结果,生成新的候选结果集合;SlO:从候选结果集合中选取一候选结果,并输出。2.根据权利要求1所述的基于矩阵的人机互动结果生成方法,其特征在于:答案系数的值为-1或〇或1;当答案系数的值为-1时,表示答案系数对应的结果对于相应的问题的回答为否定回答;当答案系数的值为0时,表示答案系数对应的结果对于相应的问题的回答为不确定性回答;当答案系数的值为1时,表示答案系数对应的结果对于相应的问题的回答为肯定回答。3.根据权利要求1所述的基于矩阵的人机互动结果生成方法,其特征在于:所述步骤S3中,在调用预存问题集合的同时,还调用预存初始熵值集合;所述初始熵值集合的建立步骤包括:根据预存的结果集合和答案矩阵,计算得到预存的问题集合的各问题对结果集合的信息熵的熵值,并记录各问题与其熵值的对应关系;将所有熵值由小到大或由大到小依次排列,形成初始熵值集合;以及,所述步骤S3中,从问题集合中获取并发出提问的问题为一具有最大熵值的问题。4.根据权利要求2所述的基于矩阵的人机互动结果生成方法,其特征在于:所述步骤S4包括以下步骤:获取用户对当前提问的回答信息,并根据回答信息处理得到用户回答系数;判断用户回答系数是否为非零值,如果是,则于答案矩阵中选定对应于当前问题且与用户回答系数一致的合格答案系数,并于答案矩阵中选定对应于当前问题且答案系数为0的待定答案系数;然后于结果集合中获取与各合格答案系数和各待定答案系数对应的候选结果,生成候选结果集合;如果不是,则获取结果集合中的所有结果,生成候选结果集合。5.根据权利要求4所述的基于矩阵的人机互动结果生成方法,其特征在于:所述步骤S6包括以下步骤:根据候选结果集合和答案矩阵,计算得到问题集合的各问题对候选结果集合的信息熵的熵值,并记录各问题与其熵值的对应关系;将问题集合的各问题对候选结果集合的所有熵值由小到大或由大到小依次排列,形成候选熵值集合;从问题集合中选取与候选熵值集合中最大熵值对应的问题,并继续发出提问。6.根据权利要求5所述的基于矩阵的人机互动结果生成方法,其特征在于:所述步骤S7包括以下步骤:获取用户对当前提问的回答信息,并根据回答信息处理得到用户回答系数;判断用户回答系数是否为非零值,如果是,则于答案矩阵中选定对应于当前问题且与用户回答系数一致的合格答案系数,并于答案矩阵中选定对应于当前问题且答案系数为O的待定答案系数;然后于候选结果集合中获取与各合格答案系数和各待定答案系数对应的候选结果,生成候选结果集合;如果不是,则不更新候选结果集合。7.根据权利要求6所述的基于矩阵的人机互动结果生成方法,其特征在于:所述步骤S9包括以下步骤:按照已提问题的提问顺序,对所有用户回答系数进行排序,生成用户系数集合U,U=IU1,···,U1,…,UNmax},其中U1表示用户系数集合中的第I个用户回答系数,KKNmaxH为整数,Nmax为问题数量阈值;并按照已提问题的提问顺序,分别对各个候选结果的所有合格答案系数和所有待定系数进行排序,分别生成各个候选结果的已选系数集合Ia,Ia=Ual,"_,lal,…,IaNmax},其中,a表不候选结果集合中的第a个候选结果,Ia表不候选结果集合中的第a个候选结果的已选系数集合,Ial表示已选系数集合Ia中的第I个答案系数,Nmax,I为整数,Nmax为问题数量阈值;且用户系数集合中的用户回答系数分别与各个已选系数集合中的答案系数一一映射;根据用户系数集合U,计算各已选系数集合Ia中与具有映射关系的U1的值相同的Ial的个数,分别得到各候选结果的匹配系数;依照由大到小的顺序对所有匹配系数进行排序,并获取匹配系数位于前T位的T个候选结果,生成新的候选结果集合。8.根据权利要求7所述的基于矩阵的人机互动结果生成方法,其特征在于:所述步骤SlO包括步骤:判断跳转至本步骤的上一步骤是否为步骤S8,是则从候选结果集合中随机选取一候选结果,并输出;否则,从候选结果集合中选取具有最大匹配系数的一候选结果,并输出。9.根据权利要求1〜8任一项所述的基于矩阵的人机互动结果生成方法,其特征在于:所述步骤S5中,问题数量阈值Nmax为10〜20;所述步骤S8中,结果数量阈值T为3。10.—种基于矩阵的人机互动结果生成系统,其特征在于:包括可读存储介质、处理器和输出设备;所述可读存储介质存储有若干指令;所述处理器根据所述若干指令加载并执行权利要求1〜9任一项所述的基于矩阵的人机互动结果生成方法;所述输出设备输出由处理器处理得到的结果。

百度查询: 广州多益网络股份有限公司;多益网络有限公司;广东利为网络科技有限公司 基于矩阵的人机互动结果生成方法及系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。